]> git.meshlink.io Git - meshlink/commitdiff
Add __attribute__((warn_unused_result)) to crypto functions.
authorGuus Sliepen <guus@tinc-vpn.org>
Fri, 10 May 2013 18:23:01 +0000 (20:23 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 10 May 2013 18:23:01 +0000 (20:23 +0200)
configure.ac
src/cipher.h
src/digest.h
src/ecdh.h
src/ecdsa.h
src/ecdsagen.h
src/prf.h
src/rsa.h
src/rsagen.h

index 5f6bfecdcd266940ee126ed1dbdd00f45b013ef8..1cea02fed4a42fbb6a9b1025f9243a29be4bb795 100644 (file)
@@ -156,6 +156,7 @@ AC_HEADER_TIME
 AC_STRUCT_TM
 
 tinc_ATTRIBUTE(__malloc__)
+tinc_ATTRIBUTE(__warn_unused_result__)
 
 AC_CHECK_TYPES([socklen_t, struct ether_header, struct arphdr, struct ether_arp, struct in_addr, struct addrinfo, struct ip, struct icmp, struct in6_addr, struct sockaddr_in6, struct ip6_hdr, struct icmp6_hdr, struct nd_neighbor_solicit, struct nd_opt_hdr], , ,
   [#include "src/have.h"]
index c586fffb787f0f1cf132f70a2da3ddac5ffe6b10..17ca6148519cec9e1e9f585367362af84947fc3b 100644 (file)
@@ -32,15 +32,14 @@ extern cipher_t *cipher_open_blowfish_ofb(void) __attribute__ ((__malloc__));
 extern void cipher_close(cipher_t *);
 extern size_t cipher_keylength(const cipher_t *);
 extern void cipher_get_key(const cipher_t *, void *);
-extern bool cipher_set_key(cipher_t *, void *, bool);
-extern bool cipher_set_key_from_rsa(cipher_t *, void *, size_t, bool);
-extern bool cipher_set_counter(cipher_t *, const void *, size_t);
-extern bool cipher_set_counter_key(cipher_t *, void *);
-extern bool cipher_encrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot);
-extern bool cipher_decrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot);
-extern bool cipher_counter_xor(cipher_t *, const void *indata, size_t inlen, void *outdata);
+extern bool cipher_set_key(cipher_t *, void *, bool) __attribute__ ((__warn_unused_result__));
+extern bool cipher_set_key_from_rsa(cipher_t *, void *, size_t, bool) __attribute__ ((__warn_unused_result__));
+extern bool cipher_set_counter(cipher_t *, const void *, size_t) __attribute__ ((__warn_unused_result__));
+extern bool cipher_set_counter_key(cipher_t *, void *) __attribute__ ((__warn_unused_result__));
+extern bool cipher_encrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot) __attribute__ ((__warn_unused_result__));
+extern bool cipher_decrypt(cipher_t *, const void *indata, size_t inlen, void *outdata, size_t *outlen, bool oneshot) __attribute__ ((__warn_unused_result__));
+extern bool cipher_counter_xor(cipher_t *, const void *indata, size_t inlen, void *outdata) __attribute__ ((__warn_unused_result__));
 extern int cipher_get_nid(const cipher_t *);
 extern bool cipher_active(const cipher_t *);
 
-
 #endif
index bd9e5875eb64e61dd0d6547bbaea3ed7152f1b29..1e149456124aa8bef876bb2f62df1a891115d642 100644 (file)
@@ -28,9 +28,9 @@ extern digest_t *digest_open_by_name(const char *name, int maclength) __attribut
 extern digest_t *digest_open_by_nid(int nid, int maclength) __attribute__ ((__malloc__));
 extern digest_t *digest_open_sha1(int maclength) __attribute__ ((__malloc__));
 extern void digest_close(digest_t *);
-extern bool digest_create(digest_t *, const void *indata, size_t inlen, void *outdata);
-extern bool digest_verify(digest_t *, const void *indata, size_t inlen, const void *digestdata);
-extern bool digest_set_key(digest_t *, const void *key, size_t len);
+extern bool digest_create(digest_t *, const void *indata, size_t inlen, void *outdata) __attribute__ ((__warn_unused_result__));
+extern bool digest_verify(digest_t *, const void *indata, size_t inlen, const void *digestdata) __attribute__ ((__warn_unused_result__));
+extern bool digest_set_key(digest_t *, const void *key, size_t len) __attribute__ ((__warn_unused_result__));
 extern int digest_get_nid(const digest_t *);
 extern size_t digest_keylength(const digest_t *);
 extern size_t digest_length(const digest_t *);
index 881ee924e92e893ed743de3ac05473d839e01696..fbd47292b614ca06098dd3153974b918918266c8 100644 (file)
@@ -28,7 +28,7 @@ typedef struct ecdh ecdh_t;
 #endif
 
 extern ecdh_t *ecdh_generate_public(void *pubkey) __attribute__ ((__malloc__));
