1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

s4-schema: rename dsdb_attribute_from_ldb to dsdb_set_attribute_from_ldb and dsdb_class_from_ldb to dsdb_set_class_from_ldb

This commit is contained in:
Matthieu Patou 2012-04-15 14:50:20 -07:00 committed by Michael Adam
parent 6ccaf279da
commit 167c6eb61e
4 changed files with 34 additions and 13 deletions

View File

@ -614,14 +614,17 @@ static int dsdb_schema_setup_ldb_schema_attribute(struct ldb_context *ldb,
}\
} while (0)
WERROR dsdb_attribute_from_ldb(struct ldb_context *ldb,
struct dsdb_schema *schema,
struct ldb_message *msg)
/** Create an dsdb_attribute out of ldb message, attr must be already talloced
*/
WERROR dsdb_attribute_from_ldb(const struct dsdb_schema *schema,
struct ldb_message *msg,
struct dsdb_attribute *attr)
{
WERROR status;
struct dsdb_attribute *attr = talloc_zero(schema, struct dsdb_attribute);
if (!attr) {
return WERR_NOMEM;
if (attr == NULL) {
DEBUG(0, ("%s: attr is null, it's expected not to be so\n", __location__));
return WERR_INVALID_PARAM;
}
GET_STRING_LDB(msg, "cn", attr, attr, cn, false);
@ -690,6 +693,24 @@ WERROR dsdb_attribute_from_ldb(struct ldb_context *ldb,
GET_BOOL_LDB(msg, "isDefunct", attr, isDefunct, false);
GET_BOOL_LDB(msg, "systemOnly", attr, systemOnly, false);
return WERR_OK;
}
WERROR dsdb_set_attribute_from_ldb(struct ldb_context *ldb,
struct dsdb_schema *schema,
struct ldb_message *msg)
{
WERROR status;
struct dsdb_attribute *attr = talloc_zero(schema, struct dsdb_attribute);
if (!attr) {
return WERR_NOMEM;
}
status = dsdb_attribute_from_ldb(schema, msg, attr);
if (!W_ERROR_IS_OK(status)) {
return status;
}
attr->syntax = dsdb_syntax_for_attribute(attr);
if (!attr->syntax) {
DEBUG(0,(__location__ ": Unknown schema syntax for %s\n",
@ -709,7 +730,7 @@ WERROR dsdb_attribute_from_ldb(struct ldb_context *ldb,
return WERR_OK;
}
WERROR dsdb_class_from_ldb(struct dsdb_schema *schema,
WERROR dsdb_set_class_from_ldb(struct dsdb_schema *schema,
struct ldb_message *msg)
{
WERROR status;

View File

@ -667,10 +667,10 @@ WERROR dsdb_schema_set_el_from_ldb_msg(struct ldb_context *ldb, struct dsdb_sche
{
if (samdb_find_attribute(ldb, msg,
"objectclass", "attributeSchema") != NULL) {
return dsdb_attribute_from_ldb(ldb, schema, msg);
return dsdb_set_attribute_from_ldb(ldb, schema, msg);
} else if (samdb_find_attribute(ldb, msg,
"objectclass", "classSchema") != NULL) {
return dsdb_class_from_ldb(schema, msg);
return dsdb_set_class_from_ldb(schema, msg);
}
/* Don't fail on things not classes or attributes */

View File

@ -74,9 +74,9 @@ static bool torture_syntax_add_OR_Name(struct torture_context *tctx,
ldif = ldb_ldif_read_string(ldb, &ldif_str);
torture_assert(tctx, ldif, "Failed to parse LDIF for authOrig");
werr = dsdb_attribute_from_ldb(ldb, schema, ldif->msg);
werr = dsdb_set_attribute_from_ldb(ldb, schema, ldif->msg);
ldb_ldif_read_free(ldb, ldif);
torture_assert_werr_ok(tctx, werr, "dsdb_attribute_from_ldb() failed!");
torture_assert_werr_ok(tctx, werr, "dsdb_set_attribute_from_ldb() failed!");
ldb_res = dsdb_set_schema(ldb, schema);
torture_assert_int_equal(tctx, ldb_res, LDB_SUCCESS, "dsdb_set_schema() failed");

View File

@ -213,7 +213,7 @@ static int test_add_attribute(void *ptr, struct ldb_context *ldb, struct ldb_mes
struct dsdb_schema *schema = talloc_get_type(ptr, struct dsdb_schema);
WERROR status;
status = dsdb_attribute_from_ldb(ldb, schema, msg);
status = dsdb_set_attribute_from_ldb(ldb, schema, msg);
if (!W_ERROR_IS_OK(status)) {
goto failed;
}
@ -228,7 +228,7 @@ static int test_add_class(void *ptr, struct ldb_context *ldb, struct ldb_message
struct dsdb_schema *schema = talloc_get_type(ptr, struct dsdb_schema);
WERROR status;
status = dsdb_class_from_ldb(schema, msg);
status = dsdb_set_class_from_ldb(schema, msg);
if (!W_ERROR_IS_OK(status)) {
goto failed;
}