if (!pop_data->timestamp)
return POP_A_UNAVAIL;
- if (rfc822_valid_msgid (pop_data->timestamp) < 0)
+ if (!rfc822_valid_msgid (pop_data->timestamp))
{
mutt_error (_("POP timestamp is invalid!"));
mutt_sleep (2);
}
/* incomplete. Only used to thwart the APOP MD5 attack (#2846). */
-int rfc822_valid_msgid (const char *msgid)
+bool rfc822_valid_msgid (const char *msgid)
{
/* msg-id = "<" addr-spec ">"
* addr-spec = local-part "@" domain
unsigned int l, i;
if (!msgid || !*msgid)
- return -1;
+ return false;
l = mutt_strlen (msgid);
if (l < 5) /* <atom@atom> */
- return -1;
+ return false;
if (msgid[0] != '<' || msgid[l-1] != '>')
- return -1;
+ return false;
if (!(strrchr (msgid, '@')))
- return -1;
+ return false;
/* TODO: complete parser */
for (i = 0; i < l; i++)
if ((unsigned char)msgid[i] > 127)
- return -1;
+ return false;
- return 0;
+ return true;
}
#ifdef TESTING
void rfc822_write_address_single(char *buf, size_t buflen, ADDRESS *addr, int display);
void rfc822_free_address(ADDRESS **p);
void rfc822_cat(char *buf, size_t buflen, const char *value, const char *specials);
-int rfc822_valid_msgid(const char *msgid);
+bool rfc822_valid_msgid(const char *msgid);
int rfc822_remove_from_adrlist(ADDRESS **a, const char *mailbox);
extern int RFC822Error;
else if (ascii_strncasecmp ("message-id:", uh->data, 11) == 0)
{
char *tmp = mutt_extract_message_id (uh->data + 11, NULL);
- if (rfc822_valid_msgid (tmp) >= 0)
+ if (rfc822_valid_msgid (tmp))
{
FREE(&env->message_id);
env->message_id = tmp;