NAME
GSSAPI::Status - methods for handlings GSSAPI statuses
SYNOPSIS
use GSSAPI;
$status = GSSAPI::Status->new(GSS_S_COMPLETE, 0);
if (GSS_ERROR($status->major)) {
die "a horrible death";
}
if (! $status) { # another way of writing the above
die "a horrible death";
}
$status = $some_GSSAPI->someop($args1, etc);
if ($status) {
foreach ($status->generic_message, $status->specific_message) {
print "GSSAPI error: $_\n";
}
die "help me";
}
DESCRIPTION
GSSAPI::Status
objects are returned by most other GSSAPI operations. Such statuses consist of a GSSAPI generic code and, for most operations, a mechanism specific code. These numeric codes can be accessed via the methods major
and minor
. The standard textual messages that go with the current status can be obtained via the generic_message
and specific_message
methods. Each of these returns a list of text which should presumably be displayed in order.
The generic code part of a GSSAPI::Status is composed of three subfields that can be accessed with the GSS_CALLING_ERROR
, GSS_ROUTINE_ERROR
, and GSS_SUPPLEMENTARY_INFO
functions. The returned values can be compared against the constants whose names start with GSS_S_
if your code wants to handle particular errors itself. The GSS_ERROR
function returns true if and only if the given generic code contains neither a calling error nor a routine error.
When evaluated in a boolean context, a GSSAPI::Status
object will be true if and only if the major status code is GSS_S_COMPLETE
.
When evaluated in a string contect, a GSSAPI::Status
object will return the generic and specific messages all joined together with newlines. This may or may not make die $status
work usefully.
BUGS
The base objects are currently implmented as a blessed C structure containing the major and minor status codes. It should probably be a blessed array or hash instead, thereby cutting down on the amount of C code involved and making it more flexible.
AUTHOR
Philip Guenther <pguen@cpan.org>
SEE ALSO
perl(1) RFC2743