s3: Support "country_code" in pdb_ads
authorVolker Lendecke <vl@samba.org>
Tue, 15 Feb 2011 18:01:04 +0000 (19:01 +0100)
committerVolker Lendecke <vl@samba.org>
Tue, 15 Feb 2011 20:12:22 +0000 (21:12 +0100)
source3/passdb/pdb_ads.c

index 1ff8042a9e6f19e02fdad238ac1d1624a55010b9..d45706a0e73ff35f0749b525b7105eaa6b9b5cc2 100644 (file)
@@ -188,6 +188,7 @@ static NTSTATUS pdb_ads_init_sam_from_priv(struct pdb_methods *m,
        time_t tmp_time;
        struct dom_sid sid;
        uint64_t n;
+       uint32_t i;
        DATA_BLOB blob;
 
        str = tldap_talloc_single_attribute(entry, "samAccountName", sam);
@@ -303,6 +304,11 @@ static NTSTATUS pdb_ads_init_sam_from_priv(struct pdb_methods *m,
                pdb_set_group_sid(sam, &sid, PDB_SET);
 
        }
+
+       if (tldap_pull_uint32(entry, "countryCode", &i)) {
+               pdb_set_country_code(sam, i, PDB_SET);
+       }
+
        status = NT_STATUS_OK;
 fail:
        TALLOC_FREE(frame);
@@ -394,6 +400,10 @@ static bool pdb_ads_init_ads_from_sam(struct pdb_ads_state *state,
                existing, mem_ctx, pmods, pnum_mods, "userParameters",
                "%s", pdb_get_munged_dial(sam));
 
+       ret &= tldap_make_mod_fmt(
+               existing, mem_ctx, pmods, pnum_mods, "countryCode",
+               "%i", (int)pdb_get_country_code(sam));
+
 fail:
        return ret;
 }