fastmail / authentication_milter

Email Authentication by SPF/DKIM/DMARC etc.
Other
121 stars 21 forks source link

FATAL error on milter service launch in protocol=smtp mode, with "IPRev" handler enabled; if disabled, error "IPRev missing" ? #85

Closed pgnd closed 4 years ago

pgnd commented 4 years ago

i've set up authentication-milter in smtp mode

with this config,

authentication_milter.json
    {

        "connection" : "inet:10001@127.0.0.1",
        "protocol"  : "smtp",
        "smtp" : {
            "server_name"    : "auth-milter.mx.example.com",
            "sock_type"      : "inet",
            "sock_host"      : "127.0.0.1",
            "sock_port"      : "10002",
            "timeout_in"     : "10",
            "timeout_out"    : "10",
            "pipeline_limit" : "50",
            "queue_type"     : "before",
            "chunk_limit"    : 1048576
        },

        "debug"     : 0,
        "dryrun"    : 0,
        "hide_none" : 0,
        "logtoerr"  : 1,
        "error_log" : "/var/log/auth-milter/auth-milter.err",

        "umask"      : "0000",
        "runas"      : "auth-milter",
        "rungroup"   : "postfix-milter",
        "chroot"     : "",

        "listen_backlog"         : 20,
        "min_children"           : 1,
        "max_children"           : 5,
        "min_spare_children"     : 1,
        "max_spare_children"     : 2,
        "max_requests_per_child" : 100,

        "connect_timeout"       : 30,
        "command_timeout"       : 30,
        "content_timeout"       : 300,

        "dns_resolvers" : [
            "127.0.0.1"
        ],
        "dns_timeout"   : 10,
        "dns_retry"     : 2,

        "header_indent_style" : "entry",
        "header_fold_at"      : 77,
        "header_indent_by"    : 4,

        "tempfail_on_error"               : "1",
        "tempfail_on_error_authenticated" : "0",
        "tempfail_on_error_local"         : "0",
        "tempfail_on_error_trusted"       : "0",

        "handlers" : {

            "SPF" : {
                "hide_received-spf_header" : 0,
                "hide_none"  : 0,
                "best_guess" : 0
            },
            "DKIM" : {
                "hide_none" : 0,
                "hide_domainkeys" : 1,
                "check_adsp" : 1,
                "show_default_adsp" : 0,
                "adsp_hide_none" : 0,
                "extra_properties" : 0,
                "no_strict" : 0
            },
            "!ARC" : {},
            "IPRev" : {},
            "PTR" : {},
            "DMARC" : {
                "hard_reject" : 1,
                "no_reject_disposition" : "quarantine",
                "no_list_reject" : 0,
                "arc_before_list" : 0,
                "no_list_reject_disposition" : "none",
                "reject_on_multifrom" : 20,
                "quarantine_on_multifrom" : 15,
                "skip_on_multifrom" : 10,
                "whitelisted" : [],
                "use_arc" : 0,
                "hide_none" : 0,
                "detect_list_id" : 1,
                "report_skip_to" : [],
                "no_report" : 1,
                "hide_report_to" : 0,
                "config_file" : "/usr/local/etc/auth-milter/mail-dmarc.ini"
            },

            "!SenderID" : {
                "hide_none" : 1
            },

            "!Auth" : {
            },

            "LocalIP" : {},

            "TrustedIP" : {
                "trusted_ip_list" : []
            },

            "!TLS" : {
            },

            "!AddID" : {},

            "ReturnOK" : {"_comment" : "no cfg"},

            "Sanitize" : {
                "hosts_to_remove" : [
                ],
                "remove_headers" : "yes"
            },
        }
    }

on launch of the milter service,

    systemctl start auth-milter

i get a FATAL error,

    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] daemonize servers=1/5 spares=1/2 requests=100
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] run as user=auth-milter group=postfix-milter
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] Chroot to 
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] listening on inet host=127.0.0.1 port=10001 backlog=20
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] ==========
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] Starting server
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] Running with perl v5.30.3
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2834] ==========
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2911] Child process 2911 starting up
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2911] Child process 2911 signalling global shut down due to fatal error: Could not build order list
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2911] Child exiting
    Unrecognized signal name "Term" at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 903.
            ...propagated at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 860.

