Skip to content

Commit

Permalink
pop3: Fixed the issue of having to supply the user name for all requests
Browse files Browse the repository at this point in the history
Previously it wasn't possible to connect to POP3 and not specify the
user name as a CURLE_ACCESS_DENIED error would be returned. This error
occurred because USER would be sent to the server with a blank user name
if no mailbox user was specified as the server would reply with -ERR.

This wasn't a problem prior to the 7.26.0 release but with the
introduction of custom commands the user and/or application developer
might want to issue a CAPA command without having to log in as a
specific mailbox user.

Additionally this fix won't send the newly introduced AUTH command if no
user name is specified.
  • Loading branch information
captain-caveman2k committed Jun 2, 2012
1 parent 1fa2af5 commit 69ba0da
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
1 change: 1 addition & 0 deletions RELEASE-NOTES
Expand Up @@ -14,6 +14,7 @@ This release includes the following changes:

This release includes the following bugfixes:

o pop3: Fixed the issue of having to supply the user name for all requests
o

This release includes the following known bugs:
Expand Down
10 changes: 9 additions & 1 deletion lib/pop3.c
Expand Up @@ -305,12 +305,20 @@ static void state(struct connectdata *conn, pop3state newstate)

static CURLcode pop3_state_auth(struct connectdata *conn)
{
CURLcode result;
CURLcode result = CURLE_OK;
struct pop3_conn *pop3c = &conn->proto.pop3c;

pop3c->authmechs = 0; /* No known authentication mechanisms yet */
pop3c->authused = 0; /* Clear the authentication mechanism used */

/* Check we have a username and password to authenticate with and end the
connect phase if we don't */
if(!conn->bits.user_passwd) {
state(conn, SMTP_STOP);

return result;
}

/* send AUTH */
result = Curl_pp_sendf(&pop3c->pp, "AUTH");

Expand Down

0 comments on commit 69ba0da

Please sign in to comment.