[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-2474-g9f02884

Günther Deschner gd at samba.org
Mon May 26 09:59:48 GMT 2008


The branch, v3-2-test has been updated
       via  9f02884fb3b059fe0fcc8409ba8745c8f84f0ef1 (commit)
       via  9019597282c9b239e2c4e2103ac8789857cee88d (commit)
       via  4c285b3e4beed29341fa8afa49c760bcec738a05 (commit)
       via  9c2f9289c923dcc7e13bbecbfe290e4cf3b82547 (commit)
       via  3405430ae732c88121951c192bd3845006db7045 (commit)
       via  884f2d2373cd9613f34e90d835c1135aed499e9a (commit)
       via  c511286e167129c6677bd51cbd2bff0f86496537 (commit)
       via  682821ef55fb4f39b53eff0aaba8c3477a4b5fdd (commit)
       via  b8b075c508e89d959476e12300bf60cc221d8e8e (commit)
       via  416d12f2393d6b870fb30752be06e37d20a21d09 (commit)
       via  27df0805e401a1c1a350ff84d2474bfd2cbf21ec (commit)
       via  21846acca19f19d86fd6a6853d4c8b4caf046a13 (commit)
       via  4f7edfa720eda6de519044faadc517e0c695c8ce (commit)
       via  0d6634ec51361156541c04a2c0f927ee0a42548a (commit)
       via  84930a407dfb898aa43a5ded2e6961f4e1f19f6a (commit)
       via  8b0b7b442442040297d72af43c1225322080eed3 (commit)
       via  95c372141415e7dcddedd94d778ca24950614d03 (commit)
       via  308de6a419031202efa49a8f4ce3a18b816f8cff (commit)
       via  de3c837b2618b3eeed40934731684dce9f2feb6c (commit)
       via  ca7b67118ca579f403cfbd29a3fd59493b215e89 (commit)
       via  a267b0e51c85a2528a15586818841270c25c747a (commit)
       via  1e1408aef9157aec5fce1f5cbb0d8eec4085c6e7 (commit)
       via  bfa4539d78f932a31d67dec8f2cdd9748124ec0e (commit)
       via  0f372772129163108f0df740d68bd799fd6bc487 (commit)
       via  817a15bc2f075f618404715ffdad91f88f0ffd56 (commit)
       via  22112e5346b8bd27a35fc73217037be9cbf44276 (commit)
       via  5f5e6cd288913c8eb47c2ebd62fae48fa4795e2a (commit)
       via  d5deea3499088a606c09ec16e03d54153ba3f6cd (commit)
       via  0205f7d97ccd16941471cce09b425c6fcd20e6bb (commit)
       via  661f75608e49b7e695c6bb8d4cfd8730b836e9c3 (commit)
       via  8e6a355cf477412bc02aba45b6a55b7294439879 (commit)
       via  5bc0b7725a348681adffb6e00d87bb3b350c3ba2 (commit)
       via  be865404fb66d850732b22a8def0e75b75a2766b (commit)
       via  dba45e1927b5b61fc009af6604839ca0f120da8e (commit)
       via  66350c891b961929734e5aa5f64c3ec55aa1f0fb (commit)
       via  101724066513e961670598740fff11bcfa669b41 (commit)
       via  3280e9aedb799a10eb80377f9fb7edd8ffde1a34 (commit)
       via  070c654e443723829d86e1fab57e37d35188ebd4 (commit)
       via  73b3a2af019e9fb70c4faa56a5d774d90ecc4b76 (commit)
       via  c135e219e961275186c50e000295ad49f31fe0f5 (commit)
       via  7fcc577e6b3307cde491b0b9a4abefd6bbbd41ff (commit)
       via  0e9f062d61c5b7cec63d0b5d0a8ee9785c332aff (commit)
       via  0bd3e0a8b3f7f62c6dc57ce679980020233b05bc (commit)
       via  1966f3f1a2f91e1c75efa6683b49ec08160e6a8f (commit)
       via  ab3132f891afd578231afa75abffa2670949f393 (commit)
       via  89afb7727a63c8d49b9ceebf5aef63c9bf29f43a (commit)
       via  326bc8dc00b300f0c37cb6f205d0e192ff9fc5e5 (commit)
       via  4f23dd56a332f62deebfde95a866312139d85503 (commit)
       via  6a1fa33bae961bb83c687567b300be1d10620e78 (commit)
       via  df26315e6f1493e0a874c8734abcc70ffcc6f8f6 (commit)
       via  8e1488b48a1c144ba3069182bc05e6af04854f43 (commit)
      from  f1e6b40bbc8ce249e2f2a85a1d57ed6b8141e3bb (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 9f02884fb3b059fe0fcc8409ba8745c8f84f0ef1
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 15 17:47:07 2008 +0200

    dsgetdcname: store client sitename for mailslot and cldap replies.
    
    Guenther
    (cherry picked from commit a01ed719c31998620927dc9b1664ba8e36bd9b21)

commit 9019597282c9b239e2c4e2103ac8789857cee88d
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 15 17:00:31 2008 +0200

    net: Fix net lookup dsgetdcname, no need to pull site ourselves.
    
    Guenther
    (cherry picked from commit 954d0998c2c00140addb6ba3845e80ed91e4effc)

commit 4c285b3e4beed29341fa8afa49c760bcec738a05
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 15 16:59:46 2008 +0200

    dsgetdcname: add site support.
    
    Guenther
    (cherry picked from commit e305368538eaa72e3008a5517db3708936924297)

commit 9c2f9289c923dcc7e13bbecbfe290e4cf3b82547
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 15 16:41:18 2008 +0200

    dsgetdcname: check for invalid sitename/flag combinations.
    
    Guenther
    (cherry picked from commit 255e509474cae92802e90613ccaddb6627ee77cd)

commit 3405430ae732c88121951c192bd3845006db7045
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 15 16:38:32 2008 +0200

    libads/cldap: store client sitename also keyed by dns domain name.
    
    Guenther
    (cherry picked from commit 0388b2f0cc4d14b005c5b42f2c17ddcbc8bef12a)

commit 884f2d2373cd9613f34e90d835c1135aed499e9a
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 14 09:42:23 2008 +0200

    dsgetdcname: In case we didn't get a mailslot reply, don't cache the nodestatus.
    
    Guenther
    (cherry picked from commit 12e47be02f93e2f41af5772f6a83568b3574d032)

commit c511286e167129c6677bd51cbd2bff0f86496537
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 14 09:41:24 2008 +0200

    mailslot: Also pick domain name and pdc name from type 15 cldap reply.
    
    Guenther
    (cherry picked from commit 836877c4005ba081c0a4cc97726830d6dbd62d34)

commit 682821ef55fb4f39b53eff0aaba8c3477a4b5fdd
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 9 17:56:04 2008 +0200

    dsgetdcname: add reminder that we need to support ipv6 here once we know how.
    
    Guenther
    (cherry picked from commit 4b3617bf505a835a6d4bb9b80c4ad837a2082dea)

commit b8b075c508e89d959476e12300bf60cc221d8e8e
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 9 17:41:50 2008 +0200

    dsgetdcname: make use of nbt_cldap_netlogon_15.
    
    Guenther
    (cherry picked from commit 5b0eda98f3d127399770f7a037ad3277dbe23393)

commit 416d12f2393d6b870fb30752be06e37d20a21d09
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 9 17:40:29 2008 +0200

    re-run make idl.
    
    Guenther
    (cherry picked from commit 5a216d2340bb06a8866718d1b4b07265006bd900)

commit 27df0805e401a1c1a350ff84d2474bfd2cbf21ec
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 9 17:39:53 2008 +0200

    IDL: Fix nbt_cldap_netlogon union, removing the default member.
    
    Guenther
    (cherry picked from commit a56d7999a445f7157f85e5636f5b2c5e471a98e2)

commit 21846acca19f19d86fd6a6853d4c8b4caf046a13
Author: Günther Deschner <gd at samba.org>
Date:   Fri May 9 17:24:38 2008 +0200

    IDL: Add nbt_cldap_netlogon_15.
    
    Guenther
    (cherry picked from commit 5e91bd1d2bfe458c6f8b3696f99e0f75e43cbae8)

commit 4f7edfa720eda6de519044faadc517e0c695c8ce
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 8 18:32:22 2008 +0200

    dsgetdcname: use existing messaging_context if possible.
    
    Guenther
    (cherry picked from commit 7889516a384c155a9045aad4409c041fddd0d98d)

commit 0d6634ec51361156541c04a2c0f927ee0a42548a
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 8 14:24:46 2008 +0200

    dsgetdcname: the forest name should never be empty.
    
    Guenther
    (cherry picked from commit 2c0a96f1e5fc065fdbeb5671cfa693009321dde8)

commit 84930a407dfb898aa43a5ded2e6961f4e1f19f6a
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 8 14:23:20 2008 +0200

    Use strip_hostname after dsgetdcname/getdcname calls.
    
    Guenther
    (cherry picked from commit 82cbb3269b2e764c9c2a2fbcbe9c29feae07fb62)

commit 8b0b7b442442040297d72af43c1225322080eed3
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 8 14:16:50 2008 +0200

    util: add strip_hostname() to strip of leading '\\'.
    
    Guenther
    (cherry picked from commit dbf96120d8b33e592bfd3e9df1777f1670e218be)

commit 95c372141415e7dcddedd94d778ca24950614d03
Author: Günther Deschner <gd at samba.org>
Date:   Thu May 8 12:16:04 2008 +0200

    dsgetdcname: add map_dc_and_domain_names() for consolidating returned names.
    
    Guenther
    (cherry picked from commit eb7fee6e2a00326c03aa013058247e06279a4930)

commit 308de6a419031202efa49a8f4ce3a18b816f8cff
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:31:59 2008 +0200

    cldap: move out cldap object to fix the build.
    
    Guenther
    (cherry picked from commit 56be9c98d24e64bf855439df21766d30f448f407)

commit de3c837b2618b3eeed40934731684dce9f2feb6c
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:25:05 2008 +0200

    dsgetdcname: fix gencache store for dsgetdcname().
    
    While storing always a type 29 reply structure in gencache, we are now able to
    deliver correct data according to return flags such as DS_RETURN_FLAT_NAME and
    DS_RETURN_DNS_NAME out of the cached data from gencache.
    
    Guenther
    (cherry picked from commit c67b6dc0ca866781043e443177d550e23b83ae36)

commit ca7b67118ca579f403cfbd29a3fd59493b215e89
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:08:20 2008 +0200

    dsgetdcname: pure cosmetics.
    
    Guenther
    (cherry picked from commit 4b56c294e8ba045c84cab538b3d286e433d292ed)

commit a267b0e51c85a2528a15586818841270c25c747a
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:06:23 2008 +0200

    dsgetdcname: simply call ourself with DS_FORCE_REDISCOVERY after cache expiry.
    
    Guenther
    (cherry picked from commit 847f258632f6d49a3fd45f466c5d3d8c6222ff85)

commit 1e1408aef9157aec5fce1f5cbb0d8eec4085c6e7
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:04:10 2008 +0200

    dsgetdcname: be more paranoid about the existance of an ip_address.
    
    Guenther
    (cherry picked from commit d13fe66f3d9ba152e3e8197ee6682e175163a6cd)

commit bfa4539d78f932a31d67dec8f2cdd9748124ec0e
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:02:50 2008 +0200

    dsgetdcname: remove invalid assumption in discover_dc_dns().
    
    Guenther
    (cherry picked from commit f48b2e844b673e99c84cb24f3c3718352ab93ce5)

commit 0f372772129163108f0df740d68bd799fd6bc487
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 18:57:43 2008 +0200

    dsgetdcname: mailslot replies are identical to the cldap ones, use cldap everywhere.
    
    Guenther
    (cherry picked from commit fe904ee77a7fec1674e9db660978c40c17897f77)

commit 817a15bc2f075f618404715ffdad91f88f0ffd56
Author: Volker Lendecke <vl at samba.org>
Date:   Mon May 5 17:24:17 2008 +0200

    Fix a C++ warning
    (cherry picked from commit e7a4027acf38bf5800d9d8ba477afb5daaf517ce)

commit 22112e5346b8bd27a35fc73217037be9cbf44276
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 18:55:45 2008 +0200

    dsgetdcname: wait a little longer for mailslot replies.
    
    Guenther
    (cherry picked from commit bc0d7a90dcc7bf702b24feb16abf4634ff178671)

commit 5f5e6cd288913c8eb47c2ebd62fae48fa4795e2a
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 18:39:24 2008 +0200

    dsgetdcname: map additional flags to nt_version.
    
    Guenther
    (cherry picked from commit 1009123b8600e6ccebe180f4a2f87c217638fef8)

commit d5deea3499088a606c09ec16e03d54153ba3f6cd
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 18:38:37 2008 +0200

    dsgetdcname: use make_dc_info_from_cldap_reply() for cldap replies.
    
    Guenther
    (cherry picked from commit a3e5b073f0474543ca74b40775ce1d7f80719c96)

commit 0205f7d97ccd16941471cce09b425c6fcd20e6bb
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 18:36:03 2008 +0200

    dsgetdcname: add make_dc_info_from_cldap_reply().
    
    Guenther
    (cherry picked from commit 9db2e50a20caabaf90ce03203a066ddd7820d33a)

commit 661f75608e49b7e695c6bb8d4cfd8730b836e9c3
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 16:49:39 2008 +0200

    dsgetdcname: add get_cldap_reply_server_flags().
    
    Guenther
    (cherry picked from commit 3c05c56d4c0aac8106684cda3152c65299c63075)

commit 8e6a355cf477412bc02aba45b6a55b7294439879
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 15:49:09 2008 +0200

    cldap: let ads_cldap_netlogon() return all possible cldap replies.
    
    Guenther
    (cherry picked from commit 6f9d5e1cc94bc90685b54c04622b8f3357bd2f69)

commit 5bc0b7725a348681adffb6e00d87bb3b350c3ba2
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 15:21:41 2008 +0200

    dsgetdcname: add pull_mailslot_cldap_reply().
    
    Guenther
    (cherry picked from commit 95fb01d8702342265f8837a368dc42f4a4d394d5)

commit be865404fb66d850732b22a8def0e75b75a2766b
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 14:38:35 2008 +0200

    dsgetdcname: add map_ds_flags_to_nt_version.
    
    Guenther
    (cherry picked from commit 1809ea22c31ee28e109f49701f91534177027165)

commit dba45e1927b5b61fc009af6604839ca0f120da8e
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:01:46 2008 +0200

    gencache: add some const.
    
    Guenther
    (cherry picked from commit ec9f8c4cf67c82f4665ed51e4fd0181f5f147ea0)

commit 66350c891b961929734e5aa5f64c3ec55aa1f0fb
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:01:29 2008 +0200

    re-run make idl.
    
    Guenther
    (cherry picked from commit 4c0805220821719ad1db1590457ab66a577d26a7)

commit 101724066513e961670598740fff11bcfa669b41
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 21:01:09 2008 +0200

    IDL: make nbt_cldap_netlogon_29 public.
    
    Guenther
    (cherry picked from commit 7159cce8055d0197cfc1a9daa08d2370527ea3bc)

commit 3280e9aedb799a10eb80377f9fb7edd8ffde1a34
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 14:11:27 2008 +0200

    re-run make idl.
    
    Guenther
    (cherry picked from commit 4bef77a4566590b3e20470f538f20848ed49f264)

commit 070c654e443723829d86e1fab57e37d35188ebd4
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 14:10:34 2008 +0200

    IDL: add missing case 14 and 15 to nbt_cldap_netlogon union.
    
    Guenther
    (cherry picked from commit 9fcda4627b1c1d2836b6cbd1141f4e843ecab115)

commit 73b3a2af019e9fb70c4faa56a5d774d90ecc4b76
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 7 14:09:41 2008 +0200

    dsgetdcname: remove invalid assumptions when using DNS for the DC query.
    
    Guenther
    (cherry picked from commit a81818ae54159755df441cc6421e5b272035f412)

commit c135e219e961275186c50e000295ad49f31fe0f5
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 5 18:04:41 2008 +0200

    mailslot/cldap: use nt_version bits in queries.
    
    Guenther
    (cherry picked from commit b261f063125f8454d8f4e8f6b6f8aa5bc393ea34)

commit 7fcc577e6b3307cde491b0b9a4abefd6bbbd41ff
Author: Günther Deschner <gd at samba.org>
Date:   Mon May 5 17:22:49 2008 +0200

    dsgetdcname: use correct dc name for name cache store.
    
    Guenther
    (cherry picked from commit ce1556d0fb993b78f02ac4cc4f8a45ab7a0b5397)

commit 0e9f062d61c5b7cec63d0b5d0a8ee9785c332aff
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 16:03:58 2008 +0200

    re-run make idl.
    
    Guenther
    (cherry picked from commit 14327b11baa18f185e747a321e75abe581d153d2)

commit 0bd3e0a8b3f7f62c6dc57ce679980020233b05bc
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 16:02:23 2008 +0200

    build: fix make everything.
    
    Guenther
    (cherry picked from commit d2cd011f4379ed2972c8e4c96f6757961fdceaee)

commit 1966f3f1a2f91e1c75efa6683b49ec08160e6a8f
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 15:49:20 2008 +0200

    IDL: add nbt_cldap_netlogon_29 which includes the next_closest_site.
    
    Guenther
    (cherry picked from commit 909c9ae7ecbaa1bcc38d5c9ebc10fc5fb9a7bf59)

commit ab3132f891afd578231afa75abffa2670949f393
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 15:19:32 2008 +0200

    IDL: use nbt_netlogon_command in cldap replies.
    
    Guenther
    (cherry picked from commit bc92507fb425ae56568c72298b9d7e964ae372d0)

commit 89afb7727a63c8d49b9ceebf5aef63c9bf29f43a
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 00:58:49 2008 +0200

    build: fix some build dependencies.
    
    Guenther
    (cherry picked from commit 067a6931a23631dfb902fb4a180f3c44a5455d51)

commit 326bc8dc00b300f0c37cb6f205d0e192ff9fc5e5
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 00:58:28 2008 +0200

    Re-run make idl.
    
    Guenther
    (cherry picked from commit 08b5758e00597a4828044c4d4ac97be0741b0cf2)

commit 4f23dd56a332f62deebfde95a866312139d85503
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 01:10:13 2008 +0200

    IDL: use nbt_dc_sock_addr.
    
    Guenther
    (cherry picked from commit 5a46f34fa364dfb20d7de93164b56d08dc4fb427)

commit 6a1fa33bae961bb83c687567b300be1d10620e78
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 00:56:31 2008 +0200

    IDL: move some netlogon DS flags to NBT where they actually showup first.
    
    Guenther
    (cherry picked from commit 163f17f84bc602f9944153854e42cf643c5c4768)

commit df26315e6f1493e0a874c8734abcc70ffcc6f8f6
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 00:35:57 2008 +0200

    IDL: use samr_AcctFlags in nbt_ntlogon_sam_logon.
    
    Guenther
    (cherry picked from commit 5f5658b3dc6407ca05368f657dc3296425844434)

commit 8e1488b48a1c144ba3069182bc05e6af04854f43
Author: Günther Deschner <gd at samba.org>
Date:   Wed Apr 30 00:34:43 2008 +0200

    IDL: add nbt_netlogon_version.
    
    Guenther
    (cherry picked from commit 5963bbea82bf0c11158bd1db00710c3157299bcc)

-----------------------------------------------------------------------

Summary of changes:
 source/Makefile.in                  |   41 +-
 source/lib/gencache.c               |    2 +-
 source/lib/netapi/getdc.c           |    1 +
 source/lib/netapi/joindomain.c      |   23 +-
 source/lib/util.c                   |   19 +
 source/libads/cldap.c               |  152 ++++++-
 source/libads/ldap.c                |    3 +-
 source/libnet/libnet_join.c         |   12 +-
 source/librpc/gen_ndr/libnet_join.h |    2 +
 source/librpc/gen_ndr/nbt.h         |   88 +++-
 source/librpc/gen_ndr/ndr_nbt.c     |  894 ++++++++++++++++++++++++++++++-----
 source/librpc/gen_ndr/ndr_nbt.h     |    8 +
 source/librpc/gen_ndr/netlogon.h    |    6 +-
 source/librpc/idl/libnet_join.idl   |    2 +
 source/librpc/idl/nbt.idl           |  155 +++++--
 source/librpc/idl/netlogon.idl      |    6 +-
 source/libsmb/clidgram.c            |   79 +++-
 source/libsmb/dsgetdcname.c         |  813 ++++++++++++++++++++++++-------
 source/rpc_server/srv_wkssvc_nt.c   |    2 +
 source/utils/net_ads.c              |    4 +-
 source/utils/net_lookup.c           |   16 +-
 source/winbindd/winbindd_cm.c       |   13 +-
 source/winbindd/winbindd_locator.c  |   10 +-
 23 files changed, 1904 insertions(+), 447 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/Makefile.in b/source/Makefile.in
index 3029cd0..998bf43 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -395,7 +395,7 @@ LIBADS_OBJ = libads/ldap.o libads/ldap_printer.o \
 	     libads/krb5_setpw.o libads/ldap_user.o \
 	     libads/ads_struct.o libads/kerberos_keytab.o \
              libads/disp_sec.o libads/ads_utils.o libads/ldap_utils.o \
-	     libads/cldap.o libads/ldap_schema.o libads/util.o libads/ndr.o
+	     libads/ldap_schema.o libads/util.o libads/ndr.o
 
 LIBADS_SERVER_OBJ = libads/kerberos_verify.o libads/authdata.o \
 		    librpc/ndr/ndr_krb5pac.o \
@@ -430,6 +430,8 @@ LIBSMB_OBJ0 = \
 LIBSAMBA_OBJ = $(LIBSMB_OBJ0) \
 	       $(LIBSMB_ERR_OBJ)
 
+CLDAP_OBJ = libads/cldap.o
+
 LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
 	     libsmb/clikrb5.o libsmb/clispnego.o libsmb/asn1.o \
 	     libsmb/clirap.o libsmb/clierror.o libsmb/climessage.o \
@@ -441,7 +443,8 @@ LIBSMB_OBJ = libsmb/clientgen.o libsmb/cliconnect.o libsmb/clifile.o \
 	     libsmb/smb_seal.o libsmb/async_smb.o \
 	     $(LIBSAMBA_OBJ) \
 	     $(LIBNMB_OBJ) \
-	     $(LIBNBT_OBJ)
+	     $(LIBNBT_OBJ) \
+	     $(CLDAP_OBJ)
 
 RPC_CLIENT_OBJ1 = rpc_client/cli_netlogon.o
 
@@ -720,7 +723,8 @@ NMBD_OBJ1 = nmbd/asyncdns.o nmbd/nmbd.o nmbd/nmbd_become_dmb.o \
             nmbd/nmbd_workgroupdb.o nmbd/nmbd_synclists.o smbd/connection.o
 
 NMBD_OBJ = $(NMBD_OBJ1) $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
-           $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ)
+           $(PROFILE_OBJ) $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ) \
+	   librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 SWAT_OBJ1 = web/cgi.o web/diagnose.o web/startstop.o web/statuspage.o \
            web/swat.o web/neg_lang.o
