[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