s3: Add userWorkstations and userParameters to pdb_ads
authorVolker Lendecke <vl@samba.org>
Tue, 15 Feb 2011 18:09:10 +0000 (19:09 +0100)
committerVolker Lendecke <vl@samba.org>
Tue, 15 Feb 2011 20:12:22 +0000 (21:12 +0100)
source3/passdb/pdb_ads.c

index 58e30a1600d00f80e0c0a8f136e7287e86baa58e..1ff8042a9e6f19e02fdad238ac1d1624a55010b9 100644 (file)
@@ -256,6 +256,18 @@ static NTSTATUS pdb_ads_init_sam_from_priv(struct pdb_methods *m,
                pdb_set_acct_desc(sam, str, PDB_SET);
        }
 
+       str = tldap_talloc_single_attribute(entry, "userWorkstations",
+                                           talloc_tos());
+       if (str != NULL) {
+               pdb_set_workstations(sam, str, PDB_SET);
+       }
+
+       str = tldap_talloc_single_attribute(entry, "userParameters",
+                                           talloc_tos());
+       if (str != NULL) {
+               pdb_set_munged_dial(sam, str, PDB_SET);
+       }
+
        if (!tldap_pull_binsid(entry, "objectSid", &sid)) {
                DEBUG(10, ("Could not pull SID\n"));
                goto fail;
@@ -374,6 +386,14 @@ static bool pdb_ads_init_ads_from_sam(struct pdb_ads_state *state,
                existing, mem_ctx, pmods, pnum_mods, "description",
                "%s", pdb_get_acct_desc(sam));
 
+       ret &= tldap_make_mod_fmt(
+               existing, mem_ctx, pmods, pnum_mods, "userWorkstations",
+               "%s", pdb_get_workstations(sam));
+
+       ret &= tldap_make_mod_fmt(
+               existing, mem_ctx, pmods, pnum_mods, "userParameters",
+               "%s", pdb_get_munged_dial(sam));
+
 fail:
        return ret;
 }