From: eric G. <eri...@wa...> - 2001-06-16 05:07:19
|
Hi , I want to make request with async mode : my code is now like this: #!/usr/bin/perl -w use Net::LDAP; my $ldap = Net::LDAP->new('10.75.6.34', version =>3, async =>1,); my $code = $ldap->bind(dn => 'uid=michel.xxxxx-cp,ou=personnes,ou=dgcp,ou=mefi,o=gouv,c=fr' , password =>'0' , ); $selector =IO::Select->new($ldap->socket); while ($selector ->can_read($timeout)) { $ldap->_recvresp(); last if ($code->done()); } print "stop" ; the goal of the job is to fetch the supply info send by Directory Server at the time of binding . A code whi tell : your password will expire in n days etc.. first , is my loop seem correct for async operation ? where can find some doc or exemple about async op with net::ldap thank a lot eric german france |
From: Graham B. <gb...@po...> - 2001-06-16 06:02:08
|
Yes your loop does seem right, but there are no docs for async mode because it is not really complete. But async mode will not get you any more information from the server, I don't know why you think it will. The code below is *exactly* what Net::LDAP will do in normal mode. Graham. On Sat, Jun 16, 2001 at 07:05:44AM +0200, eric German wrote: > Hi , I want to make request with async mode : my code is now like this: > > #!/usr/bin/perl -w > use Net::LDAP; > my $ldap = Net::LDAP->new('10.75.6.34', > version =>3, > async =>1,); > my $code = $ldap->bind(dn => > 'uid=michel.xxxxx-cp,ou=personnes,ou=dgcp,ou=mefi,o=gouv,c=fr' , > password =>'0' , > ); > $selector =IO::Select->new($ldap->socket); > while ($selector ->can_read($timeout)) { > $ldap->_recvresp(); > last if ($code->done()); > } > print "stop" ; > > the goal of the job is to fetch the supply info send by Directory Server at > the time of binding . A code whi tell : your password will expire in n days > etc.. > > first , is my loop seem correct for async operation ? > where can find some doc or exemple about async op with net::ldap > thank a lot > eric german > france > > > > |
From: eric G. <eri...@wa...> - 2001-06-16 20:48:37
|
thank a lot for answer ; in fact i want access to this : 5. Password Expiration and Expiration Warning New attributes, passwordExp, passwordMaxAge, and passwordWarning are defined to specify whether the password will expire, when the password expires and when a warning message will be sent to the client respec- tively. The actual expiration time for a password will be stored in a new attribute, passwordExpirationTime attribute in the user entry. After bind operation succeed with authentication, the server should check for password expiration. If the password expiration policy is on and the account's password is expired, the server should send bin- dResponse with the resultCode: LDAP_INVALID_CREDENTIALS along with an error message to inform the client that the password has expired. If the password is going to expire sooner than the password warning dura- tion, the server should send bindResponse with the resultCode: LDAP_SUCCESS, and should include the password expiring control in the controls field of the bindResponse message: controlType: 2.16.840.1.113730.3.4.5, controlValue: an octet string to indicate the time in seconds until the password expires. criticality: false I want fetch the controlvalue . i m writing a perl module with definition, management of extra-attribute for password . but i loose my "latin" in the concept of control thank eric german ----- Original Message ----- From: Graham Barr <gb...@po...> To: eric German <eri...@wa...> Cc: <per...@li...> Sent: Saturday, June 16, 2001 8:00 AM Subject: Re: tests of async operations > Yes your loop does seem right, but there are no docs for async mode > because it is not really complete. > > But async mode will not get you any more information from the > server, I don't know why you think it will. > > The code below is *exactly* what Net::LDAP will do in normal mode. > > Graham. > > On Sat, Jun 16, 2001 at 07:05:44AM +0200, eric German wrote: > > Hi , I want to make request with async mode : my code is now like this: > > > > #!/usr/bin/perl -w > > use Net::LDAP; > > my $ldap = Net::LDAP->new('10.75.6.34', > > version =>3, > > async =>1,); > > my $code = $ldap->bind(dn => > > 'uid=michel.xxxxx-cp,ou=personnes,ou=dgcp,ou=mefi,o=gouv,c=fr' , > > password =>'0' , > > ); > > $selector =IO::Select->new($ldap->socket); > > while ($selector ->can_read($timeout)) { > > $ldap->_recvresp(); > > last if ($code->done()); > > } > > print "stop" ; > > > > the goal of the job is to fetch the supply info send by Directory Server at > > the time of binding . A code whi tell : your password will expire in n days > > etc.. > > > > first , is my loop seem correct for async operation ? > > where can find some doc or exemple about async op with net::ldap > > thank a lot > > eric german > > france > > > > > > > > |
From: Graham B. <gb...@po...> - 2001-06-17 06:52:52
|
$mesg = $ldap->bind( ... ); @controls = $mesg->controls; will get you a list of control that were in the return message. If you just want a specific control then you can do my($ctrl) = $mesg->control( "2.16.840.1.113730.3.4.5" ); See the Net::LDAP::Message and the Net::LDAP::Control documentation Graham On Sat, Jun 16, 2001 at 10:47:09PM +0200, eric German wrote: > thank a lot for answer ; > in fact i want access to this : > > 5. Password Expiration and Expiration Warning > > New attributes, passwordExp, passwordMaxAge, and passwordWarning are > defined to specify whether the password will expire, when the password > expires and when a warning message will be sent to the client respec- > tively. The actual expiration time for a password will be stored in a > new attribute, passwordExpirationTime attribute in the user entry. > > After bind operation succeed with authentication, the server should > check for password expiration. If the password expiration policy is on > and the account's password is expired, the server should send bin- > dResponse with the resultCode: LDAP_INVALID_CREDENTIALS along with an > error message to inform the client that the password has expired. If > the password is going to expire sooner than the password warning dura- > tion, the server should send bindResponse with the resultCode: > LDAP_SUCCESS, and should include the password expiring control in the > controls field of the bindResponse message: > > controlType: 2.16.840.1.113730.3.4.5, > > controlValue: an octet string to indicate the time in seconds until > the password expires. > > criticality: false > > I want fetch the controlvalue . > i m writing a perl module with definition, management of extra-attribute > for password . > but i loose my "latin" in the concept of control > > thank > eric german > > > > ----- Original Message ----- > From: Graham Barr <gb...@po...> > To: eric German <eri...@wa...> > Cc: <per...@li...> > Sent: Saturday, June 16, 2001 8:00 AM > Subject: Re: tests of async operations > > > > Yes your loop does seem right, but there are no docs for async mode > > because it is not really complete. > > > > But async mode will not get you any more information from the > > server, I don't know why you think it will. > > > > The code below is *exactly* what Net::LDAP will do in normal mode. > > > > Graham. > > > > On Sat, Jun 16, 2001 at 07:05:44AM +0200, eric German wrote: > > > Hi , I want to make request with async mode : my code is now like this: > > > > > > #!/usr/bin/perl -w > > > use Net::LDAP; > > > my $ldap = Net::LDAP->new('10.75.6.34', > > > version =>3, > > > async =>1,); > > > my $code = $ldap->bind(dn => > > > 'uid=michel.xxxxx-cp,ou=personnes,ou=dgcp,ou=mefi,o=gouv,c=fr' , > > > password =>'0' , > > > ); > > > $selector =IO::Select->new($ldap->socket); > > > while ($selector ->can_read($timeout)) { > > > $ldap->_recvresp(); > > > last if ($code->done()); > > > } > > > print "stop" ; > > > > > > the goal of the job is to fetch the supply info send by Directory > Server at > > > the time of binding . A code whi tell : your password will expire in n > days > > > etc.. > > > > > > first , is my loop seem correct for async operation ? > > > where can find some doc or exemple about async op with net::ldap > > > thank a lot > > > eric german > > > france > > > > > > > > > > > > > > |