[SCM] Samba Shared Repository - branch v3-6-test updated

Stefan Metzmacher metze at samba.org
Wed Sep 1 05:11:55 MDT 2010


The branch, v3-6-test has been updated
       via  8e60fa5 docs-xml/vfs_gpfs: document 'gpfs:refuse_dacl_protected'
       via  af01597 docs-xml/vfs_gpfs: document 'gpfs:merge_writeappend'
       via  6318e44 docs-xml/vfs_gpfs: document 'gpfs:winattr'
       via  a359814 docs-xml/vfs_gpfs: document 'gpfs:getrealfilename'
       via  398e182 docs-xml/vfs_gpfs: document 'gpfs:leases'
       via  af4fd6d docs-xml/vfs_gpfs: document 'gpfs:sharemodes'
       via  34d3d21 librpc/ndr: correctly implement ndr_charset_length()
       via  f87296d pidl:Samba4/NDR/Client: support argument based stubs for [in,out,string]
       via  81759e7 pidl:NDR: [in,out,string] doesn't need to pointers
       via  4ecfee7 pidl:Samba4/NDR/Client: correctly copy [out,charset()] buffers
       via  bf451c7 pidl:Samba4/NDR/Client: fix skip reason for unsized arrays
       via  9e91798 selftest/Subunit.pm: fix perl warnings
       via  d8ed2f9 subunit: Make sure "]" in failure reason ends up on its own line, so the next subunit parser in the line parses it correctly. (cherry picked from commit 3c7a7bbb9a6258744523f41935f3967e48056787)
       via  d0e42d6 lib/util: remove implicit discard_const_p() from SAFE_FREE()
       via  0a084ea pidl:Samba3/ClientNDR: remove unused ParseOutputArgument function
       via  17df5f2 s3:librpc: make dcerpc_read_ncacn_packet_send/recv() available
       via  822b7b3 librpc/rpc: move dcerpc_read_ncacn_packet_send/recv() to dcerpc_util.c
       via  8528509 librpc/rpc: call do_ndr_print hook in dcerpc_binding_handle_call*()
       via  a8267b4 s3:winbindd: remove rpc_pipe_client references from winbind_dual_ndr code
       via  72ab6d2 s3:winbindd: use dcerpc_wbint_* functions instead of rpccli_wbint_*
       via  ba97d56 s3:winbindd: add binding_handle to struct winbindd_child
       via  2ee2f05 s3:include: remove unused dispatch* fn pointers from rpc_pipe_client
       via  328bf4c s3:winbindd: remove unused wb_ndr_dispatch* functions
       via  2d77e5b s3:rpc_server: remove unused rpc_pipe_internal_dispatch()
       via  049dee1 s3:rpc_client: remove unused cli_do_rpc_ndr* functions
       via  bf7f01f s3:rpc_client: remove unused rpc_pipe_open_local()
       via  db69fe9 pidl:Samba4/NDR/Client.pm: correctly copy fixed size out arrays
       via  14d052a pidl:Samba3/ClientNDR: implement rpccli_ stubs on top of dcerpc_ stubs
       via  1f5cd0d s3:Makefile: link in dcerpc client stubs
       via  46e6919 s3:winbindd: add wbint dcerpc_binding_handle backend
       via  48754ee s3:rpc_server: add rpc_pipe_open_internal dcerpc_binding_handle backend
       via  e603042 s3:rpc_client: add dcerpc_binding_handle backend
       via  091d129 s4:librpc/rpc: make struct dcerpc_binding_handle private
       via  059c063 pidl:Samba4/NDR/Client: add sync dcerpc_pipe based stubs as compat for OpenChange
       via  81c07cb pidl:Samba4/NDR/Client: add non struct base dcerpc_binding_handle client stubs
       via  be77caa pidl:Samba4/NDR/Client: convert code to $self->pidl()
       via  9f87c1c pidl:Samba4/NDR/Client: s/interface/if/
       via  279a56b pidl:Samba4/NDR/Client: make use of the new dcerpc_binding_handle_call() infrastructure
       via  cd19ff5 pidl:Samba4/NDR/Client: remove old dcerpc_pipe based sync stubs
       via  c1aa7ae s4:librpc/rpc: add dcerpc_binding_handle dcerpc_pipe backend
       via  cc85d8b librpc/rpc: add dcerpc_binding_handle abstration
       via  33edddf s4:librpc/rpc: fix dcerpc_log_packet() prototype
       via  0b61752 s4:librpc/rpc: autodetect the need of async call logic
       via  9d63234 s4:RPC-SPOOLSS-NOTIFY: skip test_RFFPCNEx() for now, as the test is broken
       via  6495cf0 s4:librpc/rpc: avoid using DCERPC_NDR_REF_ALLOC for epm_Map()
       via  823989f s4:torture/libnet: avoid dereferencing dcerpc_binding_handle internals
       via  a0369fe s4:blackbox/newuser: use test specific user names
       via  81bbacb s4:selftest: skip samba4.blackbox.ktpass for now as it's not portable
       via  de18d37 s4:blackblock/ktpass: use test specific user name
       via  cac7f19 s4:librpc/rpc: use the correct ndr flags in dcerpc_ndr_validate_in()
      from  b374345 s3: Print the IP of the server that stopped responding

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


