parsav  Diff

Differences From Artifact [709e2a6426]:

To Artifact [48369b50e0]:


    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