if (request->master_state == REQUEST_COUNTED) return;
if ((request->listener->type != RAD_LISTEN_NONE) &&
- (request->listener->type != RAD_LISTEN_AUTH) &&
- (request->listener->type != RAD_LISTEN_ACCT)) return;
+#ifdef WITH_ACCOUNTING
+ (request->listener->type != RAD_LISTEN_ACCT) &&
+#endif
+ (request->listener->type != RAD_LISTEN_AUTH)) return;
#undef INC_AUTH
#define INC_AUTH(_x) radius_auth_stats._x++;request->listener->stats._x++;if (request->client && request->client->auth) request->client->auth->_x++;
#undef INC_ACCT
+#ifdef WITH_ACCOUNTING
#define INC_ACCT(_x) radius_acct_stats._x++;request->listener->stats._x++;if (request->client && request->client->acct) request->client->acct->_x++
+#else
+#define INC_ACCT(_x)
+#endif
/*
* Update the statistics.
#ifdef WITH_ACCOUNTING
case PW_ACCOUNTING_RESPONSE:
- radius_acct_stats.total_responses++;
+ proxy_acct_stats.total_responses++;
request->proxy_listener->stats.total_responses++;
request->home_server->stats.total_responses++;
break;
};
#endif
-#define FR2ATTR(x) ((11344 << 16) | (x))
-
static void request_stats_addvp(REQUEST *request,
fr_stats2vp *table, fr_stats_t *stats)
{
for (i = 0; table[i].attribute != 0; i++) {
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(table[i].attribute),
+ table[i].attribute, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (!vp) continue;
rad_assert(request->packet->code == PW_STATUS_SERVER);
rad_assert(request->listener->type == RAD_LISTEN_NONE);
- flag = pairfind(request->packet->vps, FR2ATTR(127));
+ flag = pairfind(request->packet->vps, 127, VENDORPEC_FREERADIUS);
if (!flag || (flag->vp_integer == 0)) return;
/*
*/
if ((flag->vp_integer & 0x10) != 0) {
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(176), PW_TYPE_DATE);
+ 176, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
if (vp) vp->vp_date = start_time.tv_sec;
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(177), PW_TYPE_DATE);
+ 177, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
if (vp) vp->vp_date = hup_time.tv_sec;
#ifdef HAVE_PTHREAD_H
thread_pool_queue_stats(array);
+#ifdef WITH_DETAIL
for (i = 0; i <= RAD_LISTEN_DETAIL; i++) {
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(162 + i),
+ 162 + i, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (!vp) continue;
vp->vp_integer = array[i];
}
#endif
+#endif
}
/*
* See if we need to look up the client by server
* socket.
*/
- server_ip = pairfind(request->packet->vps, FR2ATTR(170));
+ server_ip = pairfind(request->packet->vps, 170, VENDORPEC_FREERADIUS);
if (server_ip) {
server_port = pairfind(request->packet->vps,
- FR2ATTR(171));
+ 171, VENDORPEC_FREERADIUS);
if (server_port) {
ipaddr.af = AF_INET;
}
- vp = pairfind(request->packet->vps, FR2ATTR(167));
+ vp = pairfind(request->packet->vps, 167, VENDORPEC_FREERADIUS);
if (vp) {
ipaddr.af = AF_INET;
ipaddr.ipaddr.ip4addr.s_addr = vp->vp_ipaddr;
* Else look it up by number.
*/
} else if ((vp = pairfind(request->packet->vps,
- FR2ATTR(168))) != NULL) {
+ 168, VENDORPEC_FREERADIUS)) != NULL) {
client = client_findbynumber(cl, vp->vp_integer);
}
(client->ipaddr.af == AF_INET)) {
vp = radius_paircreate(request,
&request->reply->vps,
- FR2ATTR(167),
+ 167, VENDORPEC_FREERADIUS,
PW_TYPE_IPADDR);
if (vp) {
vp->vp_ipaddr = client->ipaddr.ipaddr.ip4addr.s_addr;
if (client->prefix != 32) {
vp = radius_paircreate(request,
&request->reply->vps,
- FR2ATTR(169),
+ 169, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (vp) {
vp->vp_integer = client->prefix;
* See if we need to look up the server by socket
* socket.
*/
- server_ip = pairfind(request->packet->vps, FR2ATTR(170));
+ server_ip = pairfind(request->packet->vps, 170, VENDORPEC_FREERADIUS);
if (!server_ip) return;
server_port = pairfind(request->packet->vps,
- FR2ATTR(171));
+ 171, VENDORPEC_FREERADIUS);
if (!server_port) return;
ipaddr.af = AF_INET;
#endif
}
+#ifdef WITH_PROXY
/*
* Home servers.
*/
* See if we need to look up the server by socket
* socket.
*/
- server_ip = pairfind(request->packet->vps, FR2ATTR(170));
+ server_ip = pairfind(request->packet->vps, 170, VENDORPEC_FREERADIUS);
if (!server_ip) return;
server_port = pairfind(request->packet->vps,
- FR2ATTR(171));
+ 171, VENDORPEC_FREERADIUS);
if (!server_port) return;
ipaddr.af = AF_INET;
paircopyvp(server_port));
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(172), PW_TYPE_INTEGER);
+ 172, VENDORPEC_FREERADIUS, PW_TYPE_INTEGER);
if (vp) vp->vp_integer = home->currently_outstanding;
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(173), PW_TYPE_INTEGER);
+ 173, VENDORPEC_FREERADIUS, PW_TYPE_INTEGER);
if (vp) vp->vp_integer = home->state;
if ((home->state == HOME_STATE_ALIVE) &&
(home->revive_time.tv_sec != 0)) {
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(175), PW_TYPE_DATE);
+ 175, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
if (vp) vp->vp_date = home->revive_time.tv_sec;
}
(home->ema.window > 0)) {
vp = radius_paircreate(request,
&request->reply->vps,
- FR2ATTR(178),
+ 178, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (vp) vp->vp_integer = home->ema.window;
vp = radius_paircreate(request,
&request->reply->vps,
- FR2ATTR(179),
+ 179, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (vp) vp->vp_integer = home->ema.ema1 / EMA_SCALE;
vp = radius_paircreate(request,
&request->reply->vps,
- FR2ATTR(180),
+ 180, VENDORPEC_FREERADIUS,
PW_TYPE_INTEGER);
if (vp) vp->vp_integer = home->ema.ema10 / EMA_SCALE;
if (home->state == HOME_STATE_IS_DEAD) {
vp = radius_paircreate(request, &request->reply->vps,
- FR2ATTR(174), PW_TYPE_DATE);
+ 174, VENDORPEC_FREERADIUS, PW_TYPE_DATE);
if (vp) vp->vp_date = home->zombie_period_start.tv_sec + home->zombie_period;
}
}
#endif
}
+#endif /* WITH_PROXY */
}
void radius_stats_init(int flag)