Patch: Elm ME+ 2.5 PLalpha51 -> Elm ME+ 2.5 PLalpha52 [6/7] (5/5)
From
Kari Hurtta@21:1/5 to
All on Mon Jun 8 19:52:22 2020
[continued from previous message]
! }
! if (rewrite) {
! DPRINT(Debug,9,(&Debug, "mail: %s: domain %s rewrite is %s\n",
! sender_addr,sender_domain,rewrite));
! }
! if (sender_addr && verify_domain_ok == r) {
! char *sep = qstrpbrk(sender_addr,"!:@");
! if (sep) {
! DPRINT(Debug,9,
! (&Debug,
! "mail: addr %s separator %c\n",
! sender_addr, *sep));
!
! if ('@' == *sep && sep > sender_addr && rewrite) { ! int len = sep-sender_addr;
!
! char * addr1 =
! elm_message(FRM("%.*s@%s"),
! len,sender_addr,
! rewrite);
!
! DPRINT(Debug,9,(&Debug,
! "mail: rewiting address %s to %s\n",
! sender_addr,addr1));
! free(sender_addr);
! sender_addr = addr1;
! }
! }
}
! if (main_cancel)
! free_cancel(&main_cancel);
! if (rewrite) {
! free (rewrite);
! rewrite = NULL;
! }
! } else {
! DPRINT(Debug,9,(&Debug, ", verify skipped\n"));
! }
! if (sender_addr) {
! headers->sender = sender_addr;
! sender_addr = NULL;
!
! DPRINT(Debug,6,(&Debug,
! "mail: setting Sender address: %s\n",
! headers->sender));
}
! }
}
! if (sender_domain)
! free(sender_domain);
! if (!sender_ok) {
! /* If Sender: -header is only omitted,
! when domain is on special-use-domains-blacklist
! elmrc option, user can prevent addition
! of Sender: header with just editing
! on special-use-domains-blacklist on
! ~/.elm/elmrc
! */
- if (ft_forget == code ||
- ft_forget_empty == code)
- goto forget_message;
! if (OPMODE_IS_INTERACTIVE(opmode))
! goto restart_verify_transmission;
! goto fail_label;
}
}
!
switch(code) {
case ft_preview:
--- 3402,3722 ----
goto fail_label;
}
}
+
+ helperstatus = sndhelper_handle_sender(add_sender_h,mailer_info,&sender_domain,
+ &sender_domain_verify,&sender_addr,
+ from_addr_len,&sender_ok,headers);
! switch (helperstatus) {
! case sndhelper_domain_failure:
! if (!sender_ok && sender_addr && sender_domain) {
! if (ft_forget != code &&
! ft_forget_empty != code) {
! lib_error(CATGETS(elm_msg_cat, ElmSet,
! ElmSenderFailDomain,
! "Domain %s for Sender address %s not valid; Use f)orget."),
! sender_domain,sender_domain);
! local_options = MAIL_FORGET;
! }
}
+ break;
+ case sndhelper_none:
+ break;
}
!
! if (sender_domain) {
! free(sender_domain);
! sender_domain = NULL;
! }
!
if (sender_addr) {
! free(sender_addr);
! sender_addr = NULL;
! }
! if (!sender_ok) {
! /* If Sender: -header is only omitted,
!