|
|
@@ -1242,10 +1242,31 @@ int msg_exists_or_err(uint32_t msgno) |
|
|
void uidl_msg(uint32_t msgno) |
|
|
{ |
|
|
if (popd_mailbox->i.options & OPT_POP3_NEW_UIDL) { |
|
|
prot_printf(popd_out, "%u %u.%u\r\n", msgno, |
|
|
popd_mailbox->i.uidvalidity, |
|
|
popd_map[msgno-1].uid); |
|
|
} else { |
|
|
switch (config_getenum(IMAPOPT_UIDL_FORMAT)) { |
|
|
case IMAP_ENUM_UIDL_FORMAT_UIDONLY: |
|
|
prot_printf(popd_out, "%u %u\r\n", msgno, |
|
|
popd_map[msgno-1].uid); |
|
|
break; |
|
|
case IMAP_ENUM_UIDL_FORMAT_CYRUS: |
|
|
prot_printf(popd_out, "%u %u.%u\r\n", msgno, |
|
|
popd_mailbox->i.uidvalidity, |
|
|
popd_map[msgno-1].uid); |
|
|
break; |
|
|
case IMAP_ENUM_UIDL_FORMAT_DOVECOT: |
|
|
prot_printf(popd_out, "%u %08x%08x\r\n", msgno, |
|
|
popd_map[msgno-1].uid, |
|
|
popd_mailbox->i.uidvalidity); |
|
|
break; |
|
|
case IMAP_ENUM_UIDL_FORMAT_COURIER: |
|
|
prot_printf(popd_out, "%u %u-%u\r\n", msgno, |
|
|
popd_mailbox->i.uidvalidity, |
|
|
popd_map[msgno-1].uid); |
|
|
break; |
|
|
default: |
|
|
abort(); |
|
|
} |
|
|
} |
|
|
else { |
|
|
prot_printf(popd_out, "%u %u\r\n", msgno, |
|
|
popd_map[msgno-1].uid); |
|
|
} |
|
|
|