slidge-whatsapp 0.2.5__cp312-cp312-manylinux_2_36_aarch64.whl → 0.2.6__cp312-cp312-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/config.py +3 -0
- slidge_whatsapp/event.go +23 -24
- slidge_whatsapp/gateway.go +13 -9
- slidge_whatsapp/gateway.py +2 -2
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +169 -169
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +135 -135
- slidge_whatsapp/generated/whatsapp.c +1455 -1455
- slidge_whatsapp/generated/whatsapp.go +737 -737
- slidge_whatsapp/generated/whatsapp.py +1038 -1038
- slidge_whatsapp/generated/whatsapp_go.h +169 -169
- slidge_whatsapp/go.mod +15 -12
- slidge_whatsapp/go.sum +41 -29
- slidge_whatsapp/media/media.go +16 -10
- slidge_whatsapp/session.go +73 -66
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +14 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +2 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +8510 -5090
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +344 -150
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
- slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +41 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
- slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +27 -25
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +60 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +25 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +45 -19
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +52 -28
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +59 -29
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +166 -146
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +270 -111
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +67 -36
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +7 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +158 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +170 -84
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +6747 -2230
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +294 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +456 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1051 -382
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +32 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +382 -78
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +555 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +13 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +29 -19
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +244 -73
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +27 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +85 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +79 -61
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +291 -167
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +153 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +105 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +7 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +17 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +45 -29
- slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +148 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +239 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +9 -0
- slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
- slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +3 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +16 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +2 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +38 -13
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/METADATA +1 -1
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/RECORD +293 -180
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/entry_points.txt +0 -0
|
@@ -8,6 +8,7 @@ package whatsmeow
|
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
10
|
"bytes"
|
|
11
|
+
"context"
|
|
11
12
|
"crypto/hmac"
|
|
12
13
|
"crypto/sha256"
|
|
13
14
|
"encoding/base64"
|
|
@@ -24,6 +25,13 @@ import (
|
|
|
24
25
|
"go.mau.fi/whatsmeow/util/keys"
|
|
25
26
|
)
|
|
26
27
|
|
|
28
|
+
var (
|
|
29
|
+
AdvPrefixAccountSignature = []byte{6, 0}
|
|
30
|
+
AdvPrefixDeviceSignatureGenerate = []byte{6, 1}
|
|
31
|
+
AdvHostedPrefixDeviceIdentityAccountSignature = []byte{6, 5}
|
|
32
|
+
AdvHostedPrefixDeviceIdentityDeviceSignatureVerification = []byte{6, 6}
|
|
33
|
+
)
|
|
34
|
+
|
|
27
35
|
func (cli *Client) handleIQ(node *waBinary.Node) {
|
|
28
36
|
children := node.GetChildren()
|
|
29
37
|
if len(children) != 1 || node.Attrs["from"] != types.ServerJID {
|
|
@@ -82,34 +90,40 @@ func (cli *Client) handlePairSuccess(node *waBinary.Node) {
|
|
|
82
90
|
deviceIdentityBytes, _ := pairSuccess.GetChildByTag("device-identity").Content.([]byte)
|
|
83
91
|
businessName, _ := pairSuccess.GetChildByTag("biz").Attrs["name"].(string)
|
|
84
92
|
jid, _ := pairSuccess.GetChildByTag("device").Attrs["jid"].(types.JID)
|
|
93
|
+
lid, _ := pairSuccess.GetChildByTag("device").Attrs["lid"].(types.JID)
|
|
85
94
|
platform, _ := pairSuccess.GetChildByTag("platform").Attrs["name"].(string)
|
|
86
95
|
|
|
87
96
|
go func() {
|
|
88
|
-
err := cli.handlePair(deviceIdentityBytes, id, businessName, platform, jid)
|
|
97
|
+
err := cli.handlePair(context.TODO(), deviceIdentityBytes, id, businessName, platform, jid, lid)
|
|
89
98
|
if err != nil {
|
|
90
99
|
cli.Log.Errorf("Failed to pair device: %v", err)
|
|
91
100
|
cli.Disconnect()
|
|
92
|
-
cli.dispatchEvent(&events.PairError{ID: jid, BusinessName: businessName, Platform: platform, Error: err})
|
|
101
|
+
cli.dispatchEvent(&events.PairError{ID: jid, LID: lid, BusinessName: businessName, Platform: platform, Error: err})
|
|
93
102
|
} else {
|
|
94
103
|
cli.Log.Infof("Successfully paired %s", cli.Store.ID)
|
|
95
|
-
cli.dispatchEvent(&events.PairSuccess{ID: jid, BusinessName: businessName, Platform: platform})
|
|
104
|
+
cli.dispatchEvent(&events.PairSuccess{ID: jid, LID: lid, BusinessName: businessName, Platform: platform})
|
|
96
105
|
}
|
|
97
106
|
}()
|
|
98
107
|
}
|
|
99
108
|
|
|
100
|
-
func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, platform string, jid types.JID) error {
|
|
109
|
+
func (cli *Client) handlePair(ctx context.Context, deviceIdentityBytes []byte, reqID, businessName, platform string, jid, lid types.JID) error {
|
|
101
110
|
var deviceIdentityContainer waAdv.ADVSignedDeviceIdentityHMAC
|
|
102
111
|
err := proto.Unmarshal(deviceIdentityBytes, &deviceIdentityContainer)
|
|
103
112
|
if err != nil {
|
|
104
113
|
cli.sendPairError(reqID, 500, "internal-error")
|
|
105
114
|
return &PairProtoError{"failed to parse device identity container in pair success message", err}
|
|
106
115
|
}
|
|
116
|
+
isHostedAccount := deviceIdentityContainer.AccountType != nil && *deviceIdentityContainer.AccountType == waAdv.ADVEncryptionType_HOSTED
|
|
107
117
|
|
|
108
118
|
h := hmac.New(sha256.New, cli.Store.AdvSecretKey)
|
|
119
|
+
if isHostedAccount {
|
|
120
|
+
h.Write(AdvHostedPrefixDeviceIdentityAccountSignature)
|
|
121
|
+
}
|
|
109
122
|
h.Write(deviceIdentityContainer.Details)
|
|
123
|
+
|
|
110
124
|
if !bytes.Equal(h.Sum(nil), deviceIdentityContainer.HMAC) {
|
|
111
125
|
cli.Log.Warnf("Invalid HMAC from pair success message")
|
|
112
|
-
cli.sendPairError(reqID, 401, "
|
|
126
|
+
cli.sendPairError(reqID, 401, "hmac-mismatch")
|
|
113
127
|
return ErrPairInvalidDeviceIdentityHMAC
|
|
114
128
|
}
|
|
115
129
|
|
|
@@ -120,12 +134,12 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p
|
|
|
120
134
|
return &PairProtoError{"failed to parse signed device identity in pair success message", err}
|
|
121
135
|
}
|
|
122
136
|
|
|
123
|
-
if !verifyDeviceIdentityAccountSignature(&deviceIdentity, cli.Store.IdentityKey) {
|
|
124
|
-
cli.sendPairError(reqID, 401, "
|
|
137
|
+
if !verifyDeviceIdentityAccountSignature(&deviceIdentity, cli.Store.IdentityKey, isHostedAccount) {
|
|
138
|
+
cli.sendPairError(reqID, 401, "signature-mismatch")
|
|
125
139
|
return ErrPairInvalidDeviceSignature
|
|
126
140
|
}
|
|
127
141
|
|
|
128
|
-
deviceIdentity.DeviceSignature = generateDeviceSignature(&deviceIdentity, cli.Store.IdentityKey)[:]
|
|
142
|
+
deviceIdentity.DeviceSignature = generateDeviceSignature(&deviceIdentity, cli.Store.IdentityKey, isHostedAccount)[:]
|
|
129
143
|
|
|
130
144
|
var deviceIdentityDetails waAdv.ADVDeviceIdentity
|
|
131
145
|
err = proto.Unmarshal(deviceIdentity.Details, &deviceIdentityDetails)
|
|
@@ -141,8 +155,8 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p
|
|
|
141
155
|
|
|
142
156
|
cli.Store.Account = proto.Clone(&deviceIdentity).(*waAdv.ADVSignedDeviceIdentity)
|
|
143
157
|
|
|
144
|
-
|
|
145
|
-
|
|
158
|
+
mainDeviceLID := lid
|
|
159
|
+
mainDeviceLID.Device = 0
|
|
146
160
|
mainDeviceIdentity := *(*[32]byte)(deviceIdentity.AccountSignatureKey)
|
|
147
161
|
deviceIdentity.AccountSignatureKey = nil
|
|
148
162
|
|
|
@@ -153,16 +167,18 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p
|
|
|
153
167
|
}
|
|
154
168
|
|
|
155
169
|
cli.Store.ID = &jid
|
|
170
|
+
cli.Store.LID = lid
|
|
156
171
|
cli.Store.BusinessName = businessName
|
|
157
172
|
cli.Store.Platform = platform
|
|
158
|
-
err = cli.Store.Save()
|
|
173
|
+
err = cli.Store.Save(ctx)
|
|
159
174
|
if err != nil {
|
|
160
175
|
cli.sendPairError(reqID, 500, "internal-error")
|
|
161
176
|
return &PairDatabaseError{"failed to save device store", err}
|
|
162
177
|
}
|
|
163
|
-
|
|
178
|
+
cli.StoreLIDPNMapping(ctx, lid, jid)
|
|
179
|
+
err = cli.Store.Identities.PutIdentity(ctx, mainDeviceLID.SignalAddress().String(), mainDeviceIdentity)
|
|
164
180
|
if err != nil {
|
|
165
|
-
_ = cli.Store.Delete()
|
|
181
|
+
_ = cli.Store.Delete(ctx)
|
|
166
182
|
cli.sendPairError(reqID, 500, "internal-error")
|
|
167
183
|
return &PairDatabaseError{"failed to store main device identity", err}
|
|
168
184
|
}
|
|
@@ -189,7 +205,7 @@ func (cli *Client) handlePair(deviceIdentityBytes []byte, reqID, businessName, p
|
|
|
189
205
|
}},
|
|
190
206
|
})
|
|
191
207
|
if err != nil {
|
|
192
|
-
_ = cli.Store.Delete()
|
|
208
|
+
_ = cli.Store.Delete(ctx)
|
|
193
209
|
return fmt.Errorf("failed to send pairing confirmation: %w", err)
|
|
194
210
|
}
|
|
195
211
|
return nil
|
|
@@ -208,7 +224,7 @@ func concatBytes(data ...[]byte) []byte {
|
|
|
208
224
|
return output
|
|
209
225
|
}
|
|
210
226
|
|
|
211
|
-
func verifyDeviceIdentityAccountSignature(deviceIdentity *waAdv.ADVSignedDeviceIdentity, ikp *keys.KeyPair) bool {
|
|
227
|
+
func verifyDeviceIdentityAccountSignature(deviceIdentity *waAdv.ADVSignedDeviceIdentity, ikp *keys.KeyPair, isHostedAccount bool) bool {
|
|
212
228
|
if len(deviceIdentity.AccountSignatureKey) != 32 || len(deviceIdentity.AccountSignature) != 64 {
|
|
213
229
|
return false
|
|
214
230
|
}
|
|
@@ -216,12 +232,20 @@ func verifyDeviceIdentityAccountSignature(deviceIdentity *waAdv.ADVSignedDeviceI
|
|
|
216
232
|
signatureKey := ecc.NewDjbECPublicKey(*(*[32]byte)(deviceIdentity.AccountSignatureKey))
|
|
217
233
|
signature := *(*[64]byte)(deviceIdentity.AccountSignature)
|
|
218
234
|
|
|
219
|
-
|
|
235
|
+
prefix := AdvPrefixAccountSignature
|
|
236
|
+
if isHostedAccount {
|
|
237
|
+
prefix = AdvHostedPrefixDeviceIdentityAccountSignature
|
|
238
|
+
}
|
|
239
|
+
message := concatBytes(prefix, deviceIdentity.Details, ikp.Pub[:])
|
|
220
240
|
return ecc.VerifySignature(signatureKey, message, signature)
|
|
221
241
|
}
|
|
222
242
|
|
|
223
|
-
func generateDeviceSignature(deviceIdentity *waAdv.ADVSignedDeviceIdentity, ikp *keys.KeyPair) *[64]byte {
|
|
224
|
-
|
|
243
|
+
func generateDeviceSignature(deviceIdentity *waAdv.ADVSignedDeviceIdentity, ikp *keys.KeyPair, isHostedAccount bool) *[64]byte {
|
|
244
|
+
prefix := AdvPrefixDeviceSignatureGenerate
|
|
245
|
+
if isHostedAccount {
|
|
246
|
+
prefix = AdvHostedPrefixDeviceIdentityDeviceSignatureVerification
|
|
247
|
+
}
|
|
248
|
+
message := concatBytes(prefix, deviceIdentity.Details, ikp.Pub[:], deviceIdentity.AccountSignatureKey)
|
|
225
249
|
sig := ecc.CalculateSignature(ecc.NewDjbECPrivateKey(*ikp.Priv), message)
|
|
226
250
|
return &sig
|
|
227
251
|
}
|
|
@@ -29,11 +29,12 @@ const (
|
|
|
29
29
|
MinPreKeyCount = 5
|
|
30
30
|
)
|
|
31
31
|
|
|
32
|
-
func (cli *Client) getServerPreKeyCount() (int, error) {
|
|
32
|
+
func (cli *Client) getServerPreKeyCount(ctx context.Context) (int, error) {
|
|
33
33
|
resp, err := cli.sendIQ(infoQuery{
|
|
34
34
|
Namespace: "encrypt",
|
|
35
35
|
Type: "get",
|
|
36
36
|
To: types.ServerJID,
|
|
37
|
+
Context: ctx,
|
|
37
38
|
Content: []waBinary.Node{
|
|
38
39
|
{Tag: "count"},
|
|
39
40
|
},
|
|
@@ -47,11 +48,11 @@ func (cli *Client) getServerPreKeyCount() (int, error) {
|
|
|
47
48
|
return val, ag.Error()
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
func (cli *Client) uploadPreKeys() {
|
|
51
|
+
func (cli *Client) uploadPreKeys(ctx context.Context) {
|
|
51
52
|
cli.uploadPreKeysLock.Lock()
|
|
52
53
|
defer cli.uploadPreKeysLock.Unlock()
|
|
53
54
|
if cli.lastPreKeyUpload.Add(10 * time.Minute).After(time.Now()) {
|
|
54
|
-
sc, _ := cli.getServerPreKeyCount()
|
|
55
|
+
sc, _ := cli.getServerPreKeyCount(ctx)
|
|
55
56
|
if sc >= WantedPreKeyCount {
|
|
56
57
|
cli.Log.Debugf("Canceling prekey upload request due to likely race condition")
|
|
57
58
|
return
|
|
@@ -59,13 +60,14 @@ func (cli *Client) uploadPreKeys() {
|
|
|
59
60
|
}
|
|
60
61
|
var registrationIDBytes [4]byte
|
|
61
62
|
binary.BigEndian.PutUint32(registrationIDBytes[:], cli.Store.RegistrationID)
|
|
62
|
-
preKeys, err := cli.Store.PreKeys.GetOrGenPreKeys(WantedPreKeyCount)
|
|
63
|
+
preKeys, err := cli.Store.PreKeys.GetOrGenPreKeys(ctx, WantedPreKeyCount)
|
|
63
64
|
if err != nil {
|
|
64
65
|
cli.Log.Errorf("Failed to get prekeys to upload: %v", err)
|
|
65
66
|
return
|
|
66
67
|
}
|
|
67
68
|
cli.Log.Infof("Uploading %d new prekeys to server", len(preKeys))
|
|
68
69
|
_, err = cli.sendIQ(infoQuery{
|
|
70
|
+
Context: ctx,
|
|
69
71
|
Namespace: "encrypt",
|
|
70
72
|
Type: "set",
|
|
71
73
|
To: types.ServerJID,
|
|
@@ -82,11 +84,13 @@ func (cli *Client) uploadPreKeys() {
|
|
|
82
84
|
return
|
|
83
85
|
}
|
|
84
86
|
cli.Log.Debugf("Got response to uploading prekeys")
|
|
85
|
-
err = cli.Store.PreKeys.MarkPreKeysAsUploaded(preKeys[len(preKeys)-1].KeyID)
|
|
87
|
+
err = cli.Store.PreKeys.MarkPreKeysAsUploaded(ctx, preKeys[len(preKeys)-1].KeyID)
|
|
86
88
|
if err != nil {
|
|
87
89
|
cli.Log.Warnf("Failed to mark prekeys as uploaded: %v", err)
|
|
90
|
+
return
|
|
88
91
|
}
|
|
89
92
|
cli.lastPreKeyUpload = time.Now()
|
|
93
|
+
return
|
|
90
94
|
}
|
|
91
95
|
|
|
92
96
|
type preKeyResp struct {
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
package whatsmeow
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"context"
|
|
10
11
|
"fmt"
|
|
11
12
|
|
|
12
13
|
waBinary "go.mau.fi/whatsmeow/binary"
|
|
@@ -87,7 +88,7 @@ func (cli *Client) SendPresence(state types.Presence) error {
|
|
|
87
88
|
//
|
|
88
89
|
// cli.SendPresence(types.PresenceAvailable)
|
|
89
90
|
func (cli *Client) SubscribePresence(jid types.JID) error {
|
|
90
|
-
privacyToken, err := cli.Store.PrivacyTokens.GetPrivacyToken(jid)
|
|
91
|
+
privacyToken, err := cli.Store.PrivacyTokens.GetPrivacyToken(context.TODO(), jid)
|
|
91
92
|
if err != nil {
|
|
92
93
|
return fmt.Errorf("failed to get privacy token: %w", err)
|
|
93
94
|
} else if privacyToken == nil {
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
package whatsmeow
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"context"
|
|
10
11
|
"strconv"
|
|
11
12
|
"time"
|
|
12
13
|
|
|
@@ -16,7 +17,7 @@ import (
|
|
|
16
17
|
)
|
|
17
18
|
|
|
18
19
|
// TryFetchPrivacySettings will fetch the user's privacy settings, either from the in-memory cache or from the server.
|
|
19
|
-
func (cli *Client) TryFetchPrivacySettings(ignoreCache bool) (*types.PrivacySettings, error) {
|
|
20
|
+
func (cli *Client) TryFetchPrivacySettings(ctx context.Context, ignoreCache bool) (*types.PrivacySettings, error) {
|
|
20
21
|
if cli == nil {
|
|
21
22
|
return nil, ErrClientIsNil
|
|
22
23
|
} else if val := cli.privacySettingsCache.Load(); val != nil && !ignoreCache {
|
|
@@ -24,6 +25,7 @@ func (cli *Client) TryFetchPrivacySettings(ignoreCache bool) (*types.PrivacySett
|
|
|
24
25
|
}
|
|
25
26
|
resp, err := cli.sendIQ(infoQuery{
|
|
26
27
|
Namespace: "privacy",
|
|
28
|
+
Context: ctx,
|
|
27
29
|
Type: iqGet,
|
|
28
30
|
To: types.ServerJID,
|
|
29
31
|
Content: []waBinary.Node{{Tag: "privacy"}},
|
|
@@ -43,11 +45,11 @@ func (cli *Client) TryFetchPrivacySettings(ignoreCache bool) (*types.PrivacySett
|
|
|
43
45
|
|
|
44
46
|
// GetPrivacySettings will get the user's privacy settings. If an error occurs while fetching them, the error will be
|
|
45
47
|
// logged, but the method will just return an empty struct.
|
|
46
|
-
func (cli *Client) GetPrivacySettings() (settings types.PrivacySettings) {
|
|
48
|
+
func (cli *Client) GetPrivacySettings(ctx context.Context) (settings types.PrivacySettings) {
|
|
47
49
|
if cli == nil || cli.MessengerConfig != nil {
|
|
48
50
|
return
|
|
49
51
|
}
|
|
50
|
-
settingsPtr, err := cli.TryFetchPrivacySettings(false)
|
|
52
|
+
settingsPtr, err := cli.TryFetchPrivacySettings(ctx, false)
|
|
51
53
|
if err != nil {
|
|
52
54
|
cli.Log.Errorf("Failed to fetch privacy settings: %v", err)
|
|
53
55
|
} else {
|
|
@@ -59,8 +61,8 @@ func (cli *Client) GetPrivacySettings() (settings types.PrivacySettings) {
|
|
|
59
61
|
// SetPrivacySetting will set the given privacy setting to the given value.
|
|
60
62
|
// The privacy settings will be fetched from the server after the change and the new settings will be returned.
|
|
61
63
|
// If an error occurs while fetching the new settings, will return an empty struct.
|
|
62
|
-
func (cli *Client) SetPrivacySetting(name types.PrivacySettingType, value types.PrivacySetting) (settings types.PrivacySettings, err error) {
|
|
63
|
-
settingsPtr, err := cli.TryFetchPrivacySettings(false)
|
|
64
|
+
func (cli *Client) SetPrivacySetting(ctx context.Context, name types.PrivacySettingType, value types.PrivacySetting) (settings types.PrivacySettings, err error) {
|
|
65
|
+
settingsPtr, err := cli.TryFetchPrivacySettings(ctx, false)
|
|
64
66
|
if err != nil {
|
|
65
67
|
return settings, err
|
|
66
68
|
}
|
|
@@ -155,17 +157,14 @@ func (cli *Client) parsePrivacySettings(privacyNode *waBinary.Node, settings *ty
|
|
|
155
157
|
return &evt
|
|
156
158
|
}
|
|
157
159
|
|
|
158
|
-
func (cli *Client) handlePrivacySettingsNotification(privacyNode *waBinary.Node) {
|
|
160
|
+
func (cli *Client) handlePrivacySettingsNotification(ctx context.Context, privacyNode *waBinary.Node) {
|
|
159
161
|
cli.Log.Debugf("Parsing privacy settings change notification")
|
|
160
|
-
settings, err := cli.TryFetchPrivacySettings(false)
|
|
162
|
+
settings, err := cli.TryFetchPrivacySettings(ctx, false)
|
|
161
163
|
if err != nil {
|
|
162
164
|
cli.Log.Errorf("Failed to fetch privacy settings when handling change: %v", err)
|
|
163
165
|
return
|
|
164
166
|
}
|
|
165
167
|
evt := cli.parsePrivacySettings(privacyNode, settings)
|
|
166
|
-
|
|
167
|
-
if err == nil {
|
|
168
|
-
cli.privacySettingsCache.Store(settings)
|
|
169
|
-
}
|
|
168
|
+
cli.privacySettingsCache.Store(settings)
|
|
170
169
|
cli.dispatchEvent(evt)
|
|
171
170
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
2
2
|
// versions:
|
|
3
|
-
// protoc-gen-go v1.36.
|
|
3
|
+
// protoc-gen-go v1.36.6
|
|
4
4
|
// protoc v3.21.12
|
|
5
5
|
// source: waAdv/WAAdv.proto
|
|
6
6
|
|
|
@@ -9,11 +9,10 @@ package waAdv
|
|
|
9
9
|
import (
|
|
10
10
|
reflect "reflect"
|
|
11
11
|
sync "sync"
|
|
12
|
+
unsafe "unsafe"
|
|
12
13
|
|
|
13
14
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
14
15
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
15
|
-
|
|
16
|
-
_ "embed"
|
|
17
16
|
)
|
|
18
17
|
|
|
19
18
|
const (
|
|
@@ -421,17 +420,49 @@ func (x *ADVSignedDeviceIdentityHMAC) GetAccountType() ADVEncryptionType {
|
|
|
421
420
|
|
|
422
421
|
var File_waAdv_WAAdv_proto protoreflect.FileDescriptor
|
|
423
422
|
|
|
424
|
-
|
|
425
|
-
|
|
423
|
+
const file_waAdv_WAAdv_proto_rawDesc = "" +
|
|
424
|
+
"\n" +
|
|
425
|
+
"\x11waAdv/WAAdv.proto\x12\x05WAAdv\"\xcd\x01\n" +
|
|
426
|
+
"\x0fADVKeyIndexList\x12\x14\n" +
|
|
427
|
+
"\x05rawID\x18\x01 \x01(\rR\x05rawID\x12\x1c\n" +
|
|
428
|
+
"\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\"\n" +
|
|
429
|
+
"\fcurrentIndex\x18\x03 \x01(\rR\fcurrentIndex\x12&\n" +
|
|
430
|
+
"\fvalidIndexes\x18\x04 \x03(\rB\x02\x10\x01R\fvalidIndexes\x12:\n" +
|
|
431
|
+
"\vaccountType\x18\x05 \x01(\x0e2\x18.WAAdv.ADVEncryptionTypeR\vaccountType\"\x8f\x01\n" +
|
|
432
|
+
"\x15ADVSignedKeyIndexList\x12\x18\n" +
|
|
433
|
+
"\adetails\x18\x01 \x01(\fR\adetails\x12*\n" +
|
|
434
|
+
"\x10accountSignature\x18\x02 \x01(\fR\x10accountSignature\x120\n" +
|
|
435
|
+
"\x13accountSignatureKey\x18\x03 \x01(\fR\x13accountSignatureKey\"\xd9\x01\n" +
|
|
436
|
+
"\x11ADVDeviceIdentity\x12\x14\n" +
|
|
437
|
+
"\x05rawID\x18\x01 \x01(\rR\x05rawID\x12\x1c\n" +
|
|
438
|
+
"\ttimestamp\x18\x02 \x01(\x04R\ttimestamp\x12\x1a\n" +
|
|
439
|
+
"\bkeyIndex\x18\x03 \x01(\rR\bkeyIndex\x12:\n" +
|
|
440
|
+
"\vaccountType\x18\x04 \x01(\x0e2\x18.WAAdv.ADVEncryptionTypeR\vaccountType\x128\n" +
|
|
441
|
+
"\n" +
|
|
442
|
+
"deviceType\x18\x05 \x01(\x0e2\x18.WAAdv.ADVEncryptionTypeR\n" +
|
|
443
|
+
"deviceType\"\xbb\x01\n" +
|
|
444
|
+
"\x17ADVSignedDeviceIdentity\x12\x18\n" +
|
|
445
|
+
"\adetails\x18\x01 \x01(\fR\adetails\x120\n" +
|
|
446
|
+
"\x13accountSignatureKey\x18\x02 \x01(\fR\x13accountSignatureKey\x12*\n" +
|
|
447
|
+
"\x10accountSignature\x18\x03 \x01(\fR\x10accountSignature\x12(\n" +
|
|
448
|
+
"\x0fdeviceSignature\x18\x04 \x01(\fR\x0fdeviceSignature\"\x87\x01\n" +
|
|
449
|
+
"\x1bADVSignedDeviceIdentityHMAC\x12\x18\n" +
|
|
450
|
+
"\adetails\x18\x01 \x01(\fR\adetails\x12\x12\n" +
|
|
451
|
+
"\x04HMAC\x18\x02 \x01(\fR\x04HMAC\x12:\n" +
|
|
452
|
+
"\vaccountType\x18\x03 \x01(\x0e2\x18.WAAdv.ADVEncryptionTypeR\vaccountType*)\n" +
|
|
453
|
+
"\x11ADVEncryptionType\x12\b\n" +
|
|
454
|
+
"\x04E2EE\x10\x00\x12\n" +
|
|
455
|
+
"\n" +
|
|
456
|
+
"\x06HOSTED\x10\x01B!Z\x1fgo.mau.fi/whatsmeow/proto/waAdv"
|
|
426
457
|
|
|
427
458
|
var (
|
|
428
459
|
file_waAdv_WAAdv_proto_rawDescOnce sync.Once
|
|
429
|
-
file_waAdv_WAAdv_proto_rawDescData
|
|
460
|
+
file_waAdv_WAAdv_proto_rawDescData []byte
|
|
430
461
|
)
|
|
431
462
|
|
|
432
463
|
func file_waAdv_WAAdv_proto_rawDescGZIP() []byte {
|
|
433
464
|
file_waAdv_WAAdv_proto_rawDescOnce.Do(func() {
|
|
434
|
-
file_waAdv_WAAdv_proto_rawDescData = protoimpl.X.CompressGZIP(
|
|
465
|
+
file_waAdv_WAAdv_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_waAdv_WAAdv_proto_rawDesc), len(file_waAdv_WAAdv_proto_rawDesc)))
|
|
435
466
|
})
|
|
436
467
|
return file_waAdv_WAAdv_proto_rawDescData
|
|
437
468
|
}
|
|
@@ -467,7 +498,7 @@ func file_waAdv_WAAdv_proto_init() {
|
|
|
467
498
|
out := protoimpl.TypeBuilder{
|
|
468
499
|
File: protoimpl.DescBuilder{
|
|
469
500
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
470
|
-
RawDescriptor: file_waAdv_WAAdv_proto_rawDesc,
|
|
501
|
+
RawDescriptor: unsafe.Slice(unsafe.StringData(file_waAdv_WAAdv_proto_rawDesc), len(file_waAdv_WAAdv_proto_rawDesc)),
|
|
471
502
|
NumEnums: 1,
|
|
472
503
|
NumMessages: 5,
|
|
473
504
|
NumExtensions: 0,
|
|
@@ -479,7 +510,6 @@ func file_waAdv_WAAdv_proto_init() {
|
|
|
479
510
|
MessageInfos: file_waAdv_WAAdv_proto_msgTypes,
|
|
480
511
|
}.Build()
|
|
481
512
|
File_waAdv_WAAdv_proto = out.File
|
|
482
|
-
file_waAdv_WAAdv_proto_rawDesc = nil
|
|
483
513
|
file_waAdv_WAAdv_proto_goTypes = nil
|
|
484
514
|
file_waAdv_WAAdv_proto_depIdxs = nil
|
|
485
515
|
}
|