summaryrefslogtreecommitdiff
path: root/src/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.c')
-rw-r--r--src/util.c43
1 files changed, 3 insertions, 40 deletions
diff --git a/src/util.c b/src/util.c
index 908e3a2..b552afc 100644
--- a/src/util.c
+++ b/src/util.c
@@ -50,50 +50,13 @@ static const char *HEX_CHARS = "0123456789abcdef";
* \param size the number of bytes to encode
*/
void mem2hex(char *dest, const void *src, size_t size) {
- for (size_t i = 0; i < size; i++) {
+ size_t i;
+ for (i = 0; i < size; i++) {
unsigned char c = *((const unsigned char *)src + i);
dest[2*i] = HEX_CHARS[c >> 4];
dest[2*i+1] = HEX_CHARS[c & 0xf];
}
- dest[size*2] = '\0';
-}
-
-void hash(const unsigned char salt[static SALT_LEN], unsigned char *out, const void *in, size_t size) {
- assert(size < INT_MAX - SALT_LEN - 100);
-#ifdef DEBUG
- fprintf(stderr, "hashing %zu bytes starting with 0x%x ending with 0x%x\n", size, (int)((unsigned char*)in)[0], (int)((unsigned char*)in)[size-1]);
-#endif
- sha256_ctx ctx;
- sha256_init(&ctx);
- sha256_update(&ctx, salt, SALT_LEN);
- sha256_update(&ctx, in, (unsigned int)size);
- sha256_final(&ctx, out);
-}
-
-static void print_hash(const unsigned char digest[static HASH_LEN]) {
-#ifdef DEBUG
- char hash[HASH_LEN*2+1];
- mem2hex(hash, digest, HASH_LEN);
- fprintf(stderr, "hash: %s\n", hash);
-#else
- (void)digest;
-#endif
-}
-
-bool hash_match(const unsigned char digest[static HASH_LEN], const char *arg) {
- unsigned char theirdigest[HASH_LEN];
- if (hex2mem(theirdigest, sizeof(theirdigest), arg) == 0) {
- fputs("error decoding hex hash\n", stderr);
- exit(1);
- }
-#ifdef DEBUG
- fprintf(stderr, "comparing hash, theirs: %s = 0x%02x..0x%02x, ours: 0x%02x..0x%02x\n", arg, (int)theirdigest[0], (int)theirdigest[HASH_LEN-1], (int)digest[0], (int)theirdigest[HASH_LEN-1]);
- fputs(" our ", stderr);
- print_hash(digest);
- fputs("their ", stderr);
- print_hash(theirdigest);
-#endif
- return !memcmp(digest, theirdigest, HASH_LEN);
+ dest[2*i] = '\0';
}
ssize_t random_get(void *buf, size_t buflen, unsigned int flags) {