[SCM] Samba Shared Repository - branch v3-3-stable updated - release-3-3-0pre2-308-g5d3ff06

Karolin Seeger kseeger at samba.org
Wed Nov 26 09:30:55 GMT 2008


The branch, v3-3-stable has been updated
       via  5d3ff068e87b962f736c6697c13ca528afd1442e (commit)
       via  fc5e5cf9e36e643f1860cfc9579396fc9bf5a31c (commit)
       via  c140611afab03f470e5155539a8488b01683a667 (commit)
       via  3f5f8bb8470f27d14dfaefa2f5486a5465f93047 (commit)
       via  338118c23f307860d8a0e0c667516244fc72efc5 (commit)
       via  b3659ac3f6c49ebafcecc909213cc36f26bdf98c (commit)
       via  27e646bb9ae01c78e1378f28417ae5088e844ea0 (commit)
       via  cf31e3f02f21cbbb9b744ae7860eaf9ed90feefa (commit)
       via  c8dfc2dbfdbc344a68f4f11f5935ff42b5795d18 (commit)
       via  b16eb9433c6d6560284ca52e48e58a4b581a2213 (commit)
       via  eede88d036bf5333e39914d31247b8a3d4e0ce36 (commit)
       via  30c18ed97e0be079e120ebb18554259091d63917 (commit)
       via  aff40cf54c3eb3df3ac541b7adc8788336ab5aa0 (commit)
       via  5ca803e0c2ec5cd7e5f19dd0e17e5b478d0f5c55 (commit)
       via  9eb26a9c63e5b184a15d1d6e7f9f1ecb3728cb15 (commit)
       via  8bb9a2f81905a78da63f8fb7969c59be11739c54 (commit)
       via  57eb1179e786425a52c4b697c27896a3bf4ff33c (commit)
       via  c1950b9355b277a600c91c49b13dc8b7c9bf7dc0 (commit)
       via  3a50c98b207caf15deb0611bd8ba20995362632b (commit)
       via  a995f8329d66a950accaf9f152c21689afa0ddeb (commit)
       via  727d5d6a8df01b0efd5372f5324206b96203ef73 (commit)
       via  3278a7d3ed7d2fa9124f676f6dfc09e0baca1131 (commit)
       via  f071ee1c853caab5ac99332e09a810d031ec3666 (commit)
       via  a31e0490af0f22c07c1935435898dcea26773897 (commit)
       via  9d77bd5c69ccb22a954da1a2c5e9123a470d5807 (commit)
       via  e412c64023b17504ee53b0c4cefde5d9bc21a784 (commit)
       via  bd50b584578fece73b014418b737f31029496861 (commit)
       via  03144acd5261f71895df76a0b0067271679d5c2e (commit)
       via  266fc43d35f604070c9cb7e7ebc118a91105670c (commit)
       via  5190243723c12aca2cf36698539af65fc891e0d7 (commit)
       via  22aa26026fdc7866bfcd2e0722e47de2cc067cb8 (commit)
       via  45ee7751154a184e54e241fcb4865a61dd5b25b4 (commit)
       via  bd7568998ef7e9c149719f71130a194f74c51228 (commit)
       via  a62d4e7e1423b5dc25b256e3ea14d85c52dacc6e (commit)
       via  2579aa79e620114b543e75db326e21853461b56c (commit)
       via  9823bb98a7c6a4b3e6d5d1950dc6aba41c756fb9 (commit)
       via  ad6ed7e08d778406c9358083898666c9f980d930 (commit)
       via  95767c2ceb1430dc74212497712b55e2cb067928 (commit)
       via  e5ae9aeb8d73ab54d9b37965d104e2af499e54c6 (commit)
       via  f76947ff0981d186a2d968e7d3e0312831ae714d (commit)
       via  9d84ce0df29c77ffaf8d7d34d126a3186bbe06ae (commit)
       via  fcf63b2014df453f7b6fef86d2a4caef7ee8276c (commit)
       via  2b92909d09ce3f358b52c19495d3cfd8b6e897cf (commit)
       via  f47a8a6d22609229e2ed238fc1419454a3e3422b (commit)
       via  a5af93ee957ecb29a75254231efca57567a5dbd0 (commit)
       via  c7887830dc6f58fd951f2231d9bf1c70e176cd95 (commit)
       via  67c8e5f58ce8833054313cd8c6bce3fdffa65ffb (commit)
       via  5cde1d4d47ca2646bb8669b90394d774c9dedaad (commit)
       via  e0b36a7605972abd5d79a071e5200ac701fdf8e4 (commit)
       via  7fabe63ca28bcda8613b817943471e0d30744ee9 (commit)
       via  ad0d173331e52791eadef1a72b6af54bcce05c50 (commit)
       via  480cbff540bd3cde18301e505c1d06e12089e7d9 (commit)
       via  2a0f88fe399890b71556f178d63a6311419825e3 (commit)
       via  369fbe89e5dd71dc4760fe25ea30dbd3157cd27a (commit)
       via  7f47acbe4a1b40abcec747f384d06b57e83d6386 (commit)
       via  021fe091091888180e64ad1cdcca4b4e33a0052e (commit)
       via  4cb97ba397d06d7447956a5dc2f2b6a4f7a52009 (commit)
       via  1786b2004a3599f15e32dd18926f4d43de4b2c9b (commit)
       via  6e133e221c8d8544b514783f67d082578b0e3e9b (commit)
       via  2b096a298b33dfd9116ad861cb87959aa337fd98 (commit)
       via  71afd274b9920c52b6966938b624d5df749b5c1d (commit)
       via  3b736d81cc549a62d6d2d72c3701e06bf5bcb4cc (commit)
       via  672a412977914f03948e141daac9380f3126f6de (commit)
       via  e66f1d88a6f55dea69a4c35c13cc32397cd86540 (commit)
       via  b7701fdb0318e9fd55fbafb048d6bf2ea909505a (commit)
       via  0305d67369dfe6b0b0fc6eac0ee0d8b9b5541e95 (commit)
       via  f345837ad339d788611b2b75747e0038699add8c (commit)
       via  d3385adad4599ebf610daf3cf71c8dc2de4c11d3 (commit)
       via  7336058662fc80be8b8e88077f5c5d51e64fbd3a (commit)
       via  a396311ce07a6e5bf1958de1bd9344a13b397da8 (commit)
       via  8e5b47c6a105b70a9753c0b2def3725ca9efe7fc (commit)
       via  f87d4c082b66acdd9a00f5644c428d0af17292b7 (commit)
       via  ac82b50dff4713cc4933600dea28de9ddcdaab76 (commit)
      from  6c7b05acf7ec731b91a5717f89a229bcdb1e94f4 (commit)

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


- Log -----------------------------------------------------------------
commit 5d3ff068e87b962f736c6697c13ca528afd1442e
Author: Günther Deschner <gd at samba.org>
Date:   Tue Nov 25 12:19:35 2008 +0100

    s3-samr: fix _samr_LookupNames return code.
    
    Guenther
    (cherry picked from commit dc7c2d63b3ce142959aa863f000fa9140de99eb0)

commit fc5e5cf9e36e643f1860cfc9579396fc9bf5a31c
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 15:56:30 2008 +0100

    s3-libnetjoin: fix build warning.
    
    Guenther
    (cherry picked from commit 3e529fb619384e694e01204ca305e2a13724defd)

commit c140611afab03f470e5155539a8488b01683a667
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 6 13:37:03 2008 +0100

    s3-libnetjoin: try to show a better error message upon invalid configuration.
    
    Guenther
    (cherry picked from commit 0e99fe1855c66e9743725d43ba92ec59f35f5b55)

commit 3f5f8bb8470f27d14dfaefa2f5486a5465f93047
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 23:28:23 2008 +0100

    WHATSNEW: add more items.
    
    Guenther
    (cherry picked from commit ffca48241731d416090215b194da5f8047303329)

