Differences From
Artifact [709e2a6426]:
13 13 const.maxpemsz = math.floor((const.keybits / 8)*6.4) + 128 -- idk why this formula works but it basically seems to
14 14
15 15 local ctx = lib.pk.mbedtls_pk_context
16 16
17 17 local struct hashalg { id: uint8 bytes: intptr }
18 18 local m = {
19 19 pemfile = uint8[const.maxpemsz];
20 - alg = {
21 - sha1 = `hashalg {id = lib.md.MBEDTLS_MD_SHA1; bytes = 160/8};
22 - sha256 = `hashalg {id = lib.md.MBEDTLS_MD_SHA256; bytes = 256/8};
23 - sha512 = `hashalg {id = lib.md.MBEDTLS_MD_SHA512; bytes = 512/8};
24 - sha384 = `hashalg {id = lib.md.MBEDTLS_MD_SHA384; bytes = 384/8};
25 - sha224 = `hashalg {id = lib.md.MBEDTLS_MD_SHA224; bytes = 224/8};
26 - -- md5 = {id = lib.md.MBEDTLS_MD_MD5};-- !!!
27 - };
20 + algsz = {
21 + sha1 = 160/8;
22 + sha256 = 256/8;
23 + sha512 = 512/8;
24 + sha384 = 384/8;
25 + sha224 = 224/8;
26 + }
28 27 }
28 +m.alg = {
29 + sha1 = `hashalg {id = lib.md.MBEDTLS_MD_SHA1; bytes = m.algsz.sha1};
30 + sha256 = `hashalg {id = lib.md.MBEDTLS_MD_SHA256; bytes = m.algsz.sha256};
31 + sha512 = `hashalg {id = lib.md.MBEDTLS_MD_SHA512; bytes = m.algsz.sha512};
32 + sha384 = `hashalg {id = lib.md.MBEDTLS_MD_SHA384; bytes = m.algsz.sha384};
33 + sha224 = `hashalg {id = lib.md.MBEDTLS_MD_SHA224; bytes = m.algsz.sha224};
34 + -- md5 = {id = lib.md.MBEDTLS_MD_MD5};-- !!!
35 +};
29 36 local callbacks = {}
30 37 if config.feat.randomizer == 'kern' then
31 38 local rnd = terralib.externfunction('getrandom', {&opaque, intptr, uint} -> ptrdiff);
32 39 terra callbacks.randomize(ctx: &opaque, dest: &uint8, sz: intptr): int
33 40 return rnd(dest, sz, 0)
34 41 end
35 42 elseif config.feat.randomizer == 'devfs' then