X-Git-Url: https://git.distorted.org.uk/~mdw/secnet/blobdiff_plain/9c6af4eca6bfb7bed6f86b1f32479f933979c080..refs/heads/mdw/xdh:/secnet-wireshark.lua diff --git a/secnet-wireshark.lua b/secnet-wireshark.lua index 5166918..b9c42b8 100644 --- a/secnet-wireshark.lua +++ b/secnet-wireshark.lua @@ -226,6 +226,10 @@ local CAPTAB = { desc = "Serpent256-EAX transform" }, [10] = { name = "tradzp", kind = "dhgroup", desc = "Traditional Z_p Diffie--Hellman key agreement" }, + [11] = { name = "x25519", kind = "dhgroup", + desc = "X25519 elliptic curve Diffie--Hellman key agreement" }, + [12] = { name = "x448", kind = "dhgroup", + desc = "X448 elliptic curve Diffie--Hellman key agreement" }, [31] = { name = "mobile-priority", kind = "early", desc = "Mobile site takes priority in case of MSG1 crossing" } } @@ -476,7 +480,11 @@ end local function dissect_dhval(st, buf, tree, pos, sz) -- Dissect a Diffie--Hellman public value. - return dissect_lenstr(st, buf, tree, "secnet.kx.dhval", pos, sz) + local len = buf(pos, 2):uint() + local sub = tree:add(PF["secnet.kx.dhval"], buf(pos, len + 2)) + sub:add(PF["secnet.kx.dhval.len"], buf(pos, 2)); pos = pos + 2 + sub:add(PF["secnet.kx.dhval.bytes"], buf(pos, len)); pos = pos + len + return pos end local function dissect_sig(st, buf, tree, pos, sz) @@ -784,9 +792,9 @@ do name = "Sender's public Diffie--Hellman length", type = ftypes.UINT16, base = base.DEC }, - ["secnet.kx.dhval.text"] = { - name = "Sender's public Diffie--Hellman text", type = ftypes.STRING, - base = base.ASCII + ["secnet.kx.dhval.bytes"] = { + name = "Sender's public Diffie--Hellman value bytes", + type = ftypes.BYTES, base = base.SPACE }, ["secnet.kx.sig"] = { name = "Sender's signature", type = ftypes.NONE