Check for krb5 creds before SASL auth?

[email protected] (Prentice Bisbal)
Newsgroups perl.ldap
Message-ID <[email protected]>
I'm using Net::LDAP and Auth::SASL in a program. Not every person who
will use this command will have GSSAPI (krb5) credentials. If not, I'd
like the program to fall back to binding to LDAP using a password. Is
there anyway to determine if someone has the necessary GSSAPI
credentials before calling

$ldap->bind(sasl => $sasl);   (line 107)

? I figured if this failed I can check for errors with sasl->error(),
but when it fails, the whole program exits. Here's the code in question:


my $dse = $ldap->root_dse();
if ($dse->supported_sasl_mechanism('GSSAPI')) {
    # If SASL GSSAPI is supported, connect using it.
    my $sasl = Authen::SASL->new( mechanism => 'GSSAPI' );
    $ldap->bind(sasl => $sasl);
    $sasl_error = $sasl->error();
    if ($sasl_error) {
	print "A sasl error was encountered: $sasl_error\n";
    }
}

And here's the error

Local error at ./sns_chsh.pl line 107.


-- 
Prentice Bisbal
Linux Software Support Specialist/System Administrator
School of Natural Sciences
Institute for Advanced Study
Princeton, NJ
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.