and then the process runs away, spewing endlessly

    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2912] Child process 2912 starting up
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2912] Child process 2912 signalling global shut down due to fatal error: Could not build order list
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2912] Child exiting
    Unrecognized signal name "Term" at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 903.
            ...propagated at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 860.
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2913] Child process 2913 starting up
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2913] Child process 2913 signalling global shut down due to fatal error: Could not build order list
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2913] Child exiting
    Unrecognized signal name "Term" at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 903.
            ...propagated at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 860.
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2914] Child process 2914 starting up
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2914] Child process 2914 signalling global shut down due to fatal error: Could not build order list
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2914] Child exiting
    Unrecognized signal name "Term" at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 903.
            ...propagated at /usr/local/share/perl5/5.30/Mail/Milter/Authentication.pm line 860.
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2915] Child process 2915 starting up
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2915] Child process 2915 signalling global shut down due to fatal error: Could not build order list
    Mon Oct  5 11:44:44 2020 authentication_milter_mx[2915] Child exiting
    ...

& requiring a service kill to exit.

toggling to DISABLE IPRev

-       "IPRev" : {},
+       "!IPRev" : {},

eliminates the runaway, launch is successful, but on mail receipt -- from Fastmail servers -- logs report,

    Mon Oct  5 11:42:23 2020 authentication_milter_mx[2667] Child process 2667 starting up
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: SMTP Transaction count: 1.1
!!  Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: ERROR: PTR Config Error: IPRev is missing 
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: SPFCode: pass
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: DKIMResult: pass
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: DMARCCode: pass
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: DMARCDisposition: none
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: DMARCSubdomain: no
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: DMARCPolicy: none default
!!  Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: ERROR: DMARC Error Can't call method "binip" on an undefined value at /usr/share/perl5/vendor_perl/Net/IP.pm line 761.
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: PreHeader: Received-SPF: pass
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     (fastmail.fm: Sender is authorized to use '#####@fastmail.fm' in 'mfrom' identity (mechanism 'include:spf.messagingengine.com' matched))
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     receiver=auth-milter.mx.example.com;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     identity=mailfrom;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     envelope-from="#####@fastmail.fm";
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     helo=wout3-smtp.messagingengine.com;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     client-ip=64.147.123.19
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667] 618C45BCAEC: PreHeader: Authentication-Results: auth-milter.mx.example.com;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     dkim-adsp=pass (ADSP policy from fastmail.fm);
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     dkim=pass (2048-bit rsa key sha256) header.d=fastmail.fm
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]       header.i=@fastmail.fm header.b=oB8IKenq header.a=rsa-sha256
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]       header.s=fm1;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     dkim=pass (2048-bit rsa key sha256) header.d=messagingengine.com
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]       header.i=@messagingengine.com header.b=MUQDcOMs header.a=rsa-sha256
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]       header.s=fm1;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     dmarc=temperror header.from=fastmail.fm;
    Mon Oct  5 11:42:51 2020 authentication_milter_mx[2667]     spf=pass smtp.mailfrom=#####@fastmail.fm
    Mon Oct  5 11:42:51 2020Mon Oct  5 11:42:51 2020 authentication_milter_mx[2725] Child process 2725 starting up
    Mon Oct  5 11:43:22 2020 authentication_milter_mx[2725] Child process 2725 shutting down
    Mon Oct  5 11:43:32 2020 authentication_milter_mx[2754] Dequeue process 2754 starting up
    Mon Oct  5 11:43:32 2020 authentication_milter_mx[2754] DEQUEUE.4CD80E81382: Dequeue process 2754 shutting down
pgnd commented 4 years ago

@marcbradshaw

ping?

marcbradshaw commented 4 years ago

Thanks for the ping @pgnd

There are a few issues here..

The first is a bug, Term is mis-cased in the signal name, so the shutdown isn't happening. I'll fix that.

The second is that IPRev Handler requires the Auth handler to be loaded so it can exclude any authenticated connections from that check. An improvement would be to only do that check IF the Auth handler is loaded, so I will make that change. For now, enabling the Auth handler should fix the problem. Could you do that and let me know how it goes.

The third is, ERROR: DMARC Error Can't call method "binip" on an undefined value, which I shall investigate.

pgnd commented 4 years ago

@marcbradshaw

The first is a bug, Term is mis-cased in the signal name, so the shutdown isn't happening. I'll fix that.

+1

enabling the Auth handler should fix the problem. Could you do that and let me know how it goes.

changing

        "IPRev" : {},
-       "!Auth" : {},
+       "Auth" : {}+

@ launch,

    systemctl start fm-auth-milter

