if (request->client->server) {
server_cs = request->client->server_cs;
- } else {
+ } else if (request->listener) {
server_cs = request->listener->server_cs;
+ } else {
+ server_cs = "default"; /* @todo - delete this when we delete the old listeners */
}
c = client_read(buffer, server_cs, true);
* suppress the write. This check prevents an infinite
* loop.
*/
- if ((request->listener->type == RAD_LISTEN_DETAIL) &&
+ if (request->listener && (request->listener->type == RAD_LISTEN_DETAIL) &&
(fnmatch(((listen_detail_t *)request->listener->data)->filename,
buffer, FNM_FILE_NAME | FNM_PERIOD ) == 0)) {
RWDEBUG2("Suppressing infinite loop");
static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void *thread, REQUEST *request)
{
#ifdef WITH_DETAIL
- if (request->listener->type == RAD_LISTEN_DETAIL &&
+ if (request->listener && (request->listener->type == RAD_LISTEN_DETAIL) &&
strcmp(((rlm_detail_t const *)instance)->filename,
((listen_detail_t *)request->listener->data)->filename) == 0) {
RDEBUG("Suppressing writes to detail file as the request was just read from a detail file");
* additional checks.
*/
#ifdef WITH_DETAIL
- } else if ((request->listener->type == RAD_LISTEN_DETAIL) &&
+ } else if (request->listener && (request->listener->type == RAD_LISTEN_DETAIL) &&
!fr_is_inaddr_any(&request->packet->src_ipaddr)) {
int i;