Browse Source

don't error out if we don't get an X-TUID header

the BODY[] item in the FETCH response corresponds to what we requested,
and its presence doesn't imply that it actually contains anything useful
- new messages may appear in the mailbox in addition to those we stored
ourselves, and these will obviously have no TUID.
Oswald Buddenhagen 11 năm trước cách đây
mục cha
commit
f4a192f375
1 tập tin đã thay đổi với 3 bổ sung2 xóa
  1. 3 2
      src/drv_imap.c

+ 3 - 2
src/drv_imap.c

@@ -922,9 +922,10 @@ parse_fetch_rsp( imap_store_t *ctx, list_t *list, char *s ATTR_UNUSED )
 					if (!is_atom( tmp ) || strcmp( tmp->val, "]" ))
 						goto bfail;
 					tmp = tmp->next;
-					if (!is_atom( tmp ) || memcmp( tmp->val, "X-TUID: ", 8 ))
+					if (!is_atom( tmp ))
 						goto bfail;
-					tuid = tmp->val + 8;
+					if (!memcmp( tmp->val, "X-TUID: ", 8 ))
+						tuid = tmp->val + 8;
 				} else {
 				  bfail:
 					error( "IMAP error: unable to parse BODY[HEADER.FIELDS ...]\n" );