-extern bool ecdh_compute_shared(ecdh_t *ecdh, const void *pubkey, void *shared);
+extern bool ecdh_compute_shared(ecdh_t *ecdh, const void *pubkey, void *shared) __attribute__ ((__warn_unused_result__));
 extern void ecdh_free(ecdh_t *ecdh);
 
 #endif
index 956123909eaa6a9019e51af1ceb9851842405768..d03a58edc5760dbd5811084b867dc2b4b220d8f8 100644 (file)
@@ -29,8 +29,8 @@ extern char *ecdsa_get_base64_public_key(ecdsa_t *ecdsa);
 extern ecdsa_t *ecdsa_read_pem_public_key(FILE *fp) __attribute__ ((__malloc__));
 extern ecdsa_t *ecdsa_read_pem_private_key(FILE *fp) __attribute__ ((__malloc__));
 extern size_t ecdsa_size(ecdsa_t *ecdsa);
-extern bool ecdsa_sign(ecdsa_t *ecdsa, const void *in, size_t inlen, void *out);
-extern bool ecdsa_verify(ecdsa_t *ecdsa, const void *in, size_t inlen, const void *out);
+extern bool ecdsa_sign(ecdsa_t *ecdsa, const void *in, size_t inlen, void *out) __attribute__ ((__warn_unused_result__));
+extern bool ecdsa_verify(ecdsa_t *ecdsa, const void *in, size_t inlen, const void *out) __attribute__ ((__warn_unused_result__));
 extern bool ecdsa_active(ecdsa_t *ecdsa);
 extern void ecdsa_free(ecdsa_t *ecdsa);
 
index 621913bc678cd690f1b7da7110dc6ec51cfae8b7..12e5c0032c5c25b7b7fa209a7570daf45675de61 100644 (file)
@@ -23,7 +23,7 @@
 #include "ecdsa.h"
 
 extern ecdsa_t *ecdsa_generate(void) __attribute__ ((__malloc__));
-extern bool ecdsa_write_pem_public_key(ecdsa_t *ecdsa, FILE *fp);
-extern bool ecdsa_write_pem_private_key(ecdsa_t *ecdsa, FILE *fp);
+extern bool ecdsa_write_pem_public_key(ecdsa_t *ecdsa, FILE *fp) __attribute__ ((__warn_unused_result__));
+extern bool ecdsa_write_pem_private_key(ecdsa_t *ecdsa, FILE *fp) __attribute__ ((__warn_unused_result__));
 
 #endif
index f7ecc644f92a2c2834f5edd0d473ccd7373e2262..ef4b99bbf8639a525ff2d221abcd7bf27710c33d 100644 (file)
--- a/src/prf.h
+++ b/src/prf.h
@@ -20,6 +20,6 @@
 #ifndef __TINC_PRF_H__
 #define __TINC_PRF_H__
 
-extern bool prf(const char *secret, size_t secretlen, char *seed, size_t seedlen, char *out, size_t outlen);
+extern bool prf(const char *secret, size_t secretlen, char *seed, size_t seedlen, char *out, size_t outlen) __attribute__ ((__warn_unused_result__));
 
 #endif
index 64344b749c5b0eb3fa360bc5c1028ccbad8c8aa0..f4290d443377e920da06d52a1eb949747ec32dae 100644 (file)
--- a/src/rsa.h
+++ b/src/rsa.h
@@ -30,7 +30,7 @@ extern rsa_t *rsa_set_hex_private_key(char *n, char *e, char *d) __attribute__ (
 extern rsa_t *rsa_read_pem_public_key(FILE *fp) __attribute__ ((__malloc__));
 extern rsa_t *rsa_read_pem_private_key(FILE *fp) __attribute__ ((__malloc__));
 extern size_t rsa_size(rsa_t *rsa);
-extern bool rsa_public_encrypt(rsa_t *rsa, void *in, size_t len, void *out);
-extern bool rsa_private_decrypt(rsa_t *rsa, void *in, size_t len, void *out);
+extern bool rsa_public_encrypt(rsa_t *rsa, void *in, size_t len, void *out) __attribute__ ((__warn_unused_result__));
+extern bool rsa_private_decrypt(rsa_t *rsa, void *in, size_t len, void *out) __attribute__ ((__warn_unused_result__));
 
 #endif
index 84cd0bb446b14de869b979b99556fe2b39c9cae4..58ce29f0cb20da3a18469b6168b0481ec3c73cb4 100644 (file)
@@ -23,7 +23,7 @@
 #include "rsa.h"
 
 extern rsa_t *rsa_generate(size_t bits, unsigned long exponent) __attribute__ ((__malloc__));
-extern bool rsa_write_pem_public_key(rsa_t *rsa, FILE *fp);
-extern bool rsa_write_pem_private_key(rsa_t *rsa, FILE *fp);
+extern bool rsa_write_pem_public_key(rsa_t *rsa, FILE *fp) __attribute__ ((__warn_unused_result__));
+extern bool rsa_write_pem_private_key(rsa_t *rsa, FILE *fp) __attribute__ ((__warn_unused_result__));
 
 #endif