rad_assert(buffer_len >= sizeof(client));
+ /*
+ * We don't accept the new client, so don't do
+ * anything.
+ */
+ if (request->reply->code != FR_CODE_ACCESS_ACCEPT) {
+ *buffer = true;
+ return 1;
+ }
+
/*
* Allocate the client. If that fails, send back a NAK.
*
new_client = client_afrom_request(NULL, request);
if (!new_client) {
PERROR("Failed creating new client");
- buffer[0] = true;
+ *buffer = true;
return 1;
}
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/unlang/base.h>
#include <freeradius-devel/util/dict.h>
-#include <freeradius-devel/server/state.h>
#include <freeradius-devel/server/rad_assert.h>
static fr_dict_t *dict_freeradius;
switch (request->request_state) {
case REQUEST_INIT:
- RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ }
request->component = "radius";
}
send_reply:
+ gettimeofday(&request->reply->timestamp, NULL);
+
/*
* Check for "do not respond".
*/
if (request->reply->code == FR_CODE_DO_NOT_RESPOND) {
RDEBUG("Not sending reply to client.");
- return FR_IO_DONE;
+ break;
}
- /*
- * This is an internally generated request. Don't print IP addresses.
- */
- if (request->parent) {
- RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
- return FR_IO_DONE;
}
-
- if (RDEBUG_ENABLED) common_packet_debug(request, request->reply, false);
break;
default:
switch (request->request_state) {
case REQUEST_INIT:
- RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ }
request->component = "radius";
*/
if (request->reply->code == FR_CODE_DO_NOT_RESPOND) {
RDEBUG("Not sending reply to client.");
- return FR_IO_REPLY;
+ break;
}
- /*
- * This is an internally generated request.
- * Don't print IP addresses.
- */
- if (request->parent) {
- RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
- return FR_IO_REPLY;
}
-
- if (RDEBUG_ENABLED) common_packet_debug(request, request->reply, false);
break;
default:
switch (request->request_state) {
case REQUEST_INIT:
- RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ }
request->component = "radius";
}
send_reply:
+ gettimeofday(&request->reply->timestamp, NULL);
+
/*
* Check for "do not respond".
*/
if (request->reply->code == FR_CODE_DO_NOT_RESPOND) {
RDEBUG("Not sending reply to client.");
- return FR_IO_DONE;
+ break;
}
- /*
- * This is an internally generated request. Don't print IP addresses.
- */
- if (request->parent) {
- RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
- return FR_IO_DONE;
}
-
- if (RDEBUG_ENABLED) common_packet_debug(request, request->reply, false);
break;
default:
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/unlang/base.h>
#include <freeradius-devel/util/dict.h>
+#include <freeradius-devel/io/base.h>
#include <freeradius-devel/server/rad_assert.h>
static fr_dict_t *dict_freeradius;
switch (request->request_state) {
case REQUEST_INIT:
- RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- log_request_proto_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ }
request->component = "radius";
} else {
RDEBUG("Denying client");
}
- if (RDEBUG_ENABLED) log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, NULL);
break;
default:
switch (request->request_state) {
case REQUEST_INIT:
- RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
- log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Received %s ID %i", fr_packet_codes[request->packet->code], request->packet->id);
+ log_request_pair_list(L_DBG_LVL_1, request, request->packet->vps, "");
+ }
request->component = "radius";
}
send_reply:
+ gettimeofday(&request->reply->timestamp, NULL);
+
/*
* Check for "do not respond".
*/
if (request->reply->code == FR_CODE_DO_NOT_RESPOND) {
RDEBUG("Not sending reply to client.");
- return FR_IO_DONE;
+ break;
}
- /*
- * This is an internally generated request. Don't print IP addresses.
- */
- if (request->parent) {
- RDEBUG("Sent %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
+ if (RDEBUG_ENABLED) {
+ RDEBUG("Sending %s ID %i", fr_packet_codes[request->reply->code], request->reply->id);
log_request_pair_list(L_DBG_LVL_1, request, request->reply->vps, "");
- return FR_IO_DONE;
}
-
- if (RDEBUG_ENABLED) common_packet_debug(request, request->reply, false);
break;
default: