ldb: lay foundation for proper utc/generalized time handling
[ddiss/samba.git] / lib / ldb / include / ldb.h
index 4220ed096fae6178d0c5c308eb938cced3dcc636..b60fc9b5ebb94096fa823fe8981aa57998a27bea 100644 (file)
@@ -475,6 +475,7 @@ const struct ldb_dn_extended_syntax *ldb_dn_extended_syntax_by_name(struct ldb_c
   See <a href="http://www.ietf.org/rfc/rfc2252.txt">RFC 2252</a>, Section 4.3.2 
 */
 #define LDB_SYNTAX_UTC_TIME             "1.3.6.1.4.1.1466.115.121.1.53"
+#define LDB_SYNTAX_GENERALIZED_TIME     "1.3.6.1.4.1.1466.115.121.1.24"
 
 #define LDB_SYNTAX_OBJECTCLASS          "LDB_SYNTAX_OBJECTCLASS"
 
@@ -708,6 +709,15 @@ typedef int (*ldb_qsort_cmp_fn_t) (void *v1, void *v2, void *opaque);
 #define LDB_CONTROL_RELAX_OID "1.3.6.1.4.1.4203.666.5.12"
 #define LDB_CONTROL_RELAX_NAME "relax"
 
+/**
+   OID for the allowing some kind of relax check for attributes with DNs
+
+
+   \sa 3.1.1.3.4.1.16 in [MS-ADTS].pdf
+*/
+#define LDB_CONTROL_VERIFY_NAME_OID "1.2.840.113556.1.4.1338"
+#define LDB_CONTROL_VERIFY_NAME_NAME   "verify_name"
+
 /* Extended operations */
 
 /**
@@ -843,6 +853,12 @@ struct ldb_vlv_resp_control {
        char *contextId;
 };
 
+struct ldb_verify_name_control {
+       int flags;
+       size_t gc_len;
+       char *gc;
+};
+
 struct ldb_control {
        const char *oid;
        int critical;
@@ -1425,8 +1441,6 @@ int ldb_build_extended_req(struct ldb_request **ret_req,
 /**
   call an extended operation
 
-  This function deletes a record from the database.
-
   \param ldb the context associated with the database (from ldb_init())
   \param oid the OID of the extended operation.
   \param data a void pointer a the extended operation specific parameters,