commit 338118c23f307860d8a0e0c667516244fc72efc5
Author: Michael Adam <obnox at samba.org>
Date:   Mon Nov 24 16:35:41 2008 +0100

    zfsacl: "return" is not a function.
    
    Michael
    (cherry picked from commit 7518cbbad3d866253c03d4d080d0880e343499c5)

commit b3659ac3f6c49ebafcecc909213cc36f26bdf98c
Author: Nils Goroll <nils.goroll at hamburg.de>
Date:   Mon Nov 17 01:06:28 2008 +0100

    zfsacl: Prevent calling POSIX ACL vfs methods on zfs share.
    
    This is a proposed fix for Bugs #5135 and #5446.
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    (cherry picked from commit a9f20b4f4283904478e21a109bede26c8685b056)

commit 27e646bb9ae01c78e1378f28417ae5088e844ea0
Author: Dan Sledz <dsledz at isilon.com>
Date:   Sun Nov 16 17:40:03 2008 -0800

    [PATCH] Allow SYSLOG_FACILITY to be modified with a new configure option called --with-syslog-facility
    (cherry picked from commit 9e74113ecdad2df46b3a77d195e37a38c7e77d3d)

commit cf31e3f02f21cbbb9b744ae7860eaf9ed90feefa
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 24 15:28:53 2008 -0800

    Fix bug #5873 - ACL inheritance cannot be broken. This regresses #4308, but that will have to
    be fixed another way.
    Jeremy.
    (cherry picked from commit fa7a8f051debefa4e061b167a6906785d90deada)

commit c8dfc2dbfdbc344a68f4f11f5935ff42b5795d18
Author: Steven Danneman <steven.danneman at isilon.com>
Date:   Mon Nov 24 12:05:09 2008 -0800

    Fix to allow setting of NULL DACL/SACL
    
    This is a modification of Jeremy's 7522ef15aca2429ef57c75d8297dd8121e79c9da
    commit.
    
    If no DACL/SACL is present in the packet, the SEC_INFO field should still be
    passed down as is to the VFS layer to signal the creation of a NULL DACL/SACL.
    
    As seen in metze RAW-ACL test_nttrans_create_null_dacl(), a NULL DACL is set
    regardless of the SEC_DESC_DACL_PRESENT bit being set.
    (cherry picked from commit fc064837fbf84726ad66b16ef6e1f8c67d47a1fe)

commit b16eb9433c6d6560284ca52e48e58a4b581a2213
Author: Mathias Dietz <MDIETZ at de.ibm.com>
Date:   Wed Nov 12 14:32:45 2008 +0100

    Search for gpfs functions in both libgpfs_gpl.so an libgpfs.so
    
    As of GPFS 3.2.1 PTF8 libgpfs will be available as GPL, so we don't need the
    special libgpfs_gpl lib anymore. For backwards compatibility with pre-PTF8 GPFS
    installations, still look there.
    (cherry picked from commit 61468186cece7370576a2d13992f9a523067e4be)