@@ -899,7 +903,8 @@ NET_OBJ = $(NET_OBJ1) \
 	  $(PRIVILEGES_BASIC_OBJ)
 
 CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
-	  $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ)
+	  $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
+	  librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 CIFS_MOUNT_OBJ = client/mount.cifs.o
 
@@ -914,24 +919,29 @@ SMBTORTURE_OBJ1 = torture/torture.o torture/nbio.o torture/scanner.o torture/uta
 		torture/denytest.o torture/mangle_test.o
 
 SMBTORTURE_OBJ = $(SMBTORTURE_OBJ1) $(PARAM_OBJ) \
-	$(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ)
+	$(LIBSMB_OBJ) $(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
+	librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 MASKTEST_OBJ = torture/masktest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
-                 $(LIB_NONSMBD_OBJ)
+                 $(LIB_NONSMBD_OBJ) \
+		 librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 MSGTEST_OBJ = torture/msgtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
-                 $(LIB_NONSMBD_OBJ)
+                 $(LIB_NONSMBD_OBJ) \
+		 librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 LOCKTEST_OBJ = torture/locktest.o $(PARAM_OBJ) $(LOCKING_OBJ) $(KRBCLIENT_OBJ) \
-               $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ)
+               $(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) \
+               librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 NSSTEST_OBJ = torture/nsstest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
-                 $(LIB_NONSMBD_OBJ)
+                 $(LIB_NONSMBD_OBJ) \
+		 librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 PDBTEST_OBJ = torture/pdbtest.o $(PARAM_OBJ) $(LIBSMB_OBJ) $(KRBCLIENT_OBJ) \
 		$(LIB_NONSMBD_OBJ) $(PASSDB_OBJ) @LIBWBCLIENT_STATIC@ $(GROUPDB_OBJ) \
