r9718: Work a bit on the SWAT interface
authorJelmer Vernooij <jelmer@samba.org>
Sun, 28 Aug 2005 22:17:07 +0000 (22:17 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:34:53 +0000 (13:34 -0500)
source/lib/ldb/ldb_map/ldb_map.c
source/lib/ldb/tests/samba3.ldif
source/lib/samba3/PLAN
source/lib/samba3/README
source/scripting/libjs/samba3.js [new file with mode: 0644]
swat/install/samba3.esp [new file with mode: 0644]
swat/menu.js

index 5ae4a435d86a29f4b6dcf7590d2e6a3941471ba9..1a8ea2afc4071f733b8f539688098efc77bcccf9 100644 (file)
@@ -136,8 +136,10 @@ static struct ldb_parse_tree *ldb_map_parse_tree(struct ldb_module *module, TALL
                return attr->convert_operator(privdat, module, tree);
        }
 
                return attr->convert_operator(privdat, module, tree);
        }
 
-       if (map_type == MAP_IGNORE)
+       if (map_type == MAP_IGNORE) {
+               DEBUG(0, ("Search on ignored attribute '%s'!\n", tree->u.equality.attr));
                return NULL;
                return NULL;
+       }
 
        if (map_type == MAP_GENERATE) {
                DEBUG(0, ("Can't do conversion for MAP_GENERATE in map_parse_tree without convert_operator for '%s'\n", tree->u.equality.attr));
 
        if (map_type == MAP_GENERATE) {
                DEBUG(0, ("Can't do conversion for MAP_GENERATE in map_parse_tree without convert_operator for '%s'\n", tree->u.equality.attr));
index fb0a1386d492ac089ec37bb101a7d77b03a88ccd..02103b65b62f90841329e1ff6ce716c1655b91b3 100644 (file)
@@ -1,49 +1,4 @@
-dn: dc=idealx,dc=org
-objectClass: dcObject
-objectclass: organization
-o: idealx
-dc: idealx
-
-dn: ou=Users,dc=idealx,dc=org
-objectClass: organizationalUnit
-ou: Users
-
-dn: ou=Groups,dc=idealx,dc=org
-objectClass: organizationalUnit
-ou: Groups
-
-dn: ou=Computers,dc=idealx,dc=org
-objectClass: organizationalUnit
-ou: Computers
-dn: uid=Administrator,ou=Users,dc=idealx,dc=org
-cn: Administrator
-sn: Administrator
-objectClass: inetOrgPerson
-objectClass: sambaSAMAccount
-objectClass: posixAccount
-objectClass: shadowAccount
-gidNumber: 512
-uid: Administrator
-uidNumber: 0
-homeDirectory: /home/%U
-sambaPwdLastSet: 0
-sambaLogonTime: 0
-sambaLogoffTime: 2147483647
-sambaKickoffTime: 2147483647
-sambaPwdCanChange: 0
-sambaPwdMustChange: 2147483647
-sambaHomePath: \\PDC-SMB3\home\%U
-sambaHomeDrive: H:
-sambaProfilePath: \\PDC-SMB3\profiles\%U\Administrator
-sambaPrimaryGroupSID: S-1-5-21-4231626423-2410014848-2360679739-512
-sambaLMPassword: XXX
-sambaNTPassword: XXX
-sambaAcctFlags: [U          ]
-sambaSID: S-1-5-21-4231626423-2410014848-2360679739-2996
-loginShell: /bin/false
-gecos: Netbios Domain Administrator
-
-dn: uid=nobody,ou=Users,dc=idealx,dc=org
+dn: uid=nobody,ou=Users,dc=test,dc=vernstok,dc=nl
 cn: nobody
 sn: nobody
 objectClass: inetOrgPerson
 cn: nobody
 sn: nobody
 objectClass: inetOrgPerson
@@ -70,7 +25,7 @@ sambaAcctFlags: [NU         ]
 sambaSID: S-1-5-21-4231626423-2410014848-2360679739-2998
 loginShell: /bin/false
 
 sambaSID: S-1-5-21-4231626423-2410014848-2360679739-2998
 loginShell: /bin/false
 
-dn: cn=Domain Admins,ou=Groups,dc=idealx,dc=org
+dn: cn=Domain Admins,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 512
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 512
@@ -81,7 +36,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-512
 sambaGroupType: 2
 displayName: Domain Admins
 
 sambaGroupType: 2
 displayName: Domain Admins
 
-dn: cn=Domain Users,ou=Groups,dc=idealx,dc=org
+dn: cn=Domain Users,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 513
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 513
@@ -91,7 +46,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-513
 sambaGroupType: 2
 displayName: Domain Users
 
 sambaGroupType: 2
 displayName: Domain Users
 
-dn: cn=Domain Guests,ou=Groups,dc=idealx,dc=org
+dn: cn=Domain Guests,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 514
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 514
@@ -101,7 +56,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-514
 sambaGroupType: 2
 displayName: Domain Guests
 
 sambaGroupType: 2
 displayName: Domain Guests
 
-dn: cn=Print Operators,ou=Groups,dc=idealx,dc=org
+dn: cn=Print Operators,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 550
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 550
@@ -111,7 +66,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-550
 sambaGroupType: 2
 displayName: Print Operators
 
 sambaGroupType: 2
 displayName: Print Operators
 
-dn: cn=Backup Operators,ou=Groups,dc=idealx,dc=org
+dn: cn=Backup Operators,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 551
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 551
@@ -121,7 +76,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-551
 sambaGroupType: 2
 displayName: Backup Operators
 
 sambaGroupType: 2
 displayName: Backup Operators
 
-dn: cn=Replicator,ou=Groups,dc=idealx,dc=org
+dn: cn=Replicator,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 552
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 552
@@ -131,7 +86,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-552
 sambaGroupType: 2
 displayName: Replicator
 
 sambaGroupType: 2
 displayName: Replicator
 
-dn: cn=Domain Computers,ou=Groups,dc=idealx,dc=org
+dn: cn=Domain Computers,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 553
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 553
@@ -141,7 +96,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-553
 sambaGroupType: 2
 displayName: Domain Computers
 
 sambaGroupType: 2
 displayName: Domain Computers
 
-dn: cn=Administrators,ou=Groups,dc=idealx,dc=org
+dn: cn=Administrators,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 544
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 544
@@ -151,7 +106,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-544
 sambaGroupType: 2
 displayName: Administrators
 
 sambaGroupType: 2
 displayName: Administrators
 
-dn: cn=Users,ou=Groups,dc=idealx,dc=org
+dn: cn=Users,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 545
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 545
@@ -161,7 +116,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-545
 sambaGroupType: 2
 displayName: users
 
 sambaGroupType: 2
 displayName: users
 
-dn: cn=Guests,ou=Groups,dc=idealx,dc=org
+dn: cn=Guests,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 546
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 546
@@ -172,7 +127,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-546
 sambaGroupType: 2
 displayName: Guests
 
 sambaGroupType: 2
 displayName: Guests
 
-dn: cn=Power Users,ou=Groups,dc=idealx,dc=org
+dn: cn=Power Users,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 547
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 547
@@ -182,7 +137,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-547
 sambaGroupType: 2
 displayName: Power Users
 
 sambaGroupType: 2
 displayName: Power Users
 
-dn: cn=Account Operators,ou=Groups,dc=idealx,dc=org
+dn: cn=Account Operators,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 548
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 548
@@ -192,7 +147,7 @@ sambaSID: S-1-5-21-4231626423-2410014848-2360679739-548
 sambaGroupType: 2
 displayName: Account Operators
 
 sambaGroupType: 2
 displayName: Account Operators
 
-dn: cn=Server Operators,ou=Groups,dc=idealx,dc=org
+dn: cn=Server Operators,ou=Groups,dc=test,dc=vernstok,dc=nl
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 549
 objectClass: posixGroup
 objectClass: sambaGroupMapping
 gidNumber: 549
@@ -201,3 +156,36 @@ description: Netbios Domain Server Operators
 sambaSID: S-1-5-21-4231626423-2410014848-2360679739-549
 sambaGroupType: 2
 displayName: Server Operators
 sambaSID: S-1-5-21-4231626423-2410014848-2360679739-549
 sambaGroupType: 2
 displayName: Server Operators
+
+dn: ou=Computers,dc=test,dc=vernstok,dc=nl
+objectClass: organizationalUnit
+ou: Computers
+dn: uid=Administrator,ou=Users,dc=test,dc=vernstok,dc=nl
+cn: Administrator
+sn: Administrator
+objectClass: inetOrgPerson
+objectClass: sambaSAMAccount
+objectClass: posixAccount
+objectClass: shadowAccount
+gidNumber: 512
+uid: Administrator
+uidNumber: 0
+homeDirectory: /home/%U
+sambaPwdLastSet: 0
+sambaLogonTime: 0
+sambaLogoffTime: 2147483647
+sambaKickoffTime: 2147483647
+sambaPwdCanChange: 0
+sambaPwdMustChange: 2147483647
+sambaHomePath: \\PDC-SMB3\home\%U
+sambaHomeDrive: H:
+sambaProfilePath: \\PDC-SMB3\profiles\%U\Administrator
+sambaPrimaryGroupSID: S-1-5-21-4231626423-2410014848-2360679739-512
+sambaLMPassword: XXX
+sambaNTPassword: XXX
+sambaAcctFlags: [U          ]
+sambaSID: S-1-5-21-4231626423-2410014848-2360679739-2996
+loginShell: /bin/false
+gecos: Netbios Domain Administrator
+
+
index 26bf54634cadbb67df2dac9bab9e3888c42376d5..8bc90da427f866740168c3b1b293b4a918e23257 100644 (file)
@@ -1,6 +1,6 @@
 Three possible viable approaches:
  1) TDB conversion approach. Read in TDB dump out LDIF (one-way)
 Three possible viable approaches:
  1) TDB conversion approach. Read in TDB dump out LDIF (one-way)