commit eede88d036bf5333e39914d31247b8a3d4e0ce36
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Nov 24 15:07:56 2008 +0100

    libads/ldap.c: return an error instead of crashing when no realm is given
    
    The bug was triggered by "net ads info -S 127.8.7.6" (where 127.8.7.6 doesn't exist)
    and "disable netbios = yes".
    
    metze
    
    Signed-off-by: Michael Adam <obnox at samba.org>
    (cherry picked from commit e2a60d2e1fd7455f08e73f8d1c513ca240c0f0af)

commit 30c18ed97e0be079e120ebb18554259091d63917
Author: Kai Blin <kai at samba.org>
Date:   Sun Nov 23 22:31:12 2008 +0100

    tags: Ignore include/proto.h from tag generation
    (cherry picked from commit 66d8109119d4a840584bda42b4bb98d2c7ee2417)

commit aff40cf54c3eb3df3ac541b7adc8788336ab5aa0
Author: Michael Adam <obnox at samba.org>
Date:   Sat Nov 22 01:51:41 2008 +0100

    nfs4_acls: make prototype header match definition for smb_set_nt_acl_nfs4()
    
    Add the const from nfs4_acls.c to nfs4_acls.h
    This fixes my build of the zfsacl module on solaris.
    
    Michael
    (cherry picked from commit 5572b01ae515405ca0da3d2913fe30294caa3516)

commit 5ca803e0c2ec5cd7e5f19dd0e17e5b478d0f5c55
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 22:46:37 2008 -0800

    Revert f268d75f5ed1258b08c5571780ea3be6724daed4 - "Fix the logic bug that caused us to
    run into kernel oplocks on an open for a stream inside a file with stream_xattr module. On
    opening the base_fsp we must break existing oplocks." as it broke make test.
    Jeremy
    (cherry picked from commit 11c4962cf6b6e6f66f5ce5788b331d43bd743248)

commit 9eb26a9c63e5b184a15d1d6e7f9f1ecb3728cb15
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 18:20:55 2008 -0800

    Fix the logic bug that caused us to run into kernel oplocks on an open for a stream inside a file with stream_xattr module. On opening the base_fsp we must break existing oplocks.
    Jeremy.
    (cherry picked from commit f268d75f5ed1258b08c5571780ea3be6724daed4)

commit 8bb9a2f81905a78da63f8fb7969c59be11739c54
Author: Dan Sledz <dsledz at isilon.com>
Date:   Fri Nov 14 18:41:17 2008 -0800

    [PATCH] FreeBSD configure check for backtrace_symbols
    
    On FreeBSD backtrace_symbols is defined in libexecinfo.so.1.  Look for it
    there as well.
    (cherry picked from commit a56572994ee1de318172321e301be1ec4c1b6a8f)

commit 57eb1179e786425a52c4b697c27896a3bf4ff33c
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 16:03:35 2008 -0800

    Use fxattr calls whenever possible (trying to work around the strange Linux kernel oplock bug).
    Jeremy.
    (cherry picked from commit e8eabd9275389799f7ec9fcf62ff864aeea6312c)

commit c1950b9355b277a600c91c49b13dc8b7c9bf7dc0
Author: Michael Adam <obnox at samba.org>
Date:   Sat Nov 22 00:02:40 2008 +0100

    winbindd: make all winbind rpc-methods static.
    
    Now that the methods are no longer needed in winbindd_ads,
    we can make them static again.
    
    Michael
    (cherry picked from commit cfc77901cace0f6ce241a5873148092e4edac4de)

commit 3a50c98b207caf15deb0611bd8ba20995362632b
Author: Michael Adam <obnox at samba.org>
Date:   Fri Nov 21 02:26:50 2008 +0100

    s3-winbindd_ads: use the reconnect methods instead of the rpc methods directly
    
    Some of the ads methods just point to the rpc methods.
    This makes winbindd_ads use the reconnect methods instead of
    calling the rpc methods directly in order to prevent
    negative cache entries for e.g. name_to_sid, when the dc
    has closed the connection without sending a reset.
    
    Michael
    (cherry picked from commit b89d75a093ef87bc7cccb8914d246c8e932f0352)

commit a995f8329d66a950accaf9f152c21689afa0ddeb
Author: Michael Adam <obnox at samba.org>
Date:   Thu Nov 20 16:57:44 2008 +0100

    winbindd_ads: prevent negative GM/ cache entries due to broken connections
    
    The ads lookup_groupmem() function calls lda_lookupsids to resolve sids
    to names. This is tried only once. So in case the connection was broken,
    e.g. closed by the server (without a reset packet), there will be an empty
    GM/ cache entry for the requested group which will prevent proper working
    of access checks among other checks for the expiry period.
    
    This patch works around this problem by retrying once if the lsa_lookupsids
    call fails, re-establishing the dc-connection, as we already do in many other
    places (e.g. the winbindd retry methods for the rpc layer).
    
    Michael
    (cherry picked from commit c833b19b0c3e746b53e6731988cd8bb6aca927f5)

commit 727d5d6a8df01b0efd5372f5324206b96203ef73
Author: Michael Adam <obnox at samba.org>
Date:   Sun Sep 21 02:07:43 2008 +0200

    winbindd_group: don't list the domain twice when expanding internal aliases
    
    Before this, "getent group builtin\\administrators" expanded
    domain group members in the form DOMAIN\domain\user.
    
    Michael
    (cherry picked from commit 7204116c9edcd98ea20cbc5f29e5f25737f78a41)

commit 3278a7d3ed7d2fa9124f676f6dfc09e0baca1131
Author: Michael Adam <obnox at samba.org>
Date:   Sun Sep 21 02:06:44 2008 +0200

    winbindd_group: sanely handle NULL domain in add_member().
    
    Michael
    (cherry picked from commit 3c286b1e7a1dbf68f57eca9d60e1c1bd49a4091c)

commit f071ee1c853caab5ac99332e09a810d031ec3666
Author: Michael Adam <obnox at samba.org>
Date:   Mon Sep 22 10:39:37 2008 +0200

    winbindd_ads: honour "winbind use default domain" in lookup_groupmem().
    
    This fixes the output of "getent group" when "winbind use default domain = yes"
    with security = ads.
    
    Michael
    (cherry picked from commit 39e04a65056d3c82ede8c283918e4dc505875b63)

commit a31e0490af0f22c07c1935435898dcea26773897
Author: Michael Adam <obnox at samba.org>
Date:   Sun Sep 21 01:20:32 2008 +0200

    winbindd_rpc: add domain prefix to username in lookup_groupmem().
    
    This makes the output of "getent group" of a domain group show the
    domain prefix with "security = domain".
    
    Michael
    (cherry picked from commit a2667f18957233bee80dd5214e20f3f031f0a354)

commit 9d77bd5c69ccb22a954da1a2c5e9123a470d5807
Author: Michael Adam <obnox at samba.org>
Date:   Mon Sep 22 10:37:11 2008 +0200

    winbindd_util: add fill_domain_username_talloc().
    
    A talloc version of fill_domain_username().
    
    Michael
    (cherry picked from commit 54890450e23da8642e3b4c8224e04a7af5d98d15)

commit e412c64023b17504ee53b0c4cefde5d9bc21a784
Author: Michael Adam <obnox at samba.org>
Date:   Mon Sep 22 10:36:32 2008 +0200

    winbindd_util: add prototype for fill_domain_username_talloc().
    
    A talloc version of fill_domain_username().
    
    Michael
    (cherry picked from commit 83cb69c6ad02e607f0ca90848f72ae2f1c3a67c7)

commit bd50b584578fece73b014418b737f31029496861
Author: Michael Adam <obnox at samba.org>
Date:   Mon Sep 22 14:51:51 2008 +0200

    winbindd: fix a comment typo
    
    Michael
    (cherry picked from commit cb5b2410d4ae16aa9afa022c3b60cfb8d46d25e9)

commit 03144acd5261f71895df76a0b0067271679d5c2e
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 12:53:53 2008 -0800

    Second part of the fix for bug #5903 - vfs_streams_xattr breaks contents of the file
    Jeremy.
    (cherry picked from commit 019dcf49572404b1cb3c12aca4e7eaa052aeeedd)

commit 266fc43d35f604070c9cb7e7ebc118a91105670c
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 11:09:02 2008 -0800

    Ensure we always reply in reply_printopen().
    Jeremy.
    (cherry picked from commit e0744713f2959446c918f817f0c602ba370eed77)

commit 5190243723c12aca2cf36698539af65fc891e0d7
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Nov 21 10:57:20 2008 -0800

    First part of fix for bug #5903 - vfs_streams_xattr breaks contents of the file.
    Restructures parts of open code so that fsp must be allocated before calling
    open_file_ntcreate(_internal). Also fix up file ref-counting inside files.c.
    Jeremy.
    (cherry picked from commit b2626032626dcccd660c047f91130e81e380ae17)

commit 22aa26026fdc7866bfcd2e0722e47de2cc067cb8
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 17:33:22 2008 +0100

    krb5_locator: use wbcLookupDomainControllerEx() for query.
    
    Guenther
    (cherry picked from commit b63b4028ed8823626a956bb437e275a1b1432483)

commit 45ee7751154a184e54e241fcb4865a61dd5b25b4
Author: Günther Deschner <gd at samba.org>
Date:   Sat Sep 27 03:09:07 2008 +0200

    s3-winbindd: use new, richer structures in WINBINDD_DSGETDCNAME implementation.
    
    Guenther
    (cherry picked from commit df554493c74ea611bfc5d890a4c2eca6eb3106d1)

commit bd7568998ef7e9c149719f71130a194f74c51228
Author: Günther Deschner <gd at samba.org>
Date:   Wed Nov 12 14:27:51 2008 +0100

    pam_winbind: fix some invalid blob handling.
    
    Guenther
    (cherry picked from commit f84fe8b0025850b31560f149ebaa27cf5a504694)

commit a62d4e7e1423b5dc25b256e3ea14d85c52dacc6e
Author: Andreas Schneider <anschneider at suse.de>
Date:   Fri Nov 21 11:39:01 2008 +0100

    Create a function out of pam_sm_close_session to delete the credentials.
    
    This is the way the creds should be deleted. Now we have back a
    close_session function which can be used for other things.
    (cherry picked from commit e451daf4c2e1a6de6c109e88243b535d7e15cb35)

commit 2579aa79e620114b543e75db326e21853461b56c
Author: Andreas Schneider <anschneider at suse.de>
Date:   Mon Oct 20 14:54:11 2008 +0200

    Delete the krb5 ccname variable from the PAM environment if set.
    
    If winbind sets the KRB5CCNAME variable it should unset it when
    the cache gets destroyed.
    (cherry picked from commit b656b672a3216829f3488734b058dd9f86409e5b)

commit 9823bb98a7c6a4b3e6d5d1950dc6aba41c756fb9
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:34:52 2008 +0100

    Set the right return value if wbc_status is set to an error.
    
    Guenther
    (cherry picked from commit 458a65b409f25f913a8122b320b38d1669137f06)

commit ad6ed7e08d778406c9358083898666c9f980d930
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 14:41:50 2008 +0200

    pam_winbind: document mkhomedir option.
    
    Guenther
    (cherry picked from commit 69109cd0b896ce7dfbe04b713367c8f1c933dc98)

commit 95767c2ceb1430dc74212497712b55e2cb067928
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:33:52 2008 +0100

    pam_winbind: re-add mkhomedir option.
    
    Guenther
    (cherry picked from commit 6a2d15f1de9fb7b93a31129139dea667303393db)

commit e5ae9aeb8d73ab54d9b37965d104e2af499e54c6
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 29 16:12:04 2008 +0200

    pam_winbind: remove unused pam_winbind_request().
    
    Guenther
    (cherry picked from commit e878e876b5ebc46536d83995c5bccd11c8f23b82)

commit f76947ff0981d186a2d968e7d3e0312831ae714d
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 14:52:24 2008 +0200

    pam_winbind: fix wbc_auth_error_to_pam_error().
    
    Guenther
    (cherry picked from commit 4e8e29174146e324ae0fb5af6799b256d49e05ab)

commit 9d84ce0df29c77ffaf8d7d34d126a3186bbe06ae
Author: Günther Deschner <gd at samba.org>
Date:   Mon Aug 25 14:35:42 2008 +0200

    pam_winbind: remove some unused macros.
    
    Guenther
    (cherry picked from commit 47a32ce25b29e189ce424f860bb4f624e6f39147)

commit fcf63b2014df453f7b6fef86d2a4caef7ee8276c
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 14:48:23 2008 +0200

    pam_winbind: use wbclient equivalents for ACB_PWNOEXP and some NETLOGON flags.
    
    Guenther
    (cherry picked from commit 69fd76d15bb8acdb1cc452ab68e1c4e65adbedcb)

commit 2b92909d09ce3f358b52c19495d3cfd8b6e897cf
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 11:07:59 2008 +0200

    pam_winbind: use libwbclient for WINBINDD_PAM_AUTH.
    
    Guenther
    (cherry picked from commit 26ca8d5504f1ef56355eb5ece88b1ac728869737)

commit f47a8a6d22609229e2ed238fc1419454a3e3422b
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:31:01 2008 +0100

    pam_winbind: use libwbclient for WINBINDD_PAM_LOGOFF.
    
    Guenther
    (cherry picked from commit 18f1585539bb306101f3471103a2936c2dfd0aa3)

commit a5af93ee957ecb29a75254231efca57567a5dbd0
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:22:07 2008 +0100

    pam_winbind: use libwbclient for WINBINDD_PAM_CHAUTHTOK.
    
    Guenther
    (cherry picked from commit a820f7c960c12f924c60fb9978543106e286e27f)

commit c7887830dc6f58fd951f2231d9bf1c70e176cd95
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 23:33:12 2008 +0200

    pam_winbind: use libwbclient for WINBINDD_LOOKUPNAME/LOOKUPSID.
    
    Guenther
    (cherry picked from commit 252715060fca9fd75b899a6df3ff65b67aad4ec8)

commit 67c8e5f58ce8833054313cd8c6bce3fdffa65ffb
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 18:17:00 2008 +0200

    pam_winbind: use libwbclient for WINBINDD_INFO.
    
    Guenther
    (cherry picked from commit 9c11f1a9d174d800696640671894e7071292444f)

commit 5cde1d4d47ca2646bb8669b90394d774c9dedaad
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 14 18:15:29 2008 +0200

    pam_winbind: use libwbclient for WINBINDD_GETPWNAM.
    
    Guenther
    (cherry picked from commit d1821ad64960308bae9ad34ab53f565be4f5c967)

commit e0b36a7605972abd5d79a071e5200ac701fdf8e4
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 13:36:39 2008 +0200

    pam_winbind: add _pam_check_remark_auth_err().
    
    Guenther
    (cherry picked from commit 1bf5777bf2f45c44e2e53617a01ebbffc05c330e)

commit 7fabe63ca28bcda8613b817943471e0d30744ee9
Author: Günther Deschner <gd at samba.org>
Date:   Tue Aug 19 10:59:18 2008 +0200

    pam_winbind: add wbc_auth_error_to_pam_error().
    
    Guenther
    (cherry picked from commit 6e0f91ad93e75f0f00f157c1e8eaab5b4f0f54f3)

commit ad0d173331e52791eadef1a72b6af54bcce05c50
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 15 03:13:18 2008 +0200

    pam_winbind: add wbc_error_to_pam_error().
    
    Guenther
    (cherry picked from commit b779820cabf0e2885526a72cae62e775588a6bab)

commit 480cbff540bd3cde18301e505c1d06e12089e7d9
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:16:11 2008 +0100

    pam_winbind: prepare to use libwbclient inside pam_winbind.
    
    Guenther
    (cherry picked from commit 3b93b9d65b0cb057887e8d286fc6c3bb06e1e7d1)

commit 2a0f88fe399890b71556f178d63a6311419825e3
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 11:13:42 2008 +0100

    pam_winbind: convert to use talloc.
    
    Guenther
    (cherry picked from commit 76be70a7190327f1bcd2ea240591a139830d580f)

commit 369fbe89e5dd71dc4760fe25ea30dbd3157cd27a
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Aug 23 13:12:36 2008 +0200

    Use talloc_stackframe() in machine_password_change_handler (This used to be commit 79103000b13c95325534db749a0da638a3eb1807)
    (cherry picked from commit 72a2b9615025c249c7cf1376ebeeb6a29537504f)

commit 7f47acbe4a1b40abcec747f384d06b57e83d6386
Author: Volker Lendecke <vl at sernet.de>
Date:   Sat Aug 23 13:12:05 2008 +0200

    Fix a memleak in calculate_next_machine_pwd_change (This used to be commit 5314f06dcdf14ce5e038a03a3e4dfded227bd00c)
    (cherry picked from commit fa20fa5d243ee640f5d564525358c1f5ba2df3a7)

commit 021fe091091888180e64ad1cdcca4b4e33a0052e
Author: Günther Deschner <gd at samba.org>
Date:   Fri Oct 10 15:18:02 2008 +0200

    libwbclient: add wbcLogonUser().
    
    Guenther
    (cherry picked from commit 80025324a944d74df4df883e7e9987533c8f1356)

commit 4cb97ba397d06d7447956a5dc2f2b6a4f7a52009
Author: Günther Deschner <gd at samba.org>
Date:   Fri Aug 15 13:53:23 2008 +0200

    libwbclient: add wbcLogoffUserEx().
    
    Guenther
    (cherry picked from commit 9a24e73f5112cfb0a9378dee0d82340f3de8e363)

commit 1786b2004a3599f15e32dd18926f4d43de4b2c9b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Sep 25 01:31:12 2008 +0200

    libwbclient: add wbcAddNamedBlob.
    
    Guenther
    (cherry picked from commit 095fe83f9d3115cefc876a62b012d3b12f9f68c3)

commit 6e133e221c8d8544b514783f67d082578b0e3e9b
Author: Günther Deschner <gd at samba.org>
Date:   Fri Oct 10 10:54:06 2008 +0200

    libwbclient: add wbcBlob and wbcNamedBlob.
    
    Guenther
    (cherry picked from commit d56cb98cd3a17f2847d088ed6187969fe51db740)

commit 2b096a298b33dfd9116ad861cb87959aa337fd98
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 01:47:42 2008 +0100

    WHATSNEW: add some more items.
    
    Guenther
    (cherry picked from commit b2b5946c2419482eaf7064b69a569cb3cfc1a8d7)

commit 71afd274b9920c52b6966938b624d5df749b5c1d
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 21 00:53:11 2008 +0100

    s3-winbindd: for now only change machine pwd when not using a system krb5 keytab.
    
    Guenther
    (cherry picked from commit 43991cd0ef972ebefabb0318a630403b9e42b67b)

commit 3b736d81cc549a62d6d2d72c3701e06bf5bcb4cc
Author: Günther Deschner <gd at samba.org>
Date:   Mon Aug 25 11:37:57 2008 +0200

    winbindd: only create machine pwd change event when in primary domain child.
    
    Guenther
    (This used to be commit 543dfdc1cf6baf60bffc23c6aebc542fd58d2d2e)
    (cherry picked from commit 61f51d78b34f1ed80cef9758cdcded6f6fa82c19)

commit 672a412977914f03948e141daac9380f3126f6de
Author: Günther Deschner <gd at samba.org>
Date:   Thu Aug 21 01:20:22 2008 +0200

    winbindd: add event based machine password change.
    
    Guenther
    (This used to be commit 15b72d44cbde0b8a375d8ed3d045c40ae97ec05a)
    (cherry picked from commit 4721049e840846c2ac4ba829c5eb669576b0fa0f)

commit e66f1d88a6f55dea69a4c35c13cc32397cd86540
Author: Yasuma Takeda <yasuma at osstech.co.jp>
Date:   Thu Nov 20 11:38:16 2008 -0800

    Fix bug #5909 - MS-DFS does not work on Vista, if link name includes multibyte character.
    (cherry picked from commit 3209e3b2c6cfdbcc9ac543e98e467e8a5d2c17ea)

commit b7701fdb0318e9fd55fbafb048d6bf2ea909505a
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 20 10:54:28 2008 -0800

    Second part of fix for bug #5891 - smbd crashed when viewing the eventlog exported by "eventlog list". Don't leak memory on error paths.
    Jeremy.
    (cherry picked from commit 0b795902f4c0f72697b33d3301942ab38ffe12c9)

commit 0305d67369dfe6b0b0fc6eac0ee0d8b9b5541e95
Author: Günther Deschner <gd at samba.org>
Date:   Wed Nov 19 17:20:44 2008 +0100

    The IRIX compiler does not like embedded unnamed unions.
    (cherry picked from commit a9682737efb7bf931a7d54e671fa17b2c9dfac5e)

commit f345837ad339d788611b2b75747e0038699add8c
Author: Günther Deschner <gd at samba.org>
Date:   Wed Sep 24 09:05:37 2008 +0200

    s3-nbt: remove double nbt netlogon opcodes.
    
    Guenther
    (cherry picked from commit 81fde585516957b6a7742e0168c68df33572ed74)
    (cherry picked from commit cae36caaaea944bf18a0d956da2d241c0fe563b5)

commit d3385adad4599ebf610daf3cf71c8dc2de4c11d3
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 23 21:08:25 2008 +0200

    s3: fix all mailslot/nbt/cldap callers.
    
    Guenther
    (cherry picked from commit 8ea883bfda3671009d37c94ca638e40cbfb94311)

commit 7336058662fc80be8b8e88077f5c5d51e64fbd3a
Author: Günther Deschner <gd at samba.org>
Date:   Wed Nov 19 15:40:50 2008 +0100

    s3: copy nbt/netlogon helper from s4.
    
    Guenther
    (cherry picked from commit 47a25d1723cae31a8b5ad2a50f1a8fc98a270b5a)

commit a396311ce07a6e5bf1958de1bd9344a13b397da8
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 23 08:58:37 2008 +0200

    s3: re-run make idl.
    
    Guenther
    (cherry picked from commit 9f23e65bdd011ba0d632ef70dfa057af84c9cbe0)

commit 8e5b47c6a105b70a9753c0b2def3725ca9efe7fc
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 23 08:31:34 2008 +0200

    s3-nbt: full merge of s4 nbt idl.
    
    Guenther
    (cherry picked from commit 9732c5e0f86c9c4c156a951dbfd26ddd43395088)

commit f87d4c082b66acdd9a00f5644c428d0af17292b7
Author: Michael Adam <obnox at samba.org>
Date:   Thu Nov 20 16:31:44 2008 +0100

    eventlog: don't crash in sync_eventlog_params().
    
    When freeing the talloc ctx at the end of the routine,
    it must be a talloc ctx created inside. talloc_tos() needs
    to be valid after the function finishes, since callers
    (may) have data attached to it.
    
    Michael
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    (cherry picked from commit 113c5d28edabdd17a2507e68aad612aa21c758f3)

commit ac82b50dff4713cc4933600dea28de9ddcdaab76
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 18 10:58:33 2008 -0800

    Re-structure Volker's patch to "Fix trans2findfirst for the large directory optimization". Makes the change clearer.
    Jeremy.

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

Summary of changes:
 WHATSNEW.txt                            |   13 +
 docs-xml/manpages-3/pam_winbind.7.xml   |    8 +
 examples/pam_winbind/pam_winbind.conf   |    3 +
 source/Makefile.in                      |   16 +-
 source/configure.in                     |   18 +
 source/include/includes.h               |    1 +
 source/include/nameserv.h               |   11 -
 source/include/proto.h                  |  106 +--
 source/libads/cldap.c                   |  119 +--
 source/libads/ldap.c                    |   10 +-
 source/libcli/nbt/nbtname.c             |   21 +
 source/libcli/ndr_netlogon.c            |  210 +++
 source/libcli/ndr_netlogon_proto.h      |   24 +
 source/libcli/netlogon.c                |  251 +++
 source/libcli/netlogon.h                |   54 +
 source/libcli/netlogon_proto.h          |   28 +
 source/libnet/libnet_join.c             |   61 +-
 source/librpc/gen_ndr/nbt.h             |  358 ++---
 source/librpc/gen_ndr/ndr_nbt.c         | 2599 +++++++------------------------
 source/librpc/gen_ndr/ndr_nbt.h         |   67 +-
 source/librpc/idl/nbt.idl               |  423 ++----
 source/libsmb/clidgram.c                |   91 +-
 source/libsmb/dsgetdcname.c             |  416 +----
 source/modules/gpfs.c                   |   92 +-
 source/modules/nfs4_acls.h              |    2 +-
 source/modules/vfs_streams_xattr.c      |  129 ++-
 source/modules/vfs_zfsacl.c             |   83 +
 source/nmbd/nmbd_processlogon.c         |   30 +-
 source/nsswitch/libwbclient/wbc_pam.c   |  295 ++++
 source/nsswitch/libwbclient/wbc_util.c  |   45 +
 source/nsswitch/libwbclient/wbclient.h  |   70 +-
 source/nsswitch/pam_winbind.c           | 1271 ++++++++++------
 source/nsswitch/pam_winbind.h           |   74 +-
 source/nsswitch/winbind_krb5_locator.c  |   39 +-
 source/printing/printfsp.c              |   15 +-
 source/rpc_server/srv_eventlog_nt.c     |   10 +-
 source/rpc_server/srv_samr_nt.c         |   11 +-
 source/smbd/close.c                     |    8 +-
 source/smbd/fake_file.c                 |    1 -
 source/smbd/filename.c                  |   42 +-
 source/smbd/files.c                     |   72 +-
 source/smbd/msdfs.c                     |   12 +-
 source/smbd/nttrans.c                   |   13 +-
 source/smbd/open.c                      |  177 ++-
 source/smbd/posix_acls.c                |    8 +
 source/smbd/reply.c                     |   14 +-
 source/utils/net_ads.c                  |   16 +-
 source/winbindd/idmap_adex/gc_util.c    |    2 +-
 source/winbindd/idmap_adex/idmap_adex.h |    2 +-
 source/winbindd/winbindd.h              |    1 +
 source/winbindd/winbindd_ads.c          |  124 ++-
 source/winbindd/winbindd_async.c        |    2 +-
 source/winbindd/winbindd_cm.c           |    2 +-
 source/winbindd/winbindd_dual.c         |  121 ++
 source/winbindd/winbindd_group.c        |    8 +-
 source/winbindd/winbindd_locator.c      |   61 +-
 source/winbindd/winbindd_proto.h        |   38 +-
 source/winbindd/winbindd_rpc.c          |   68 +-
 source/winbindd/winbindd_util.c         |   27 +
 59 files changed, 3771 insertions(+), 4122 deletions(-)
 create mode 100644 source/libcli/ndr_netlogon.c
 create mode 100644 source/libcli/ndr_netlogon_proto.h
 create mode 100644 source/libcli/netlogon.c
 create mode 100644 source/libcli/netlogon.h
 create mode 100644 source/libcli/netlogon_proto.h


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index bb70a13..76d8c34 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -220,6 +220,19 @@ o   Günther Deschner <gd at samba.org>
     * _samr_DeleteUser needs to wipe out the user_handle on success.
     * NetGroupEnum_r needs to handle servers with no groups.
     * Fix numerous netapi issues.
+    * Support for partial and delta netlogon replication in "net rpc vampire"
+    * Automatic machine password update in winbindd for member servers
+    * German internalization for pam_winbind
+    * Winbind krb5 locator plugin manpage
+    * New wbclient wbcLookupDomainControllerEx call
+    * Use autogenerated DCE/RPC routines for one more call on SVCCTL
+      named pipe
+    * Use autogenerated NBT routines from Samba4 for Mailslot/CLDAP
+      parsing
+    * Fix winbind password change code for Windows 2000 DCs
+    * Fix PNP_HwProfInfo NDR parsing
+    * Added wbclient wbcLogonUser and wbcLogoffUserEx functions
+    * Automatic home directory creation for pam_winbind
 
 
 o   Dina Fine <dina at exanet.com>
diff --git a/docs-xml/manpages-3/pam_winbind.7.xml b/docs-xml/manpages-3/pam_winbind.7.xml
index cf7fd5a..7f233c1 100644
--- a/docs-xml/manpages-3/pam_winbind.7.xml
+++ b/docs-xml/manpages-3/pam_winbind.7.xml
@@ -134,6 +134,14 @@
 		</para></listitem>
 		</varlistentry>
 
+		<varlistentry>
+		<term>mkhomedir</term>
+		<listitem><para>
+		Create homedirectory for a user on-the-fly, option is valid in
+		PAM session block.
+		</para></listitem>
+		</varlistentry>
+
 		</variablelist>
 
 
diff --git a/examples/pam_winbind/pam_winbind.conf b/examples/pam_winbind/pam_winbind.conf
index a9e02a8..dd0b112 100644
--- a/examples/pam_winbind/pam_winbind.conf
+++ b/examples/pam_winbind/pam_winbind.conf
@@ -33,3 +33,6 @@
 
 # omit pam conversations
 ;silent = no
+
+# create homedirectory on the fly
+;mkhomedir = no
diff --git a/source/Makefile.in b/source/Makefile.in
index 685c688..5e1aed4 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -389,6 +389,8 @@ LIBADS_SERVER_OBJ = libads/kerberos_verify.o libads/authdata.o \
 SECRETS_OBJ = passdb/secrets.o passdb/machine_sid.o
 
 LIBNBT_OBJ = libcli/nbt/nbtname.o \
+	     libcli/ndr_netlogon.o \
+	     libcli/netlogon.o \
 	     librpc/gen_ndr/ndr_nbt.o \
 	     librpc/gen_ndr/ndr_svcctl.o
 
@@ -1081,7 +1083,7 @@ LDBDEL_OBJ = $(LDB_CMDLINE_OBJ) lib/ldb/tools/ldbdel.o
 LDBMODIFY_OBJ = $(LDB_CMDLINE_OBJ) lib/ldb/tools/ldbmodify.o
 
 WINBIND_KRB5_LOCATOR_OBJ1 = nsswitch/winbind_krb5_locator.o
-WINBIND_KRB5_LOCATOR_OBJ = $(WINBIND_KRB5_LOCATOR_OBJ1) $(WBCOMMON_OBJ) $(LIBREPLACE_OBJ)
+WINBIND_KRB5_LOCATOR_OBJ = $(WINBIND_KRB5_LOCATOR_OBJ1) $(LIBREPLACE_OBJ)
 
 POPT_OBJ=popt/findme.o popt/popt.o popt/poptconfig.o \
           popt/popthelp.o popt/poptparse.o
@@ -2190,15 +2192,15 @@ bin/vlp at EXEEXT@: $(BINARY_PREREQS) $(VLP_OBJ) @LIBTALLOC_SHARED@ @LIBTDB_SHARED@
 		$(LDAP_LIBS) $(KRB5LIBS) $(LIBS) $(LIBTALLOC_LIBS) $(LIBTDB_LIBS) \
 		@SONAMEFLAG@`basename $@`@NSSSONAMEVERSIONSUFFIX@
 
-bin/winbind_krb5_locator. at SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ)
+bin/winbind_krb5_locator. at SHLIBEXT@: $(BINARY_PREREQS) $(WINBIND_KRB5_LOCATOR_OBJ) @LIBWBCLIENT_SHARED@
 	@echo "Linking $@"
