[SCM] Samba Shared Repository - branch v3-3-stable updated - release-3-3-0pre2-170-g751eb6e

Karolin Seeger kseeger at samba.org
Tue Nov 18 10:08:54 GMT 2008


The branch, v3-3-stable has been updated
       via  751eb6eec6f9faf92fd0321d0840d60b09e49cfa (commit)
       via  c88ce26c666d54b9d6f76ebd0d9bd7eafd85db9a (commit)
       via  ff2827098a31e0b9899b8f14a9661cb290b12497 (commit)
       via  8ff2be7d56e3700a08b37a207fc84c6bffdffa14 (commit)
       via  15624a89638e813ae6f310d8610977713ca9e475 (commit)
       via  2be25dd726b0e8517326e12c0f6d85f743c4fe3f (commit)
       via  325625717a5ddae68368a0c6f9eaa04e7542e046 (commit)
       via  6cd23d54796ca4922df188b6abb8c74d80316510 (commit)
       via  4de462293a61800ef5091ab7b9f3bb8acd6a78bb (commit)
       via  35be4acd7853f8c9ef2f4eb7affa7538d0c92022 (commit)
       via  c621c164d169cc93f0f965cc751e0d3b35cb5033 (commit)
       via  66b3769dcc1175b8aab184a5250f6396315be64e (commit)
       via  d3b56dc24a2aa98c31842643f4641778f1b4784b (commit)
       via  b9f99dd3c5eeadfc7d064dc197a42f93afb174b0 (commit)
       via  7e4b3d1caacff27f5e18bad1a2324ab0fa091f53 (commit)
       via  62157433ae7b80a7943ec1d56b2be00f9354283e (commit)
       via  b76889b6348af5dc3bd9df3675118f3f235bcec3 (commit)
       via  05b80d6d4d1d78b44d2ccf18418ff7ad522cde06 (commit)
       via  9cdf1196ae1ba685ce3c094757d3eac9334538ee (commit)
       via  fa9d2d249965eb163bd3453ed645a6e14ac84686 (commit)
       via  3a5c6370a6dcfa162f2a49db6f5e63bc725207b2 (commit)
       via  b5f9b859703e675f2313b77683547242a46149ca (commit)
       via  da6df3a6c1eb4fa64e113c74749d73d30172fdd5 (commit)
       via  9edc69fde1f6ab6eb486b5a1114b620e2c9a3a39 (commit)
       via  e9bcf514772d5868415d823b340fa13f6a5b2721 (commit)
       via  c3aa0623804ba6b0128a3feb36a05536b65576d3 (commit)
       via  a61c476969bdb0991604010a73f3e69ebee76723 (commit)
       via  c2b1a5e29ecdf88c8fa2bd708bf337630043da32 (commit)
       via  9161b652101ade5ba0020c214e7eff9394ebda26 (commit)
       via  3de52afb384d3a22db54270a2a822925bb52f85d (commit)
       via  3dfb61406f8d0bc1405901a232db223fd5be85e0 (commit)
       via  5c57837283599cb1cedd0fba1739e53ea255db97 (commit)
       via  30482d06d9a34801c567fdee18d4af76b0196c76 (commit)
       via  91b966a24cb74ac633bcfc1153a608798354735e (commit)
       via  899c9219f53916b3ebdbde9fcdf957907882ff45 (commit)
       via  e54ddf2fbb209088552408f84f4fd1e19992704e (commit)
       via  84ff5fe22b0b3f7ccc76025f55af5a9aa979b99a (commit)
       via  b94958d86cf2eef3cb05dc63da41466d0f730ba7 (commit)
       via  324e8e1a942d5196993928b4734cba58933228f8 (commit)
       via  ee508b57c220e033566aa757edddd0877723c79d (commit)
       via  35884deb421cc2a504625df424c7cdbdd8c77e82 (commit)
       via  771057cc27e0953e9dcb9ed3179b15e796ac1e9a (commit)
       via  ef69e4fdc8c58d30cf7df1b73d283547b11a4c8c (commit)
       via  d5131b18c904efc514a332f05320a9f401e7c7e0 (commit)
       via  feb287b4ec867029e9f3827d38da4e31c9939096 (commit)
       via  d4531071e82b862f7719076cc7e51d0b78c77a1c (commit)
       via  090c97a51b98416daaf5e0872fa4577d3667467f (commit)
       via  135a8f95926eb307eece93279cbeea53458f81c7 (commit)
       via  29877eedfe471c9fe051a655d6c581f6af40bff1 (commit)
       via  de682e7c8ad7a80c2c19cbbb6a94d40132882ee7 (commit)
       via  ab6dfa60aa77e9147550c9b1eadec86c64dc3c4f (commit)
       via  fbc9b8a6ff37df47785e76335d5c4364d092e8d9 (commit)
       via  d20eaca45820c02237a1214bf38cf579fc8f936e (commit)
       via  dcfdeee4210151ed9b3cf1baac3c498fc706180a (commit)
       via  ea853c8edd549450048d671ab2ea001f1709f9e1 (commit)
       via  3ee732c715838a1917bb9d8b62a0579203e42cbd (commit)
       via  e2ce92e356aee6669305c203670004fc1369503d (commit)
       via  5794c53113852a607c5b5a06554e8fadbe41ebfe (commit)
       via  1a8626a0197e672ce256fce50d0a631a1779f8db (commit)
       via  1881dca0955902e2a802195da74002ad4557860b (commit)
       via  47fda5e223af2aa034365b31bdfddd5feec482c0 (commit)
       via  f02196fbc9d0744d23bcfa194652fce83298ddf2 (commit)
       via  7f3ff1d80a4c75b50609f7290c2a10cc97c230d7 (commit)
       via  c97bb4ecf79edb62e5600892063c4a52d82904e1 (commit)
       via  494d194539f1c955dc99f85b80c0cd5ac84affc6 (commit)
       via  a75e727c8bd2bf881de263954a0f6d1f06e6f780 (commit)
       via  2a51c9c462d8746144b8623ad18e32fe5cf204b3 (commit)
       via  7dcd1c981ae404acbb288a099d6b02e782c0d6d5 (commit)
       via  124f21c1f1ce1d0f9ed7cdd24680231e0144cddf (commit)
       via  631583baafefafc8d86311c61857867fe0001407 (commit)
       via  6cf1286b61abb45bc2d9e4af245b0e5de415fe67 (commit)
       via  f16cd89af91ef4d55d4996f08c3ac2b2ea6cd0bf (commit)
       via  ebbfdf0e0622b6982d95ce3ecc43c33c830a7bf4 (commit)
       via  5e40d743d4be791a6ce8f4261003c80e54cbae28 (commit)
       via  fdd5d34dd2a44282f235483b6a42813c61568e20 (commit)
       via  f5a4f49ae5944476c293ade9c07eaffb2de3673a (commit)
       via  843d631eae656f85bd62fd015403987b1b8d0180 (commit)
       via  8d318775360d2d5a09f83ec0527adcbfee73b607 (commit)
       via  56165c7fac75dfb63ff7f732735e4cd10f34fb59 (commit)
       via  496802fde92a54729d08755c9562ef7fb322a375 (commit)
       via  b8de18250f6314cf17d3932a5b6af03e4bf81df4 (commit)
       via  2761a097e72ae6168d61627cd58c94280dbd9fa7 (commit)
       via  c8fabf7b2a8f8cd9b58765f9e002d26d16a2d323 (commit)
       via  4d6448bb364d68a53269c3ae34ac07ec2c04fc51 (commit)
       via  047612d6c774e4fe9027ce31fc71226c785e2708 (commit)
       via  e537bbc529ba297102dbe47ce740c63082087ce1 (commit)
       via  a730628f7664cde2cc2754ddea0685043a37ac3f (commit)
       via  d9f482b76a14878c8ece29e9f5c94c90e1cd0d70 (commit)
       via  153967bfa303e9b77b86abe3089fc0bdda6e401b (commit)
       via  dcdcd6bb70515c558b88cb78bd71eb3124d50d5d (commit)
       via  63d8768411a64e61bc55fc547c6b5f3ae43b275e (commit)
       via  8cc7be8f5d05acf54e1d9b387fc100bcf7ff522f (commit)
      from  aa41a80969bd413d5922c602c7309bd8c05f3181 (commit)

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


- Log -----------------------------------------------------------------
commit 751eb6eec6f9faf92fd0321d0840d60b09e49cfa
Author: Davide Sfriso <sfriso at virgilio.it>
Date:   Mon Nov 17 15:39:34 2008 -0800

    Fix bug #5906 when running winbindd on a Samba PDC. Winbindd crash on 'getent group'.
    (cherry picked from commit f4ebb87e39a3f5d1b76cfd2be86d56de9ae98ee9)

commit c88ce26c666d54b9d6f76ebd0d9bd7eafd85db9a
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 17 14:13:28 2008 -0800

    Fix bug #5900 reported by monyo at samba.gr.jp - vfs_readonly.so does not work.
    Jeremy.
    (cherry picked from commit 37233a3f62f4b0e5d4fc3376687f445656bded41)

