*/
#define LDB_EXTENDED_START_TLS_OID "1.3.6.1.4.1.1466.20037"
+/**
+ 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_DYNAMIC_OID "1.3.6.1.4.1.1466.101.119.1"
+
+/**
+ 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_FAST_BIND_OID "1.2.840.113556.1.4.1781"
+
struct ldb_paged_control {
int size;
int cookie_len;
}
ret = ltdb_store(module, msg, TDB_INSERT);
- switch (ret) {
- case LDB_SUCCESS:
- {
- TALLOC_CTX *mem_ctx = talloc_new(module);
+
+ if (ret == LDB_ERR_ENTRY_ALREADY_EXISTS) {
char *dn;
- dn = ldb_dn_linearize(mem_ctx, msg->dn);
+
+ dn = ldb_dn_linearize(module, msg->dn);
if (!dn) {
- break;
+ return ret;
}
+ ldb_set_errstring(module->ldb, talloc_asprintf(module, "Entry %s already exists", dn));
+ talloc_free(dn);
+ return ret;
+ }
+
+ if (ret == LDB_SUCCESS) {
ret = ltdb_modified(module, msg->dn);
if (ret != LDB_SUCCESS) {
return LDB_ERR_OPERATIONS_ERROR;
}
- break;
- }
- case LDB_ERR_ENTRY_ALREADY_EXISTS:
- {
- TALLOC_CTX *mem_ctx = talloc_new(module);
- char *errstring, *dn;
- if (!mem_ctx) {
- break;
- }
- dn = ldb_dn_linearize(mem_ctx, msg->dn);
- if (!dn) {
- break;
- }
- errstring = talloc_asprintf(mem_ctx, "Entry %s already exists",
- dn);
- ldb_set_errstring(module->ldb, errstring);
- talloc_free(mem_ctx);
- break;
- }
- default:
- break;
}
+
return ret;
}