-	@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) \
+	@$(SHLD) $(LDSHFLAGS) -o $@ $(WINBIND_KRB5_LOCATOR_OBJ) $(WINBIND_LIBS) \
 		@SONAMEFLAG@`basename $@`
 
-bin/pam_winbind. at SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ)
+bin/pam_winbind. at SHLIBEXT@: $(BINARY_PREREQS) $(PAM_WINBIND_OBJ) @LIBTALLOC_SHARED@ @LIBWBCLIENT_SHARED@
 	@echo "Linking shared library $@"
 	@$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_WINBIND_OBJ) -lpam @INIPARSERLIBS@ \
-		$(PAM_WINBIND_EXTRA_LIBS) @SONAMEFLAG@`basename $@`
+		$(PAM_WINBIND_EXTRA_LIBS) $(LIBTALLOC_LIBS) $(WINBIND_LIBS) @SONAMEFLAG@`basename $@`
 
 bin/builtin. at SHLIBEXT@: $(BINARY_PREREQS) $(AUTH_BUILTIN_OBJ)
 	@echo "Building plugin $@"
@@ -2701,10 +2703,10 @@ proto::
 .PHONY: proto
 
 etags:
-	etags `find $(srcdir) -name "*.[ch]" | grep -v /.svn/`
+	etags `find $(srcdir) -name "*.[ch]" | grep -v include/proto\.h`
 
 ctags:
-	ctags `find $(srcdir) -name "*.[ch]" | grep -v /.svn/`
+	ctags `find $(srcdir) -name "*.[ch]" | grep -v include/proto\.h`
 
 realclean:: clean
 	-rm -f config.log bin/.dummy script/findsmb script/gen-8bit-gap.sh
diff --git a/source/configure.in b/source/configure.in
index 1665e0e..49732b6 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -1059,6 +1059,8 @@ AC_CHECK_FUNCS(gettext dgettext)
 
 # Find a method of generating a stack trace
 AC_CHECK_HEADERS(execinfo.h libexc.h libunwind.h)
+# libexecinfo provides backtrace_symbols on FreeBSD
+AC_SEARCH_LIBS(backtrace_symbols, [execinfo])
 AC_CHECK_FUNCS(backtrace_symbols)
 AC_CHECK_LIB(exc, trace_back_stack)
 
@@ -4380,6 +4382,22 @@ AC_ARG_WITH(syslog,
 )
 
 #################################################
+# check for custom syslog facility
+AC_MSG_CHECKING(whether to use a custom syslog facility)
+AC_ARG_WITH(syslog-facility,
+[AS_HELP_STRING([--with-syslog-facility], [Use a custom syslog facility (default=none)])],
+[
+  if test "$withval" = "no" ; then
+    AC_MSG_ERROR([argument to --with-syslog-facility must be a string])
+  else
+     if test "$withval" != "yes" ; then
+        syslog_facility="$withval"
+	AC_DEFINE_UNQUOTED(SYSLOG_FACILITY,$syslog_facility, [syslog facility to log to])
+     fi
+  fi
+])
+
+#################################################
 # check for experimental disk-quotas support
 
 samba_cv_WITH_QUOTAS=auto
