From gene at signalcore.com Mon May 22 21:16:00 2000 From: gene at signalcore.com (Gene Yu) Date: Mon, 22 May 2000 15:16:00 -0400 (EDT) Subject: (no subject) Message-ID: I'm new to the list but I have some thoughts to add to the discussion in the archives from February. I'm using the LDAP module to build Web interfaces for directories that are very large and efficient pagination is a serious concern. Thanks to Michael Stroeder for pointing out that I can to use asynchronous searching to pull one record at a time, canceling the search when I reach the last record on the page. I've used a similar method with relational databases in Perl. But I don't like pulling so much data that I'm just going to throw away. Also, without some way of pulling the records in sorted order, I need the whole set anyway if I want to present them in a logical way. The Netscape SDK has a Server-Side Sorting control and a Virtual List View control that I'd love to be able to use in python. They published a couple of Internet Drafts: http://www.ietf.org/internet-drafts/draft-ietf-ldapext-ldapv3-vlv-04.txt http://www.ietf.org/internet-drafts/draft-ietf-ldapext-sorting-02.txt Another related topic I discussed with Michael is callbacks. I think I see now how I can get some of the effects of callbacks using asynchronous calls, but it would be a useful feature in the API as well. HTML formatting of results, for instance, can sometimes be much simplified. Thanks also to everyone who contributed to the LDAP module. It's a crucial protocol for any language to support. Gene -- Gene Yu From david.leonard at csee.uq.edu.au Wed May 31 23:53:26 2000 From: david.leonard at csee.uq.edu.au (David Leonard) Date: Thu, 1 Jun 2000 07:53:26 +1000 (EST) Subject: Patch for NDS client libraries (fwd) Message-ID: ---------- Forwarded message ---------- Date: Tue, 30 May 2000 16:23:18 -0400 (EDT) From: Cristian Gafton To: leonard at users.sourceforge.net Subject: Patch for NDS client libraries Hello, This patch is necessary for getting the python-ldap module compiled and linked against Novell's C SDK libraries. Thanks, Cristian -- ---------------------------------------------------------------------- Cristian Gafton -- gafton at redhat.com -- Red Hat, Inc. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ "How could this be a problem in a country where we have Intel and Microsoft?" --Al Gore on Y2K -------------- next part -------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/python-ldap/python-ldap/ChangeLog,v retrieving revision 1.1 diff -u -r1.1 ChangeLog --- ChangeLog 2000/02/11 10:02:45 1.1 +++ ChangeLog 2000/05/30 20:20:58 @@ -1,3 +1,8 @@ +2000-05-30 Cristian Gafton + + * ldapmodule/constants.c (LDAPinit_constants): Add proper ifdefs for + Novell NDS C SDK library + 2000-02-11 Federico Di Gregorio * ChangeLog: created global changelog (this file.) Index: ldapmodule/constants.c =================================================================== RCS file: /cvsroot/python-ldap/python-ldap/ldapmodule/constants.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 constants.c --- ldapmodule/constants.c 2000/02/01 05:41:27 1.1.1.1 +++ ldapmodule/constants.c 2000/05/30 20:20:59 @@ -65,7 +65,9 @@ add_int(d,VERSION1); add_int(d,VERSION2); add_int(d,VERSION); +#ifdef LDAP_MAX_ATTR_LEN add_int(d,MAX_ATTR_LEN); +#endif add_int(d,TAG_MESSAGE); add_int(d,TAG_MSGID); @@ -78,10 +80,15 @@ add_int(d,REQ_MODRDN); add_int(d,REQ_COMPARE); add_int(d,REQ_ABANDON); +#ifdef LDAP_REQ_UNBIND_30 add_int(d,REQ_UNBIND_30); +#endif +#ifdef LDAP_REQ_DELETE_30 add_int(d,REQ_DELETE_30); +#endif +#ifdef LDAP_REQ_ABANDON_30 add_int(d,REQ_ABANDON_30); - +#endif /* reversibles */ zero = PyInt_FromLong( 0 ); @@ -106,9 +113,16 @@ add_int(d,AUTH_KRBV4); add_int(d,AUTH_KRBV41); add_int(d,AUTH_KRBV42); + +#ifdef LDAP_AUTH_SIMPLE_30 add_int(d,AUTH_SIMPLE_30); +#endif +#ifdef LDAP_AUTH_KRBV41_30 add_int(d,AUTH_KRBV41_30); +#endif +#ifdef LDAP_AUTH_KRBV42_30 add_int(d,AUTH_KRBV42_30); +#endif add_int(d,FILTER_AND); add_int(d,FILTER_OR); add_int(d,FILTER_NOT); @@ -118,13 +132,21 @@ add_int(d,FILTER_LE); add_int(d,FILTER_PRESENT); add_int(d,FILTER_APPROX); +#ifdef LDAP_FILTER_PRESENT_30 add_int(d,FILTER_PRESENT_30); +#endif add_int(d,SUBSTRING_INITIAL); add_int(d,SUBSTRING_ANY); add_int(d,SUBSTRING_FINAL); +#ifdef LDAP_SUBSTRING_INITIAL_30 add_int(d,SUBSTRING_INITIAL_30); +#endif +#ifdef LDAP_SUBSTRING_ANY_30 add_int(d,SUBSTRING_ANY_30); +#endif +#ifdef LDAP_SUBSTRING_FINAL_30 add_int(d,SUBSTRING_FINAL_30); +#endif add_int(d,SCOPE_BASE); add_int(d,SCOPE_ONELEVEL); add_int(d,SCOPE_SUBTREE); @@ -135,7 +157,9 @@ /* (errors.c contains the error constants) */ +#ifdef LDAP_DEFAULT_REFHOPLIMIT add_int(d,DEFAULT_REFHOPLIMIT); +#endif #ifdef LDAP_CACHE_BUCKETS add_int(d,CACHE_BUCKETS); #endif @@ -162,7 +186,9 @@ /* XXX - these belong in errors.c */ add_int(d,URL_ERR_NOTLDAP); +#ifdef LDAP_URL_ERR_NODN add_int(d,URL_ERR_NODN); +#endif add_int(d,URL_ERR_BADSCOPE); add_int(d,URL_ERR_MEM);