- Log -----------------------------------------------------------------
commit 8e60fa5fe848b1a8a44cf88e2866134e1f503108
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 10:45:52 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:refuse_dacl_protected'
    
    metze
    (cherry picked from commit fc79f358eb6a1dd7ed2e5f5b1e31fb664a182595)

commit af015976e4d56419cb1d01c89ce6985e3a539ba2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 10:31:38 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:merge_writeappend'
    
    metze
    (cherry picked from commit 4d76c18f78742ba92b4772037ac306b567351ca1)

commit 6318e44349a8895ddf20e2e7ae372cbcca84ee7e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 10:24:52 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:winattr'
    
    metze
    (cherry picked from commit 6cf66a04ad690e78311411e2195b3a1710953262)

commit a359814ac0f2e13d867bdb0bcff82a895b43f411
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 10:12:41 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:getrealfilename'
    
    metze
    (cherry picked from commit a8a704001e5da10fae5df5fc2856d06250739248)

commit 398e18258bcbab8d28f1b8d2ce91cc629b7d9657
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 09:29:46 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:leases'
    
    metze
    (cherry picked from commit 196699a6a1412687f7d5fe24c506577002dd769e)

commit af4fd6d2fd5ff7726f171da1f1df266f1a3c0b7c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 30 09:01:21 2010 +0200

    docs-xml/vfs_gpfs: document 'gpfs:sharemodes'
    
    metze
    (cherry picked from commit d35d846db14a4bb28a97a7bab6dbfdbe7a62b593)

commit 34d3d2137296012756622b0e28ba46f20215b06e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 10:05:15 2010 +0200

    librpc/ndr: correctly implement ndr_charset_length()
    
    Before we ignored the charset type.
    
    metze
    (cherry picked from commit 11a3d78951c897c46264203daaad12a3ead5cf8c)

commit f87296d9ea4d68e915743b009f074347808a408f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 11:12:16 2010 +0200

    pidl:Samba4/NDR/Client: support argument based stubs for [in,out,string]
    
    metze
    (cherry picked from commit 831611e221d82b8074727fb8e948d0cbe3eb6f0a)

commit 81759e7683b21a1dc90f1340b6f373a5d91b7760
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 11:02:52 2010 +0200

    pidl:NDR: [in,out,string] doesn't need to pointers
    
    metze
    (cherry picked from commit 94faf0ccbe061681de0a529b5cfd61da10d5226a)

commit 4ecfee7ca00ede652775c8425d7b8ef570ec4554
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 11:07:29 2010 +0200

    pidl:Samba4/NDR/Client: correctly copy [out,charset()] buffers
    
    If the conversion from CH_UTF16 to CH_UNIX uses multi-byte characters
    in CH_UNIX, we should not silently truncate the string, but return
    an error.
    
    metze
    (cherry picked from commit aa3b75ad1fa60dbf1ea3bd61782c59b39020b2e3)

commit bf451c7e86b35b44afad9698aa347198dc2a6a94
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 11:13:08 2010 +0200

    pidl:Samba4/NDR/Client: fix skip reason for unsized arrays
    
    metze
    (cherry picked from commit eeebaa63f1fe85fe9d58bad50920432263de84c0)

commit 9e9179835ff48f12c165493a2135727e1b855883
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 28 09:42:10 2010 +0200

    selftest/Subunit.pm: fix perl warnings
    
    Argument "\n" isn't numeric in numeric ne (!=) at selftest/Subunit.pm line 136
    
    metze
    (cherry picked from commit 8e6f67392998d09073aa04932a4c838e264a56ce)

commit d8ed2f97a38235c39e67abe24bb87088bcfe7c2e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Aug 26 03:50:08 2010 +0200

    subunit: Make sure "]" in failure reason ends up on its own line, so the
    next subunit parser in the line parses it correctly.
    (cherry picked from commit 3c7a7bbb9a6258744523f41935f3967e48056787)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit d0e42d6f7265a7599f020b6766cca1bd801b89e5
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 28 08:38:48 2010 +0200

    lib/util: remove implicit discard_const_p() from SAFE_FREE()
    
    This should fix a lot of warnings on IRIX.
    If callers know what they're doing they can use discard_const_p()
    on their own.
    
    metze
    (cherry picked from commit a6111c2a7b9b6d8d4b6dec91072743683f9cae8c)

commit 0a084ea7b31f446384c5d81c5f9e4507b1b8f3d6
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 25 10:07:54 2010 +0200

    pidl:Samba3/ClientNDR: remove unused ParseOutputArgument function
    
    metze
    (cherry picked from commit a701484230bf1119900287326f7a57c07776e4e9)

commit 17df5f23f402918b6653e52c98713494a6bbf81a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 15:59:17 2010 +0200

    s3:librpc: make dcerpc_read_ncacn_packet_send/recv() available
    
    metze
    (cherry picked from commit 5d7c27cb5b35848ff32f7c7e3f66247990c28ad1)

commit 822b7b3b626d55045366880d851fb0cc5e085038
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 15:49:32 2010 +0200

    librpc/rpc: move dcerpc_read_ncacn_packet_send/recv() to dcerpc_util.c
    
    metze
    (cherry picked from commit fe7819ae6f82bee65c14c57f87ec82b2243f4356)

