Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[http] Allow for URI encodings within username and password
  • Loading branch information
Michael Brown committed Feb 13, 2009
1 parent ef70f87 commit 816a32a
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions src/net/tcp/http.c
Expand Up @@ -407,8 +407,21 @@ static void http_step ( struct process *process ) {

/* Construct authorisation, if applicable */
if ( user_pw_len ) {
snprintf ( user_pw, sizeof ( user_pw ), "%s:%s",
user, password );
char *buf = user_pw;
ssize_t remaining = sizeof ( user_pw );
size_t len;

/* URI-decode the username and password */
len = uri_decode ( user, buf, remaining );
buf += len;
remaining -= len;
*(remaining--, buf++) = ':';
len = uri_decode ( password, buf, remaining );
buf += len;
remaining -= len;
assert ( remaining >= 0 );

/* Base64-encode the "user:password" string */
base64_encode ( user_pw, user_pw_base64 );
}

Expand Down

0 comments on commit 816a32a

Please sign in to comment.