slidge-whatsapp 0.2.5__cp311-cp311-manylinux_2_36_aarch64.whl → 0.2.7__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/event.go +31 -26
- slidge_whatsapp/gateway.go +13 -9
- slidge_whatsapp/gateway.py +2 -2
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.h +170 -170
- slidge_whatsapp/generated/_whatsapp.cpython-311-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +135 -135
- slidge_whatsapp/generated/whatsapp.c +1496 -1496
- slidge_whatsapp/generated/whatsapp.go +1137 -1137
- slidge_whatsapp/generated/whatsapp.py +1216 -1216
- slidge_whatsapp/generated/whatsapp_go.h +170 -170
- slidge_whatsapp/go.mod +15 -12
- slidge_whatsapp/go.sum +35 -29
- slidge_whatsapp/media/media.go +21 -11
- 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 +36 -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/exstrings/stringutil.go +76 -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 +40 -7
- 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 +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +119 -37
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +29 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +63 -30
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +74 -34
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +61 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +188 -152
- 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 +444 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +78 -42
- 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/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/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} +184 -89
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +2 -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 +7428 -2151
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +373 -44
- 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/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 +800 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waStatusAttributions/WAStatusAttributions.proto +72 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1344 -438
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +52 -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 +563 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +4 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +25 -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 +261 -75
- 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 +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 +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 +291 -167
- 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 +107 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +13 -2
- 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 +18 -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 +47 -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 +52 -13
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/METADATA +1 -1
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/RECORD +330 -184
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.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.7.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.7.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Copyright 2009 The Go Authors.
|
|
2
|
+
|
|
3
|
+
Redistribution and use in source and binary forms, with or without
|
|
4
|
+
modification, are permitted provided that the following conditions are
|
|
5
|
+
met:
|
|
6
|
+
|
|
7
|
+
* Redistributions of source code must retain the above copyright
|
|
8
|
+
notice, this list of conditions and the following disclaimer.
|
|
9
|
+
* Redistributions in binary form must reproduce the above
|
|
10
|
+
copyright notice, this list of conditions and the following disclaimer
|
|
11
|
+
in the documentation and/or other materials provided with the
|
|
12
|
+
distribution.
|
|
13
|
+
* Neither the name of Google LLC nor the names of its
|
|
14
|
+
contributors may be used to endorse or promote products derived from
|
|
15
|
+
this software without specific prior written permission.
|
|
16
|
+
|
|
17
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
18
|
+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
19
|
+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
20
|
+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
21
|
+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
22
|
+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
23
|
+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
24
|
+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
25
|
+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
26
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
27
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Additional IP Rights Grant (Patents)
|
|
2
|
+
|
|
3
|
+
"This implementation" means the copyrightable works distributed by
|
|
4
|
+
Google as part of the Go project.
|
|
5
|
+
|
|
6
|
+
Google hereby grants to You a perpetual, worldwide, non-exclusive,
|
|
7
|
+
no-charge, royalty-free, irrevocable (except as stated in this section)
|
|
8
|
+
patent license to make, have made, use, offer to sell, sell, import,
|
|
9
|
+
transfer and otherwise run, modify and propagate the contents of this
|
|
10
|
+
implementation of Go, where such license applies only to those patent
|
|
11
|
+
claims, both currently owned or controlled by Google and acquired in
|
|
12
|
+
the future, licensable by Google that are necessarily infringed by this
|
|
13
|
+
implementation of Go. This grant does not include claims that would be
|
|
14
|
+
infringed only as a consequence of further modification of this
|
|
15
|
+
implementation. If you or your agent or exclusive licensee institute or
|
|
16
|
+
order or agree to the institution of patent litigation against any
|
|
17
|
+
entity (including a cross-claim or counterclaim in a lawsuit) alleging
|
|
18
|
+
that this implementation of Go or any code incorporated within this
|
|
19
|
+
implementation of Go constitutes direct or contributory patent
|
|
20
|
+
infringement, or inducement of patent infringement, then any patent
|
|
21
|
+
rights granted to you under this License for this implementation of Go
|
|
22
|
+
shall terminate as of the date such litigation is filed.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Copyright 2021 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Package constraints defines a set of useful constraints to be used
|
|
6
|
+
// with type parameters.
|
|
7
|
+
package constraints
|
|
8
|
+
|
|
9
|
+
import "cmp"
|
|
10
|
+
|
|
11
|
+
// Signed is a constraint that permits any signed integer type.
|
|
12
|
+
// If future releases of Go add new predeclared signed integer types,
|
|
13
|
+
// this constraint will be modified to include them.
|
|
14
|
+
type Signed interface {
|
|
15
|
+
~int | ~int8 | ~int16 | ~int32 | ~int64
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Unsigned is a constraint that permits any unsigned integer type.
|
|
19
|
+
// If future releases of Go add new predeclared unsigned integer types,
|
|
20
|
+
// this constraint will be modified to include them.
|
|
21
|
+
type Unsigned interface {
|
|
22
|
+
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// Integer is a constraint that permits any integer type.
|
|
26
|
+
// If future releases of Go add new predeclared integer types,
|
|
27
|
+
// this constraint will be modified to include them.
|
|
28
|
+
type Integer interface {
|
|
29
|
+
Signed | Unsigned
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// Float is a constraint that permits any floating-point type.
|
|
33
|
+
// If future releases of Go add new predeclared floating-point types,
|
|
34
|
+
// this constraint will be modified to include them.
|
|
35
|
+
type Float interface {
|
|
36
|
+
~float32 | ~float64
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Complex is a constraint that permits any complex numeric type.
|
|
40
|
+
// If future releases of Go add new predeclared complex numeric types,
|
|
41
|
+
// this constraint will be modified to include them.
|
|
42
|
+
type Complex interface {
|
|
43
|
+
~complex64 | ~complex128
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// Ordered is a constraint that permits any ordered type: any type
|
|
47
|
+
// that supports the operators < <= >= >.
|
|
48
|
+
// If future releases of Go add new ordered types,
|
|
49
|
+
// this constraint will be modified to include them.
|
|
50
|
+
//
|
|
51
|
+
// This type is redundant since Go 1.21 introduced [cmp.Ordered].
|
|
52
|
+
//
|
|
53
|
+
//go:fix inline
|
|
54
|
+
type Ordered = cmp.Ordered
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright 2018 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Package httpguts provides functions implementing various details
|
|
6
|
+
// of the HTTP specification.
|
|
7
|
+
//
|
|
8
|
+
// This package is shared by the standard library (which vendors it)
|
|
9
|
+
// and x/net/http2. It comes with no API stability promise.
|
|
10
|
+
package httpguts
|
|
11
|
+
|
|
12
|
+
import (
|
|
13
|
+
"net/textproto"
|
|
14
|
+
"strings"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
// ValidTrailerHeader reports whether name is a valid header field name to appear
|
|
18
|
+
// in trailers.
|
|
19
|
+
// See RFC 7230, Section 4.1.2
|
|
20
|
+
func ValidTrailerHeader(name string) bool {
|
|
21
|
+
name = textproto.CanonicalMIMEHeaderKey(name)
|
|
22
|
+
if strings.HasPrefix(name, "If-") || badTrailer[name] {
|
|
23
|
+
return false
|
|
24
|
+
}
|
|
25
|
+
return true
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
var badTrailer = map[string]bool{
|
|
29
|
+
"Authorization": true,
|
|
30
|
+
"Cache-Control": true,
|
|
31
|
+
"Connection": true,
|
|
32
|
+
"Content-Encoding": true,
|
|
33
|
+
"Content-Length": true,
|
|
34
|
+
"Content-Range": true,
|
|
35
|
+
"Content-Type": true,
|
|
36
|
+
"Expect": true,
|
|
37
|
+
"Host": true,
|
|
38
|
+
"Keep-Alive": true,
|
|
39
|
+
"Max-Forwards": true,
|
|
40
|
+
"Pragma": true,
|
|
41
|
+
"Proxy-Authenticate": true,
|
|
42
|
+
"Proxy-Authorization": true,
|
|
43
|
+
"Proxy-Connection": true,
|
|
44
|
+
"Range": true,
|
|
45
|
+
"Realm": true,
|
|
46
|
+
"Te": true,
|
|
47
|
+
"Trailer": true,
|
|
48
|
+
"Transfer-Encoding": true,
|
|
49
|
+
"Www-Authenticate": true,
|
|
50
|
+
}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
// Copyright 2016 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package httpguts
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"net"
|
|
9
|
+
"strings"
|
|
10
|
+
"unicode/utf8"
|
|
11
|
+
|
|
12
|
+
"golang.org/x/net/idna"
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
var isTokenTable = [256]bool{
|
|
16
|
+
'!': true,
|
|
17
|
+
'#': true,
|
|
18
|
+
'$': true,
|
|
19
|
+
'%': true,
|
|
20
|
+
'&': true,
|
|
21
|
+
'\'': true,
|
|
22
|
+
'*': true,
|
|
23
|
+
'+': true,
|
|
24
|
+
'-': true,
|
|
25
|
+
'.': true,
|
|
26
|
+
'0': true,
|
|
27
|
+
'1': true,
|
|
28
|
+
'2': true,
|
|
29
|
+
'3': true,
|
|
30
|
+
'4': true,
|
|
31
|
+
'5': true,
|
|
32
|
+
'6': true,
|
|
33
|
+
'7': true,
|
|
34
|
+
'8': true,
|
|
35
|
+
'9': true,
|
|
36
|
+
'A': true,
|
|
37
|
+
'B': true,
|
|
38
|
+
'C': true,
|
|
39
|
+
'D': true,
|
|
40
|
+
'E': true,
|
|
41
|
+
'F': true,
|
|
42
|
+
'G': true,
|
|
43
|
+
'H': true,
|
|
44
|
+
'I': true,
|
|
45
|
+
'J': true,
|
|
46
|
+
'K': true,
|
|
47
|
+
'L': true,
|
|
48
|
+
'M': true,
|
|
49
|
+
'N': true,
|
|
50
|
+
'O': true,
|
|
51
|
+
'P': true,
|
|
52
|
+
'Q': true,
|
|
53
|
+
'R': true,
|
|
54
|
+
'S': true,
|
|
55
|
+
'T': true,
|
|
56
|
+
'U': true,
|
|
57
|
+
'W': true,
|
|
58
|
+
'V': true,
|
|
59
|
+
'X': true,
|
|
60
|
+
'Y': true,
|
|
61
|
+
'Z': true,
|
|
62
|
+
'^': true,
|
|
63
|
+
'_': true,
|
|
64
|
+
'`': true,
|
|
65
|
+
'a': true,
|
|
66
|
+
'b': true,
|
|
67
|
+
'c': true,
|
|
68
|
+
'd': true,
|
|
69
|
+
'e': true,
|
|
70
|
+
'f': true,
|
|
71
|
+
'g': true,
|
|
72
|
+
'h': true,
|
|
73
|
+
'i': true,
|
|
74
|
+
'j': true,
|
|
75
|
+
'k': true,
|
|
76
|
+
'l': true,
|
|
77
|
+
'm': true,
|
|
78
|
+
'n': true,
|
|
79
|
+
'o': true,
|
|
80
|
+
'p': true,
|
|
81
|
+
'q': true,
|
|
82
|
+
'r': true,
|
|
83
|
+
's': true,
|
|
84
|
+
't': true,
|
|
85
|
+
'u': true,
|
|
86
|
+
'v': true,
|
|
87
|
+
'w': true,
|
|
88
|
+
'x': true,
|
|
89
|
+
'y': true,
|
|
90
|
+
'z': true,
|
|
91
|
+
'|': true,
|
|
92
|
+
'~': true,
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
func IsTokenRune(r rune) bool {
|
|
96
|
+
return r < utf8.RuneSelf && isTokenTable[byte(r)]
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
// HeaderValuesContainsToken reports whether any string in values
|
|
100
|
+
// contains the provided token, ASCII case-insensitively.
|
|
101
|
+
func HeaderValuesContainsToken(values []string, token string) bool {
|
|
102
|
+
for _, v := range values {
|
|
103
|
+
if headerValueContainsToken(v, token) {
|
|
104
|
+
return true
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return false
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// isOWS reports whether b is an optional whitespace byte, as defined
|
|
111
|
+
// by RFC 7230 section 3.2.3.
|
|
112
|
+
func isOWS(b byte) bool { return b == ' ' || b == '\t' }
|
|
113
|
+
|
|
114
|
+
// trimOWS returns x with all optional whitespace removes from the
|
|
115
|
+
// beginning and end.
|
|
116
|
+
func trimOWS(x string) string {
|
|
117
|
+
// TODO: consider using strings.Trim(x, " \t") instead,
|
|
118
|
+
// if and when it's fast enough. See issue 10292.
|
|
119
|
+
// But this ASCII-only code will probably always beat UTF-8
|
|
120
|
+
// aware code.
|
|
121
|
+
for len(x) > 0 && isOWS(x[0]) {
|
|
122
|
+
x = x[1:]
|
|
123
|
+
}
|
|
124
|
+
for len(x) > 0 && isOWS(x[len(x)-1]) {
|
|
125
|
+
x = x[:len(x)-1]
|
|
126
|
+
}
|
|
127
|
+
return x
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// headerValueContainsToken reports whether v (assumed to be a
|
|
131
|
+
// 0#element, in the ABNF extension described in RFC 7230 section 7)
|
|
132
|
+
// contains token amongst its comma-separated tokens, ASCII
|
|
133
|
+
// case-insensitively.
|
|
134
|
+
func headerValueContainsToken(v string, token string) bool {
|
|
135
|
+
for comma := strings.IndexByte(v, ','); comma != -1; comma = strings.IndexByte(v, ',') {
|
|
136
|
+
if tokenEqual(trimOWS(v[:comma]), token) {
|
|
137
|
+
return true
|
|
138
|
+
}
|
|
139
|
+
v = v[comma+1:]
|
|
140
|
+
}
|
|
141
|
+
return tokenEqual(trimOWS(v), token)
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// lowerASCII returns the ASCII lowercase version of b.
|
|
145
|
+
func lowerASCII(b byte) byte {
|
|
146
|
+
if 'A' <= b && b <= 'Z' {
|
|
147
|
+
return b + ('a' - 'A')
|
|
148
|
+
}
|
|
149
|
+
return b
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// tokenEqual reports whether t1 and t2 are equal, ASCII case-insensitively.
|
|
153
|
+
func tokenEqual(t1, t2 string) bool {
|
|
154
|
+
if len(t1) != len(t2) {
|
|
155
|
+
return false
|
|
156
|
+
}
|
|
157
|
+
for i, b := range t1 {
|
|
158
|
+
if b >= utf8.RuneSelf {
|
|
159
|
+
// No UTF-8 or non-ASCII allowed in tokens.
|
|
160
|
+
return false
|
|
161
|
+
}
|
|
162
|
+
if lowerASCII(byte(b)) != lowerASCII(t2[i]) {
|
|
163
|
+
return false
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return true
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// isLWS reports whether b is linear white space, according
|
|
170
|
+
// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
|
|
171
|
+
//
|
|
172
|
+
// LWS = [CRLF] 1*( SP | HT )
|
|
173
|
+
func isLWS(b byte) bool { return b == ' ' || b == '\t' }
|
|
174
|
+
|
|
175
|
+
// isCTL reports whether b is a control byte, according
|
|
176
|
+
// to http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2
|
|
177
|
+
//
|
|
178
|
+
// CTL = <any US-ASCII control character
|
|
179
|
+
// (octets 0 - 31) and DEL (127)>
|
|
180
|
+
func isCTL(b byte) bool {
|
|
181
|
+
const del = 0x7f // a CTL
|
|
182
|
+
return b < ' ' || b == del
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
// ValidHeaderFieldName reports whether v is a valid HTTP/1.x header name.
|
|
186
|
+
// HTTP/2 imposes the additional restriction that uppercase ASCII
|
|
187
|
+
// letters are not allowed.
|
|
188
|
+
//
|
|
189
|
+
// RFC 7230 says:
|
|
190
|
+
//
|
|
191
|
+
// header-field = field-name ":" OWS field-value OWS
|
|
192
|
+
// field-name = token
|
|
193
|
+
// token = 1*tchar
|
|
194
|
+
// tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
|
|
195
|
+
// "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
|
|
196
|
+
func ValidHeaderFieldName(v string) bool {
|
|
197
|
+
if len(v) == 0 {
|
|
198
|
+
return false
|
|
199
|
+
}
|
|
200
|
+
for i := 0; i < len(v); i++ {
|
|
201
|
+
if !isTokenTable[v[i]] {
|
|
202
|
+
return false
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return true
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// ValidHostHeader reports whether h is a valid host header.
|
|
209
|
+
func ValidHostHeader(h string) bool {
|
|
210
|
+
// The latest spec is actually this:
|
|
211
|
+
//
|
|
212
|
+
// http://tools.ietf.org/html/rfc7230#section-5.4
|
|
213
|
+
// Host = uri-host [ ":" port ]
|
|
214
|
+
//
|
|
215
|
+
// Where uri-host is:
|
|
216
|
+
// http://tools.ietf.org/html/rfc3986#section-3.2.2
|
|
217
|
+
//
|
|
218
|
+
// But we're going to be much more lenient for now and just
|
|
219
|
+
// search for any byte that's not a valid byte in any of those
|
|
220
|
+
// expressions.
|
|
221
|
+
for i := 0; i < len(h); i++ {
|
|
222
|
+
if !validHostByte[h[i]] {
|
|
223
|
+
return false
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return true
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// See the validHostHeader comment.
|
|
230
|
+
var validHostByte = [256]bool{
|
|
231
|
+
'0': true, '1': true, '2': true, '3': true, '4': true, '5': true, '6': true, '7': true,
|
|
232
|
+
'8': true, '9': true,
|
|
233
|
+
|
|
234
|
+
'a': true, 'b': true, 'c': true, 'd': true, 'e': true, 'f': true, 'g': true, 'h': true,
|
|
235
|
+
'i': true, 'j': true, 'k': true, 'l': true, 'm': true, 'n': true, 'o': true, 'p': true,
|
|
236
|
+
'q': true, 'r': true, 's': true, 't': true, 'u': true, 'v': true, 'w': true, 'x': true,
|
|
237
|
+
'y': true, 'z': true,
|
|
238
|
+
|
|
239
|
+
'A': true, 'B': true, 'C': true, 'D': true, 'E': true, 'F': true, 'G': true, 'H': true,
|
|
240
|
+
'I': true, 'J': true, 'K': true, 'L': true, 'M': true, 'N': true, 'O': true, 'P': true,
|
|
241
|
+
'Q': true, 'R': true, 'S': true, 'T': true, 'U': true, 'V': true, 'W': true, 'X': true,
|
|
242
|
+
'Y': true, 'Z': true,
|
|
243
|
+
|
|
244
|
+
'!': true, // sub-delims
|
|
245
|
+
'$': true, // sub-delims
|
|
246
|
+
'%': true, // pct-encoded (and used in IPv6 zones)
|
|
247
|
+
'&': true, // sub-delims
|
|
248
|
+
'(': true, // sub-delims
|
|
249
|
+
')': true, // sub-delims
|
|
250
|
+
'*': true, // sub-delims
|
|
251
|
+
'+': true, // sub-delims
|
|
252
|
+
',': true, // sub-delims
|
|
253
|
+
'-': true, // unreserved
|
|
254
|
+
'.': true, // unreserved
|
|
255
|
+
':': true, // IPv6address + Host expression's optional port
|
|
256
|
+
';': true, // sub-delims
|
|
257
|
+
'=': true, // sub-delims
|
|
258
|
+
'[': true,
|
|
259
|
+
'\'': true, // sub-delims
|
|
260
|
+
']': true,
|
|
261
|
+
'_': true, // unreserved
|
|
262
|
+
'~': true, // unreserved
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// ValidHeaderFieldValue reports whether v is a valid "field-value" according to
|
|
266
|
+
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :
|
|
267
|
+
//
|
|
268
|
+
// message-header = field-name ":" [ field-value ]
|
|
269
|
+
// field-value = *( field-content | LWS )
|
|
270
|
+
// field-content = <the OCTETs making up the field-value
|
|
271
|
+
// and consisting of either *TEXT or combinations
|
|
272
|
+
// of token, separators, and quoted-string>
|
|
273
|
+
//
|
|
274
|
+
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 :
|
|
275
|
+
//
|
|
276
|
+
// TEXT = <any OCTET except CTLs,
|
|
277
|
+
// but including LWS>
|
|
278
|
+
// LWS = [CRLF] 1*( SP | HT )
|
|
279
|
+
// CTL = <any US-ASCII control character
|
|
280
|
+
// (octets 0 - 31) and DEL (127)>
|
|
281
|
+
//
|
|
282
|
+
// RFC 7230 says:
|
|
283
|
+
//
|
|
284
|
+
// field-value = *( field-content / obs-fold )
|
|
285
|
+
// obj-fold = N/A to http2, and deprecated
|
|
286
|
+
// field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]
|
|
287
|
+
// field-vchar = VCHAR / obs-text
|
|
288
|
+
// obs-text = %x80-FF
|
|
289
|
+
// VCHAR = "any visible [USASCII] character"
|
|
290
|
+
//
|
|
291
|
+
// http2 further says: "Similarly, HTTP/2 allows header field values
|
|
292
|
+
// that are not valid. While most of the values that can be encoded
|
|
293
|
+
// will not alter header field parsing, carriage return (CR, ASCII
|
|
294
|
+
// 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII
|
|
295
|
+
// 0x0) might be exploited by an attacker if they are translated
|
|
296
|
+
// verbatim. Any request or response that contains a character not
|
|
297
|
+
// permitted in a header field value MUST be treated as malformed
|
|
298
|
+
// (Section 8.1.2.6). Valid characters are defined by the
|
|
299
|
+
// field-content ABNF rule in Section 3.2 of [RFC7230]."
|
|
300
|
+
//
|
|
301
|
+
// This function does not (yet?) properly handle the rejection of
|
|
302
|
+
// strings that begin or end with SP or HTAB.
|
|
303
|
+
func ValidHeaderFieldValue(v string) bool {
|
|
304
|
+
for i := 0; i < len(v); i++ {
|
|
305
|
+
b := v[i]
|
|
306
|
+
if isCTL(b) && !isLWS(b) {
|
|
307
|
+
return false
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
return true
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
func isASCII(s string) bool {
|
|
314
|
+
for i := 0; i < len(s); i++ {
|
|
315
|
+
if s[i] >= utf8.RuneSelf {
|
|
316
|
+
return false
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
return true
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
// PunycodeHostPort returns the IDNA Punycode version
|
|
323
|
+
// of the provided "host" or "host:port" string.
|
|
324
|
+
func PunycodeHostPort(v string) (string, error) {
|
|
325
|
+
if isASCII(v) {
|
|
326
|
+
return v, nil
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
host, port, err := net.SplitHostPort(v)
|
|
330
|
+
if err != nil {
|
|
331
|
+
// The input 'v' argument was just a "host" argument,
|
|
332
|
+
// without a port. This error should not be returned
|
|
333
|
+
// to the caller.
|
|
334
|
+
host = v
|
|
335
|
+
port = ""
|
|
336
|
+
}
|
|
337
|
+
host, err = idna.ToASCII(host)
|
|
338
|
+
if err != nil {
|
|
339
|
+
// Non-UTF-8? Not representable in Punycode, in any
|
|
340
|
+
// case.
|
|
341
|
+
return "", err
|
|
342
|
+
}
|
|
343
|
+
if port == "" {
|
|
344
|
+
return host, nil
|
|
345
|
+
}
|
|
346
|
+
return net.JoinHostPort(host, port), nil
|
|
347
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright 2021 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package http2
|
|
6
|
+
|
|
7
|
+
import "strings"
|
|
8
|
+
|
|
9
|
+
// The HTTP protocols are defined in terms of ASCII, not Unicode. This file
|
|
10
|
+
// contains helper functions which may use Unicode-aware functions which would
|
|
11
|
+
// otherwise be unsafe and could introduce vulnerabilities if used improperly.
|
|
12
|
+
|
|
13
|
+
// asciiEqualFold is strings.EqualFold, ASCII only. It reports whether s and t
|
|
14
|
+
// are equal, ASCII-case-insensitively.
|
|
15
|
+
func asciiEqualFold(s, t string) bool {
|
|
16
|
+
if len(s) != len(t) {
|
|
17
|
+
return false
|
|
18
|
+
}
|
|
19
|
+
for i := 0; i < len(s); i++ {
|
|
20
|
+
if lower(s[i]) != lower(t[i]) {
|
|
21
|
+
return false
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return true
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// lower returns the ASCII lowercase version of b.
|
|
28
|
+
func lower(b byte) byte {
|
|
29
|
+
if 'A' <= b && b <= 'Z' {
|
|
30
|
+
return b + ('a' - 'A')
|
|
31
|
+
}
|
|
32
|
+
return b
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// isASCIIPrint returns whether s is ASCII and printable according to
|
|
36
|
+
// https://tools.ietf.org/html/rfc20#section-4.2.
|
|
37
|
+
func isASCIIPrint(s string) bool {
|
|
38
|
+
for i := 0; i < len(s); i++ {
|
|
39
|
+
if s[i] < ' ' || s[i] > '~' {
|
|
40
|
+
return false
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return true
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// asciiToLower returns the lowercase version of s if s is ASCII and printable,
|
|
47
|
+
// and whether or not it was.
|
|
48
|
+
func asciiToLower(s string) (lower string, ok bool) {
|
|
49
|
+
if !isASCIIPrint(s) {
|
|
50
|
+
return "", false
|
|
51
|
+
}
|
|
52
|
+
return strings.ToLower(s), true
|
|
53
|
+
}
|