* Ian Macdonald <ian / caliban.org> [0302 23:02]: > On Tue 15 Mar 2005 at 19:05:00 +0900, Dick Davies wrote: > > Lovely, ta. Out of interest, is there a reason you need to unbind before binding? > > > > perl-ldap explicitly unbinds for you if you bind an existing connection > > (though by the sound of it that's because you actually make a new connection anyway) - > > are there reasons you wouldn't want to to that? > It all depends on how much transparency you want. > > Right now, you'll get an LDAP::Error exception and the message "already > bound." if you try to bind an already bound connection. This operates on > the historic assumption that you're accidentally trying to bind twice. I think that's what feels wrong about a bind just clobbering the existing connection, and why I hesitated to suggest it. There's a possibility that this would mask coding errors if you accidentally try to use a connection you think is free. > In your case, you just want to rebind, but with different credentials. > In that case, you want it to implicitly unbind and reconnect before > performing your bind. I think I'm probably being lazy. It's just the code ends up a little cleaner that way. Whether it's worth adding the complexity to the library just for that is up to you... > I'm not sure whether it's better for the default reaction to be to treat > this as an error or to give you exactly what you appear to be asking > for. > Another possibility is to add a Conn#rebind method, whereby you get to > explicitly request that a connection be unbound, reconnected and bound. I think a rebind method would be better than bind 'magically' throwing away the old connection. It's self-documenting in many ways, and ticks my box of keeping it to a single method. Thanks a lot for being so patient - my reaction in your shoes would probably be closer to "why don't you marry perl-ldap, you love it so much?" :) -- 'What have you done to the cat? It looks half-dead.' -- Schroedinger's wife Rasputin :: Jack of All Trades - Master of Nuns