commit 8528509e60ac29eb699f234fecd5520556737426
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Aug 18 15:47:15 2010 +0200

    librpc/rpc: call do_ndr_print hook in dcerpc_binding_handle_call*()
    
    metze
    (cherry picked from commit ce60e8d69735bc2d5c6f776c84dea2e17dae95ac)

commit a8267b49f86bfe52dbcbece5f2539cb5cfad0b1b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 15:28:27 2010 +0200

    s3:winbindd: remove rpc_pipe_client references from winbind_dual_ndr code
    
    metze
    (cherry picked from commit 760948a5d4b65fe9353357e701e854f437adf7cb)

commit 72ab6d252cf414705e48ab21d81db7eaddb825b8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 15:13:54 2010 +0200

    s3:winbindd: use dcerpc_wbint_* functions instead of rpccli_wbint_*
    
    metze
    (cherry picked from commit 13c744fa30b94e6ab4321c69a8a3d01ef42845d7)

commit ba97d5616493ef1c6fee5ba62381abef1cd5a2ba
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 15:12:11 2010 +0200

    s3:winbindd: add binding_handle to struct winbindd_child
    
    metze
    (cherry picked from commit 2ccaa2355872612559935090cb032031659ea284)

commit 2ee2f05a06a2f5dee696e266afe541b88c7e9b56
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 14:50:47 2010 +0200

    s3:include: remove unused dispatch* fn pointers from rpc_pipe_client
    
    metze
    (cherry picked from commit e79c8098d62d415d988a840f71f5733b9dfb9f68)

commit 328bf4c2d07a36948fd88237d5577c25af5f751b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 14:49:47 2010 +0200

    s3:winbindd: remove unused wb_ndr_dispatch* functions
    
    metze
    (cherry picked from commit 7f2343be122e80a426eeea29ed602fbc84bdc77b)

commit 2d77e5b9e271f28bcfd2a4926173aeb1d593db0d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 14:48:27 2010 +0200

    s3:rpc_server: remove unused rpc_pipe_internal_dispatch()
    
    metze
    (cherry picked from commit 12379097abbab06f7a41bdcd00093f0c7ba08a8f)

commit 049dee107a99d82c59be40aec35d6eb9fa501295
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 14:46:24 2010 +0200

    s3:rpc_client: remove unused cli_do_rpc_ndr* functions
    
    metze
    (cherry picked from commit 745f63fd1ead248d5a7cd257c0cb38af3ed9dd8b)

commit bf7f01f64afd78d67f96cb7129b20e8bfa9f838d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 14:39:42 2010 +0200

    s3:rpc_client: remove unused rpc_pipe_open_local()
    
    metze
    (cherry picked from commit dd16d3b2d6cdaa036fe12c80b06d9963d20f5b27)

commit db69fe9ea658bcde19873cd30375c95304ecdce2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 16 10:07:24 2010 +0200

    pidl:Samba4/NDR/Client.pm: correctly copy fixed size out arrays
    
    metze
    (cherry picked from commit b0b73ca041ba3d90b3924b380abed4975e5354d9)

commit 14d052a979f75b37e171eb0984324d74d5fa06f2
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 21:01:25 2010 +0200

    pidl:Samba3/ClientNDR: implement rpccli_ stubs on top of dcerpc_ stubs
    
    metze
    (cherry picked from commit 5130e664b91636a9ca31a52897ba1d121d0252a2)

commit 1f5cd0d748ae86ae38892782101af3e966a7a38a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Aug 6 12:20:07 2010 +0200

    s3:Makefile: link in dcerpc client stubs
    
    metze
    (cherry picked from commit 56a6a972f2eba3b668add8af69ebb3a724cea28f)

commit 46e6919635c90c133780c907b82030d8c1a33a53
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Aug 6 11:50:09 2010 +0200

    s3:winbindd: add wbint dcerpc_binding_handle backend
    
    metze
    (cherry picked from commit 7e24d1dd57ab0a664eb83ff1178d56a9c8d90ecb)

commit 48754ee4b2107a3dea2d5058a358021dc2d02d55
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 7 14:37:21 2010 +0200

    s3:rpc_server: add rpc_pipe_open_internal dcerpc_binding_handle backend
    
    metze
    (cherry picked from commit 262dcfcd87997a94ea097b58e60d29e334d0167d)

commit e603042e478dca0f0ee980d7d05c1838b6decf3e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Fri Aug 6 11:30:51 2010 +0200

    s3:rpc_client: add dcerpc_binding_handle backend
    
    metze
    (cherry picked from commit 2c0e296dd74c1b064d836f6807a808231f8998d4)

commit 091d129d4bcd3324d27c096b9d44cc3ff0a5104a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Aug 7 14:48:57 2010 +0200

    s4:librpc/rpc: make struct dcerpc_binding_handle private
    
    metze
    (cherry picked from commit b34209006fd75533b22e77c77d8fde3e4cb1506a)

