Packet-{Src,Dst}-Port patch to 1.1.0
Geoff Silver
geoff+freeradius at uslinux.net
Tue Feb 28 02:25:43 CET 2006
I had to backpatch the Packet-Dst-Port options into 1.1.0 from the 2.0.0pre0
CVS snapshot for my company, so I thought I'd send this out to the list as
well to see if anyone was willing to merge it into the next 1.1.x release.
Thanks.
--- src/include/radius.h.orig 2006-02-06 15:52:20.000000000 -0500
+++ src/include/radius.h 2006-02-21 16:35:26.000000000 -0500
@@ -183,8 +183,9 @@
#define PW_REWRITE_RULE 1078
#define PW_SQL_GROUP 1079
#define PW_RESPONSE_PACKET_TYPE 1080
-#define PW_PACKET_DST_PORT 1081
#define PW_MS_CHAP_USE_NTLM_AUTH 1082
+#define PW_PACKET_SRC_PORT 1086
+#define PW_PACKET_DST_PORT 1087
/*
* Integer Translations
diff -urHN src/main/xlat.c src.new/main/xlat.c
--- src/main/xlat.c.orig 2006-02-06 15:52:20.000000000 -0500
+++ src/main/xlat.c 2006-02-21 16:36:49.000000000 -0500
@@ -196,6 +196,10 @@
* FIXME: Add SRC/DST IP address!
*/
if (packet) {
+ VALUE_PAIR localvp;
+
+ localvp.strvalue[0] = 0;
+
switch (da->attr) {
case PW_PACKET_TYPE:
{
@@ -210,10 +214,25 @@
return strlen(out);
}
break;
-
- default:
- break;
- }
+
+ case PW_PACKET_SRC_PORT:
+ localvp.attribute = da->attr;
+ localvp.lvalue = packet->src_port;
+ break;
+
+ case PW_PACKET_DST_PORT:
+ localvp.attribute = da->attr;
+ localvp.lvalue = packet->dst_port;
+ break;
+
+ default:
+ return 0;
+ break;
+ }
+
+ localvp.type = da->type;
+ return valuepair2str(out, outlen, &localvp,
+ da->type, func);
}
/*
More information about the Freeradius-Devel
mailing list