X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=crypt_common.c;h=08361b27104d6a4658e151259ba6f0ae585205c0;hp=1fd8189ca3c5a201bd2d227bb366bd800757a5a5;hb=ebbea4043aa7c7f200e4f56c3bfa42f5c31f2e03;hpb=b4c9282be012ea84f7154684e9b2a469171e5e2b diff --git a/crypt_common.c b/crypt_common.c index 1fd8189c..08361b27 100644 --- a/crypt_common.c +++ b/crypt_common.c @@ -1,8 +1,4 @@ -/* - * Copyright (C) 2005 Andre Noll - * - * Licensed under the GPL v2. For licencing details see COPYING. - */ +/* Copyright (C) 2005 Andre Noll , see file COPYING. */ /** \file crypt_common.c Crypto functions independent of openssl/libgcrypt. */ @@ -13,6 +9,7 @@ #include "string.h" #include "crypt.h" #include "crypt_backend.h" +#include "portable_io.h" /** If the key begins with this text, we treat it as an ssh key. */ #define KEY_TYPE_TXT "ssh-rsa" @@ -45,29 +42,6 @@ size_t is_ssh_rsa_key(char *data, size_t size) return cp - data; } -/** - * Read a 4-byte number from a buffer in big-endian format. - * - * \param vp The buffer. - * - * The byte-order of the buffer is expected to be big-endian, unlike read_u32() - * of portable_io.h which expects little endian. - * - * \return The 32 bit number given by \a vp. - */ -uint32_t read_ssh_u32(const void *vp) -{ - const unsigned char *p = (const unsigned char *)vp; - uint32_t v; - - v = (uint32_t)p[0] << 24; - v |= (uint32_t)p[1] << 16; - v |= (uint32_t)p[2] << 8; - v |= (uint32_t)p[3]; - - return v; -} - /** * Sanity checks for the header of an ssh key. * @@ -88,7 +62,7 @@ int check_ssh_key_header(const unsigned char *blob, int blen) if (p + 4 > end) return -E_SSH_KEY_HEADER; - rlen = read_ssh_u32(p); + rlen = read_u32_be(p); p += 4; if (p + rlen < p) return -E_SSH_KEY_HEADER;