I have implimented a configuration option in the site wide
configuration.
It is now possible to have Citadel keep the original from headers for
the message.
cprintf("%s\n", config.c_master_user);
cprintf("%s\n", config.c_master_pass);
cprintf("%s\n", config.c_pager_program);
cprintf("%s\n", config.c_master_user);
cprintf("%s\n", config.c_master_pass);
cprintf("%s\n", config.c_pager_program);
+ cprintf("%d\n", config.c_imap_keep_from);
buf,
sizeof config.c_pager_program);
break;
buf,
sizeof config.c_pager_program);
break;
+ case 61:
+ config.c_imap_keep_from = atoi(buf);
+ break;
CFG_VALUE(STRING_BUF(c_master_user, 32), " Master user name ");
CFG_VALUE(STRING_BUF(c_master_pass, 32), " Master user password ");
CFG_VALUE(STRING_BUF(c_pager_program, 256), " External pager program (blank to disable)");
CFG_VALUE(STRING_BUF(c_master_user, 32), " Master user name ");
CFG_VALUE(STRING_BUF(c_master_pass, 32), " Master user password ");
CFG_VALUE(STRING_BUF(c_pager_program, 256), " External pager program (blank to disable)");
+CFG_VALUE(CHAR(c_imap_keep_from), " IMAP keep original from header in msgs");
* private mailboxes.
*/
if (CC->logged_in) {
* private mailboxes.
*/
if (CC->logged_in) {
- if ( (CC->room.QRflags & QR_MAILBOX) == 0) {
+ if ( ((CC->room.QRflags & QR_MAILBOX) == 0) && (config.c_imap_keep_from == 0)) {
if (msg->cm_fields['A'] != NULL) free(msg->cm_fields['A']);
if (msg->cm_fields['N'] != NULL) free(msg->cm_fields['N']);
if (msg->cm_fields['H'] != NULL) free(msg->cm_fields['H']);
if (msg->cm_fields['A'] != NULL) free(msg->cm_fields['A']);
if (msg->cm_fields['N'] != NULL) free(msg->cm_fields['N']);
if (msg->cm_fields['H'] != NULL) free(msg->cm_fields['H']);
sprintf(&funambol[strlen(funambol)], "<input type=\"text\" NAME=\"c_pager_program\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
sprintf(&funambol[strlen(funambol)], "</TD></TR>\n");
break;
sprintf(&funambol[strlen(funambol)], "<input type=\"text\" NAME=\"c_pager_program\" MAXLENGTH=\"255\" VALUE=\"%s\">", buf);
sprintf(&funambol[strlen(funambol)], "</TD></TR>\n");
break;
+ case 61:
+ sprintf(&network[strlen(network)], "<TR><TD>");
+ sprintf(&network[strlen(network)], _("Keep original from headers in IMAP"));
+ sprintf(&network[strlen(network)], "</TD><TD>");
+ sprintf(&network[strlen(network)], "<input type=\"checkbox\" NAME=\"c_imap_keep_from\" VALUE=\"yes\" %s>",
+ ((atoi(buf) != 0) ? "CHECKED" : ""));
+ sprintf(&network[strlen(network)], "</TD></TR>\n");
+ break;
serv_printf("%s", bstr("c_master_user"));
serv_printf("%s", bstr("c_master_pass"));
serv_printf("%s", bstr("c_pager_program"));
serv_printf("%s", bstr("c_master_user"));
serv_printf("%s", bstr("c_master_pass"));
serv_printf("%s", bstr("c_pager_program"));
+ serv_printf("%s", ((!strcasecmp(bstr("c_imap_keep_from"), "yes") ? "1" : "0")));
serv_printf("000");
serv_printf("SPEX site|%d|%d", atoi(bstr("sitepolicy")), atoi(bstr("sitevalue")));
serv_printf("000");
serv_printf("SPEX site|%d|%d", atoi(bstr("sitepolicy")), atoi(bstr("sitevalue")));