KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_add_ignore_addresses(krb5_context context, krb5_addresses *addresses) { if(context->ignore_addresses) return krb5_append_addresses(context, context->ignore_addresses, addresses); else return krb5_set_ignore_addresses(context, addresses); }
static void add_one_address (krb5_context context, const char *str, int first) { krb5_error_code ret; krb5_addresses tmp; ret = krb5_parse_address (context, str, &tmp); if (ret) krb5_err (context, 1, ret, "parse_address `%s'", str); if (first) krb5_copy_addresses(context, &tmp, &explicit_addresses); else krb5_append_addresses(context, &explicit_addresses, &tmp); krb5_free_addresses (context, &tmp); }
static krb5_error_code get_addrs_int (krb5_context context, krb5_addresses *res, int flags) { krb5_error_code ret = -1; res->len = 0; res->val = NULL; if (flags & SCAN_INTERFACES) { ret = find_all_addresses (context, res, flags); if(ret || res->len == 0) ret = gethostname_fallback (context, res); } else { ret = 0; } if(ret == 0 && (flags & EXTRA_ADDRESSES)) { krb5_addresses a; /* append user specified addresses */ ret = krb5_get_extra_addresses(context, &a); if(ret) { krb5_free_addresses(context, res); return ret; } ret = krb5_append_addresses(context, res, &a); if(ret) { krb5_free_addresses(context, res); return ret; } krb5_free_addresses(context, &a); } if(res->len == 0) { free(res->val); res->val = NULL; } return ret; }