svn commit: samba r23834 - in branches: SAMBA_3_2/source/include SAMBA_3_2/source/libads SAMBA_3_2/source/utils SAMBA_3_2_0/source/include SAMBA_3_2_0/source/libads SAMBA_3_2_0/source/utils

gd at samba.org gd at samba.org
Wed Jul 11 13:21:34 GMT 2007


Author: gd
Date: 2007-07-11 13:21:32 +0000 (Wed, 11 Jul 2007)
New Revision: 23834

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23834

Log:
Allow to pass an ADS_STRUCT pointer down to the dump function callback in
libads.

Guenther

Modified:
   branches/SAMBA_3_2/source/include/ads_protos.h
   branches/SAMBA_3_2/source/libads/ldap.c
   branches/SAMBA_3_2/source/utils/net_ads.c
   branches/SAMBA_3_2_0/source/include/ads_protos.h
   branches/SAMBA_3_2_0/source/libads/ldap.c
   branches/SAMBA_3_2_0/source/utils/net_ads.c


Changeset:
Modified: branches/SAMBA_3_2/source/include/ads_protos.h
===================================================================
--- branches/SAMBA_3_2/source/include/ads_protos.h	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2/source/include/ads_protos.h	2007-07-11 13:21:32 UTC (rev 23834)
@@ -93,7 +93,7 @@
 LDAPMessage *ads_first_entry(ADS_STRUCT *ads, LDAPMessage *res);
 LDAPMessage *ads_next_entry(ADS_STRUCT *ads, LDAPMessage *res);
 void ads_process_results(ADS_STRUCT *ads, LDAPMessage *res,
-			 BOOL(*fn)(char *, void **, void *),
+			 BOOL(*fn)(ADS_STRUCT *,char *, void **, void *),
 			 void *data_area);
 void ads_dump(ADS_STRUCT *ads, LDAPMessage *res);
 

Modified: branches/SAMBA_3_2/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_2/source/libads/ldap.c	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2/source/libads/ldap.c	2007-07-11 13:21:32 UTC (rev 23834)
@@ -839,7 +839,7 @@
  **/
 ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
 				int scope, const char *expr, const char **attrs,