diff --git a/source/include/includes.h b/source/include/includes.h
index 958e7cb..ea0af9f 100644
--- a/source/include/includes.h
+++ b/source/include/includes.h
@@ -702,6 +702,7 @@ typedef char fstring[FSTRING_LEN];
 #include "rpc_perfcount_defs.h"
 #include "librpc/gen_ndr/notify.h"
 #include "librpc/gen_ndr/xattr.h"
+#include "librpc/gen_ndr/ndr_nbt.h"
 #include "librpc/rpc/dcerpc.h"
 #include "nt_printing.h"
 #include "idmap.h"
diff --git a/source/include/nameserv.h b/source/include/nameserv.h
index 4377e33..a7d46e7 100644
--- a/source/include/nameserv.h
+++ b/source/include/nameserv.h
@@ -539,17 +539,6 @@ struct packet_struct
 	} packet;
 };
 
-/* NETLOGON opcodes */
-
-#define QUERYFORPDC	 7 /* Query for PDC. */
-#define SAM_UAS_CHANGE  10 /* Announce change to UAS or SAM. */
-#define QUERYFORPDC_R	12 /* Response to Query for PDC. */
-#define SAMLOGON	18
-#define SAMLOGON_R	19
-#define SAMLOGON_UNK_R	21
-#define SAMLOGON_AD_UNK_R 23
-#define SAMLOGON_AD_R   25
-
 /* Ids for netbios packet types. */
 
 #define ANN_HostAnnouncement         1
