slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.3.0__cp311-cp311-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/contact.py +15 -3
- slidge_whatsapp/event.go +171 -70
- slidge_whatsapp/gateway.go +16 -68
- slidge_whatsapp/gateway.py +4 -5
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +168 -151
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +142 -128
- slidge_whatsapp/generated/whatsapp.c +1689 -1417
- slidge_whatsapp/generated/whatsapp.go +1011 -900
- slidge_whatsapp/generated/whatsapp.py +1175 -1050
- slidge_whatsapp/generated/whatsapp_go.h +168 -151
- slidge_whatsapp/go.mod +21 -15
- slidge_whatsapp/go.sum +49 -31
- slidge_whatsapp/group.py +34 -30
- slidge_whatsapp/media/media.go +22 -12
- slidge_whatsapp/session.go +106 -82
- slidge_whatsapp/session.py +46 -14
- slidge_whatsapp/vendor/github.com/beeper/argo-go/LICENSE +9 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockreader.go +329 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/block/blockwriter.go +417 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/decoder.go +652 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/codec/encoder.go +985 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/header/header.go +135 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/internal/util/util.go +133 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/label.go +384 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/label/wiremarkers.go +37 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/bitset/bitset.go +197 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/buf/buf.go +420 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/pkg/varint/varint.go +246 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wire/wire.go +614 -0
- slidge_whatsapp/vendor/github.com/beeper/argo-go/wirecodec/decode.go +341 -0
- 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/elliotchance/orderedmap/v3/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/list.go +95 -0
- slidge_whatsapp/vendor/github.com/elliotchance/orderedmap/v3/orderedmap.go +187 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz.go +1 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_cgo.go +3 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/fitz_nocgo.go +4 -5
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_darwin.go +11 -1
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_linux.go +10 -0
- slidge_whatsapp/vendor/github.com/gen2brain/go-fitz/purego_windows.go +12 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/.gitignore +0 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +44 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/COPYRIGHT.txt +6 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/README.md +14 -17
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi2.go +7 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/LICENSE +21 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_amd64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/darwin_arm64/libffi.8.dylib +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/assets/libffi/windows_amd64/libffi-8.dll +0 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif.go +15 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/cif_arm64.go +16 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed.go +49 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_darwin_arm64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/embed_windows_amd64.go +10 -0
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +53 -15
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/init.go +22 -9
- 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 +4 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +11545 -6680
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +527 -273
- 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/mattn/go-sqlite3/sqlite3_opt_userauth.go +13 -140
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3ext.h +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.25.go +37 -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/github.com/vektah/gqlparser/v2/LICENSE +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/argmap.go +37 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/collections.go +148 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/comment.go +31 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/decode.go +216 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/definition.go +110 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/directive.go +43 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/document.go +89 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/dumper.go +159 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/fragment.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/operation.go +32 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/path.go +72 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/selection.go +41 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/source.go +19 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/type.go +68 -0
- slidge_whatsapp/vendor/github.com/vektah/gqlparser/v2/ast/value.go +122 -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 +98 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +36 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +38 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exstrings/stringutil.go +104 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +104 -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/.pre-commit-config.yaml +3 -3
- 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/hash.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +32 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo-wire-type-store.argo +63 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/argo.go +62 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/argo/name-to-queryids.json +306 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +42 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/binary/encoder.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/call.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +134 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +34 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +78 -34
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +157 -55
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +202 -154
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +3 -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 +448 -138
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +106 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/newsletter.go +83 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +83 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +9 -6
- 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 +17 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/extra.go +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.pb.go +983 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/InstamadilloAddMessage.proto +85 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloAddMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.pb.go +197 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeActionLog/InstamadilloCoreTypeActionLog.proto +13 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.pb.go +279 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeAdminMessage/InstamadilloCoreTypeAdminMessage.proto +21 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.pb.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeCollection/InstamadilloCoreTypeCollection.proto +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.pb.go +313 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeLink/InstamadilloCoreTypeLink.proto +27 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.pb.go +1299 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeMedia/InstamadilloCoreTypeMedia.proto +112 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.pb.go +514 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloCoreTypeText/InstamadilloCoreTypeText.proto +47 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.pb.go +123 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/InstamadilloDeleteMessage.proto +7 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloDeleteMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.pb.go +720 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/InstamadilloSupplementMessage.proto +59 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloSupplementMessage/extra.go +3 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.pb.go +365 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloTransportPayload/InstamadilloTransportPayload.proto +33 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.pb.go +1238 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/instamadilloXmaContentRef/InstamadilloXmaContentRef.proto +105 -0
- 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 +170 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.pb.go +5156 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waBotMetadata/WABotMetadata.proto +516 -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} +211 -89
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +5 -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 +7463 -5180
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +366 -343
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +485 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +17 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.pb.go +198 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waLidMigrationSyncPayload/WAWebProtobufLidMigrationSyncPayload.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/waMsgTransport/extra.go +7 -6
- 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/waStatusAttributions/WAStatusAttributions.pb.go +952 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +88 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1802 -453
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +92 -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 +435 -109
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +563 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingfields.json +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/reportingtoken.go +176 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +39 -21
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +267 -79
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +28 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +87 -44
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +86 -65
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +314 -170
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +155 -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/10-chat-db-lid-migration-ts.sql +2 -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 +109 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/call.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +21 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +9 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +18 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/user.go +2 -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 +59 -37
- slidge_whatsapp/vendor/golang.org/x/crypto/curve25519/curve25519.go +1 -1
- 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 +164 -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 +181 -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 +410 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3332 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3233 -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/affinity_linux.go +1 -3
- slidge_whatsapp/vendor/golang.org/x/sys/unix/mkerrors.sh +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +93 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_solaris.go +1 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux.go +47 -16
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +3 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +3 -0
- 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/unix/zsyscall_solaris_amd64.go +4 -4
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go +1 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux.go +168 -12
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +17 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +18 -2
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +16 -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 +245 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +491 -482
- 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/encoding/protowire/wire.go +25 -1
- 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 +13 -5
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/presence.go +33 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +81 -19
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/codec_message_opaque.go +2 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/message_opaque.go +8 -37
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/impl/presence.go +0 -3
- 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 +10 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +80 -21
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/METADATA +5 -4
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/RECORD +456 -263
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/abi_amd64.go +0 -7
- 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.3.0.dist-info}/entry_points.txt +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.3.0.dist-info/licenses}/LICENSE +0 -0
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
package store
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"context"
|
|
11
|
+
"fmt"
|
|
12
|
+
|
|
10
13
|
"go.mau.fi/libsignal/ecc"
|
|
11
14
|
groupRecord "go.mau.fi/libsignal/groups/state/record"
|
|
12
15
|
"go.mau.fi/libsignal/keys/identity"
|
|
@@ -14,8 +17,6 @@ import (
|
|
|
14
17
|
"go.mau.fi/libsignal/serialize"
|
|
15
18
|
"go.mau.fi/libsignal/state/record"
|
|
16
19
|
"go.mau.fi/libsignal/state/store"
|
|
17
|
-
|
|
18
|
-
"go.mau.fi/whatsmeow/util/keys"
|
|
19
20
|
)
|
|
20
21
|
|
|
21
22
|
var SignalProtobufSerializer = serialize.NewProtoBufSerializer()
|
|
@@ -29,167 +30,153 @@ func (device *Device) GetIdentityKeyPair() *identity.KeyPair {
|
|
|
29
30
|
)
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
func (device *Device)
|
|
33
|
+
func (device *Device) GetLocalRegistrationID() uint32 {
|
|
33
34
|
return device.RegistrationID
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
func (device *Device) SaveIdentity(address *protocol.SignalAddress, identityKey *identity.Key) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
37
|
+
func (device *Device) SaveIdentity(ctx context.Context, address *protocol.SignalAddress, identityKey *identity.Key) error {
|
|
38
|
+
addrString := address.String()
|
|
39
|
+
err := device.Identities.PutIdentity(ctx, addrString, identityKey.PublicKey().PublicKey())
|
|
40
|
+
if err != nil {
|
|
41
|
+
return fmt.Errorf("failed to save identity of %s: %w", addrString, err)
|
|
42
42
|
}
|
|
43
|
+
return nil
|
|
43
44
|
}
|
|
44
45
|
|
|
45
|
-
func (device *Device) IsTrustedIdentity(address *protocol.SignalAddress, identityKey *identity.Key) bool {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
46
|
+
func (device *Device) IsTrustedIdentity(ctx context.Context, address *protocol.SignalAddress, identityKey *identity.Key) (bool, error) {
|
|
47
|
+
addrString := address.String()
|
|
48
|
+
isTrusted, err := device.Identities.IsTrustedIdentity(ctx, addrString, identityKey.PublicKey().PublicKey())
|
|
49
|
+
if err != nil {
|
|
50
|
+
return false, fmt.Errorf("failed to check if %s's identity is trusted: %w", addrString, err)
|
|
51
51
|
}
|
|
52
|
+
return isTrusted, nil
|
|
52
53
|
}
|
|
53
54
|
|
|
54
|
-
func (device *Device) LoadPreKey(id uint32) *record.PreKey {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
preKey, err = device.PreKeys.GetPreKey(id)
|
|
59
|
-
if err == nil || !device.handleDatabaseError(i, err, "load prekey %d", id) {
|
|
60
|
-
break
|
|
61
|
-
}
|
|
55
|
+
func (device *Device) LoadPreKey(ctx context.Context, id uint32) (*record.PreKey, error) {
|
|
56
|
+
preKey, err := device.PreKeys.GetPreKey(ctx, id)
|
|
57
|
+
if err != nil {
|
|
58
|
+
return nil, fmt.Errorf("failed to load prekey %d: %w", id, err)
|
|
62
59
|
}
|
|
63
60
|
if preKey == nil {
|
|
64
|
-
return nil
|
|
61
|
+
return nil, nil
|
|
65
62
|
}
|
|
66
63
|
return record.NewPreKey(preKey.KeyID, ecc.NewECKeyPair(
|
|
67
64
|
ecc.NewDjbECPublicKey(*preKey.Pub),
|
|
68
65
|
ecc.NewDjbECPrivateKey(*preKey.Priv),
|
|
69
|
-
), nil)
|
|
66
|
+
), nil), nil
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
func (device *Device) RemovePreKey(id uint32) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
break
|
|
77
|
-
}
|
|
69
|
+
func (device *Device) RemovePreKey(ctx context.Context, id uint32) error {
|
|
70
|
+
err := device.PreKeys.RemovePreKey(ctx, id)
|
|
71
|
+
if err != nil {
|
|
72
|
+
return fmt.Errorf("failed to remove prekey %d: %w", id, err)
|
|
78
73
|
}
|
|
74
|
+
return nil
|
|
79
75
|
}
|
|
80
76
|
|
|
81
|
-
func (device *Device) StorePreKey(preKeyID uint32, preKeyRecord *record.PreKey) {
|
|
77
|
+
func (device *Device) StorePreKey(ctx context.Context, preKeyID uint32, preKeyRecord *record.PreKey) error {
|
|
82
78
|
panic("not implemented")
|
|
83
79
|
}
|
|
84
80
|
|
|
85
|
-
func (device *Device) ContainsPreKey(preKeyID uint32) bool {
|
|
81
|
+
func (device *Device) ContainsPreKey(ctx context.Context, preKeyID uint32) (bool, error) {
|
|
86
82
|
panic("not implemented")
|
|
87
83
|
}
|
|
88
84
|
|
|
89
|
-
func (device *Device) LoadSession(address *protocol.SignalAddress) *record.Session {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if err == nil || !device.handleDatabaseError(i, err, "load session with %s", address.String()) {
|
|
95
|
-
break
|
|
96
|
-
}
|
|
85
|
+
func (device *Device) LoadSession(ctx context.Context, address *protocol.SignalAddress) (*record.Session, error) {
|
|
86
|
+
addrString := address.String()
|
|
87
|
+
rawSess, err := device.Sessions.GetSession(ctx, addrString)
|
|
88
|
+
if err != nil {
|
|
89
|
+
return nil, fmt.Errorf("failed to load session with %s: %w", addrString, err)
|
|
97
90
|
}
|
|
98
91
|
if rawSess == nil {
|
|
99
|
-
|
|
100
|
-
return nil
|
|
101
|
-
}
|
|
102
|
-
return record.NewSession(SignalProtobufSerializer.Session, SignalProtobufSerializer.State)
|
|
92
|
+
return record.NewSession(SignalProtobufSerializer.Session, SignalProtobufSerializer.State), nil
|
|
103
93
|
}
|
|
104
94
|
sess, err := record.NewSessionFromBytes(rawSess, SignalProtobufSerializer.Session, SignalProtobufSerializer.State)
|
|
105
95
|
if err != nil {
|
|
106
|
-
|
|
107
|
-
return nil
|
|
96
|
+
return nil, fmt.Errorf("failed to deserialize session with %s: %w", addrString, err)
|
|
108
97
|
}
|
|
109
|
-
return sess
|
|
98
|
+
return sess, nil
|
|
110
99
|
}
|
|
111
100
|
|
|
112
|
-
func (device *Device) GetSubDeviceSessions(name string) []uint32 {
|
|
101
|
+
func (device *Device) GetSubDeviceSessions(ctx context.Context, name string) ([]uint32, error) {
|
|
113
102
|
panic("not implemented")
|
|
114
103
|
}
|
|
115
104
|
|
|
116
|
-
func (device *Device) StoreSession(address *protocol.SignalAddress, record *record.Session) {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
}
|
|
105
|
+
func (device *Device) StoreSession(ctx context.Context, address *protocol.SignalAddress, record *record.Session) error {
|
|
106
|
+
addrString := address.String()
|
|
107
|
+
err := device.Sessions.PutSession(ctx, addrString, record.Serialize())
|
|
108
|
+
if err != nil {
|
|
109
|
+
return fmt.Errorf("failed to store session with %s: %w", addrString, err)
|
|
122
110
|
}
|
|
111
|
+
return nil
|
|
123
112
|
}
|
|
124
113
|
|
|
125
|
-
func (device *Device) ContainsSession(remoteAddress *protocol.SignalAddress) bool {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
114
|
+
func (device *Device) ContainsSession(ctx context.Context, remoteAddress *protocol.SignalAddress) (bool, error) {
|
|
115
|
+
addrString := remoteAddress.String()
|
|
116
|
+
hasSession, err := device.Sessions.HasSession(ctx, addrString)
|
|
117
|
+
if err != nil {
|
|
118
|
+
return false, fmt.Errorf("failed to check if store has session for %s: %w", addrString, err)
|
|
131
119
|
}
|
|
120
|
+
return hasSession, nil
|
|
132
121
|
}
|
|
133
122
|
|
|
134
|
-
func (device *Device) DeleteSession(remoteAddress *protocol.SignalAddress) {
|
|
123
|
+
func (device *Device) DeleteSession(ctx context.Context, remoteAddress *protocol.SignalAddress) error {
|
|
135
124
|
panic("not implemented")
|
|
136
125
|
}
|
|
137
126
|
|
|
138
|
-
func (device *Device) DeleteAllSessions() {
|
|
127
|
+
func (device *Device) DeleteAllSessions(ctx context.Context) error {
|
|
139
128
|
panic("not implemented")
|
|
140
129
|
}
|
|
141
130
|
|
|
142
|
-
func (device *Device) LoadSignedPreKey(signedPreKeyID uint32) *record.SignedPreKey {
|
|
131
|
+
func (device *Device) LoadSignedPreKey(ctx context.Context, signedPreKeyID uint32) (*record.SignedPreKey, error) {
|
|
143
132
|
if signedPreKeyID == device.SignedPreKey.KeyID {
|
|
144
133
|
return record.NewSignedPreKey(signedPreKeyID, 0, ecc.NewECKeyPair(
|
|
145
134
|
ecc.NewDjbECPublicKey(*device.SignedPreKey.Pub),
|
|
146
135
|
ecc.NewDjbECPrivateKey(*device.SignedPreKey.Priv),
|
|
147
|
-
), *device.SignedPreKey.Signature, nil)
|
|
136
|
+
), *device.SignedPreKey.Signature, nil), nil
|
|
148
137
|
}
|
|
149
|
-
return nil
|
|
138
|
+
return nil, nil
|
|
150
139
|
}
|
|
151
140
|
|
|
152
|
-
func (device *Device) LoadSignedPreKeys() []*record.SignedPreKey {
|
|
141
|
+
func (device *Device) LoadSignedPreKeys(ctx context.Context) ([]*record.SignedPreKey, error) {
|
|
153
142
|
panic("not implemented")
|
|
154
143
|
}
|
|
155
144
|
|
|
156
|
-
func (device *Device) StoreSignedPreKey(signedPreKeyID uint32, record *record.SignedPreKey) {
|
|
145
|
+
func (device *Device) StoreSignedPreKey(ctx context.Context, signedPreKeyID uint32, record *record.SignedPreKey) error {
|
|
157
146
|
panic("not implemented")
|
|
158
147
|
}
|
|
159
148
|
|
|
160
|
-
func (device *Device) ContainsSignedPreKey(signedPreKeyID uint32) bool {
|
|
149
|
+
func (device *Device) ContainsSignedPreKey(ctx context.Context, signedPreKeyID uint32) (bool, error) {
|
|
161
150
|
panic("not implemented")
|
|
162
151
|
}
|
|
163
152
|
|
|
164
|
-
func (device *Device) RemoveSignedPreKey(signedPreKeyID uint32) {
|
|
153
|
+
func (device *Device) RemoveSignedPreKey(ctx context.Context, signedPreKeyID uint32) error {
|
|
165
154
|
panic("not implemented")
|
|
166
155
|
}
|
|
167
156
|
|
|
168
|
-
func (device *Device) StoreSenderKey(senderKeyName *protocol.SenderKeyName, keyRecord *groupRecord.SenderKey) {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
157
|
+
func (device *Device) StoreSenderKey(ctx context.Context, senderKeyName *protocol.SenderKeyName, keyRecord *groupRecord.SenderKey) error {
|
|
158
|
+
groupID := senderKeyName.GroupID()
|
|
159
|
+
senderString := senderKeyName.Sender().String()
|
|
160
|
+
err := device.SenderKeys.PutSenderKey(ctx, groupID, senderString, keyRecord.Serialize())
|
|
161
|
+
if err != nil {
|
|
162
|
+
return fmt.Errorf("failed to store sender key from %s for %s: %w", senderString, groupID, err)
|
|
174
163
|
}
|
|
164
|
+
return nil
|
|
175
165
|
}
|
|
176
166
|
|
|
177
|
-
func (device *Device) LoadSenderKey(senderKeyName *protocol.SenderKeyName) *groupRecord.SenderKey {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
break
|
|
184
|
-
}
|
|
167
|
+
func (device *Device) LoadSenderKey(ctx context.Context, senderKeyName *protocol.SenderKeyName) (*groupRecord.SenderKey, error) {
|
|
168
|
+
groupID := senderKeyName.GroupID()
|
|
169
|
+
senderString := senderKeyName.Sender().String()
|
|
170
|
+
rawKey, err := device.SenderKeys.GetSenderKey(ctx, groupID, senderString)
|
|
171
|
+
if err != nil {
|
|
172
|
+
return nil, fmt.Errorf("failed to load sender key from %s for %s: %w", senderString, groupID, err)
|
|
185
173
|
}
|
|
186
174
|
if rawKey == nil {
|
|
187
|
-
return groupRecord.NewSenderKey(SignalProtobufSerializer.SenderKeyRecord, SignalProtobufSerializer.SenderKeyState)
|
|
175
|
+
return groupRecord.NewSenderKey(SignalProtobufSerializer.SenderKeyRecord, SignalProtobufSerializer.SenderKeyState), nil
|
|
188
176
|
}
|
|
189
177
|
key, err := groupRecord.NewSenderKeyFromBytes(rawKey, SignalProtobufSerializer.SenderKeyRecord, SignalProtobufSerializer.SenderKeyState)
|
|
190
178
|
if err != nil {
|
|
191
|
-
|
|
192
|
-
return groupRecord.NewSenderKey(SignalProtobufSerializer.SenderKeyRecord, SignalProtobufSerializer.SenderKeyState)
|
|
179
|
+
return nil, fmt.Errorf("failed to deserialize sender key from %s for %s: %w", senderString, groupID, err)
|
|
193
180
|
}
|
|
194
|
-
return key
|
|
181
|
+
return key, nil
|
|
195
182
|
}
|
|
@@ -7,16 +7,19 @@
|
|
|
7
7
|
package sqlstore
|
|
8
8
|
|
|
9
9
|
import (
|
|
10
|
+
"context"
|
|
10
11
|
"database/sql"
|
|
11
12
|
"errors"
|
|
12
13
|
"fmt"
|
|
13
|
-
mathRand "math/rand"
|
|
14
|
+
mathRand "math/rand/v2"
|
|
14
15
|
|
|
15
16
|
"github.com/google/uuid"
|
|
17
|
+
"go.mau.fi/util/dbutil"
|
|
16
18
|
"go.mau.fi/util/random"
|
|
17
19
|
|
|
18
20
|
"go.mau.fi/whatsmeow/proto/waAdv"
|
|
19
21
|
"go.mau.fi/whatsmeow/store"
|
|
22
|
+
"go.mau.fi/whatsmeow/store/sqlstore/upgrades"
|
|
20
23
|
"go.mau.fi/whatsmeow/types"
|
|
21
24
|
"go.mau.fi/whatsmeow/util/keys"
|
|
22
25
|
waLog "go.mau.fi/whatsmeow/util/log"
|
|
@@ -24,11 +27,9 @@ import (
|
|
|
24
27
|
|
|
25
28
|
// Container is a wrapper for a SQL database that can contain multiple whatsmeow sessions.
|
|
26
29
|
type Container struct {
|
|
27
|
-
db
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
DatabaseErrorHandler func(device *store.Device, action string, attemptIndex int, err error) (retry bool)
|
|
30
|
+
db *dbutil.Database
|
|
31
|
+
log waLog.Logger
|
|
32
|
+
LIDMap *CachedLIDMap
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
var _ store.DeviceContainer = (*Container)(nil)
|
|
@@ -41,14 +42,14 @@ var _ store.DeviceContainer = (*Container)(nil)
|
|
|
41
42
|
//
|
|
42
43
|
// When using SQLite, it's strongly recommended to enable foreign keys by adding `?_foreign_keys=true`:
|
|
43
44
|
//
|
|
44
|
-
// container, err := sqlstore.New("sqlite3", "file:yoursqlitefile.db?_foreign_keys=on", nil)
|
|
45
|
-
func New(dialect, address string, log waLog.Logger) (*Container, error) {
|
|
45
|
+
// container, err := sqlstore.New(context.Background(), "sqlite3", "file:yoursqlitefile.db?_foreign_keys=on", nil)
|
|
46
|
+
func New(ctx context.Context, dialect, address string, log waLog.Logger) (*Container, error) {
|
|
46
47
|
db, err := sql.Open(dialect, address)
|
|
47
48
|
if err != nil {
|
|
48
49
|
return nil, fmt.Errorf("failed to open database: %w", err)
|
|
49
50
|
}
|
|
50
51
|
container := NewWithDB(db, dialect, log)
|
|
51
|
-
err = container.Upgrade()
|
|
52
|
+
err = container.Upgrade(ctx)
|
|
52
53
|
if err != nil {
|
|
53
54
|
return nil, fmt.Errorf("failed to upgrade database: %w", err)
|
|
54
55
|
}
|
|
@@ -74,33 +75,54 @@ func New(dialect, address string, log waLog.Logger) (*Container, error) {
|
|
|
74
75
|
// container := sqlstore.NewWithDB(...)
|
|
75
76
|
// err := container.Upgrade()
|
|
76
77
|
func NewWithDB(db *sql.DB, dialect string, log waLog.Logger) *Container {
|
|
78
|
+
wrapped, err := dbutil.NewWithDB(db, dialect)
|
|
79
|
+
if err != nil {
|
|
80
|
+
// This will only panic if the dialect is invalid
|
|
81
|
+
panic(err)
|
|
82
|
+
}
|
|
83
|
+
wrapped.UpgradeTable = upgrades.Table
|
|
84
|
+
wrapped.VersionTable = "whatsmeow_version"
|
|
85
|
+
return NewWithWrappedDB(wrapped, log)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
func NewWithWrappedDB(wrapped *dbutil.Database, log waLog.Logger) *Container {
|
|
77
89
|
if log == nil {
|
|
78
90
|
log = waLog.Noop
|
|
79
91
|
}
|
|
80
92
|
return &Container{
|
|
81
|
-
db:
|
|
82
|
-
|
|
83
|
-
|
|
93
|
+
db: wrapped,
|
|
94
|
+
log: log,
|
|
95
|
+
LIDMap: NewCachedLIDMap(wrapped),
|
|
84
96
|
}
|
|
85
97
|
}
|
|
86
98
|
|
|
99
|
+
// Upgrade upgrades the database from the current to the latest version available.
|
|
100
|
+
func (c *Container) Upgrade(ctx context.Context) error {
|
|
101
|
+
if c.db.Dialect == dbutil.SQLite {
|
|
102
|
+
var foreignKeysEnabled bool
|
|
103
|
+
err := c.db.QueryRow(ctx, "PRAGMA foreign_keys").Scan(&foreignKeysEnabled)
|
|
104
|
+
if err != nil {
|
|
105
|
+
return fmt.Errorf("failed to check if foreign keys are enabled: %w", err)
|
|
106
|
+
} else if !foreignKeysEnabled {
|
|
107
|
+
return fmt.Errorf("foreign keys are not enabled")
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
return c.db.Upgrade(ctx)
|
|
112
|
+
}
|
|
113
|
+
|
|
87
114
|
const getAllDevicesQuery = `
|
|
88
|
-
SELECT jid, registration_id, noise_key, identity_key,
|
|
115
|
+
SELECT jid, lid, registration_id, noise_key, identity_key,
|
|
89
116
|
signed_pre_key, signed_pre_key_id, signed_pre_key_sig,
|
|
90
117
|
adv_key, adv_details, adv_account_sig, adv_account_sig_key, adv_device_sig,
|
|
91
|
-
platform, business_name, push_name, facebook_uuid
|
|
118
|
+
platform, business_name, push_name, facebook_uuid, lid_migration_ts
|
|
92
119
|
FROM whatsmeow_device
|
|
93
120
|
`
|
|
94
121
|
|
|
95
122
|
const getDeviceQuery = getAllDevicesQuery + " WHERE jid=$1"
|
|
96
123
|
|
|
97
|
-
|
|
98
|
-
Scan(dest ...interface{}) error
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
func (c *Container) scanDevice(row scannable) (*store.Device, error) {
|
|
124
|
+
func (c *Container) scanDevice(row dbutil.Scannable) (*store.Device, error) {
|
|
102
125
|
var device store.Device
|
|
103
|
-
device.DatabaseErrorHandler = c.DatabaseErrorHandler
|
|
104
126
|
device.Log = c.log
|
|
105
127
|
device.SignedPreKey = &keys.PreKey{}
|
|
106
128
|
var noisePriv, identityPriv, preKeyPriv, preKeySig []byte
|
|
@@ -108,10 +130,10 @@ func (c *Container) scanDevice(row scannable) (*store.Device, error) {
|
|
|
108
130
|
var fbUUID uuid.NullUUID
|
|
109
131
|
|
|
110
132
|
err := row.Scan(
|
|
111
|
-
&device.ID, &device.RegistrationID, &noisePriv, &identityPriv,
|
|
133
|
+
&device.ID, &device.LID, &device.RegistrationID, &noisePriv, &identityPriv,
|
|
112
134
|
&preKeyPriv, &device.SignedPreKey.KeyID, &preKeySig,
|
|
113
135
|
&device.AdvSecretKey, &account.Details, &account.AccountSignature, &account.AccountSignatureKey, &account.DeviceSignature,
|
|
114
|
-
&device.Platform, &device.BusinessName, &device.PushName, &fbUUID)
|
|
136
|
+
&device.Platform, &device.BusinessName, &device.PushName, &fbUUID, &device.LIDMigrationTimestamp)
|
|
115
137
|
if err != nil {
|
|
116
138
|
return nil, fmt.Errorf("failed to scan session: %w", err)
|
|
117
139
|
} else if len(noisePriv) != 32 || len(identityPriv) != 32 || len(preKeyPriv) != 32 || len(preKeySig) != 64 {
|
|
@@ -125,26 +147,14 @@ func (c *Container) scanDevice(row scannable) (*store.Device, error) {
|
|
|
125
147
|
device.Account = &account
|
|
126
148
|
device.FacebookUUID = fbUUID.UUID
|
|
127
149
|
|
|
128
|
-
|
|
129
|
-
device.Identities = innerStore
|
|
130
|
-
device.Sessions = innerStore
|
|
131
|
-
device.PreKeys = innerStore
|
|
132
|
-
device.SenderKeys = innerStore
|
|
133
|
-
device.AppStateKeys = innerStore
|
|
134
|
-
device.AppState = innerStore
|
|
135
|
-
device.Contacts = innerStore
|
|
136
|
-
device.ChatSettings = innerStore
|
|
137
|
-
device.MsgSecrets = innerStore
|
|
138
|
-
device.PrivacyTokens = innerStore
|
|
139
|
-
device.Container = c
|
|
140
|
-
device.Initialized = true
|
|
150
|
+
c.initializeDevice(&device)
|
|
141
151
|
|
|
142
152
|
return &device, nil
|
|
143
153
|
}
|
|
144
154
|
|
|
145
155
|
// GetAllDevices finds all the devices in the database.
|
|
146
|
-
func (c *Container) GetAllDevices() ([]*store.Device, error) {
|
|
147
|
-
res, err := c.db.Query(getAllDevicesQuery)
|
|
156
|
+
func (c *Container) GetAllDevices(ctx context.Context) ([]*store.Device, error) {
|
|
157
|
+
res, err := c.db.Query(ctx, getAllDevicesQuery)
|
|
148
158
|
if err != nil {
|
|
149
159
|
return nil, fmt.Errorf("failed to query sessions: %w", err)
|
|
150
160
|
}
|
|
@@ -162,8 +172,8 @@ func (c *Container) GetAllDevices() ([]*store.Device, error) {
|
|
|
162
172
|
// GetFirstDevice is a convenience method for getting the first device in the store. If there are
|
|
163
173
|
// no devices, then a new device will be created. You should only use this if you don't want to
|
|
164
174
|
// have multiple sessions simultaneously.
|
|
165
|
-
func (c *Container) GetFirstDevice() (*store.Device, error) {
|
|
166
|
-
devices, err := c.GetAllDevices()
|
|
175
|
+
func (c *Container) GetFirstDevice(ctx context.Context) (*store.Device, error) {
|
|
176
|
+
devices, err := c.GetAllDevices(ctx)
|
|
167
177
|
if err != nil {
|
|
168
178
|
return nil, err
|
|
169
179
|
}
|
|
@@ -179,8 +189,8 @@ func (c *Container) GetFirstDevice() (*store.Device, error) {
|
|
|
179
189
|
// If the device is not found, nil is returned instead.
|
|
180
190
|
//
|
|
181
191
|
// Note that the parameter usually must be an AD-JID.
|
|
182
|
-
func (c *Container) GetDevice(jid types.JID) (*store.Device, error) {
|
|
183
|
-
sess, err := c.scanDevice(c.db.QueryRow(getDeviceQuery, jid))
|
|
192
|
+
func (c *Container) GetDevice(ctx context.Context, jid types.JID) (*store.Device, error) {
|
|
193
|
+
sess, err := c.scanDevice(c.db.QueryRow(ctx, getDeviceQuery, jid))
|
|
184
194
|
if errors.Is(err, sql.ErrNoRows) {
|
|
185
195
|
return nil, nil
|
|
186
196
|
}
|
|
@@ -189,13 +199,17 @@ func (c *Container) GetDevice(jid types.JID) (*store.Device, error) {
|
|
|
189
199
|
|
|
190
200
|
const (
|
|
191
201
|
insertDeviceQuery = `
|
|
192
|
-
INSERT INTO whatsmeow_device (jid, registration_id, noise_key, identity_key,
|
|
202
|
+
INSERT INTO whatsmeow_device (jid, lid, registration_id, noise_key, identity_key,
|
|
193
203
|
signed_pre_key, signed_pre_key_id, signed_pre_key_sig,
|
|
194
204
|
adv_key, adv_details, adv_account_sig, adv_account_sig_key, adv_device_sig,
|
|
195
|
-
platform, business_name, push_name, facebook_uuid)
|
|
196
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
|
|
205
|
+
platform, business_name, push_name, facebook_uuid, lid_migration_ts)
|
|
206
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18)
|
|
197
207
|
ON CONFLICT (jid) DO UPDATE
|
|
198
|
-
|
|
208
|
+
SET lid=excluded.lid,
|
|
209
|
+
platform=excluded.platform,
|
|
210
|
+
business_name=excluded.business_name,
|
|
211
|
+
push_name=excluded.push_name,
|
|
212
|
+
lid_migration_ts=excluded.lid_migration_ts
|
|
199
213
|
`
|
|
200
214
|
deleteDeviceQuery = `DELETE FROM whatsmeow_device WHERE jid=$1`
|
|
201
215
|
)
|
|
@@ -209,8 +223,6 @@ func (c *Container) NewDevice() *store.Device {
|
|
|
209
223
|
Log: c.log,
|
|
210
224
|
Container: c,
|
|
211
225
|
|
|
212
|
-
DatabaseErrorHandler: c.DatabaseErrorHandler,
|
|
213
|
-
|
|
214
226
|
NoiseKey: keys.NewKeyPair(),
|
|
215
227
|
IdentityKey: keys.NewKeyPair(),
|
|
216
228
|
RegistrationID: mathRand.Uint32(),
|
|
@@ -233,38 +245,47 @@ func (c *Container) Close() error {
|
|
|
233
245
|
|
|
234
246
|
// PutDevice stores the given device in this database. This should be called through Device.Save()
|
|
235
247
|
// (which usually doesn't need to be called manually, as the library does that automatically when relevant).
|
|
236
|
-
func (c *Container) PutDevice(device *store.Device) error {
|
|
248
|
+
func (c *Container) PutDevice(ctx context.Context, device *store.Device) error {
|
|
237
249
|
if device.ID == nil {
|
|
238
250
|
return ErrDeviceIDMustBeSet
|
|
239
251
|
}
|
|
240
|
-
_, err := c.db.Exec(insertDeviceQuery,
|
|
241
|
-
device.ID.
|
|
252
|
+
_, err := c.db.Exec(ctx, insertDeviceQuery,
|
|
253
|
+
device.ID, device.LID, device.RegistrationID, device.NoiseKey.Priv[:], device.IdentityKey.Priv[:],
|
|
242
254
|
device.SignedPreKey.Priv[:], device.SignedPreKey.KeyID, device.SignedPreKey.Signature[:],
|
|
243
255
|
device.AdvSecretKey, device.Account.Details, device.Account.AccountSignature, device.Account.AccountSignatureKey, device.Account.DeviceSignature,
|
|
244
|
-
device.Platform, device.BusinessName, device.PushName, uuid.NullUUID{UUID: device.FacebookUUID, Valid: device.FacebookUUID != uuid.Nil}
|
|
256
|
+
device.Platform, device.BusinessName, device.PushName, uuid.NullUUID{UUID: device.FacebookUUID, Valid: device.FacebookUUID != uuid.Nil},
|
|
257
|
+
device.LIDMigrationTimestamp,
|
|
258
|
+
)
|
|
245
259
|
|
|
246
260
|
if !device.Initialized {
|
|
247
|
-
|
|
248
|
-
device.Identities = innerStore
|
|
249
|
-
device.Sessions = innerStore
|
|
250
|
-
device.PreKeys = innerStore
|
|
251
|
-
device.SenderKeys = innerStore
|
|
252
|
-
device.AppStateKeys = innerStore
|
|
253
|
-
device.AppState = innerStore
|
|
254
|
-
device.Contacts = innerStore
|
|
255
|
-
device.ChatSettings = innerStore
|
|
256
|
-
device.MsgSecrets = innerStore
|
|
257
|
-
device.PrivacyTokens = innerStore
|
|
258
|
-
device.Initialized = true
|
|
261
|
+
c.initializeDevice(device)
|
|
259
262
|
}
|
|
260
263
|
return err
|
|
261
264
|
}
|
|
262
265
|
|
|
266
|
+
func (c *Container) initializeDevice(device *store.Device) {
|
|
267
|
+
innerStore := NewSQLStore(c, *device.ID)
|
|
268
|
+
device.Identities = innerStore
|
|
269
|
+
device.Sessions = innerStore
|
|
270
|
+
device.PreKeys = innerStore
|
|
271
|
+
device.SenderKeys = innerStore
|
|
272
|
+
device.AppStateKeys = innerStore
|
|
273
|
+
device.AppState = innerStore
|
|
274
|
+
device.Contacts = innerStore
|
|
275
|
+
device.ChatSettings = innerStore
|
|
276
|
+
device.MsgSecrets = innerStore
|
|
277
|
+
device.PrivacyTokens = innerStore
|
|
278
|
+
device.EventBuffer = innerStore
|
|
279
|
+
device.LIDs = c.LIDMap
|
|
280
|
+
device.Container = c
|
|
281
|
+
device.Initialized = true
|
|
282
|
+
}
|
|
283
|
+
|
|
263
284
|
// DeleteDevice deletes the given device from this database. This should be called through Device.Delete()
|
|
264
|
-
func (c *Container) DeleteDevice(store *store.Device) error {
|
|
285
|
+
func (c *Container) DeleteDevice(ctx context.Context, store *store.Device) error {
|
|
265
286
|
if store.ID == nil {
|
|
266
287
|
return ErrDeviceIDMustBeSet
|
|
267
288
|
}
|
|
268
|
-
_, err := c.db.Exec(deleteDeviceQuery, store.ID
|
|
289
|
+
_, err := c.db.Exec(ctx, deleteDeviceQuery, store.ID)
|
|
269
290
|
return err
|
|
270
291
|
}
|