Overview
Comment: | Use Tcl for free() and malloc() within argon2 |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | monocypher |
Files: | files | file ages | folders |
SHA3-256: |
e61a5fb78cc46a75f1f30c68e4c509d8 |
User & Date: | rkeene on 2019-01-11 16:43:30 |
Other Links: | branch diff | manifest | tags |
Context
2019-01-11
| ||
16:45 | Integrated monocypher changes check-in: eb79ca52ec user: rkeene tags: trunk | |
16:43 | Use Tcl for free() and malloc() within argon2 Closed-Leaf check-in: e61a5fb78c user: rkeene tags: monocypher | |
16:08 | Removed all heap-based memory allocations since they can be done on the stack now that they are constant sized check-in: 567d112dc6 user: rkeene tags: monocypher | |
Changes
Modified build/argon2/Makefile from [2e6c9551be] to [2c770458fb].
1 2 3 4 | PREFIX := $(shell pwd)/INST all: out/argon2.c out/argon2.h | | > > | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | PREFIX := $(shell pwd)/INST all: out/argon2.c out/argon2.h out/argon2.c: src/argon2.c src/ref.c src/core.c src/blake2b.c src/encoding.c monocypher-blake2b.h Makefile mkdir -p out echo '#define ARGON2_NO_THREADS 1' > out/argon2.c.new.1 echo '#define ARGON2_INTERNAL_ONLY 1' >> out/argon2.c.new.1 cat monocypher-blake2b.h >> out/argon2.c.new.1 echo '#include "argon2.h"' >> out/argon2.c.new.1 sed '/^#include "/ d' src/argon2.c >> out/argon2.c.new.1 sed '/^#include "/ d' src/encoding.c >> out/argon2.c.new.1 sed '/^#include "/ d' src/ref.c >> out/argon2.c.new.1 sed '/#include "/ d;/#include/ b;/Argon2 Team - Begin Code/,/Argon2 Team - End Code/ b;d' src/blake2b.c >> out/argon2.c.new.1 sed '/^#include "/ d' src/core.c >> out/argon2.c.new.1 sed -r '/( |\*)argon(2_ctx|2_verify|2_hash|2_type2|2_error_message|2_encodedlen|2i_|2d_|2id_)/ b;/:/ b;/^(static|extern|enum|typedef) / b;s@^[a-z]@static &@' out/argon2.c.new.1 > out/argon2.c.new.2 rm -f out/argon2.c.new.1 sed 's@malloc(@(void *) Tcl_AttemptAlloc(@g;s@free(@Tcl_Free((void *) @g' out/argon2.c.new.2 > out/argon2.c.new.1 rm -f out/argon2.c.new.2 mv out/argon2.c.new.1 out/argon2.c out/argon2.h: src/argon2.h src/blamka-round-ref.h src/core.h src/encoding.h Makefile mkdir -p out cat src/argon2.h > out/argon2.h.new.1 echo '#ifdef ARGON2_INTERNAL_ONLY' >> out/argon2.h.new.1 cat src/blamka-round-ref.h src/core.h src/encoding.h >> out/argon2.h.new.1 echo '#endif' >> out/argon2.h.new.1 sed -r '/^extern int FLAG/ d;/#include "/ d;/( |\*)argon(2_ctx|2_verify|2_hash|2_type2|2_error_message|2_encodedlen|2i_|2d_|2id_)/ b;/:/ b;/^(static|extern|enum|typedef) / b;s@^[a-z]@static &@' out/argon2.h.new.1 > out/argon2.h.new.2 rm -f out/argon2.h.new.1 |
︙ | ︙ |
Modified build/argon2/monocypher-blake2b.h from [b2dc3556d1] to [1b9e334905].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #define crypto_hash(out, in, inlen) crypto_blake2b(out, in, inlen) #define blake2b(out, outlen, in, inlen, key, keylen) 0, crypto_blake2b_general(out, outlen, key, keylen, in, inlen) #define blake2b_state crypto_blake2b_ctx #define blake2b_init(ctx, outlen) 0; crypto_blake2b_general_init(ctx, outlen, NULL, 0) #define blake2b_update(ctx, in, inlen) 0; crypto_blake2b_update(ctx, in, inlen) #define blake2b_final(ctx, out, ignore1) 0; crypto_blake2b_final(ctx, out) #define BLAKE2_INLINE #define BLAKE2B_OUTBYTES 64 #include <stdint.h> #include "monocypher.h" static BLAKE2_INLINE uint64_t rotr64(uint64_t x, uint64_t n) { return (x >> n) ^ (x << (64 - n)); } static BLAKE2_INLINE void store32( void *dst, uint32_t w ) { #if defined(NATIVE_LITTLE_ENDIAN) memcpy(dst, &w, sizeof w); #else | > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #define crypto_hash(out, in, inlen) crypto_blake2b(out, in, inlen) #define blake2b(out, outlen, in, inlen, key, keylen) 0, crypto_blake2b_general(out, outlen, key, keylen, in, inlen) #define blake2b_state crypto_blake2b_ctx #define blake2b_init(ctx, outlen) 0; crypto_blake2b_general_init(ctx, outlen, NULL, 0) #define blake2b_update(ctx, in, inlen) 0; crypto_blake2b_update(ctx, in, inlen) #define blake2b_final(ctx, out, ignore1) 0; crypto_blake2b_final(ctx, out) #define BLAKE2_INLINE #define BLAKE2B_OUTBYTES 64 #include <stdint.h> #include <tcl.h> #include "monocypher.h" static BLAKE2_INLINE uint64_t rotr64(uint64_t x, uint64_t n) { return (x >> n) ^ (x << (64 - n)); } static BLAKE2_INLINE void store32( void *dst, uint32_t w ) { #if defined(NATIVE_LITTLE_ENDIAN) memcpy(dst, &w, sizeof w); #else |
︙ | ︙ |