File: Cyrus.pm

package info (click to toggle)
libauthen-sasl-cyrus-perl 0.02-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 76 kB
  • ctags: 13
  • sloc: perl: 163; makefile: 55
file content (257 lines) | stat: -rw-r--r-- 5,097 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
# Copyright (c) 2001 Simon Wilkinson (sxw@sxw.org.uk). All rights reserved.
# This module is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.

package Authen::SASL::Cyrus;

use strict;
use Carp;
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);

require Exporter;
require DynaLoader;
require AutoLoader;

@ISA = qw(Exporter DynaLoader);

@EXPORT = qw(
	SASL_BADAUTH
	SASL_BADMAC
	SASL_BADPARAM
	SASL_BADPROT
	SASL_BADSERV
	SASL_BADVERS
	SASL_BUFOVER
	SASL_CB_AUTHNAME
	SASL_CB_ECHOPROMPT
	SASL_CB_GETOPT
	SASL_CB_GETPATH
	SASL_CB_GETREALM
	SASL_CB_LANGUAGE
	SASL_CB_LIST_END
	SASL_CB_LOG
	SASL_CB_NOECHOPROMPT
	SASL_CB_PASS
	SASL_CB_PROXY_POLICY
	SASL_CB_SERVER_GETSECRET
	SASL_CB_SERVER_PUTSECRET
	SASL_CB_USER
	SASL_CB_VERIFYFILE
	SASL_CONTINUE
	SASL_DISABLED
	SASL_ENCRYPT
	SASL_EXPIRED
	SASL_FAIL
	SASL_GETOPTCTX
	SASL_H
	SASL_INTERACT
	SASL_IP_LOCAL
	SASL_IP_REMOTE
	SASL_LOG_ERR
	SASL_LOG_INFO
	SASL_LOG_WARNING
	SASL_MAXOUTBUF
	SASL_MECHNAMEMAX
	SASL_NEWSECRET
	SASL_NOAUTHZ
	SASL_NOCHANGE
	SASL_NOMECH
	SASL_NOMEM
	SASL_NOPATH
	SASL_NOTDONE
	SASL_NOUSER
	SASL_OK
	SASL_PWLOCK
	SASL_REALM
	SASL_SECURITY_LAYER
	SASL_SEC_FORWARD_SECRECY
	SASL_SEC_NOACTIVE
	SASL_SEC_NOANONYMOUS
	SASL_SEC_NODICTIONARY
	SASL_SEC_NOPLAINTEXT
	SASL_SEC_PASS_CREDENTIALS
	SASL_SEC_PROPS
	SASL_SET_CREATE
	SASL_SET_DISABLE
	SASL_SSF
	SASL_SSF_EXTERNAL
	SASL_TOOWEAK
	SASL_TRANS
	SASL_TRYAGAIN
	SASL_USERNAME
	SASL_VERSION_MAJOR
	SASL_VERSION_MINOR
	SASL_VERSION_STEP
	SASL_VRFY_CONF
	SASL_VRFY_OTHER
	SASL_VRFY_PASSWD
	SASL_VRFY_PLUGIN
	SASL_WRONGMECH
);
$VERSION = '0.02';

bootstrap Authen::SASL::Cyrus $VERSION;

sub AUTOLOAD {
    # This AUTOLOAD is used to 'autoload' constants from the constant()
    # XS function.  If a constant is not found then control is passed
    # to the AUTOLOAD in AutoLoader.

    my $constname;
    ($constname = $AUTOLOAD) =~ s/.*:://;
    croak "& not defined" if $constname eq 'constant';
    my $val = constant($constname, @_ ? $_[0] : 0);
    if ($! != 0) {
	if ($! =~ /Invalid/) {
	    $AutoLoader::AUTOLOAD = $AUTOLOAD;
	    goto &AutoLoader::AUTOLOAD;
	}
	else {
		croak "Your vendor has not defined Authen::SASL::Generic macro $constname";
	}
    }
    eval "sub $AUTOLOAD { $val }";
    goto &$AUTOLOAD;
}

