Skip to content

Commit

Permalink
Tests for Tunnel-Password
Browse files Browse the repository at this point in the history
And a fix for when it would encode passwords with the
wrong length
  • Loading branch information
alandekok committed Jul 31, 2015
1 parent bb6e8b9 commit 073a348
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 1 deletion.
4 changes: 3 additions & 1 deletion src/lib/radius.c
Expand Up @@ -974,13 +974,15 @@ static ssize_t vp2data_any(RADIUS_PACKET const *packet,
make_tunnel_passwd(ptr + lvalue, &len, data, len,
room - lvalue,
secret, original->vector);
len += lvalue;
break;
case PW_CODE_ACCOUNTING_REQUEST:
case PW_CODE_DISCONNECT_REQUEST:
case PW_CODE_COA_REQUEST:
ptr[0] = TAG_VALID(vp->tag) ? vp->tag : TAG_NONE;
make_tunnel_passwd(ptr + 1, &len, data, len - 1, room,
make_tunnel_passwd(ptr + 1, &len, data, len, room - 1,
secret, packet->vector);
len += lvalue;
break;
}
break;
Expand Down
1 change: 1 addition & 0 deletions src/tests/unit/rfc.txt
Expand Up @@ -135,6 +135,7 @@ data Framed-IPv6-Prefix = 11:22:33:44:55:66:77:88/128
attribute Framed-IPv6-Prefix = *
data Framed-IPv6-Prefix = ::/128

$INCLUDE tunnel.txt
$INCLUDE errors.txt
$INCLUDE extended.txt
$INCLUDE lucent.txt
Expand Down
71 changes: 71 additions & 0 deletions src/tests/unit/tunnel.txt
@@ -0,0 +1,71 @@
#
# We can't look at the data here, because the encoded Tunnel-Password has a 2 byte
# random salt
#
encode Tunnel-Password:0 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabc"
decode -
data Tunnel-Password:0 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxabc"

encode Tunnel-Password:0 = "0"
decode -
data Tunnel-Password:0 = "0"

encode Tunnel-Password:0 = "01"
decode -
data Tunnel-Password:0 = "01"

encode Tunnel-Password:0 = "012"
decode -
data Tunnel-Password:0 = "012"

encode Tunnel-Password:0 = "0123"
decode -
data Tunnel-Password:0 = "0123"

encode Tunnel-Password:0 = "01234"
decode -
data Tunnel-Password:0 = "01234"

encode Tunnel-Password:0 = "012345"
decode -
data Tunnel-Password:0 = "012345"

encode Tunnel-Password:0 = "0123456"
decode -
data Tunnel-Password:0 = "0123456"

encode Tunnel-Password:0 = "01234567"
decode -
data Tunnel-Password:0 = "01234567"

encode Tunnel-Password:0 = "012345678"
decode -
data Tunnel-Password:0 = "012345678"

encode Tunnel-Password:0 = "0123456789"
decode -
data Tunnel-Password:0 = "0123456789"

encode Tunnel-Password:0 = "0123456789a"
decode -
data Tunnel-Password:0 = "0123456789a"

encode Tunnel-Password:0 = "0123456789ab"
decode -
data Tunnel-Password:0 = "0123456789ab"

encode Tunnel-Password:0 = "0123456789abc"
decode -
data Tunnel-Password:0 = "0123456789abc"

encode Tunnel-Password:0 = "0123456789abcd"
decode -
data Tunnel-Password:0 = "0123456789abcd"

encode Tunnel-Password:0 = "0123456789abcde"
decode -
data Tunnel-Password:0 = "0123456789abcde"

encode Tunnel-Password:0 = "0123456789abcdef"
decode -
data Tunnel-Password:0 = "0123456789abcdef"

0 comments on commit 073a348

Please sign in to comment.