projects
/
citadel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more places to fix the new linebreak behaviour of the base64 encoder.
[citadel.git]
/
citadel
/
modules
/
smtp
/
serv_smtp.c
diff --git
a/citadel/modules/smtp/serv_smtp.c
b/citadel/modules/smtp/serv_smtp.c
index 4abb0a3fe0694c68f276a5d15f90b02444692625..a93bb438e384231052681d5ac4346aba074e8feb 100644
(file)
--- a/
citadel/modules/smtp/serv_smtp.c
+++ b/
citadel/modules/smtp/serv_smtp.c
@@
-400,7
+400,11
@@
void smtp_get_user(long offset)
/* syslog(LOG_DEBUG, "Trying <%s>\n", username); */
if (CtdlLoginExistingUser(NULL, ChrPtr(sSMTP->Cmd)) == login_ok) {
/* syslog(LOG_DEBUG, "Trying <%s>\n", username); */
if (CtdlLoginExistingUser(NULL, ChrPtr(sSMTP->Cmd)) == login_ok) {
- CtdlEncodeBase64(buf, "Password:", 9, 0);
+ size_t len = CtdlEncodeBase64(buf, "Password:", 9, 0);
+
+ if (buf[len - 1] == '\n') {
+ buf[len - 1] = '\0';
+ }
cprintf("334 %s\r\n", buf);
sSMTP->command_state = smtp_password;
}
cprintf("334 %s\r\n", buf);
sSMTP->command_state = smtp_password;
}
@@
-519,7
+523,10
@@
void smtp_auth(long offset, long Flags)
smtp_get_user(6);
}
else {
smtp_get_user(6);
}
else {
- CtdlEncodeBase64(username_prompt, "Username:", 9, 0);
+ size_t len = CtdlEncodeBase64(username_prompt, "Username:", 9, 0);
+ if (username_prompt[len - 1] == '\n') {
+ username_prompt[len - 1] = '\0';
+ }
cprintf("334 %s\r\n", username_prompt);
sSMTP->command_state = smtp_user;
}
cprintf("334 %s\r\n", username_prompt);
sSMTP->command_state = smtp_user;
}