X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=meta-starlingx%2Fmeta-stx-distro%2Frecipes-security%2Fgssproxy%2Ffiles%2FFix-mismatched-sign-comparisons.patch;fp=meta-starlingx%2Fmeta-stx-distro%2Frecipes-security%2Fgssproxy%2Ffiles%2FFix-mismatched-sign-comparisons.patch;h=0000000000000000000000000000000000000000;hb=6fc6934434f70595536a387ece31bc30141cafb5;hp=8d27612c55b13fa2e34f3d54142df874253b672f;hpb=eb1e26510491ba49de693ab3b0498edcb06be6c5;p=pti%2Frtp.git diff --git a/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-mismatched-sign-comparisons.patch b/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-mismatched-sign-comparisons.patch deleted file mode 100644 index 8d27612..0000000 --- a/meta-starlingx/meta-stx-distro/recipes-security/gssproxy/files/Fix-mismatched-sign-comparisons.patch +++ /dev/null @@ -1,741 +0,0 @@ -From a68b8b418bfc42c628fee605cc52dca92ab410c9 Mon Sep 17 00:00:00 2001 -From: Robbie Harwood -Date: Wed, 15 Mar 2017 14:52:08 -0400 -Subject: [PATCH] Fix mismatched sign comparisons - -We are c99, so also migrate to `for`-loop initializers where possible for -clarity. - -Signed-off-by: Robbie Harwood -Reviewed-by: Simo Sorce -Merges: #173 -(cherry picked from commit 377e92c7ead312c530b233a1e023493ecde033d6) ---- - proxy/src/client/gpm_acquire_cred.c | 11 ++----- - proxy/src/client/gpm_common.c | 4 +-- - proxy/src/client/gpm_import_and_canon_name.c | 7 ++--- - proxy/src/client/gpm_indicate_mechs.c | 33 +++++++++----------- - proxy/src/gp_common.h | 3 +- - proxy/src/gp_config.c | 9 ++---- - proxy/src/gp_conv.c | 6 ++-- - proxy/src/gp_creds.c | 3 +- - proxy/src/gp_export.c | 9 ++---- - proxy/src/gp_rpc_acquire_cred.c | 5 ++- - proxy/src/gp_rpc_debug.c | 26 +++++++-------- - proxy/src/gp_rpc_indicate_mechs.c | 15 +++------ - proxy/src/gp_socket.c | 4 +-- - proxy/src/gp_util.c | 4 +-- - proxy/tests/t_utils.c | 4 +-- - 15 files changed, 58 insertions(+), 85 deletions(-) - -diff --git a/proxy/src/client/gpm_acquire_cred.c b/proxy/src/client/gpm_acquire_cred.c -index 632973d..8e30e1d 100644 ---- a/proxy/src/client/gpm_acquire_cred.c -+++ b/proxy/src/client/gpm_acquire_cred.c -@@ -6,8 +6,6 @@ static int gpmint_cred_to_actual_mechs(gssx_cred *c, gss_OID_set *a) - { - gssx_cred_element *e; - gss_OID_set m = GSS_C_NO_OID_SET; -- int i; -- - - if (c->elements.elements_len) { - -@@ -22,7 +20,7 @@ static int gpmint_cred_to_actual_mechs(gssx_cred *c, gss_OID_set *a) - return ENOMEM; - } - -- for (i = 0; i < c->elements.elements_len; i++) { -+ for (unsigned i = 0; i < c->elements.elements_len; i++) { - e = &c->elements.elements_val[i]; - - m->elements[i].elements = gp_memdup(e->mech.octet_string_val, -@@ -280,7 +278,6 @@ OM_uint32 gpm_inquire_cred(OM_uint32 *minor_status, - uint32_t ret_maj = GSS_S_COMPLETE; - uint32_t life; - int cu; -- int i; - - if (!cred) { - *minor_status = 0; -@@ -308,8 +305,7 @@ OM_uint32 gpm_inquire_cred(OM_uint32 *minor_status, - life = GSS_C_INDEFINITE; - cu = -1; - -- for (i = 0; i < cred->elements.elements_len; i++) { -- -+ for (unsigned i = 0; i < cred->elements.elements_len; i++) { - e = &cred->elements.elements_val[i]; - - switch (e->cred_usage) { -@@ -402,7 +398,7 @@ OM_uint32 gpm_inquire_cred_by_mech(OM_uint32 *minor_status, - gss_OID_desc tmp_oid; - uint32_t ret_min = 0; - uint32_t ret_maj = GSS_S_COMPLETE; -- int i; -+ unsigned i; - - if (!cred) { - *minor_status = 0; -@@ -414,7 +410,6 @@ OM_uint32 gpm_inquire_cred_by_mech(OM_uint32 *minor_status, - } - - for (i = 0; i < cred->elements.elements_len; i++) { -- - e = &cred->elements.elements_val[i]; - gp_conv_gssx_to_oid(&e->mech, &tmp_oid); - if (!gss_oid_equal(&tmp_oid, mech_type)) { -diff --git a/proxy/src/client/gpm_common.c b/proxy/src/client/gpm_common.c -index 030765a..8c96986 100644 ---- a/proxy/src/client/gpm_common.c -+++ b/proxy/src/client/gpm_common.c -@@ -166,7 +166,7 @@ static int gpm_send_buffer(struct gpm_ctx *gpmctx, - char *buffer, uint32_t length) - { - uint32_t size; -- size_t wn; -+ ssize_t wn; - size_t pos; - bool retry; - int ret; -@@ -232,7 +232,7 @@ static int gpm_recv_buffer(struct gpm_ctx *gpmctx, - char *buffer, uint32_t *length) - { - uint32_t size; -- size_t rn; -+ ssize_t rn; - size_t pos; - int ret; - -diff --git a/proxy/src/client/gpm_import_and_canon_name.c b/proxy/src/client/gpm_import_and_canon_name.c -index 83d0736..70149a3 100644 ---- a/proxy/src/client/gpm_import_and_canon_name.c -+++ b/proxy/src/client/gpm_import_and_canon_name.c -@@ -275,7 +275,6 @@ OM_uint32 gpm_inquire_name(OM_uint32 *minor_status, - { - gss_buffer_set_t xattrs = GSS_C_NO_BUFFER_SET; - int ret; -- int i; - - *minor_status = 0; - -@@ -306,13 +305,13 @@ OM_uint32 gpm_inquire_name(OM_uint32 *minor_status, - *minor_status = ENOMEM; - return GSS_S_FAILURE; - } -- for (i = 0; i < xattrs->count; i++) { -+ for (unsigned i = 0; i < xattrs->count; i++) { - ret = gp_copy_gssx_to_buffer( - &name->name_attributes.name_attributes_val[i].attr, - &xattrs->elements[i]); - if (ret) { -- for (--i; i >= 0; i--) { -- free(xattrs->elements[i].value); -+ for (; i > 0; i--) { -+ free(xattrs->elements[i-1].value); - } - free(xattrs->elements); - free(xattrs); -diff --git a/proxy/src/client/gpm_indicate_mechs.c b/proxy/src/client/gpm_indicate_mechs.c -index d4df923..b019a96 100644 ---- a/proxy/src/client/gpm_indicate_mechs.c -+++ b/proxy/src/client/gpm_indicate_mechs.c -@@ -51,7 +51,6 @@ static uint32_t gpm_copy_gss_OID_set(uint32_t *minor_status, - gss_OID_set n; - uint32_t ret_maj; - uint32_t ret_min; -- int i; - - ret_maj = gss_create_empty_oid_set(&ret_min, &n); - if (ret_maj) { -@@ -59,7 +58,7 @@ static uint32_t gpm_copy_gss_OID_set(uint32_t *minor_status, - return ret_maj; - } - -- for (i = 0; i < oldset->count; i++) { -+ for (size_t i = 0; i < oldset->count; i++) { - ret_maj = gss_add_oid_set_member(&ret_min, &oldset->elements[i], &n); - if (ret_maj) { - *minor_status = ret_min; -@@ -124,7 +123,6 @@ static void gpmint_indicate_mechs(void) - uint32_t ret_min; - uint32_t ret_maj = 0; - int ret = 0; -- int i; - - memset(arg, 0, sizeof(gssx_arg_indicate_mechs)); - memset(res, 0, sizeof(gssx_res_indicate_mechs)); -@@ -158,7 +156,7 @@ static void gpmint_indicate_mechs(void) - goto done; - } - -- for (i = 0; i < res->mechs.mechs_len; i++) { -+ for (unsigned i = 0; i < res->mechs.mechs_len; i++) { - mi = &res->mechs.mechs_val[i]; - gi = &global_mechs.info[i]; - -@@ -222,7 +220,7 @@ static void gpmint_indicate_mechs(void) - goto done; - } - -- for (i = 0; i < res->mech_attr_descs.mech_attr_descs_len; i++) { -+ for (unsigned i = 0; i < res->mech_attr_descs.mech_attr_descs_len; i++) { - ma = &res->mech_attr_descs.mech_attr_descs_val[i]; - ga = &global_mechs.desc[i]; - -@@ -249,7 +247,7 @@ static void gpmint_indicate_mechs(void) - - done: - if (ret || ret_maj) { -- for (i = 0; i < global_mechs.desc_len; i++) { -+ for (unsigned i = 0; i < global_mechs.desc_len; i++) { - ga = &global_mechs.desc[i]; - gss_release_oid(&discard, &ga->attr); - gss_release_buffer(&discard, ga->name); -@@ -258,7 +256,7 @@ done: - } - free(global_mechs.desc); - global_mechs.desc = NULL; -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - gi = &global_mechs.info[i]; - gss_release_oid(&discard, &gi->mech); - gss_release_oid_set(&discard, &gi->name_types); -@@ -335,7 +333,6 @@ OM_uint32 gpm_inquire_names_for_mech(OM_uint32 *minor_status, - { - uint32_t ret_min; - uint32_t ret_maj; -- int i; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -351,7 +348,7 @@ OM_uint32 gpm_inquire_names_for_mech(OM_uint32 *minor_status, - return GSS_S_FAILURE; - } - -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - if (!gpm_equal_oids(global_mechs.info[i].mech, mech_type)) { - continue; - } -@@ -375,7 +372,6 @@ OM_uint32 gpm_inquire_mechs_for_name(OM_uint32 *minor_status, - uint32_t discard; - gss_OID name_type = GSS_C_NO_OID; - int present; -- int i; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -402,7 +398,7 @@ OM_uint32 gpm_inquire_mechs_for_name(OM_uint32 *minor_status, - goto done; - } - -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - ret_maj = gss_test_oid_set_member(&ret_min, name_type, - global_mechs.info[i].name_types, - &present); -@@ -439,7 +435,6 @@ OM_uint32 gpm_inquire_attrs_for_mech(OM_uint32 *minor_status, - uint32_t ret_min; - uint32_t ret_maj; - uint32_t discard; -- int i; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -451,7 +446,7 @@ OM_uint32 gpm_inquire_attrs_for_mech(OM_uint32 *minor_status, - return GSS_S_FAILURE; - } - -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - if (!gpm_equal_oids(global_mechs.info[i].mech, mech)) { - continue; - } -@@ -495,7 +490,6 @@ OM_uint32 gpm_inquire_saslname_for_mech(OM_uint32 *minor_status, - uint32_t ret_min; - uint32_t ret_maj; - uint32_t discard; -- int i; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -511,7 +505,7 @@ OM_uint32 gpm_inquire_saslname_for_mech(OM_uint32 *minor_status, - return GSS_S_FAILURE; - } - -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - if (!gpm_equal_oids(global_mechs.info[i].mech, desired_mech)) { - continue; - } -@@ -554,7 +548,6 @@ OM_uint32 gpm_display_mech_attr(OM_uint32 *minor_status, - uint32_t ret_min; - uint32_t ret_maj; - uint32_t discard; -- int i; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -570,7 +563,7 @@ OM_uint32 gpm_display_mech_attr(OM_uint32 *minor_status, - return GSS_S_FAILURE; - } - -- for (i = 0; i < global_mechs.desc_len; i++) { -+ for (unsigned i = 0; i < global_mechs.desc_len; i++) { - if (!gpm_equal_oids(global_mechs.desc[i].attr, mech_attr)) { - continue; - } -@@ -614,7 +607,6 @@ OM_uint32 gpm_indicate_mechs_by_attrs(OM_uint32 *minor_status, - uint32_t ret_maj; - uint32_t discard; - int present; -- int i, j; - - if (!minor_status) { - return GSS_S_CALL_INACCESSIBLE_WRITE; -@@ -636,8 +628,9 @@ OM_uint32 gpm_indicate_mechs_by_attrs(OM_uint32 *minor_status, - return ret_maj; - } - -- for (i = 0; i < global_mechs.info_len; i++) { -+ for (unsigned i = 0; i < global_mechs.info_len; i++) { - if (desired_mech_attrs != GSS_C_NO_OID_SET) { -+ unsigned j; - for (j = 0; j < desired_mech_attrs->count; j++) { - ret_maj = gss_test_oid_set_member(&ret_min, - &desired_mech_attrs->elements[j], -@@ -657,6 +650,7 @@ OM_uint32 gpm_indicate_mechs_by_attrs(OM_uint32 *minor_status, - } - } - if (except_mech_attrs != GSS_C_NO_OID_SET) { -+ unsigned j; - for (j = 0; j < except_mech_attrs->count; j++) { - ret_maj = gss_test_oid_set_member(&ret_min, - &except_mech_attrs->elements[j], -@@ -676,6 +670,7 @@ OM_uint32 gpm_indicate_mechs_by_attrs(OM_uint32 *minor_status, - } - } - if (critical_mech_attrs != GSS_C_NO_OID_SET) { -+ unsigned j; - for (j = 0; j < critical_mech_attrs->count; j++) { - ret_maj = gss_test_oid_set_member(&ret_min, - &critical_mech_attrs->elements[j], -diff --git a/proxy/src/gp_common.h b/proxy/src/gp_common.h -index edc23b4..4f76e58 100644 ---- a/proxy/src/gp_common.h -+++ b/proxy/src/gp_common.h -@@ -104,9 +104,8 @@ union gp_rpc_res { - #define gp_options_find(res, opts, name, len) \ - do { \ - struct gssx_option *_v; \ -- int _o; \ - res = NULL; \ -- for (_o = 0; _o < opts.options_len; _o++) { \ -+ for (unsigned _o = 0; _o < opts.options_len; _o++) { \ - _v = &opts.options_val[_o]; \ - if (gp_option_name_match(_v, name, len)) { \ - res = _v; \ -diff --git a/proxy/src/gp_config.c b/proxy/src/gp_config.c -index 5c1ca02..a671333 100644 ---- a/proxy/src/gp_config.c -+++ b/proxy/src/gp_config.c -@@ -57,11 +57,9 @@ static void free_str_array(const char ***a, int *count) - - void free_cred_store_elements(gss_key_value_set_desc *cs) - { -- int i; -- - if (!cs->elements) return; - -- for (i = 0; i < cs->count; i++) { -+ for (unsigned i = 0; i < cs->count; i++) { - safefree(cs->elements[i].key); - safefree(cs->elements[i].value); - } -@@ -146,7 +144,7 @@ static int get_krb5_mech_cfg(struct gp_service *svc, - &count, &strings); - if (ret == 0) { - const char *p; -- size_t len; -+ ssize_t len; - char *key; - - svc->krb5.store.elements = -@@ -698,7 +696,6 @@ struct gp_creds_handle *gp_service_get_creds_handle(struct gp_service *svc) - void free_config(struct gp_config **cfg) - { - struct gp_config *config = *cfg; -- uint32_t i; - - if (!config) { - return; -@@ -709,7 +706,7 @@ void free_config(struct gp_config **cfg) - free(config->socket_name); - free(config->proxy_user); - -- for (i=0; i < config->num_svcs; i++) { -+ for (int i = 0; i < config->num_svcs; i++) { - gp_service_free(config->svcs[i]); - safefree(config->svcs[i]); - } -diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c -index 71d6d9d..b874b06 100644 ---- a/proxy/src/gp_conv.c -+++ b/proxy/src/gp_conv.c -@@ -599,7 +599,6 @@ done: - int gp_conv_gssx_to_oid_set(gssx_OID_set *in, gss_OID_set *out) - { - gss_OID_set o; -- int i; - - if (in->gssx_OID_set_len == 0) { - *out = GSS_C_NO_OID_SET; -@@ -618,7 +617,7 @@ int gp_conv_gssx_to_oid_set(gssx_OID_set *in, gss_OID_set *out) - return ENOMEM; - } - -- for (i = 0; i < o->count; i++) { -+ for (size_t i = 0; i < o->count; i++) { - o->elements[i].elements = - gp_memdup(in->gssx_OID_set_val[i].octet_string_val, - in->gssx_OID_set_val[i].octet_string_len); -@@ -641,7 +640,6 @@ int gp_conv_gssx_to_oid_set(gssx_OID_set *in, gss_OID_set *out) - int gp_conv_oid_set_to_gssx(gss_OID_set in, gssx_OID_set *out) - { - int ret; -- int i; - - if (in->count == 0) { - return 0; -@@ -653,7 +651,7 @@ int gp_conv_oid_set_to_gssx(gss_OID_set in, gssx_OID_set *out) - return ENOMEM; - } - -- for (i = 0; i < in->count; i++) { -+ for (size_t i = 0; i < in->count; i++) { - ret = gp_conv_octet_string(in->elements[i].length, - in->elements[i].elements, - &out->gssx_OID_set_val[i]); -diff --git a/proxy/src/gp_creds.c b/proxy/src/gp_creds.c -index 6570b06..e05ad01 100644 ---- a/proxy/src/gp_creds.c -+++ b/proxy/src/gp_creds.c -@@ -312,7 +312,6 @@ static int gp_get_cred_environment(struct gp_call_ctx *gpcall, - int k_num = -1; - int ck_num = -1; - int cc_num = -1; -- int d; - - memset(cs, 0, sizeof(gss_key_value_set_desc)); - -@@ -419,7 +418,7 @@ static int gp_get_cred_environment(struct gp_call_ctx *gpcall, - ret = ENOMEM; - goto done; - } -- for (d = 0; d < svc->krb5.store.count; d++) { -+ for (unsigned d = 0; d < svc->krb5.store.count; d++) { - if (strcmp(svc->krb5.store.elements[d].key, "client_keytab") == 0) { - ck_num = cs->count; - } else if (strcmp(svc->krb5.store.elements[d].key, "keytab") == 0) { -diff --git a/proxy/src/gp_export.c b/proxy/src/gp_export.c -index 12b8d5f..3a927c9 100644 ---- a/proxy/src/gp_export.c -+++ b/proxy/src/gp_export.c -@@ -288,7 +288,6 @@ uint32_t gp_export_gssx_cred(uint32_t *min, struct gp_call_ctx *gpcall, - uint32_t acceptor_lifetime = 0; - struct gssx_cred_element *el; - int ret; -- int i, j; - struct gp_creds_handle *handle = NULL; - gss_buffer_desc token = GSS_C_EMPTY_BUFFER; - -@@ -314,8 +313,7 @@ uint32_t gp_export_gssx_cred(uint32_t *min, struct gp_call_ctx *gpcall, - } - out->elements.elements_len = mechanisms->count; - -- for (i = 0, j = 0; i < mechanisms->count; i++, j++) { -- -+ for (unsigned i = 0, j = 0; i < mechanisms->count; i++, j++) { - el = &out->elements.elements_val[j]; - - ret_maj = gss_inquire_cred_by_mech(&ret_min, *in, -@@ -399,11 +397,10 @@ static void gp_set_cred_options(gssx_cred *cred, gss_cred_id_t gss_cred) - krb5_enctype *ktypes; - bool no_ci_flags = false; - uint32_t maj, min; -- int i, j; - -- for (i = 0; i < cred->elements.elements_len; i++) { -+ for (unsigned i = 0; i < cred->elements.elements_len; i++) { - ce = &cred->elements.elements_val[i]; -- for (j = 0; j < ce->options.options_len; j++) { -+ for (unsigned j = 0; j < ce->options.options_len; j++) { - op = &ce->options.options_val[j]; - if ((op->option.octet_string_len == - sizeof(KRB5_SET_ALLOWED_ENCTYPE)) && -diff --git a/proxy/src/gp_rpc_acquire_cred.c b/proxy/src/gp_rpc_acquire_cred.c -index e9c7d56..fcb4fbe 100644 ---- a/proxy/src/gp_rpc_acquire_cred.c -+++ b/proxy/src/gp_rpc_acquire_cred.c -@@ -20,7 +20,6 @@ int gp_acquire_cred(struct gp_call_ctx *gpcall, - gss_cred_id_t *add_out_cred = NULL; - int acquire_type = ACQ_NORMAL; - int ret; -- int i; - - aca = &arg->acquire_cred; - acr = &res->acquire_cred; -@@ -63,7 +62,7 @@ int gp_acquire_cred(struct gp_call_ctx *gpcall, - goto done; - } - -- for (i = 0; i < desired_mechs->count; i++) { -+ for (unsigned i = 0; i < desired_mechs->count; i++) { - desired_mech = &desired_mechs->elements[i]; - - if (!gp_creds_allowed_mech(gpcall, desired_mech)) { -@@ -93,7 +92,7 @@ int gp_acquire_cred(struct gp_call_ctx *gpcall, - - cred_usage = gp_conv_gssx_to_cred_usage(aca->cred_usage); - -- for (i = 0; i < use_mechs->count; i++) { -+ for (unsigned i = 0; i < use_mechs->count; i++) { - desired_mech = &use_mechs->elements[i]; - /* this should really be folded into an extended - * gss_add_cred in gssapi that can accept a set of URIs -diff --git a/proxy/src/gp_rpc_debug.c b/proxy/src/gp_rpc_debug.c -index 2e2c050..a814448 100644 ---- a/proxy/src/gp_rpc_debug.c -+++ b/proxy/src/gp_rpc_debug.c -@@ -19,7 +19,7 @@ void gpdbg_octet_string(octet_string *x) - } - fprintf(stderr, "... ] "); - } else { -- for (int i = 0; i < x->octet_string_len; i++) { -+ for (unsigned i = 0; i < x->octet_string_len; i++) { - fprintf(stderr, "%x", x->octet_string_val[i]); - } - fprintf(stderr, " ] "); -@@ -55,7 +55,7 @@ void gpdbg_gssx_OID(gssx_OID *x) - void gpdbg_gssx_OID_set(gssx_OID_set *x) - { - gp_debug_printf("{ "); -- for (int i = 0; i < x->gssx_OID_set_len; i++) { -+ for (unsigned i = 0; i < x->gssx_OID_set_len; i++) { - gpdbg_gssx_OID(&x->gssx_OID_set_val[i]); - } - gp_debug_printf("} "); -@@ -90,7 +90,7 @@ void gpdbg_gssx_option(gssx_option *x) - #define gpdbg_extensions(x) do { \ - if ((x)->extensions.extensions_len > 0) { \ - gp_debug_printf("[ "); \ -- for (int i = 0; i < (x)->extensions.extensions_len; i++) { \ -+ for (unsigned i = 0; i < (x)->extensions.extensions_len; i++) { \ - gpdbg_gssx_option(&(x)->extensions.extensions_val[i]); \ - } \ - gp_debug_printf("] "); \ -@@ -100,7 +100,7 @@ void gpdbg_gssx_option(gssx_option *x) - #define gpdbg_options(x) do { \ - if ((x)->options.options_len > 0) { \ - gp_debug_printf("[ "); \ -- for (int i = 0; i < (x)->options.options_len; i++) { \ -+ for (unsigned i = 0; i < (x)->options.options_len; i++) { \ - gpdbg_gssx_option(&(x)->options.options_val[i]); \ - } \ - gp_debug_printf("] "); \ -@@ -168,7 +168,7 @@ void gpdbg_gssx_call_ctx(gssx_call_ctx *x) - #define gpdbg_name_attributes(X) do { \ - gp_debug_printf("[ "); \ - if (x->name_attributes.name_attributes_len > 0) { \ -- for (int i = 0; i < x->name_attributes.name_attributes_len; i++) { \ -+ for (unsigned i = 0; i < x->name_attributes.name_attributes_len; i++) { \ - gpdbg_gssx_name_attr( \ - &x->name_attributes.name_attributes_val[i]); \ - } \ -@@ -209,7 +209,7 @@ void gpdbg_gssx_cred(gssx_cred *x) - gp_debug_printf("{ "); - gpdbg_gssx_name(&x->desired_name); - gp_debug_printf("[ "); -- for (int i = 0; i < x->elements.elements_len; i++) { -+ for (unsigned i = 0; i < x->elements.elements_len; i++) { - gpdbg_gssx_cred_element(&x->elements.elements_val[i]); - } - gp_debug_printf("] "); -@@ -289,17 +289,17 @@ void gpdbg_gssx_res_indicate_mechs(gssx_res_indicate_mechs *x) - gp_debug_printf(" GSSX_RES_INDICATE_MECHS( status: "); - gpdbg_gssx_status(&x->status); - gp_debug_printf("mechs: [ "); -- for (int i = 0; i < x->mechs.mechs_len; i++) { -+ for (unsigned i = 0; i < x->mechs.mechs_len; i++) { - gpdbg_gssx_mech_info(&x->mechs.mechs_val[i]); - } - gp_debug_printf("] "); - gp_debug_printf("mech_attr_descs: [ "); -- for (int i = 0; i < x->mech_attr_descs.mech_attr_descs_len; i++) { -+ for (unsigned i = 0; i < x->mech_attr_descs.mech_attr_descs_len; i++) { - gpdbg_gssx_mech_attr(&x->mech_attr_descs.mech_attr_descs_val[i]); - } - gp_debug_printf("] "); - gp_debug_printf("supported_extensions: [ "); -- for (int i = 0; -+ for (unsigned i = 0; - i < x->supported_extensions.supported_extensions_len; i++) { - gpdbg_gssx_buffer( - &x->supported_extensions.supported_extensions_val[i]); -@@ -602,7 +602,7 @@ void gpdbg_gssx_arg_wrap(gssx_arg_wrap *x) - gp_debug_printf("conf_req: "); - gp_debug_printf("%d ", (int)x->conf_req); - gp_debug_printf("message_buffer: [ "); -- for (int i = 0; i < x->message_buffer.message_buffer_len; i++) { -+ for (unsigned i = 0; i < x->message_buffer.message_buffer_len; i++) { - gpdbg_octet_string(&x->message_buffer.message_buffer_val[i]); - } - gp_debug_printf("] "); -@@ -618,7 +618,7 @@ void gpdbg_gssx_res_wrap(gssx_res_wrap *x) - gp_debug_printf("context_handle: "); - GPRPCDEBUG(gssx_ctx, x->context_handle); - gp_debug_printf("token_buffer: [ "); -- for (int i = 0; i < x->token_buffer.token_buffer_len; i++) { -+ for (unsigned i = 0; i < x->token_buffer.token_buffer_len; i++) { - gpdbg_octet_string(&x->token_buffer.token_buffer_val[i]); - } - gp_debug_printf("] "); -@@ -640,7 +640,7 @@ void gpdbg_gssx_arg_unwrap(gssx_arg_unwrap *x) - gp_debug_printf("context_handle: "); - gpdbg_gssx_ctx(&x->context_handle); - gp_debug_printf("token_buffer: [ "); -- for (int i = 0; i < x->token_buffer.token_buffer_len; i++) { -+ for (unsigned i = 0; i < x->token_buffer.token_buffer_len; i++) { - gpdbg_octet_string(&x->token_buffer.token_buffer_val[i]); - } - gp_debug_printf("] "); -@@ -656,7 +656,7 @@ void gpdbg_gssx_res_unwrap(gssx_res_unwrap *x) - gp_debug_printf("context_handle: "); - GPRPCDEBUG(gssx_ctx, x->context_handle); - gp_debug_printf("message_buffer: [ "); -- for (int i = 0; i < x->message_buffer.message_buffer_len; i++) { -+ for (unsigned i = 0; i < x->message_buffer.message_buffer_len; i++) { - gpdbg_octet_string(&x->message_buffer.message_buffer_val[i]); - } - gp_debug_printf("] "); -diff --git a/proxy/src/gp_rpc_indicate_mechs.c b/proxy/src/gp_rpc_indicate_mechs.c -index 8abbc7f..6ae6756 100644 ---- a/proxy/src/gp_rpc_indicate_mechs.c -+++ b/proxy/src/gp_rpc_indicate_mechs.c -@@ -25,8 +25,7 @@ int gp_indicate_mechs(struct gp_call_ctx *gpcall UNUSED, - uint32_t ret_maj; - uint32_t ret_min; - int present; -- int h, i, j; -- int ret; -+ int ret; - - ima = &arg->indicate_mechs; - imr = &res->indicate_mechs; -@@ -53,8 +52,7 @@ int gp_indicate_mechs(struct gp_call_ctx *gpcall UNUSED, - } - imr->mechs.mechs_len = mech_set->count; - -- for (i = 0, h = 0; i < mech_set->count; i++, h++) { -- -+ for (unsigned i = 0, h = 0; i < mech_set->count; i++, h++) { - mi = &imr->mechs.mechs_val[h]; - - ret = gp_conv_oid_to_gssx(&mech_set->elements[i], &mi->mech); -@@ -104,8 +102,7 @@ int gp_indicate_mechs(struct gp_call_ctx *gpcall UNUSED, - ret_min = ret; - goto done; - } -- for (j = 0; j < mech_attrs->count; j++) { -- -+ for (unsigned j = 0; j < mech_attrs->count; j++) { - ret_maj = gss_test_oid_set_member(&ret_min, - &mech_attrs->elements[j], - attr_set, -@@ -136,8 +133,7 @@ int gp_indicate_mechs(struct gp_call_ctx *gpcall UNUSED, - goto done; - } - -- for (j = 0; j < known_mech_attrs->count; j++) { -- -+ for (unsigned j = 0; j < known_mech_attrs->count; j++) { - ret_maj = gss_test_oid_set_member(&ret_min, - &known_mech_attrs->elements[j], - attr_set, -@@ -205,8 +201,7 @@ int gp_indicate_mechs(struct gp_call_ctx *gpcall UNUSED, - } - imr->mech_attr_descs.mech_attr_descs_len = attr_set->count; - -- for (i = 0; i < attr_set->count; i++) { -- -+ for (unsigned i = 0; i < attr_set->count; i++) { - ma = &imr->mech_attr_descs.mech_attr_descs_val[i]; - - ret = gp_conv_oid_to_gssx(&attr_set->elements[i], &ma->attr); -diff --git a/proxy/src/gp_socket.c b/proxy/src/gp_socket.c -index 829ff21..17ecf7c 100644 ---- a/proxy/src/gp_socket.c -+++ b/proxy/src/gp_socket.c -@@ -303,7 +303,7 @@ static void gp_socket_read(verto_ctx *vctx, verto_ev *ev) - struct gp_buffer *rbuf; - uint32_t size; - bool header = false; -- size_t rn; -+ ssize_t rn; - int ret; - int fd; - -@@ -487,7 +487,7 @@ static void gp_socket_write(verto_ctx *vctx, verto_ev *ev) - return; - } - if (vecs == 2) { -- if (wn < sizeof(size)) { -+ if (wn < (ssize_t) sizeof(size)) { - /* don't bother trying to handle sockets that can't - * buffer even 4 bytes */ - gp_conn_free(wbuf->conn); -diff --git a/proxy/src/gp_util.c b/proxy/src/gp_util.c -index ca83eb3..f158b84 100644 ---- a/proxy/src/gp_util.c -+++ b/proxy/src/gp_util.c -@@ -109,7 +109,7 @@ char *gp_strerror(int errnum) - ssize_t gp_safe_read(int fd, void *buf, size_t count) - { - char *b = (char *)buf; -- ssize_t len = 0; -+ size_t len = 0; - ssize_t ret; - - do { -@@ -128,7 +128,7 @@ ssize_t gp_safe_read(int fd, void *buf, size_t count) - ssize_t gp_safe_write(int fd, const void *buf, size_t count) - { - const char *b = (const char *)buf; -- ssize_t len = 0; -+ size_t len = 0; - ssize_t ret; - - do { -diff --git a/proxy/tests/t_utils.c b/proxy/tests/t_utils.c -index 6af9a16..36f7bd1 100644 ---- a/proxy/tests/t_utils.c -+++ b/proxy/tests/t_utils.c -@@ -8,7 +8,7 @@ - int t_send_buffer(int fd, char *buf, uint32_t len) - { - uint32_t size; -- size_t wn; -+ ssize_t wn; - size_t pos; - - size = htonl(len); -@@ -36,7 +36,7 @@ int t_send_buffer(int fd, char *buf, uint32_t len) - int t_recv_buffer(int fd, char *buf, uint32_t *len) - { - uint32_t size; -- size_t rn; -+ ssize_t rn; - size_t pos; - - rn = read(fd, &size, sizeof(uint32_t));