X-Git-Url: https://git.strongswan.org/?p=strongswan.git;a=blobdiff_plain;f=src%2Flibstrongswan%2Fplugins%2Fx509%2Fx509_ac.c;h=97e2a941ee3ca7539bff056ef9b7ffc1753d1e25;hp=410b2e5ce6277fd72de7b5bd0e96503433ebfa6c;hb=8f9e2dbcd581c5d69cba45158d51495100b2e813;hpb=a17598bc69926f69a87eaf60c29a81b8e0d1e203;ds=sidebyside diff --git a/src/libstrongswan/plugins/x509/x509_ac.c b/src/libstrongswan/plugins/x509/x509_ac.c index 410b2e5..97e2a94 100644 --- a/src/libstrongswan/plugins/x509/x509_ac.c +++ b/src/libstrongswan/plugins/x509/x509_ac.c @@ -1065,15 +1065,15 @@ x509_ac_t *x509_ac_load(certificate_type_t type, va_list args) } /** - * Parse a comma separated group list into AC group memberships + * Add groups from a list into AC group memberships */ -static void add_groups_from_string(private_x509_ac_t *this, char *str) +static void add_groups_from_list(private_x509_ac_t *this, linked_list_t *list) { enumerator_t *enumerator; group_t *group; char *name; - enumerator = enumerator_create_token(str, ",", " "); + enumerator = list->create_enumerator(list); while (enumerator->enumerate(enumerator, &name)) { INIT(group, @@ -1106,8 +1106,8 @@ x509_ac_t *x509_ac_gen(certificate_type_t type, va_list args) case BUILD_SERIAL: ac->serialNumber = chunk_clone(va_arg(args, chunk_t)); continue; - case BUILD_IETF_GROUP_ATTR: - add_groups_from_string(ac, va_arg(args, char*)); + case BUILD_AC_GROUP_STRINGS: + add_groups_from_list(ac, va_arg(args, linked_list_t*)); continue; case BUILD_CERT: ac->holderCert = va_arg(args, certificate_t*);