mirror of
https://blitiri.com.ar/repos/chasquid
synced 2026-10-29 15:02:30 +00:00
tlsconst: Deprecate in favour of stdlib's tls
The tlsconst internal package was created to provide human-readable names for TLS versions and ciphers, from the IANA registry. These days, that functionality is provided by stdlib's tls package, so the internal package is no longer needed, and this patch removes it. The only observable change is that the descriptive version in the Received header now says "TLS 1.3" instead of "TLS-1.3", but it's just as standard-compliant since that is in a free-form text section.
This commit is contained in:
@@ -62,8 +62,7 @@ fmt:
|
|||||||
black -l 79 \
|
black -l 79 \
|
||||||
test/util/check-hostaliases \
|
test/util/check-hostaliases \
|
||||||
test/util/chamuyero \
|
test/util/chamuyero \
|
||||||
test/util/mail_diff \
|
test/util/mail_diff
|
||||||
internal/tlsconst/generate-ciphers.py
|
|
||||||
|
|
||||||
.PHONY: chasquid test \
|
.PHONY: chasquid test \
|
||||||
chasquid-util smtp-check mda-lmtp dovecot-auth-cli \
|
chasquid-util smtp-check mda-lmtp dovecot-auth-cli \
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"blitiri.com.ar/go/chasquid/internal/sts"
|
"blitiri.com.ar/go/chasquid/internal/sts"
|
||||||
"blitiri.com.ar/go/chasquid/internal/tlsconst"
|
|
||||||
"blitiri.com.ar/go/spf"
|
"blitiri.com.ar/go/spf"
|
||||||
|
|
||||||
"golang.org/x/net/idna"
|
"golang.org/x/net/idna"
|
||||||
@@ -105,8 +104,8 @@ func main() {
|
|||||||
errs = append(errs, fmt.Errorf("%s: TLS failed", mx.Host))
|
errs = append(errs, fmt.Errorf("%s: TLS failed", mx.Host))
|
||||||
} else {
|
} else {
|
||||||
cstate, _ := c.TLSConnectionState()
|
cstate, _ := c.TLSConnectionState()
|
||||||
log.Printf("TLS OK: %s - %s", tlsconst.VersionName(cstate.Version),
|
log.Printf("TLS OK: %s - %s", tls.VersionName(cstate.Version),
|
||||||
tlsconst.CipherSuiteName(cstate.CipherSuite))
|
tls.CipherSuiteName(cstate.CipherSuite))
|
||||||
}
|
}
|
||||||
|
|
||||||
c.Close()
|
c.Close()
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ import (
|
|||||||
"blitiri.com.ar/go/chasquid/internal/normalize"
|
"blitiri.com.ar/go/chasquid/internal/normalize"
|
||||||
"blitiri.com.ar/go/chasquid/internal/queue"
|
"blitiri.com.ar/go/chasquid/internal/queue"
|
||||||
"blitiri.com.ar/go/chasquid/internal/set"
|
"blitiri.com.ar/go/chasquid/internal/set"
|
||||||
"blitiri.com.ar/go/chasquid/internal/tlsconst"
|
|
||||||
"blitiri.com.ar/go/chasquid/internal/trace"
|
"blitiri.com.ar/go/chasquid/internal/trace"
|
||||||
"blitiri.com.ar/go/spf"
|
"blitiri.com.ar/go/spf"
|
||||||
)
|
)
|
||||||
@@ -773,12 +772,12 @@ func (c *Conn) addReceivedHeader() {
|
|||||||
if c.tlsConnState != nil {
|
if c.tlsConnState != nil {
|
||||||
// https://tools.ietf.org/html/rfc8314#section-4.3
|
// https://tools.ietf.org/html/rfc8314#section-4.3
|
||||||
received += fmt.Sprintf("tls %s\n",
|
received += fmt.Sprintf("tls %s\n",
|
||||||
tlsconst.CipherSuiteName(c.tlsConnState.CipherSuite))
|
tls.CipherSuiteName(c.tlsConnState.CipherSuite))
|
||||||
}
|
}
|
||||||
|
|
||||||
received += fmt.Sprintf("(over %s, ", c.mode)
|
received += fmt.Sprintf("(over %s, ", c.mode)
|
||||||
if c.tlsConnState != nil {
|
if c.tlsConnState != nil {
|
||||||
received += fmt.Sprintf("%s, ", tlsconst.VersionName(c.tlsConnState.Version))
|
received += fmt.Sprintf("%s, ", tls.VersionName(c.tlsConnState.Version))
|
||||||
} else {
|
} else {
|
||||||
received += "plain text!, "
|
received += "plain text!, "
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,360 +0,0 @@
|
|||||||
package tlsconst
|
|
||||||
|
|
||||||
// AUTOGENERATED - DO NOT EDIT
|
|
||||||
//
|
|
||||||
// This file was autogenerated by generate-ciphers.py.
|
|
||||||
|
|
||||||
var cipherSuiteName = map[uint16]string{
|
|
||||||
0x0000: "TLS_NULL_WITH_NULL_NULL",
|
|
||||||
0x0001: "TLS_RSA_WITH_NULL_MD5",
|
|
||||||
0x0002: "TLS_RSA_WITH_NULL_SHA",
|
|
||||||
0x0003: "TLS_RSA_EXPORT_WITH_RC4_40_MD5",
|
|
||||||
0x0004: "TLS_RSA_WITH_RC4_128_MD5",
|
|
||||||
0x0005: "TLS_RSA_WITH_RC4_128_SHA",
|
|
||||||
0x0006: "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5",
|
|
||||||
0x0007: "TLS_RSA_WITH_IDEA_CBC_SHA",
|
|
||||||
0x0008: "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x0009: "TLS_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0x000a: "TLS_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x000b: "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x000c: "TLS_DH_DSS_WITH_DES_CBC_SHA",
|
|
||||||
0x000d: "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x000e: "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x000f: "TLS_DH_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0x0010: "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0011: "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x0012: "TLS_DHE_DSS_WITH_DES_CBC_SHA",
|
|
||||||
0x0013: "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0014: "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x0015: "TLS_DHE_RSA_WITH_DES_CBC_SHA",
|
|
||||||
0x0016: "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0017: "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5",
|
|
||||||
0x0018: "TLS_DH_anon_WITH_RC4_128_MD5",
|
|
||||||
0x0019: "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA",
|
|
||||||
0x001a: "TLS_DH_anon_WITH_DES_CBC_SHA",
|
|
||||||
0x001b: "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x001e: "TLS_KRB5_WITH_DES_CBC_SHA",
|
|
||||||
0x001f: "TLS_KRB5_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0020: "TLS_KRB5_WITH_RC4_128_SHA",
|
|
||||||
0x0021: "TLS_KRB5_WITH_IDEA_CBC_SHA",
|
|
||||||
0x0022: "TLS_KRB5_WITH_DES_CBC_MD5",
|
|
||||||
0x0023: "TLS_KRB5_WITH_3DES_EDE_CBC_MD5",
|
|
||||||
0x0024: "TLS_KRB5_WITH_RC4_128_MD5",
|
|
||||||
0x0025: "TLS_KRB5_WITH_IDEA_CBC_MD5",
|
|
||||||
0x0026: "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA",
|
|
||||||
0x0027: "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA",
|
|
||||||
0x0028: "TLS_KRB5_EXPORT_WITH_RC4_40_SHA",
|
|
||||||
0x0029: "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5",
|
|
||||||
0x002a: "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5",
|
|
||||||
0x002b: "TLS_KRB5_EXPORT_WITH_RC4_40_MD5",
|
|
||||||
0x002c: "TLS_PSK_WITH_NULL_SHA",
|
|
||||||
0x002d: "TLS_DHE_PSK_WITH_NULL_SHA",
|
|
||||||
0x002e: "TLS_RSA_PSK_WITH_NULL_SHA",
|
|
||||||
0x002f: "TLS_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0030: "TLS_DH_DSS_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0031: "TLS_DH_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0032: "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0033: "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0034: "TLS_DH_anon_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0035: "TLS_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0036: "TLS_DH_DSS_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0037: "TLS_DH_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0038: "TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0039: "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0x003a: "TLS_DH_anon_WITH_AES_256_CBC_SHA",
|
|
||||||
0x003b: "TLS_RSA_WITH_NULL_SHA256",
|
|
||||||
0x003c: "TLS_RSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x003d: "TLS_RSA_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x003e: "TLS_DH_DSS_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x003f: "TLS_DH_RSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x0040: "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x0041: "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0042: "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0043: "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0044: "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0045: "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0046: "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA",
|
|
||||||
0x0067: "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x0068: "TLS_DH_DSS_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x0069: "TLS_DH_RSA_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x006a: "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x006b: "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x006c: "TLS_DH_anon_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x006d: "TLS_DH_anon_WITH_AES_256_CBC_SHA256",
|
|
||||||
0x0084: "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x0085: "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x0086: "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x0087: "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x0088: "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x0089: "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA",
|
|
||||||
0x008a: "TLS_PSK_WITH_RC4_128_SHA",
|
|
||||||
0x008b: "TLS_PSK_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x008c: "TLS_PSK_WITH_AES_128_CBC_SHA",
|
|
||||||
0x008d: "TLS_PSK_WITH_AES_256_CBC_SHA",
|
|
||||||
0x008e: "TLS_DHE_PSK_WITH_RC4_128_SHA",
|
|
||||||
0x008f: "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0090: "TLS_DHE_PSK_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0091: "TLS_DHE_PSK_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0092: "TLS_RSA_PSK_WITH_RC4_128_SHA",
|
|
||||||
0x0093: "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0x0094: "TLS_RSA_PSK_WITH_AES_128_CBC_SHA",
|
|
||||||
0x0095: "TLS_RSA_PSK_WITH_AES_256_CBC_SHA",
|
|
||||||
0x0096: "TLS_RSA_WITH_SEED_CBC_SHA",
|
|
||||||
0x0097: "TLS_DH_DSS_WITH_SEED_CBC_SHA",
|
|
||||||
0x0098: "TLS_DH_RSA_WITH_SEED_CBC_SHA",
|
|
||||||
0x0099: "TLS_DHE_DSS_WITH_SEED_CBC_SHA",
|
|
||||||
0x009a: "TLS_DHE_RSA_WITH_SEED_CBC_SHA",
|
|
||||||
0x009b: "TLS_DH_anon_WITH_SEED_CBC_SHA",
|
|
||||||
0x009c: "TLS_RSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x009d: "TLS_RSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x009e: "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x009f: "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00a0: "TLS_DH_RSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00a1: "TLS_DH_RSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00a2: "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00a3: "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00a4: "TLS_DH_DSS_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00a5: "TLS_DH_DSS_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00a6: "TLS_DH_anon_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00a7: "TLS_DH_anon_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00a8: "TLS_PSK_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00a9: "TLS_PSK_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00aa: "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00ab: "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00ac: "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256",
|
|
||||||
0x00ad: "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384",
|
|
||||||
0x00ae: "TLS_PSK_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x00af: "TLS_PSK_WITH_AES_256_CBC_SHA384",
|
|
||||||
0x00b0: "TLS_PSK_WITH_NULL_SHA256",
|
|
||||||
0x00b1: "TLS_PSK_WITH_NULL_SHA384",
|
|
||||||
0x00b2: "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x00b3: "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384",
|
|
||||||
0x00b4: "TLS_DHE_PSK_WITH_NULL_SHA256",
|
|
||||||
0x00b5: "TLS_DHE_PSK_WITH_NULL_SHA384",
|
|
||||||
0x00b6: "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256",
|
|
||||||
0x00b7: "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384",
|
|
||||||
0x00b8: "TLS_RSA_PSK_WITH_NULL_SHA256",
|
|
||||||
0x00b9: "TLS_RSA_PSK_WITH_NULL_SHA384",
|
|
||||||
0x00ba: "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00bb: "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00bc: "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00bd: "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00be: "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00bf: "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0x00c0: "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c1: "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c2: "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c3: "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c4: "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c5: "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256",
|
|
||||||
0x00c6: "TLS_SM4_GCM_SM3",
|
|
||||||
0x00c7: "TLS_SM4_CCM_SM3",
|
|
||||||
0x00ff: "TLS_EMPTY_RENEGOTIATION_INFO_SCSV",
|
|
||||||
0x1301: "TLS_AES_128_GCM_SHA256",
|
|
||||||
0x1302: "TLS_AES_256_GCM_SHA384",
|
|
||||||
0x1303: "TLS_CHACHA20_POLY1305_SHA256",
|
|
||||||
0x1304: "TLS_AES_128_CCM_SHA256",
|
|
||||||
0x1305: "TLS_AES_128_CCM_8_SHA256",
|
|
||||||
0x1306: "TLS_AEGIS_256_SHA512",
|
|
||||||
0x1307: "TLS_AEGIS_128L_SHA256",
|
|
||||||
0x5600: "TLS_FALLBACK_SCSV",
|
|
||||||
0xc001: "TLS_ECDH_ECDSA_WITH_NULL_SHA",
|
|
||||||
0xc002: "TLS_ECDH_ECDSA_WITH_RC4_128_SHA",
|
|
||||||
0xc003: "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc004: "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc005: "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc006: "TLS_ECDHE_ECDSA_WITH_NULL_SHA",
|
|
||||||
0xc007: "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA",
|
|
||||||
0xc008: "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc009: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc00a: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc00b: "TLS_ECDH_RSA_WITH_NULL_SHA",
|
|
||||||
0xc00c: "TLS_ECDH_RSA_WITH_RC4_128_SHA",
|
|
||||||
0xc00d: "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc00e: "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc00f: "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc010: "TLS_ECDHE_RSA_WITH_NULL_SHA",
|
|
||||||
0xc011: "TLS_ECDHE_RSA_WITH_RC4_128_SHA",
|
|
||||||
0xc012: "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc013: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc014: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc015: "TLS_ECDH_anon_WITH_NULL_SHA",
|
|
||||||
0xc016: "TLS_ECDH_anon_WITH_RC4_128_SHA",
|
|
||||||
0xc017: "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc018: "TLS_ECDH_anon_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc019: "TLS_ECDH_anon_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc01a: "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc01b: "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc01c: "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc01d: "TLS_SRP_SHA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc01e: "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc01f: "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc020: "TLS_SRP_SHA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc021: "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc022: "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc023: "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0xc024: "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
|
|
||||||
0xc025: "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0xc026: "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384",
|
|
||||||
0xc027: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0xc028: "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
|
|
||||||
0xc029: "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256",
|
|
||||||
0xc02a: "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384",
|
|
||||||
0xc02b: "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xc02c: "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xc02d: "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xc02e: "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xc02f: "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xc030: "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xc031: "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xc032: "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xc033: "TLS_ECDHE_PSK_WITH_RC4_128_SHA",
|
|
||||||
0xc034: "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA",
|
|
||||||
0xc035: "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA",
|
|
||||||
0xc036: "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA",
|
|
||||||
0xc037: "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256",
|
|
||||||
0xc038: "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384",
|
|
||||||
0xc039: "TLS_ECDHE_PSK_WITH_NULL_SHA",
|
|
||||||
0xc03a: "TLS_ECDHE_PSK_WITH_NULL_SHA256",
|
|
||||||
0xc03b: "TLS_ECDHE_PSK_WITH_NULL_SHA384",
|
|
||||||
0xc03c: "TLS_RSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc03d: "TLS_RSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc03e: "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc03f: "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc040: "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc041: "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc042: "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc043: "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc044: "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc045: "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc046: "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc047: "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc048: "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc049: "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc04a: "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc04b: "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc04c: "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc04d: "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc04e: "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc04f: "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc050: "TLS_RSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc051: "TLS_RSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc052: "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc053: "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc054: "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc055: "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc056: "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc057: "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc058: "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc059: "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc05a: "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc05b: "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc05c: "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc05d: "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc05e: "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc05f: "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc060: "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc061: "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc062: "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc063: "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc064: "TLS_PSK_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc065: "TLS_PSK_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc066: "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc067: "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc068: "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc069: "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc06a: "TLS_PSK_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc06b: "TLS_PSK_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc06c: "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc06d: "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc06e: "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256",
|
|
||||||
0xc06f: "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384",
|
|
||||||
0xc070: "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256",
|
|
||||||
0xc071: "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384",
|
|
||||||
0xc072: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc073: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc074: "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc075: "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc076: "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc077: "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc078: "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc079: "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc07a: "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc07b: "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc07c: "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc07d: "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc07e: "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc07f: "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc080: "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc081: "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc082: "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc083: "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc084: "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc085: "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc086: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc087: "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc088: "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc089: "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc08a: "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc08b: "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc08c: "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc08d: "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc08e: "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc08f: "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc090: "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc091: "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc092: "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256",
|
|
||||||
0xc093: "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384",
|
|
||||||
0xc094: "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc095: "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc096: "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc097: "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc098: "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc099: "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc09a: "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256",
|
|
||||||
0xc09b: "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384",
|
|
||||||
0xc09c: "TLS_RSA_WITH_AES_128_CCM",
|
|
||||||
0xc09d: "TLS_RSA_WITH_AES_256_CCM",
|
|
||||||
0xc09e: "TLS_DHE_RSA_WITH_AES_128_CCM",
|
|
||||||
0xc09f: "TLS_DHE_RSA_WITH_AES_256_CCM",
|
|
||||||
0xc0a0: "TLS_RSA_WITH_AES_128_CCM_8",
|
|
||||||
0xc0a1: "TLS_RSA_WITH_AES_256_CCM_8",
|
|
||||||
0xc0a2: "TLS_DHE_RSA_WITH_AES_128_CCM_8",
|
|
||||||
0xc0a3: "TLS_DHE_RSA_WITH_AES_256_CCM_8",
|
|
||||||
0xc0a4: "TLS_PSK_WITH_AES_128_CCM",
|
|
||||||
0xc0a5: "TLS_PSK_WITH_AES_256_CCM",
|
|
||||||
0xc0a6: "TLS_DHE_PSK_WITH_AES_128_CCM",
|
|
||||||
0xc0a7: "TLS_DHE_PSK_WITH_AES_256_CCM",
|
|
||||||
0xc0a8: "TLS_PSK_WITH_AES_128_CCM_8",
|
|
||||||
0xc0a9: "TLS_PSK_WITH_AES_256_CCM_8",
|
|
||||||
0xc0aa: "TLS_PSK_DHE_WITH_AES_128_CCM_8",
|
|
||||||
0xc0ab: "TLS_PSK_DHE_WITH_AES_256_CCM_8",
|
|
||||||
0xc0ac: "TLS_ECDHE_ECDSA_WITH_AES_128_CCM",
|
|
||||||
0xc0ad: "TLS_ECDHE_ECDSA_WITH_AES_256_CCM",
|
|
||||||
0xc0ae: "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8",
|
|
||||||
0xc0af: "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8",
|
|
||||||
0xc0b0: "TLS_ECCPWD_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xc0b1: "TLS_ECCPWD_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xc0b2: "TLS_ECCPWD_WITH_AES_128_CCM_SHA256",
|
|
||||||
0xc0b3: "TLS_ECCPWD_WITH_AES_256_CCM_SHA384",
|
|
||||||
0xc0b4: "TLS_SHA256_SHA256",
|
|
||||||
0xc0b5: "TLS_SHA384_SHA384",
|
|
||||||
0xc100: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC",
|
|
||||||
0xc101: "TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC",
|
|
||||||
0xc102: "TLS_GOSTR341112_256_WITH_28147_CNT_IMIT",
|
|
||||||
0xc103: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L",
|
|
||||||
0xc104: "TLS_GOSTR341112_256_WITH_MAGMA_MGM_L",
|
|
||||||
0xc105: "TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S",
|
|
||||||
0xc106: "TLS_GOSTR341112_256_WITH_MAGMA_MGM_S",
|
|
||||||
0xcca8: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xcca9: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xccaa: "TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xccab: "TLS_PSK_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xccac: "TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xccad: "TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xccae: "TLS_RSA_PSK_WITH_CHACHA20_POLY1305_SHA256",
|
|
||||||
0xd001: "TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256",
|
|
||||||
0xd002: "TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384",
|
|
||||||
0xd003: "TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256",
|
|
||||||
0xd005: "TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256",
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
#
|
|
||||||
# This hacky script generates a go file with a map of version -> name for the
|
|
||||||
# entries in the TLS Cipher Suite Registry.
|
|
||||||
|
|
||||||
import csv
|
|
||||||
import urllib.request
|
|
||||||
import sys
|
|
||||||
|
|
||||||
# Where to get the TLS parameters from.
|
|
||||||
# See https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml.
|
|
||||||
URL = "https://www.iana.org/assignments/tls-parameters/tls-parameters-4.csv"
|
|
||||||
|
|
||||||
|
|
||||||
def getCiphers():
|
|
||||||
req = urllib.request.urlopen(URL)
|
|
||||||
data = req.read().decode("utf-8")
|
|
||||||
|
|
||||||
ciphers = []
|
|
||||||
reader = csv.DictReader(data.splitlines())
|
|
||||||
for row in reader:
|
|
||||||
desc = row["Description"]
|
|
||||||
rawval = row["Value"]
|
|
||||||
|
|
||||||
# Just plain TLS values for now, to keep it simple.
|
|
||||||
if "-" in rawval or not desc.startswith("TLS"):
|
|
||||||
continue
|
|
||||||
|
|
||||||
rv1, rv2 = rawval.split(",")
|
|
||||||
rv1, rv2 = int(rv1, 16), int(rv2, 16)
|
|
||||||
|
|
||||||
val = "0x%02x%02x" % (rv1, rv2)
|
|
||||||
ciphers.append((val, desc))
|
|
||||||
|
|
||||||
return ciphers
|
|
||||||
|
|
||||||
|
|
||||||
ciphers = getCiphers()
|
|
||||||
|
|
||||||
out = open(sys.argv[1], "w")
|
|
||||||
out.write("""\
|
|
||||||
package tlsconst
|
|
||||||
|
|
||||||
// AUTOGENERATED - DO NOT EDIT
|
|
||||||
//
|
|
||||||
// This file was autogenerated by generate-ciphers.py.
|
|
||||||
|
|
||||||
var cipherSuiteName = map[uint16]string{
|
|
||||||
""")
|
|
||||||
|
|
||||||
for ver, desc in ciphers:
|
|
||||||
out.write('\t%s: "%s",\n' % (ver, desc))
|
|
||||||
|
|
||||||
out.write("}\n")
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
// Package tlsconst contains TLS constants for human consumption.
|
|
||||||
package tlsconst
|
|
||||||
|
|
||||||
// Most of the constants get automatically generated from IANA's assignments.
|
|
||||||
//go:generate ./generate-ciphers.py ciphers.go
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
var versionName = map[uint16]string{
|
|
||||||
0x0300: "SSL-3.0",
|
|
||||||
0x0301: "TLS-1.0",
|
|
||||||
0x0302: "TLS-1.1",
|
|
||||||
0x0303: "TLS-1.2",
|
|
||||||
0x0304: "TLS-1.3",
|
|
||||||
}
|
|
||||||
|
|
||||||
// VersionName returns a human-readable TLS version name.
|
|
||||||
func VersionName(v uint16) string {
|
|
||||||
name, ok := versionName[v]
|
|
||||||
if !ok {
|
|
||||||
return fmt.Sprintf("TLS-%#04x", v)
|
|
||||||
}
|
|
||||||
return name
|
|
||||||
}
|
|
||||||
|
|
||||||
// CipherSuiteName returns a human-readable TLS cipher suite name.
|
|
||||||
func CipherSuiteName(s uint16) string {
|
|
||||||
name, ok := cipherSuiteName[s]
|
|
||||||
if !ok {
|
|
||||||
return fmt.Sprintf("TLS_UNKNOWN_CIPHER_SUITE-%#04x", s)
|
|
||||||
}
|
|
||||||
return name
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
package tlsconst
|
|
||||||
|
|
||||||
import "testing"
|
|
||||||
|
|
||||||
func TestVersionName(t *testing.T) {
|
|
||||||
cases := []struct {
|
|
||||||
ver uint16
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{0x0302, "TLS-1.1"},
|
|
||||||
{0x1234, "TLS-0x1234"},
|
|
||||||
}
|
|
||||||
for _, c := range cases {
|
|
||||||
got := VersionName(c.ver)
|
|
||||||
if got != c.expected {
|
|
||||||
t.Errorf("VersionName(%x) = %q, expected %q",
|
|
||||||
c.ver, got, c.expected)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestCipherSuiteName(t *testing.T) {
|
|
||||||
cases := []struct {
|
|
||||||
suite uint16
|
|
||||||
expected string
|
|
||||||
}{
|
|
||||||
{0xc073, "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384"},
|
|
||||||
{0x1234, "TLS_UNKNOWN_CIPHER_SUITE-0x1234"},
|
|
||||||
}
|
|
||||||
for _, c := range cases {
|
|
||||||
got := CipherSuiteName(c.suite)
|
|
||||||
if got != c.expected {
|
|
||||||
t.Errorf("CipherSuiteName(%x) = %q, expected %q",
|
|
||||||
c.suite, got, c.expected)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -5,7 +5,7 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by primary (chasquid) with ESMTPS
|
by primary (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "chain-1-4+fwd_from=chain-1-3+fwd_from=user222=dodo=kiwi@dodo")
|
(over SMTP, TLS 1.3, envelope from "chain-1-4+fwd_from=chain-1-3+fwd_from=user222=dodo=kiwi@dodo")
|
||||||
; *
|
; *
|
||||||
Authentication-Results: secondary
|
Authentication-Results: secondary
|
||||||
;spf=pass (matched mx)
|
;spf=pass (matched mx)
|
||||||
@@ -14,7 +14,7 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by secondary (chasquid) with ESMTPS
|
by secondary (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "chain-1-3+fwd_from=user222=dodo@kiwi")
|
(over SMTP, TLS 1.3, envelope from "chain-1-3+fwd_from=user222=dodo@kiwi")
|
||||||
; *
|
; *
|
||||||
Authentication-Results: external
|
Authentication-Results: external
|
||||||
;spf=pass (matched mx)
|
;spf=pass (matched mx)
|
||||||
@@ -23,7 +23,7 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by external (chasquid) with ESMTPS
|
by external (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "user222@dodo")
|
(over SMTP, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
Authentication-Results: primary
|
Authentication-Results: primary
|
||||||
;spf=pass (matched mx)
|
;spf=pass (matched mx)
|
||||||
@@ -32,12 +32,12 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by primary (chasquid) with ESMTPS
|
by primary (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "user222@dodo")
|
(over SMTP, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
Received: from localhost
|
Received: from localhost
|
||||||
by secondary (chasquid) with ESMTPSA
|
by secondary (chasquid) with ESMTPSA
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over submission+TLS, TLS-1.3, envelope from "user222@dodo")
|
(over submission+TLS, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
||||||
d=dodo; s=sel-secondary-1; t=*
|
d=dodo; s=sel-secondary-1; t=*
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by external (chasquid) with ESMTPS
|
by external (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "user222@dodo")
|
(over SMTP, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
Received: from localhost
|
Received: from localhost
|
||||||
by secondary (chasquid) with ESMTPSA
|
by secondary (chasquid) with ESMTPSA
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over submission+TLS, TLS-1.3, envelope from "user222@dodo")
|
(over submission+TLS, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
||||||
d=dodo; s=sel-secondary-1; t=*
|
d=dodo; s=sel-secondary-1; t=*
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ Received-SPF: pass (matched mx)
|
|||||||
Received: from *
|
Received: from *
|
||||||
by primary (chasquid) with ESMTPS
|
by primary (chasquid) with ESMTPS
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over SMTP, TLS-1.3, envelope from "user222@dodo")
|
(over SMTP, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
Received: from localhost
|
Received: from localhost
|
||||||
by secondary (chasquid) with ESMTPSA
|
by secondary (chasquid) with ESMTPSA
|
||||||
tls TLS_*
|
tls TLS_*
|
||||||
(over submission+TLS, TLS-1.3, envelope from "user222@dodo")
|
(over submission+TLS, TLS 1.3, envelope from "user222@dodo")
|
||||||
; *
|
; *
|
||||||
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed;
|
||||||
d=dodo; s=sel-secondary-1; t=*
|
d=dodo; s=sel-secondary-1; t=*
|
||||||
|
|||||||
Reference in New Issue
Block a user