#include <signal.h>
#include "socket.h"
#include "smtp.h"
-#include "i18n.h"
+#include "gettext.h"
struct opt
{
if (outlevel >= O_DEBUG)
report(stdout, GT_("Challenge decoded: %s\n"), b64buf);
hmac_md5((unsigned char *)password, strlen(password),
- b64buf, strlen(b64buf), digest, sizeof(digest));
+ (unsigned char *)b64buf, strlen(b64buf), digest, sizeof(digest));
snprintf(tmp, sizeof(tmp),
"%s %02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
username, digest[0], digest[1], digest[2], digest[3],
*opt = 0;
while ((SockRead(sock, smtp_response, sizeof(smtp_response)-1)) != -1)
{
- int n = strlen(smtp_response);
+ size_t n;
set_timeout(0);
(void)set_signal_handler(SIGALRM, alrmsave);
- if (smtp_response[strlen(smtp_response)-1] == '\n')
- smtp_response[strlen(smtp_response)-1] = '\0';
- if (smtp_response[strlen(smtp_response)-1] == '\r')
- smtp_response[strlen(smtp_response)-1] = '\0';
+ n = strlen(smtp_response);
+ if (n > 0 && smtp_response[n-1] == '\n')
+ smtp_response[--n] = '\0';
+ if (n > 0 && smtp_response[n-1] == '\r')
+ smtp_response[--n] = '\0';
if (n < 4)
return SM_ERROR;
smtp_response[n] = '\0';
n = strlen(reply);
if (n > 0 && reply[n-1] == '\n')
- n--;
+ reply[--n] = '\0';
if (n > 0 && reply[n-1] == '\r')
- n--;
- reply[n] = '\0';
+ reply[--n] = '\0';
/* stomp over control characters */
for (i = reply; *i; i++)