X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fmodules%2Fmanagesieve%2Fserv_managesieve.c;h=614eff97a6d49dd08bb49bf9b6196e31f4da1520;hb=91acd2248c9358e6150c66eeb624d479f24b3941;hp=6f4b67c0c68cbb3357c51da3e0c11290f5deb2db;hpb=4a99bc68afe818d8800b9c84cb986aa39e687e8e;p=citadel.git diff --git a/citadel/modules/managesieve/serv_managesieve.c b/citadel/modules/managesieve/serv_managesieve.c index 6f4b67c0c..614eff97a 100644 --- a/citadel/modules/managesieve/serv_managesieve.c +++ b/citadel/modules/managesieve/serv_managesieve.c @@ -215,8 +215,11 @@ void cmd_mgsve_auth(int num_parms, char **parms, struct sdm_userdata *u) char auth[SIZ]; int retval; char *message; + char *username; + char *password; message = NULL; + memset (auth, 0, SIZ); if (parms[2][0] == '{') message = ReadString(GetSizeToken(parms[2]), parms[0]); @@ -225,8 +228,11 @@ void cmd_mgsve_auth(int num_parms, char **parms, struct sdm_userdata *u) } else retval = CtdlDecodeBase64(auth, parms[2], SIZ); - - if (login_ok == CtdlLoginExistingUser(NULL, auth)) + username = auth; + if ((*username == '\0') && (*(username + 1) != '\0')) + username ++; + + if (login_ok == CtdlLoginExistingUser(NULL, username)) { char *pass; pass = &(auth[strlen(auth)+1]);