-				BOOL(*fn)(char *, void **, void *), 
+				BOOL(*fn)(ADS_STRUCT *, char *, void **, void *), 
 				void *data_area)
 {
 	struct berval *cookie = NULL;
@@ -1777,7 +1777,7 @@
 /*
   dump a binary result from ldap
 */
-static void dump_binary(const char *field, struct berval **values)
+static void dump_binary(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i, j;
 	for (i=0; values[i]; i++) {
@@ -1789,7 +1789,7 @@
 	}
 }
 
-static void dump_guid(const char *field, struct berval **values)
+static void dump_guid(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i;
 	UUID_FLAT guid;
@@ -1803,7 +1803,7 @@
 /*
   dump a sid result from ldap
 */
-static void dump_sid(const char *field, struct berval **values)
+static void dump_sid(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i;
 	for (i=0; values[i]; i++) {
@@ -1816,7 +1816,7 @@
 /*
   dump ntSecurityDescriptor
 */
-static void dump_sd(const char *filed, struct berval **values)
+static void dump_sd(ADS_STRUCT *ads, const char *filed, struct berval **values)
 {
 	prs_struct ps;
 	
@@ -1859,12 +1859,12 @@
   used for debugging
 */
 
-static BOOL ads_dump_field(char *field, void **values, void *data_area)
+static BOOL ads_dump_field(ADS_STRUCT *ads, char *field, void **values, void *data_area)
 {
 	const struct {
 		const char *name;
 		BOOL string;
-		void (*handler)(const char *, struct berval **);
+		void (*handler)(ADS_STRUCT *, const char *, struct berval **);
 	} handlers[] = {
 		{"objectGUID", False, dump_guid},
 		{"netbootGUID", False, dump_guid},
@@ -1888,7 +1888,7 @@
 		if (StrCaseCmp(handlers[i].name, field) == 0) {
 			if (!values) /* first time, indicate string or not */
 				return handlers[i].string;
-			handlers[i].handler(field, (struct berval **) values);
+			handlers[i].handler(ads, field, (struct berval **) values);
 			break;
 		}
 	}
@@ -1924,7 +1924,7 @@
  * @param data_area user-defined area to pass to function
  **/
  void ads_process_results(ADS_STRUCT *ads, LDAPMessage *res,
-			  BOOL(*fn)(char *, void **, void *),
+			  BOOL(*fn)(ADS_STRUCT *, char *, void **, void *),
 			  void *data_area)
 {
 	LDAPMessage *msg;
@@ -1949,19 +1949,19 @@
 			BOOL string; 
 
 			pull_utf8_talloc(ctx, &field, utf8_field);
-			string = fn(field, NULL, data_area);
+			string = fn(ads, field, NULL, data_area);
 
 			if (string) {
 				utf8_vals = ldap_get_values(ads->ld,
 					       	 (LDAPMessage *)msg, field);
 				str_vals = ads_pull_strvals(ctx, 
 						  (const char **) utf8_vals);
-				fn(field, (void **) str_vals, data_area);
+				fn(ads, field, (void **) str_vals, data_area);
 				ldap_value_free(utf8_vals);
 			} else {
 				ber_vals = ldap_get_values_len(ads->ld, 
 						 (LDAPMessage *)msg, field);
-				fn(field, (void **) ber_vals, data_area);
+				fn(ads, field, (void **) ber_vals, data_area);
 
 				ldap_value_free_len(ber_vals);
 			}
@@ -1969,7 +1969,7 @@
 		}
 		ber_free(b, 0);
 		talloc_free_children(ctx);
-		fn(NULL, NULL, data_area); /* completed an entry */
+		fn(ads, NULL, NULL, data_area); /* completed an entry */
 
 	}
 	talloc_destroy(ctx);

Modified: branches/SAMBA_3_2/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_2/source/utils/net_ads.c	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2/source/utils/net_ads.c	2007-07-11 13:21:32 UTC (rev 23834)
@@ -397,7 +397,7 @@
 
 
 
-static BOOL usergrp_display(char *field, void **values, void *data_area)
+static BOOL usergrp_display(ADS_STRUCT *ads, char *field, void **values, void *data_area)
 {
 	char **disp_fields = (char **) data_area;
 

Modified: branches/SAMBA_3_2_0/source/include/ads_protos.h
===================================================================
--- branches/SAMBA_3_2_0/source/include/ads_protos.h	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2_0/source/include/ads_protos.h	2007-07-11 13:21:32 UTC (rev 23834)
@@ -90,7 +90,7 @@
 LDAPMessage *ads_first_entry(ADS_STRUCT *ads, LDAPMessage *res);
 LDAPMessage *ads_next_entry(ADS_STRUCT *ads, LDAPMessage *res);
 void ads_process_results(ADS_STRUCT *ads, LDAPMessage *res,
-			 BOOL(*fn)(char *, void **, void *),
+			 BOOL(*fn)(ADS_STRUCT *,char *, void **, void *),
 			 void *data_area);
 void ads_dump(ADS_STRUCT *ads, LDAPMessage *res);
 

Modified: branches/SAMBA_3_2_0/source/libads/ldap.c
===================================================================
--- branches/SAMBA_3_2_0/source/libads/ldap.c	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2_0/source/libads/ldap.c	2007-07-11 13:21:32 UTC (rev 23834)
@@ -839,7 +839,7 @@
  **/
 ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path,
 				int scope, const char *expr, const char **attrs,
-				BOOL(*fn)(char *, void **, void *), 
+				BOOL(*fn)(ADS_STRUCT *, char *, void **, void *), 
 				void *data_area)
 {
 	struct berval *cookie = NULL;
@@ -1777,7 +1777,7 @@
 /*
   dump a binary result from ldap
 */
-static void dump_binary(const char *field, struct berval **values)
+static void dump_binary(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i, j;
 	for (i=0; values[i]; i++) {
@@ -1789,7 +1789,7 @@
 	}
 }
 
-static void dump_guid(const char *field, struct berval **values)
+static void dump_guid(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i;
 	UUID_FLAT guid;
@@ -1803,7 +1803,7 @@
 /*
   dump a sid result from ldap
 */
-static void dump_sid(const char *field, struct berval **values)
+static void dump_sid(ADS_STRUCT *ads, const char *field, struct berval **values)
 {
 	int i;
 	for (i=0; values[i]; i++) {
@@ -1816,7 +1816,7 @@
 /*
   dump ntSecurityDescriptor
 */
-static void dump_sd(const char *filed, struct berval **values)
+static void dump_sd(ADS_STRUCT *ads, const char *filed, struct berval **values)
 {
 	prs_struct ps;
 	
@@ -1859,12 +1859,12 @@
   used for debugging
 */
 
-static BOOL ads_dump_field(char *field, void **values, void *data_area)
+static BOOL ads_dump_field(ADS_STRUCT *ads, char *field, void **values, void *data_area)
 {
 	const struct {
 		const char *name;
 		BOOL string;
-		void (*handler)(const char *, struct berval **);
+		void (*handler)(ADS_STRUCT *, const char *, struct berval **);
 	} handlers[] = {
 		{"objectGUID", False, dump_guid},
 		{"netbootGUID", False, dump_guid},
@@ -1888,7 +1888,7 @@
 		if (StrCaseCmp(handlers[i].name, field) == 0) {
 			if (!values) /* first time, indicate string or not */
 				return handlers[i].string;
-			handlers[i].handler(field, (struct berval **) values);
+			handlers[i].handler(ads, field, (struct berval **) values);
 			break;
 		}
 	}
@@ -1924,7 +1924,7 @@
  * @param data_area user-defined area to pass to function
  **/
  void ads_process_results(ADS_STRUCT *ads, LDAPMessage *res,
-			  BOOL(*fn)(char *, void **, void *),
+			  BOOL(*fn)(ADS_STRUCT *, char *, void **, void *),
 			  void *data_area)
 {
 	LDAPMessage *msg;
@@ -1949,19 +1949,19 @@
 			BOOL string; 
 
 			pull_utf8_talloc(ctx, &field, utf8_field);
-			string = fn(field, NULL, data_area);
+			string = fn(ads, field, NULL, data_area);
 
 			if (string) {
 				utf8_vals = ldap_get_values(ads->ld,
 					       	 (LDAPMessage *)msg, field);
 				str_vals = ads_pull_strvals(ctx, 
 						  (const char **) utf8_vals);
-				fn(field, (void **) str_vals, data_area);
+				fn(ads, field, (void **) str_vals, data_area);
 				ldap_value_free(utf8_vals);
 			} else {
 				ber_vals = ldap_get_values_len(ads->ld, 
 						 (LDAPMessage *)msg, field);
-				fn(field, (void **) ber_vals, data_area);
+				fn(ads, field, (void **) ber_vals, data_area);
 
 				ldap_value_free_len(ber_vals);
 			}
@@ -1969,7 +1969,7 @@
 		}
 		ber_free(b, 0);
 		talloc_free_children(ctx);
-		fn(NULL, NULL, data_area); /* completed an entry */
+		fn(ads, NULL, NULL, data_area); /* completed an entry */
 
 	}
 	talloc_destroy(ctx);

Modified: branches/SAMBA_3_2_0/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_2_0/source/utils/net_ads.c	2007-07-11 13:17:42 UTC (rev 23833)
+++ branches/SAMBA_3_2_0/source/utils/net_ads.c	2007-07-11 13:21:32 UTC (rev 23834)
@@ -397,7 +397,7 @@
 
 
 
-static BOOL usergrp_display(char *field, void **values, void *data_area)
+static BOOL usergrp_display(ADS_STRUCT *ads, char *field, void **values, void *data_area)
 {
 	char **disp_fields = (char **) data_area;
 



More information about the samba-cvs mailing list