summaryrefslogtreecommitdiff
path: root/radsecproxy.c
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2011-04-04 16:15:22 +0200
committerLinus Nordberg <linus@nordu.net>2011-04-04 16:15:22 +0200
commit59e93add209b19fd1c29209930397a20a9d9c932 (patch)
tree83eb26c4be1a9b1dd5e8967dc1c15e2935692794 /radsecproxy.c
parent6d0efe60b28340a073a6ebd908e9e7fda46d025f (diff)
Move F-Ticks logging to fticks.c.
Diffstat (limited to 'radsecproxy.c')
-rw-r--r--radsecproxy.c75
1 files changed, 2 insertions, 73 deletions
diff --git a/radsecproxy.c b/radsecproxy.c
index 5c6b260..2227193 100644
--- a/radsecproxy.c
+++ b/radsecproxy.c
@@ -1692,79 +1692,8 @@ void replyh(struct server *server, unsigned char *buf) {
debug(msg->code == RAD_Access_Accept || msg->code == RAD_Access_Reject || msg->code == RAD_Accounting_Response ? DBG_WARN : DBG_INFO,
"replyh: passing %s to client %s (%s)", radmsgtype2string(msg->code), from->conf->name, addr2string(from->addr));
- if (options.fticks_reporting && from->conf->fticks_viscountry != NULL) {
- unsigned char *username = NULL;
- unsigned char *realm = NULL;
- uint8_t visinst[8+40+1+1]; /* Room for 40 octets of VISINST. */
- uint8_t *macin = NULL;
- uint8_t macout[2*32+1]; /* Room for ASCII representation of SHA256. */
-
- username = radattr2ascii(radmsg_gettype(rqout->rq->msg,
- RAD_Attr_User_Name));
- if (username != NULL) {
- realm = (unsigned char *) strrchr((char *) username, '@');
- if (realm != NULL)
- realm++;
- else
- realm = (unsigned char *) "";
- }
-
- memset(visinst, 0, sizeof(visinst));
- if (options.fticks_reporting == RSP_FTICKS_REPORTING_FULL)
- snprintf((char *) visinst, sizeof(visinst), "VISINST=%s#",
- from->conf->name);
-
-#define BOGUS_MAC "00:00:00:00:00:00" /* FIXME: Is there a standard
- * for bogus MAC addresses? */
- memset(macout, 0, sizeof(macout));
- strncpy((char *) macout, BOGUS_MAC, sizeof(macout) - 1);
- if (options.fticks_mac != RSP_FTICKS_MAC_STATIC) {
- macin = radattr2ascii(radmsg_gettype(rqout->rq->msg,
- RAD_Attr_Calling_Station_Id));
- }
-#if RS_TESTING || 1
- if (macin == NULL)
- macin = (uint8_t *) strdup(BOGUS_MAC);
-#endif /* RS_TESTING */
-
- switch (options.fticks_mac)
- {
- case RSP_FTICKS_MAC_STATIC:
- memcpy(macout, BOGUS_MAC, sizeof(BOGUS_MAC));
- break;
- case RSP_FTICKS_MAC_ORIGINAL:
- memcpy(macout, macin, sizeof(macout));
- break;
- case RSP_FTICKS_MAC_VENDOR_HASHED:
- fticks_hashmac(macin + 3, NULL, sizeof(macout), macout);
- break;
- case RSP_FTICKS_MAC_VENDOR_KEY_HASHED:
- fticks_hashmac(macin + 3, options.fticks_key, sizeof(macout),
- macout);
- break;
- case RSP_FTICKS_MAC_FULLY_HASHED:
- fticks_hashmac(macin, NULL, sizeof(macout), macout);
- break;
- case RSP_FTICKS_MAC_FULLY_KEY_HASHED:
- fticks_hashmac(macin, options.fticks_key, sizeof(macout), macout);
- break;
- default:
- debugx(2, DBG_ERR, "invalid fticks mac configuration: %d",
- options.fticks_mac);
- }
- debug(0xff,
- "F-TICKS/eduroam/1.0#REALM=%s#VISCOUNTRY=%s#%sCSI=%s#RESULT=%s#",
- realm,
- from->conf->fticks_viscountry,
- visinst,
- macout,
- msg->code == RAD_Access_Accept ? "OK" : "FAIL");
- if (macin != NULL)
- free(macin);
- if (username != NULL)
- free(username);
-
- }
+ if (options.fticks_reporting && from->conf->fticks_viscountry != NULL)
+ fticks_log(&options, from, msg, rqout);
radmsg_free(rqout->rq->msg);
rqout->rq->msg = msg;