commit 059c063c4a32261e4fb30b07250c44bca6bf098a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 10 13:27:12 2010 +0200

    pidl:Samba4/NDR/Client: add sync dcerpc_pipe based stubs as compat for OpenChange
    
    This will activate the compat wrappers for all functions of an interface:
     #define DCERPC_IFACE_MYPROTO_COMPAT 1
     #include <ndr_myproto_c.h>
    
    This will activates the compat wrappers just for specific functions:
     #define DCERPC_CALL_MYFN1_COMPAT 1
     #define DCERPC_CALL_MYFN2_COMPAT 1
     #include <ndr_myproto_c.h>
    
    metze
    (cherry picked from commit 51fb4c386040c9fdc44f4473025c9d83e628b5e6)

commit 81c07cb81fda214a093191d364fb55f686b2d966
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 16:10:52 2010 +0200

    pidl:Samba4/NDR/Client: add non struct base dcerpc_binding_handle client stubs
    
    metze
    (cherry picked from commit 719981adfdd6d828ec0a78ca2be2776502751674)

commit be77caa0f4b15b95eaef2deca275f1d564d32c2d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 13:29:56 2010 +0200

    pidl:Samba4/NDR/Client: convert code to $self->pidl()
    
    metze
    (cherry picked from commit 62297dff8f64de8ffa3fe4d2a7cd99d45173561d)

commit 9f87c1c264c520e762e7859f76908a7e7f39463b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 12:59:46 2010 +0200

    pidl:Samba4/NDR/Client: s/interface/if/
    
    metze
    (cherry picked from commit 570eefc57a051166d99445a830b8d7e5ffbd86f7)

commit 279a56b73abc4a11059cb800ddcb35ae1f4ec4ec
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 18:22:02 2010 +0200

    pidl:Samba4/NDR/Client: make use of the new dcerpc_binding_handle_call() infrastructure
    
    metze
    (cherry picked from commit 76691e9eaf9520429c7ea0ef6b2955c143b068e5)

commit cd19ff50a8563537dc8409b4ff1d0d5ccf30e05b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Mar 10 17:56:10 2010 +0100

    pidl:Samba4/NDR/Client: remove old dcerpc_pipe based sync stubs
    
    They're unused in Samba and only used by OpenChange.
    I'll add a compat functions for OpenChange later.
    
    metze
    (cherry picked from commit db89fdac7329d02bf08f705443b62369bb23081e)

commit c1aa7ae2c74888422daf29c3d86807933a09664c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 18:18:30 2010 +0200

    s4:librpc/rpc: add dcerpc_binding_handle dcerpc_pipe backend
    
    metze
    (cherry picked from commit 7eef08cc63ed231b54dd2a5936579ffc60a0c087)

commit cc85d8bc51864cda951e3c39d3b3c14a5efdc86f
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 5 18:14:04 2010 +0200

    librpc/rpc: add dcerpc_binding_handle abstration
    
    metze
    (cherry picked from commit 4030bc9b2df3f2a1c18b373a94c53e48ba80cfc1)

commit 33edddf946852246af8f4ce586b516f5222d2ec8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Aug 10 15:11:02 2010 +0200

    s4:librpc/rpc: fix dcerpc_log_packet() prototype
    
    metze
    (cherry picked from commit 282831874379445a071dfe157ae4cfba6aeb10aa)

commit 0b6175252c09e4aa3ea6d1e11e8d945d36810c2e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Aug 12 10:50:47 2010 +0200

    s4:librpc/rpc: autodetect the need of async call logic
    
    metze
    (cherry picked from commit af89b460f72acb843b57a80a8f61a26056dc0dd2)

commit 9d6323485fa541c96c22b4108eb000b5385a1725
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sun Aug 8 10:15:12 2010 +0200

    s4:RPC-SPOOLSS-NOTIFY: skip test_RFFPCNEx() for now, as the test is broken
    
    See https://bugzilla.samba.org/show_bug.cgi?id=7486.
    
    metze
    (cherry picked from commit 8ca8250443319e0f19f05aab2014118fd03eaa8a)

commit 6495cf07920951ca9769221bac51af1403ae5502
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 2 10:21:36 2010 +0200

    s4:librpc/rpc: avoid using DCERPC_NDR_REF_ALLOC for epm_Map()
    
    metze
    (cherry picked from commit 31782e52955f4f9301611a1e94b52b880f2ae302)

commit 823989fcea4dbc429cf4b707144a6c292c88cf63
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Aug 2 09:53:27 2010 +0200

    s4:torture/libnet: avoid dereferencing dcerpc_binding_handle internals
    
    metze
    (cherry picked from commit b1a584f9dc67bee1ecde408620dd815be3533091)

commit a0369fe2e8c17bd7d764a78f0ca516f774fba3e8
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jul 31 11:35:31 2010 +0200

    s4:blackbox/newuser: use test specific user names
    
    As this test doesn't delete the user accounts at the end,
    we should use test specific user names. That lowers the
    chance of conflicts with other tests.
    
    metze
    (cherry picked from commit 76e5d41d6a887e598bef8ec57ddc405c368acc00)

commit 81bbacb05b407ece81610b1b7a3b739d3d490a37
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jul 31 11:31:43 2010 +0200

    s4:selftest: skip samba4.blackbox.ktpass for now as it's not portable
    
    ktutil might not be installed or from MIT.
    We should build a samba4ktutil and use that instead,
    until then we need to skip this test.
    
    metze
    (cherry picked from commit 0b4247ef7a60e7fe419681919daa3b31cae7bc48)

