#!/usr/bin/env perl # short example script use lib 'lib'; use Authen::SASL; # This part is in the user script my $sasl = Authen::SASL->new( mechanism => 'PLAIN CRAM-MD5 EXTERNAL ANONYMOUS', callback => { user => 'gbarr', pass => 'fred', authname => 'none' }, ); # $sasl is then passed to a library (eg Net::LDAP) # which will then do my $conn = $sasl->client_new("ldap","localhost", "noplaintext noanonymous"); # The library would also set properties on the connection #$conn->property( # iplocal => $socket->sockname, # ipremote => $socket->peername, #); # It would then start things off and send this info to the server my $initial = $conn->client_start; my $mech = $conn ->mechanism; print "$mech;", unpack("H*",$initial),";\n"; # When the server want more information, the library would call print unpack "H*", $conn->client_step("xyz"); print "\n";