#include "mutt_curses.h"
#include "sort.h"
#include "mx.h"
+#include "mx_nntp.h"
#include "mime.h"
#include "rfc1524.h"
#include "rfc2047.h"
-#include "mailbox.h"
#include "nntp.h"
-#ifdef HAVE_PGP
-#include "pgp.h"
-#endif
+#include "mutt_crypt.h"
-#ifdef HAVE_SMIME
-#include "smime.h"
-#endif
+#include "lib/mem.h"
+#include "lib/str.h"
+#include "lib/intl.h"
+#include "lib/debug.h"
#include <unistd.h>
#include <string.h>
static unsigned int _checked = 0;
-#ifdef DEBUG
-static void nntp_error (const char *where, const char *msg)
-{
- dprint (1,
- (debugfile, "nntp_error(): unexpected response in %s: %s\n", where,
- msg));
+static void nntp_error (const char *where, const char *msg) {
+ debug_print (1, ("unexpected response in %s: %s\n", where, msg));
}
-#endif /* DEBUG */
static int nntp_auth (NNTP_SERVER * serv)
{
#ifdef DEBUG
/* don't print the password unless we're at the ungodly debugging level */
- if (debuglevel < M_SOCK_LOG_FULL)
- dprint (M_SOCK_LOG_CMD, (debugfile, "> AUTHINFO PASS *\n"));
+ if (DebugLevel < M_SOCK_LOG_FULL)
+ debug_print (M_SOCK_LOG_CMD, ("> AUTHINFO PASS *\n"));
#endif
snprintf (buf, sizeof (buf), "AUTHINFO PASS %s\r\n", conn->account.pass);
mutt_socket_write_d (conn, buf, M_SOCK_LOG_FULL);
return -1;
}
- if (mutt_strncmp ("281", buf, 3)) {
+ if (safe_strncmp ("281", buf, 3)) {
conn->account.flags = flags;
mutt_error _("Login failed.");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
- if (!mutt_strncmp ("200", buf, 3))
+ if (!safe_strncmp ("200", buf, 3))
mutt_message (_("Connected to %s. Posting ok."), conn->account.host);
- else if (!mutt_strncmp ("201", buf, 3))
+ else if (!safe_strncmp ("201", buf, 3))
mutt_message (_("Connected to %s. Posting NOT ok."), conn->account.host);
else {
mutt_socket_close (conn);
- mutt_remove_trailing_ws (buf);
+ str_skip_trailws (buf);
mutt_error ("%s", buf);
sleep (2);
return -1;
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
- if (!(conn->account.flags & M_ACCT_USER) && mutt_strncmp ("480", buf, 3)) {
+ if (!(conn->account.flags & M_ACCT_USER) && safe_strncmp ("480", buf, 3)) {
serv->status = NNTP_OK;
return 0;
}
mutt_socket_write (conn, "LISTGROUP\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return (nntp_connect_error (serv));
- if (mutt_strncmp ("500", buf, 3))
+ if (safe_strncmp ("500", buf, 3))
serv->hasLISTGROUP = 1;
mutt_socket_write (conn, "XOVER\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
- if (mutt_strncmp ("500", buf, 3))
+ if (safe_strncmp ("500", buf, 3))
serv->hasXOVER = 1;
mutt_socket_write (conn, "XPAT\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
- if (mutt_strncmp ("500", buf, 3))
+ if (safe_strncmp ("500", buf, 3))
serv->hasXPAT = 1;
mutt_socket_write (conn, "XGTITLE +\r\n");
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
- if (mutt_strncmp ("500", buf, 3))
+ if (safe_strncmp ("500", buf, 3))
serv->hasXGTITLE = 1;
- if (!mutt_strncmp ("282", buf, 3)) {
+ if (!safe_strncmp ("282", buf, 3)) {
do {
if (mutt_socket_readln (buf, sizeof (buf), conn) < 0)
return nntp_connect_error (serv);
if (*line)
done = FALSE;
}
- else if ((!mutt_strncmp ("480", buf, 3)) && nntp_auth (data->nserv) < 0)
+ else if ((!safe_strncmp ("480", buf, 3)) && nntp_auth (data->nserv) < 0)
return -1;
} while (!done);
ret = mutt_nntp_fetch (nntp_data, buf, NULL, nntp_read_tempfile, f, 0);
if (ret) {
-#ifdef DEBUG
if (ret != -1)
- dprint (1, (debugfile, "nntp_read_header: %s\n", buf));
-#endif
+ debug_print (1, ("%s\n", buf));
fclose (f);
unlink (tempfile);
return (ret == -1 ? -1 : 1);
d++;
while (*d && (*d == '\t' || *d == ' '))
d++;
- dprint (2, (debugfile, "group: %s, desc: %s\n", line, d));
+ debug_print (2, ("group: %s, desc: %s\n", line, d));
if ((data = (NNTP_DATA *) hash_find (news->newsgroups, line)) != NULL &&
mutt_strcmp (d, data->desc)) {
FREE (&data->desc);
return -1;
}
- if (mutt_strncmp ("211", buf, 3)) {
+ if (safe_strncmp ("211", buf, 3)) {
LIST *l = serv->list;
/* GROUP command failed */
- if (!mutt_strncmp ("411", buf, 3)) {
+ if (!safe_strncmp ("411", buf, 3)) {
mutt_error (_("Newsgroup %s not found on server %s"),
nntp_data->group, serv->conn->account.host);
if (ret == 1) {
mutt_error (_("Article %d not found on server"),
ctx->hdrs[msgno]->article_num);
- dprint (1, (debugfile, "nntp_fetch_message: %s\n", buf));
+ debug_print (1, ("%s\n", buf));
}
if (ret) {
* full headers aren't parsed with XOVER, so the information wasn't
* available then.
*/
-#if defined(HAVE_PGP) || defined(HAVE_SMIME)
ctx->hdrs[msgno]->security = crypt_query (ctx->hdrs[msgno]->content);
-#endif /* HAVE_PGP || HAVE_SMIME */
mutt_clear_error ();
rewind (msg->fp);
FREE (p);
}
-int nntp_sync_mailbox (CONTEXT * ctx)
+int nntp_sync_mailbox (CONTEXT * ctx, int unused1, int* unused2)
{
NNTP_DATA *data = ctx->data;
return -1;
}
}
- nntp_sync_mailbox (ctx);
+ nntp_sync_mailbox (ctx, 0, NULL);
if (ctx->data && ((NNTP_DATA *) ctx->data)->nserv) {
NNTP_SERVER *news;
#endif
return -1;
}
- if (mutt_strncmp ("211", buf, 3)) {
+ if (safe_strncmp ("211", buf, 3)) {
buf[0] = 0;
if (mutt_nntp_query (nntp_data, buf, sizeof (buf)) < 0) {
#ifdef DEBUG
return -1;
}
}
- if (!mutt_strncmp ("211", buf, 3)) {
+ if (!safe_strncmp ("211", buf, 3)) {
int first;
int last;
return 0;
}
-int nntp_check_mailbox (CONTEXT * ctx)
+int nntp_check_mailbox (CONTEXT * ctx, int* unused1, int unused2)
{
return _nntp_check_mailbox (ctx, (NNTP_DATA *) ctx->data);
}