diff options
Diffstat (limited to 'perl/Wallet/ACL/NetDB.pm')
-rw-r--r-- | perl/Wallet/ACL/NetDB.pm | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/perl/Wallet/ACL/NetDB.pm b/perl/Wallet/ACL/NetDB.pm index ad706b3..cc7121b 100644 --- a/perl/Wallet/ACL/NetDB.pm +++ b/perl/Wallet/ACL/NetDB.pm @@ -24,7 +24,7 @@ use Wallet::Config; # This version should be increased on any code change to this module. Always # use two digits for the minor version with a leading zero if necessary so # that it will sort properly. -$VERSION = '0.02'; +$VERSION = '0.03'; ############################################################################## # Interface @@ -46,10 +46,20 @@ sub new { die "NetDB ACL support not available: $error\n"; } local $ENV{KRB5CCNAME} = $Wallet::Config::NETDB_REMCTL_CACHE; - my $port = $Wallet::Config::NETDB_REMCTL_PORT; - my $principal = $Wallet::Config::NETDB_REMCTL_PRINCIPAL; my $remctl = Net::Remctl->new; - unless ($remctl->open ($host, $port, $principal)) { + + # Net::Remctl 2.12 and later will support passing in an empty string for + # the principal. Until then, be careful not to pass principal unless it + # was specified. + my $port = $Wallet::Config::NETDB_REMCTL_PORT || 0; + my $principal = $Wallet::Config::NETDB_REMCTL_PRINCIPAL; + my $status; + if (defined $principal) { + $status = $remctl->open ($host, $port, $principal); + } else { + $status = $remctl->open ($host, $port); + } + unless ($status) { die "cannot connect to NetDB remctl interface: ", $remctl->error, "\n"; } my $self = { remctl => $remctl }; |