[Date Prev][Date Next] [Chronological] [Thread] [Top]

dynamic group caching for member -> dynlist search - new implementor



Hello!

Regarding the discussion about implementing dynamic group caching so
that we can search on member for dynamic groups (not only static, like
currently), let me introduce Michal Szulczynski
(michal.szulczynski@altkom.pl).

He's working on an implementation and I'm his mentor.

He works on CVS HEAD, and will most probably have several questions
about OpenLDAP codebase, since the only available development
documentation are sparse comments in the source...

BTW, the current HEAD version was segfaulting at startup for us, but the
simple fix for dynlist.c (see attached patch) has remedied it.

--
Best Regards,
Aleksander Adamowski
GG#: 274614
ICQ UIN: 19780575
http://olo.org.pl
--
Aleksander Adamowski
Administrator systemów korporacyjnych; Instruktor
Altkom Akademia S.A. http://www.altkom.pl
Warszawa, ul. Chłodna 51
kom. 0-601-318-080


Sąd Rejonowy dla m.st. Warszawy w Warszawie, XII Wydział Gospodarczy Krajowego Rejestru Sądowego,
KRS: 0000120139, NIP 118-00-08-391, Kapitał zakładowy: 1000 000 PLN. Adres rejestrowy Firmy - ul. Stawki 2, 00-193 Warszawa.
Niniejsza wiadomość zawiera informacje zastrzeżone i stanowiące tajemnicę przedsiębiorstwa firmy Altkom Akademia S.A.
Ujawnianie tych informacji osobom trzecim lub nieuprawnione wykorzystanie ich do własnych celów jest zabronione.
Jeżeli otrzymaliście Państwo niniejszą wiadomość omyłkowo, prosimy o niezwłoczne skontaktowanie się z nadawcą oraz usunięcie wszelkich kopii niniejszej wiadomości.
This message contains proprietary information and trade secrets of Altkom Akademia S.A. company.
Unauthorized use or disclosure of this information to any third party is prohibited.
If you received this message by mistake, please contact the sender immediately and delete all copies of this message.
Index: dynlist.c
===================================================================
RCS file: /repo/OpenLDAP/pkg/ldap/servers/slapd/overlays/dynlist.c,v
retrieving revision 1.38
diff -u -r1.38 dynlist.c
--- dynlist.c	24 Aug 2007 21:56:55 -0000	1.38
+++ dynlist.c	31 Aug 2007 10:38:27 -0000
@@ -58,7 +58,7 @@
 static AttributeName *slap_anlist_no_attrs = anlist_no_attrs;
 #endif
 
-static AttributeDescription *ad_dgIdentity;
+static AttributeDescription *ad_dgIdentity = NULL;
 
 typedef struct dynlist_info_t {
 	ObjectClass		*dli_oc;
@@ -1336,12 +1336,14 @@
 		}
 	}
 
-	rc = slap_str2ad( "dgIdentity", &ad_dgIdentity, &text );
-	if ( rc != LDAP_SUCCESS ) {
-		sprintf( cr->msg, "unable to fetch attributeDescription \"dgIdentity\": %d (%s)",
-			rc, text );
-		Debug( LDAP_DEBUG_ANY, "dynlist_db_open: %s\n", cr->msg, 0, 0 );
-		/* Just a warning */
+	if( ad_dgIdentity != NULL) {
+		rc = slap_str2ad( "dgIdentity", &ad_dgIdentity, &text );
+		if ( rc != LDAP_SUCCESS ) {
+			sprintf( cr->msg, "unable to fetch attributeDescription \"dgIdentity\": %d (%s)",
+				rc, text );
+			Debug( LDAP_DEBUG_ANY, "dynlist_db_open: %s\n", cr->msg, 0, 0 );
+			/* Just a warning */
+		}
 	}
 
 	return 0;