# Preloaded methods go here.

# Autoload methods go after =cut, and are processed by the autosplit program.

1;
__END__
# Below is the stub of documentation for your module. You better edit it!

=head1 NAME

Authen::SASL::Cyrus - Perl extension for Cyrus SASL library

=head1 SYNOPSIS

  use Authen::SASL::Cyrus;

  ...

=head1 DESCRIPTION

This is a very primitive interface to the Cyrus SASL library. The
implementation is far from complete - only the minimum necessary to get
GSSAPI authentication working is there.

=head1 FUNCTIONS

=over 4

=item error()

Returns the last error code from the most recent Authen::SASL::Cyrus call.
If evaluated in a string context, will return the textual description of 
the error.

=item $conn=init_connection($service, $server, $user)

Start a connection. $service is the service name (such as 'rcmd' or 'ldap'),
$server the FQDN of the server that is being connected to, and $user is the
username to connect as.

Returns the connection ID.

=item $mesg=start($conn, $mechanism)

$conn is the connection ID, $mechanism is a list of the mechanisms which are
available. $mesg is the message that should be sent to the server.

=item $mesg=respond($conn,$server_mesg)

$conn is the connection ID, $server_mesg is the message that was sent by the
server, $mesg is the data that should be sent back to the server to continue
the authentication process.

=head1 Exported constants

  SASL_BADAUTH
  SASL_BADMAC
  SASL_BADPARAM
  SASL_BADPROT
  SASL_BADSERV
  SASL_BADVERS
  SASL_BUFOVER
  SASL_CB_AUTHNAME
  SASL_CB_ECHOPROMPT
  SASL_CB_GETOPT
  SASL_CB_GETPATH
  SASL_CB_GETREALM
  SASL_CB_LANGUAGE
  SASL_CB_LIST_END
  SASL_CB_LOG
  SASL_CB_NOECHOPROMPT
  SASL_CB_PASS
  SASL_CB_PROXY_POLICY
  SASL_CB_SERVER_GETSECRET
  SASL_CB_SERVER_PUTSECRET
  SASL_CB_USER
  SASL_CB_VERIFYFILE
  SASL_CONTINUE
  SASL_DISABLED
  SASL_ENCRYPT
  SASL_EXPIRED
  SASL_FAIL
  SASL_GETOPTCTX
  SASL_H
  SASL_INTERACT
  SASL_IP_LOCAL
  SASL_IP_REMOTE
  SASL_LOG_ERR
  SASL_LOG_INFO
  SASL_LOG_WARNING
  SASL_MAXOUTBUF
  SASL_MECHNAMEMAX
  SASL_NEWSECRET
  SASL_NOAUTHZ
  SASL_NOCHANGE
  SASL_NOMECH
  SASL_NOMEM
  SASL_NOPATH
  SASL_NOTDONE
  SASL_NOUSER
  SASL_OK
  SASL_PWLOCK
  SASL_REALM
  SASL_SECURITY_LAYER
  SASL_SEC_FORWARD_SECRECY
  SASL_SEC_NOACTIVE
  SASL_SEC_NOANONYMOUS
  SASL_SEC_NODICTIONARY
  SASL_SEC_NOPLAINTEXT
  SASL_SEC_PASS_CREDENTIALS
  SASL_SEC_PROPS
  SASL_SET_CREATE
  SASL_SET_DISABLE
  SASL_SSF
  SASL_SSF_EXTERNAL
  SASL_TOOWEAK
  SASL_TRANS
  SASL_TRYAGAIN
  SASL_USERNAME
  SASL_VERSION_MAJOR
  SASL_VERSION_MINOR
  SASL_VERSION_STEP
  SASL_VRFY_CONF
  SASL_VRFY_OTHER
  SASL_VRFY_PASSWD
  SASL_VRFY_PLUGIN
  SASL_WRONGMECH

=head1 AUTHOR

Simon Wilkinson <sxw@sxw.org.uk>

=head1 BUGS

Its so primitive its untrue.

=head1 SEE ALSO

perl(1), sasl(1).

=cut