#include "mutt.h"
#include "imap_private.h"
#include "auth.h"
-#include "md5.h"
+#include "md5.h"
#define MD5_BLOCK_LEN 64
#define MD5_DIGEST_LEN 16
+#include "lib/intl.h"
+#include "lib/debug.h"
+
/* forward declarations */
static void hmac_md5 (const char *password, char *challenge,
unsigned char *response);
mutt_message _("Authenticating (CRAM-MD5)...");
/* get auth info */
- if (mutt_account_getuser (&idata->conn->account))
+ if (mutt_account_getlogin (&idata->conn->account))
return IMAP_AUTH_FAILURE;
if (mutt_account_getpass (&idata->conn->account))
return IMAP_AUTH_FAILURE;
while (rc == IMAP_CMD_CONTINUE);
if (rc != IMAP_CMD_RESPOND) {
- dprint (1, (debugfile, "Invalid response from server: %s\n", ibuf));
+ debug_print (1, ("Invalid response from server: %s\n", ibuf));
goto bail;
}
if ((len = mutt_from_base64 (obuf, idata->cmd.buf + 2)) == -1) {
- dprint (1, (debugfile, "Error decoding base64 response.\n"));
+ debug_print (1, ("Error decoding base64 response.\n"));
goto bail;
}
obuf[len] = '\0';
- dprint (2, (debugfile, "CRAM challenge: %s\n", obuf));
+ debug_print (2, ("CRAM challenge: %s\n", obuf));
/* The client makes note of the data and then responds with a string
* consisting of the user name, a space, and a 'digest'. The latter is
hmac_response[9], hmac_response[10], hmac_response[11],
hmac_response[12], hmac_response[13], hmac_response[14],
hmac_response[15]);
- dprint (2, (debugfile, "CRAM response: %s\n", obuf));
+ debug_print (2, ("CRAM response: %s\n", obuf));
/* XXX - ibuf must be long enough to store the base64 encoding of obuf,
* plus the additional debris
*/
mutt_to_base64 ((unsigned char *) ibuf, (unsigned char *) obuf,
- strlen (obuf), sizeof (ibuf) - 2);
- safe_strcat (ibuf, sizeof (ibuf), "\r\n");
+ str_len (obuf), sizeof (ibuf) - 2);
+ str_cat (ibuf, sizeof (ibuf), "\r\n");
mutt_socket_write (idata->conn, ibuf);
do
while (rc == IMAP_CMD_CONTINUE);
if (rc != IMAP_CMD_OK) {
- dprint (1, (debugfile, "Error receiving server response.\n"));
+ debug_print (1, ("Error receiving server response.\n"));
goto bail;
}
unsigned int secret_len, chal_len;
int i;
- secret_len = strlen (password);
- chal_len = strlen (challenge);
+ secret_len = str_len (password);
+ chal_len = str_len (challenge);
/* passwords longer than MD5_BLOCK_LEN bytes are substituted with their MD5
* digests */