}
}
+/* ATD - all of this to "end" is 100% RADIUS only */
+
/** Turn a reply code into a module rcode;
*
*/
}
+/* ATD END */
/** Read reply packets.
*
return;
}
+ { /* RADIUS START - do various protocol-specific validations */
+
/*
* Replicating? Drain the socket, but ignore all responses.
*
*/
if (u == radius->status_u) status_server_reply(c, u, request);
}
+} /* RADIUS END */
done:
rad_assert(request != NULL);
static fr_connection_state_t _conn_open(UNUSED fr_event_list_t *el, int fd, void *uctx)
{
fr_io_connection_t *c = talloc_get_type_abort(uctx, fr_io_connection_t);
- fr_io_connection_thread_t *t = c->thread;
+ fr_io_connection_thread_t *t = c->thread;
rlm_radius_udp_connection_t *radius = c->ctx;
talloc_const_free(c->name);
memset(&c->zombie_start, 0, sizeof(c->zombie_start));
fr_dlist_init(&c->sent, fr_io_request_t, entry);
+{ /* RADIUS start */
/*
* Status-Server checks. Manually build the packet, and
* all of it's associated glue.
u->timer.retry = &c->inst->parent->retry[u->code];
radius->status_check_blocked = false;
}
+} /* RADIUS end */
/*
* Now that we're open, assume that the connection is
if (action != FR_SIGNAL_DUP) return;
/*
- * ASychronous mode means that we do retransmission, and
+ * Asychronous mode means that we do retransmission, and
* we don't rely on the retransmission from the NAS.
*/
if (!inst->parent->synchronous) return;