diff --git a/source/include/proto.h b/source/include/proto.h
index a147ae5..cb2588b 100644
--- a/source/include/proto.h
+++ b/source/include/proto.h
@@ -1938,20 +1938,15 @@ NTSTATUS kerberos_return_info3_from_pac(TALLOC_CTX *mem_ctx,
 					struct netr_SamInfo3 **info3);
 
 /* The following definitions come from libads/cldap.c  */
-
 bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 			const char *server,
 			const char *realm,
-			uint32_t *nt_version,
-			union nbt_cldap_netlogon **reply);
+			uint32_t nt_version,
+			struct netlogon_samlogon_response **reply);
 bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
 			  const char *server,
 			  const char *realm,
-			  struct nbt_cldap_netlogon_5 *reply5);
-bool pull_mailslot_cldap_reply(TALLOC_CTX *mem_ctx,
-			       const DATA_BLOB *blob,
-			       union nbt_cldap_netlogon *r,
-			       uint32_t *nt_version);
+			  struct NETLOGON_SAM_LOGON_RESPONSE_EX *reply5);
 
 /* The following definitions come from libads/disp_sec.c  */
 
@@ -2882,93 +2877,6 @@ _PUBLIC_ enum ndr_err_code ndr_push_samr_RejectReason(struct ndr_push *ndr, int
 _PUBLIC_ enum ndr_err_code ndr_pull_samr_RejectReason(struct ndr_pull *ndr, int ndr_flags, enum samr_RejectReason *r);
 _PUBLIC_ void ndr_print_samr_RejectReason(struct ndr_print *ndr, const char *name, enum samr_RejectReason r);
 
-/* The following definitions come from librpc/gen_ndr/ndr_nbt.c  */
-
-_PUBLIC_ void ndr_print_nbt_operation(struct ndr_print *ndr, const char *name, uint16_t r);
-_PUBLIC_ void ndr_print_nbt_name_type(struct ndr_print *ndr, const char *name, enum nbt_name_type r);
-_PUBLIC_ void ndr_print_nbt_name(struct ndr_print *ndr, const char *name, const struct nbt_name *r);
-_PUBLIC_ void ndr_print_nbt_qclass(struct ndr_print *ndr, const char *name, enum nbt_qclass r);
-_PUBLIC_ void ndr_print_nbt_qtype(struct ndr_print *ndr, const char *name, enum nbt_qtype r);
-_PUBLIC_ void ndr_print_nbt_name_question(struct ndr_print *ndr, const char *name, const struct nbt_name_question *r);
-_PUBLIC_ void ndr_print_nb_flags(struct ndr_print *ndr, const char *name, uint16_t r);
-_PUBLIC_ void ndr_print_nbt_rdata_address(struct ndr_print *ndr, const char *name, const struct nbt_rdata_address *r);
-_PUBLIC_ void ndr_print_nbt_rdata_netbios(struct ndr_print *ndr, const char *name, const struct nbt_rdata_netbios *r);
-_PUBLIC_ void ndr_print_nbt_statistics(struct ndr_print *ndr, const char *name, const struct nbt_statistics *r);
-_PUBLIC_ void ndr_print_nbt_status_name(struct ndr_print *ndr, const char *name, const struct nbt_status_name *r);
-_PUBLIC_ void ndr_print_nbt_rdata_status(struct ndr_print *ndr, const char *name, const struct nbt_rdata_status *r);
-_PUBLIC_ void ndr_print_nbt_rdata_data(struct ndr_print *ndr, const char *name, const struct nbt_rdata_data *r);
-_PUBLIC_ void ndr_print_nbt_rdata(struct ndr_print *ndr, const char *name, const union nbt_rdata *r);
-_PUBLIC_ void ndr_print_nbt_res_rec(struct ndr_print *ndr, const char *name, const struct nbt_res_rec *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_name_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_name_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_name_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_name_packet *r);
-_PUBLIC_ void ndr_print_nbt_name_packet(struct ndr_print *ndr, const char *name, const struct nbt_name_packet *r);
-_PUBLIC_ void ndr_print_dgram_msg_type(struct ndr_print *ndr, const char *name, enum dgram_msg_type r);
-_PUBLIC_ void ndr_print_dgram_flags(struct ndr_print *ndr, const char *name, uint8_t r);
-_PUBLIC_ void ndr_print_smb_command(struct ndr_print *ndr, const char *name, enum smb_command r);
-_PUBLIC_ void ndr_print_smb_trans_body(struct ndr_print *ndr, const char *name, const struct smb_trans_body *r);
-_PUBLIC_ void ndr_print_smb_body(struct ndr_print *ndr, const char *name, const union smb_body *r);
-_PUBLIC_ enum ndr_err_code ndr_push_dgram_smb_packet(struct ndr_push *ndr, int ndr_flags, const struct dgram_smb_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_dgram_smb_packet(struct ndr_pull *ndr, int ndr_flags, struct dgram_smb_packet *r);
-_PUBLIC_ void ndr_print_dgram_smb_packet(struct ndr_print *ndr, const char *name, const struct dgram_smb_packet *r);
-_PUBLIC_ void ndr_print_dgram_message_body(struct ndr_print *ndr, const char *name, const union dgram_message_body *r);
-_PUBLIC_ void ndr_print_dgram_message(struct ndr_print *ndr, const char *name, const struct dgram_message *r);
-_PUBLIC_ void ndr_print_dgram_err_code(struct ndr_print *ndr, const char *name, enum dgram_err_code r);
-_PUBLIC_ void ndr_print_dgram_data(struct ndr_print *ndr, const char *name, const union dgram_data *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_dgram_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_dgram_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_dgram_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_dgram_packet *r);
-_PUBLIC_ void ndr_print_nbt_dgram_packet(struct ndr_print *ndr, const char *name, const struct nbt_dgram_packet *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_command(struct ndr_print *ndr, const char *name, enum nbt_netlogon_command r);
-_PUBLIC_ void ndr_print_nbt_netlogon_version(struct ndr_print *ndr, const char *name, uint32_t r);
-_PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_query_for_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_query_for_pdc2 *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc *r);
-_PUBLIC_ void ndr_print_nbt_server_type(struct ndr_print *ndr, const char *name, uint32_t r);
-_PUBLIC_ void ndr_print_nbt_dc_sock_addr(struct ndr_print *ndr, const char *name, const struct nbt_dc_sock_addr *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_response_from_pdc2(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_response_from_pdc2 *r);
-_PUBLIC_ void ndr_print_nbt_db_change(struct ndr_print *ndr, const char *name, const struct nbt_db_change *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_announce_uas(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_announce_uas *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_request(struct ndr_print *ndr, const char *name, const union nbt_netlogon_request *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_netlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_netlogon_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_netlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_netlogon_packet *r);
-_PUBLIC_ void ndr_print_nbt_netlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_netlogon_packet *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_1(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_1 *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_3(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_3 *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon_5(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_5 *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon_5(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_5 *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_5(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_5 *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_13(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_13 *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon_15(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_15 *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon_15(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_15 *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_15(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_15 *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon_29(struct ndr_push *ndr, int ndr_flags, const struct nbt_cldap_netlogon_29 *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon_29(struct ndr_pull *ndr, int ndr_flags, struct nbt_cldap_netlogon_29 *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon_29(struct ndr_print *ndr, const char *name, const struct nbt_cldap_netlogon_29 *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_cldap_netlogon(struct ndr_push *ndr, int ndr_flags, const union nbt_cldap_netlogon *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_cldap_netlogon(struct ndr_pull *ndr, int ndr_flags, union nbt_cldap_netlogon *r);
-_PUBLIC_ void ndr_print_nbt_cldap_netlogon(struct ndr_print *ndr, const char *name, const union nbt_cldap_netlogon *r);
-_PUBLIC_ void ndr_print_nbt_ntlogon_command(struct ndr_print *ndr, const char *name, enum nbt_ntlogon_command r);
-_PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_sam_logon *r);
-_PUBLIC_ void ndr_print_nbt_ntlogon_sam_logon_reply(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_sam_logon_reply *r);
-_PUBLIC_ void ndr_print_nbt_ntlogon_request(struct ndr_print *ndr, const char *name, const union nbt_ntlogon_request *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_ntlogon_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_ntlogon_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_ntlogon_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_ntlogon_packet *r);
-_PUBLIC_ void ndr_print_nbt_ntlogon_packet(struct ndr_print *ndr, const char *name, const struct nbt_ntlogon_packet *r);
-_PUBLIC_ void ndr_print_nbt_browse_opcode(struct ndr_print *ndr, const char *name, enum nbt_browse_opcode r);
-_PUBLIC_ void ndr_print_nbt_browse_host_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_host_announcement *r);
-_PUBLIC_ void ndr_print_nbt_browse_announcement_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_announcement_request *r);
-_PUBLIC_ void ndr_print_nbt_browse_election_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_election_request *r);
-_PUBLIC_ void ndr_print_nbt_browse_backup_list_request(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_request *r);
-_PUBLIC_ void ndr_print_nbt_browse_backup_list_response(struct ndr_print *ndr, const char *name, const struct nbt_browse_backup_list_response *r);
-_PUBLIC_ void ndr_print_nbt_browse_become_backup(struct ndr_print *ndr, const char *name, const struct nbt_browse_become_backup *r);
-_PUBLIC_ void ndr_print_nbt_browse_domain_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_domain_announcement *r);
-_PUBLIC_ void ndr_print_nbt_browse_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_master_announcement *r);
-_PUBLIC_ void ndr_print_nbt_browse_reset_state(struct ndr_print *ndr, const char *name, const struct nbt_browse_reset_state *r);
-_PUBLIC_ void ndr_print_nbt_browse_local_master_announcement(struct ndr_print *ndr, const char *name, const struct nbt_browse_local_master_announcement *r);
-_PUBLIC_ void ndr_print_nbt_browse_payload(struct ndr_print *ndr, const char *name, const union nbt_browse_payload *r);
-_PUBLIC_ enum ndr_err_code ndr_push_nbt_browse_packet(struct ndr_push *ndr, int ndr_flags, const struct nbt_browse_packet *r);
-_PUBLIC_ enum ndr_err_code ndr_pull_nbt_browse_packet(struct ndr_pull *ndr, int ndr_flags, struct nbt_browse_packet *r);
-_PUBLIC_ void ndr_print_nbt_browse_packet(struct ndr_print *ndr, const char *name, const struct nbt_browse_packet *r);
-
 /* The following definitions come from librpc/gen_ndr/ndr_netlogon.c  */
 
 _PUBLIC_ void ndr_print_netr_UasInfo(struct ndr_print *ndr, const char *name, const struct netr_UasInfo *r);
@@ -4339,7 +4247,7 @@ bool receive_getdc_response(TALLOC_CTX *mem_ctx,
 			    const char *domain_name,
 			    uint32_t *nt_version,
 			    const char **dc_name,
-			    union nbt_cldap_netlogon **reply);
+			    struct netlogon_samlogon_response **reply);
 
 /* The following definitions come from libsmb/clientgen.c  */
 
@@ -6715,7 +6623,7 @@ bool sysv_cache_reload(void);
 /* The following definitions come from printing/printfsp.c  */
 
 NTSTATUS print_fsp_open(connection_struct *conn, const char *fname,
-			uint16_t current_vuid, files_struct **result);
+			uint16_t current_vuid, files_struct *fsp);
 void print_fsp_end(files_struct *fsp, enum file_close_type close_type);
 
 /* The following definitions come from printing/printing.c  */
@@ -9725,11 +9633,11 @@ void file_free(files_struct *fsp);
 files_struct *file_fnum(uint16 fnum);
 files_struct *file_fsp(uint16 fid);
 void file_chain_reset(void);
-NTSTATUS dup_file_fsp(files_struct *fsp,
+void dup_file_fsp(files_struct *from,
 				uint32 access_mask,
 				uint32 share_access,
 				uint32 create_options,
-		      		files_struct **result);
+		      		files_struct *to);
 
 /* The following definitions come from smbd/ipc.c  */
 
diff --git a/source/libads/cldap.c b/source/libads/cldap.c
index 1156506..aa39531 100644
--- a/source/libads/cldap.c
+++ b/source/libads/cldap.c
@@ -119,8 +119,8 @@ static void gotalarm_sig(void)
 */
 static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 			       int sock,
-			       uint32_t *nt_version,
-			       union nbt_cldap_netlogon **reply)
+			       uint32_t nt_version,
+			       struct netlogon_samlogon_response **reply)
 {
 	int ret;
 	ASN1_DATA data;
@@ -131,7 +131,8 @@ 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 *r = NULL;
+	struct netlogon_samlogon_response *r = NULL;
+	NTSTATUS status;
 
 	blob = data_blob(NULL, 8192);
 	if (blob.data == NULL) {
@@ -185,7 +186,7 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return -1;
 	}
 
-	r = TALLOC_ZERO_P(mem_ctx, union nbt_cldap_netlogon);
+	r = TALLOC_ZERO_P(mem_ctx, struct netlogon_samlogon_response);
 	if (!r) {
 		errno = ENOMEM;
 		data_blob_free(&os1);
@@ -195,7 +196,8 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return -1;
 	}
 
-	if (!pull_mailslot_cldap_reply(mem_ctx, &os3, r, nt_version)) {
+	status = pull_netlogon_samlogon_response(&os3, mem_ctx, r);
+	if (!NT_STATUS_IS_OK(status)) {
 		data_blob_free(&os1);
 		data_blob_free(&os2);
 		data_blob_free(&os3);
@@ -204,6 +206,8 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return -1;
 	}
 
+	map_netlogon_samlogon_response(r);
+
 	data_blob_free(&os1);
 	data_blob_free(&os2);
 	data_blob_free(&os3);
@@ -227,8 +231,8 @@ static int recv_cldap_netlogon(TALLOC_CTX *mem_ctx,
 bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 			const char *server,
 			const char *realm,
-			uint32_t *nt_version,
-			union nbt_cldap_netlogon **reply)
+			uint32_t nt_version,
+			struct netlogon_samlogon_response **reply)
 {
 	int sock;
 	int ret;
@@ -240,7 +244,7 @@ bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 		return False;
 	}
 
-	ret = send_cldap_netlogon(sock, realm, global_myname(), *nt_version);
+	ret = send_cldap_netlogon(sock, realm, global_myname(), nt_version);
 	if (ret != 0) {
 		close(sock);
 		return False;
@@ -262,107 +266,24 @@ bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
 			  const char *server,
 			  const char *realm,
-			  struct nbt_cldap_netlogon_5 *reply5)
+			  struct NETLOGON_SAM_LOGON_RESPONSE_EX *reply5)
 {
-	uint32_t nt_version = NETLOGON_VERSION_5 | NETLOGON_VERSION_5EX;
-	union nbt_cldap_netlogon *reply = NULL;
+	uint32_t nt_version = NETLOGON_NT_VERSION_5 | NETLOGON_NT_VERSION_5EX;
+	struct netlogon_samlogon_response *reply = NULL;
 	bool ret;
 
-	ret = ads_cldap_netlogon(mem_ctx, server, realm, &nt_version, &reply);
+	ret = ads_cldap_netlogon(mem_ctx, server, realm, nt_version, &reply);
 	if (!ret) {
 		return false;
 	}
 
-	if (nt_version != (NETLOGON_VERSION_5 | NETLOGON_VERSION_5EX)) {
+	if (reply->ntver != NETLOGON_NT_VERSION_5EX) {
+		DEBUG(0,("ads_cldap_netlogon_5: nt_version mismatch: 0x%08x\n",
+			reply->ntver));
 		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 */
-		case 0x19: /* 25 */
-			 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;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list