# HG changeset patch # User Sebastien Decugis # Date 1278390431 -32400 # Node ID ce8d207253082c16aa749bd05642dbc538eafcdf # Parent 69057a6d68ec11cffadb810ad28b9f8075f4fd8f Allow empty User-Name RADIUS attributes diff -r 69057a6d68ec -r ce8d20725308 extensions/app_radgw/rgwx_auth.c --- a/extensions/app_radgw/rgwx_auth.c Mon Jul 05 18:45:07 2010 +0900 +++ b/extensions/app_radgw/rgwx_auth.c Tue Jul 06 13:27:11 2010 +0900 @@ -375,11 +375,9 @@ break; case RADIUS_ATTR_USER_NAME: - if (attr_len) { - TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr_len, attr_val); - un = attr_val; - un_len = attr_len; - } + TRACE_DEBUG(ANNOYING, "Found a User-Name attribute: '%.*s'", attr_len, attr_val); + un = attr_val; + un_len = attr_len; break; } diff -r 69057a6d68ec -r ce8d20725308 libfreeDiameter/messages.c --- a/libfreeDiameter/messages.c Mon Jul 05 18:45:07 2010 +0900 +++ b/libfreeDiameter/messages.c Tue Jul 06 13:27:11 2010 +0900 @@ -1138,7 +1138,7 @@ memcpy(&avp->avp_storage, value, sizeof(union avp_value)); /* Copy an octetstring if needed. */ - if (type == AVP_TYPE_OCTETSTRING) { + if ((type == AVP_TYPE_OCTETSTRING) && (value->os.len)) { CHECK_MALLOC( avp->avp_storage.os.data = malloc(value->os.len) ); avp->avp_mustfreeos = 1; memcpy(avp->avp_storage.os.data, value->os.data, value->os.len);