Module Name: src Committed By: agc Date: Thu Apr 30 04:57:57 UTC 2009
Modified Files: src/crypto/external/bsd/netpgp/dist/src/lib: compress.c create.c keyring.c netpgp.c openssl_crypto.c packet-print.c reader.c signature.c Log Message: WARNS=3 fixes To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 \ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c \ src/crypto/external/bsd/netpgp/dist/src/lib/create.c \ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c \ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c \ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c \ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c cvs rdiff -u -r1.3 -r1.4 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c \ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/crypto/external/bsd/netpgp/dist/src/lib/compress.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/compress.c:1.2 Sat Apr 25 01:29:14 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/compress.c Thu Apr 30 04:57:57 2009 @@ -85,8 +85,8 @@ { z_decompress_t *z = __ops_reader_get_arg(rinfo); size_t len; + size_t cc; char *cdest = dest; - int cc; assert(z->type == OPS_C_ZIP || z->type == OPS_C_ZLIB); @@ -168,8 +168,8 @@ { bz_decompress_t *bz = __ops_reader_get_arg(rinfo); size_t len; + size_t cc; char *cdest = dest; - int cc; assert(bz->type == OPS_C_BZIP2); Index: src/crypto/external/bsd/netpgp/dist/src/lib/create.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/create.c:1.2 Sat Apr 25 01:29:15 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/create.c Thu Apr 30 04:57:57 2009 @@ -39,13 +39,19 @@ #include "memory.h" #include "netpgpdefs.h" +#include <sys/types.h> +#include <sys/stat.h> +#include <sys/mman.h> + #include <string.h> #ifdef HAVE_ASSERT_H #include <assert.h> #endif +#ifdef HAVE_FCNTL_H #include <fcntl.h> +#endif #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -99,9 +105,9 @@ __ops_write_struct_user_id(__ops_user_id_t * id, __ops_create_info_t * info) { - return __ops_write_ptag(OPS_PTAG_CT_USER_ID, info) - && __ops_write_length(strlen((char *) id->user_id), info) - && __ops_write(id->user_id, strlen((char *) id->user_id), info); + return __ops_write_ptag(OPS_PTAG_CT_USER_ID, info) && + __ops_write_length(strlen((char *) id->user_id), info) && + __ops_write(id->user_id, strlen((char *) id->user_id), info); } /** @@ -359,6 +365,7 @@ if (__ops_get_debug_level(__FILE__)) { unsigned int i2 = 0; + fprintf(stderr, "\nWRITING:\niv="); for (i2 = 0; i2 < __ops_block_size(key->algorithm); i2++) { fprintf(stderr, "%02x ", key->iv[i2]); @@ -385,12 +392,12 @@ case OPS_PKA_RSA_ENCRYPT_ONLY: case OPS_PKA_RSA_SIGN_ONLY: - if (!__ops_write_mpi(key->key.rsa.d, info) - || !__ops_write_mpi(key->key.rsa.p, info) - || !__ops_write_mpi(key->key.rsa.q, info) - || !__ops_write_mpi(key->key.rsa.u, info)) { + if (!__ops_write_mpi(key->key.rsa.d, info) || + !__ops_write_mpi(key->key.rsa.p, info) || + !__ops_write_mpi(key->key.rsa.q, info) || + !__ops_write_mpi(key->key.rsa.u, info)) { if (__ops_get_debug_level(__FILE__)) { - fprintf(stderr, "4 x mpi not written - problem\n"); + (void) fprintf(stderr, "4 x mpi not written - problem\n"); } return false; } @@ -522,10 +529,12 @@ */ bool -__ops_write_transferable_secret_key(const __ops_keydata_t * keydata, const unsigned char *passphrase, const size_t pplen, bool armoured, __ops_create_info_t * info) +__ops_write_transferable_secret_key(const __ops_keydata_t *keydata, + const unsigned char *passphrase, const size_t pplen, + bool armoured, __ops_create_info_t * info) { - bool rtn; - unsigned int i = 0, j = 0; + unsigned i = 0, j = 0; + bool rtn; if (armoured) { __ops_writer_push_armoured(info, OPS_PGP_PRIVATE_KEY_BLOCK); @@ -757,10 +766,10 @@ /* secret key and public key MPIs */ length += secret_key_length(key); - return __ops_write_ptag(OPS_PTAG_CT_SECRET_KEY, info) - /* && __ops_write_length(1+4+1+1+secret_key_length(key)+2,info) */ - && __ops_write_length((unsigned)length, info) - && write_secret_key_body(key, passphrase, pplen, info); + return __ops_write_ptag(OPS_PTAG_CT_SECRET_KEY, info) && + /* __ops_write_length(1+4+1+1+secret_key_length(key)+2,info) && */ + __ops_write_length((unsigned)length, info) && + write_secret_key_body(key, passphrase, pplen, info); } /** @@ -894,7 +903,6 @@ (void) memcpy(EM + i, M, mLen); - if (__ops_get_debug_level(__FILE__)) { unsigned int i2 = 0; fprintf(stderr, "Encoded Message: \n"); @@ -998,12 +1006,12 @@ assert(pksk); assert(pksk->algorithm == OPS_PKA_RSA); - return __ops_write_ptag(OPS_PTAG_CT_PK_SESSION_KEY, info) - && __ops_write_length((unsigned)(1 + 8 + 1 + BN_num_bytes(pksk->parameters.rsa.encrypted_m) + 2), info) - && __ops_write_scalar((unsigned)pksk->version, 1, info) - && __ops_write(pksk->key_id, 8, info) - && __ops_write_scalar((unsigned)pksk->algorithm, 1, info) - && __ops_write_mpi(pksk->parameters.rsa.encrypted_m, info) + return __ops_write_ptag(OPS_PTAG_CT_PK_SESSION_KEY, info) && + __ops_write_length((unsigned)(1 + 8 + 1 + BN_num_bytes(pksk->parameters.rsa.encrypted_m) + 2), info) && + __ops_write_scalar((unsigned)pksk->version, 1, info) && + __ops_write(pksk->key_id, 8, info) && + __ops_write_scalar((unsigned)pksk->algorithm, 1, info) && + __ops_write_mpi(pksk->parameters.rsa.encrypted_m, info) /* ?? && __ops_write_scalar(0, 2, info); */ ; } @@ -1021,9 +1029,9 @@ __ops_create_info_t * info) { /* write it out */ - return __ops_write_ptag(OPS_PTAG_CT_MDC, info) - && __ops_write_length(OPS_SHA1_HASH_SIZE, info) - && __ops_write(hashed, OPS_SHA1_HASH_SIZE, info); + return __ops_write_ptag(OPS_PTAG_CT_MDC, info) && + __ops_write_length(OPS_SHA1_HASH_SIZE, info) && + __ops_write(hashed, OPS_SHA1_HASH_SIZE, info); } /** @@ -1047,12 +1055,12 @@ * We will not implement them. */ /* \todo do we need to check text data for <cr><lf> line endings ? */ - return __ops_write_ptag(OPS_PTAG_CT_LITERAL_DATA, info) - && __ops_write_length((unsigned)(1 + 1 + 4 + maxlen), info) - && __ops_write_scalar((unsigned)type, 1, info) - && __ops_write_scalar(0, 1, info) - && __ops_write_scalar(0, 4, info) - && __ops_write(data, (unsigned)maxlen, info); + return __ops_write_ptag(OPS_PTAG_CT_LITERAL_DATA, info) && + __ops_write_length((unsigned)(1 + 1 + 4 + maxlen), info) && + __ops_write_scalar((unsigned)type, 1, info) && + __ops_write_scalar(0, 1, info) && + __ops_write_scalar(0, 4, info) && + __ops_write(data, (unsigned)maxlen, info); } /** @@ -1069,12 +1077,14 @@ const __ops_literal_data_type_t type, __ops_create_info_t * info) { - size_t initial_size = 1024; - int fd = 0; - bool rtn; - unsigned char buf[1024]; - __ops_memory_t *mem = NULL; - size_t len = 0; + unsigned char buf[1024]; + unsigned char *mmapped; + __ops_memory_t *mem = NULL; + struct stat st; + size_t initial_size = 1024; + size_t len = 0; + int fd = 0; + bool rtn; #ifdef O_BINARY fd = open(filename, O_RDONLY | O_BINARY); @@ -1085,26 +1095,44 @@ return false; mem = __ops_memory_new(); - __ops_memory_init(mem, initial_size); - for (;;) { - ssize_t n = 0; - n = read(fd, buf, 1024); - if (!n) - break; - __ops_memory_add(mem, &buf[0], (unsigned)n); + mmapped = MAP_FAILED; +#ifdef USE_MMAP_FOR_FILES + if (fstat(fd, &st) == 0) { + mem->length = st.st_size; + mmapped = mem->buf = mmap(NULL, (size_t)st.st_size, PROT_READ, MAP_FILE | MAP_PRIVATE, fd, 0); } - close(fd); +#endif + if (mmapped == MAP_FAILED) { + __ops_memory_init(mem, initial_size); + for (;;) { + ssize_t n = 0; + + n = read(fd, buf, sizeof(buf)); + if (!n) + break; + __ops_memory_add(mem, buf, (unsigned)n); + } + } + (void) close(fd); /* \todo do we need to check text data for <cr><lf> line endings ? */ len = __ops_memory_get_length(mem); - rtn = __ops_write_ptag(OPS_PTAG_CT_LITERAL_DATA, info) - && __ops_write_length(1 + 1 + 4 + len, info) - && __ops_write_scalar((unsigned)type, 1, info) - && __ops_write_scalar(0, 1, info) /* filename */ - &&__ops_write_scalar(0, 4, info) /* date */ - &&__ops_write(__ops_memory_get_data(mem), len, info); - - __ops_memory_free(mem); + rtn = __ops_write_ptag(OPS_PTAG_CT_LITERAL_DATA, info) && + __ops_write_length(1 + 1 + 4 + len, info) && + __ops_write_scalar((unsigned)type, 1, info) && + __ops_write_scalar(0, 1, info) /* filename */ && + __ops_write_scalar(0, 4, info) /* date */ && + __ops_write(__ops_memory_get_data(mem), len, info); + +#ifdef USE_MMAP_FOR_FILES + if (mmapped != NULL) { + munmap(mmapped, mem->length); + mmapped = buf; + } +#endif + if (mmapped == NULL) { + __ops_memory_free(mem); + } return rtn; } @@ -1231,9 +1259,9 @@ assert(done == len); /* printf("len=%d, done: %d\n", len, done); */ - return __ops_write_ptag(OPS_PTAG_CT_SE_DATA, info) - && __ops_write_length(1 + encrypted_sz, info) - && __ops_write(data, (unsigned)len, info); + return __ops_write_ptag(OPS_PTAG_CT_SE_DATA, info) && + __ops_write_length(1 + encrypted_sz, info) && + __ops_write(data, (unsigned)len, info); } /** @@ -1252,17 +1280,18 @@ __ops_create_info_t * info) { unsigned char keyid[OPS_KEY_ID_SIZE]; + if (__ops_get_debug_level(__FILE__)) { fprintf(stderr, "calling __ops_keyid in write_one_pass_sig: this calls sha1_init\n"); } __ops_keyid(keyid, OPS_KEY_ID_SIZE, OPS_KEY_ID_SIZE, &skey->public_key); - return __ops_write_ptag(OPS_PTAG_CT_ONE_PASS_SIGNATURE, info) - && __ops_write_length(1 + 1 + 1 + 1 + 8 + 1, info) - && __ops_write_scalar(3, 1, info) /* version */ - && __ops_write_scalar((unsigned)sig_type, 1, info) - && __ops_write_scalar((unsigned)hash_alg, 1, info) - && __ops_write_scalar((unsigned)skey->public_key.algorithm, 1, info) - && __ops_write(keyid, 8, info) - && __ops_write_scalar(1, 1, info); + return __ops_write_ptag(OPS_PTAG_CT_ONE_PASS_SIGNATURE, info) && + __ops_write_length(1 + 1 + 1 + 1 + 8 + 1, info) && + __ops_write_scalar(3, 1, info) /* version */ && + __ops_write_scalar((unsigned)sig_type, 1, info) && + __ops_write_scalar((unsigned)hash_alg, 1, info) && + __ops_write_scalar((unsigned)skey->public_key.algorithm, 1, info) && + __ops_write(keyid, 8, info) && + __ops_write_scalar(1, 1, info); } Index: src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c:1.2 Sat Apr 25 01:29:15 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c Thu Apr 30 04:57:57 2009 @@ -850,10 +850,10 @@ static const char *lowers = "0123456789abcdef"; unsigned char hichar; unsigned char lochar; + size_t j; const char *hi; const char *lo; int i; - int j; for (i = j = 0 ; j < len && userid[i] && userid[i + 1] ; i += 2, j++) { if ((hi = strchr(uppers, userid[i])) == NULL) { Index: src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c:1.2 Sat Apr 25 01:29:15 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/openssl_crypto.c Thu Apr 30 04:57:57 2009 @@ -52,6 +52,8 @@ /* Apple */ #ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H +#undef MD5_DIGEST_LENGTH +#undef SHA_DIGEST_LENGTH #define COMMON_DIGEST_FOR_OPENSSL 1 #include <CommonCrypto/CommonDigest.h> #endif Index: src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c:1.2 Sat Apr 25 01:29:15 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/packet-print.c Thu Apr 30 04:57:57 2009 @@ -367,21 +367,19 @@ { unsigned char *cur; unsigned rem; + unsigned blksz = 4; int i; - int blksz = 4; printf("\nhexdump of packet contents follows:\n"); - - for (i = 1, cur = packet->raw; cur < (packet->raw + packet->length); cur += blksz, i++) { rem = packet->raw + packet->length - cur; hexdump(cur, (rem <= blksz) ? rem : blksz, ""); printf(" "); - if (!(i % 8)) + if (i % 8 == 0) { printf("\n"); + } } - printf("\n"); } Index: src/crypto/external/bsd/netpgp/dist/src/lib/signature.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.2 src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.3 --- src/crypto/external/bsd/netpgp/dist/src/lib/signature.c:1.2 Sat Apr 25 01:29:15 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/signature.c Thu Apr 30 04:57:57 2009 @@ -279,13 +279,13 @@ const __ops_rsa_signature_t * sig, const __ops_rsa_public_key_t * rsa) { - unsigned char sigbuf[NETPGP_BUFSIZ]; - unsigned char hashbuf_from_sig[NETPGP_BUFSIZ]; - unsigned n; - unsigned keysize; - const unsigned char *prefix; - unsigned plen; - int debug_len_decrypted; + const unsigned char *prefix; + unsigned char sigbuf[NETPGP_BUFSIZ]; + unsigned char hashbuf_from_sig[NETPGP_BUFSIZ]; + unsigned n; + unsigned keysize; + unsigned plen; + unsigned debug_len_decrypted; plen = 0; prefix = (const unsigned char *) ""; @@ -336,8 +336,8 @@ return false; if (__ops_get_debug_level(__FILE__)) { - int zz; - unsigned uu; + unsigned zz; + unsigned uu; printf("\n"); printf("hashbuf_from_sig\n"); Index: src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.3 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c:1.3 Sun Apr 26 16:55:44 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c Thu Apr 30 04:57:57 2009 @@ -135,8 +135,8 @@ psuccess(char *f, __ops_validation_t *results, __ops_keyring_t *pubring) { const __ops_keydata_t *pubkey; + unsigned i; char id[MAX_ID_LENGTH + 1]; - int i; for (i = 0; i < results->validc; i++) { printf("Good signature for %s made %susing %s key %s\n", Index: src/crypto/external/bsd/netpgp/dist/src/lib/reader.c diff -u src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.3 src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.4 --- src/crypto/external/bsd/netpgp/dist/src/lib/reader.c:1.3 Tue Apr 28 00:41:40 2009 +++ src/crypto/external/bsd/netpgp/dist/src/lib/reader.c Thu Apr 30 04:57:57 2009 @@ -2095,12 +2095,12 @@ __ops_reader_info_t *rinfo, __ops_parse_cb_info_t *cbinfo) { mmap_reader_t *mem = __ops_reader_get_arg(rinfo); + unsigned n; char *cmem = mem->mem; - int n; OPS_USED(errors); OPS_USED(cbinfo); - n = MIN(length, (int)(mem->size - mem->offset)); + n = MIN(length, (unsigned)(mem->size - mem->offset)); if (n > 0) { (void) memcpy(dest, &cmem[(int)mem->offset], (unsigned)n); mem->offset += n;