logs,

    journalctl -f -u fm-auth-milter
        -- Logs begin at Wed 2020-10-21 08:26:01 PDT. --
        Oct 21 15:31:42 srv016 authentication_milter_mx[14753]: Setting uid to "1008"
        Oct 21 15:31:42 srv016 authentication_milter_mx[14753]: DMARC Preloaded PSL
        Oct 21 15:31:42 srv016 authentication_milter_mx[14753]: Warning: The Auth handler only works with the milter protocol at /usr/local/share/perl5/5.30/Mail/Milter/Authentication/Handler/Auth.pm line 31.<LF>
        Oct 21 15:31:43 srv016 authentication_milter_mx[14768]: Child process 14768 starting up
        Oct 21 15:32:43 srv016 authentication_milter_mx[14772]: Dequeue process 14772 starting up
        Oct 21 15:32:43 srv016 authentication_milter_mx[14772]: DEQUEUE.7AD89DDB98A: Dequeue process 14772 shutting down
        Oct 21 15:33:43 srv016 authentication_milter_mx[14773]: Dequeue process 14773 starting up
        Oct 21 15:33:43 srv016 authentication_milter_mx[14773]: DEQUEUE.15B5BF54B4E: Dequeue process 14773 shutting down
        ...

no FATAL errors.

just the WARNING. which caused a bit of confusion ... that WARNING is why it was DISabled, as I'm in 'smtpd' mode.

ERROR: DMARC Error Can't call method "binip" on an undefined value, which I shall investigate.

+1

marcbradshaw commented 4 years ago

@pgnd Can you confirm what is at /usr/share/perl5/vendor_perl/Net/IP.pm line 761 for your install. For my 5.30.1 install this is somewhere within the overlaps method, which is called from the DMARC module, but only if there are whitelist entries, and those were not present in your supplied config. I couldn't reproduce the issue with similar config, can you enable debugging in the config and send through the debugging log of a message triggering the DMARC error.

pgnd commented 4 years ago

@marcbradshaw

Can you confirm what is at /usr/share/perl5/vendor_perl/Net/IP.pm line 761

here,

perl -v
    This is perl 5, version 30, subversion 3 (v5.30.3) built for x86_64-linux-thread-multi

cat /usr/share/perl5/vendor_perl/Net/IP.pm
    ...
    #------------------------------------------------------------------------------
    # Subroutine overlaps
    # Purpose           : Check if two prefixes overlap
    # Params            : Prefix to compare
    # Returns           : $NO_OVERLAP         (no overlap)
    #                     $IP_PARTIAL_OVERLAP (overlap)
    #                     $IP_A_IN_B_OVERLAP  (range1 is included in range2)
    #                     $IP_B_IN_A_OVERLAP  (range2 is included in range1)
    #                     $IP_IDENTICAL       (range1 == range2)
    #                     or undef (problem)

    sub overlaps {
        my ($self, $other) = @_;

761     my $r = ip_is_overlap(
            $self->binip(),  $self->last_bin(),
            $other->binip(), $other->last_bin()
        );

        if (!defined($r)) {
            $self->{error} = $ERROR;
            $self->{errno} = $ERRNO;
            return;
        }

        return ($r);
    }

    #------------------------------------------------------------------------------
    # Subroutine auth
    ...

edit

authentication_milter.json
    -   "debug"     : 0,
    +   "debug"     : 1,

received message headers,

...
    Authentication-Results: auth-milter.mx.example.net;
        dkim=pass (2048-bit rsa key sha256) header.d=gmail.com
        header.i=@gmail.com header.b=Zjew3QPs header.a=rsa-sha256
        header.s=20161025;
!!      dmarc=temperror header.from=gmail.com;
        iprev=pass smtp.remote-ip=209.85.215.176 (mail-pg1-f176.google.com);
        spf=pass smtp.mailfrom=###user@gmail.com
        smtp.helo=mail-pg1-f176.google.com;
        x-ptr=pass smtp.helo=mail-pg1-f176.google.com
        policy.ptr=mail-pg1-f176.google.com;
        x-return-mx=pass header.domain=gmail.com policy.is_org=yes
        (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com);
        x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes
        (MX Records found: alt4.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com)
...

debug log ==> https://pastebin.com/eXjNQTL7

marcbradshaw commented 4 years ago

Thanks, I still can't see why overlaps would be called in the DMARC handler, as you do not have a whitelist. The 20201022 branch adds some extra checking around those calls to make the IP object is valid, are you able to build from that branch and see if this fixes the issue? It will at least rule this section of the code out as the problem.

pgnd commented 4 years ago

this^ is

cpanp -i Mail::Milter::Authentication

installed ...

I'll get a build figured out and give it a whirl.

