• 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,
    !