aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/socket_alg.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-11-22 11:42:10 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-11-24 13:56:20 +0100
commitddf7b3e0655cf6dfeacfe509e477c1486d2cc7db (patch)
treedd3ce89e4c92cdb4ddaaae566222ec8cbd177676 /sys/linux/socket_alg.txt
parentd19770f1b9c6f1cb953b4a6e767aa914009deb20 (diff)
sys/linux: improve AF_ALG alg name generation
There is effectively infinite number of possible crypto algorithm names due to templates. Plus there is tricky relation between algorithms and algorithm type names. This change adds custom mutator for sockaddr_alg struct to improve variance in generated algorithms.
Diffstat (limited to 'sys/linux/socket_alg.txt')
-rw-r--r--sys/linux/socket_alg.txt8
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/linux/socket_alg.txt b/sys/linux/socket_alg.txt
index 5e3c0caea..b07a2b5ca 100644
--- a/sys/linux/socket_alg.txt
+++ b/sys/linux/socket_alg.txt
@@ -15,10 +15,11 @@ socket$alg(domain const[AF_ALG], type const[SOCK_SEQPACKET], proto const[0]) soc
bind$alg(fd sock_alg, addr ptr[in, sockaddr_alg], addrlen len[addr])
setsockopt$ALG_SET_KEY(fd sock_alg, level const[SOL_ALG], opt const[ALG_SET_KEY], key buffer[in], keylen len[key])
setsockopt$ALG_SET_AEAD_AUTHSIZE(fd sock_alg, level const[SOL_ALG], opt const[ALG_SET_AEAD_AUTHSIZE], val const[0], size intptr)
-accept$alg(fd sock_alg, peer ptr[out, sockaddr_alg, opt], peerlen ptr[inout, len[peer, int32]]) sock_algconn
+accept$alg(fd sock_alg, peer const[0], peerlen const[0]) sock_algconn
sendmsg$alg(fd sock_algconn, msg ptr[in, msghdr_alg], f flags[send_flags])
sendmmsg$alg(fd sock_algconn, mmsg ptr[in, array[msghdr_alg]], vlen len[mmsg], f flags[send_flags])
+# Special struct generated by Go code.
sockaddr_alg {
family const[AF_ALG, int16]
type string[salg_type, 14]
@@ -55,7 +56,7 @@ cmsghdr_alg_op {
len len[parent, intptr]
level const[SOL_ALG, int32]
type const[ALG_SET_OP, int32]
- op int32
+ op flags[alg_op_op, int32]
} [align_ptr]
cmsghdr_alg_assoc {
@@ -67,7 +68,10 @@ cmsghdr_alg_assoc {
af_alg_type = CRYPTO_ALG_TYPE_MASK, CRYPTO_ALG_TYPE_CIPHER, CRYPTO_ALG_TYPE_COMPRESS, CRYPTO_ALG_TYPE_AEAD, CRYPTO_ALG_TYPE_BLKCIPHER, CRYPTO_ALG_TYPE_ABLKCIPHER, CRYPTO_ALG_TYPE_GIVCIPHER, CRYPTO_ALG_TYPE_DIGEST, CRYPTO_ALG_TYPE_HASH, CRYPTO_ALG_TYPE_SHASH, CRYPTO_ALG_TYPE_AHASH, CRYPTO_ALG_TYPE_RNG, CRYPTO_ALG_TYPE_AKCIPHER, CRYPTO_ALG_TYPE_PCOMPRESS, CRYPTO_ALG_LARVAL, CRYPTO_ALG_DEAD, CRYPTO_ALG_DYING, CRYPTO_ALG_ASYNC, CRYPTO_ALG_NEED_FALLBACK, CRYPTO_ALG_GENIV, CRYPTO_ALG_TESTED, CRYPTO_ALG_INSTANCE, CRYPTO_ALG_KERN_DRIVER_ONLY, CRYPTO_ALG_INTERNAL
+alg_op_op = ALG_OP_DECRYPT, ALG_OP_ENCRYPT
+
salg_type = "aead", "hash", "rng", "skcipher"
+
salg_name = "cmac(aes)", "ecb(aes)", "cbc(aes)", "hmac(sha1)", "pcbc(fcrypt)", "ghash", "jitterentropy_rng", "stdrng", "stdrng", "stdrng", "stdrng", "hmac(sha256)", "stdrng", "stdrng", "stdrng", "stdrng", "stdrng", "842", "lz4hc", "lz4", "lzo", "crct10dif", "crc32", "crc32c", "michael_mic", "zlib", "deflate", "poly1305", "chacha20", "salsa20", "seed", "anubis", "khazad", "xeta", "xtea", "tea", "ecb(arc4)", "arc4", "cast6", "cast5", "camellia", "aes", "tnepres", "serpent", "twofish", "blowfish", "fcrypt", "des3_ede", "des", "tgr128", "tgr160", "tgr192", "wp256", "wp384", "wp512", "sha384", "sha512", "sha224", "sha256", "sha1", "rmd320", "rmd256", "rmd160", "rmd128", "md5", "md4", "digest_null", "compress_null", "ecb(cipher_null)", "cipher_null", "rsa", "poly1305", "xts(serpent)", "lrw(serpent)", "ctr(serpent)", "cbc(serpent)", "__ecb-serpent-sse2", "ecb(serpent)", "__xts-serpent-sse2", "__lrw-serpent-sse2", "__ctr-serpent-sse2", "__cbc-serpent-sse2", "__ecb-serpent-sse2", "salsa20", "xts(twofish)", "lrw(twofish)", "ctr(twofish)", "cbc(twofish)", "ecb(twofish)", "twofish", "ctr(blowfish)", "cbc(blowfish)", "ecb(blowfish)", "blowfish", "xts(camellia)", "lrw(camellia)", "ctr(camellia)", "cbc(camellia)", "ecb(camellia)", "camellia", "ctr(des3_ede)", "cbc(des3_ede)", "ecb(des3_ede)", "des3_ede", "aes"
# Removed in next-20160210 (commit 11049218)