From: Alan T. DeKok Date: Wed, 7 Nov 2012 20:36:51 +0000 (-0500) Subject: Create coa / disconnect when it's referenced X-Git-Tag: release_3_0_0_beta1~1588 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60c5b947a1222695af800dda8a30c16c2d455961;p=thirdparty%2Ffreeradius-server.git Create coa / disconnect when it's referenced --- diff --git a/src/main/evaluate.c b/src/main/evaluate.c index 0122871e586..042528ede87 100644 --- a/src/main/evaluate.c +++ b/src/main/evaluate.c @@ -1151,8 +1151,17 @@ int radius_update_attrlist(REQUEST *request, CONF_SECTION *cs, output_vps = radius_list(update_request, list); if (!output_vps) { - RDEBUG("WARNING: List '%s' doesn't exist for this packet", name); - return RLM_MODULE_INVALID; + if (!((list == PAIR_LIST_COA) || (list == PAIR_LIST_DM))) { + RDEBUG("WARNING: List '%s' doesn't exist for this packet", name); + return RLM_MODULE_INVALID; + } + + request_alloc_coa(update_request); + if (list == PAIR_LIST_COA) { + update_request->coa->proxy->code = PW_COA_REQUEST; + } else { + update_request->coa->proxy->code = PW_DISCONNECT_REQUEST; + } } newlist = paircopy(input_vps);