slidge-whatsapp 0.2.5__cp312-cp312-manylinux_2_36_aarch64.whl → 0.2.6__cp312-cp312-manylinux_2_36_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of slidge-whatsapp might be problematic. Click here for more details.
- slidge_whatsapp/config.py +3 -0
- slidge_whatsapp/event.go +23 -24
- slidge_whatsapp/gateway.go +13 -9
- slidge_whatsapp/gateway.py +2 -2
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.h +169 -169
- slidge_whatsapp/generated/_whatsapp.cpython-312-aarch64-linux-gnu.so +0 -0
- slidge_whatsapp/generated/build.py +135 -135
- slidge_whatsapp/generated/whatsapp.c +1455 -1455
- slidge_whatsapp/generated/whatsapp.go +737 -737
- slidge_whatsapp/generated/whatsapp.py +1038 -1038
- slidge_whatsapp/generated/whatsapp_go.h +169 -169
- slidge_whatsapp/go.mod +15 -12
- slidge_whatsapp/go.sum +41 -29
- slidge_whatsapp/media/media.go +16 -10
- slidge_whatsapp/session.go +73 -66
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn.go +4 -4
- slidge_whatsapp/vendor/github.com/ebitengine/purego/dlfcn_darwin.go +0 -5
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/go_libinit.go +3 -0
- slidge_whatsapp/vendor/github.com/ebitengine/purego/internal/fakecgo/symbols.go +40 -20
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/CHANGELOG.md +14 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/ffi.go +2 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/fun.go +10 -2
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_unix.go +1 -1
- slidge_whatsapp/vendor/github.com/jupiterrider/ffi/lib_windows.go +1 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/README.md +2 -7
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/callback.go +2 -1
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c +8510 -5090
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h +344 -150
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3.go +57 -23
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.c +4 -0
- slidge_whatsapp/vendor/github.com/mattn/go-sqlite3/sqlite3_opt_unlock_notify.go +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/.gitignore +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/LICENSE +202 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/README.md +4 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_gccgo.go +26 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.c +23 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.3.go +22 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.go +35 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.4.s +18 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.go +28 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_go1.5.s +44 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/goid_slow.go +24 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_gccgo_go1.8.go +17 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.23.go +38 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.5.go +57 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.6.go +43 -0
- slidge_whatsapp/vendor/github.com/petermattis/goid/runtime_go1.9.go +37 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/CONTRIBUTING.md +43 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/README.md +31 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/console.go +20 -5
- slidge_whatsapp/vendor/github.com/rs/zerolog/log/log.go +131 -0
- slidge_whatsapp/vendor/github.com/rs/zerolog/log.go +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/sampler.go +4 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/writer.go +9 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupCipher.go +17 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/GroupSessionBuilder.go +17 -7
- slidge_whatsapp/vendor/go.mau.fi/libsignal/groups/state/store/SenderKeyStore.go +4 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/chain/ChainKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/keys/identity/IdentityKey.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/libsignal/logger/DefaultLogger.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/FingerprintProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/LocalStorageProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/serialize/WhisperTextProtocol.pb.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/Session.go +41 -17
- slidge_whatsapp/vendor/go.mau.fi/libsignal/session/SessionCipher.go +64 -30
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/IdentityKeyStore.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/MessageKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/PreKeyStore.go +6 -4
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SessionStore.go +8 -6
- slidge_whatsapp/vendor/go.mau.fi/libsignal/state/store/SignedPreKeyStore.go +7 -5
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/connlog.go +257 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/database.go +309 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/iter.go +233 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/json.go +47 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/log.go +129 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/massinsert.go +164 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/queryhelper.go +137 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/reflectscan.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/transaction.go +180 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgrades.go +250 -0
- slidge_whatsapp/vendor/go.mau.fi/util/dbutil/upgradetable.go +331 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/dualerror.go +33 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exerrors/must.go +23 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/cors.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/handleerrors.go +64 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/json.go +41 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/middleware.go +30 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exhttp/networkerror.go +37 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/event.go +88 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/returnonce.go +25 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/ringbuffer.go +139 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncmap.go +94 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exsync/syncset.go +136 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/callermarshal.go +28 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/defaults.go +32 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/generics.go +45 -0
- slidge_whatsapp/vendor/go.mau.fi/util/exzerolog/writer.go +81 -0
- slidge_whatsapp/vendor/go.mau.fi/util/ptr/ptr.go +43 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/decode.go +27 -26
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/encode.go +4 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate/keys.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/appstate.go +27 -25
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/armadillomessage.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/broadcast.go +5 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/client.go +60 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/connectionevents.go +25 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download-to-file.go +45 -19
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/download.go +52 -28
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/errors.go +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/group.go +59 -29
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/internals.go +166 -146
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/keepalive.go +2 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaconn.go +5 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/mediaretry.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/message.go +270 -111
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/msgsecret.go +118 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/notification.go +67 -36
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair-code.go +7 -4
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/pair.go +42 -18
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/prekeys.go +9 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/presence.go +2 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/privacysettings.go +10 -11
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.go +354 -175
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.proto +5 -5
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.go +158 -15
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.go +29 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.go +13 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.go +344 -31
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.proto +26 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.pb.go → WACompanionReg.pb.go} +170 -84
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/{WAWebProtobufsCompanionReg.proto → WACompanionReg.proto} +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.go +173 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.go +78 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.proto +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.go +6747 -2230
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.proto +294 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.go +456 -135
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.proto +14 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.go +162 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.go +32 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.proto +1 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.go +192 -52
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.go +60 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.go +39 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.go +61 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.go +1051 -382
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.proto +32 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.go +27 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.go +59 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.go +382 -78
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.proto +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.go +555 -9
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.proto +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/receipt.go +13 -3
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/retry.go +29 -19
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/send.go +244 -73
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/sendfb.go +27 -16
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/clientpayload.go +3 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/noop.go +85 -43
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/signal.go +75 -88
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/container.go +79 -61
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/lidmap.go +186 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/store.go +291 -167
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/00-latest-schema.sql +153 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/03-message-secrets.sql +11 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/04-privacy-tokens.sql +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/05-account-jid-format.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/06-facebook-uuid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/07-account-lid.sql +2 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/08-lid-mapping.sql +5 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/09-decryption-buffer.sql +10 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrades/upgrades.go +22 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/store.go +105 -56
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/botmap.go +210 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/events/events.go +8 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/group.go +15 -6
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/jid.go +7 -8
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/types/message.go +17 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/update.go +3 -2
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/upload.go +1 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/user.go +45 -29
- slidge_whatsapp/vendor/golang.org/x/exp/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/exp/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/exp/constraints/constraints.go +54 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/guts.go +50 -0
- slidge_whatsapp/vendor/golang.org/x/net/http/httpguts/httplex.go +347 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/.gitignore +2 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/client_conn_pool.go +311 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config.go +122 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_go124.go +61 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/config_pre_go124.go +16 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/databuffer.go +149 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/errors.go +145 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/flow.go +120 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/frame.go +1702 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/gotrack.go +170 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/encode.go +245 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/hpack.go +523 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/huffman.go +226 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/static_table.go +188 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/hpack/tables.go +403 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/http2.go +432 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/pipe.go +184 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/server.go +3350 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/timer.go +20 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/transport.go +3287 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/unencrypted.go +32 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/write.go +381 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched.go +251 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_priority.go +451 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_random.go +77 -0
- slidge_whatsapp/vendor/golang.org/x/net/http2/writesched_roundrobin.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/go118.go +13 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna10.0.0.go +769 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/idna9.0.0.go +717 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/pre_go118.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/punycode.go +217 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables10.0.0.go +4559 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables11.0.0.go +4653 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables12.0.0.go +4733 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables13.0.0.go +4959 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables15.0.0.go +5144 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/tables9.0.0.go +4486 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie.go +51 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie12.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trie13.0.0.go +30 -0
- slidge_whatsapp/vendor/golang.org/x/net/idna/trieval.go +119 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/ascii.go +53 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/headermap.go +115 -0
- slidge_whatsapp/vendor/golang.org/x/net/internal/httpcommon/request.go +467 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_darwin.go +148 -1
- slidge_whatsapp/vendor/golang.org/x/sys/unix/syscall_linux.go +16 -26
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +84 -0
- slidge_whatsapp/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +20 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/security_windows.go +44 -5
- slidge_whatsapp/vendor/golang.org/x/sys/windows/syscall_windows.go +4 -2
- slidge_whatsapp/vendor/golang.org/x/sys/windows/types_windows.go +239 -0
- slidge_whatsapp/vendor/golang.org/x/sys/windows/zsyscall_windows.go +9 -0
- slidge_whatsapp/vendor/golang.org/x/text/LICENSE +27 -0
- slidge_whatsapp/vendor/golang.org/x/text/PATENTS +22 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule.go +336 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go +11 -0
- slidge_whatsapp/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go +14 -0
- slidge_whatsapp/vendor/golang.org/x/text/transform/transform.go +709 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bidi.go +359 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/core.go +1071 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go +1815 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go +1887 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go +1923 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go +1955 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go +2042 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go +1781 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/bidi/trieval.go +48 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/composition.go +512 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/forminfo.go +279 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/iter.go +458 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/normalize.go +610 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go +7657 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go +7693 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go +7710 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go +7760 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go +7907 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go +7637 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- slidge_whatsapp/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb +0 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/filedesc/editions.go +3 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +16 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe_go121.go → strings_unsafe.go} +0 -2
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/version/version.go +1 -1
- slidge_whatsapp/vendor/google.golang.org/protobuf/proto/merge.go +6 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +2 -0
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe_go121.go → value_unsafe.go} +0 -2
- slidge_whatsapp/vendor/modules.txt +38 -13
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/METADATA +1 -1
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/RECORD +293 -180
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/WHEEL +1 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/CNAME +0 -1
- slidge_whatsapp/vendor/github.com/rs/zerolog/_config.yml +0 -1
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waAdv/WAAdv.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloApplication/WAArmadilloApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waArmadilloXMA/WAArmadilloXMA.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCert/WACert.pb.raw +0 -23
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waChatLockSettings/WAProtobufsChatLockSettings.pb.raw +0 -7
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCommon/WACommon.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waCompanionReg/WAWebProtobufsCompanionReg.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waConsumerApplication/WAConsumerApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waDeviceCapabilities/WAProtobufsDeviceCapabilities.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waE2E/WAWebProtobufsE2E.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waHistorySync/WAWebProtobufsHistorySync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMediaTransport/WAMediaTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMmsRetry/WAMmsRetry.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgApplication/WAMsgApplication.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMsgTransport/WAMsgTransport.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waMultiDevice/WAMultiDevice.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waServerSync/WAServerSync.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waSyncAction/WASyncAction.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waUserPassword/WAProtobufsUserPassword.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waVnameCert/WAWebProtobufsVnameCert.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWa6/WAWebProtobufsWa6.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/proto/waWeb/WAWebProtobufsWeb.pb.raw +0 -0
- slidge_whatsapp/vendor/go.mau.fi/whatsmeow/store/sqlstore/upgrade.go +0 -296
- slidge_whatsapp/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go +0 -94
- slidge_whatsapp/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go +0 -98
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/LICENSE +0 -0
- {slidge_whatsapp-0.2.5.dist-info → slidge_whatsapp-0.2.6.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
// Copyright 2014 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
|
+
// Defensive debug-only utility to track that functions run on the
|
|
6
|
+
// goroutine that they're supposed to.
|
|
7
|
+
|
|
8
|
+
package http2
|
|
9
|
+
|
|
10
|
+
import (
|
|
11
|
+
"bytes"
|
|
12
|
+
"errors"
|
|
13
|
+
"fmt"
|
|
14
|
+
"os"
|
|
15
|
+
"runtime"
|
|
16
|
+
"strconv"
|
|
17
|
+
"sync"
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
var DebugGoroutines = os.Getenv("DEBUG_HTTP2_GOROUTINES") == "1"
|
|
21
|
+
|
|
22
|
+
type goroutineLock uint64
|
|
23
|
+
|
|
24
|
+
func newGoroutineLock() goroutineLock {
|
|
25
|
+
if !DebugGoroutines {
|
|
26
|
+
return 0
|
|
27
|
+
}
|
|
28
|
+
return goroutineLock(curGoroutineID())
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
func (g goroutineLock) check() {
|
|
32
|
+
if !DebugGoroutines {
|
|
33
|
+
return
|
|
34
|
+
}
|
|
35
|
+
if curGoroutineID() != uint64(g) {
|
|
36
|
+
panic("running on the wrong goroutine")
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
func (g goroutineLock) checkNotOn() {
|
|
41
|
+
if !DebugGoroutines {
|
|
42
|
+
return
|
|
43
|
+
}
|
|
44
|
+
if curGoroutineID() == uint64(g) {
|
|
45
|
+
panic("running on the wrong goroutine")
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
var goroutineSpace = []byte("goroutine ")
|
|
50
|
+
|
|
51
|
+
func curGoroutineID() uint64 {
|
|
52
|
+
bp := littleBuf.Get().(*[]byte)
|
|
53
|
+
defer littleBuf.Put(bp)
|
|
54
|
+
b := *bp
|
|
55
|
+
b = b[:runtime.Stack(b, false)]
|
|
56
|
+
// Parse the 4707 out of "goroutine 4707 ["
|
|
57
|
+
b = bytes.TrimPrefix(b, goroutineSpace)
|
|
58
|
+
i := bytes.IndexByte(b, ' ')
|
|
59
|
+
if i < 0 {
|
|
60
|
+
panic(fmt.Sprintf("No space found in %q", b))
|
|
61
|
+
}
|
|
62
|
+
b = b[:i]
|
|
63
|
+
n, err := parseUintBytes(b, 10, 64)
|
|
64
|
+
if err != nil {
|
|
65
|
+
panic(fmt.Sprintf("Failed to parse goroutine ID out of %q: %v", b, err))
|
|
66
|
+
}
|
|
67
|
+
return n
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
var littleBuf = sync.Pool{
|
|
71
|
+
New: func() interface{} {
|
|
72
|
+
buf := make([]byte, 64)
|
|
73
|
+
return &buf
|
|
74
|
+
},
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// parseUintBytes is like strconv.ParseUint, but using a []byte.
|
|
78
|
+
func parseUintBytes(s []byte, base int, bitSize int) (n uint64, err error) {
|
|
79
|
+
var cutoff, maxVal uint64
|
|
80
|
+
|
|
81
|
+
if bitSize == 0 {
|
|
82
|
+
bitSize = int(strconv.IntSize)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
s0 := s
|
|
86
|
+
switch {
|
|
87
|
+
case len(s) < 1:
|
|
88
|
+
err = strconv.ErrSyntax
|
|
89
|
+
goto Error
|
|
90
|
+
|
|
91
|
+
case 2 <= base && base <= 36:
|
|
92
|
+
// valid base; nothing to do
|
|
93
|
+
|
|
94
|
+
case base == 0:
|
|
95
|
+
// Look for octal, hex prefix.
|
|
96
|
+
switch {
|
|
97
|
+
case s[0] == '0' && len(s) > 1 && (s[1] == 'x' || s[1] == 'X'):
|
|
98
|
+
base = 16
|
|
99
|
+
s = s[2:]
|
|
100
|
+
if len(s) < 1 {
|
|
101
|
+
err = strconv.ErrSyntax
|
|
102
|
+
goto Error
|
|
103
|
+
}
|
|
104
|
+
case s[0] == '0':
|
|
105
|
+
base = 8
|
|
106
|
+
default:
|
|
107
|
+
base = 10
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
default:
|
|
111
|
+
err = errors.New("invalid base " + strconv.Itoa(base))
|
|
112
|
+
goto Error
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
n = 0
|
|
116
|
+
cutoff = cutoff64(base)
|
|
117
|
+
maxVal = 1<<uint(bitSize) - 1
|
|
118
|
+
|
|
119
|
+
for i := 0; i < len(s); i++ {
|
|
120
|
+
var v byte
|
|
121
|
+
d := s[i]
|
|
122
|
+
switch {
|
|
123
|
+
case '0' <= d && d <= '9':
|
|
124
|
+
v = d - '0'
|
|
125
|
+
case 'a' <= d && d <= 'z':
|
|
126
|
+
v = d - 'a' + 10
|
|
127
|
+
case 'A' <= d && d <= 'Z':
|
|
128
|
+
v = d - 'A' + 10
|
|
129
|
+
default:
|
|
130
|
+
n = 0
|
|
131
|
+
err = strconv.ErrSyntax
|
|
132
|
+
goto Error
|
|
133
|
+
}
|
|
134
|
+
if int(v) >= base {
|
|
135
|
+
n = 0
|
|
136
|
+
err = strconv.ErrSyntax
|
|
137
|
+
goto Error
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
if n >= cutoff {
|
|
141
|
+
// n*base overflows
|
|
142
|
+
n = 1<<64 - 1
|
|
143
|
+
err = strconv.ErrRange
|
|
144
|
+
goto Error
|
|
145
|
+
}
|
|
146
|
+
n *= uint64(base)
|
|
147
|
+
|
|
148
|
+
n1 := n + uint64(v)
|
|
149
|
+
if n1 < n || n1 > maxVal {
|
|
150
|
+
// n+v overflows
|
|
151
|
+
n = 1<<64 - 1
|
|
152
|
+
err = strconv.ErrRange
|
|
153
|
+
goto Error
|
|
154
|
+
}
|
|
155
|
+
n = n1
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
return n, nil
|
|
159
|
+
|
|
160
|
+
Error:
|
|
161
|
+
return n, &strconv.NumError{Func: "ParseUint", Num: string(s0), Err: err}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// Return the first number n such that n*base >= 1<<64.
|
|
165
|
+
func cutoff64(base int) uint64 {
|
|
166
|
+
if base < 2 {
|
|
167
|
+
return 0
|
|
168
|
+
}
|
|
169
|
+
return (1<<64-1)/uint64(base) + 1
|
|
170
|
+
}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
// Copyright 2014 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 hpack
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"io"
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
const (
|
|
12
|
+
uint32Max = ^uint32(0)
|
|
13
|
+
initialHeaderTableSize = 4096
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
type Encoder struct {
|
|
17
|
+
dynTab dynamicTable
|
|
18
|
+
// minSize is the minimum table size set by
|
|
19
|
+
// SetMaxDynamicTableSize after the previous Header Table Size
|
|
20
|
+
// Update.
|
|
21
|
+
minSize uint32
|
|
22
|
+
// maxSizeLimit is the maximum table size this encoder
|
|
23
|
+
// supports. This will protect the encoder from too large
|
|
24
|
+
// size.
|
|
25
|
+
maxSizeLimit uint32
|
|
26
|
+
// tableSizeUpdate indicates whether "Header Table Size
|
|
27
|
+
// Update" is required.
|
|
28
|
+
tableSizeUpdate bool
|
|
29
|
+
w io.Writer
|
|
30
|
+
buf []byte
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// NewEncoder returns a new Encoder which performs HPACK encoding. An
|
|
34
|
+
// encoded data is written to w.
|
|
35
|
+
func NewEncoder(w io.Writer) *Encoder {
|
|
36
|
+
e := &Encoder{
|
|
37
|
+
minSize: uint32Max,
|
|
38
|
+
maxSizeLimit: initialHeaderTableSize,
|
|
39
|
+
tableSizeUpdate: false,
|
|
40
|
+
w: w,
|
|
41
|
+
}
|
|
42
|
+
e.dynTab.table.init()
|
|
43
|
+
e.dynTab.setMaxSize(initialHeaderTableSize)
|
|
44
|
+
return e
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// WriteField encodes f into a single Write to e's underlying Writer.
|
|
48
|
+
// This function may also produce bytes for "Header Table Size Update"
|
|
49
|
+
// if necessary. If produced, it is done before encoding f.
|
|
50
|
+
func (e *Encoder) WriteField(f HeaderField) error {
|
|
51
|
+
e.buf = e.buf[:0]
|
|
52
|
+
|
|
53
|
+
if e.tableSizeUpdate {
|
|
54
|
+
e.tableSizeUpdate = false
|
|
55
|
+
if e.minSize < e.dynTab.maxSize {
|
|
56
|
+
e.buf = appendTableSize(e.buf, e.minSize)
|
|
57
|
+
}
|
|
58
|
+
e.minSize = uint32Max
|
|
59
|
+
e.buf = appendTableSize(e.buf, e.dynTab.maxSize)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
idx, nameValueMatch := e.searchTable(f)
|
|
63
|
+
if nameValueMatch {
|
|
64
|
+
e.buf = appendIndexed(e.buf, idx)
|
|
65
|
+
} else {
|
|
66
|
+
indexing := e.shouldIndex(f)
|
|
67
|
+
if indexing {
|
|
68
|
+
e.dynTab.add(f)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if idx == 0 {
|
|
72
|
+
e.buf = appendNewName(e.buf, f, indexing)
|
|
73
|
+
} else {
|
|
74
|
+
e.buf = appendIndexedName(e.buf, f, idx, indexing)
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
n, err := e.w.Write(e.buf)
|
|
78
|
+
if err == nil && n != len(e.buf) {
|
|
79
|
+
err = io.ErrShortWrite
|
|
80
|
+
}
|
|
81
|
+
return err
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// searchTable searches f in both stable and dynamic header tables.
|
|
85
|
+
// The static header table is searched first. Only when there is no
|
|
86
|
+
// exact match for both name and value, the dynamic header table is
|
|
87
|
+
// then searched. If there is no match, i is 0. If both name and value
|
|
88
|
+
// match, i is the matched index and nameValueMatch becomes true. If
|
|
89
|
+
// only name matches, i points to that index and nameValueMatch
|
|
90
|
+
// becomes false.
|
|
91
|
+
func (e *Encoder) searchTable(f HeaderField) (i uint64, nameValueMatch bool) {
|
|
92
|
+
i, nameValueMatch = staticTable.search(f)
|
|
93
|
+
if nameValueMatch {
|
|
94
|
+
return i, true
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
j, nameValueMatch := e.dynTab.table.search(f)
|
|
98
|
+
if nameValueMatch || (i == 0 && j != 0) {
|
|
99
|
+
return j + uint64(staticTable.len()), nameValueMatch
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return i, false
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// SetMaxDynamicTableSize changes the dynamic header table size to v.
|
|
106
|
+
// The actual size is bounded by the value passed to
|
|
107
|
+
// SetMaxDynamicTableSizeLimit.
|
|
108
|
+
func (e *Encoder) SetMaxDynamicTableSize(v uint32) {
|
|
109
|
+
if v > e.maxSizeLimit {
|
|
110
|
+
v = e.maxSizeLimit
|
|
111
|
+
}
|
|
112
|
+
if v < e.minSize {
|
|
113
|
+
e.minSize = v
|
|
114
|
+
}
|
|
115
|
+
e.tableSizeUpdate = true
|
|
116
|
+
e.dynTab.setMaxSize(v)
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// MaxDynamicTableSize returns the current dynamic header table size.
|
|
120
|
+
func (e *Encoder) MaxDynamicTableSize() (v uint32) {
|
|
121
|
+
return e.dynTab.maxSize
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// SetMaxDynamicTableSizeLimit changes the maximum value that can be
|
|
125
|
+
// specified in SetMaxDynamicTableSize to v. By default, it is set to
|
|
126
|
+
// 4096, which is the same size of the default dynamic header table
|
|
127
|
+
// size described in HPACK specification. If the current maximum
|
|
128
|
+
// dynamic header table size is strictly greater than v, "Header Table
|
|
129
|
+
// Size Update" will be done in the next WriteField call and the
|
|
130
|
+
// maximum dynamic header table size is truncated to v.
|
|
131
|
+
func (e *Encoder) SetMaxDynamicTableSizeLimit(v uint32) {
|
|
132
|
+
e.maxSizeLimit = v
|
|
133
|
+
if e.dynTab.maxSize > v {
|
|
134
|
+
e.tableSizeUpdate = true
|
|
135
|
+
e.dynTab.setMaxSize(v)
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// shouldIndex reports whether f should be indexed.
|
|
140
|
+
func (e *Encoder) shouldIndex(f HeaderField) bool {
|
|
141
|
+
return !f.Sensitive && f.Size() <= e.dynTab.maxSize
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// appendIndexed appends index i, as encoded in "Indexed Header Field"
|
|
145
|
+
// representation, to dst and returns the extended buffer.
|
|
146
|
+
func appendIndexed(dst []byte, i uint64) []byte {
|
|
147
|
+
first := len(dst)
|
|
148
|
+
dst = appendVarInt(dst, 7, i)
|
|
149
|
+
dst[first] |= 0x80
|
|
150
|
+
return dst
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// appendNewName appends f, as encoded in one of "Literal Header field
|
|
154
|
+
// - New Name" representation variants, to dst and returns the
|
|
155
|
+
// extended buffer.
|
|
156
|
+
//
|
|
157
|
+
// If f.Sensitive is true, "Never Indexed" representation is used. If
|
|
158
|
+
// f.Sensitive is false and indexing is true, "Incremental Indexing"
|
|
159
|
+
// representation is used.
|
|
160
|
+
func appendNewName(dst []byte, f HeaderField, indexing bool) []byte {
|
|
161
|
+
dst = append(dst, encodeTypeByte(indexing, f.Sensitive))
|
|
162
|
+
dst = appendHpackString(dst, f.Name)
|
|
163
|
+
return appendHpackString(dst, f.Value)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// appendIndexedName appends f and index i referring indexed name
|
|
167
|
+
// entry, as encoded in one of "Literal Header field - Indexed Name"
|
|
168
|
+
// representation variants, to dst and returns the extended buffer.
|
|
169
|
+
//
|
|
170
|
+
// If f.Sensitive is true, "Never Indexed" representation is used. If
|
|
171
|
+
// f.Sensitive is false and indexing is true, "Incremental Indexing"
|
|
172
|
+
// representation is used.
|
|
173
|
+
func appendIndexedName(dst []byte, f HeaderField, i uint64, indexing bool) []byte {
|
|
174
|
+
first := len(dst)
|
|
175
|
+
var n byte
|
|
176
|
+
if indexing {
|
|
177
|
+
n = 6
|
|
178
|
+
} else {
|
|
179
|
+
n = 4
|
|
180
|
+
}
|
|
181
|
+
dst = appendVarInt(dst, n, i)
|
|
182
|
+
dst[first] |= encodeTypeByte(indexing, f.Sensitive)
|
|
183
|
+
return appendHpackString(dst, f.Value)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// appendTableSize appends v, as encoded in "Header Table Size Update"
|
|
187
|
+
// representation, to dst and returns the extended buffer.
|
|
188
|
+
func appendTableSize(dst []byte, v uint32) []byte {
|
|
189
|
+
first := len(dst)
|
|
190
|
+
dst = appendVarInt(dst, 5, uint64(v))
|
|
191
|
+
dst[first] |= 0x20
|
|
192
|
+
return dst
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// appendVarInt appends i, as encoded in variable integer form using n
|
|
196
|
+
// bit prefix, to dst and returns the extended buffer.
|
|
197
|
+
//
|
|
198
|
+
// See
|
|
199
|
+
// https://httpwg.org/specs/rfc7541.html#integer.representation
|
|
200
|
+
func appendVarInt(dst []byte, n byte, i uint64) []byte {
|
|
201
|
+
k := uint64((1 << n) - 1)
|
|
202
|
+
if i < k {
|
|
203
|
+
return append(dst, byte(i))
|
|
204
|
+
}
|
|
205
|
+
dst = append(dst, byte(k))
|
|
206
|
+
i -= k
|
|
207
|
+
for ; i >= 128; i >>= 7 {
|
|
208
|
+
dst = append(dst, byte(0x80|(i&0x7f)))
|
|
209
|
+
}
|
|
210
|
+
return append(dst, byte(i))
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
// appendHpackString appends s, as encoded in "String Literal"
|
|
214
|
+
// representation, to dst and returns the extended buffer.
|
|
215
|
+
//
|
|
216
|
+
// s will be encoded in Huffman codes only when it produces strictly
|
|
217
|
+
// shorter byte string.
|
|
218
|
+
func appendHpackString(dst []byte, s string) []byte {
|
|
219
|
+
huffmanLength := HuffmanEncodeLength(s)
|
|
220
|
+
if huffmanLength < uint64(len(s)) {
|
|
221
|
+
first := len(dst)
|
|
222
|
+
dst = appendVarInt(dst, 7, huffmanLength)
|
|
223
|
+
dst = AppendHuffmanString(dst, s)
|
|
224
|
+
dst[first] |= 0x80
|
|
225
|
+
} else {
|
|
226
|
+
dst = appendVarInt(dst, 7, uint64(len(s)))
|
|
227
|
+
dst = append(dst, s...)
|
|
228
|
+
}
|
|
229
|
+
return dst
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// encodeTypeByte returns type byte. If sensitive is true, type byte
|
|
233
|
+
// for "Never Indexed" representation is returned. If sensitive is
|
|
234
|
+
// false and indexing is true, type byte for "Incremental Indexing"
|
|
235
|
+
// representation is returned. Otherwise, type byte for "Without
|
|
236
|
+
// Indexing" is returned.
|
|
237
|
+
func encodeTypeByte(indexing, sensitive bool) byte {
|
|
238
|
+
if sensitive {
|
|
239
|
+
return 0x10
|
|
240
|
+
}
|
|
241
|
+
if indexing {
|
|
242
|
+
return 0x40
|
|
243
|
+
}
|
|
244
|
+
return 0
|
|
245
|
+
}
|