svn commit: samba r17195 - in branches/SAMBA_4_0/source/lib/ldb/include: .

idra at samba.org idra at samba.org
Sat Jul 22 21:16:01 GMT 2006


Author: idra
Date: 2006-07-22 21:16:01 +0000 (Sat, 22 Jul 2006)
New Revision: 17195

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

Log:

Start thinking how to implement extended operations.
Ad supports three extended operations:
- start tls
- dynamic objects
- fast binds

none of these are a priority.


Modified:
   branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
   branches/SAMBA_4_0/source/lib/ldb/include/ldb_private.h


Changeset:
Modified: branches/SAMBA_4_0/source/lib/ldb/include/ldb.h
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/include/ldb.h	2006-07-22 20:46:02 UTC (rev 17194)
+++ branches/SAMBA_4_0/source/lib/ldb/include/ldb.h	2006-07-22 21:16:01 UTC (rev 17195)
@@ -494,6 +494,14 @@
 */
 #define LDB_CONTROL_VLV_RESP_OID	"2.16.840.1.113730.3.4.10"
 
+/**
+   OID for LDAP Extended Operation START_TLS.
+
+   This Extended operation is used to start a new TLS
+   channel on top of a clear text channel.
+*/
+#define LDB_EXTENDED_STATRT_TLS_OID	"1.3.6.1.4.1.1466.20037"
+
 struct ldb_paged_control {
 	int size;
 	int cookie_len;
@@ -567,6 +575,7 @@
 	LDB_MODIFY,
 	LDB_DELETE,
 	LDB_RENAME,
+	LDB_EXTENDED,
 	LDB_REQ_REGISTER_CONTROL,
 	LDB_REQ_REGISTER_PARTITION,
 	LDB_SEQUENCE_NUMBER
@@ -575,6 +584,7 @@
 enum ldb_reply_type {
 	LDB_REPLY_ENTRY,
 	LDB_REPLY_REFERRAL,
+	LDB_REPLY_EXTENDED,
 	LDB_REPLY_DONE
 };
 
@@ -596,9 +606,16 @@
 	struct ldb_control **controls;
 };
 
+struct ldb_extended {
+	const char *oid;
+	const char *value;
+	int value_len;
+};
+
 struct ldb_reply {
 	enum ldb_reply_type type;
 	struct ldb_message *message;
+	struct ldb_extended *response;
 	char *referral;
 	struct ldb_control **controls;
 };

Modified: branches/SAMBA_4_0/source/lib/ldb/include/ldb_private.h
===================================================================
--- branches/SAMBA_4_0/source/lib/ldb/include/ldb_private.h	2006-07-22 20:46:02 UTC (rev 17194)
+++ branches/SAMBA_4_0/source/lib/ldb/include/ldb_private.h	2006-07-22 21:16:01 UTC (rev 17195)
@@ -63,6 +63,7 @@
 	int (*del)(struct ldb_module *, struct ldb_request *); /* delete */
 	int (*rename)(struct ldb_module *, struct ldb_request *); /* rename */
 	int (*request)(struct ldb_module *, struct ldb_request *); /* match any other operation */
+	int (*extended)(struct ldb_module *, struct ldb_request *); /* extended operations */
 	int (*start_transaction)(struct ldb_module *);
 	int (*end_transaction)(struct ldb_module *);
 	int (*del_transaction)(struct ldb_module *);



More information about the samba-cvs mailing list