1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-13 08:23:49 +03:00

r9700: Change DATA_BLOB in ejs back to struct datablob

Support writing idmap mappings to winbind.ldif
This commit is contained in:
Jelmer Vernooij
2005-08-28 01:37:27 +00:00
committed by Gerald (Jerry) Carter
parent 5100ae211c
commit 3709def353
4 changed files with 41 additions and 9 deletions

View File

@@ -46,7 +46,7 @@ NTSTATUS samba3_read_idmap( const char *fn, TALLOC_CTX *ctx, struct samba3_idmap
/* Open idmap repository */
if (!(tdb = tdb_open(fn, 0, TDB_DEFAULT, O_RDONLY, 0644))) {
DEBUG(0, ("idmap_init: Unable to open idmap database\n"));
DEBUG(0, ("idmap_init: Unable to open idmap database '%s'\n", fn));
return NT_STATUS_UNSUCCESSFUL;
}

View File

@@ -107,7 +107,7 @@ NTSTATUS samba3_read(const char *smbconf, const char *libdir, TALLOC_CTX *ctx, s
samba3_read_grouptdb(dbfile, ctx, &ret->group);
SAFE_FREE(dbfile);
asprintf(&dbfile, "%s/idmap.tdb", libdir);
asprintf(&dbfile, "%s/winbindd_idmap.tdb", libdir);
samba3_read_idmap(dbfile, ctx, &ret->idmap);
SAFE_FREE(dbfile);

View File

@@ -109,16 +109,48 @@ int samba3_upgrade_registry(struct samba3_regdb *regdb, const char *prefix, stru
return count;
}
int samba3_upgrade_sam(struct samba3 *samba3, struct ldb_context *ctx, struct ldb_message ***msgs)
int samba3_upgrade_sam(struct samba3 *samba3, struct ldb_context *ldb, struct ldb_message ***msgs)
{
int count = 0;
struct ldb_message *msg;
struct ldb_dn *domaindn = NULL;
*msgs = NULL;
/* Domain */
msg = msg_array_add(ldb, msgs, &count);
/* FIXME: Guess domain DN by taking ldap bind dn? */
/* FIXME */
return -1;
}
int samba3_upgrade_winbind(struct samba3 *samba3, struct ldb_context *ctx, struct ldb_message ***msgs)
int samba3_upgrade_winbind(struct samba3 *samba3, struct ldb_context *ldb, struct ldb_message ***msgs)
{
/* FIXME */
return -1;
int i;
int count = 0;
struct ldb_message *msg;
struct ldb_dn *basedn = NULL;
*msgs = NULL;
msg = msg_array_add(ldb, msgs, &count);
msg->dn = basedn;
ldb_msg_add_fmt(ldb, msg, "userHwm", "%d", samba3->idmap.user_hwm);
ldb_msg_add_fmt(ldb, msg, "groupHwm", "%d", samba3->idmap.group_hwm);
for (i = 0; i < samba3->idmap.mapping_count; i++) {
char *sid = dom_sid_string(msg, samba3->idmap.mappings[i].sid);
msg = msg_array_add(ldb, msgs, &count);
msg->dn = ldb_dn_build_child(ldb, "SID", sid, basedn);
ldb_msg_add_string(ldb, msg, "SID", sid);
ldb_msg_add_fmt(ldb, msg, "type", "%d", samba3->idmap.mappings[i].type);
ldb_msg_add_fmt(ldb, msg, "unixID", "%u", samba3->idmap.mappings[i].unix_id);
}
return count;
}
int samba3_upgrade_winsdb(struct samba3 *samba3, struct ldb_context *ldb, struct ldb_message ***msgs)

View File

@@ -323,7 +323,7 @@ struct MprVar mprNTSTATUS(NTSTATUS status)
struct MprVar mprDataBlob(DATA_BLOB blob)
{
struct MprVar res;
DATA_BLOB *pblob = talloc(mprMemCtx(), DATA_BLOB);
struct datablob *pblob = talloc(mprMemCtx(), struct datablob);
*pblob = data_blob_talloc(pblob, blob.data, blob.length);
res = mprObject("DATA_BLOB");
@@ -337,9 +337,9 @@ struct MprVar mprDataBlob(DATA_BLOB blob)
/*
return a data blob from a mpr var created using mprDataBlob
*/
struct data_blob *mprToDataBlob(struct MprVar *v)
struct datablob *mprToDataBlob(struct MprVar *v)
{
return talloc_get_type(mprGetPtr(v, "blob"), struct data_blob);
return talloc_get_type(mprGetPtr(v, "blob"), struct datablob);
}
/*