-/*
- * Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 2005 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
/** \file crypt.c Openssl-based encryption/decryption routines. */
#include "fd.h"
#include "crypt_backend.h"
#include "base64.h"
+#include "portable_io.h"
struct asymmetric_key {
RSA *rsa;
}
/*
- * Read 64 bytes from /dev/urandom and adds them to the SSL PRNG. Seed the PRNG
- * used by random() with a random seed obtained from SSL. If /dev/random is not
- * readable the function calls exit().
+ * Read 64 bytes from /dev/urandom and add them to the SSL PRNG. Seed the PRNG
+ * used by random(3) with a random seed obtained from SSL. If /dev/urandom is
+ * not readable, the function calls exit().
*
* \sa RAND_load_file(3), \ref get_random_bytes_or_die(), srandom(3),
* random(3), \ref para_random().
return -E_BIGNUM;
if (p + 4 > end)
return -E_BIGNUM;
- bnsize = read_ssh_u32(p);
+ bnsize = read_u32_be(p);
PARA_DEBUG_LOG("bnsize: %u\n", bnsize);
p += 4;
if (p + bnsize < p)
goto out;
ret = is_ssh_rsa_key(map, map_size);
if (!ret) {
- para_munmap(map, map_size);
- return -E_SSH_PARSE;
+ ret = -E_SSH_PARSE;
+ goto out_unmap;
}
cp = map + ret;
encoded_size = map_size - ret;