Sailfish33 commented 4 years ago

branch and Take me off

On Thu, Oct 22, 2020 at 00:31 Magnus Nilsson mnilsson701@gmail.com wrote:

On Thu, Oct 22, 2020 at 00:30 pgnd notifications@github.com wrote:

this^ is

cpanp -i Mail::Milter::Authentication

installed ...

I'll get a build figured out and give it a whirl.

— You are receiving this because you are subscribed to this thread.take me off

Reply to this email directly, view it on GitHub https://github.com/fastmail/authentication_milter/issues/85#issuecomment-714216911, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFNUPTE24E5LYCB43WQNQ2DSL6YO7ANCNFSM4SFG6O3A .

Sailfish33 commented 4 years ago

Like now

On Thu, Oct 22, 2020 at 00:31 Magnus Nilsson mnilsson701@gmail.com wrote:

branch and Take me off

On Thu, Oct 22, 2020 at 00:31 Magnus Nilsson mnilsson701@gmail.com wrote:

On Thu, Oct 22, 2020 at 00:30 pgnd notifications@github.com wrote:

this^ is

cpanp -i Mail::Milter::Authentication

installed ...

I'll get a build figured out and give it a whirl.

— You are receiving this because you are subscribed to this thread.take me off

Reply to this email directly, view it on GitHub https://github.com/fastmail/authentication_milter/issues/85#issuecomment-714216911, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFNUPTE24E5LYCB43WQNQ2DSL6YO7ANCNFSM4SFG6O3A .

marcbradshaw commented 4 years ago

@Sailfish33 You subscribed to this repo on github which if why you are receiving notification emails, you'll need to unsubscribe yourself. We can't do it for you. You can use the link in the email.

pgnd commented 4 years ago

@Sailfish33

Like now

You're logged into github, subscribed to this repo, you've posted an unsubscribe link ... and you don't use it, and instead spam multiple threads @ GH?

::facepalm::

pgnd commented 4 years ago

@marcbradshaw

The 20201022 branch adds some extra checking around those calls to make the IP object is valid, are you able to build from that branch and see if this fixes the issue?

it builds, but fails 'make test.

