fatal error in spf code

IEM

Well-Known Member
Sep 4, 2018
71
11
48
49
Austria
today i got an error in

Code:
Sep 11 12:15:17 mailgate pmgpolicy[8138]:
***  FATAL PROGRAM ERROR!!   Unknown method 'char_str_list'
***  which the program has attempted to call for the object:
***
list.example.net.   7190   IN   TXT   \# 11 0a737066322e302f707261
***
***  Net::DNS::RR 1519 has no instance method 'char_str_list'
***  Attempt to reload Net/DNS/RR/TXT.pm aborted.
Compilation failed in require at (eval 827) line 2.

***  THIS IS A BUG IN THE CALLING SOFTWARE, which incorrectly assumes
***  that the object would be of a particular type.  The type of an
***  object should be checked before calling any of its methods.
 at /usr/share/perl5/Mail/SPF/Server.pm line 516.
   Mail::SPF::Server::get_acceptable_records_from_packet(Mail::SPF::Server=HASH(0x563dacd2a7d0), Net::DNS::Packet=HASH(0x563db0df9f48), "TXT", ARRAY(0x563dad88b3e0), "mfrom", "list.example.net") called at /usr/share/perl5/Mail/SPF/Server.pm line 464
   Mail::SPF::Server::__ANON__() called at /usr/share/perl5/Error.pm line 421
   eval {...} called at /usr/share/perl5/Error.pm line 413
   Error::subs::try(CODE(0x563db0ec9368), HASH(0x563db0ec8f78)) called at /usr/share/perl5/Mail/SPF/Server.pm line 472
   Mail::SPF::Server::select_record(Mail::SPF::Server=HASH(0x563dacd2a7d0), Mail::SPF::Request=HASH(0x563db0e72598)) called at /usr/share/perl5/Mail/SPF/Server.pm line 324
   Mail::SPF::Server::__ANON__() called at /usr/share/perl5/Error.pm line 421
   eval {...} called at /usr/share/perl5/Error.pm line 413
   Error::subs::try(CODE(0x563dad57b4d0), HASH(0x563db0ed0710)) called at /usr/share/perl5/Mail/SPF/Server.pm line 345
   Mail::SPF::Server::process(Mail::SPF::Server=HASH(0x563dacd2a7d0), Mail::SPF::Request=HASH(0x563db0e72598)) called at /usr/bin/pmgpolicy line 450
   main::get_spf_result(main=HASH(0x563db0cff9a0), "1ffc.5b97957d.55353.0", "209.85.218.70", "mail-oi0-f70.google.com", "maillinglist\@list.example.net") called at /usr/bin/pmgpolicy line 569
   eval {...} called at /usr/bin/pmgpolicy line 565
   main::greylist_value(main=HASH(0x563db0cff9a0), 1536660882, "mail-oi0-f70.google.com", "209.85.218.70", "maillinglist+bncbdm3lmgavyebb3fj33oakgqexfcgrfq\@list.example.net", "localuser\@example.com", "1ffc.5b97957d.55353.0") called at /usr/bin/pmgpolicy line 783
   eval {...} called at /usr/bin/pmgpolicy line 775
   eval {...} called at /usr/bin/pmgpolicy line 752
   main::mux_input(main=HASH(0x563db0cff9a0), IO::Multiplex=HASH(0x563db0d1a8e8), Net::Server::Proto::TCP=GLOB(0x563db0e72928), SCALAR(0x563db0e727d8)) called at /usr/share/perl5/IO/Multiplex.pm line 659
   IO::Multiplex::loop(IO::Multiplex=HASH(0x563db0d1a8e8)) called at /usr/bin/pmgpolicy line 940
   eval {...} called at /usr/bin/pmgpolicy line 937
   main::run_child(main=HASH(0x563db0cff9a0)) called at /usr/share/perl5/Net/Server/PreForkSimple.pm line 150
   Net::Server::PreForkSimple::run_n_children(main=HASH(0x563db0cff9a0), 5) called at /usr/bin/pmgpolicy line 882
   main::run_n_children(main=HASH(0x563db0cff9a0), 5) called at /usr/share/perl5/Net/Server/PreForkSimple.pm line 126
   Net::Server::PreForkSimple::loop(main=HASH(0x563db0cff9a0)) called at /usr/share/perl5/Net/Server.pm line 60
   Net::Server::run(main=HASH(0x563db0cff9a0)) called at /usr/bin/pmgpolicy line 980.

it doesn't seem to be fatal, but the line "THIS IS A BUG IN THE CALLING SOFTWARE" made me want to report it.
 
i don't think so.

but then, i'm not sure how to reproduce "host-based checks during SMTP" anyhow.
hints?

Yes, thats indeed difficult. But the above logs contains "localuser\@example.com", so I thought you produced that by
sending some kind of test mail?
 
sorry to have wasted your time, but, I figured that:
- `example.com` addresses would obviously be fake addresses
- I was reporting a *real* issue I was seeing in my production system (with read addresses; which rules out the `example.com` addresses)
- posting non-anonymous email data on a public forum (dealing with spam-protection!!!) would be considered a big NO-GO for the entire community.