diff options
author | David Sommerseth <dazo@users.sourceforge.net> | 2010-11-18 22:17:58 +0100 |
---|---|---|
committer | David Sommerseth <dazo@users.sourceforge.net> | 2010-11-18 22:17:58 +0100 |
commit | 529df9922d85574828d95020eebcd228ba3a8164 (patch) | |
tree | 8524b46dd4bbbd163d4ce273ea6e82edd7c4b947 /socks.c | |
parent | Merge branch 'bugfix2.1' into beta2.2 (diff) | |
parent | Merged add_bypass_address() and add_host_route_if_nonlocal() (diff) | |
download | openvpn-529df9922d85574828d95020eebcd228ba3a8164.tar.xz |
Merge branch 'feat_misc' into beta2.2
Conflicts:
acinclude.m4
config-win32.h
configure.ac
misc.c
thread.c
thread.h
- These conflicts was mainly due to feat_misc getting old
and mostly caused by the pthread clean-up patches in
feat_misc
Signed-off-by: David Sommerseth <dazo@users.sourceforge.net>
Diffstat (limited to 'socks.c')
-rw-r--r-- | socks.c | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -112,10 +112,17 @@ socks_username_password_auth (struct socks_proxy_info *p, ssize_t size; creds.defined = 0; - get_user_pass (&creds, p->authfile, UP_TYPE_SOCKS, GET_USER_PASS_MANAGEMENT); - snprintf (to_send, sizeof (to_send), "\x01%c%s%c%s", strlen(creds.username), - creds.username, strlen(creds.password), creds.password); + + if( !creds.username || (strlen(creds.username) > 255) + || !creds.password || (strlen(creds.password) > 255) ) { + msg (M_NONFATAL, + "SOCKS username and/or password exceeds 255 characters. " + "Authentication not possible."); + return false; + } + snprintf (to_send, sizeof (to_send), "\x01%c%s%c%s", (int) strlen(creds.username), + creds.username, (int) strlen(creds.password), creds.password); size = send (sd, to_send, strlen(to_send), MSG_NOSIGNAL); if (size != strlen (to_send)) |