git checkout 20201022
perl Makefile.PL
make V=1
make test ``` Skip blib/lib/auto/share/dist/Mail-Milter-Authentication/authentication_milter.init (unchanged) Skip blib/lib/auto/share/dist/Mail-Milter-Authentication/authentication_milter.json (unchanged) Skip blib/lib/auto/share/dist/Mail-Milter-Authentication/mail-dmarc.ini (unchanged) PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load.t ......................................... ok t/01-func-pipeline.t ................................ ok t/01-func-tools.t ................................... ok t/02-unit-mail-milter-authentication-handler-rbl.t .. ok t/02-unit-mail-milter-authentication-handler.t ...... ok t/03-func-milter.t .................................. ok t/03-func-smtp.t .................................... 1/41 SMTP Send expected 250 received 421 4.3.2 Pipeline limit reached when sending RSET at /usr/local/src/authentication_milter/blib/lib/Mail/Milter/Authentication/Tester.pm line 421, line 38. t/03-func-smtp.t .................................... ok t/04-unit-handler-abusixdatafeed.t .................. ok t/04-unit-handler-aligned-from_dmarc.t .............. ok t/04-unit-handler-aligned-from_nodmarc.t ............ ok t/04-unit-handler-auth.t ............................ ok t/04-unit-handler-bimi.t ............................ ok t/04-unit-handler-blocker.t ......................... ok t/04-unit-handler-dkim.t ............................ ok t/04-unit-handler-dmarc.t ........................... ok t/04-unit-handler-localip.t ......................... ok t/04-unit-handler-remap.t ........................... ok t/04-unit-handler-trustedip.t ....................... ok t/dev-boilerplate.t ................................. ok t/dev-critic.t ...................................... skipped: Author test. Set $ENV{TEST_AUTHOR} to a true value to run. t/dev-manifest.t .................................... skipped: Author tests not required for installation t/dev-pod.t ......................................... 1/44 # Failed test 'POD test for blib/lib/Mail/Milter/Authentication.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication.pm (74): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (104): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (125): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (141): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (151): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (202): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (223): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (307): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (329): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (339): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (353): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (382): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (393): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (404): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (415): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (431): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (477): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (525): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (583): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (634): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (683): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (702): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (757): Unknown directive: =func # blib/lib/Mail/Milter/Authentication.pm (1032): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1043): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1061): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1079): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1099): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1120): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1135): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1149): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1161): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1241): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1267): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1288): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1304): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1316): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1331): Unknown directive: =method # blib/lib/Mail/Milter/Authentication.pm (1346): Unknown directive: =method # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/HTDocs.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/HTDocs.pm (15): Unknown directive: =constructor # blib/lib/Mail/Milter/Authentication/HTDocs.pm (28): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/HTDocs.pm (55): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/HTDocs.pm (68): Unknown directive: =method # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/Config.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/Config.pm (41): Unknown directive: =func # blib/lib/Mail/Milter/Authentication/Config.pm (104): Unknown directive: =func # blib/lib/Mail/Milter/Authentication/Config.pm (156): Unknown directive: =func # blib/lib/Mail/Milter/Authentication/Config.pm (174): Unknown directive: =func # blib/lib/Mail/Milter/Authentication/Config.pm (212): Unknown directive: =func # blib/lib/Mail/Milter/Authentication/Config.pm (244): Unknown directive: =func # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/Client.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/Client.pm (23): Unknown directive: =constructor # blib/lib/Mail/Milter/Authentication/Client.pm (149): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (201): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (226): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (265): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (279): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (341): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Client.pm (435): Unknown directive: =method # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/Metric.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/Metric.pm (21): Unknown directive: =constructor # blib/lib/Mail/Milter/Authentication/Metric.pm (51): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (62): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (80): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Metric.pm (98): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (159): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (179): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (191): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (207): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (252): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (297): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (307): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (324): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (361): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Metric.pm (379): Unknown directive: =method # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/Handler.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/Handler.pm (28): Unknown directive: =constructor # blib/lib/Mail/Milter/Authentication/Handler.pm (46): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (64): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (84): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (95): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (117): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (139): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (153): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (180): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (202): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (214): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (230): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (244): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (284): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (309): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (328): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (344): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (361): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (382): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (407): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (425): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (438): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (451): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (503): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (562): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (584): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (603): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (660): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (687): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (748): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (807): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (860): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (920): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (972): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1024): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1078): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1102): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1153): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1226): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1263): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1285): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1296): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1321): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1342): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1354): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1375): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1387): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1399): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1411): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1424): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1436): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1448): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1461): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1476): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1489): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1501): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1514): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1567): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1585): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1611): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1629): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1645): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1662): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1674): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1691): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1703): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1729): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1748): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1768): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (1820): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1845): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1862): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1878): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1894): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1908): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1926): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1940): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1952): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1970): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (1992): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2008): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2022): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2036): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2056): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2086): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2098): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2260): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2284): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2342): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2356): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2393): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2405): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2463): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2557): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2576): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2591): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2608): Unknown directive: =method # blib/lib/Mail/Milter/Authentication/Handler.pm (2635): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2645): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2655): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2665): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2675): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2687): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2699): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2713): =cut found outside a pod block. Skipping to next block. # blib/lib/Mail/Milter/Authentication/Handler.pm (2727): =cut found outside a pod block. Skipping to next block. # Failed test 'POD test for blib/lib/Mail/Milter/Authentication/Exception.pm' # at /usr/local/share/perl5/5.30/Test/Pod.pm line 184. # blib/lib/Mail/Milter/Authentication/Exception.pm (9): Unknown directive: =constructor # Looks like you failed 7 tests of 44. t/dev-pod.t ......................................... Dubious, test returned 7 (wstat 1792, 0x700) Failed 7/44 subtests Test Summary Report ------------------- t/dev-boilerplate.t (Wstat: 0 Tests: 2 Failed: 0) TODO passed: 1-2 t/dev-pod.t (Wstat: 1792 Tests: 44 Failed: 7) Failed tests: 1, 3-4, 6, 8, 10-11 Non-zero exit status: 7 Files=22, Tests=277, 240 wallclock secs ( 0.24 usr 0.04 sys + 23.60 cusr 3.59 csys = 27.47 CPU) Result: FAIL Failed 1/22 test programs. 7/277 subtests failed. make: *** [Makefile:1208: test_dynamic] Error 7 ```

real issues, or red herring?

pgnd commented 4 years ago

after cleaning house ... rm'ing all traces of the install, and re-build/installed via latest cpan, 20200930

of course, now it 'works' without the temperror. or any other errors in debug log.

sigh.

marcbradshaw commented 4 years ago

Cool I guess, I will close this, but if you are able to reproduce please re-open.

pgnd commented 4 years ago

@marcbradshaw

good news, bad news. it ain't misbehavin'.

but yep, I'll reopen if/when I find something.