aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2012-12-04 18:43:30 +0100
committerTobias Brunner <tobias@strongswan.org>2013-01-17 15:22:08 +0100
commitffe710ae7136874aed62ca849c523fa62a0cdce9 (patch)
tree0cb97ecb8534196efe21b9d02d773c259be51772
parentd47b75185082b8f6b4026784fa42597752adc0fd (diff)
downloadstrongswan-ffe710ae7136874aed62ca849c523fa62a0cdce9.tar.bz2
strongswan-ffe710ae7136874aed62ca849c523fa62a0cdce9.tar.xz
Patch AVP parsing in EAP-TTLS module in FreeRADIUS
-rw-r--r--testing/scripts/recipes/freeradius.mk1
-rw-r--r--testing/scripts/recipes/patches/freeradius-avp-size18
2 files changed, 19 insertions, 0 deletions
diff --git a/testing/scripts/recipes/freeradius.mk b/testing/scripts/recipes/freeradius.mk
index ec530a862..7b7a5fe82 100644
--- a/testing/scripts/recipes/freeradius.mk
+++ b/testing/scripts/recipes/freeradius.mk
@@ -16,6 +16,7 @@ CONFIG_OPTS = \
PATCHES = \
freeradius-eap-sim-identity \
+ freeradius-avp-size \
freeradius-tnc-fhh
all: install
diff --git a/testing/scripts/recipes/patches/freeradius-avp-size b/testing/scripts/recipes/patches/freeradius-avp-size
new file mode 100644
index 000000000..e7e1f635b
--- /dev/null
+++ b/testing/scripts/recipes/patches/freeradius-avp-size
@@ -0,0 +1,18 @@
+diff --git a/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c b/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c
+index 6c9bd13..3344c53 100644
+--- a/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c
++++ b/src/modules/rlm_eap/types/rlm_eap_ttls/ttls.c
+@@ -201,8 +201,11 @@ static VALUE_PAIR *diameter2vp(REQUEST *request, SSL *ssl,
+ goto next_attr;
+ }
+
+- if (size > 253) {
+- RDEBUG2("WARNING: diameter2vp skipping long attribute %u, attr");
++ /*
++ * EAP-Message AVPs can be larger than 253 octets.
++ */
++ if ((size > 253) && !((VENDOR(attr) == 0) && (attr == PW_EAP_MESSAGE))) {
++ RDEBUG2("WARNING: diameter2vp skipping long attribute %u", attr);
+ goto next_attr;
+ }
+