Add one char expansion for RADIUS request ID
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 17 Oct 2011 15:35:07 +0000 (17:35 +0200)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Mon, 17 Oct 2011 15:44:18 +0000 (17:44 +0200)
doc/variables.rst
src/main/xlat.c

index 1db65a0..b07ef46 100644 (file)
@@ -95,6 +95,8 @@ release.  They also do NOT permit the use of conditional syntax
 +-----------+---------------------------+-----------------------+
 |%i         |Calling Station ID                |%{Calling-Station-Id}  |
 +-----------+---------------------------+-----------------------+
+|%I         |request ID                        |                       |
++-----------+---------------------------+-----------------------+
 |%l         |request timestamp          |                      |
 +-----------+---------------------------+-----------------------+
 |%m         |request month (MM)         |                      |
index 51f6832..518b2b3 100644 (file)
@@ -1287,6 +1287,12 @@ int radius_xlat(char *out, int outlen, const char *fmt,
                                q += valuepair2str(q,freespace,pairfind(request->reply->vps,PW_FRAMED_IP_ADDRESS, 0),PW_TYPE_IPADDR, func);
                                p++;
                                break;
+                       case 'I': /* Request ID */
+                               snprintf(tmpdt, sizeof(tmpdt), "%i", request->packet->id);
+                               strlcpy(q, tmpdt, freespace);
+                               q += strlen(q);
+                               p++;
+                               break;
                        case 'i': /* Calling station ID */
                                q += valuepair2str(q,freespace,pairfind(request->packet->vps,PW_CALLING_STATION_ID, 0),PW_TYPE_STRING, func);
                                p++;