mirror of
https://github.com/mjl-/mox.git
synced 2025-06-28 07:08:14 +03:00

to compress the entire IMAP connection. tested with thunderbird, meli, k9, ios mail. the initial implementation had interoperability issues with some of these clients: if they write the deflate stream and flush in "partial mode", the go stdlib flate reader does not return any data (until there is an explicit zero-length "sync flush" block, or until the history/sliding window is full), blocking progress, resulting in clients closing the seemingly stuck connection after considering the connection timed out. this includes a coy of the flate package with a new reader that returns partially flushed blocks earlier. this also adds imap trace logging to imapclient.Conn, which was useful for debugging.
184 lines
5.9 KiB
Plaintext
184 lines
5.9 KiB
Plaintext
# github.com/beorn7/perks v1.0.1
|
|
## explicit; go 1.11
|
|
github.com/beorn7/perks/quantile
|
|
# github.com/cespare/xxhash/v2 v2.2.0
|
|
## explicit; go 1.11
|
|
github.com/cespare/xxhash/v2
|
|
# github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0
|
|
## explicit; go 1.19
|
|
github.com/matttproud/golang_protobuf_extensions/v2/pbutil
|
|
# github.com/mjl-/adns v0.0.0-20240509092456-2dc8715bf4af
|
|
## explicit; go 1.20
|
|
github.com/mjl-/adns
|
|
github.com/mjl-/adns/internal/bytealg
|
|
github.com/mjl-/adns/internal/itoa
|
|
github.com/mjl-/adns/internal/singleflight
|
|
# github.com/mjl-/autocert v0.0.0-20231214125928-31b7400acb05
|
|
## explicit; go 1.20
|
|
github.com/mjl-/autocert
|
|
# github.com/mjl-/bstore v0.0.6
|
|
## explicit; go 1.19
|
|
github.com/mjl-/bstore
|
|
# github.com/mjl-/flate v0.0.0-20250221133712-6372d09eb978
|
|
## explicit; go 1.21
|
|
github.com/mjl-/flate
|
|
# github.com/mjl-/sconf v0.0.7
|
|
## explicit; go 1.12
|
|
github.com/mjl-/sconf
|
|
# github.com/mjl-/sherpa v0.6.7
|
|
## explicit; go 1.12
|
|
github.com/mjl-/sherpa
|
|
# github.com/mjl-/sherpadoc v0.0.16
|
|
## explicit; go 1.16
|
|
github.com/mjl-/sherpadoc
|
|
github.com/mjl-/sherpadoc/cmd/sherpadoc
|
|
# github.com/mjl-/sherpaprom v0.0.2
|
|
## explicit; go 1.12
|
|
github.com/mjl-/sherpaprom
|
|
# github.com/mjl-/sherpats v0.0.6
|
|
## explicit; go 1.12
|
|
github.com/mjl-/sherpats
|
|
github.com/mjl-/sherpats/cmd/sherpats
|
|
# github.com/mjl-/xfmt v0.0.2
|
|
## explicit; go 1.12
|
|
github.com/mjl-/xfmt
|
|
# github.com/prometheus/client_golang v1.18.0
|
|
## explicit; go 1.19
|
|
github.com/prometheus/client_golang/prometheus
|
|
github.com/prometheus/client_golang/prometheus/internal
|
|
github.com/prometheus/client_golang/prometheus/promauto
|
|
github.com/prometheus/client_golang/prometheus/promhttp
|
|
# github.com/prometheus/client_model v0.5.0
|
|
## explicit; go 1.19
|
|
github.com/prometheus/client_model/go
|
|
# github.com/prometheus/common v0.45.0
|
|
## explicit; go 1.20
|
|
github.com/prometheus/common/expfmt
|
|
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
|
|
github.com/prometheus/common/model
|
|
# github.com/prometheus/procfs v0.12.0
|
|
## explicit; go 1.19
|
|
github.com/prometheus/procfs
|
|
github.com/prometheus/procfs/internal/fs
|
|
github.com/prometheus/procfs/internal/util
|
|
# github.com/russross/blackfriday/v2 v2.1.0
|
|
## explicit
|
|
github.com/russross/blackfriday/v2
|
|
# go.etcd.io/bbolt v1.3.11
|
|
## explicit; go 1.22
|
|
go.etcd.io/bbolt
|
|
# golang.org/x/crypto v0.32.0
|
|
## explicit; go 1.20
|
|
golang.org/x/crypto/acme
|
|
golang.org/x/crypto/bcrypt
|
|
golang.org/x/crypto/blake2b
|
|
golang.org/x/crypto/blowfish
|
|
golang.org/x/crypto/pbkdf2
|
|
# golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f
|
|
## explicit; go 1.20
|
|
golang.org/x/exp/maps
|
|
# golang.org/x/mod v0.22.0
|
|
## explicit; go 1.22.0
|
|
golang.org/x/mod/internal/lazyregexp
|
|
golang.org/x/mod/modfile
|
|
golang.org/x/mod/module
|
|
golang.org/x/mod/semver
|
|
# golang.org/x/net v0.34.0
|
|
## explicit; go 1.18
|
|
golang.org/x/net/dns/dnsmessage
|
|
golang.org/x/net/html
|
|
golang.org/x/net/html/atom
|
|
golang.org/x/net/http/httpguts
|
|
golang.org/x/net/http2
|
|
golang.org/x/net/http2/hpack
|
|
golang.org/x/net/idna
|
|
golang.org/x/net/internal/socks
|
|
golang.org/x/net/proxy
|
|
golang.org/x/net/websocket
|
|
# golang.org/x/sync v0.10.0
|
|
## explicit; go 1.18
|
|
golang.org/x/sync/errgroup
|
|
# golang.org/x/sys v0.29.0
|
|
## explicit; go 1.18
|
|
golang.org/x/sys/cpu
|
|
golang.org/x/sys/unix
|
|
golang.org/x/sys/windows
|
|
# golang.org/x/text v0.21.0
|
|
## explicit; go 1.18
|
|
golang.org/x/text/cases
|
|
golang.org/x/text/encoding
|
|
golang.org/x/text/encoding/charmap
|
|
golang.org/x/text/encoding/ianaindex
|
|
golang.org/x/text/encoding/internal
|
|
golang.org/x/text/encoding/internal/identifier
|
|
golang.org/x/text/encoding/japanese
|
|
golang.org/x/text/encoding/korean
|
|
golang.org/x/text/encoding/simplifiedchinese
|
|
golang.org/x/text/encoding/traditionalchinese
|
|
golang.org/x/text/encoding/unicode
|
|
golang.org/x/text/internal
|
|
golang.org/x/text/internal/language
|
|
golang.org/x/text/internal/language/compact
|
|
golang.org/x/text/internal/tag
|
|
golang.org/x/text/internal/utf8internal
|
|
golang.org/x/text/language
|
|
golang.org/x/text/runes
|
|
golang.org/x/text/secure/bidirule
|
|
golang.org/x/text/secure/precis
|
|
golang.org/x/text/transform
|
|
golang.org/x/text/unicode/bidi
|
|
golang.org/x/text/unicode/norm
|
|
golang.org/x/text/width
|
|
# golang.org/x/tools v0.29.0
|
|
## explicit; go 1.22.0
|
|
golang.org/x/tools/go/gcexportdata
|
|
golang.org/x/tools/go/packages
|
|
golang.org/x/tools/go/types/objectpath
|
|
golang.org/x/tools/go/types/typeutil
|
|
golang.org/x/tools/internal/aliases
|
|
golang.org/x/tools/internal/event
|
|
golang.org/x/tools/internal/event/core
|
|
golang.org/x/tools/internal/event/keys
|
|
golang.org/x/tools/internal/event/label
|
|
golang.org/x/tools/internal/gcimporter
|
|
golang.org/x/tools/internal/gocommand
|
|
golang.org/x/tools/internal/packagesinternal
|
|
golang.org/x/tools/internal/pkgbits
|
|
golang.org/x/tools/internal/stdlib
|
|
golang.org/x/tools/internal/typeparams
|
|
golang.org/x/tools/internal/typesinternal
|
|
golang.org/x/tools/internal/versions
|
|
# google.golang.org/protobuf v1.31.0
|
|
## explicit; go 1.11
|
|
google.golang.org/protobuf/encoding/prototext
|
|
google.golang.org/protobuf/encoding/protowire
|
|
google.golang.org/protobuf/internal/descfmt
|
|
google.golang.org/protobuf/internal/descopts
|
|
google.golang.org/protobuf/internal/detrand
|
|
google.golang.org/protobuf/internal/encoding/defval
|
|
google.golang.org/protobuf/internal/encoding/messageset
|
|
google.golang.org/protobuf/internal/encoding/tag
|
|
google.golang.org/protobuf/internal/encoding/text
|
|
google.golang.org/protobuf/internal/errors
|
|
google.golang.org/protobuf/internal/filedesc
|
|
google.golang.org/protobuf/internal/filetype
|
|
google.golang.org/protobuf/internal/flags
|
|
google.golang.org/protobuf/internal/genid
|
|
google.golang.org/protobuf/internal/impl
|
|
google.golang.org/protobuf/internal/order
|
|
google.golang.org/protobuf/internal/pragma
|
|
google.golang.org/protobuf/internal/set
|
|
google.golang.org/protobuf/internal/strs
|
|
google.golang.org/protobuf/internal/version
|
|
google.golang.org/protobuf/proto
|
|
google.golang.org/protobuf/reflect/protoreflect
|
|
google.golang.org/protobuf/reflect/protoregistry
|
|
google.golang.org/protobuf/runtime/protoiface
|
|
google.golang.org/protobuf/runtime/protoimpl
|
|
google.golang.org/protobuf/types/known/timestamppb
|
|
# rsc.io/qr v0.2.0
|
|
## explicit
|
|
rsc.io/qr
|
|
rsc.io/qr/coding
|
|
rsc.io/qr/gf256
|