You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(9) |
Nov
(4) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(23) |
Feb
(18) |
Mar
(11) |
Apr
(3) |
May
(23) |
Jun
(13) |
Jul
(16) |
Aug
(11) |
Sep
(5) |
Oct
(4) |
Nov
(2) |
Dec
(4) |
2003 |
Jan
(18) |
Feb
(13) |
Mar
(56) |
Apr
(3) |
May
(124) |
Jun
(21) |
Jul
(2) |
Aug
(8) |
Sep
(1) |
Oct
(23) |
Nov
(4) |
Dec
(2) |
2004 |
Jan
(18) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Graham B. <gb...@us...> - 2003-05-09 11:58:08
|
Update of /cvsroot/perl-ldap/ldap/data In directory sc8-pr-cvs1:/tmp/cvs-serv11289/data Modified Files: slapd2-conf.in Log Message: Some tweaks to the test harnes so we can use OpenLDAP 2.1 Index: slapd2-conf.in =================================================================== RCS file: /cvsroot/perl-ldap/ldap/data/slapd2-conf.in,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- slapd2-conf.in 4 Feb 2002 18:58:49 -0000 1.3 +++ slapd2-conf.in 9 May 2003 11:58:04 -0000 1.4 @@ -1,9 +1,9 @@ # # master slapd config -- for testing # -include ./data/core.schema -include ./data/cosine.schema -include ./data/inetorgperson.schema +include $SCHEMA_DIR/core.schema +include $SCHEMA_DIR/cosine.schema +include $SCHEMA_DIR/inetorgperson.schema schemacheck off pidfile $TESTDB/slapd.pid argsfile $TESTDB/slapd.args @@ -12,7 +12,7 @@ # ldbm database definitions ####################################################################### -database ldbm +database $SLAPD_DB suffix "$BASEDN" directory $TESTDB rootdn "$MANAGERDN" @@ -20,8 +20,11 @@ TLSCertificateFile ./data/cert.pem TLSCertificateKeyFile ./data/key.pem + +password-hash {CLEARTEXT} #sasl-host localhost #sasl-realm testing #sasl-secprops passcred #sasl-secprops noanonymous sasl-secprops none +sasl-regexp "uid=(.*),cn=.*,cn=auth" "cn=$1,o=University of Michigan,c=US" |
From: Graham B. <gb...@us...> - 2003-05-09 11:58:08
|
Update of /cvsroot/perl-ldap/ldap In directory sc8-pr-cvs1:/tmp/cvs-serv11289 Modified Files: test.cfg Log Message: Some tweaks to the test harnes so we can use OpenLDAP 2.1 Index: test.cfg =================================================================== RCS file: /cvsroot/perl-ldap/ldap/test.cfg,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- test.cfg 8 May 2003 19:46:22 -0000 1.5 +++ test.cfg 9 May 2003 11:58:04 -0000 1.6 @@ -13,6 +13,10 @@ # $HOST = "localhost"; +# If you are using openldap 2.1 then you will need to change this to point +# to your installation schema dir (eg /usr/local/etc/openldap/schema) +$SCHEMA_DIR = ""; + $EXTERNAL_TESTS = 0; # %sortctrl = ( |
From: Graham B. <gb...@us...> - 2003-05-09 11:56:20
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv10470/lib/Net/LDAP Modified Files: Entry.pm Log Message: Don't print a dn: line if there is not DN (ie RootDSE) Index: Entry.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Entry.pm,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- Entry.pm 6 May 2003 16:26:15 -0000 1.13 +++ Entry.pm 9 May 2003 11:56:17 -0000 1.14 @@ -9,7 +9,7 @@ use Net::LDAP::Constant qw(LDAP_LOCAL_ERROR); use vars qw($VERSION); -$VERSION = "0.19"; +$VERSION = "0.20"; sub new { my $self = shift; @@ -265,7 +265,7 @@ my $asn = $self->{asn}; print "-" x 72,"\n"; - print "dn:",$asn->{objectName},"\n\n"; + print "dn:",$asn->{objectName},"\n\n" if $asn->{objectName}; my($attr,$val); my $l = 0; |
From: Graham B. <gb...@us...> - 2003-05-09 02:09:16
|
Update of /cvsroot/perl-ldap/ldap/t In directory sc8-pr-cvs1:/tmp/cvs-serv19753/t Modified Files: common.pl Added Files: 56ipc.t 57url.t Log Message: Add support for URIs to be passed to ->new. ldap: ldaps: and ldapi: are supported. Change Net::LDAPS and Net::LDAPI to be very thin wrappers over new URI code Tests added for ldapi and URIs based on code from Ziya Suzen --- NEW FILE: 56ipc.t --- #!perl BEGIN { require "t/common.pl"; start_server(ipc => 1); } print "1..12\n"; $ldap = client(); ok($ldap, "client"); $mesg = $ldap->bind($MANAGERDN, password => $PASSWD); ok(!$mesg->code, "bind: " . $mesg->code . ": " . $mesg->error); ok(ldif_populate($ldap, "data/50-in.ldif"), "data/50-in.ldif"); $mesg = $ldap->search(base => $BASEDN, filter => 'objectclass=*'); ok(!$mesg->code, "search: " . $mesg->code . ": " . $mesg->error); compare_ldif("50",$mesg,$mesg->sorted); $ldap = client(ipc => 1); ok($ldap, "ipc client"); $mesg = $ldap->search(base => $BASEDN, filter => 'objectclass=*'); ok(!$mesg->code, "search: " . $mesg->code . ": " . $mesg->error); compare_ldif("50",$mesg,$mesg->sorted); --- NEW FILE: 57url.t --- #!perl BEGIN { require "t/common.pl"; start_server(); } my $num_tests = @URL * 5 + 7; print "1..$num_tests\n"; $ldap = client(); ok($ldap, "client"); $mesg = $ldap->bind($MANAGERDN, password => $PASSWD); ok(!$mesg->code, "bind: " . $mesg->code . ": " . $mesg->error); ok(ldif_populate($ldap, "data/50-in.ldif"), "data/50-in.ldif"); $mesg = $ldap->search(base => $BASEDN, filter => 'objectclass=*'); ok(!$mesg->code, "search: " . $mesg->code . ": " . $mesg->error); compare_ldif("50",$mesg,$mesg->sorted); for my $url (@URL) { $ldap = client(url => $url); ok($ldap, "$url client"); $mesg = $ldap->search(base => $BASEDN, filter => 'objectclass=*'); ok(!$mesg->code, "search: " . $mesg->code . ": " . $mesg->error); compare_ldif("50",$mesg,$mesg->sorted); } Index: common.pl =================================================================== RCS file: /cvsroot/perl-ldap/ldap/t/common.pl,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- common.pl 4 Feb 2002 18:59:04 -0000 1.5 +++ common.pl 8 May 2003 19:46:23 -0000 1.6 @@ -9,7 +9,7 @@ # If your host cannot be contacted as localhost, change this $HOST ||= '127.0.0.1'; - # Where to but temporary files while testing + # Where to put temporary files while testing # the Makefile is setup to delete temp/ when make clean is run $TEMPDIR = "./temp"; @@ -21,6 +21,7 @@ $JAJDN = "cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US"; $BABSDN = "cn=Barbara Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US"; $PORT = 9009; + @URL = (); my @server_opts; ($SERVER_TYPE,@server_opts) = split(/\+/, $SERVER_TYPE || 'none'); @@ -32,10 +33,13 @@ } elsif ($SERVER_TYPE eq 'openldap2') { $SSL_PORT = 9010 if grep { $_ eq 'ssl' } @server_opts; + ($IPC_SOCK = "$TEMPDIR/ldapi_sock") =~ s,/,%2f,g if grep { $_ eq 'ipc' } @server_opts; + $SASL = 1 if grep { $_ eq 'sasl' } @server_opts; $CONF_IN = "./data/slapd2-conf.in"; - my $url = "ldap://${HOST}:$PORT/"; - $url .= " ldaps://${HOST}:$SSL_PORT/" if $SSL_PORT; - @LDAPD = ($SERVER_EXE, '-f',$CONF,'-h',$url,qw(-d 1)); + push @URL, "ldap://${HOST}:$PORT/"; + push @URL, "ldaps://${HOST}:$SSL_PORT/" if $SSL_PORT; + push @URL, "ldapi://$IPC_SOCK/" if $IPC_SOCK; + @LDAPD = ($SERVER_EXE, '-f',$CONF,'-h', "@URL",qw(-d 1)); $LDAP_VERSION = 3; } @@ -56,9 +60,10 @@ unless ($LDAP_VERSION >= $arg{version} and $LDAPD[0] and -x $LDAPD[0] - and (!$arg{ssl} or $SSL_PORT)) + and (!$arg{ssl} or $SSL_PORT) + and (!$arg{ipc} or $IPC_SOCK)) { - print "1..0\n"; + print "1..0 # Skip No server\n"; exit; } @@ -69,6 +74,7 @@ while(<CONFI>) { s/\$(\w+)/${$1}/g; s/^TLS/#TLS/ unless $SSL_PORT; + s/^(sasl.*)/#\1/ unless $SASL; print CONFO; } close(CONFI); @@ -79,6 +85,8 @@ mkdir($TESTDB,0777); die "$TESTDB is not a directory" unless -d $TESTDB; + warn "@LDAPD" if $ENV{TEST_VERBOSE}; + my $log = $TEMPDIR . "/" . basename($0,'.t'); unless ($pid = fork) { @@ -118,6 +126,20 @@ sleep 1; } } + elsif ($arg{ipc}) { + require Net::LDAPI; + until($ldap = Net::LDAPI->new($IPC_SOCK)) { + die "ldapi://$IPC_SOCK/ $@" if ++$count > 10; + sleep 1; + } + } + elsif ($arg{url}) { + print "Trying $arg{url}\n"; + until($ldap = Net::LDAP->new($arg{url})) { + die "$arg{url} $@" if ++$count > 10; + sleep 1; + } + } else { until($ldap = Net::LDAP->new($HOST, port => $PORT)) { die "ldap://$HOST:$PORT/ $@" if ++$count > 10; @@ -214,7 +236,5 @@ print "ok $number # skip $reason\n"; } } - -1; 1; |
From: Graham B. <gb...@us...> - 2003-05-09 01:39:46
|
Update of /cvsroot/perl-ldap/ldap/t In directory sc8-pr-cvs1:/tmp/cvs-serv18203/t Modified Files: 70sortctrl.t Log Message: Say why we are skipping the test when we do Index: 70sortctrl.t =================================================================== RCS file: /cvsroot/perl-ldap/ldap/t/70sortctrl.t,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- 70sortctrl.t 5 Sep 2001 12:13:52 -0000 1.2 +++ 70sortctrl.t 8 May 2003 19:40:44 -0000 1.3 @@ -34,13 +34,24 @@ LDAP_SUCCESS ); +unless ($EXTERNAL_TESTS) { + print "1..0 # Skip External tests disabled\n"; + exit 0; +} + my($host, $base, $filter, $order) = @sortctrl{qw(host base filter order)}; -my $ldap = $EXTERNAL_TESTS && $host && Net::LDAP->new($host, version => 3); +my $ldap = $host && Net::LDAP->new($host, version => 3); + +unless ($ldap) { + print "1..0 # Skip Cannot connect to host\n"; + exit 0; +} + my $dse = $ldap && $ldap->root_dse; unless ($dse and grep { $_ eq LDAP_CONTROL_SORTREQUEST } $dse->get_value('supportedControl')) { - print "1..0\n"; + print "1..0 # Skip server does not support LDAP_CONTROL_SORTREQUEST\n"; exit; } |
From: Graham B. <gb...@us...> - 2003-05-09 01:25:01
|
Update of /cvsroot/perl-ldap/ldap/lib/Net In directory sc8-pr-cvs1:/tmp/cvs-serv19753/lib/Net Modified Files: LDAP.pm LDAPI.pm LDAPS.pm Log Message: Add support for URIs to be passed to ->new. ldap: ldaps: and ldapi: are supported. Change Net::LDAPS and Net::LDAPI to be very thin wrappers over new URI code Tests added for ldapi and URIs based on code from Ziya Suzen Index: LDAP.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP.pm,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- LDAP.pm 7 May 2003 14:25:42 -0000 1.47 +++ LDAP.pm 8 May 2003 19:46:22 -0000 1.48 @@ -25,7 +25,7 @@ LDAP_EXTENSION_START_TLS ); -$VERSION = "0.2701"; +$VERSION = "0.2702"; @ISA = qw(Net::LDAP::Extra); $LDAP_VERSION = 3; # default LDAP protocol version @@ -99,9 +99,14 @@ my $arg = &_options; my $obj = bless {}, $type; - foreach my $h (ref($host) ? @$host : ($host)) { - if ($obj->_connect($h, $arg)) { - $obj->{net_ldap_host} = $h; + foreach my $uri (ref($host) ? @$host : ($host)) { + my $scheme = $arg->{scheme} || 'ldap'; + (my $h = $uri) =~ s/^(\w+):// and $scheme = $1; + my $meth = $obj->can("connect_$scheme") or next; + $h =~ s,^//([^/]*).*,$1,; # Extract host + $h =~ s/%([A-Fa-f0-9]{2})/chr(hex($1))/eg; # unescape + if (&$meth($obj, $h, $arg)) { + $obj->{net_ldap_uri} = $uri; last; } } @@ -122,7 +127,7 @@ $obj; } -sub _connect { +sub connect_ldap { my ($ldap, $host, $arg) = @_; $ldap->{net_ldap_socket} = IO::Socket::INET->new( @@ -133,9 +138,88 @@ Timeout => defined $arg->{timeout} ? $arg->{timeout} : 120 + ) or return undef; + + $ldap->{net_ldap_host} = $host; +} + + +# Different OpenSSL verify modes. +my %ssl_verify = qw(none 0 optional 1 require 3); + +sub connect_ldaps { + my ($ldap, $host, $arg) = @_; + require IO::Socket::SSL; + + $ldap->{'net_ldap_socket'} = IO::Socket::SSL->new( + PeerAddr => $host, + PeerPort => $arg->{'port'} || '636', + Proto => 'tcp', + Timeout => defined $arg->{'timeout'} ? $arg->{'timeout'} : 120, + _SSL_context_init_args($arg) + ) or return undef; + + $ldap->{net_ldap_host} = $host; +} + +sub _SSL_context_init_args { + my $arg = shift; + + my $verify = 0; + my ($clientcert,$clientkey,$passwdcb); + + if (exists $arg->{'verify'}) { + my $v = lc $arg->{'verify'}; + $verify = 0 + (exists $ssl_verify{$v} ? $ssl_verify{$v} : $verify); + } + + if (exists $arg->{'clientcert'}) { + $clientcert = $arg->{'clientcert'}; + if (exists $arg->{'clientkey'}) { + $clientkey = $arg->{'clientkey'}; + } else { + require Carp; + Carp::croak("Setting client public key but not client private key"); + } + } + + if (exists $arg->{'keydecrypt'}) { + $passwdcb = $arg->{'keydecrypt'}; + } + + ( + SSL_cipher_list => defined $arg->{'ciphers'} ? $arg->{'ciphers'} : 'ALL', + SSL_ca_file => exists $arg->{'cafile'} ? $arg->{'cafile'} : '', + SSL_ca_path => exists $arg->{'capath'} ? $arg->{'capath'} : '', + SSL_key_file => $clientcert ? $clientkey : undef, + SSL_passwd_cb => $passwdcb, + SSL_use_cert => $clientcert ? 1 : 0, + SSL_cert_file => $clientcert, + SSL_verify_mode => $verify, + SSL_version => defined $arg->{'sslversion'} ? $arg->{'sslversion'} : + 'sslv2/3', ); } +sub connect_ldapi { + my ($ldap, $peer, $arg) = @_; + + $peer = $ENV{LDAPI_SOCK} || "/var/lib/ldapi" + unless length $peer; + + require IO::Socket::UNIX; + + $ldap->{net_ldap_socket} = IO::Socket::UNIX->new( + Peer => $peer, + Timeout => defined $arg->{timeout} + ? $arg->{timeout} + : 120 + ) or return undef; + + $ldap->{net_ldap_host} = 'localhost'; + $ldap->{net_ldap_peer} = $peer; +} + sub message { my $ldap = shift; shift->new($ldap, @_); @@ -846,6 +930,7 @@ my $arg = &_options; my $sock = $ldap->socket; + require IO::Socket::SSL; require Net::LDAP::Extension; my $mesg = $ldap->message('Net::LDAP::Extension' => $arg); @@ -867,10 +952,9 @@ return $mesg if $mesg->code; - require Net::LDAPS; $arg->{sslversion} = 'tlsv1' unless defined $arg->{sslversion}; - IO::Socket::SSL::context_init( { Net::LDAPS::SSL_context_init_args($arg) } ); - IO::Socket::SSL::socketToSSL($sock, {Net::LDAPS::SSL_context_init_args($arg)}) + IO::Socket::SSL::context_init( { _SSL_context_init_args($arg) } ); + IO::Socket::SSL::socketToSSL($sock, {_SSL_context_init_args($arg)}) ? $mesg : _error($ldap, $mesg, LDAP_OPERATIONS_ERROR, $@); } Index: LDAPI.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAPI.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- LDAPI.pm 7 May 2003 10:48:02 -0000 1.2 +++ LDAPI.pm 8 May 2003 19:46:23 -0000 1.3 @@ -5,21 +5,13 @@ package Net::LDAPI; @Net::LDAPI::ISA = ( 'Net::LDAP' ); -$Net::LDAPI::VERSION = "0.01"; +$Net::LDAPI::VERSION = "0.02"; use strict; use Net::LDAP; -use IO::Socket::UNIX; - -sub _connect { - my ($ldap, $sockpath) = @_; - - $sockpath = "/var/lib/ldapi" unless defined($sockpath); - $ldap->{'net_ldap_socket'} = IO::Socket::UNIX->new( - Type => &SOCK_STREAM, - Peer => $sockpath - ); +sub new { + shift->SUPER::new(@_, scheme => 'ldapi'); } 1; @@ -78,5 +70,3 @@ it and/or modify it under the same terms as Perl itself. =cut - - Index: LDAPS.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAPS.pm,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- LDAPS.pm 7 May 2003 10:45:05 -0000 1.14 +++ LDAPS.pm 8 May 2003 19:46:23 -0000 1.15 @@ -5,64 +5,13 @@ package Net::LDAPS; @Net::LDAPS::ISA = ( 'Net::LDAP' ); -$Net::LDAPS::VERSION = "0.04"; +$Net::LDAPS::VERSION = "0.05"; use strict; use Net::LDAP; -use IO::Socket::SSL; - -# Different OpenSSL verify modes. -my %verify = qw(none 0 optional 1 require 3); - -sub _connect { - my ($ldap, $host, $arg) = @_; - - $ldap->{'net_ldap_socket'} = IO::Socket::SSL->new( - PeerAddr => $host, - PeerPort => $arg->{'port'} || '636', - Proto => 'tcp', - Timeout => defined $arg->{'timeout'} ? $arg->{'timeout'} : 120, - SSL_context_init_args($arg) - ); -} - -sub SSL_context_init_args { - my $arg = shift; - - my $verify = 0; - my ($clientcert,$clientkey,$passwdcb); - - if (exists $arg->{'verify'}) { - my $v = lc $arg->{'verify'}; - $verify = 0 + (exists $verify{$v} ? $verify{$v} : $verify); - } - if (exists $arg->{'clientcert'}) { - $clientcert = $arg->{'clientcert'}; - if (exists $arg->{'clientkey'}) { - $clientkey = $arg->{'clientkey'}; - } else { - require Carp; - Carp::croak("Setting client public key but not client private key"); - } - } - - if (exists $arg->{'keydecrypt'}) { - $passwdcb = $arg->{'keydecrypt'}; - } - - ( - SSL_cipher_list => defined $arg->{'ciphers'} ? $arg->{'ciphers'} : 'ALL', - SSL_ca_file => exists $arg->{'cafile'} ? $arg->{'cafile'} : '', - SSL_ca_path => exists $arg->{'capath'} ? $arg->{'capath'} : '', - SSL_key_file => $clientcert ? $clientkey : undef, - SSL_passwd_cb => $passwdcb, - SSL_use_cert => $clientcert ? 1 : 0, - SSL_cert_file => $clientcert, - SSL_verify_mode => $verify, - SSL_version => defined $arg->{'sslversion'} ? $arg->{'sslversion'} : - 'sslv2/3', - ); +sub new { + shift->SUPER::new(@_, scheme => 'ldaps'); } 1; |
From: Graham B. <gb...@us...> - 2003-05-09 01:19:26
|
Update of /cvsroot/perl-ldap/ldap In directory sc8-pr-cvs1:/tmp/cvs-serv18386 Added Files: .cvsignore Log Message: Add .cvsignore file --- NEW FILE: .cvsignore --- my.cfg blib _dev Makefile blib pm_to_blib temp ? |
From: Graham B. <gb...@us...> - 2003-05-09 01:12:54
|
Update of /cvsroot/perl-ldap/ldap In directory sc8-pr-cvs1:/tmp/cvs-serv18728 Modified Files: mkmanf Log Message: New script to create MANIFEST from CVS files Index: mkmanf =================================================================== RCS file: /cvsroot/perl-ldap/ldap/mkmanf,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- mkmanf 3 Jun 2002 15:42:50 -0000 1.3 +++ mkmanf 8 May 2003 19:41:49 -0000 1.4 @@ -1,13 +1,8 @@ #!/bin/sh -( - for x in $(find . -type d) - do - if [ -f $x/CVS/Entries ]; then - grep ^/ $x/CVS/Entries | cut -d/ -f2 | sed s,^,$x/, | sed s,^\./,, - fi - done - find lib -name \*.pm - find lib -name \*.pod -) | sort -u > MANIFEST.new +find . -name Entries \ +| egrep /CVS/Entries$ \ +| xargs perl -aF/ -lne 'print substr($ARGV,2,-11),$F[1] if m,^/, and $F[2] !~ /^-/ and $F[1] !~ /^\./;' -- \ +| sort -u > MANIFEST.new + diff -u MANIFEST MANIFEST.new && rm MANIFEST.new |
From: Graham B. <gb...@us...> - 2003-05-08 23:31:10
|
Update of /cvsroot/perl-ldap/ldap In directory sc8-pr-cvs1:/tmp/cvs-serv19753 Modified Files: MANIFEST test.cfg Log Message: Add support for URIs to be passed to ->new. ldap: ldaps: and ldapi: are supported. Change Net::LDAPS and Net::LDAPI to be very thin wrappers over new URI code Tests added for ldapi and URIs based on code from Ziya Suzen Index: MANIFEST =================================================================== RCS file: /cvsroot/perl-ldap/ldap/MANIFEST,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- MANIFEST 6 May 2003 16:38:24 -0000 1.21 +++ MANIFEST 8 May 2003 19:46:22 -0000 1.22 @@ -52,7 +52,6 @@ lib/Net/LDAP/ASN.pm lib/Net/LDAP/Bind.pm lib/Net/LDAP/Constant.pm -lib/Net/LDAP/Constant.pod lib/Net/LDAP/Control.pm lib/Net/LDAP/Control/Paged.pm lib/Net/LDAP/Control/ProxyAuth.pm @@ -94,6 +93,8 @@ t/53schema.t t/54dse.t t/55ssl.t +t/56ipc.t +t/57url.t t/70sortctrl.t t/common.pl test.cfg Index: test.cfg =================================================================== RCS file: /cvsroot/perl-ldap/ldap/test.cfg,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- test.cfg 18 Jul 2001 12:58:08 -0000 1.4 +++ test.cfg 8 May 2003 19:46:22 -0000 1.5 @@ -8,7 +8,7 @@ # This should be one of # openldap1 # openldap2 -# openldap2+ssl +# openldap2[+ssl][+ipc][+sasl] $SERVER_TYPE = "openldap2"; # $HOST = "localhost"; |
From: Graham B. <gb...@us...> - 2003-05-08 12:53:12
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv16665/lib/Net/LDAP Modified Files: Constant.pm Log Message: Add into the pod all the constants that were defined as subs before Index: Constant.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Constant.pm,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- Constant.pm 8 May 2003 09:27:40 -0000 1.6 +++ Constant.pm 8 May 2003 12:53:08 -0000 1.7 @@ -16,9 +16,13 @@ _find(@_); my $oops; foreach my $sym (@_) { - my $sub = $const{$sym} - or ++$oops, carp(qq["$sym" is not exported by the Net::LDAP::Constant module]); - *{$callpkg . "::$sym"} = $sub; + if (my $sub = $const{$sym}) { + *{$callpkg . "::$sym"} = $sub; + } + else { + ++$oops; + carp(qq["$sym" is not exported by the Net::LDAP::Constant module]); + } } croak("Can't continue after import errors") if $oops; } @@ -159,6 +163,10 @@ Unrecognized SASL mechanism name +=item LDAP_STRONG_AUTH_NOT_SUPPORTED (7) + +Unrecognized SASL mechanism name + =item LDAP_STRONG_AUTH_REQUIRED (8) The server requires authentication be performed with a SASL mechanism @@ -430,6 +438,34 @@ =back =head2 Control OIDs + +=item LDAP_CONTROL_SORTREQUEST (1.2.840.113556.1.4.473) + +=item LDAP_CONTROL_SORTRESULT (1.2.840.113556.1.4.474) + +=item LDAP_CONTROL_VLVREQUEST (2.16.840.1.113730.3.4.9) + +=item LDAP_CONTROL_VLVRESPONSE (2.16.840.1.113730.3.4.10) + +=item LDAP_CONTROL_PROXYAUTHENTICATION (2.16.840.1.113730.3.4.12) + +=item LDAP_CONTROL_PAGED (1.2.840.113556.1.4.319) + +=item LDAP_CONTROL_TREE_DELETE (1.2.840.113556.1.4.805) + +=item LDAP_CONTROL_MATCHEDVALS (1.2.826.0.1.3344810.2.2) + +=item LDAP_CONTROL_MANAGEDSAIT (2.16.840.1.113730.3.4.2) + +=item LDAP_CONTROL_PERSISTENTSEARCH (2.16.840.1.113730.3.4.3) + +=item LDAP_CONTROL_ENTRYCHANGE (2.16.840.1.113730.3.4.7) + +=item LDAP_CONTROL_PWEXPIRED (2.16.840.1.113730.3.4.4) + +=item LDAP_CONTROL_PWEXPIRING (2.16.840.1.113730.3.4.5) + +=item LDAP_CONTROL_REFERRALS (1.2.840.113556.1.4.616) =head2 Extension OIDs |
From: Graham B. <gb...@us...> - 2003-05-08 12:52:20
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv16327/lib/Net/LDAP Modified Files: Control.pm Log Message: Name the constants we want explicitly as ::Constant is no longer based on Exporter Index: Control.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Control.pm,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Control.pm 7 May 2003 10:52:11 -0000 1.7 +++ Control.pm 8 May 2003 12:52:16 -0000 1.8 @@ -5,10 +5,18 @@ package Net::LDAP::Control; -use Net::LDAP::Constant qw(/^LDAP_CONTROL/); use vars qw($VERSION); use strict; +use Net::LDAP::Constant qw( + LDAP_CONTROL_SORTREQUEST + LDAP_CONTROL_SORTRESULT + LDAP_CONTROL_VLVREQUEST + LDAP_CONTROL_VLVRESPONSE + LDAP_CONTROL_PAGED + LDAP_CONTROL_PROXYAUTHENTICATION +); + $VERSION = "0.04"; my %Pkg2Type = ( @@ -17,7 +25,7 @@ 'Net::LDAP::Control::SortResult' => LDAP_CONTROL_SORTRESULT, 'Net::LDAP::Control::VLV' => LDAP_CONTROL_VLVREQUEST, - 'Net::LDAP::Control::VLVResponse' => LDAP_CONTROL_VLVRESPONSE, + 'Net::LDAP::Control::VLVResponse' => LDAP_CONTROL_VLVRESPONSE, 'Net::LDAP::Control::Paged' => LDAP_CONTROL_PAGED, @@ -84,7 +92,7 @@ } delete $asn->{error}; - + bless($asn, $class)->init; } |
From: Graham B. <gb...@us...> - 2003-05-08 09:27:43
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv17019/lib/Net/LDAP Modified Files: Constant.pm Util.pm Removed Files: Constant.pod Log Message: Change Net::LDAP::Constant to define subs on demand from thier definition in the POD Index: Constant.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Constant.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- Constant.pm 7 May 2003 13:49:13 -0000 1.5 +++ Constant.pm 8 May 2003 09:27:40 -0000 1.6 @@ -1,113 +1,469 @@ -# Copyright (c) 1998-2000 Graham Barr <gb...@po...>. All rights reserved. +# Copyright (c) 1998-2003 Graham Barr <gb...@po...>. All rights reserved. # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. package Net::LDAP::Constant; -use Exporter (); +$VERSION = "0.01"; -@ISA = qw(Exporter); -@EXPORT_OK = ( grep /^LDAP_/, keys %{'Net::LDAP::Constant::'} ); -%EXPORT_TAGS = ( 'all' => \@EXPORT_OK ); +use Carp; -## -## The constants -## +my %const; -sub LDAP_SUCCESS () { 0x00 } -sub LDAP_OPERATIONS_ERROR () { 0x01 } -sub LDAP_PROTOCOL_ERROR () { 0x02 } -sub LDAP_TIMELIMIT_EXCEEDED () { 0x03 } -sub LDAP_SIZELIMIT_EXCEEDED () { 0x04 } -sub LDAP_COMPARE_FALSE () { 0x05 } -sub LDAP_COMPARE_TRUE () { 0x06 } -sub LDAP_STRONG_AUTH_NOT_SUPPORTED () { 0x07 } -sub LDAP_AUTH_METHOD_NOT_SUPPORTED () { 0x07 } -sub LDAP_STRONG_AUTH_REQUIRED () { 0x08 } -sub LDAP_PARTIAL_RESULTS () { 0x09 } -sub LDAP_REFERRAL () { 0x0a } # V3 -sub LDAP_ADMIN_LIMIT_EXCEEDED () { 0x0b } # V3 -sub LDAP_UNAVAILABLE_CRITICAL_EXT () { 0x0c } # V3 -sub LDAP_CONFIDENTIALITY_REQUIRED () { 0x0d } # V3 -sub LDAP_SASL_BIND_IN_PROGRESS () { 0x0e } # V3 +sub import { + shift; + my $callpkg = caller(0); + _find(@_); + my $oops; + foreach my $sym (@_) { + my $sub = $const{$sym} + or ++$oops, carp(qq["$sym" is not exported by the Net::LDAP::Constant module]); + *{$callpkg . "::$sym"} = $sub; + } + croak("Can't continue after import errors") if $oops; +} -sub LDAP_NO_SUCH_ATTRIBUTE () { 0x10 } -sub LDAP_UNDEFINED_TYPE () { 0x11 } -sub LDAP_INAPPROPRIATE_MATCHING () { 0x12 } -sub LDAP_CONSTRAINT_VIOLATION () { 0x13 } -sub LDAP_TYPE_OR_VALUE_EXISTS () { 0x14 } -sub LDAP_INVALID_SYNTAX () { 0x15 } +sub _find { + if (my @need = grep { ! $const{$_} } @_) { + my %need; @need{@need} = (); + seek(DATA,0,0); + local $/=''; # paragraph mode + local $_; + while(<DATA>) { + next unless /^=item\s+(LDAP_\S+)\s+\((.*)\)/ and exists $need{$1}; + my ($name, $value) = ($1,$2); + delete $need{$name}; + $const{$name} = sub () { $value }; + last unless keys %need; + } + } + @const{@_}; +} -sub LDAP_NO_SUCH_OBJECT () { 0x20 } -sub LDAP_ALIAS_PROBLEM () { 0x21 } -sub LDAP_INVALID_DN_SYNTAX () { 0x22 } -sub LDAP_IS_LEAF () { 0x23 } -sub LDAP_ALIAS_DEREF_PROBLEM () { 0x24 } +sub AUTOLOAD { + (my $name = $AUTOLOAD) =~ s/^.*:://; + my $sub = _find($name) or croak("Undefined subroutine &$AUTOLOAD"); + my $val = &$sub; # Avoid prototype error caused by *$AUTOLOAD = $sub + *$AUTOLOAD = sub { $val }; + goto &$AUTOLOAD; +} -sub LDAP_INAPPROPRIATE_AUTH () { 0x30 } -sub LDAP_INVALID_CREDENTIALS () { 0x31 } -sub LDAP_INSUFFICIENT_ACCESS () { 0x32 } -sub LDAP_BUSY () { 0x33 } -sub LDAP_UNAVAILABLE () { 0x34 } -sub LDAP_UNWILLING_TO_PERFORM () { 0x35 } -sub LDAP_LOOP_DETECT () { 0x36 } +# These subs are really in Net::LDAP::Util, but need to access <DATA> +# so its esier for them to be here. -sub LDAP_SORT_CONTROL_MISSING () { 0x3C } -sub LDAP_INDEX_RANGE_ERROR () { 0x3D } +my @err2name; -sub LDAP_NAMING_VIOLATION () { 0x40 } -sub LDAP_OBJECT_CLASS_VIOLATION () { 0x41 } -sub LDAP_NOT_ALLOWED_ON_NONLEAF () { 0x42 } -sub LDAP_NOT_ALLOWED_ON_RDN () { 0x43 } -sub LDAP_ALREADY_EXISTS () { 0x44 } -sub LDAP_NO_OBJECT_CLASS_MODS () { 0x45 } -sub LDAP_RESULTS_TOO_LARGE () { 0x46 } -sub LDAP_AFFECTS_MULTIPLE_DSAS () { 0x47 } # V3 +sub Net::LDAP::Util::ldap_error_name { + my $code = 0 + shift; -sub LDAP_OTHER () { 0x50 } -sub LDAP_SERVER_DOWN () { 0x51 } -sub LDAP_LOCAL_ERROR () { 0x52 } -sub LDAP_ENCODING_ERROR () { 0x53 } -sub LDAP_DECODING_ERROR () { 0x54 } -sub LDAP_TIMEOUT () { 0x55 } -sub LDAP_AUTH_UNKNOWN () { 0x56 } -sub LDAP_FILTER_ERROR () { 0x57 } -sub LDAP_USER_CANCELED () { 0x58 } -sub LDAP_PARAM_ERROR () { 0x59 } -sub LDAP_NO_MEMORY () { 0x5a } -sub LDAP_CONNECT_ERROR () { 0x5b } -sub LDAP_NOT_SUPPORTED () { 0x5c } # V3 -sub LDAP_CONTROL_NOT_FOUND () { 0x5d } # V3 -sub LDAP_NO_RESULTS_RETURNED () { 0x5e } # V3 -sub LDAP_MORE_RESULTS_TO_RETURN () { 0x5f } # V3 -sub LDAP_CLIENT_LOOP () { 0x60 } # V3 -sub LDAP_REFERRAL_LIMIT_EXCEEDED () { 0x61 } # V3 + unless (@err2name) { + seek(DATA,0,0); + local $/=''; # paragraph mode + local $_; + my $n = -1; + while(<DATA>) { + last if /^=head2/ and ++$n; + next if $n; + $err2name[$2] = $1 if /^=item\s+(LDAP_\S+)\s+\((\d+)\)/; + } + } + $err2name[$code] || sprintf("LDAP error code %d(0x%02X)",$code,$code); +} -# LDAP Controls -sub LDAP_CONTROL_SORTREQUEST () { "1.2.840.113556.1.4.473" } -sub LDAP_CONTROL_SORTRESULT () { "1.2.840.113556.1.4.474" } +sub Net::LDAP::Util::ldap_error_text { + my $code = 0 + shift; + my $text; -sub LDAP_CONTROL_VLVREQUEST () { "2.16.840.1.113730.3.4.9" } -sub LDAP_CONTROL_VLVRESPONSE () { "2.16.840.1.113730.3.4.10" } -sub LDAP_CONTROL_PROXYAUTHENTICATION () { "2.16.840.1.113730.3.4.12" } + seek(DATA,0,0); + local $/=''; # paragraph mode + local $_; + my $n = -1; + while(<DATA>) { + last if /^=head2/ and ++$n; + next if $n; + if (/^=item\s+(LDAP_\S+)\s+\((\d+)\)/) { + last if defined $text; + $text = '' if $2 == $code; + } + elsif (defined $text) { + $text .= $_; + } + } -sub LDAP_CONTROL_PAGED () { "1.2.840.113556.1.4.319" } -sub LDAP_CONTROL_TREE_DELETE () { "1.2.840.113556.1.4.805" } + if (defined $text) { + # Do some cleanup. Really should use a proper pod parser here. -sub LDAP_CONTROL_MATCHEDVALS () { "1.2.826.0.1.3344810.2.2" } + $text =~ s/^=item\s+\*\s+/ * /msg; + $text =~ s/^=(over\s*\d*|back)//msg; + $text =~ s/ +\n//g; + $text =~ s/\n\n+/\n\n/g; + $text =~ s/\n+\Z/\n/ if defined $text; + } -sub LDAP_CONTROL_MANAGEDSAIT () { "2.16.840.1.113730.3.4.2" } -sub LDAP_CONTROL_PERSISTENTSEARCH () { "2.16.840.1.113730.3.4.3" } -sub LDAP_CONTROL_ENTRYCHANGE () { "2.16.840.1.113730.3.4.7" } -# Password information sent back to client -sub LDAP_CONTROL_PWEXPIRED () { "2.16.840.1.113730.3.4.4" } -sub LDAP_CONTROL_PWEXPIRING () { "2.16.840.1.113730.3.4.5" } -# Client controls we know about -sub LDAP_CONTROL_REFERRALS () { "1.2.840.113556.1.4.616" } + return $text; +} -# LDAP Extensions +1; -sub LDAP_EXTENSION_START_TLS () { "1.3.6.1.4.1.1466.20037" } +__DATA__ -1; +=head1 NAME + +Net::LDAP::Constant - Constants for use with Net::LDAP + +=head1 SYNOPSIS + + use Net::LDAP qw(LDAP_SUCCESS LDAP_PROTOCOL_ERROR); + +=head1 DESCRIPTION + +B<Net::LDAP::Constant> exports constant subroutines for the following LDAP +error codes. + +=head2 Protocol Constants + +=over 4 + +=item LDAP_SUCCESS (0) + +Operation completed without error + +=item LDAP_OPERATIONS_ERROR (1) + +Server encountered an internal error + +=item LDAP_PROTOCOL_ERROR (2) + +Unrecognized version number or incorrect PDU structure + +=item LDAP_TIMELIMIT_EXCEEDED (3) + +The time limit on a search operation has been exceeded + +=item LDAP_SIZELIMIT_EXCEEDED (4) + +The maximum number of search results to return has been exceeded. + +=item LDAP_COMPARE_FALSE (5) + +This code is returned when a compare request completes and the attribute value +given is not in the entry specified + +=item LDAP_COMPARE_TRUE (6) + +This code is returned when a compare request completes and the attribute value +given is in the entry specified + +=item LDAP_AUTH_METHOD_NOT_SUPPORTED (7) + +Unrecognized SASL mechanism name + +=item LDAP_STRONG_AUTH_REQUIRED (8) + +The server requires authentication be performed with a SASL mechanism + +=item LDAP_PARTIAL_RESULTS (9) + +Returned to version 2 clients when a referral is returned. The response +will contain a list of URL's for other servers. + +=item LDAP_REFERRAL (10) + +The server is referring the client to another server. The response will +contain a list of URL's + +=item LDAP_ADMIN_LIMIT_EXCEEDED (11) + +The server has exceed the maximum number of entries to search while gathering +a list of search result candidates + +=item LDAP_UNAVAILABLE_CRITICAL_EXT (12) + +A control or matching rule specified in the request is not supported by +the server + +=item LDAP_CONFIDENTIALITY_REQUIRED (13) + +This result code is returned when confidentiality is required to perform +a given operation + +=item LDAP_SASL_BIND_IN_PROGRESS (14) + +The server requires the client to send a new bind request, with the same SASL +mechanism, to continue the authentication process + +=item LDAP_NO_SUCH_ATTRIBUTE (16) + +The request referenced an attribute that does not exist + +=item LDAP_UNDEFINED_TYPE (17) + +The request contains an undefined attribute type + +=item LDAP_INAPPROPRIATE_MATCHING (18) + +An extensible matching rule in the given filter does not apply to the specified +attribute + +=item LDAP_CONSTRAINT_VIOLATION (19) + +The request contains a value which does not meet with certain constraints. +This result can be returned as a consequence of + +=over 4 + +=item * + +The request was to add or modify a user password, and the password fails to +meet the criteria the server is configured to check. This could be that the +password is too short, or a recognizable word (e.g. it matches one of the +attributes in the users entry) or it matches a previous password used by +the same user. + +=item * + +The request is a bind request to a user account that has been locked + +=back + +=item LDAP_TYPE_OR_VALUE_EXISTS (20) + +The request attempted to add an attribute type or value that already exists + +=item LDAP_INVALID_SYNTAX (21) + +Some part of the request contained an invalid syntax. It could be a search +with an invalid filter or a request to modify the schema and the given +schema has a bad syntax. + +=item LDAP_NO_SUCH_OBJECT (32) + +The server cannot find an object specified in the request + +=item LDAP_ALIAS_PROBLEM (33) + +Server encountered a problem while attempting to dereference an alias + +=item LDAP_INVALID_DN_SYNTAX (34) + +The request contained an invalid DN + +=item LDAP_IS_LEAF (35) + +The specified entry is a leaf entry + +=item LDAP_ALIAS_DEREF_PROBLEM (36) + +Server encountered a problem while attempting to dereference an alias + +=item LDAP_INAPPROPRIATE_AUTH (48) + +The server requires the client which had attempted to bind anonymously or +without supplying credentials to provide some form of credentials + +=item LDAP_INVALID_CREDENTIALS (49) + +The wrong password was supplied or the SASL credentials could not be processed + +=item LDAP_INSUFFICIENT_ACCESS (50) + +The client does not have sufficient access to perform the requested +operation + +=item LDAP_BUSY (51) + +The server is too busy to perform requested operation + +=item LDAP_UNAVAILABLE (52) + +The server in unavailable to perform the request, or the server is +shutting down + +=item LDAP_UNWILLING_TO_PERFORM (53) + +The server is unwilling to perform the requested operation + +=item LDAP_LOOP_DETECT (54) + +The server was unable to perform the request due to an internal loop detected + +=item LDAP_SORT_CONTROL_MISSING (60) + +The search contained a "virtual list view" control, but not a server-side +sorting control, which is required when a "virtual list view" is given. + +=item LDAP_INDEX_RANGE_ERROR (61) + +The search contained a control for a "virtual list view" and the results +exceeded the range specified by the requested offsets. + +=item LDAP_NAMING_VIOLATION (64) + +The request violates the structure of the DIT + +=item LDAP_OBJECT_CLASS_VIOLATION (65) + +The request specifies a change to an existing entry or the addition of a new +entry that does not comply with the servers schema + +=item LDAP_NOT_ALLOWED_ON_NONLEAF (66) + +The requested operation is not allowed on an entry that has child entries + +=item LDAP_NOT_ALLOWED_ON_RDN (67) + +The requested operation ill affect the RDN of the entry + +=item LDAP_ALREADY_EXISTS (68) + +The client attempted to add an entry that already exists. This can occur as +a result of + +=over 4 + +=item * + +An add request was submitted with a DN that already exists + +=item * + +A modify DN requested was submitted, where the requested new DN already exists + +=item * + +The request is adding an attribute to the schema and an attribute with the +given OID or name already exists + +=back + +=item LDAP_NO_OBJECT_CLASS_MODS (69) + +Request attempt to modify the object class of an entry that should not be +modified + +=item LDAP_RESULTS_TOO_LARGE (70) + +The results of the request are to large + +=item LDAP_AFFECTS_MULTIPLE_DSAS (71) + +The requested operation needs to be performed on multiple servers where +the requested operation is not permitted + +=item LDAP_OTHER (80) + +An unknown error has occurred + +=item LDAP_SERVER_DOWN (81) + +C<Net::LDAP> cannot establish a connection or the connection has been lost + +=item LDAP_LOCAL_ERROR (82) + +An error occurred in C<Net::LDAP> + +=item LDAP_ENCODING_ERROR (83) + +C<Net::LDAP> encountered an error while encoding the request packet that would +have been sent to the server + +=item LDAP_DECODING_ERROR (84) + +C<Net::LDAP> encountered an error while decoding a response packet from +the server. + +=item LDAP_TIMEOUT (85) + +C<Net::LDAP> timeout while waiting for a response from the server + +=item LDAP_AUTH_UNKNOWN (86) + +The method of authentication requested in a bind request is unknown to +the server + +=item LDAP_FILTER_ERROR (87) + +An error occurred while encoding the given search filter. + +=item LDAP_USER_CANCELED (88) + +The user canceled the operation + +=item LDAP_PARAM_ERROR (89) + +An invalid parameter was specified + +=item LDAP_NO_MEMORY (90) + +Out of memory error + +=item LDAP_CONNECT_ERROR (91) + +A connection to the server could not be established + +=item LDAP_NOT_SUPPORTED (92) + +An attempt has been made to use a feature not supported by Net::LDAP + +=item LDAP_CONTROL_NOT_FOUND (93) + +The controls required to perform the requested operation were not +found. + +=item LDAP_NO_RESULTS_RETURNED (94) + +No results were returned from the server. + +=item LDAP_MORE_RESULTS_TO_RETURN (95) + +There are more results in the chain of results. + +=item LDAP_CLIENT_LOOP (96) + +A loop has been detected. For example when following referals. + +=item LDAP_REFERRAL_LIMIT_EXCEEDED (97) + +The referral hop limit has been exceeded. + +=back + +=head2 Control OIDs + +=head2 Extension OIDs + +B<Net::LDAP::Constant> exports constant subroutines for the following LDAP +extension OIDs. + +=over 4 + +=item LDAP_EXTENSION_START_TLS (1.3.6.1.4.1.1466.20037) + +Indicates if the server supports the Start TLS extension (RFC-2830) + +=back + +=head1 SEE ALSO + +L<Net::LDAP>, +L<Net::LDAP::Message> + +=head1 AUTHOR + +Graham Barr E<lt>gb...@po...E<gt> + +Please report any bugs, or post any suggestions, to the perl-ldap mailing list +E<lt>per...@pe...E<gt> + +=head1 COPYRIGHT + +Copyright (c) 1998-2003 Graham Barr. All rights reserved. This program is +free software; you can redistribute it and/or modify it under the same +terms as Perl itself. + +=for html <hr> + +I<$Id$> + +=cut Index: Util.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Util.pm,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- Util.pm 7 May 2003 11:49:26 -0000 1.16 +++ Util.pm 8 May 2003 09:27:41 -0000 1.17 @@ -33,6 +33,7 @@ use vars qw($VERSION); require Exporter; +require Net::LDAP::Constant; @ISA = qw(Exporter); @EXPORT_OK = qw( ldap_error_name @@ -41,7 +42,7 @@ canonical_dn ldap_explode_dn ); -$VERSION = "0.09"; +$VERSION = "0.10"; =item ldap_error_name ( NUM ) @@ -51,24 +52,7 @@ =cut -my @err2name; - -sub ldap_error_name { - my $code = 0+ shift; - require Net::LDAP::Constant; - - unless (@err2name) { - local *FH; - - if (open(FH,$INC{'Net/LDAP/Constant.pm'})) { - while(<FH>) { - ($err2name[hex($2)] = $1) if /^sub\s+(LDAP_\S+)\s+\(\)\s+\{\s+0x([0-9a-fA-f]{2})\s+\}/; - } - close(FH); - } - } - $err2name[$code] || sprintf("LDAP error code %d(0x%02X)",$code,$code); -} +# Defined in Constant.pm =item ldap_error_text ( NUM ) @@ -77,40 +61,7 @@ =cut -sub ldap_error_text { - my $name = ldap_error_name(shift); - my $text; - if($name =~ /^LDAP_/) { - my $pod = $INC{'Net/LDAP/Constant.pm'}; - substr($pod,-3) = ".pod"; - local *F; - open(F,$pod) or return; - local $/ = ""; - local $_; - my $len = length($name); - my $indent = 0; - while(<F>) { - if(substr($_,0,11) eq "=item LDAP_") { - last if defined $text; - $text = "" if /^=item $name\b/; - } - elsif(defined $text && /^=(\S+)/) { - $indent = 1 if $1 eq "over"; - $indent = 0 if $1 eq "back"; - $text .= " * " if $1 eq "item"; - } - elsif(defined $text) { - if($indent) { - s/\n(?=.)/\n /sog; - } - $text .= $_; - } - } - close(F); - $text =~ s/\n+\Z/\n/ if defined $text; - } - $text; -} +# Defined in Constant.pm =item ldap_error_desc ( NUM ) --- Constant.pod DELETED --- |
From: John W. <man...@us...> - 2003-05-08 08:47:03
|
Update of /cvsroot/perl-ldap/website In directory sc8-pr-cvs1:/tmp/cvs-serv2679 Modified Files: index.html Log Message: dded images and learn.perl.org redirect links to publications Index: index.html =================================================================== RCS file: /cvsroot/perl-ldap/website/index.html,v retrieving revision 1.37 retrieving revision 1.38 diff -u -d -r1.37 -r1.38 --- index.html 8 May 2003 08:08:53 -0000 1.37 +++ index.html 8 May 2003 08:46:59 -0000 1.38 @@ -185,54 +185,70 @@ </div> <div class="section"> <h2>Other Publications</h2> - <ul> - <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1861002211/qid=1052240852/sr=1-2/ref=sr_1_2/002-8925582-3034440" - target="_blank"><i>Implementing LDAP</i></a> + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=1861002211" + target="_blank"><img width=100 height=127 + src=1861002211.jpg align=left hspace=10></a> + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=1861002211" + target="_blank"><i>Implementing LDAP</i></a><BR> (ISBN: 1861002211)<BR> written by Mark Wilcox,<BR> published by <a href="http://www.wrox.com/" target="_blank">Wrox Press</a>.<BR> - Mentions perl-ldap in Chapter 11.</li> + Mentions perl-ldap in Chapter 11.<BR> +<br clear=all> <p> -<!-- http://www.amazon.com/exec/obidos/ASIN/1565926099/qid%3D1052379682/sr%3D11-1/ref%3Dsr%5F11%5F1/002-7642177-5460825 --> - <li><a href="http://www.oreilly.com/catalog/perlsysadm/" - target="_blank"><i>Perl for System Administration</i></a> - (ISDN: 1565926099)<BR> + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=1565926099" + target="_blank"><img width=100 height=131 + src=1565926099.jpg align=left hspace=10></a> + <a href="http://www.oreilly.com/catalog/perlsysadm/" + target="_blank"><i>Perl for System Administration</i></a><BR> + (ISBN: 1565926099)<BR> written by David N. Blank-Edelman,<BR> published by <a href= "http://www.oreilly.com/" target="_blank">O'Reilly & Associates</a>.<BR> Mentions LDAP and perl-ldap - in its chapter on Directory Services.</li> + in its chapter on Directory Services.<BR> +<br clear=all> <p> -<!-- http://www.amazon.com/exec/obidos/ASIN/0672321254/qid%3D1052379373/sr%3D11-1/ref%3Dsr%5F11%5F1/002-7642177-5460825 --> - <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={BDE92686-4225-41B6-A818-B477144D8CA1}&session_id={6D4DBC59-6D20-470C-9B9F-207BF1BD4DDD}" - target="_blank"><i>Managing Enterprise Active Directory Services</i></a> + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=0672321254" + target="_blank"><img width=100 height=123 + src=0672321254.jpg align=left hspace=10></a> + <a href="http://www.awprofessional.com/catalog/product.asp?product_id={BDE92686-4225-41B6-A818-B477144D8CA1}&session_id={6D4DBC59-6D20-470C-9B9F-207BF1BD4DDD}" + target="_blank"><i>Managing Enterprise + Active Directory Services</i></a><BR> (ISBN: 0672321254)<BR> written by Robbie Allen and Richard Puckett,<BR> published by <a href="http://www.awprofessional.com/" - target="_blank">Addison-Wesley</a></li> + target="_blank">Addison-Wesley</a><BR> +<br clear=all> <p> -<!-- http://www.amazon.com/exec/obidos/tg/detail/-/1565924916/ref=pd_sim_books_2/002-7642177-5460825?v=glance&s=books --> - <li><a href="http://www.oreilly.com/catalog/ldapsa/" - target="_blank"><i>LDAP System Administration</i></a> + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=1565924916" + target="_blank"><img width=100 height=131 + src=1565924916.jpg align=left hspace=10></a> + <a href="http://www.oreilly.com/catalog/ldapsa/" + target="_blank"><i>LDAP System Administration</i></a><BR> (ISBN: 1565924916)<BR> written by Gerald Carter,<BR> published by <a href="http://www.oreilly.com/" target="_blank">O'Reilly & Associates</a>.<BR> - Has a chapter on Net::LDAP and perl.</li> + Has a chapter on Net::LDAP and perl.<BR> +<br clear=all> <p> -<!-- http://www.amazon.com/exec/obidos/tg/detail/-/0672323168/qid=1052379559/sr=1-1/ref=sr_1_1/002-7642177-5460825?v=glance&s=books --> - <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={0A213C17-EE78-4AC2-9D72-812B36E94742}" - target="_blank"><i>Understanding and Deploying LDAP Directory Services</i></a>, Second Edition + <a href="http://learn.perl.org/redirect?url=book;bookstore=amazon;bookisbn=0672323168" + target="_blank"><img width=100 height=133 + src=0672323168.jpg align=left hspace=10></a> + <a href="http://www.awprofessional.com/catalog/product.asp?product_id={0A213C17-EE78-4AC2-9D72-812B36E94742}" + target="_blank"><i>Understanding and Deploying + LDAP Directory Services</i></a>, Second Edition<BR> (ISBN: 0672323168)<BR> written by Tim Howes, Mark C Smith and Gordon Good,<BR> published by <a href="http://www.awprofessional.com/" target="_blank">Addison-Wesley</a>.<BR> It only mentions Net::LDAP in passing - but gives good general guidance.</li> + but gives good general guidance.<BR> +<br clear=all> - </ul> </div> </div> <div id="footer"> |
From: John W. <man...@us...> - 2003-05-08 08:08:56
|
Update of /cvsroot/perl-ldap/website In directory sc8-pr-cvs1:/tmp/cvs-serv22552 Modified Files: index.html Added Files: 0672321254.jpg 0672323168.jpg 1565924916.jpg 1565926099.jpg 1861002211.jpg Log Message: add the book images, mostly just to verify that -kb worked, and that I can see them on the external site, before I insert them the the homepage --- NEW FILE: 0672321254.jpg --- ÿØÿà ÿÀ ¾Ïûî'I²²ÃgRûëÜvþý®Ht|pàíö® É C(±ÁÍâ>°d?ó>öUj3úÔã½®q7¾ÏO@ë 7O Æ ß¿ó?¶MÙõXZ^=wa {fkÜ×Uþsw×ìúÍ¢x¯pq=2¢7ë«£EP*{·í'lÄöi-k7¨tëóla³,ûMa®z¬Öîoîæj«/ΦÌò2Mív×;cæÑÑíútÓ[-ôxI'PÉî4~ßK²ÅµÙc!ûÜûX_Yú7íõ_ê¼4}W^×=ÿ ÁaÇ«. àmeÀ89éVP:VÂÈêÊÅcªõ,Xö üÖ7Ú¶9<\Q}4Óô¾fGðõ6É9ÖVvÖ\Ò-Ù{ÔÆzUz[?sû´^oÒºEbï²2ØYeÔ¥ü¥é¿Uý^Á'RkrUÎb_ØÒÅ)¤K±ÿ í`-nHÀ ESliceType leftOutsetlong ÿÀ ¾Ïûî'I²²ÃgRûëÜvþý®Ht|pàíö® É C(±ÁÍâ>°d?ó>öUj3úÔã½®q7¾ÏO@ë 7O Æ ß¿ó?¶MÙõXZ^=wa {fkÜ×Uþsw×ìúÍ¢x¯pq=2¢7ë«£EP*{·í'lÄöi-k7¨tëóla³,ûMa®z¬Öîoîæj«/ΦÌò2Mív×;cæÑÑíútÓ[-ôxI'PÉî4~ßK²ÅµÙc!ûÜûX_Yú7íõ_ê¼4}W^×=ÿ ÁaÇ«. àmeÀ89éVP:VÂÈêÊÅcªõ,Xö üÖ7Ú¶9<\Q}4Óô¾fGðõ6É9ÖVvÖ\Ò-Ù{ÔÆzUz[?sû´^oÒºEbï²2ØYeÔ¥ü¥é¿Uý^Á'RkrUÎb_ØÒÅ)¤K±ÿ í`-nHÀ <?adobe-xap-filters esc="CR"?> <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> <rdf:Description about='uuid:b727a0d5-8129-11d7-ba52-a940616a8d5b' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'> <xapMM:DocumentID>adobe:docid:photoshop:5c9a0d03-8129-11d7-ba52-a940616a8d5b</xapMM:DocumentID> </rdf:Description> </rdf:RDF> </x:xapmeta> <?xpacket end='w'?>ÿî ""ÿÀ EF¤´VÓU(òãóÄÔäôeu ¥µÅÕåõfv¦¶ÆÖæö7GWgw§·Ç×ç÷8HXhx¨¸ÈØèø)9IYiy©¹ÉÙéù*:JZjzªºÊÚêú &6E'dtU7ò£³Ã()Óãó¤´ÄÔäôeu ¥µÅÕåõFVfv¦¶ÆÖæöGWgw§·Ç×ç÷8HXhx¨¸ÈØèø9IYiy©¹ÉÙéù*:JZjzªºÊÚêúÿÚ ò5úÇò÷ßübÉõcøüzßÿÐ즴4ëÚ¸ªRÜi ¿Ð?cýèñ?ï¿øËêü~ ÿ dXq5£:ÖÇÉZ.òr^qü?îðFSüÿ Pz¼t¸Pªÿ ~Õª«_¯]oOøºOø´fÊHþ«Dÿ §Ô>Êÿ W¸.Ä U¸'ü$XN)Ñë:d¦Nñæ85SÃâñlðx£4"éµ$ùl_Y°Vp «CÞú\yJ¼±ÚÔå\?ŵm9W¸ZT î~ÐfOö/Áø7íãÂSâǽaÕì%¡Ü"õQRéøPqi5aTê6@3/%4¦õ'§ð÷gÆ8|(²ñ#Þº+ëIV)CPêWpAÅö~ÏÅ(<Áu¿Sôîýå>½uJ§÷Ò(}#ú«PýçÔ?Ý¿ïG¾ÿ ¯êKþUÒ ¥¢É#« eUPì¥6ýß÷ÿ ¦³as©=ݤm«/#øTeáÍÔdScÞhúÌB©¤(.#)$nBWÓí%NLtoüÇ®y@å8bGN§5Ùþ²äé¿» ÖRä;v*ùç\Tý=«T%~½uÔ¾üÙÃéÕqÚþ¡Ñ?Þÿ VN2Æ#î`nQâ9ç~N ÷êNÂ|vÝÀi¦9¡¡ý[fHÍäÔbéooÕh£¡`«µiUÛ$s!ô |¢Hÿ 4o¨}³þôxÅñ%Õz~?âÿÔìØ«±V5æ/1ßiwñÛ[Ç£D$&@ÄÔ³¯ì²ÿ Hw?óÓ,:x®0×å"Ä`¹|Û¯°m!`Õâ@b 3OÞ'ÅÀ{!Ìóo8kµ¬ --- NEW FILE: 0672323168.jpg --- ÿØÿà ÿÀ u;_õÛùBÒ·¦ô½¶¾²kꬳlß{*È©ÿ Êuï«Á®}ö×HÓµ®ûCë÷{ª?¨tv<Ôþ¥»µowöKëÿ Õ{}?N×ÿ >·ôìëÜÂ÷TòL ESliceType leftOutsetlong ÿÀ u;_õÛùBÒ·¦ô½¶¾²kꬳlß{*È©ÿ Êuï«Á®}ö×HÓµ®ûCë÷{ª?¨tv<Ôþ¥»µowöKëÿ Õ{}?N×ÿ >·ôìëÜÂ÷TòL <?adobe-xap-filters esc="CR"?> <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> <rdf:Description about='uuid:676bb790-8129-11d7-ba52-a940616a8d5b' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'> <xapMM:DocumentID>adobe:docid:photoshop:5c9a0d07-8129-11d7-ba52-a940616a8d5b</xapMM:DocumentID> </rdf:Description> </rdf:RDF> </x:xapmeta> <?xpacket end='w'?>ÿî ""ÿÀ EF¤´VÓU(òãóÄÔäôeu ¥µÅÕåõfv¦¶ÆÖæö7GWgw§·Ç×ç÷8HXhx¨¸ÈØèø)9IYiy©¹ÉÙéù*:JZjzªºÊÚêú &6E'dtU7ò£³Ã()Óãó¤´ÄÔäôeu ¥µÅÕåõFVfv¦¶ÆÖæöGWgw§·Ç×ç÷8HXhx¨¸ÈØèø9IYiy©¹ÉÙéù*:JZjzªºÊÚêúÿÚ "3Æ*ÍÈ«òäºáûqz©®uòåÇèø£yQ¤++$Òªôÿ *òz¶*y+ùÇIEY ¸¸XæÕ]]TupË¢¼Ã«=µ;v ´È/å¬^Ìf©>Pü <\$ö1V¼éäÕмàtH]ÂçöÒ·ÄRÝùz¥¿êÞÿ %s+ÜJ³2JpµÜ\¸|ºþ|UNîH<ÁùH²Ä.|±v8_«MEûj~ï÷È¿cìZbª_¼^OóÔ±1W[Kr¬:K¬U ]jôQÅyw5Ä1QDîLjOVHþ±ÿ 󤲤RÊ$FqÉ ^GzæÔiá\Ú¢ÙYÐþè|_ks¾Ôø¼vÉxî[lXÙ³S¶àvû=ûcàC¹m¨ì-#eÉBªË·Ùªå¯ÃòÐî[[õ@¥@û@t?ë6Ën6°¾Áë×ÜPþ|wE±a;Ünþâ8ø0=Ôͬ ×i°®û#;kéN ';Ôþ¯Ø/ù;Úô"þQþ×L|w+^?È>ì;¿B/Kì·áþNCÁòWÿÕ7÷²®ß¯7k\0¯Qí-ºVÚ+íÚÒµÂÚGø=«Æ´ùæ>]Da ¸¿7'Y"H1¿ÊKÃRÚX_ +Ò´ö9,ã<Qúx¸fÃ,fóÉ 6¦WÚÂ)-S%º~çýükê¯ÿÖú$Èæ´ß¯7jTmixckK½%ñÆÕÞxch¥¬lç¦dÔKoQÚ~f¼TÔׯòæ&_äÆaDÿ 7PÛ«/Õ]¤hæ¥MOÁ·Øãü¸tf2ãáãlÔF®£_O Aéø¹B ÑAä@ä×sO [ÛDë'/eÊ¥©Æ:£¬ý%¡Ëñõ)ʯSù¸_)-?ÿÐ)©54õÍ¿EÜ*tE~-ZwNBïÈÔã;á=²çP(à+¤oêWrIv¯@=ÿ ¶ÍnªgtXü&GEùõjü?·Ä{!G¤+KÍ*Æ;¸±oÓE ÚN!µ9Â>×òf9Å<â2âÇ ýqôxdqäèqñ%ß<»|mKÙLÆ#.̦¤¹ _eoµüù.Î<'ôøùgþþM«48?ácrëZipYÞn[ÑT/ v«rõ9fÇóthðÇzã[´úÁ0Z¸)\¯|L¡oãÊgªG÷rþzÀø¤¬©Æ@ñúÒÈdbY7ßìòoæÌY#d ÜݺFKsdw«mJÿ sãüÜo2ü_''ÂÓÿÑ,Þ<â. ñ S#O b潿mÓ3¥?NßÍr#ÜúU%×!¿*únÉ0-<ëø¤¯£Ö%ÿ Àè©Yú¼Q$¿$rÓIÂIOVÓµK;q\»AGXÜÊK;!?îÿ §ÖÕëQýïüixÿÓ.Ñu+oñ<F $ÿ Bµ Ú^Õeÿ ÿ ¿xNBMÈä!BßJ¾¹Y`h¹E)âÖ)Eá/ ÄsýöxcLe#.kî´=BÖXâêÍDÂÅÁgfÿ ó·PUÚ>SDq^_cÔ>>H¿|<ð*CÔ¢Ã<ÐE x]B\«12ÉéÂGïÿ --- NEW FILE: 1565924916.jpg --- ÿØÿà ÿÀ ¿Oþÿ ¿Oþÿ 9âôjòJaköNÖ3{¶´}/hX-ÿ -§<3Ôµíní2ÆKv\Õî½gOý¹yªK[é6îºý§e~ ,ÜÆG§öfÿ °Ü2Þæ°czÕX-væØÿ ï'ÅÁ¸¬WÊì^ÞHÄgÖLêº=v|J[iv[7Ý÷cû¦ë®µÿ Ë^.- k0Øî=ìý'èX´þ¤â ¿Oþÿ Ü Y[lõã½õ=Ó6¬ãKze8ù»+²2ʵÍs\ÀDZÞ×±ì*½êå´{h¦ÆàKݹçp®ï[ù¼|z¾ó4ÕOóU¤¤ëE4;$e4ÐÓc]f×m={äíú5ÓúMÿ ¬sDâñIMìÝ·pÝÄN³ÑE~®\îÛ" þV¾ä\ftìF9ÞMs·84.ÝÇû-jJCÿ Photoshop 3.0 ESliceType leftOutsetlong ÿÀ ¿Oþÿ ¿Oþÿ 9âôjòJaköNÖ3{¶´}/hX-ÿ -§<3Ôµíní2ÆKv\Õî½gOý¹yªK[é6îºý§e~ ,ÜÆG§öfÿ °Ü2Þæ°czÕX-væØÿ ï'ÅÁ¸¬WÊì^ÞHÄgÖLêº=v|J[iv[7Ý÷cû¦ë®µÿ Ë^.- k0Øî=ìý'èX´þ¤â ¿Oþÿ Ü Y[lõã½õ=Ó6¬ãKze8ù»+²2ʵÍs\ÀDZÞ×±ì*½êå´{h¦ÆàKݹçp®ï[ù¼|z¾ó4ÕOóU¤¤ëE4;$e4ÐÓc]f×m={äíú5ÓúMÿ ¬sDâñIMìÝ·pÝÄN³ÑE~®\îÛ" þV¾ä\ftìF9ÞMs·84.ÝÇû-jJCÿ <?adobe-xap-filters esc="CR"?> <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> <rdf:Description about='uuid:b727a0d7-8129-11d7-ba52-a940616a8d5b' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'> <xapMM:DocumentID>adobe:docid:photoshop:676bb788-8129-11d7-ba52-a940616a8d5b</xapMM:DocumentID> </rdf:Description> </rdf:RDF> </x:xapmeta> <?xpacket end='w'?>ÿî ""ÿÀ EF¤´VÓU(òãóÄÔäôeu ¥µÅÕåõfv¦¶ÆÖæö7GWgw§·Ç×ç÷8HXhx¨¸ÈØèø)9IYiy©¹ÉÙéù*:JZjzªºÊÚêú &6E'dtU7ò£³Ã()Óãó¤´ÄÔäôeu ¥µÅÕåõFVfv¦¶ÆÖæöGWgw§·Ç×ç÷8HXhx¨¸ÈØèø9IYiy©¹ÉÙéù*:JZjzªºÊÚêúÿÚ ùFªÑ6¥Y ýÇ_ Ë¢µ Ê×· ÌPÇY%QÅ'àIö#<²¢ Ü@æ)á"H¥SFW_YN_W±`Ì<×£¦¥æ--Ñ]µæíT}<ÌÜþ)ùn|07þJM!ý5[Ñw¯ù>þkI ¹ÐîLö+,lXKÿ øLøª¬~"hé°O-»³¿Ã»þ?¿çüm¿ÿ×ë^¯Ôéêt=:}ã«~ûþ-ÿ --- NEW FILE: 1565926099.jpg --- ÿØÿà ÿÀ ÏSÖln~FF6;)»1âÌØsÜ sÃ@vãäñúOç>Ïgî~¯ý8akwlnµãôÁÛô,ÿ _ÿ þ÷I¼vC-vK\ëî±î-ô-°K¤ºéíßúf\Å£ÐóìÈe}SÊj¥°Óaô²XÝÕÖßs[½ß¬ý5ÒUm´V)¦ë+¬ßM,l»i®Æ?¥o©gïØô>V^͵¾¥QZNÝà7ùMQ`øQ³N;ÿ Þ~ÍU¸ËÁìw;¶»Óm¬wÑo½_é¿R¾²u«r[µÖ>âï©³Ó _ìý'çÿ ÿ éck`ᬣüÖ¡JâÒ¤£¸%¸$®!ÝJ; ÃÕ©Õïu{oaê©\CºT/±ÚAνÒÒÙýH'ü ôég¹æ&³ç[mξ±hôËZ@Ûº¯R6¥JâÛÉ*?bºIù ESliceType leftOutsetlong ÿÀ ÏSÖln~FF6;)»1âÌØsÜ sÃ@vãäñúOç>Ïgî~¯ý8akwlnµãôÁÛô,ÿ _ÿ þ÷I¼vC-vK\ëî±î-ô-°K¤ºéíßúf\Å£ÐóìÈe}SÊj¥°Óaô²XÝÕÖßs[½ß¬ý5ÒUm´V)¦ë+¬ßM,l»i®Æ?¥o©gïØô>V^͵¾¥QZNÝà7ùMQ`øQ³N;ÿ Þ~ÍU¸ËÁìw;¶»Óm¬wÑo½_é¿R¾²u«r[µÖ>âï©³Ó _ìý'çÿ ÿ éck`ᬣüÖ¡JâÒ¤£¸%¸$®!ÝJ; ÃÕ©Õïu{oaê©\CºT/±ÚAνÒÒÙýH'ü ôég¹æ&³ç[mξ±hôËZ@Ûº¯R6¥JâÛÉ*?bºIù <?adobe-xap-filters esc="CR"?> <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> <rdf:Description about='uuid:76130d85-812b-11d7-ba52-a940616a8d5b' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'> <xapMM:DocumentID>adobe:docid:photoshop:16dd7dfb-812a-11d7-ba52-a940616a8d5b</xapMM:DocumentID> </rdf:Description> </rdf:RDF> </x:xapmeta> <?xpacket end='w'?>ÿî ""ÿÀ EF¤´VÓU(òãóÄÔäôeu ¥µÅÕåõfv¦¶ÆÖæö7GWgw§·Ç×ç÷8HXhx¨¸ÈØèø)9IYiy©¹ÉÙéù*:JZjzªºÊÚêú &6E'dtU7ò£³Ã()Óãó¤´ÄÔäôeu ¥µÅÕåõFVfv¦¶ÆÖæöGWgw§·Ç×ç÷8HXhx¨¸ÈØèø9IYiy©¹ÉÙéù*:JZjzªºÊÚêúÿÚ ~ÓÈÕácö¸â©^¥®ÜYµ´R"[Ü]³$(ܦ%#<97¦9úi'«üJ&ßR¸ú°UKêjöܹþco%_áý¤Wy?â¼im0HåeÆà2:¤UYHÀø«±Wb®Å]¿ÿÑ츫x«±Wb©Ol½kD½ÿ ßYÀÿ ~¿ÇóÝÕj6QõÇøâ? ÿ 9Ä©q7Sðý®+J7¨Çüq§üdÊ[²HgrÁaBúA¹T(øc@«ð'Uøùb¬ÿ æÞÿÑêºïüpµ/ùþM¾di½ü2îÜ|ÿ > ¾ÚÀu!úø¿Ø(Ãq2¿¥¯ÑwÈ¡xRd 3·¦NTEýááö¾5óeþϱm´¹Ôrwe0JYÅ#V/. ÅÍDòú|O§ë| ÎàCK÷-ñéIHv¢×àoü¬ep«ùìñqDý?ÌAj6ÓË-¹ª-K¤¤ eeàñ´ê~Ë?ÇÃ5¹4ú¬©Ê?è;,Z.9\#>/Çôإ©c¬M¬MÉGÃÅ8øÅê>iòÃF?ÍþkºÅ>8oêþzsúñ~Fn2°<¢&CÄåÉOÙáö²0 ?&R4 þj2}3W°«mõ«ð½¸%XÚd¼¿áÌ̺°<¼Aý¿AÏÃó2/ËS¸x¡·Òî&«ÂÆBT6ãfûãø3XrDYãê·Ç>2hJõoÐß~/ѧ|½>Rp~סÏ?ø³*¶êÿÒêºïüpõ/ù þM¶di¿½ü2îÜlÿ äFuý¯ ý.o÷x)ôñO÷~¯F<°àýÚMWóÿ []4@±¬æw ¿¼µy)ûKÁâÇ$ã~ô¯7GUü^¿Ùâhéöª¤s¿ÔÖð ÃÇâìß¼¿çKÇÿ p/Çe21z£&/ôä*?äã?öpuîm¿9$i,Jl+£tti?ùã<åÀHfâÿ ²ÒcâEû8ÇW§ ºútZv#ûÏ«éjo,y²yw!3&EtRÓó.1Õéâ(?ñ- ¨ñé|±æ¹DÂKxI¸Dfä°~ßÀ¿1ÕéÁrz%ÇóÒtZ{GÕý_àT>_ó©ê!Y9Büðs'úëör?Órýçñÿ '¨ÒñVuô¤Mÿ ÂFÞâýìê5Xeb&\y´Ú<ÑÉ!èÄΩW{OÿÕìØ«±Wb®Å]»v*ìUØ«±Wb®Å]¿ÿÖë÷p¶sµ¢ºXÜÀ2>²~ßùi±Û9-·«iËE*H³[Y5oOÔiùª·÷1ÿ ûñWU¿¿»ïÅZûñC¾üUØ«ÿÙ --- NEW FILE: 1861002211.jpg --- ÿØÿà ÿÀ ÚÓ£g´í?¬ª3>·Þ>N¬=çGj¨uW¿Y:¸¹Æ;êC{7¬=Õº°62£³çu®÷ïì*X]ù/ý3öHUnðû¯ÕǺê:u$ÞRSP}Eµìß]àÀüPÔ®¤A$µ¡¼kÉ]ÆÕºÈЫS@i ³+}q¡üÒ¸ì:¬¡Q×Ô·7ùC袧vÌ âÖ6¡µú̸¦ÊÜ÷ËÉ5íÔðHÙXl3¿òõCÈvÝ IÄ$¤ûq~Ãáô»|~¨¨'ljJÿÑÏs¡ èÉoCdëî{å(ÜØÐ'± :Ü 5-úQàRL·>k08nnÒ{øhVW\©ö2«ÝÃtiÙ;Üßå-JÞÂ,kr6ÌwVΩÓkËbÀÓ³]Gº¤/§9¡ºÈp2A]?RÆk&Òæí¹EÇc50$¤:f\µå µÌÞ¹%=oKúÅÓKÃ˾ <Ø»©àC\}ßDq÷Êó|ÜcÚö`ò<IsV§\Àõ_1Ü÷n ØXç=íÐîKÿ Jzãuõ¾ÇØçW°mÝêd<[è»ô{¾å Þòà÷9Ï&uÉlÚÝß¡s}ÞÅO¤»0 ÖoLéÕÑú´uBóQõÚíÞÕÕIÛö§ö[ÿ ÿ ÿ ESliceType leftOutsetlong ÿÀ ÚÓ£g´í?¬ª3>·Þ>N¬=çGj¨uW¿Y:¸¹Æ;êC{7¬=Õº°62£³çu®÷ïì*X]ù/ý3öHUnðû¯ÕǺê:u$ÞRSP}Eµìß]àÀüPÔ®¤A$µ¡¼kÉ]ÆÕºÈЫS@i ³+}q¡üÒ¸ì:¬¡Q×Ô·7ùC袧vÌ âÖ6¡µú̸¦ÊÜ÷ËÉ5íÔðHÙXl3¿òõCÈvÝ IÄ$¤ûq~Ãáô»|~¨¨'ljJÿÑÏs¡ èÉoCdëî{å(ÜØÐ'± :Ü 5-úQàRL·>k08nnÒ{øhVW\©ö2«ÝÃtiÙ;Üßå-JÞÂ,kr6ÌwVΩÓkËbÀÓ³]Gº¤/§9¡ºÈp2A]?RÆk&Òæí¹EÇc50$¤:f\µå µÌÞ¹%=oKúÅÓKÃ˾ <Ø»©àC\}ßDq÷Êó|ÜcÚö`ò<IsV§\Àõ_1Ü÷n ØXç=íÐîKÿ Jzãuõ¾ÇØçW°mÝêd<[è»ô{¾å Þòà÷9Ï&uÉlÚÝß¡s}ÞÅO¤»0 ÖoLéÕÑú´uBóQõÚíÞÕÕIÛö§ö[ÿ ÿ ÿ <?adobe-xap-filters esc="CR"?> <x:xapmeta xmlns:x='adobe:ns:meta/' x:xaptk='XMP toolkit 2.8.2-33, framework 1.5'> <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'> <rdf:Description about='uuid:676bb792-8129-11d7-ba52-a940616a8d5b' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/'> <xapMM:DocumentID>adobe:docid:photoshop:676bb78c-8129-11d7-ba52-a940616a8d5b</xapMM:DocumentID> </rdf:Description> </rdf:RDF> </x:xapmeta> <?xpacket end='w'?>ÿî ""ÿÀ EF¤´VÓU(òãóÄÔäôeu ¥µÅÕåõfv¦¶ÆÖæö7GWgw§·Ç×ç÷8HXhx¨¸ÈØèø)9IYiy©¹ÉÙéù*:JZjzªºÊÚêú &6E'dtU7ò£³Ã()Óãó¤´ÄÔäôeu ¥µÅÕåõFVfv¦¶ÆÖæöGWgw§·Ç×ç÷8HXhx¨¸ÈØèø9IYiy©¹ÉÙéù*:JZjzªºÊÚêúÿÚ O`AúqT9ò¨A%BôÜU&Õ´{Í2D¦© ®Í×*ØjIqn VU£ÿ x§xÏC]|U,ÖímàN[¹f viÿ ²(ãU© eM«ïáOÚÅ\&ÜxSEû4ÅWz¼xâ¯ÿÓ,f¢²T5À92Ô%E VÞ¯ÇcÜTý¬,V aÍ8Mü6#¿Ñ¤Þ`Ic sZl ìiäÊQþ²ø(7+ö©àرY*»QÔp';¡uX%vZLðßqÐ.øªÖÍoH·½6Q»*ªñ¤ÞÕ©3U] xÿ jí_öXª$à¼ëñ1$ÅY¥æ±IXR¥HcàQÕ¹6*Ýë1Kxt\DÀ¦*dÖÅYÞ§¥«Y;Åå+Áy|4ø¿a¿Ø`J"Yí.íðËn¬#VE>Ësoý(H6ýìxv`;nk QHÌBó¥q¯*Ó(fn?iw¡ï¶*Öÿ ÈxüMÏoë¿_õþ«oéú_Üz¿¹ç^¾¯µ¿ÿ×&5**xÐøb92Ô%²n´S° rg¸NTþóá_·QqÚ¢É$f2Y$ýÛq .ßåaüÄQüý¯ý:ÿ ¾eLAðÿ K5¸vòä£_õWòpɹeáþ÷éÏBrrÎyûµ-;T}¬Ö±ØÛÌbä2hû¦±ºðOõpäÅÆA2£ú¬óéB*~1ýø?_FóÖêµ¥´,ÿ Index: index.html =================================================================== RCS file: /cvsroot/perl-ldap/website/index.html,v retrieving revision 1.36 retrieving revision 1.37 diff -u -d -r1.36 -r1.37 --- index.html 8 May 2003 06:52:01 -0000 1.36 +++ index.html 8 May 2003 08:08:53 -0000 1.37 @@ -195,6 +195,7 @@ target="_blank">Wrox Press</a>.<BR> Mentions perl-ldap in Chapter 11.</li> <p> +<!-- http://www.amazon.com/exec/obidos/ASIN/1565926099/qid%3D1052379682/sr%3D11-1/ref%3Dsr%5F11%5F1/002-7642177-5460825 --> <li><a href="http://www.oreilly.com/catalog/perlsysadm/" target="_blank"><i>Perl for System Administration</i></a> (ISDN: 1565926099)<BR> @@ -204,6 +205,7 @@ Mentions LDAP and perl-ldap in its chapter on Directory Services.</li> <p> +<!-- http://www.amazon.com/exec/obidos/ASIN/0672321254/qid%3D1052379373/sr%3D11-1/ref%3Dsr%5F11%5F1/002-7642177-5460825 --> <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={BDE92686-4225-41B6-A818-B477144D8CA1}&session_id={6D4DBC59-6D20-470C-9B9F-207BF1BD4DDD}" target="_blank"><i>Managing Enterprise Active Directory Services</i></a> (ISBN: 0672321254)<BR> @@ -211,6 +213,7 @@ published by <a href="http://www.awprofessional.com/" target="_blank">Addison-Wesley</a></li> <p> +<!-- http://www.amazon.com/exec/obidos/tg/detail/-/1565924916/ref=pd_sim_books_2/002-7642177-5460825?v=glance&s=books --> <li><a href="http://www.oreilly.com/catalog/ldapsa/" target="_blank"><i>LDAP System Administration</i></a> (ISBN: 1565924916)<BR> @@ -219,6 +222,7 @@ target="_blank">O'Reilly & Associates</a>.<BR> Has a chapter on Net::LDAP and perl.</li> <p> +<!-- http://www.amazon.com/exec/obidos/tg/detail/-/0672323168/qid=1052379559/sr=1-1/ref=sr_1_1/002-7642177-5460825?v=glance&s=books --> <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={0A213C17-EE78-4AC2-9D72-812B36E94742}" target="_blank"><i>Understanding and Deploying LDAP Directory Services</i></a>, Second Edition (ISBN: 0672323168)<BR> |
From: John W. <man...@us...> - 2003-05-08 06:52:07
|
Update of /cvsroot/perl-ldap/website In directory sc8-pr-cvs1:/tmp/cvs-serv32029 Modified Files: index.html Log Message: cleaned up the other publications section Index: index.html =================================================================== RCS file: /cvsroot/perl-ldap/website/index.html,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- index.html 6 May 2003 11:46:09 -0000 1.35 +++ index.html 8 May 2003 06:52:01 -0000 1.36 @@ -184,30 +184,50 @@ </ul> </div> <div class="section"> - <h2>Other</h2> + <h2>Other Publications</h2> <ul> - <li><a href="http://www.wrox.com/">Wrox Press</a> has published a book - by Mark Wilcox entitled <a href= - "http://www.wrox.com/Store/Details.asp?Code=2211">Implementing LDAP</a> which - mentions perl-ldap in Chapter 11. (<i>They also sent me a free copy</i>)</li> - <li><a href= - "http://www.oreilly.com/catalog/perlsysadm/">Perl for System Administration</a> by - David N. Blank-Edelman and published by <a href= - "http://www.oreilly.com/">O'Reilly</a> mentions LDAP and perl-ldap + + <li><a href="http://www.amazon.com/exec/obidos/tg/detail/-/1861002211/qid=1052240852/sr=1-2/ref=sr_1_2/002-8925582-3034440" + target="_blank"><i>Implementing LDAP</i></a> + (ISBN: 1861002211)<BR> + written by Mark Wilcox,<BR> + published by <a href="http://www.wrox.com/" + target="_blank">Wrox Press</a>.<BR> + Mentions perl-ldap in Chapter 11.</li> +<p> + <li><a href="http://www.oreilly.com/catalog/perlsysadm/" + target="_blank"><i>Perl for System Administration</i></a> + (ISDN: 1565926099)<BR> + written by David N. Blank-Edelman,<BR> + published by <a href= "http://www.oreilly.com/" + target="_blank">O'Reilly & Associates</a>.<BR> + Mentions LDAP and perl-ldap in its chapter on Directory Services.</li> - <li><a href= - "http://www.awprofessional.com/">Addison-Wesley</a> has published - a book by Robbie Allen and Richard Puckett entitled <a href= - "http://www.awprofessional.com/catalog/product.asp?product_id={BDE92686-4225-41B6-A818-B477144D8CA1}&session_id={6D4DBC59-6D20-470C-9B9F-207BF1BD4DDD}"> Managing - Enterprise Active Directory Services.</a></li> - <li><a href="http://www.oreilly.com/catalog/ldapsa/">LDAP System Administration</a> by - Gerald Carter and published by <a href="http://www.oreilly.com/">O'Reilly</a>, has a chapter on Net::LDAP and - perl.</li> - <li>The second edition of <a href="http://www.awprofessional.com/">Understanding - and Deploying LDAP Directory Services</a> by Tim Howes, Mark C - Smith and Gordon Good has been published by Addison-Wesley. It only mentions - Net::LDAP in passing but gives good general guidance (<i>Addison-Wesley also - sent me a free copy</i>)</li> +<p> + <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={BDE92686-4225-41B6-A818-B477144D8CA1}&session_id={6D4DBC59-6D20-470C-9B9F-207BF1BD4DDD}" + target="_blank"><i>Managing Enterprise Active Directory Services</i></a> + (ISBN: 0672321254)<BR> + written by Robbie Allen and Richard Puckett,<BR> + published by <a href="http://www.awprofessional.com/" + target="_blank">Addison-Wesley</a></li> +<p> + <li><a href="http://www.oreilly.com/catalog/ldapsa/" + target="_blank"><i>LDAP System Administration</i></a> + (ISBN: 1565924916)<BR> + written by Gerald Carter,<BR> + published by <a href="http://www.oreilly.com/" + target="_blank">O'Reilly & Associates</a>.<BR> + Has a chapter on Net::LDAP and perl.</li> +<p> + <li><a href="http://www.awprofessional.com/catalog/product.asp?product_id={0A213C17-EE78-4AC2-9D72-812B36E94742}" + target="_blank"><i>Understanding and Deploying LDAP Directory Services</i></a>, Second Edition + (ISBN: 0672323168)<BR> + written by Tim Howes, Mark C Smith and Gordon Good,<BR> + published by <a href="http://www.awprofessional.com/" + target="_blank">Addison-Wesley</a>.<BR> + It only mentions Net::LDAP in passing + but gives good general guidance.</li> + </ul> </div> </div> |
From: Graham B. <gb...@us...> - 2003-05-07 15:13:31
|
Update of /cvsroot/perl-ldap/asn/lib/Convert/ASN1 In directory sc8-pr-cvs1:/tmp/cvs-serv22740/lib/Convert/ASN1 Modified Files: parser.pm Log Message: Support OPTIONAL on SET OF and SEQUENCE OF Index: parser.pm =================================================================== RCS file: /cvsroot/perl-ldap/asn/lib/Convert/ASN1/parser.pm,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- parser.pm 6 May 2003 21:29:07 -0000 1.11 +++ parser.pm 7 May 2003 15:13:28 -0000 1.12 @@ -99,14 +99,14 @@ my @yylhs = ( -1, 0, 0, 2, 2, 3, 3, 6, 6, 6, 6, 8, 13, 13, 12, 14, 14, 14, 9, 9, 9, - 10, 17, 17, 17, 17, 17, 18, 18, 11, 15, - 15, 19, 19, 19, 20, 1, 1, 21, 21, 21, - 23, 23, 23, 23, 22, 22, 22, 24, 24, 4, - 4, 5, 5, 5, 16, 16, 25, 7, 7, + 10, 18, 18, 18, 18, 18, 19, 19, 11, 16, + 16, 20, 20, 20, 21, 1, 1, 22, 22, 22, + 24, 24, 24, 24, 23, 23, 23, 15, 15, 4, + 4, 5, 5, 5, 17, 17, 25, 7, 7, ); my @yylen = ( 2, 1, 1, 3, 4, 4, 1, 1, 1, 1, 1, - 3, 1, 1, 5, 1, 1, 1, 4, 4, 4, + 3, 1, 1, 6, 1, 1, 1, 4, 4, 4, 4, 1, 1, 1, 2, 1, 0, 3, 1, 1, 2, 1, 3, 3, 4, 1, 2, 1, 3, 3, 2, 1, 1, 1, 4, 1, 3, 0, 1, 0, @@ -122,85 +122,87 @@ 0, 0, 0, 0, 0, 32, 59, 5, 0, 0, 0, 55, 0, 18, 19, 0, 20, 0, 0, 28, 57, 21, 0, 0, 0, 34, 33, 56, 0, 0, - 17, 15, 16, 14, 35, + 17, 15, 16, 0, 35, 14, ); my @yydgoto = ( 4, 5, 6, 20, 7, 17, 50, 68, 8, 51, 52, - 53, 54, 43, 94, 64, 71, 44, 56, 65, 66, - 9, 10, 45, 59, 72, + 53, 54, 43, 94, 59, 64, 71, 44, 56, 65, + 66, 9, 10, 45, 72, ); my @yysindex = ( 7, - 9, 0, 12, 0, 0, 19, 99, 0, 59, 0, - 73, 99, 31, -1, 0, 0, 88, 57, 57, 0, - 99, 0, 95, 0, 73, 26, 34, 62, 0, 50, - 0, 0, 95, 0, 26, 34, 64, 66, 0, 0, - 86, 0, 106, 0, 0, 0, 57, 57, 101, 102, - 0, 0, 0, 0, 94, 0, 135, 0, 0, 50, - 120, 131, 50, 138, 61, 0, 0, 0, 149, 137, - 98, 0, 99, 0, 0, 99, 0, 101, 101, 0, - 0, 0, 135, 100, 95, 0, 0, 0, 26, 34, - 0, 0, 0, 0, 0, + 9, 0, 12, 0, 0, 19, 51, 0, 34, 0, + 75, 51, 31, -1, 0, 0, 90, 55, 55, 0, + 51, 0, 114, 0, 75, 26, 53, 61, 0, 77, + 0, 0, 114, 0, 26, 53, 64, 76, 0, 0, + 89, 0, 96, 0, 0, 0, 55, 55, 111, 103, + 0, 0, 0, 0, 94, 0, 130, 0, 0, 77, + 122, 128, 77, 139, 78, 0, 0, 0, 154, 143, + 33, 0, 51, 0, 0, 51, 0, 111, 111, 0, + 0, 0, 130, 119, 114, 0, 0, 0, 26, 53, + 0, 0, 0, 89, 0, 0, ); -my @yyrindex = ( 130, - 81, 0, 0, 0, 0, 151, 136, 0, 39, 0, - 81, 114, 0, 0, 0, 0, 0, 130, 121, 0, - 114, 0, 0, 0, 81, 0, 0, 0, 0, 81, +my @yyrindex = ( 149, + 100, 0, 0, 0, 0, 159, 106, 0, 39, 0, + 100, 133, 0, 0, 0, 0, 0, 149, 140, 0, + 133, 0, 0, 0, 100, 0, 0, 0, 0, 100, 0, 0, 0, 0, 16, 29, 42, 69, 0, 0, - 37, 0, 0, 0, 0, 0, 130, 130, 0, 122, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, - 0, 0, 81, 0, 142, 0, 0, 0, 0, 0, - 0, 0, 114, 0, 0, 114, 0, 0, 143, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3, 45, - 0, 0, 0, 0, 0, + 37, 0, 0, 0, 0, 0, 149, 149, 0, 125, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, + 0, 0, 100, 0, 150, 0, 0, 0, 0, 0, + 0, 0, 133, 0, 0, 133, 0, 0, 151, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 88, + 0, 0, 0, 3, 0, 0, ); my @yygindex = ( 0, - 96, 0, 132, 1, -11, 70, 0, 8, -17, -18, - -16, 133, 0, 0, 0, 0, 0, 0, 0, 67, - 0, 129, 0, 0, 75, + 28, 0, 135, 1, -11, 79, 0, 8, -17, -18, + -16, 142, 0, 0, 72, 0, 0, 0, 0, 0, + 50, 0, 123, 0, 80, ); -sub constYYTABLESIZE () { 158 } +sub constYYTABLESIZE () { 166 } my @yytable = ( 29, - 23, 12, 23, 23, 40, 39, 41, 1, 2, 33, - 2, 21, 25, 23, 23, 23, 23, 13, 22, 14, - 23, 12, 11, 3, 23, 21, 23, 23, 24, 24, + 23, 12, 48, 48, 40, 39, 41, 1, 2, 33, + 2, 21, 25, 48, 48, 23, 23, 13, 22, 14, + 48, 12, 11, 3, 23, 21, 23, 23, 24, 24, 12, 24, 22, 23, 13, 47, 48, 24, 36, 24, - 24, 27, 27, 48, 24, 24, 24, 48, 48, 36, - 27, 2, 27, 27, 48, 24, 24, 30, 2, 27, - 73, 84, 24, 76, 85, 92, 91, 93, 26, 26, - 18, 49, 78, 3, 2, 57, 19, 26, 79, 26, - 26, 50, 55, 50, 50, 50, 26, 50, 50, 3, - 26, 27, 28, 50, 58, 34, 50, 35, 36, 28, - 34, 63, 89, 90, 28, 15, 16, 37, 82, 83, - 38, 60, 37, 69, 52, 38, 52, 52, 52, 67, - 37, 58, 58, 50, 50, 50, 52, 50, 50, 52, - 74, 37, 50, 50, 50, 70, 50, 50, 52, 52, - 52, 75, 61, 62, 86, 87, 31, 32, 77, 80, - 2, 81, 30, 31, 95, 42, 46, 88, + 24, 27, 27, 82, 83, 18, 24, 48, 48, 36, + 27, 19, 27, 27, 48, 30, 2, 15, 16, 27, + 73, 84, 48, 76, 85, 92, 91, 93, 26, 26, + 49, 3, 23, 23, 61, 62, 2, 26, 2, 26, + 26, 23, 55, 23, 23, 57, 26, 24, 24, 78, + 23, 3, 26, 27, 28, 79, 24, 58, 24, 24, + 50, 60, 50, 50, 50, 24, 50, 50, 52, 52, + 52, 63, 50, 69, 34, 50, 35, 36, 28, 34, + 67, 89, 90, 28, 58, 58, 37, 86, 87, 38, + 70, 37, 74, 52, 38, 52, 52, 52, 75, 37, + 31, 32, 50, 50, 50, 52, 50, 50, 52, 77, + 37, 50, 50, 50, 80, 50, 50, 81, 2, 46, + 30, 31, 88, 95, 42, 96, ); my @yycheck = ( 17, 12, 1, 0, 1, 23, 23, 23, 1, 2, 21, 2, 11, 14, 11, 12, 0, 1, 6, 11, 1, 18, 6, 14, 17, 9, 25, 11, 12, 0, 1, 30, 1, 25, 18, 6, 10, 0, 9, 0, 11, - 12, 0, 1, 10, 0, 1, 18, 11, 12, 11, - 9, 2, 11, 12, 18, 11, 12, 1, 2, 18, - 60, 73, 18, 63, 76, 84, 84, 84, 0, 1, - 12, 10, 12, 17, 2, 10, 18, 9, 18, 11, - 12, 1, 19, 3, 4, 5, 18, 7, 8, 17, - 3, 4, 5, 13, 9, 1, 16, 3, 4, 5, - 1, 1, 3, 4, 5, 7, 8, 13, 11, 12, - 16, 6, 13, 20, 1, 16, 3, 4, 5, 18, - 0, 0, 1, 3, 4, 5, 13, 7, 8, 16, - 11, 11, 3, 4, 5, 1, 7, 8, 3, 4, - 5, 11, 47, 48, 78, 79, 18, 19, 11, 1, - 0, 15, 11, 11, 85, 23, 25, 83, + 12, 0, 1, 11, 12, 12, 18, 11, 12, 11, + 9, 18, 11, 12, 18, 1, 2, 7, 8, 18, + 60, 73, 10, 63, 76, 84, 84, 84, 0, 1, + 10, 17, 0, 1, 47, 48, 2, 9, 2, 11, + 12, 9, 19, 11, 12, 10, 18, 0, 1, 12, + 18, 17, 3, 4, 5, 18, 9, 9, 11, 12, + 1, 6, 3, 4, 5, 18, 7, 8, 3, 4, + 5, 1, 13, 20, 1, 16, 3, 4, 5, 1, + 18, 3, 4, 5, 0, 1, 13, 78, 79, 16, + 1, 13, 11, 1, 16, 3, 4, 5, 11, 0, + 18, 19, 3, 4, 5, 13, 7, 8, 16, 11, + 11, 3, 4, 5, 1, 7, 8, 15, 0, 25, + 11, 11, 83, 85, 23, 94, ); sub constYYFINAL () { 4 } sub constYYMAXTOKEN () { 20 } -# 268 "y.tab.pl" +# 270 "y.tab.pl" sub yyclearin { $yychar = -1; } sub yyerrok { $yyerrflag = 0; } @@ -239,7 +241,7 @@ else { return (1) if $yychar == 0; -# 319 "y.tab.pl" +# 321 "y.tab.pl" $yychar = -1; next yyloop; @@ -271,7 +273,7 @@ if ($yychar < 0) { if (($yychar = &yylex) < 0) { $yychar = 0; } -# 358 "y.tab.pl" +# 360 "y.tab.pl" } if (($yyn = $yysindex[$yystate]) && ($yyn += $yychar) >= 0 && @@ -354,9 +356,9 @@ # 136 "parser.y" { - $yyvs[$yyvsp-0]->[cTAG] = $yyvs[$yyvsp-2]; - @{$yyval = []}[cTYPE,cCHILD,cLOOP] = ($yyvs[$yyvsp-4], [$yyvs[$yyvsp-0]], 1); - $yyval = explicit($yyval) if $yyvs[$yyvsp-1]; + $yyvs[$yyvsp-1]->[cTAG] = $yyvs[$yyvsp-3]; + @{$yyval = []}[cTYPE,cCHILD,cLOOP,cOPT] = ($yyvs[$yyvsp-5], [$yyvs[$yyvsp-1]], 1, $yyvs[$yyvsp-0]); + $yyval = explicit($yyval) if $yyvs[$yyvsp-2]; last switch; } } @@ -610,7 +612,7 @@ { last switch; } } -# 651 "y.tab.pl" +# 653 "y.tab.pl" } # switch $yyssp -= $yym; @@ -629,7 +631,7 @@ if ($yychar < 0) { if (($yychar = &yylex) < 0) { $yychar = 0; } -# 677 "y.tab.pl" +# 679 "y.tab.pl" } return $yyvs[$yyvsp] if $yychar == 0; @@ -953,15 +955,15 @@ 1; -# 999 "y.tab.pl" +# 1001 "y.tab.pl" -%yystate = ('State34','','State11','','State33','','State24','','State47', -'','State40','','State31','','State37','','State23','','State22','', -'State21','','State57','','State39','','State56','','State20','','State25', -'','State38','','State14','','State19','','State5','','State53','', -'State26','','State27','','State50','','State36','','State45','','State4', -'','State3','','State32','','State49','','State30','','State35','', -'State48','','State52','','State55','','State28','','State58','','State41', -'','State18','','State59','','State1','','State54',''); +%yystate = ('State11','','State30','','State31','','State50','','State32', +'','State14','','State33','','State52','','State34','','State53','', +'State35','','State54','','State36','','State18','','State55','','State37', +'','State19','','State56','','State38','','State57','','State39','', +'State58','','State59','','State1','','State3','','State4','','State5','', +'State20','','State21','','State22','','State40','','State23','','State41', +'','State24','','State25','','State26','','State27','','State45','', +'State28','','State47','','State48','','State49',''); 1; |
From: Graham B. <gb...@us...> - 2003-05-07 15:13:31
|
Update of /cvsroot/perl-ldap/asn/t In directory sc8-pr-cvs1:/tmp/cvs-serv22740/t Modified Files: 04opt.t funcs.pl Log Message: Support OPTIONAL on SET OF and SEQUENCE OF Index: 04opt.t =================================================================== RCS file: /cvsroot/perl-ldap/asn/t/04opt.t,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- 04opt.t 25 Mar 2002 14:59:28 -0000 1.3 +++ 04opt.t 7 May 2003 15:13:28 -0000 1.4 @@ -7,7 +7,7 @@ use Convert::ASN1; BEGIN { require 't/funcs.pl' } -print "1..12\n"; # This testcase needs more tests +print "1..16\n"; # This testcase needs more tests btest 1, $asn = Convert::ASN1->new or warn $asn->error; btest 2, $asn->prepare(q( @@ -16,16 +16,34 @@ )) or warn $asn->error; $result = pack("C*", 0x4, 0x3, ord('a'), ord('b'), ord('c')); -stest 3, $result, $asn->encode(str => "abc") or warn $asn->error; +%input = (str => "abc"); +stest 3, $result, $asn->encode(%input) or warn $asn->error; btest 4, $ret = $asn->decode($result) or warn $asn->error; -stest 5, "abc", $ret->{str}; -btest 6, !exists $ret->{integer}; +rtest 5, \%input, $ret; $result = pack("C*", 0x2, 0x1, 0x9, 0x4, 0x3, ord('a'), ord('b'), ord('c')); -stest 7, $result, $asn->encode(integer => 9, str => "abc") or warn $asn->error; -btest 8, $ret = $asn->decode($result) or warn $asn->error; -stest 9, "abc", $ret->{str}; -btest 10, exists $ret->{integer}; -ntest 11, 9, $ret->{integer}; +%input = (integer => 9, str => "abc"); +stest 6, $result, $asn->encode(%input) or warn $asn->error; +btest 7, $ret = $asn->decode($result) or warn $asn->error; +rtest 8, \%input, $ret; -btest 12, not( $asn->encode(integer => 9)); +btest 9, not( $asn->encode(integer => 9)); + +btest 10, $asn->prepare( q( + SEQUENCE { + bar [0] SET OF INTEGER OPTIONAL, + str OCTET STRING + } +)) or warn $asn->error; + +%input = (str => 'Fred'); +$result = pack "H*", "3006040446726564"; +stest 11, $result, $asn->encode(%input); +btest 12, $ret = $asn->decode($result) or warn $asn->error; +rtest 13, \%input, $ret; + +$result = pack "H*", "3011a009020101020105020103040446726564"; +%input = (str => 'Fred', bar => [1,5,3]); +stest 14, $result, $asn->encode(%input); +btest 15, $ret = $asn->decode($result) or warn $asn->error; +rtest 16, \%input, $ret; Index: funcs.pl =================================================================== RCS file: /cvsroot/perl-ldap/asn/t/funcs.pl,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- funcs.pl 26 Apr 2001 06:52:04 -0000 1.4 +++ funcs.pl 7 May 2003 15:13:28 -0000 1.5 @@ -34,5 +34,19 @@ $_[1] } +use Data::Dumper; + +sub rtest ($$$) { + local $Data::Dumper::Sortkeys = 1; + my $ok = Dumper($_[1]) eq Dumper($_[2]); + + unless ($ok) { + printf "#line %d %s\n",(caller)[2,1]; + print "not "; + } + print "ok $_[0]\n"; + $ok; +} + 1; |
From: Graham B. <gb...@us...> - 2003-05-07 15:13:30
|
Update of /cvsroot/perl-ldap/asn In directory sc8-pr-cvs1:/tmp/cvs-serv22740 Modified Files: parser.y Log Message: Support OPTIONAL on SET OF and SEQUENCE OF Index: parser.y =================================================================== RCS file: /cvsroot/perl-ldap/asn/parser.y,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- parser.y 6 May 2003 21:29:07 -0000 1.10 +++ parser.y 7 May 2003 15:13:27 -0000 1.11 @@ -133,10 +133,10 @@ | SET ; -selem : seqset OF class plicit sselem +selem : seqset OF class plicit sselem optional { $5->[cTAG] = $3; - @{$$ = []}[cTYPE,cCHILD,cLOOP] = ($1, [$5], 1); + @{$$ = []}[cTYPE,cCHILD,cLOOP,cOPT] = ($1, [$5], 1, $6); $$ = explicit($$) if $4; } ; |
From: Graham B. <gb...@us...> - 2003-05-07 14:25:45
|
Update of /cvsroot/perl-ldap/ldap/lib/Net In directory sc8-pr-cvs1:/tmp/cvs-serv674/lib/Net Modified Files: LDAP.pm Log Message: Support "Notice of Disconnection" Index: LDAP.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP.pm,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- LDAP.pm 7 May 2003 13:51:32 -0000 1.46 +++ LDAP.pm 7 May 2003 14:25:42 -0000 1.47 @@ -21,6 +21,7 @@ LDAP_PARAM_ERROR LDAP_INAPPROPRIATE_AUTH LDAP_SERVER_DOWN + LDAP_USER_CANCELED LDAP_EXTENSION_START_TLS ); @@ -670,7 +671,7 @@ for( $ready = 1 ; $ready ; $ready = $sel->can_read(0)) { my $pdu; asn_read($sock, $pdu) - or return _drop_conn($self, LDAP_OPERATIONS_ERROR, "Communications Error"); + or return _drop_conn($ldap, LDAP_OPERATIONS_ERROR, "Communications Error"); my $debug; if ($debug = $ldap->debug) { @@ -687,13 +688,20 @@ my $result = $LDAPResponse->decode($pdu) or return LDAP_DECODING_ERROR; - my $mid = $result->{messageID}; + my $mid = $result->{messageID}; + my $mesg = $ldap->{net_ldap_mesg}->{$mid}; - my $mesg = $ldap->{net_ldap_mesg}->{$mid} or - do { - print STDERR "Unexpected PDU, ignored\n" if $debug & 10; - next; - }; + unless ($mesg) { + if (my $ext = $result->{protocolOp}{extendedResp}) { + if (($ext->{responseName} || '') eq '1.3.6.1.4.1.1466.20036') { + # notice of disconnection + return _drop_conn($ldap, LDAP_SERVER_DOWN, "Notice of Disconnection"); + } + } + + print STDERR "Unexpected PDU, ignored\n" if $debug & 10; + next; + } $mesg->decode($result) or return $mesg->code; @@ -800,7 +808,7 @@ sub _supported_feature { my $attr = shift; - my $root = $shift->root_dse( attrs => [$attr] ) + my $root = shift->root_dse( attrs => [$attr] ) or return undef; my %ext; map { $ext{$_} = 1 } $root->get_value( $attr ); |
From: Chris R. <chr...@us...> - 2003-05-07 13:51:36
|
Update of /cvsroot/perl-ldap/ldap/lib/Net In directory sc8-pr-cvs1:/tmp/cvs-serv17280 Modified Files: LDAP.pm Log Message: Added supported_* methods Index: LDAP.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP.pm,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- LDAP.pm 6 May 2003 16:32:11 -0000 1.45 +++ LDAP.pm 7 May 2003 13:51:32 -0000 1.46 @@ -21,6 +21,7 @@ LDAP_PARAM_ERROR LDAP_INAPPROPRIATE_AUTH LDAP_SERVER_DOWN + LDAP_EXTENSION_START_TLS ); $VERSION = "0.2701"; @@ -781,6 +782,34 @@ : Net::LDAP::Schema->new($mesg->entry); } +sub supported_extension { + return _supported_feature( 'supportedExtension', @_ ); +} + +sub supported_version { + return _supported_feature( 'supportedLDAPVersion', @_ ); +} + +sub supported_control { + return _supported_feature( 'supportedControl', @_ ); +} + +sub supported_sasl_mechanism { + return _supported_feature( 'supportedSASLMechanisms', @_ ); +} + +sub _supported_feature { + my $attr = shift; + my $root = $shift->root_dse( attrs => [$attr] ) + or return undef; + my %ext; + map { $ext{$_} = 1 } $root->get_value( $attr ); + foreach (@_) { + return 0 unless exists $ext{$_}; + } + return 1; +} + sub root_dse { my $ldap = shift; my %arg = @_; @@ -820,7 +849,7 @@ $mesg->encode( extendedReq => { - requestName => "1.3.6.1.4.1.1466.20037", + requestName => LDAP_EXTENSION_START_TLS, } ); |
From: Chris R. <chr...@us...> - 2003-05-07 13:49:59
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv16429 Modified Files: Constant.pod Log Message: Added LDAP Extensions section Index: Constant.pod =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Constant.pod,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Constant.pod 7 May 2003 10:50:31 -0000 1.4 +++ Constant.pod 7 May 2003 13:49:55 -0000 1.5 @@ -322,6 +322,17 @@ =back +B<Net::LDAP::Constant> exports constant subroutines for the following LDAP +extension OIDs. + +=over 4 + +=item LDAP_EXTENSION_START_TLS + +Indicates if the server supports the Start TLS extension (RFC-2830) + +=back + =head1 SEE ALSO L<Net::LDAP>, |
From: Chris R. <chr...@us...> - 2003-05-07 13:49:18
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv16131 Modified Files: Constant.pm Log Message: Added LDAP Extensions section Index: Constant.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Constant.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Constant.pm 19 Aug 2002 12:21:56 -0000 1.4 +++ Constant.pm 7 May 2003 13:49:13 -0000 1.5 @@ -106,4 +106,8 @@ # Client controls we know about sub LDAP_CONTROL_REFERRALS () { "1.2.840.113556.1.4.616" } +# LDAP Extensions + +sub LDAP_EXTENSION_START_TLS () { "1.3.6.1.4.1.1466.20037" } + 1; |
From: Chris R. <chr...@us...> - 2003-05-07 12:01:44
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP In directory sc8-pr-cvs1:/tmp/cvs-serv3929 Modified Files: Filter.pod Log Message: Updated URL Index: Filter.pod =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Filter.pod,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Filter.pod 7 May 2003 11:07:01 -0000 1.4 +++ Filter.pod 7 May 2003 12:01:41 -0000 1.5 @@ -51,7 +51,7 @@ =head1 FILTER SYNTAX Below is the syntax for a filter given in -RFC-2254 http://info.internet.isi.edu/in-notes/rfc/files/rfc2254.txt +RFC-2254 http://www.ietf.org/rfc/rfc2254.txt filter = "(" filtercomp ")" filtercomp = and / or / not / item |
From: Chris R. <chr...@us...> - 2003-05-07 11:59:17
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Control In directory sc8-pr-cvs1:/tmp/cvs-serv3059 Modified Files: VLVResponse.pm Log Message: Changed literal < and >s, removed URL, updated mailing list Index: VLVResponse.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Control/VLVResponse.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- VLVResponse.pm 7 Apr 2003 15:05:14 -0000 1.5 +++ VLVResponse.pm 7 May 2003 11:59:14 -0000 1.6 @@ -8,7 +8,7 @@ use Net::LDAP::Control; @ISA = qw(Net::LDAP::Control); -$VERSION = "0.02"; +$VERSION = "0.03"; use Net::LDAP::ASN qw(VirtualListViewResponse); use strict; @@ -174,15 +174,14 @@ =head1 SEE ALSO L<Net::LDAP>, -L<Net::LDAP::Control>, -http://info.internet.isi.edu/in-notes/rfc/files/rfc2696.txt +L<Net::LDAP::Control> =head1 AUTHOR -Graham Barr <gb...@po...> +Graham Barr E<lt>gb...@po...E<gt> Please report any bugs, or post any suggestions, to the perl-ldap mailing list -<per...@li...> +E<lt>per...@pe...E<gt> =head1 COPYRIGHT |
From: Chris R. <chr...@us...> - 2003-05-07 11:58:00
|
Update of /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Control In directory sc8-pr-cvs1:/tmp/cvs-serv2559 Modified Files: VLV.pm Log Message: Changed literal < and >s, updated mailing list Index: VLV.pm =================================================================== RCS file: /cvsroot/perl-ldap/ldap/lib/Net/LDAP/Control/VLV.pm,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- VLV.pm 24 Aug 2001 19:31:14 -0000 1.5 +++ VLV.pm 7 May 2003 11:57:57 -0000 1.6 @@ -9,7 +9,7 @@ use Net::LDAP::Control; @ISA = qw(Net::LDAP::Control); -$VERSION = "0.02"; +$VERSION = "0.03"; use Net::LDAP::ASN qw(VirtualListViewRequest); use strict; @@ -386,10 +386,10 @@ =head1 AUTHOR -Graham Barr <gb...@po...> +Graham Barr E<lt>gb...@po...E<gt> Please report any bugs, or post any suggestions, to the perl-ldap mailing list -<per...@li...> +E<lt>per...@pe...E<gt> =head1 COPYRIGHT |