-		$(SMBLDAP_OBJ) $(POPT_LIB_OBJ) $(LDB_OBJ)
-
+		$(SMBLDAP_OBJ) $(POPT_LIB_OBJ) $(LDB_OBJ) \
+		librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 VFSTEST_OBJ = torture/cmd_vfs.o torture/vfstest.o $(SMBD_OBJ_BASE) $(READLINE_OBJ)
 
@@ -940,7 +950,8 @@ SMBICONV_OBJ = $(PARAM_OBJ) torture/smbiconv.o $(LIB_NONSMBD_OBJ) $(POPT_LIB_OBJ
 LOG2PCAP_OBJ = utils/log2pcaphex.o
 
 LOCKTEST2_OBJ = torture/locktest2.o $(PARAM_OBJ) $(LOCKING_OBJ) $(LIBSMB_OBJ) \
-		$(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ)
+		$(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) \
+		librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 SMBCACLS_OBJ = utils/smbcacls.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
 		$(KRBCLIENT_OBJ) $(LIB_NONSMBD_OBJ) $(RPC_PARSE_OBJ) \
@@ -981,7 +992,8 @@ NDRDUMP_OBJ = librpc/tools/ndrdump.o \
 DEBUG2HTML_OBJ = utils/debug2html.o utils/debugparse.o
 
 SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
-                 $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ)
+                 $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
+		 librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 PROTO_OBJ = $(SMBD_OBJ_MAIN) $(LIBNDR_OBJ) $(LIBNDR_GEN_OBJ) \
 	    $(SMBD_OBJ_SRV) $(NMBD_OBJ1) $(LIBSMB_OBJ) \