-  - samr.ldb: from tdbsam/smbpasswd, account_policy.tdb, secrets.tdb, group_mapping.tdb, privilege.tdb
+  - samr.ldb: from tdbsam/smbpasswd, account_policy.tdb, secrets.tdb, group_mapping.tdb
   - registry.ldb: from registry.tdb
   - wins.ldif: from wins.tdb/wins.dat
   - smb.conf/ea's: generated from the old smb.conf + share_info.tdb
   - registry.ldb: from registry.tdb
   - wins.ldif: from wins.tdb/wins.dat
   - smb.conf/ea's: generated from the old smb.conf + share_info.tdb
@@ -29,3 +29,13 @@ Three possible viable approaches:
   - convert smb.conf (using Jerry's registry hack)
 
 (going with a combination of 1 and 2)
   - convert smb.conf (using Jerry's registry hack)
 
 (going with a combination of 1 and 2)
+
+ldb mapping backend:
+ - do search in new and old (mapped) backend and merge results?
+
+Upgrade process:
+ - take libdir & smb.conf
+ - read various tdb files / old smb.conf 
+ - write new smb.conf (ejs?)
+  - list of parameters to keep.. generate some of the others
+ - add generated LDIF (ejs?)
index 3f6553f7e8a4e671bd84a762ad03df3bd2c4b6a9..83520f673d2000333cb89ada040da9301ebd8224 100644 (file)
@@ -3,3 +3,6 @@ Samba3 import, migration and compatibility.
 
 For example, the first file in this directory (smbpasswd.c) handles
 portions of the smbpasswd file format.
 
 For example, the first file in this directory (smbpasswd.c) handles
 portions of the smbpasswd file format.
+
+The other files in this directory support reading the various 
+TDB databases from Samba3.
diff --git a/source/scripting/libjs/samba3.js b/source/scripting/libjs/samba3.js
new file mode 100644 (file)
index 0000000..7f50c8c
--- /dev/null
@@ -0,0 +1,8 @@
+/*
+       backend code for upgrading from Samba3
+       Copyright Jelmer Vernooij 2005
+       Released under the GNU GPL v2 or later
+*/
+
+
+return 0;
diff --git a/swat/install/samba3.esp b/swat/install/samba3.esp
new file mode 100644 (file)
index 0000000..ead694a
--- /dev/null
@@ -0,0 +1,40 @@
+<% page_header("columns", "Upgrade", "install"); 
+
+  include("/scripting/forms.js");
+  libinclude("base.js");
+  libinclude("provision.js");
+  libinclude("samba3.js");
+%>
+
+<h1>Import from Samba3</h1>
+
+<%
+var f = FormObj("Import from Samba3", 0, 2);
+var i;
+
+f.add("SMBCONF", "smb.conf file");
+f.add("LIBDIR", "Lib directory");
+f.submit[0] = "Import";
+f.submit[1] = "Cancel";
+
+if (form['submit'] == "Cancel") {
+       redirect("/");
+}
+
+if (form['submit'] == "Import") {
+       for (r in form) {
+               subobj[r] = form[r];
+       }
+}
+
+f.element[0].value = "/etc/samba/smb.conf";
+f.element[1].value = "/var/lib/samba";
+
+if (form['submit'] == "import") {
+       //              provision(subobj, writefln, false);
+} else {
+       f.display();
+}
+%>
+
+<% page_footer(); %>
index 83529825f12dc5644ccadd21d4b5a59ca30cf6f2..e28160e16f8aa21c8079e3f6e3d7845a2d0a8c5e 100644 (file)
@@ -39,7 +39,8 @@ swat_menus.esptest = simple_menu(
 swat_menus.install = simple_menu(
        "Installation",
        "Provisioning",       session_uri("/install/provision.esp"),
 swat_menus.install = simple_menu(
        "Installation",
        "Provisioning",       session_uri("/install/provision.esp"),
-       "New User",           session_uri("/install/newuser.esp"));
+       "New User",           session_uri("/install/newuser.esp"),
+       "Import from Samba3", session_uri("/install/samba3.esp"));
 
 
 swat_menus.nbt_server = simple_menu(
 
 
 swat_menus.nbt_server = simple_menu(