commit ff2827098a31e0b9899b8f14a9661cb290b12497
Author: Günther Deschner <gd at samba.org>
Date:   Mon Nov 17 18:25:01 2008 +0100

    s3-libnet-samsync: use enctype 23 for vampired keytab entries.
    
    Guenther
    (cherry picked from commit a48abdaa811c76e64a3383fe970e62b7bbb3582c)
    (cherry picked from commit 38f37ebb2478e62007e1eeb38054ad4f6949824a)

commit 8ff2be7d56e3700a08b37a207fc84c6bffdffa14
Author: Bo Yang <boyang at novell.com>
Date:   Sun Nov 16 16:34:34 2008 +0800

    Fix broken msgids in ntstatus_errors
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    (cherry picked from commit e64c4ff6061422f79e550810affd1c90c7eb22a0)

commit 15624a89638e813ae6f310d8610977713ca9e475
Author: Kai Blin <kai at samba.org>
Date:   Mon Nov 17 08:37:21 2008 +0100

    net: Fix net rap printq info documentation (bug #5892)
    
    Carsten Dumke <carsten at cdumke.de> reported and provided a patch
    for v3.0 and v3.2. (See 0a7fb721cdc)
    
    This fixes the same issue in v3.3 and also changes the auto-generated usage
    information to give better help about net rap printq info.
    (cherry picked from commit 0d874b23a43778931c0c570c5aa77bec6888d21d)

commit 2be25dd726b0e8517326e12c0f6d85f743c4fe3f
Author: TAKAHASHI Motonobu <monyo at samba.gr.jp>
Date:   Sun Nov 16 13:17:16 2008 +0100

    Fix bug 5901: Default for streams_depot location
    (cherry picked from commit c9c50ced497476ef43ec0cc5a205a89c2b9318ba)

commit 325625717a5ddae68368a0c6f9eaa04e7542e046
Author: Günther Deschner <gd at samba.org>
Date:   Wed Oct 15 11:26:33 2008 +0200

    s3-libgpo: fix build for security cse.
    
    Guenther
    (cherry picked from commit 3cb281e48f9943a5188f040d941bb1e0fc32cdad)
    (cherry picked from commit 84c5c4dc0d2adf4e160f991a91cdc92d5347f60e)

commit 6cd23d54796ca4922df188b6abb8c74d80316510
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 14 13:42:54 2008 +0100

    Make memcache_add_talloc NULL out the source pointer
    
    This is an orthogonality measure to make clear this pointer now belongs to the
    cache.
    (cherry picked from commit e6080c6e87d6fe3995b121a772bf3f6343fa666f)
    (cherry picked from commit 076bc9a21e540b25180a8d63e1e0c3eb071c16f7)

commit 4de462293a61800ef5091ab7b9f3bb8acd6a78bb
Author: Volker Lendecke <vl at samba.org>
Date:   Thu Nov 13 23:50:19 2008 +0100

    Actually finish memcache_add_talloc
    
    This fixes a memleak found by Martin Zielinski <mz at seh.de>. Thanks for
    looking closely!
    
    Volker
    (cherry picked from commit a31a84a078100819809e6d40dbc3df207a50a0b2)
    (cherry picked from commit 280f3842fefc5cd2f65bfede70f6376d03946599)

commit 35be4acd7853f8c9ef2f4eb7affa7538d0c92022
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 14 17:45:36 2008 +0100

    make some more parts of security.idl public and re-run make idl.
    
    Guenther
    (cherry picked from commit 6fb1f994b55f0ce3777370fe80cde1d0964ba8b2)

commit c621c164d169cc93f0f965cc751e0d3b35cb5033
Author: Günther Deschner <gd at samba.org>
Date:   Fri Nov 14 16:12:34 2008 +0100

    re-run make idl.
    
    Guenther
    (cherry picked from commit 19568f4e4e94266a7792e6dce8eaa5086f435fc3)

commit 66b3769dcc1175b8aab184a5250f6396315be64e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Nov 7 10:49:59 2008 +0100

    security.idl: sometimes ACEs have some padding at the end
    
    metze
    (cherry picked from commit 2dc120377baec2c8b7c9b6fe40d15218588c97fd)

commit d3b56dc24a2aa98c31842643f4641778f1b4784b
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 14 13:13:40 2008 +0100

    Rename some variables in getpwnam_alloc() for clarity
    (cherry picked from commit fe4e662a2b0df2d3cd4cc9ca8611dd062e1b52b6)

commit b9f99dd3c5eeadfc7d064dc197a42f93afb174b0
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Nov 14 12:49:18 2008 +0100

    sys_pwnam doesn't return talloced memory, so don't mix up the returned struct.
    (cherry picked from commit eb99923991960e53bd150ac8f1d818cb746101b4)
    (cherry picked from commit a1c1c381ab2bb3a142d277971a89cfd8833b3e80)

commit 7e4b3d1caacff27f5e18bad1a2324ab0fa091f53
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 13 17:18:06 2008 -0800

    Move v2 from timestamp to 16-byte hash. Got the change in before on disk format is fixed.
    Jeremy.
    (cherry picked from commit 9393c99a834724d66b027e73adaa82cfedb97185)

commit 62157433ae7b80a7943ec1d56b2be00f9354283e
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 13 21:11:12 2008 +0100

    re-run make idl.
    
    Guenther
    (cherry picked from commit 86deff8d6e6b8e094b15a4e5392098d9b23e5ff5)

commit b76889b6348af5dc3bd9df3675118f3f235bcec3
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 13 21:11:31 2008 +0100

    Fix PNP_GetHwProfInfo() (fixes Bug: #5888).
    
    Guenther
    (cherry picked from commit 111ec984729fe2c47e173dab82f438bcacf42d1c)

commit 05b80d6d4d1d78b44d2ccf18418ff7ad522cde06
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 13 11:51:19 2008 -0800

    Fix the build (hangs head in shame :-).
    Jeremy.
    (cherry picked from commit 4beb7d74597f7e485b3832560b26e681439b606a)

commit 9cdf1196ae1ba685ce3c094757d3eac9334538ee
Author: Günther Deschner <gd at samba.org>
Date:   Thu Nov 13 17:30:00 2008 +0100

    pam_winbind: translate some more string.
    
    boyang, please check.
    
    Guenther
    (cherry picked from commit 3310deac11bb579ba364dabd59e149fdd68360ed)

commit fa9d2d249965eb163bd3453ed645a6e14ac84686
Author: Bo Yang <boyang at suse.de>
Date:   Thu Oct 30 13:02:41 2008 +0800

    i18n/l10n pam_winbind
    (cherry picked from commit 1ec66e9db4b8b8c928d48aa3aa5c1cf618c722c1)

commit 3a5c6370a6dcfa162f2a49db6f5e63bc725207b2
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Nov 12 19:31:46 2008 -0800

    Pretty print out SD's on get/set.
    Jeremy.
    (cherry picked from commit 23e85e1915ed2190a91c4324659d15285080de85)

commit b5f9b859703e675f2313b77683547242a46149ca
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Nov 12 14:05:39 2008 -0800

    Fix memory leak in error path, spotted by Martin Zielinski <mz at seh.de>.
    Jeremy.
    (cherry picked from commit d90c3454fbdf1fd381e83e81538a56e6e3163a9f)

commit da6df3a6c1eb4fa64e113c74749d73d30172fdd5
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 11 14:38:00 2008 -0800

    Fix bug 5891] : smbd crashed when viewing the eventlog exported by "eventlog list"
    Don't mix TALLOC and SAFE_FREE().
    Jeremy.
    (cherry picked from commit 76ff38c5ec05b5267ed085df7296a46e3dfc76e5)

commit 9edc69fde1f6ab6eb486b5a1114b620e2c9a3a39
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 11 14:20:32 2008 -0800

    Fix bug  5889. "delete veto files = no" seems to break.
    Jeremy.
    (cherry picked from commit ad034aa4601a784519fa83fef0eabba52811b314)

commit e9bcf514772d5868415d823b340fa13f6a5b2721
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 10 17:58:09 2008 -0800

    Added vfs_acl_tdb.c module to do ACLs completely in userspace. Passes all of RAW-ACLS except for the last test which uses a non-POSIX chown. More testing/documentation to follow.
    Jeremy.
    (cherry picked from commit 10d07c79dea075e62f4e9fdec3abd63996fec08c)

commit c3aa0623804ba6b0128a3feb36a05536b65576d3
Author: Michael Adam <obnox at samba.org>
Date:   Mon Nov 10 09:51:39 2008 +0100

    make keytab filename argument mandatory to "net rpc vampire keytab"
    
    This prevents unintended overwriting of the default path /etc/krb5.keytab (e.g.).
    
    Michael
    (cherry picked from commit 6e8daac76fd3df05f9ab81ced95748b46ea01a62)

commit a61c476969bdb0991604010a73f3e69ebee76723
Author: Michael Adam <obnox at samba.org>
Date:   Mon Nov 10 15:01:18 2008 +0100

    build: prevent make errors for picky makes when $(EXTRA_ALL_TARGETS) is empty
    
    picky make implementations don't like lines with only tabs in rules or dependencie
    
    Michael
    (cherry picked from commit 058d1e2d0a4985825a62d2adc336a48d91ae4771)
    (cherry picked from commit a0e471fc3be0f8c9c66a6c0f242515e61d1301a5)

commit c2b1a5e29ecdf88c8fa2bd708bf337630043da32
Author: Martin Schwenke <martin at meltin.net>
Date:   Fri Nov 7 12:20:59 2008 +1100

    Add @CIFSUPCALL_PROGS@ to "all" target so cifs.upcall gets built at
    compile time rather than install time.  This stops problems where
    packaging scripts pass CFLAGS to "make" but not "make install".
    
    Signed-off-by: Martin Schwenke <martin at meltin.net>
    Signed-off-by: Michael Adam <obnox at samba.org>
    (cherry picked from commit 884349af686faaf7b6bfec08eb2ac5dbc8e30fe5)
    (cherry picked from commit d58e6cb2467551f61f937d8bc16a7e0a765d8273)

commit 9161b652101ade5ba0020c214e7eff9394ebda26
Author: Kai Blin <kai at samba.org>
Date:   Fri Nov 7 09:50:33 2008 +0100

    ntlm_auth: Put huge NTLMv2 blobs into extra_data on CRAP auth
    
    This fixes bug #5865
    (cherry picked from commit a982abf3899199faef11b7279d1d5080e8a9f71c)

commit 3de52afb384d3a22db54270a2a822925bb52f85d
Author: Jeremy Allison <jra at samba.org>
Date:   Sat Nov 8 22:58:59 2008 -0800

    Fix a subtle logic bug in the adaption of se_create_child_secdesc(), pass RAW-ACL inheritance tests. Only access masks for SD get/set left to fix.
    Jeremy.
    (cherry picked from commit f383a518f68568c36edc7f438d903d3636a42d45)

commit 3dfb61406f8d0bc1405901a232db223fd5be85e0
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 23:29:55 2008 -0800

    If we didn't inherit any ACE's the ACE pointer should be NULL.
    Jeremy.
    (cherry picked from commit 76f7291b264084d24ea85956b6c98361417cdc71)

commit 5c57837283599cb1cedd0fba1739e53ea255db97
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 20:50:11 2008 -0800

    Make us clean under valgrind --leak-check=full by using talloc_autofree_context() instead of NULL.
    Remove the code in memcache that does a TALLOC_FREE on stored pointers. That's a disaster waiting
    to happen. If you're storing talloc'ed pointers, you can't know their lifecycle and they should
    be deleted when their parent context is deleted, so freeing them at some arbitrary point later
    will be a double-free.
    Jeremy.
    (cherry picked from commit 33013e40f5f4fb639ad0d3a9bd8565cd18062165)

commit 30482d06d9a34801c567fdee18d4af76b0196c76
Author: Herb Lewis <hlewis at panasas.com>
Date:   Thu Nov 6 20:41:02 2008 -0800

    Convert to use VFS layer.
    (cherry picked from commit 4b6811229c97ed94a4db4e6e5f557e03a64d0543)

commit 91b966a24cb74ac633bcfc1153a608798354735e
Author: Jeff Layton <jlayton at redhat.com>
Date:   Thu Nov 6 15:13:48 2008 -0500

    mount.cifs: use lock/unlock_mtab scheme from util-linux-ng mount prog
    
    The util-linux-ng sources have a good, but rather complex scheme for
    locking the mtab before updating it. Mount helpers need to follow the
    same scheme. Advisory locking only works if everyone is using the same
    locking scheme.
    
    Copy the routines we need from util-linux-ng into a separate source file
    and then have mount.cifs and umount.cifs link in this object.
    
    The long term goal is to have these routines in a separate helper
    library (libmount). Mount helpers can then dynamically link in that lib.
    Until that happens, this should serve as a suitable stopgap solution.
    
    Signed-off-by: Jeff Layton <jlayton at redhat.com>
    (cherry picked from commit 00bbd9dc6598acb9ef8adab4308ada6bb1818f1f)

commit 899c9219f53916b3ebdbde9fcdf957907882ff45
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 06:42:34 2008 -0800

    Fix bug #5825 - Account locking out doesnt work with an LDAP backend.Based on a problem found by Boyang. Only the pdb_nds backend implements login attempts so this was broken for tdbsam and ldap.
    Jeremy.
    (cherry picked from commit 7cbbcc75a834179d1c48411666670d7cb7d41726)

commit e54ddf2fbb209088552408f84f4fd1e19992704e
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 01:59:17 2008 -0800

    Start factoring out the inheritance differences.
    Jeremy.
    (cherry picked from commit d6ec9a28711e2a5e404354408c012d6d70a8ca3f)

commit 84ff5fe22b0b3f7ccc76025f55af5a9aa979b99a
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 01:46:40 2008 -0800

    Final fix to make us pass NULL SD test in RAW-ACLs. Not sure if this is 100% right. Only inheritance left to fix.
    Jeremy.
    (cherry picked from commit 40c1031545c1b087d71d857667c8c23276d355bc)

commit b94958d86cf2eef3cb05dc63da41466d0f730ba7
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 01:41:15 2008 -0800

    Don't call FSET_NT_ACL on file create if there's no SD to set. Leave the default ACL in place.
    Jeremy.
    (cherry picked from commit 630b6b7d28ce8e7dcce2dfa432271e9159a38f8e)

commit 324e8e1a942d5196993928b4734cba58933228f8
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 01:01:26 2008 -0800

    Only one more issue with NULL ACL test left to solve.
    Jeremy.
    (cherry picked from commit 5b2d6d5d3615c90b5b73b4d9db69c48b40b367b2)

commit ee508b57c220e033566aa757edddd0877723c79d
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Nov 6 00:51:22 2008 -0800

    Fix crash in module, get more of the NULL acl test right.
    Jeremy.
    (cherry picked from commit 687cb150e2a2f7b3616625718ac5b8f67086ad77)

commit 35884deb421cc2a504625df424c7cdbdd8c77e82
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Nov 5 19:10:26 2008 -0800

    Add reference to bug #4308 to remind me to add regression test to smbtorture.
    Jeremy.
    (cherry picked from commit edf1d197b1013e1884c33e057e58224f30817606)

commit 771057cc27e0953e9dcb9ed3179b15e796ac1e9a
Author: Joe Smith <yasumoto7 at gmail.com>
Date:   Tue Nov 4 20:31:04 2008 +0100

    Fixed typo in source/utils/net_rap.c
    (cherry picked from commit 7499561986253e17985ba35a816378dc4e17e749)

commit ef69e4fdc8c58d30cf7df1b73d283547b11a4c8c
Author: Volker Lendecke <vl at samba.org>
Date:   Tue Nov 4 10:51:08 2008 +0100

    Ignore 3.0 style invalid group mappings during upgrade to ldb
    (cherry picked from commit 1b71b12259d1a123c96a75c88202a59cae475b2a)

commit d5131b18c904efc514a332f05320a9f401e7c7e0
Author: Jeremy Allison <jra at samba.org>
Date:   Tue Nov 4 01:34:35 2008 -0800

    Pass all of RAW-ACLS except for inheritence. Working on that next.
    Jeremy.
    (cherry picked from commit cc8207790ef2fc38635415501a83a0161d48015a)

commit feb287b4ec867029e9f3827d38da4e31c9939096
Author: Volker Lendecke <vl at samba.org>
Date:   Mon Nov 3 17:09:40 2008 +0100

    Fix bug triggered by the RAW-SAMBA3OPLOCKLOGOFF test
    (cherry picked from commit e20631897d5bade7827845c18ebf13ba468747fc)

commit d4531071e82b862f7719076cc7e51d0b78c77a1c
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 3 23:19:29 2008 -0800

    Pass the directory versions of the RAW-ACL (still not inheritance). Refactor some common code between open_file_ntcreate() and open_directory().
    Jeremy.
    (cherry picked from commit e63f1b2905340af79768a0333c03f56633c6a682)

commit 090c97a51b98416daaf5e0872fa4577d3667467f
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Nov 3 22:42:58 2008 -0800

    Pass all the non-inherited S4 RAW-ACL tests.
    Jeremy.
    (cherry picked from commit adbab86c4c3adb6c0750f081efe4cba242761213)

commit 135a8f95926eb307eece93279cbeea53458f81c7
Author: Tim Prouty <tprouty at samba.org>
Date:   Mon Nov 3 17:31:18 2008 -0800

    s3: fix a few "shadows a global declaration" warnings
    (cherry picked from commit 38234ec8f3665bb867641a4d7a226e4aed6cd124)

commit 29877eedfe471c9fe051a655d6c581f6af40bff1
Author: Michael Adam <obnox at samba.org>
Date:   Thu Oct 30 16:38:07 2008 +0100

    winbindd: speed up fill_grent_mem (i.e. winbindd_getgrent) a lot.
    
    With large groups, getgrent ran into timeouts because after each
    single user that was added to the expanded group list, the list
    was sorted and made unique.
    
    Now the list is sorted just once after all members have been added.
    
    Michael
    (cherry picked from commit 9ff54794f1a477cc294ddef6b218a5e68c894128)

commit de682e7c8ad7a80c2c19cbbb6a94d40132882ee7
Author: Volker Lendecke <vl at samba.org>
Date:   Sun Nov 2 10:28:00 2008 +0100

    Fix bug 5860: safe_strcpy gives a nasty error message for overlong strings
    
    Thanks to Robert Dahlem <Robert.Dahlem at gmx.net> for reporting this!
    (cherry picked from commit 5e331c1cab20644550dc8d10f706b8561cce42ab)

commit ab6dfa60aa77e9147550c9b1eadec86c64dc3c4f
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Oct 31 18:05:12 2008 -0700

    Get closer to passing S4 RAW-ACLs.
    Jeremy.
    (cherry picked from commit 5fd164ca99074e4b358d53aaef56aa64520b6efd)

commit fbc9b8a6ff37df47785e76335d5c4364d092e8d9
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Oct 31 17:25:14 2008 -0700

    Another unused variable.
    (cherry picked from commit 11e406ea764fb33718660e0eb1a98a1add324556)

commit d20eaca45820c02237a1214bf38cf579fc8f936e
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Oct 31 16:53:32 2008 -0700

    Remove unused variable.
    Jeremy.
    (cherry picked from commit 8e33a6bda1f026225cc8c05be9c0429744855b86)

commit dcfdeee4210151ed9b3cf1baac3c498fc706180a
Author: Günther Deschner <gd at samba.org>
Date:   Fri Oct 24 01:58:05 2008 +0200

    security-idl: add STANDARD_RIGHTS_X bits.
    
    Guenther
    (cherry picked from commit c16bfb0efcbe693616763d3f0d70b49e8e612fd1)

commit ea853c8edd549450048d671ab2ea001f1709f9e1
Author: Günther Deschner <gd at samba.org>
Date:   Fri Oct 31 22:03:32 2008 +0100

    s3-samr: remove duplicate copies of Alias Object specific access rights.
    
    Guenther
    (cherry picked from commit 14efefad6fab7287f7b4880175003cbd413f280b)

commit 3ee732c715838a1917bb9d8b62a0579203e42cbd
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:52:34 2008 +0200

    s3-samr-idl: add Alias Object specific access rights.
    
    Guenther
    (cherry picked from commit 7ee4051e1c49aa6662dfc6b745b2e9c2ba508214)

commit e2ce92e356aee6669305c203670004fc1369503d
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:45:58 2008 +0200

    s3-samr: remove duplicate copies of Group Object specific access rights.
    
    Guenther
    (cherry picked from commit c9b124c4606becf3c5d197c9753405aa80420dcc)

commit 5794c53113852a607c5b5a06554e8fadbe41ebfe
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:45:17 2008 +0200

    s3-samr-idl: add Group Object specific access rights.
    
    Guenther
    (cherry picked from commit 0dc995ca3f486ed73860ccf8cd444997493ef891)

commit 1a8626a0197e672ce256fce50d0a631a1779f8db
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:39:14 2008 +0200

    s3-samr: remove duplicate copies of Domain Object specific access rights.
    
    Guenther
    (cherry picked from commit aad6502006d0181c40df7f2fdae1d674ef69b3d2)

commit 1881dca0955902e2a802195da74002ad4557860b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:38:21 2008 +0200

    s3-samr-idl: add Domain Object specific access rights.
    
    Guenther
    (cherry picked from commit 20008654b47c0205f1998257b2be89459eb707b5)

commit 47fda5e223af2aa034365b31bdfddd5feec482c0
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:24:41 2008 +0200

    s3-samr: remove duplicate copies of SAM user specific access rights.
    
    Guenther
    (cherry picked from commit 83cc89a676517fecddf55dd5adc718d3327c5dda)

commit f02196fbc9d0744d23bcfa194652fce83298ddf2
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:23:43 2008 +0200

    s3-samr-idl: add User Object specific access rights.
    
    Guenther
    (cherry picked from commit 575029b962e2b08d424ff5d4d6bf4f2359a68853)

commit 7f3ff1d80a4c75b50609f7290c2a10cc97c230d7
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:01:04 2008 +0200

    s3-samr: remove duplicate copies of SAM server specific access rights.
    
    Guenther
    (cherry picked from commit a00e37ba7fb24a9e9998cd8ddca297ee1b2f15d3)

commit c97bb4ecf79edb62e5600892063c4a52d82904e1
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 19:00:21 2008 +0200

    s3-samr-idl: add SAM server specific access rights.
    
    Guenther
    (cherry picked from commit 068d14b489944e07be5608f9b613f174c681bbde)

commit 494d194539f1c955dc99f85b80c0cd5ac84affc6
Author: Jeremy Allison <jra at samba.org>
Date:   Fri Oct 31 10:51:05 2008 -0700

    Unify se_access_check with the S4 code. Will make
    calculation of SEC_FLAG_MAXIMUM_ALLOWED much easier
    for files.
    Jeremy.
    (cherry picked from commit 82a25d224b63148c4f9d38ae477328b12a5a03a6)

commit a75e727c8bd2bf881de263954a0f6d1f06e6f780
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Oct 30 16:14:50 2008 -0700

    Start moving us closer to passing S4 RAW-ACL test using the vfs_acl_xattr module. Inheritance fails at the moment though.
    Jeremy.
    (cherry picked from commit acc14f232f6924a702c881266b9a73e37397de92)

commit 2a51c9c462d8746144b8623ad18e32fe5cf204b3
Author: Jeremy Allison <jra at samba.org>
Date:   Thu Oct 30 13:51:51 2008 -0700

    Inherit Windows ACLs on a new directory.
    Jeremy.
    (cherry picked from commit af1cbfac50050ee7c185ea5267dc3c7a8159077a)

commit 7dcd1c981ae404acbb288a099d6b02e782c0d6d5
Author: Andrew Tridgell <tridge at samba.org>
Date:   Thu Oct 30 12:30:36 2008 -0700

    use glibc sys/inotify.h header
    
    when we first added the inotify code glibc didn't have the inotify
    functions yet. Now that it does we can use the official header and
    avoid the asm/unistd.h syscall workaround
    (cherry picked from commit 08fed7b1429fcea9f60b9b0a9048339d21f11ebb)

commit 124f21c1f1ce1d0f9ed7cdd24680231e0144cddf
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 17:08:02 2008 -0700

    Fix CID: 456 - resource leak on function exit.
    Jeremy.
    (cherry picked from commit 31f03cea62e3ec5a2807bd65083a683c6a6c0933)

commit 631583baafefafc8d86311c61857867fe0001407
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 16:42:50 2008 -0700

    Fix CID 606 - failed to return -1 after socket() fail.
    Jeremy.
    (cherry picked from commit d83c9e985195c8caf5222c7352684c325db0771b)

commit 6cf1286b61abb45bc2d9e4af245b0e5de415fe67
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 16:28:38 2008 -0700

    Fix CID 574 - tidies up the code expression.
    Jeremy.
    (cherry picked from commit 8dfb52caaa9a7e37acf1f9e01226ae4c5e8a2e5b)

commit f16cd89af91ef4d55d4996f08c3ac2b2ea6cd0bf
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 16:01:33 2008 -0700

    Coverity fix CID: 592 - null deref (can't happen but doesn't hurt to be sure).
    Jeremy.
    (cherry picked from commit d6d41e85d4c7c041683057fb39196898c6218212)

commit ebbfdf0e0622b6982d95ce3ecc43c33c830a7bf4
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 15:54:20 2008 -0700

    Coverity fix #CID: 607 - resource leak on error path.
    Jeremy.
    (cherry picked from commit 8377d7721059f8834d08cd4cfbab9c8c50cf4ca4)

commit 5e40d743d4be791a6ce8f4261003c80e54cbae28
Author: Jeremy Allison <jra at samba.org>
Date:   Wed Oct 29 10:58:56 2008 -0700

    Allow a new file to inherit the Windows ACL from its parent.
    Now to do the same for directories.
    Jeremy.
    (cherry picked from commit 7a7b1602d6234ab133ea40533ef81733f12dddb6)

commit fdd5d34dd2a44282f235483b6a42813c61568e20
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Oct 29 09:53:20 2008 -0700

    wbinfo --sid-to-fullname
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    (cherry picked from commit edb1e08c04175e7758ce9a9c250747d9184c5624)

commit f5a4f49ae5944476c293ade9c07eaffb2de3673a
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Oct 29 09:43:41 2008 -0700

    wbcGetDisplayName
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    (cherry picked from commit 6176fbc116a8ebd608dcee1693f758126ca4124f)

commit 843d631eae656f85bd62fd015403987b1b8d0180
Author: Michael Adam <obnox at samba.org>
Date:   Mon Oct 27 14:28:44 2008 +0100

    winbind: fix smbd hanging on Solaris when winbindd closes socket.
    
    On some versions of Solaris, we observed a strange effect of close(2)
    on a socket: After the server (here winbindd) called close, the client fd
    was not marked as readable for select. And a write call to the fd did
    not produce an error EPIPE but just returned as if successful.
    
    So while winbindd had called remove_client(), the corresponding smbd
    still thought that it was connected, but failed to retrieve answers
    for its queries.
    
    This patch works around the problem by forcing the client fd to
    the readable state: Just write one byte into the socket before
    closing.
    
    Michael
    (cherry picked from commit 4528d0b5b32ab4cbbc2d5b09cd0d49062120e50b)

commit 8d318775360d2d5a09f83ec0527adcbfee73b607
Author: Michael Adam <obnox at samba.org>
Date:   Mon Oct 27 13:50:27 2008 +0100

    build: fix bug #5765 - fix installlibs on solaris by using portable "test -r"
    
    instead of test -e, which /bin/sh on solaris does not know.
    
    Michael
    (cherry picked from commit 7024fb2b37be5df8bafe73340aaceab78dcf5db7)

commit 56165c7fac75dfb63ff7f732735e4cd10f34fb59
Author: Michael Adam <obnox at samba.org>
Date:   Mon Oct 27 12:59:11 2008 +0100

    build: fix bug #5677 - fix test_{shlibs,nss_modules,pam_modules} on Solaris
    
    and other systems where sh does not support "export FOO=bar"
    by separating setting and exporting the variable.
    
    Thanks to Yasuma Takeda <yasuma at osstech.co.jp> for the patch.
    
    Michael
    (cherry picked from commit c202b78f2f02d06f849d6d753685a3a4c141de3f)

commit 496802fde92a54729d08755c9562ef7fb322a375
Author: Derrell Lipman <derrell.lipman at unwireduniverse.com>
Date:   Fri Oct 24 11:19:12 2008 -0400

    Error return is False, not -1
    
    - There were a few places in SMBC_getatr() that returned -1 instead of a
      boolean.  -1 was intended to mean error, but that's what False is for, and
      the usages of this function assume that it returns a boolean with False as
      the error condition.
    
    - per Jelmer's request, use false vs. False in new code, even if not making
      changes globally.
    
    Derrell
    (cherry picked from commit 89e22a2c969ab7a38016d4a145feb061fa6ae108)

commit b8de18250f6314cf17d3932a5b6af03e4bf81df4
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 9 11:45:03 2008 +0200

    build: add "make test_wbpad" for checking winbind 32/64bit structure padding.
    
    Guenther
    (cherry picked from commit 93eca985258a1ee56627704d448a4c0c40d2ec50)

commit 2761a097e72ae6168d61627cd58c94280dbd9fa7
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 16 16:04:43 2008 +0200

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

commit c8fabf7b2a8f8cd9b58765f9e002d26d16a2d323
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 16 16:04:31 2008 +0200

    netapi: add more fields to USER_INFO_X.
    
    Guenther
    (cherry picked from commit cd6d398c260443106f64beb5c1718e9716e23ac9)

commit 4d6448bb364d68a53269c3ae34ac07ec2c04fc51
Author: Jeremy Allison <jra at samba.org>
Date:   Mon Oct 20 16:34:56 2008 -0700

    Fix warnings. Jeremy.
    (cherry picked from commit c69741cf19828ffcb051727029022a319437ee39)

commit 047612d6c774e4fe9027ce31fc71226c785e2708
Author: Günther Deschner <gd at samba.org>
Date:   Fri Sep 12 17:24:37 2008 +0200

    netapi: add NetFile testsuite.
    
    Guenther
    (cherry picked from commit bf5934ebc7c2207f4813a3019ca109ca3b7c84c0)

commit e537bbc529ba297102dbe47ce740c63082087ce1
Author: Günther Deschner <gd at samba.org>
Date:   Mon Sep 22 19:31:44 2008 +0200

    netapi: fix case statement in example NetUserSetModals code.
    
    Guenther
    (cherry picked from commit a156ab0597f539aea36cafa3429c7646c9eb5d7f)

commit a730628f7664cde2cc2754ddea0685043a37ac3f
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 16 17:53:06 2008 +0200

    netapi: start supporting NetUserSetInfo level 3.
    
    Guenther
    (cherry picked from commit b6e11d038a7620b6dfcae157a5cc353f193b6fa6)

commit d9f482b76a14878c8ece29e9f5c94c90e1cd0d70
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 03:32:38 2008 +0200

    netapi: fix add_GROUP_USERS_INFO_X_buffer.
    
    Guenther
    (cherry picked from commit 579732653fc2354575303dbde392eb9c4eb4d62c)

commit 153967bfa303e9b77b86abe3089fc0bdda6e401b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 03:32:15 2008 +0200

    netapi: fix NetUserGetGroups_r returning partial results.
    
    Guenther
    (cherry picked from commit 5dfee79e5abd8ffb2a1e474fb17953ca54281103)

commit dcdcd6bb70515c558b88cb78bd71eb3124d50d5d
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 03:31:32 2008 +0200

    s3-samr-server: unify callback convention: _samr_UserSetInfo.
    
    Guenther
    (cherry picked from commit aa301e82d0c44c6a733e8be2546d661ea56512ef)

commit 63d8768411a64e61bc55fc547c6b5f3ae43b275e
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 03:30:58 2008 +0200

    s3-samr-server: unify callback convention: _samr_QueryDomainInfo.
    
    Guenther
    (cherry picked from commit ac2c35bc379de83091644455dbeba0bea3e5ceb6)

commit 8cc7be8f5d05acf54e1d9b387fc100bcf7ff522f
Author: Günther Deschner <gd at samba.org>
Date:   Thu Oct 23 03:30:14 2008 +0200

    s3-samr-server: fix return code in _samr_QueryDisplayInformation.
    
    Guenther
    (cherry picked from commit 30fa6c3ba19a8f816043405ba5d9eec84dd1c97b)

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

Summary of changes:
 docs-xml/manpages-3/net.8.xml                    |    2 +-
 source/Makefile.in                               |   72 ++-
 source/auth/token_util.c                         |    8 +-
 source/client/mount.cifs.c                       |  110 ++--
 source/client/mount.h                            |   38 +
 source/client/mtab.c                             |  219 ++++++
 source/client/umount.cifs.c                      |   22 +-
 source/configure.in                              |    8 +-
 source/groupdb/mapping_ldb.c                     |    7 +
 source/include/localedir.h                       |    6 +
 source/include/proto.h                           |   26 +-
 source/include/rpc_secdes.h                      |  171 -----
 source/include/smb.h                             |    2 +-
 source/lib/genrand.c                             |    2 +-
 source/lib/memcache.c                            |   39 +-
 source/lib/netapi/examples/user/user_modalsset.c |    1 +
 source/lib/netapi/tests/Makefile.in              |    2 +-
 source/lib/netapi/tests/common.h                 |    2 +
 source/lib/netapi/tests/netapitest.c             |    5 +
 source/lib/netapi/tests/netfile.c                |  145 ++++
 source/lib/netapi/tests/netgroup.c               |   10 +-
 source/lib/netapi/tests/netlocalgroup.c          |    6 +-
 source/lib/netapi/tests/netshare.c               |    8 +-
 source/lib/netapi/tests/netuser.c                |   20 +-
 source/lib/netapi/user.c                         |   74 ++-
 source/lib/popt_common.c                         |    8 +-
 source/lib/readline.c                            |    1 +
 source/lib/secdesc.c                             |  200 ++++--
 source/lib/sharesec.c                            |    5 +-
 source/lib/util.c                                |    6 +-
 source/lib/util_pw.c                             |   26 +-
 source/lib/util_seaccess.c                       |  346 ++++------
 source/libgpo/gpext/security.c                   |    2 +-
 source/libnet/libnet_samsync_keytab.c            |    2 +-
 source/librpc/gen_ndr/cli_ntsvcs.c               |    8 +-
 source/librpc/gen_ndr/cli_ntsvcs.h               |    4 +-
 source/librpc/gen_ndr/libnetapi.h                |    2 +
 source/librpc/gen_ndr/ndr_libnetapi.c            |    6 +
 source/librpc/gen_ndr/ndr_ntsvcs.c               |   46 +-
 source/librpc/gen_ndr/ndr_security.c             |   31 +-
 source/librpc/gen_ndr/ndr_security.h             |    6 +
 source/librpc/gen_ndr/ndr_xattr.c                |   48 +-
 source/librpc/gen_ndr/ndr_xattr.h                |    6 +-
 source/librpc/gen_ndr/ntsvcs.h                   |   10 +-
 source/librpc/gen_ndr/samr.h                     |   25 +
 source/librpc/gen_ndr/security.h                 |    4 +-
 source/librpc/gen_ndr/xattr.h                    |    6 +-
 source/librpc/idl/libnetapi.idl                  |    2 +
 source/librpc/idl/ntsvcs.idl                     |   10 +-
 source/librpc/idl/samr.idl                       |  124 ++++
 source/librpc/idl/security.idl                   |   22 +-
 source/librpc/idl/xattr.idl                      |   10 +-
 source/librpc/ndr/ndr_sec_helper.c               |   31 +
 source/libsmb/libsmb_file.c                      |    6 +-
 source/locale/pam_winbind/genmsg                 |   25 +
 source/localedir.c                               |    3 +
 source/m4/check_path.m4                          |   19 +
 source/modules/vfs_acl_tdb.c                     |  833 ++++++++++++++++++++++
 source/modules/vfs_acl_xattr.c                   |  502 ++++++++++---
 source/modules/vfs_readonly.c                    |   13 +
 source/modules/vfs_smb_traffic_analyzer.c        |    1 +
 source/modules/vfs_streams_depot.c               |   10 +-
 source/nmbd/nmbd.c                               |    8 +-
 source/nsswitch/libwbclient/wbc_sid.c            |   44 ++
 source/nsswitch/libwbclient/wbclient.h           |    5 +
 source/nsswitch/pam_winbind.c                    |  129 ++--
 source/nsswitch/pam_winbind.h                    |   15 +-
 source/nsswitch/wbinfo.c                         |   42 ++-
 source/nsswitch/winbind_struct_protocol.h        |    4 +-
 source/param/loadparm.c                          |    8 +-
 source/passdb/passdb.c                           |    2 +-
 source/passdb/pdb_interface.c                    |   22 +-
 source/passdb/util_unixsids.c                    |    2 +-
 source/printing/nt_printing.c                    |   17 +-
 source/registry/reg_dispatcher.c                 |    3 +-
 source/rpc_server/srv_eventlog_nt.c              |   13 +-
 source/rpc_server/srv_lsa_nt.c                   |    6 +-
 source/rpc_server/srv_samr_nt.c                  |  205 +++---
 source/rpc_server/srv_svcctl_nt.c                |    6 +-
 source/script/installmo.sh                       |   83 +++
 source/script/tests/wb_pad.sh                    |   82 +++
 source/script/uninstallmo.sh                     |    1 +
 source/smbd/file_access.c                        |    7 +-
 source/smbd/mangle.c                             |    2 +-
 source/smbd/notify_inotify.c                     |   10 +-
 source/smbd/nttrans.c                            |   13 +
 source/smbd/open.c                               |  182 +++++-
 source/smbd/posix_acls.c                         |    6 +-
 source/smbd/process.c                            |    1 +
 source/smbd/reply.c                              |   15 +-
 source/smbd/server.c                             |    6 +-
 source/smbd/share_access.c                       |    6 +-
 source/smbd/trans2.c                             |    9 +-
 source/smbd/uid.c                                |    5 +-
 source/torture/torture.c                         |   33 +-
 source/utils/net_rap.c                           |   11 +-
 source/utils/net_rpc.c                           |   22 +-
 source/utils/net_rpc_samsync.c                   |   15 +-
 source/utils/net_sam.c                           |    2 +-
 source/utils/ntlm_auth.c                         |   18 +-
 source/utils/pdbedit.c                           |    4 +-
 source/utils/smbpasswd.c                         |    4 +-
 source/web/cgi.c                                 |    4 +-
 source/winbindd/winbindd.c                       |   25 +-
 source/winbindd/winbindd_cm.c                    |    8 +-
 source/winbindd/winbindd_dual.c                  |    2 +-
 source/winbindd/winbindd_group.c                 |   33 +-
 source/winbindd/winbindd_pam.c                   |   25 +-
 source/winbindd/winbindd_passdb.c                |    5 +-
 source/winbindd/winbindd_proto.h                 |    2 +-
 110 files changed, 3406 insertions(+), 1180 deletions(-)
 create mode 100644 source/client/mount.h
 create mode 100644 source/client/mtab.c
 create mode 100644 source/include/localedir.h
 create mode 100644 source/lib/netapi/tests/netfile.c
 create mode 100755 source/locale/pam_winbind/genmsg
 create mode 100644 source/localedir.c
 create mode 100644 source/modules/vfs_acl_tdb.c
 create mode 100644 source/script/installmo.sh
 create mode 100755 source/script/tests/wb_pad.sh
 create mode 120000 source/script/uninstallmo.sh


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/net.8.xml b/docs-xml/manpages-3/net.8.xml
index 31fe69d..75f85e1 100644
--- a/docs-xml/manpages-3/net.8.xml
+++ b/docs-xml/manpages-3/net.8.xml
@@ -395,7 +395,7 @@ current network.</para>
 <title>RAP PRINTQ</title>
 
 <refsect3>
-<title>RAP PRINTQ LIST <replaceable>QUEUE_NAME</replaceable></title>
+<title>RAP PRINTQ INFO <replaceable>QUEUE_NAME</replaceable></title>
 
 <para>Lists the specified print queue and print jobs on the server.
 If the <replaceable>QUEUE_NAME</replaceable> is omitted, all 
diff --git a/source/Makefile.in b/source/Makefile.in
index 5aed254..9df43e6 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -137,6 +137,9 @@ PRIVATE_DIR = $(PRIVATEDIR)
 # This is where SWAT images and help files go
 SWATDIR = @swatdir@
 
+# This is where locale(mo) files go
+LOCALEDIR= @localedir@
+
 # the directory where lock files go
 LOCKDIR = @lockdir@
 
@@ -174,7 +177,8 @@ PATH_FLAGS = -DSMB_PASSWD_FILE=\"$(SMB_PASSWD_FILE)\" \
 	-DCONFIGDIR=\"$(CONFIGDIR)\" \
 	-DCODEPAGEDIR=\"$(CODEPAGEDIR)\" \
 	-DCACHEDIR=\"$(CACHEDIR)\" \
-	-DSTATEDIR=\"$(STATEDIR)\"
+	-DSTATEDIR=\"$(STATEDIR)\" \
+	-DLOCALEDIR=\"$(LOCALEDIR)\"
 
 # Note that all executable programs now provide for an optional executable suffix.
 
@@ -226,7 +230,9 @@ MODULES = $(VFS_MODULES) $(PDB_MODULES) $(RPC_MODULES) $(IDMAP_MODULES) \
           $(CHARSET_MODULES) $(AUTH_MODULES) $(NSS_INFO_MODULES) \
 	  $(GPEXT_MODULES)
 
-######################################################################
+EXTRA_ALL_TARGETS = @EXTRA_ALL_TARGETS@
+
+#####################################################################
 # object file lists
 ######################################################################
 
@@ -624,6 +630,7 @@ VFS_FILEID_OBJ = modules/vfs_fileid.o
 VFS_AIO_FORK_OBJ = modules/vfs_aio_fork.o
 VFS_SYNCOPS_OBJ = modules/vfs_syncops.o
 VFS_ACL_XATTR_OBJ = modules/vfs_acl_xattr.o
+VFS_ACL_TDB_OBJ = modules/vfs_acl_tdb.o
 VFS_SMB_TRAFFIC_ANALYZER_OBJ = modules/vfs_smb_traffic_analyzer.o
 
 PLAINTEXT_AUTH_OBJ = auth/pampass.o auth/pass_check.o
@@ -777,7 +784,7 @@ RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
 	     $(LIBADS_OBJ) $(POPT_LIB_OBJ) \
 	     $(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(LDB_OBJ) 
 
-PAM_WINBIND_OBJ = nsswitch/pam_winbind.o $(WBCOMMON_OBJ) \
+PAM_WINBIND_OBJ = nsswitch/pam_winbind.o localedir.o $(WBCOMMON_OBJ) \
 		  $(LIBREPLACE_OBJ) @BUILD_INIPARSER@
 
 LIBSMBCLIENT_OBJ0 = \
@@ -883,9 +890,9 @@ CUPS_OBJ = client/smbspool.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
 	  $(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) $(POPT_LIB_OBJ) \
 	  $(LIBNDR_GEN_OBJ0)
 
-CIFS_MOUNT_OBJ = client/mount.cifs.o
+CIFS_MOUNT_OBJ = client/mount.cifs.o client/mtab.o
 
-CIFS_UMOUNT_OBJ = client/umount.cifs.o
+CIFS_UMOUNT_OBJ = client/umount.cifs.o client/mtab.o
 
 CIFS_UPCALL_OBJ = client/cifs.upcall.o
 
@@ -1131,7 +1138,8 @@ RPC_OPEN_TCP_OBJ = torture/rpc_open_tcp.o \
 # now the rules...
 ######################################################################
 all:: SHOWFLAGS libs $(SBIN_PROGS) $(BIN_PROGS) $(ROOT_SBIN_PROGS) \
-	$(MODULES) $(NSS_MODULES) $(PAM_MODULES) @EXTRA_ALL_TARGETS@
+	$(MODULES) $(NSS_MODULES) $(PAM_MODULES) @CIFSUPCALL_PROGS@ \
+	$(EXTRA_ALL_TARGETS)
 
 nss_modules:: $(NSS_MODULES)
 
@@ -1272,6 +1280,13 @@ dynconfig.o: dynconfig.c Makefile
 		echo "$(COMPILE_CC_PATH)" 1>&2;\
 		$(COMPILE_CC_PATH) >/dev/null 2>&1
 
+localedir.o: localedir.c Makefile
+	@echo Compiling $*.c
+	@$(COMPILE_CC_PATH) && exit 0;\
+		echo "The following command failed:" 1>&2;\
+		echo "$(COMPILE_CC_PATH)" 1>&2;\
+		$(COMPILE_CC_PATH) >/dev/null 2>&1
+
 lib/pidfile.o: lib/pidfile.c
 	@echo Compiling $*.c
 	@$(COMPILE_CC_PATH) && exit 0;\
@@ -1617,7 +1632,7 @@ installlibtalloc:: installdirs libtalloc
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBTALLOC_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)`
-	-if test -e $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBTALLOC_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBTALLOC_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBTALLOC_SHARED_TARGET)` ; \
 	fi
@@ -1684,7 +1699,7 @@ installlibtdb:: installdirs libtdb
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBTDB_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)`
-	-if test -e $(LIBTDB_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBTDB_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBTDB_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBTDB_SHARED_TARGET)` ; \
 	fi