@@ -1004,7 +1016,8 @@ PROTO_OBJ = $(SMBD_OBJ_MAIN) $(LIBNDR_OBJ) $(LIBNDR_GEN_OBJ) \
 	    $(PRIVILEGES_BASIC_OBJ)
 
 WINBIND_WINS_NSS_OBJ = nsswitch/wins.o $(PARAM_OBJ) \
-	$(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ)
+	$(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) \
+	librpc/gen_ndr/ndr_samr.o librpc/gen_ndr/ndr_lsa.o
 
 PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
 		pam_smbpass/pam_smb_acct.o pam_smbpass/support.o
diff --git a/source/lib/gencache.c b/source/lib/gencache.c
index 6131269..b773f83 100644
--- a/source/lib/gencache.c
+++ b/source/lib/gencache.c
@@ -324,7 +324,7 @@ bool gencache_get_data_blob(const char *keystr, DATA_BLOB *blob, bool *expired)
  * @retval false on failure
  **/
 
-bool gencache_set_data_blob(const char *keystr, DATA_BLOB *blob, time_t timeout)
+bool gencache_set_data_blob(const char *keystr, const DATA_BLOB *blob, time_t timeout)
 {
 	bool ret = False;
 	int tdb_ret;
diff --git a/source/lib/netapi/getdc.c b/source/lib/netapi/getdc.c
index 38aaf0e..c1d021b 100644
--- a/source/lib/netapi/getdc.c
+++ b/source/lib/netapi/getdc.c
@@ -118,6 +118,7 @@ WERROR DsGetDcName_l(struct libnetapi_ctx *ctx,
 	NTSTATUS status;
 
 	status = dsgetdcname(ctx,
+			     NULL,
 			     r->in.domain_name,
 			     r->in.domain_guid,
 			     r->in.site_name,
diff --git a/source/lib/netapi/joindomain.c b/source/lib/netapi/joindomain.c
index 74ed8f2..66f7cfb 100644
--- a/source/lib/netapi/joindomain.c
+++ b/source/lib/netapi/joindomain.c
@@ -47,18 +47,20 @@ WERROR NetJoinDomain_l(struct libnetapi_ctx *mem_ctx,
 	if (r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_TYPE) {
 		NTSTATUS status;
 		struct netr_DsRGetDCNameInfo *info = NULL;
+		const char *dc = NULL;
 		uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
 				 DS_WRITABLE_REQUIRED |
 				 DS_RETURN_DNS_NAME;
-		status = dsgetdcname(mem_ctx, r->in.domain,
+		status = dsgetdcname(mem_ctx, NULL, r->in.domain,
 				     NULL, NULL, flags, &info);
 		if (!NT_STATUS_IS_OK(status)) {
 			libnetapi_set_error_string(mem_ctx,
 				"%s", get_friendly_nt_error_msg(status));
 			return ntstatus_to_werror(status);
 		}
-		j->in.dc_name = talloc_strdup(mem_ctx,
-					      info->dc_unc);
+
+		dc = strip_hostname(info->dc_unc);
+		j->in.dc_name = talloc_strdup(mem_ctx, dc);
 		W_ERROR_HAVE_NO_MEMORY(j->in.dc_name);
 	}
 
@@ -174,10 +176,11 @@ WERROR NetUnjoinDomain_l(struct libnetapi_ctx *mem_ctx,
 	} else {
 		NTSTATUS status;
 		struct netr_DsRGetDCNameInfo *info = NULL;
+		const char *dc = NULL;
 		uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
 				 DS_WRITABLE_REQUIRED |
 				 DS_RETURN_DNS_NAME;
-		status = dsgetdcname(mem_ctx, domain,
+		status = dsgetdcname(mem_ctx, NULL, domain,
 				     NULL, NULL, flags, &info);
 		if (!NT_STATUS_IS_OK(status)) {
 			libnetapi_set_error_string(mem_ctx,
@@ -186,8 +189,9 @@ WERROR NetUnjoinDomain_l(struct libnetapi_ctx *mem_ctx,
 				get_friendly_nt_error_msg(status));
 			return ntstatus_to_werror(status);
 		}
-		u->in.dc_name = talloc_strdup(mem_ctx,
-					      info->dc_unc);
+
+		dc = strip_hostname(info->dc_unc);
+		u->in.dc_name = talloc_strdup(mem_ctx, dc);
 		W_ERROR_HAVE_NO_MEMORY(u->in.dc_name);
 
 		u->in.domain_name = domain;
@@ -352,10 +356,11 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx,
 	ADS_STATUS ads_status;
 	ADS_STRUCT *ads = NULL;
 	struct netr_DsRGetDCNameInfo *info = NULL;
+	const char *dc = NULL;
 	uint32_t flags = DS_DIRECTORY_SERVICE_REQUIRED |
 			 DS_RETURN_DNS_NAME;
 
-	status = dsgetdcname(ctx, r->in.domain,
+	status = dsgetdcname(ctx, NULL, r->in.domain,
 			     NULL, NULL, flags, &info);
 	if (!NT_STATUS_IS_OK(status)) {
 		libnetapi_set_error_string(ctx, "%s",
@@ -363,7 +368,9 @@ WERROR NetGetJoinableOUs_l(struct libnetapi_ctx *ctx,
 		return ntstatus_to_werror(status);
 	}
 
-	ads = ads_init(r->in.domain, r->in.domain, info->dc_unc);
+	dc = strip_hostname(info->dc_unc);
+
+	ads = ads_init(r->in.domain, r->in.domain, dc);
 	if (!ads) {
 		return WERR_GENERAL_FAILURE;
 	}
diff --git a/source/lib/util.c b/source/lib/util.c
index 5f95bcc..0a32f0f 100644
--- a/source/lib/util.c
+++ b/source/lib/util.c
@@ -3453,3 +3453,22 @@ bool is_valid_policy_hnd(const POLICY_HND *hnd)
 	return (memcmp(&tmp, hnd, sizeof(tmp)) != 0);
 }
 
+/****************************************************************
+ strip off leading '\\' from a hostname
+****************************************************************/
+
+const char *strip_hostname(const char *s)
+{
+	if (!s) {
+		return NULL;
+	}
+
+	if (strlen_m(s) < 3) {
+		return s;
+	}
+
+	if (s[0] == '\\') s++;
+	if (s[0] == '\\') s++;
+
+	return s;
+}
diff --git a/source/libads/cldap.c b/source/libads/cldap.c
index be084c9..efe13cc 100644
--- a/source/libads/cldap.c
+++ b/source/libads/cldap.c
@@ -3,6 +3,7 @@
    net ads cldap functions 
    Copyright (C) 2001 Andrew Tridgell (tridge at samba.org)
    Copyright (C) 2003 Jim McDonough (jmcd at us.ibm.com)
+   Copyright (C) 2008 Guenther Deschner (gd at samba.org)
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -118,7 +119,8 @@ static void gotalarm_sig(void)
 */
 static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 			       int sock,
-			       struct nbt_cldap_netlogon_5 *reply)
+			       uint32_t *nt_version,
+			       union nbt_cldap_netlogon **reply)
 {
 	int ret;
 	ASN1_DATA data;
@@ -129,8 +131,7 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 	int i1;
 	/* half the time of a regular ldap timeout, not less than 3 seconds. */
 	unsigned int al_secs = MAX(3,lp_ldap_timeout()/2);
-	union nbt_cldap_netlogon p;
-	enum ndr_err_code ndr_err;
+	union nbt_cldap_netlogon *r = NULL;
 
 	blob = data_blob(NULL, 8192);
 	if (blob.data == NULL) {
@@ -184,16 +185,23 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return -1;
 	}
 
-	ndr_err = ndr_pull_union_blob_all(&os3, mem_ctx, &p, 5,
-		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
-	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+	r = TALLOC_ZERO_P(mem_ctx, union nbt_cldap_netlogon);
+	if (!r) {
+		errno = ENOMEM;
+		data_blob_free(&os1);
+		data_blob_free(&os2);
+		data_blob_free(&os3);
+		data_blob_free(&blob);
 		return -1;
 	}
 
-	*reply = p.logon5;
-
-	if (DEBUGLEVEL >= 10) {
-		NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, 5, &p);
+	if (!pull_mailslot_cldap_reply(mem_ctx, &os3, r, nt_version)) {
+		data_blob_free(&os1);
+		data_blob_free(&os2);
+		data_blob_free(&os3);
+		data_blob_free(&blob);
+		TALLOC_FREE(r);
+		return -1;
 	}
 
 	data_blob_free(&os1);
@@ -203,6 +211,12 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 	
 	asn1_free(&data);
 
+	if (reply) {
+		*reply = r;
+	} else {
+		TALLOC_FREE(r);
+	}
+
 	return 0;
 }
 
@@ -213,7 +227,8 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 			const char *server,
 			const char *realm,
-			struct nbt_cldap_netlogon_5 *reply)
+			uint32_t *nt_version,
+			union nbt_cldap_netlogon **reply)
 {
 	int sock;
 	int ret;
@@ -225,12 +240,12 @@ bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return False;
 	}
 
-	ret = send_cldap_netlogon(sock, realm, global_myname(), 6);
+	ret = send_cldap_netlogon(sock, realm, global_myname(), *nt_version);
 	if (ret != 0) {
 		close(sock);
 		return False;
 	}
-	ret = recv_cldap_netlogon(mem_ctx, sock, reply);
+	ret = recv_cldap_netlogon(mem_ctx, sock, nt_version, reply);
 	close(sock);
 
 	if (ret == -1) {
@@ -239,3 +254,114 @@ bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 
 	return True;
 }
+
+/*******************************************************************
+  do a cldap netlogon query.  Always 389/udp
+*******************************************************************/
+
+bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
+			  const char *server,
+			  const char *realm,
+			  struct nbt_cldap_netlogon_5 *reply5)
+{
+	uint32_t nt_version = NETLOGON_VERSION_5 | NETLOGON_VERSION_5EX;
+	union nbt_cldap_netlogon *reply = NULL;
+	bool ret;
+
+	ret = ads_cldap_netlogon(mem_ctx, server, realm, &nt_version, &reply);
+	if (!ret) {
+		return false;
+	}
+
+	if (nt_version != (NETLOGON_VERSION_5 | NETLOGON_VERSION_5EX)) {
+		return false;
+	}
+
+	*reply5 = reply->logon5;
+
+	return true;
+}
+
+/****************************************************************
+****************************************************************/
+
+bool pull_mailslot_cldap_reply(TALLOC_CTX *mem_ctx,
+			       const DATA_BLOB *blob,
+			       union nbt_cldap_netlogon *r,
+			       uint32_t *nt_version)
+{
+	enum ndr_err_code ndr_err;
+	uint32_t nt_version_query = ((*nt_version) & 0x0000001f);
+	uint16_t command = 0;
+
+	ndr_err = ndr_pull_struct_blob(blob, mem_ctx, &command,
+			(ndr_pull_flags_fn_t)ndr_pull_uint16);
+	if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		return false;
+	}
+
+	switch (command) {
+		case 0x13: /* 19 */
+		case 0x15: /* 21 */
+		case 0x17: /* 23 */
+			 break;
+		default:
+			DEBUG(1,("got unexpected command: %d (0x%08x)\n",
+				command, command));
+			return false;
+	}
+
+	ndr_err = ndr_pull_union_blob_all(blob, mem_ctx, r, nt_version_query,
+		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		goto done;
+	}
+
+	/* when the caller requested just those nt_version bits that the server
+	 * was able to reply to, we are fine and all done. otherwise we need to
+	 * assume downgraded replies which are painfully parsed here - gd */
+
+	if (nt_version_query & NETLOGON_VERSION_WITH_CLOSEST_SITE) {
+		nt_version_query &= ~NETLOGON_VERSION_WITH_CLOSEST_SITE;
+	}
+	ndr_err = ndr_pull_union_blob_all(blob, mem_ctx, r, nt_version_query,
+		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		goto done;
+	}
+	if (nt_version_query & NETLOGON_VERSION_5EX_WITH_IP) {
+		nt_version_query &= ~NETLOGON_VERSION_5EX_WITH_IP;
+	}
+	ndr_err = ndr_pull_union_blob_all(blob, mem_ctx, r, nt_version_query,
+		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		goto done;
+	}
+	if (nt_version_query & NETLOGON_VERSION_5EX) {
+		nt_version_query &= ~NETLOGON_VERSION_5EX;
+	}
+	ndr_err = ndr_pull_union_blob_all(blob, mem_ctx, r, nt_version_query,
+		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		goto done;
+	}
+	if (nt_version_query & NETLOGON_VERSION_5) {
+		nt_version_query &= ~NETLOGON_VERSION_5;
+	}
+	ndr_err = ndr_pull_union_blob_all(blob, mem_ctx, r, nt_version_query,
+		       (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon);
+	if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+		goto done;
+	}
+
+	return false;
+
+ done:
+	if (DEBUGLEVEL >= 10) {
+		NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, nt_version_query, r);
+	}
+
+	*nt_version = nt_version_query;
+
+	return true;
+}
diff --git a/source/libads/ldap.c b/source/libads/ldap.c
index 181da9e..063645f 100644
--- a/source/libads/ldap.c
+++ b/source/libads/ldap.c
@@ -199,7 +199,7 @@ bool ads_try_connect(ADS_STRUCT *ads, const char *server )
 
 	ZERO_STRUCT( cldap_reply );
 
-	if ( !ads_cldap_netlogon(mem_ctx, srv, ads->server.realm, &cldap_reply ) ) {
+	if ( !ads_cldap_netlogon_5(mem_ctx, srv, ads->server.realm, &cldap_reply ) ) {
 		DEBUG(3,("ads_try_connect: CLDAP request %s failed.\n", srv));
 		ret = false;
 		goto out;
@@ -249,6 +249,7 @@ bool ads_try_connect(ADS_STRUCT *ads, const char *server )
 
 	/* Store our site name. */
 	sitename_store( cldap_reply.domain, cldap_reply.client_site);
+	sitename_store( cldap_reply.dns_domain, cldap_reply.client_site);
 
 	ret = true;
  out:
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index 3f48284..922da0d 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -1619,7 +1619,9 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
 
 	if (!r->in.dc_name) {
 		struct netr_DsRGetDCNameInfo *info;
+		const char *dc;
 		status = dsgetdcname(mem_ctx,
+				     r->in.msg_ctx,
 				     r->in.domain_name,
 				     NULL,
 				     NULL,
@@ -1635,8 +1637,8 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list