On 09/08/2012 15:36, Ricardo Oliveira wrote:
Hi there Stefano,

I'm able to reproduce your error. The problem seems to be with the referencing of groups in a policy. If I insert an IP or an email address or a domain in the policy members, it works fine. If I use a group reference, such as %domains or %ips, it fails with the same error:

Can't call method "get" on an undefined value at /usr/local/lib/policyd-2.1/awitpt/cache.pm line 256.

For your reference, I'm using cluebringer-snapshot-2.1.x-201205100639 on CentOS 5.8, perl 5.8.8, mysql 5.0.95, postfix 2.7, Cache::FastMmap v1.40.

Were you able to overcome this issue?



Please do not top post.



> To: [email protected]
> Date: Thu, 12 Jul 2012 15:54:58 +0200
> From: [email protected]
> Subject: [policyd-users] cluebringer2.1-2012.05 get error
>
>
> I have posted last month this error but without luck.
>
> I have been configured clubringer in this way:
>
> policy Default Outbound:
>
> Policy Members
> Policy: Default Outbound
> Action
>
> Source Destination Disabled
> $* any no
>
> With this configuration clubringer works perfectly.
>
> But with:
>
> Policy Members
> Policy: Default Outbound
> Action
>
> Source Destination Disabled
> $* !%domini no
>
> Groups:
>
> Policy Group: domini
>
> Member Disabled
> @ascomail.com no
>
> I got this:
>
> [2012/06/20-09:18:33 - 4734] [POLICIES] INFO: [ID:2/Name:Default Outbound]:
> Source matching result: matched=1
> Can't call method "get" on an undefined value at
> /usr/local/lib/policyd-2.1/awitpt/cache.pm line 256, <_READ> line 31.
>
> I use ubuntu 10.04 with perl
>
> perl -V
> Summary of my perl5 (revision 5 version 10 subversion 1) configuration:
>
> Here is:
>
> perl modules
>
> Net::Server 0.97
> Net::CIDR 0.13
> Config::IniFiles 2.52
> Cache::FastMmap 1.34
> Mail::SPF v2.007
>
> log_level=4
> log_detail=policies,modules,tracking
>
> [2012/06/22-10:46:49 - 5018] [POLICIES] DEBUG: Found policy member with ID '2' in
> policy 'Default Outbound'
> [2012/06/22-10:46:49 - 5018] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: Main
> policy sources '$*'
> [2012/06/22-10:46:49 - 5018] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: -
> Resolved source '$*' to a SASL user specification, match = 1
> [2012/06/22-10:46:49 - 5018] [POLICIES] INFO: [ID:2/Name:Default Outbound]:
> Source matching result: matched=1
> [2012/06/22-10:46:49 - 5018] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: Main
> policy destinations '!%domini'
> Can't call method "get" on an undefined value at
> /usr/local/lib/policyd-2.1/awitpt/cache.pm line 256.
> [2012/06/22-10:46:50 - 5213] [CORE] INFO: 2012/06/22-10:46:50 CONNECT TCP Peer:
> "127.0.0.1:55084" Local: "127.0.0.1:10031"
> [2012/06/22-10:46:50 - 5008] [CORE] INFO: Starting "1" children
> [2012/06/22-10:46:50 - 5213] [TRACKING] DEBUG: Protocol state is 'RCPT',
> resolving policy...
> [2012/06/22-10:46:50 - 5213] [POLICIES] DEBUG: Going to resolve session data into
> policy: $VAR1 = {
> 'Recipient' => 'simonetta.vettorazzo at castelmac.it',
> 'SASLUsername' => 'roberto.ghion.carpoint at borsoispa.it',
> 'QueueID' => '',
> '_PeerAddress' => bless( {
> 'raw_ip' => '127.0.0.1',
> 'ip' => '127.0.0.1',
> 'ip_version' => 4,
> 'cidr' => 32
> }, 'awitpt::netip' ),
> 'RecipientData' => undef,
> 'EncryptionCipher' => '',
> 'Instance' => '73ea.4fe430f8.ec8a6.0',
> 'Size' => '0',
> 'EncryptionKeySize' => '0',
> 'UnixTimestamp' => '1340354809',
> 'PeerAddress' => '127.0.0.1',
> 'EncryptionProtocol' => '',
> 'Helo' => 'robertoghion',
> 'ClientAddress' => '95.228.132.65',
> 'ClientName' => 'host65-132-static.228-95-b.business.telecomitalia.it',
> 'Sender' => 'roberto.ghion.carpoint at borsoispa.it',
> 'SASLSender' => '',
> '_ClientAddress' => bless( {
> 'raw_ip' => '95.228.132.65',
> 'ip' => '95.228.132.65',
> 'ip_version' => 4,
> 'cidr' => 32
> }, 'awitpt::netip' ),
> 'Protocol' => 'ESMTP',
> 'ClientReverseName' =>
> 'host65-132-static.228-95-b.business.telecomitalia.it',
> 'SASLMethod' => 'LOGIN'
> };
> [2012/06/22-10:46:50 - 5213] [POLICIES] DEBUG: Found policy member with ID '2' in
> policy 'Default Outbound'
> [2012/06/22-10:46:50 - 5213] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: Main
> policy sources '$*'
> [2012/06/22-10:46:50 - 5213] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: -
> Resolved source '$*' to a SASL user specification, match = 1
> [2012/06/22-10:46:50 - 5213] [POLICIES] INFO: [ID:2/Name:Default Outbound]:
> Source matching result: matched=1
> [2012/06/22-10:46:50 - 5213] [POLICIES] DEBUG: [ID:2/Name:Default Outbound]: Main
> policy destinations '!%domini'
> Can't call method "get" on an undefined value at
> /usr/local/lib/policyd-2.1/awitpt/cache.pm line 256, <_READ> line 11.
> [2012/06/22-10:46:50 - 5300] [CORE] DEBUG: Child Preforked (5300)
> [2012/06/22-10:46:50 - 5300] [CBPOLICYD] DEBUG: Starting up caching engine
>
>
> Also into Accounting.pm (found in /usr/local/lib/policyd-2.1)
> the cleanup part is commented:
>
> ## Cleanup function
> #sub cleanup
> #{
> # my ($server) = @_;
> #
> # # Get 30-days ago time
> # my $lastMonth = time() - 2592000;
> #
> # # Remove old tracking info from database
> # my $sth = DBDo('
> # DELETE FROM
> # @TP@accounting_tracking
> # WHERE
> # LastUpdate < ?
> # ',
> # $lastMonth
> # );
> # if (!$sth) {
> # $server->log(LOG_ERR,"[ACCOUNTING] Failed to remove old
> accounting tracking records: ".awitpt::db::dblayer::Error());
> # }
> # $server->log(LOG_INFO,"[ACCOUNTING] Removed ".( $sth ne "0E0" ? $sth :
> 0).." records from tracking table");
> #}
>
> I don't know if it's correct.
>
> Many Thanks in advance
>

It would be very helpful if you could include a reproducing step-by-step for us to fix this.

If you can create the policies required to reproduce the problem, and the steps you following it should be a trivial fix.

-N


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
Users mailing list
[email protected]
http://lists.policyd.org/mailman/listinfo/users_lists.policyd.org

Reply via email to