From: Alan T. DeKok Date: Wed, 17 Feb 2021 13:58:22 +0000 (-0500) Subject: use parent sequence number in child name X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8cb7c11babe442fa120823e197c435c7b5e2e782;p=thirdparty%2Ffreeradius-server.git use parent sequence number in child name so that we don't have multiple children labelled with the same name --- diff --git a/src/lib/server/request.c b/src/lib/server/request.c index 7b86ded0cd1..c1a7ae44c5c 100644 --- a/src/lib/server/request.c +++ b/src/lib/server/request.c @@ -123,7 +123,13 @@ static inline CC_HINT(always_inline) int request_detachable_init(request_t *chil static inline CC_HINT(always_inline) int request_child_init(request_t *child, request_t *parent) { child->number = parent->child_number++; - child->name = talloc_typed_asprintf(child, "%s.%" PRIu64 , parent->name, child->number); + + if ((parent->seq_start == 0) || (parent->number == parent->seq_start)) { + child->name = talloc_typed_asprintf(child, "%s.%" PRIu64, parent->name, child->number); + } else { + child->name = talloc_typed_asprintf(child, "(%s,%" PRIu64 ").%" PRIu64, + parent->name, parent->seq_start, child->number); + } child->seq_start = 0; /* children always start with their own sequence */ child->parent = parent; child->dict = parent->dict;