commit de18d372b797c36fdbece540b11783e0bd029867
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jul 31 11:12:10 2010 +0200

    s4:blackblock/ktpass: use test specific user name
    
    metze
    (cherry picked from commit 34692556bed72130acd2985cc734d74c8a57203e)

commit cac7f192d38571f2cbeeb24275d18c878043cb3e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jul 31 09:00:44 2010 +0200

    s4:librpc/rpc: use the correct ndr flags in dcerpc_ndr_validate_in()
    
    metze
    (cherry picked from commit 16756196566770b07ebe066ff7329773c1ae07dc)

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

Summary of changes:
 docs-xml/manpages-3/vfs_gpfs.8.xml              |  140 ++++
 lib/util/memory.h                               |    2 +-
 librpc/ndr/ndr_string.c                         |   16 +-
 librpc/rpc/binding_handle.c                     |  489 ++++++++++++
 librpc/rpc/dcerpc_util.c                        |  178 ++++
 pidl/lib/Parse/Pidl/NDR.pm                      |    2 +-
 pidl/lib/Parse/Pidl/Samba3/ClientNDR.pm         |  196 +----
 pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm        |  976 +++++++++++++++++------
 pidl/pidl                                       |   10 +-
 pidl/tests/samba3-cli.pl                        |  114 +---
 selftest/Subunit.pm                             |    9 +-
 selftest/subunithelper.py                       |    4 +-
 source3/Makefile.in                             |   29 +-
 source3/include/client.h                        |   19 +-
 source3/include/proto.h                         |    4 -
 source3/librpc/rpc/dcerpc.h                     |  137 ++++
 source3/rpc_client/cli_pipe.c                   |  298 ++++++--
 source3/rpc_client/ndr.c                        |  174 ----
 source3/rpc_client/rpc_transport_smbd.c         |  767 ------------------
 source3/rpc_server/rpc_ncacn_np_internal.c      |  319 ++++++---
 source3/winbindd/wb_dsgetdcname.c               |    6 +-
 source3/winbindd/wb_gid2sid.c                   |    6 +-
 source3/winbindd/wb_group_members.c             |    6 +-
 source3/winbindd/wb_lookupname.c                |   12 +-
 source3/winbindd/wb_lookupsid.c                 |   10 +-
 source3/winbindd/wb_lookupuseraliases.c         |    6 +-
 source3/winbindd/wb_lookupusergroups.c          |    6 +-
 source3/winbindd/wb_next_grent.c                |   10 +-
 source3/winbindd/wb_query_user_list.c           |    8 +-
 source3/winbindd/wb_queryuser.c                 |    4 +-
 source3/winbindd/wb_seqnum.c                    |    6 +-
 source3/winbindd/wb_sid2gid.c                   |    4 +-
 source3/winbindd/wb_sid2uid.c                   |    4 +-
 source3/winbindd/wb_uid2sid.c                   |    6 +-
 source3/winbindd/winbindd.h                     |    2 +-
 source3/winbindd/winbindd_allocate_gid.c        |    4 +-
 source3/winbindd/winbindd_allocate_uid.c        |    4 +-
 source3/winbindd/winbindd_change_machine_acct.c |    6 +-
 source3/winbindd/winbindd_check_machine_acct.c  |    6 +-
 source3/winbindd/winbindd_dsgetdcname.c         |    6 +-
 source3/winbindd/winbindd_dual.c                |    4 +-
 source3/winbindd/winbindd_dual_ndr.c            |  309 ++++---
 source3/winbindd/winbindd_list_groups.c         |    6 +-
 source3/winbindd/winbindd_list_users.c          |    6 +-
 source3/winbindd/winbindd_lookuprids.c          |    6 +-
 source3/winbindd/winbindd_ping_dc.c             |    4 +-
 source3/winbindd/winbindd_proto.h               |    6 +-
 source4/librpc/rpc/dcerpc.c                     |  440 ++++++++++-
 source4/librpc/rpc/dcerpc.h                     |  128 +++-
 source4/librpc/rpc/dcerpc_util.c                |   13 +-
 source4/librpc/wscript_build                    |    6 +-
 source4/rpc_server/service_rpc.c                |  174 ----
 source4/selftest/skip                           |    3 +
 source4/setup/tests/blackbox_newuser.sh         |   20 +-
 source4/torture/libnet/utils.c                  |    9 +-
 source4/torture/rpc/spoolss_notify.c            |    9 +
 testprogs/blackbox/test_ktpass.sh               |   13 +-
 57 files changed, 3093 insertions(+), 2068 deletions(-)
 create mode 100644 librpc/rpc/binding_handle.c
 delete mode 100644 source3/rpc_client/ndr.c
 delete mode 100644 source3/rpc_client/rpc_transport_smbd.c


Changeset truncated at 500 lines:

diff --git a/docs-xml/manpages-3/vfs_gpfs.8.xml b/docs-xml/manpages-3/vfs_gpfs.8.xml
index 33ad3ea..6421fc6 100644
--- a/docs-xml/manpages-3/vfs_gpfs.8.xml
+++ b/docs-xml/manpages-3/vfs_gpfs.8.xml
@@ -60,6 +60,146 @@
 
 		<varlistentry>
 