@@ -1757,7 +1772,7 @@ installlibwbclient:: installdirs libwbclient
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBWBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)`
-	-if test -e $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBWBCLIENT_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBWBCLIENT_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBWBCLIENT_SHARED_TARGET)` ; \
 	fi
@@ -1817,7 +1832,7 @@ installlibaddns:: installdirs libaddns
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBADDNS_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)`
-	-if test -e $(LIBADDNS_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBADDNS_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBADDNS_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBADDNS_SHARED_TARGET)` ; \
 	fi
@@ -1904,7 +1919,7 @@ installlibnetapi:: installdirs libnetapi
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBNETAPI_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)`
-	-if test -e $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBNETAPI_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBNETAPI_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBNETAPI_SHARED_TARGET)` ; \
 	fi
@@ -1968,7 +1983,7 @@ installlibsmbclient:: installdirs libsmbclient
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBSMBCLIENT_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)`
-	-if test -e $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBSMBCLIENT_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBSMBCLIENT_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBSMBCLIENT_SHARED_TARGET)` ; \
 	fi
@@ -2040,7 +2055,7 @@ installlibsmbsharemodes:: installdirs libsmbsharemodes
 	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(LIBDIR)
 	-$(INSTALLLIBCMD_SH) $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) $(DESTDIR)$(LIBDIR)
 	@rm -f $(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)`
-	-if test -e $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \
+	-if test -r $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME) ; then \
 		ln -s -f `basename $(LIBSMBSHAREMODES_SHARED_TARGET_SONAME)` \
 			$(DESTDIR)$(LIBDIR)/`basename $(LIBSMBSHAREMODES_SHARED_TARGET)` ; \
 	fi
@@ -2410,6 +2425,10 @@ bin/acl_xattr. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_XATTR_OBJ)
 	@echo "Building plugin $@"
 	@$(SHLD_MODULE) $(VFS_ACL_XATTR_OBJ)
 
+bin/acl_tdb. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_ACL_TDB_OBJ)
+	@echo "Building plugin $@"
+	@$(SHLD_MODULE) $(VFS_ACL_TDB_OBJ)
+
 bin/registry. at SHLIBEXT@: $(BINARY_PREREQS) libgpo/gpext/registry.o
 	@echo "Building plugin $@"
 	@$(SHLD_MODULE) libgpo/gpext/registry.o
@@ -2500,7 +2519,7 @@ bin/rpc_open_tcp at EXEEXT@: $(BINARY_PREREQS) $(RPC_OPEN_TCP_OBJ) @LIBTALLOC_SHARE
 
 install:: installservers installbin @INSTALL_CIFSMOUNT@ @INSTALL_CIFSUPCALL@ installman \
 		installscripts installdat installmodules @SWAT_INSTALL_TARGETS@ \
-		@INSTALL_PAM_MODULES@ installlibs
+		@INSTALL_PAM_MODULES@ installlibs installmo
 
 install-everything:: install installmodules
 
@@ -2513,7 +2532,7 @@ install-everything:: install installmodules
 # is not used
 
 installdirs::
-	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR)
+	@$(SHELL) $(srcdir)/script/installdirs.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(BINDIR) $(SBINDIR) $(LIBDIR) $(VARDIR) $(PRIVATEDIR) $(PIDDIR) $(LOCKDIR) $(MANDIR) $(CODEPAGEDIR) $(MODULESDIR) $(LOCALEDIR)
 
 installservers:: all installdirs
 	@$(SHELL) script/installbin.sh $(INSTALLPERMS_BIN) $(DESTDIR) $(prefix) $(SBINDIR) $(SBIN_PROGS)
@@ -2579,6 +2598,9 @@ revert::
 installman:: installdirs
 	@$(SHELL) $(srcdir)/script/installman.sh $(DESTDIR)$(MANDIR) $(srcdir) C "@ROFF@"
 
+installmo:: all installdirs
+	@$(SHELL) $(srcdir)/script/installmo.sh $(DESTDIR) $(LOCALEDIR) $(srcdir)
+
 .PHONY: showlayout
 
 showlayout::
@@ -2598,7 +2620,10 @@ showlayout::
 	@echo "  codepagedir: $(CODEPAGEDIR)"
 
 
-uninstall:: uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSUPCALL@ uninstallscripts uninstalldat uninstallswat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@
+uninstall:: uninstallmo uninstallman uninstallservers uninstallbin @UNINSTALL_CIFSMOUNT@ @UNINSTALL_CIFSUPCALL@ uninstallscripts uninstalldat uninstallswat uninstallmodules uninstalllibs @UNINSTALL_PAM_MODULES@
+
+uninstallmo::
+	@$(SHELL) $(srcdir)/script/uninstallmo.sh $(DESTDIR) $(LOCALEDIR) $(srcdir)
 
 uninstallman::
 	@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) C
@@ -2643,7 +2668,7 @@ uninstallpammodules::
 	done
 
 # Toplevel clean files
-TOPFILES=dynconfig.o
+TOPFILES=dynconfig.o localedir.o
 
 clean:: cleanlibs
 	-rm -f include/build_env.h
@@ -2719,7 +2744,8 @@ Makefile: $(srcdir)/Makefile.in config.status
 # Check shared libs for unresolved symbols
 test_shlibs:
 	@echo "Testing $? "
-	@export $(LIB_PATH_VAR)=./bin && \
+	@$(LIB_PATH_VAR)=./bin && \
+	export $(LIB_PATH_VAR) && \
 	for module in $?; do \
 		./script/tests/dlopen.sh $${module} \
 			|| exit 1; \
@@ -2728,7 +2754,8 @@ test_shlibs:
 # Check for NSS module problems.
 test_nss_modules:: nss_modules
 	@echo "Testing $(NSS_MODULES) "
-	@export $(LIB_PATH_VAR)=./bin && \
+	@$(LIB_PATH_VAR)=./bin && \
+	export $(LIB_PATH_VAR) && \
 	for module in $(NSS_MODULES); do \
 		./script/tests/dlopen.sh $${module} \
 			|| exit 1; \
@@ -2738,7 +2765,8 @@ test_nss_modules:: nss_modules
 # built can actually be loaded by a minimal PAM-aware application.
 test_pam_modules:: pam_modules
 	@echo "Testing $(PAM_MODULES) "
-	@export $(LIB_PATH_VAR)=./bin && \
+	@$(LIB_PATH_VAR)=./bin && \
+	export $(LIB_PATH_VAR) && \
 	for module in $(PAM_MODULES); do \
 		./script/tests/dlopen.sh -lpam -ldl bin/$${module}. at SHLIBEXT@ \
 			|| exit 1; \
@@ -2761,6 +2789,10 @@ valgrindtest:: all torture timelimit
 	 VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/valgrind.log" \
 	 PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix} all "${smbtorture4_path}"
 
+# Check for Winbind struct 32/64bit padding
+test_wbpad:
+	@echo "Testing winbind request/response structure for 32/64bit padding"
+	@./script/tests/wb_pad.sh || exit 1;
 
 ##
 ## Examples:
diff --git a/source/auth/token_util.c b/source/auth/token_util.c
index d6cd2ea..7aa5391 100644
--- a/source/auth/token_util.c
+++ b/source/auth/token_util.c
@@ -77,7 +77,7 @@ bool nt_token_check_domain_rid( NT_USER_TOKEN *token, uint32 rid )
 
 NT_USER_TOKEN *get_root_nt_token( void )
 {
-	struct nt_user_token *token = NULL;
+	struct nt_user_token *token, *for_cache;
 	DOM_SID u_sid, g_sid;
 	struct passwd *pw;
 	void *cache_data;
@@ -102,14 +102,16 @@ NT_USER_TOKEN *get_root_nt_token( void )
 	uid_to_sid(&u_sid, pw->pw_uid);
 	gid_to_sid(&g_sid, pw->pw_gid);
 
-	token = create_local_nt_token(NULL, &u_sid, False,
+	token = create_local_nt_token(talloc_autofree_context(), &u_sid, False,
 				      1, &global_sid_Builtin_Administrators);
 
 	token->privileges = se_disk_operators;
 
+	for_cache = token;
+
 	memcache_add_talloc(
 		NULL, SINGLETON_CACHE_TALLOC,
-		data_blob_string_const("root_nt_token"), token);
+		data_blob_string_const("root_nt_token"), &for_cache);
 
 	return token;
 }
diff --git a/source/client/mount.cifs.c b/source/client/mount.cifs.c
index fd8014c..da2f98b 100644
--- a/source/client/mount.cifs.c
+++ b/source/client/mount.cifs.c
@@ -39,9 +39,10 @@
 #include <mntent.h>
 #include <fcntl.h>
 #include <limits.h>
+#include "mount.h"
 
 #define MOUNT_CIFS_VERSION_MAJOR "1"
-#define MOUNT_CIFS_VERSION_MINOR "11"
+#define MOUNT_CIFS_VERSION_MINOR "12"
 
 #ifndef MOUNT_CIFS_VENDOR_SUFFIX
  #ifdef _SAMBA_BUILD_
@@ -79,15 +80,6 @@
 #define MOUNT_PASSWD_SIZE 64
 #define DOMAIN_SIZE 64
 
-/* exit status - bits below are ORed */
-#define EX_USAGE        1       /* incorrect invocation or permission */
-#define EX_SYSERR       2       /* out of memory, cannot fork, ... */
-#define EX_SOFTWARE     4       /* internal mount bug or wrong version */
-#define EX_USER         8       /* user interrupt */
-#define EX_FILEIO      16       /* problems writing, locking, ... mtab/fstab */
-#define EX_FAIL        32       /* mount failure */
-#define EX_SOMEOK      64       /* some mount succeeded */
-
 const char *thisprogram;
 int verboseflag = 0;
 static int got_password = 0;
@@ -441,6 +433,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 					goto nocopy;
 				} else {
 					printf("username specified with no parameter\n");
+					SAFE_FREE(out);
 					return 1;	/* needs_arg; */
 				}
 			} else {
@@ -473,6 +466,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 					domain_name = check_for_domain(&value);
 				} else {
 					printf("username too long\n");
+					SAFE_FREE(out);
 					return 1;
 				}
 			}
@@ -488,6 +482,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 				got_password = 1;
 			} else {
 				printf("password too long\n");
+				SAFE_FREE(out);
 				return 1;
 			}
 		} else if (strncmp(data, "sec", 3) == 0) {
@@ -505,6 +500,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 				got_ip = 1;
 			} else {
 				printf("ip address too long\n");
+				SAFE_FREE(out);
 				return 1;
 			}
 		} else if ((strncmp(data, "unc", 3) == 0)
@@ -512,6 +508,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 		   || (strncmp(data, "path", 4) == 0)) {
 			if (!value || !*value) {
 				printf("invalid path to network resource\n");
+				SAFE_FREE(out);
 				return 1;  /* needs_arg; */
 			} else if(strnlen(value,5) < 5) {
 				printf("UNC name too short");
@@ -526,6 +523,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 						got_unc = 1;
 				} else if (strncmp(value, "\\\\", 2) != 0) {	                   
 					printf("UNC Path does not begin with // or \\\\ \n");
+					SAFE_FREE(out);
 					return 1;
 				} else {
 					if(got_unc)
@@ -535,6 +533,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 				}
 			} else {
 				printf("CIFS: UNC name too long\n");
+				SAFE_FREE(out);
 				return 1;
 			}
 		} else if ((strncmp(data, "dom" /* domain */, 3) == 0)
@@ -544,12 +543,14 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 			   and "WORKGRP" etc. */
 			if (!value || !*value) {
 				printf("CIFS: invalid domain name\n");
+				SAFE_FREE(out);
 				return 1;	/* needs_arg; */
 			}
 			if (strnlen(value, DOMAIN_SIZE+1) < DOMAIN_SIZE+1) {
 				got_domain = 1;
 			} else {
 				printf("domain name too long\n");
+				SAFE_FREE(out);
 				return 1;
 			}
 		} else if (strncmp(data, "cred", 4) == 0) {
@@ -558,10 +559,12 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 				if(rc) {
 					printf("error %d (%s) opening credential file %s\n",
 						rc, strerror(rc), value);
+					SAFE_FREE(out);
 					return 1;
 				}
 			} else {
 				printf("invalid credential file name specified\n");
+				SAFE_FREE(out);
 				return 1;
 			}
 		} else if (strncmp(data, "uid", 3) == 0) {
@@ -600,6 +603,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 		} else if (strcmp(data, "file_mode") == 0 || strcmp(data, "fmask")==0) {
 			if (!value || !*value) {
 				printf ("Option '%s' requires a numerical argument\n", data);
+				SAFE_FREE(out);
 				return 1;
 			}
 
@@ -614,6 +618,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
 		} else if (strcmp(data, "dir_mode") == 0 || strcmp(data, "dmask")==0) {
 			if (!value || !*value) {
 				printf ("Option '%s' requires a numerical argument\n", data);
+				SAFE_FREE(out);
 				return 1;
 			}
 
@@ -1411,48 +1416,57 @@ mount_retry:
 		printf("Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)\n");
 		rc = EX_FAIL;
 	} else {
+		atexit(unlock_mtab);
+		rc = lock_mtab();
+		if (rc) {
+			printf("cannot lock mtab");
+			goto mount_exit;
+		}
 		pmntfile = setmntent(MOUNTED, "a+");
-		if(pmntfile) {
-			mountent.mnt_fsname = dev_name;
-			mountent.mnt_dir = mountpoint;
-			mountent.mnt_type = CONST_DISCARD(char *,"cifs");
-			mountent.mnt_opts = (char *)malloc(220);
-			if(mountent.mnt_opts) {
-				char * mount_user = getusername();
-				memset(mountent.mnt_opts,0,200);
-				if(flags & MS_RDONLY)
-					strlcat(mountent.mnt_opts,"ro",220);
-				else
-					strlcat(mountent.mnt_opts,"rw",220);
-				if(flags & MS_MANDLOCK)
-					strlcat(mountent.mnt_opts,",mand",220);
-				if(flags & MS_NOEXEC)
-					strlcat(mountent.mnt_opts,",noexec",220);
-				if(flags & MS_NOSUID)
-					strlcat(mountent.mnt_opts,",nosuid",220);
-				if(flags & MS_NODEV)
-					strlcat(mountent.mnt_opts,",nodev",220);
-				if(flags & MS_SYNCHRONOUS)
-					strlcat(mountent.mnt_opts,",synch",220);
-				if(mount_user) {
-					if(getuid() != 0) {
-						strlcat(mountent.mnt_opts,",user=",220);
-						strlcat(mountent.mnt_opts,mount_user,220);
-					}
-					/* free(mount_user); do not free static mem */
-				}
-			}
-			mountent.mnt_freq = 0;
-			mountent.mnt_passno = 0;
-			rc = addmntent(pmntfile,&mountent);
-			endmntent(pmntfile);
-			SAFE_FREE(mountent.mnt_opts);
-			if (rc)
-				rc = EX_FILEIO;
-		} else {
+		if (!pmntfile) {
 			printf("could not update mount table\n");
+			unlock_mtab();
 			rc = EX_FILEIO;
+			goto mount_exit;
 		}
+		mountent.mnt_fsname = dev_name;
+		mountent.mnt_dir = mountpoint;
+		mountent.mnt_type = CONST_DISCARD(char *,"cifs");
+		mountent.mnt_opts = (char *)malloc(220);
+		if(mountent.mnt_opts) {
+			char * mount_user = getusername();
+			memset(mountent.mnt_opts,0,200);
+			if(flags & MS_RDONLY)
+				strlcat(mountent.mnt_opts,"ro",220);
+			else
+				strlcat(mountent.mnt_opts,"rw",220);
+			if(flags & MS_MANDLOCK)
+				strlcat(mountent.mnt_opts,",mand",220);
+			if(flags & MS_NOEXEC)
+				strlcat(mountent.mnt_opts,",noexec",220);
+			if(flags & MS_NOSUID)


-- 
Samba Shared Repository


More information about the samba-cvs mailing list