Author: jelmer
Date: 2005-08-28 01:37:27 +0000 (Sun, 28 Aug 2005)
New Revision: 9700

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

Log:
Change DATA_BLOB in ejs back to struct datablob
Support writing idmap mappings to winbind.ldif

Modified:
   branches/SAMBA_4_0/source/lib/samba3/idmap.c
   branches/SAMBA_4_0/source/lib/samba3/samba3.c
   branches/SAMBA_4_0/source/lib/samba3/upgrade.c
   branches/SAMBA_4_0/source/scripting/ejs/mprutil.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/samba3/idmap.c
===================================================================
--- branches/SAMBA_4_0/source/lib/samba3/idmap.c        2005-08-28 00:34:14 UTC 
(rev 9699)
+++ branches/SAMBA_4_0/source/lib/samba3/idmap.c        2005-08-28 01:37:27 UTC 
(rev 9700)
@@ -46,7 +46,7 @@
 
        /* 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;
        }
 

Modified: branches/SAMBA_4_0/source/lib/samba3/samba3.c
===================================================================
--- branches/SAMBA_4_0/source/lib/samba3/samba3.c       2005-08-28 00:34:14 UTC 
(rev 9699)
+++ branches/SAMBA_4_0/source/lib/samba3/samba3.c       2005-08-28 01:37:27 UTC 
(rev 9700)
@@ -107,7 +107,7 @@
        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);
 

Modified: branches/SAMBA_4_0/source/lib/samba3/upgrade.c
===================================================================
--- branches/SAMBA_4_0/source/lib/samba3/upgrade.c      2005-08-28 00:34:14 UTC 
(rev 9699)
+++ branches/SAMBA_4_0/source/lib/samba3/upgrade.c      2005-08-28 01:37:27 UTC 
(rev 9700)
@@ -109,16 +109,48 @@
        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)

Modified: branches/SAMBA_4_0/source/scripting/ejs/mprutil.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/ejs/mprutil.c   2005-08-28 00:34:14 UTC 
(rev 9699)
+++ branches/SAMBA_4_0/source/scripting/ejs/mprutil.c   2005-08-28 01:37:27 UTC 
(rev 9700)
@@ -323,7 +323,7 @@
 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 @@
 /*
   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);
 }
 
 /*

Reply via email to