+		<term>gpfs:sharemodes = [ yes | no ]</term>
+		<listitem>
+		<para>
+		Enable/Disable cross node sharemode handling for GPFS.
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>yes(default)</command> - propagate sharemodes across all GPFS nodes.
+		</para></listitem>
+		<listitem><para>
+		<command>no</command> - do not propagate sharemodes across all GPFS nodes.
+		This should only be used if the GPFS file system is
+		exclusively exported by Samba. Access by local unix application or
+		NFS exports could lead to corrupted files.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
+		<term>gpfs:leases = [ yes | no ]</term>
+		<listitem>
+		<para>
+		Enable/Disable cross node leases (oplocks) for GPFS.
+		You should also set the <command>oplocks</command> and <command>kernel oplocks</command>
+		options to the same value.
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>yes(default)</command> - propagate leases across all GPFS nodes.
+		</para></listitem>
+		<listitem><para>
+		<command>no</command> - do not propagate leases across all GPFS nodes.
+		This should only be used if the GPFS file system is
+		exclusively exported by Samba. Access by local unix application or
+		NFS exports could lead to corrupted files.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
+		<term>gpfs:getrealfilename = [ yes | no ]</term>
+		<listitem>
+		<para>
+		Enable/Disable usage of the <command>gpfs_get_realfilename_path()</command> function.
+		This improves the casesensitive wildcard file name access.
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>yes(default)</command> - use <command>gpfs_get_realfilename_path()</command>.
+		</para></listitem>
+		<listitem><para>
+		<command>no</command> - do not use <command>gpfs_get_realfilename_path()</command>.
+		It seems that <command>gpfs_get_realfilename_path()</command> doesn't work on AIX.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
+		<term>gpfs:winattr = [ yes | no ]</term>
+		<listitem>
+		<para>
+		Enable/Disable usage of the windows attributes in GPFS.
+		GPFS is able to store windows file attributes e.g. HIDDEN,
+		READONLY, SYSTEM and others natively. That means Samba doesn't
+		need to map them to permission bits or extended attributes.
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>no(default)</command> - do not use GPFS windows attributes.
+		</para></listitem>
+		<listitem><para>
+		<command>yes</command> - use GPFS windows attributes.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
+		<term>gpfs:merge_writeappend = [ yes | no ]</term>
+		<listitem>
+		<para>
+		GPFS ACLs doesn't know about the 'APPEND' right.
+		This optionen lets Samba map the 'APPEND' right to 'WRITE'.
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>yes(default)</command> - map 'APPEND' to 'WRITE'.
+		</para></listitem>
+		<listitem><para>
+		<command>no</command> - do not map 'APPEND' to 'WRITE'.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
+		<term>gpfs:refuse_dacl_protected = [ yes | no ]</term>
+		<listitem>
+		<para>
+		As GPFS does not support the ACE4_FLAG_NO_PROPAGATE NFSv4 flag (which would be
+		the mapping for the DESC_DACL_PROTECTED flag), the status of this flag is
+		currently silently ignored by Samba. That means that if you deselect the "Allow
+		inheritable permissions..." checkbox in Windows' ACL dialog and then apply the
+		ACL, the flag will be back immediately.
+		</para>
+		<para>
+		To make sure that automatic migration with e.g. robocopy does not lead to
+		ACLs silently (and unintentionally) changed, you can set
+		<command>gpfs:refuse_dacl_protected = yes</command> to enable an explicit
+		check for this flag and if set, it will return NT_STATUS_NOT_SUPPORTED so
+		errors are shown up on the Windows side and the Administrator is aware of
+		the ACLs not being settable like intended
+		</para>
+
+		<itemizedlist>
+		<listitem><para>
+		<command>no(default)</command> - ignore the DESC_DACL_PROTECTED flags.
+		</para></listitem>
+		<listitem><para>
+		<command>yes</command> - reject ACLs with DESC_DACL_PROTECTED.
+		</para></listitem>
+		</itemizedlist>
+		</listitem>
+
+		</varlistentry>
+		<varlistentry>
+
 		<term>nfs4:mode = [ simple | special ]</term>
 		<listitem>
 		<para>
diff --git a/lib/util/memory.h b/lib/util/memory.h
index cfc13ab..099dfbb 100644
--- a/lib/util/memory.h
+++ b/lib/util/memory.h
@@ -28,7 +28,7 @@
  * @note You are explicitly allowed to pass NULL pointers -- they will
  * always be ignored.
  **/
-#define SAFE_FREE(x) do { if ((x) != NULL) {free(discard_const_p(void *, (x))); (x)=NULL;} } while(0)
+#define SAFE_FREE(x) do { if ((x) != NULL) {free(x); (x)=NULL;} } while(0)
 #endif
 
 /** 
diff --git a/librpc/ndr/ndr_string.c b/librpc/ndr/ndr_string.c
index 568c368..2e04633 100644
--- a/librpc/ndr/ndr_string.c
+++ b/librpc/ndr/ndr_string.c
@@ -714,7 +714,19 @@ _PUBLIC_ enum ndr_err_code ndr_push_charset(struct ndr_push *ndr, int ndr_flags,
 /* Return number of elements in a string in the specified charset */
 _PUBLIC_ uint32_t ndr_charset_length(const void *var, charset_t chset)
 {
-	/* FIXME: Treat special chars special here, taking chset into account */
-	/* Also include 0 byte */
+	switch (chset) {
+	/* case CH_UTF16: this has the same value as CH_UTF16LE */
+	case CH_UTF16LE:
+	case CH_UTF16BE:
+	case CH_UTF16MUNGED:
+		return strlen_m_term((const char *)var);
+	case CH_DISPLAY:
+	case CH_DOS:
+	case CH_UNIX:
+	case CH_UTF8:
+		return strlen((const char *)var)+1;
+	}
+
+	/* Fallback, this should never happen */
 	return strlen((const char *)var)+1;
 }
