CLEANUP: Consistently `unsigned int` for bitfields
Signed bitfields of size `1` hold the values `0` and `-1`, but are
usually assigned `1`, possibly leading to subtle bugs when the value
is explicitely compared against `1`.
diff --git a/include/types/listener.h b/include/types/listener.h
index 1098b42..bcc57ae 100644
--- a/include/types/listener.h
+++ b/include/types/listener.h
@@ -124,9 +124,9 @@
char *alpn_str; /* ALPN protocol string */
int alpn_len; /* ALPN protocol string length */
#endif
- int verify:3; /* verify method (set of SSL_VERIFY_* flags) */
- int no_ca_names:1; /* do not send ca names to clients (ca_file related) */
- int early_data:1; /* early data allowed */
+ unsigned int verify:3; /* verify method (set of SSL_VERIFY_* flags) */
+ unsigned int no_ca_names:1;/* do not send ca names to clients (ca_file related) */
+ unsigned int early_data:1; /* early data allowed */
char *ca_file; /* CAfile to use on verify */
char *crl_file; /* CRLfile to use on verify */
char *ciphers; /* cipher suite to use if non-null */
diff --git a/include/types/pattern.h b/include/types/pattern.h
index a0bb08e..a2d609b 100644
--- a/include/types/pattern.h
+++ b/include/types/pattern.h
@@ -150,8 +150,8 @@
int i; /* integer value */
struct {
signed long long min, max;
- int min_set :1;
- int max_set :1;
+ unsigned int min_set:1;
+ unsigned int max_set:1;
} range; /* integer range */
struct {
struct in_addr addr;
diff --git a/include/types/ssl_sock.h b/include/types/ssl_sock.h
index ccc9235..009c6c6 100644
--- a/include/types/ssl_sock.h
+++ b/include/types/ssl_sock.h
@@ -36,8 +36,8 @@
struct sni_ctx {
SSL_CTX *ctx; /* context associated to the certificate */
int order; /* load order for the certificate */
- uint8_t neg:1; /* reject if match */
- uint8_t wild:1; /* wildcard sni */
+ unsigned int neg:1; /* reject if match */
+ unsigned int wild:1; /* wildcard sni */
struct pkey_info kinfo; /* pkey info */
struct ssl_bind_conf *conf; /* ssl "bind" conf for the certificate */
struct list by_ckch_inst; /* chained in ckch_inst's list of sni_ctx */
@@ -109,8 +109,8 @@
*/
struct ckch_store {
struct cert_key_and_chain *ckch;
- int multi:1; /* is it a multi-cert bundle ? */
- int filters:1; /* one of the instances is using filters, TODO:remove this flag once filters are supported */
+ unsigned int multi:1; /* is it a multi-cert bundle ? */
+ unsigned int filters:1;/* one of the instances is using filters, TODO:remove this flag once filters are supported */
struct list ckch_inst; /* list of ckch_inst which uses this ckch_node */
struct ebmb_node node;
char path[0];