diff --git a/librpc/rpc/binding_handle.c b/librpc/rpc/binding_handle.c
new file mode 100644
index 0000000..75b2ded
--- /dev/null
+++ b/librpc/rpc/binding_handle.c
@@ -0,0 +1,489 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   dcerpc binding handle functions
+
+   Copyright (C) Stefan Metzmacher 2010
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "includes.h"
+#include <tevent.h>
+#include "../lib/util/tevent_ntstatus.h"
+#include "librpc/rpc/dcerpc.h"
+
+struct dcerpc_binding_handle {
+	void *private_data;
+	const struct dcerpc_binding_handle_ops *ops;
+	const char *location;
+	const struct GUID *object;
+	const struct ndr_interface_table *table;
+	struct tevent_context *sync_ev;
+};
+
+static int dcerpc_binding_handle_destructor(struct dcerpc_binding_handle *b)
+{
+	return 0;
+}
+
+struct dcerpc_binding_handle *_dcerpc_binding_handle_create(TALLOC_CTX *mem_ctx,
+					const struct dcerpc_binding_handle_ops *ops,
+					const struct GUID *object,
+					const struct ndr_interface_table *table,
+					void *pstate,
+					size_t psize,
+					const char *type,
+					const char *location)
+{
+	struct dcerpc_binding_handle *h;
+	void **ppstate = (void **)pstate;
+	void *state;
+
+	h = talloc_zero(mem_ctx, struct dcerpc_binding_handle);
+	if (h == NULL) {
+		return NULL;
+	}
+	h->ops		= ops;
+	h->location	= location;
+	h->object	= object;
+	h->table	= table;
+
+	state = talloc_zero_size(h, psize);
+	if (state == NULL) {
+		talloc_free(h);
+		return NULL;
+	}
+	talloc_set_name_const(state, type);
+
+	h->private_data = state;
+
+	talloc_set_destructor(h, dcerpc_binding_handle_destructor);
+
+	*ppstate = state;
+	return h;
+}
+
+void *_dcerpc_binding_handle_data(struct dcerpc_binding_handle *h)
+{
+	return h->private_data;
+}
+
+void dcerpc_binding_handle_set_sync_ev(struct dcerpc_binding_handle *h,
+				       struct tevent_context *ev)
+{
+	h->sync_ev = ev;
+}
+
+bool dcerpc_binding_handle_is_connected(struct dcerpc_binding_handle *h)
+{
+	return h->ops->is_connected(h);
+}
+
+struct dcerpc_binding_handle_raw_call_state {
+	const struct dcerpc_binding_handle_ops *ops;
+	uint8_t *out_data;
+	size_t out_length;
+	uint32_t out_flags;
+};
+
+static void dcerpc_binding_handle_raw_call_done(struct tevent_req *subreq);
+
+struct tevent_req *dcerpc_binding_handle_raw_call_send(TALLOC_CTX *mem_ctx,
+						struct tevent_context *ev,
+						struct dcerpc_binding_handle *h,
+						const struct GUID *object,
+						uint32_t opnum,
+						uint32_t in_flags,
+						const uint8_t *in_data,
+						size_t in_length)
+{
+	struct tevent_req *req;
+	struct dcerpc_binding_handle_raw_call_state *state;
+	struct tevent_req *subreq;
+
+	req = tevent_req_create(mem_ctx, &state,
+				struct dcerpc_binding_handle_raw_call_state);
+	if (req == NULL) {
+		return NULL;
+	}
+	state->ops = h->ops;
+	state->out_data = NULL;
+	state->out_length = 0;
+	state->out_flags = 0;
+
+	subreq = state->ops->raw_call_send(state, ev, h,
+					   object, opnum,
+					   in_flags, in_data, in_length);
+	if (tevent_req_nomem(subreq, req)) {
+		return tevent_req_post(req, ev);
+	}
+	tevent_req_set_callback(subreq, dcerpc_binding_handle_raw_call_done, req);
+
+	return req;
+}
+
+static void dcerpc_binding_handle_raw_call_done(struct tevent_req *subreq)
+{
+	struct tevent_req *req = tevent_req_callback_data(subreq,
+				 struct tevent_req);
+	struct dcerpc_binding_handle_raw_call_state *state =
+		tevent_req_data(req,
+		struct dcerpc_binding_handle_raw_call_state);
+	NTSTATUS error;
+
+	error = state->ops->raw_call_recv(subreq, state,
+					  &state->out_data,
+					  &state->out_length,
+					  &state->out_flags);
+	TALLOC_FREE(subreq);
+	if (!NT_STATUS_IS_OK(error)) {
+		tevent_req_nterror(req, error);
+		return;
+	}
+
+	tevent_req_done(req);
+}
+
+NTSTATUS dcerpc_binding_handle_raw_call_recv(struct tevent_req *req,
+					     TALLOC_CTX *mem_ctx,
+					     uint8_t **out_data,
+					     size_t *out_length,
+					     uint32_t *out_flags)
+{
+	struct dcerpc_binding_handle_raw_call_state *state =
+		tevent_req_data(req,
+		struct dcerpc_binding_handle_raw_call_state);
+	NTSTATUS error;
+
+	if (tevent_req_is_nterror(req, &error)) {
+		tevent_req_received(req);
+		return error;
+	}
+
+	*out_data = talloc_move(mem_ctx, &state->out_data);
+	*out_length = state->out_length;
+	*out_flags = state->out_flags;
+	tevent_req_received(req);
+	return NT_STATUS_OK;
+}
+
+struct dcerpc_binding_handle_disconnect_state {
+	const struct dcerpc_binding_handle_ops *ops;
+};
+
+static void dcerpc_binding_handle_disconnect_done(struct tevent_req *subreq);
+
+struct tevent_req *dcerpc_binding_handle_disconnect_send(TALLOC_CTX *mem_ctx,
+						struct tevent_context *ev,
+						struct dcerpc_binding_handle *h)
+{
+	struct tevent_req *req;
+	struct dcerpc_binding_handle_disconnect_state *state;
+	struct tevent_req *subreq;
+
+	req = tevent_req_create(mem_ctx, &state,
+				struct dcerpc_binding_handle_disconnect_state);
+	if (req == NULL) {
+		return NULL;
+	}
+
+	state->ops = h->ops;
+
+	subreq = state->ops->disconnect_send(state, ev, h);
+	if (tevent_req_nomem(subreq, req)) {
+		return tevent_req_post(req, ev);
+	}
+	tevent_req_set_callback(subreq, dcerpc_binding_handle_disconnect_done, req);
+
+	return req;
+}
+
+static void dcerpc_binding_handle_disconnect_done(struct tevent_req *subreq)
+{
+	struct tevent_req *req = tevent_req_callback_data(subreq,
+				 struct tevent_req);
+	struct dcerpc_binding_handle_disconnect_state *state =
+		tevent_req_data(req,
+		struct dcerpc_binding_handle_disconnect_state);
+	NTSTATUS error;
+
+	error = state->ops->disconnect_recv(subreq);
+	TALLOC_FREE(subreq);
+	if (!NT_STATUS_IS_OK(error)) {
+		tevent_req_nterror(req, error);
+		return;
+	}
+
+	tevent_req_done(req);
+}
+
+NTSTATUS dcerpc_binding_handle_disconnect_recv(struct tevent_req *req)
+{
+	NTSTATUS error;
+
+	if (tevent_req_is_nterror(req, &error)) {
+		tevent_req_received(req);
+		return error;
+	}
+
+	tevent_req_received(req);
+	return NT_STATUS_OK;
+}
+
+struct dcerpc_binding_handle_call_state {
+	struct dcerpc_binding_handle *h;
+	const struct ndr_interface_call *call;
+	TALLOC_CTX *r_mem;
+	void *r_ptr;
+	struct ndr_push *push;
+	DATA_BLOB request;
+	DATA_BLOB response;
+	struct ndr_pull *pull;
+};
+
+static void dcerpc_binding_handle_call_done(struct tevent_req *subreq);
+
+struct tevent_req *dcerpc_binding_handle_call_send(TALLOC_CTX *mem_ctx,
+					struct tevent_context *ev,
+					struct dcerpc_binding_handle *h,
+					const struct GUID *object,
+					const struct ndr_interface_table *table,
+					uint32_t opnum,
+					TALLOC_CTX *r_mem,
+					void *r_ptr)
+{
+	struct tevent_req *req;
+	struct dcerpc_binding_handle_call_state *state;
+	struct tevent_req *subreq;
+	enum ndr_err_code ndr_err;
+
+	req = tevent_req_create(mem_ctx, &state,
+				struct dcerpc_binding_handle_call_state);
+	if (req == NULL) {
+		return NULL;
+	}
+
+#if 0 /* TODO: activate this when the callers are fixed */
+	if (table != h->table) {
+		tevent_req_nterror(req, NT_STATUS_INVALID_HANDLE);
+		return tevent_req_post(req, ev);
+	}
+#endif
+
+	if (opnum >= table->num_calls) {
+		tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR);
+		return tevent_req_post(req, ev);
+	}
+
+	state->h = h;
+	state->call = &table->calls[opnum];
+
+	state->r_mem = r_mem;
+	state->r_ptr = r_ptr;
+
+	/* setup for a ndr_push_* call */
+	state->push = ndr_push_init_ctx(state);
+	if (tevent_req_nomem(state->push, req)) {
+		return tevent_req_post(req, ev);
+	}
+
+	if (h->ops->ref_alloc && h->ops->ref_alloc(h)) {
+		state->push->flags |= LIBNDR_FLAG_REF_ALLOC;
+	}


-- 
Samba Shared Repository


More information about the samba-cvs mailing list