[SCM] Samba Shared Repository - branch master updated

Günther Deschner gd at samba.org
Thu Jul 2 21:03:03 MDT 2015


The branch, master has been updated
       via  9ebf380 lib/util:charset/tests: improve strlen_m[_term[_null]]() testing
       via  bf6f032 lib/util: let strlen_m_term[_null]() use strlen_m_ext_term[_null]()
       via  cd8bcec lib/util: add strlen_m_ext_term_null() helper function
       via  3cdac4a s4:pyrpc: remove pointless alter_context() method
       via  8499344 python:samba/tests: don't use the x.alter_context() method in dcerpc/bare.py
       via  828e1d3 s4:torture/rpc: expect NT_STATUS_CONNECTION_DISCONNECTED in torture_rpc_alter_context()
       via  58a8741 s4:torture/rpc: expect NT_STATUS_CONNECTION_DISCONNECTED when a dcerpc connection is not connected
       via  7e095eb libcli/smb: let tstream_smbXcli_np report connection errors as EPIPE instead of EIO
       via  793af3f s3:winbindd: use check dcerpc_binding_handle_is_connected() instead of a specific status
       via  24ea917 python/samba/tests: add fallbacks for assert{Less,Greater}[Equal]()
       via  c7e9968 python/samba/tests: let the output of hexdump() match our C code in dump_data_cb()
       via  7a07f6a python/samba/tests: move hexdump() from DNSTest to TestCase
       via  2b16301 librpc/ndr: make use of dump_data_cb() in ndr_dump_data()
       via  4a0370b lib/util: fix output format in dump_data*()
       via  8c9612e s4:pyrpc: add base.bind_time_features_syntax(features)
       via  e1498ac librpc/rpc: add dcerpc_[extract|construct]_bind_time_features()
       via  18dce19 librpc/rpc: add dcerpc_fault_from_nt_status()
       via  1eef708 librpc/rpc: add faultcode to nt_status mappings
       via  cb8c156 midltests: add valid/midltests_DRS_EXTENSIONS.*
       via  f3f1c38 auth/credentials: anonymous should not try to use kerberos
       via  ebfb1e9 s4:ntvfs/ipc: fix ipc_close()
       via  d1e81df s4-torture: pull, push and compare a witness Notify struct in ndr test.
       via  f0156ca s4-torture: add new torture_suite_add_ndr_pullpush_fn_test_flags().
       via  6d3f762 s4-torture: add torture_ndr_push_struct_blob_flags() in order to manipulate push flags.
       via  c82aed8 libndr: reformat libndr torture_suite macros to make differences more visible.
       via  c328ade s4-torture: using async dcerpc for witness async notifications.
       via  e3cb9f7 lib/torture: be more verbose about ndr failures.
       via  6aeb0a0 s4-torture: move torture_assert_sid_equal() out of ndr headers.
       via  34e4dac s4-torture: finally enable witness_AsyncNotify ndr test.
       via  185896d s3-rpcclient: remove old extra hand marshalling from witness cmds.
       via  92709e9 s4-torture: add clusapi resource online/offline toggle code to witness test.
       via  ceebd50 s4-torture: make some clusapi torture tests public.
       via  0a2c933 s3-rpcclient: close policy handle in cmd_clusapi_open_resource().
       via  126c6f0 s3-rpcclient: use witness defines in witness rpcclient.
       via  5b95572 libndr: better debug message in ndr_pull_subcontext_start().
       via  d8dbbfc s3-rpcclient: add clusapi_get_resource_state command.
       via  82c4b92 witness: autogenerate the marshalling of the witness_notifyResponse_message.
       via  e324184 witness: add default case to witness_notifyResponse_message union.
       via  cf738cc s3-rpcclient: add cmdline tools to toggle online/offline cluster resource state.
       via  cc3afec s4-torture: add some more tests for witness_AsyncNotify and RegisterEx with different timeouts.
       via  6e9c678 s4-torture: make setup of the clusapi pipe non-critical in witness test.
       via  9cdb69c s4-torture: minor cleanup in test_witness_Register().
       via  1b70b1a s4-torture: open a clusapi connection to get list of cluster nodes, etc.
      from  c6e044e s4:torture:vfs_fruit: check offset and length when reading AFP_AfpInfo stream

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9ebf3804eb4ca48b6ff00db12f42795481347f37
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 20:37:01 2015 +0200

    lib/util:charset/tests: improve strlen_m[_term[_null]]() testing
    
    They differ in their "" vs. NULL handling.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>
    
    Autobuild-User(master): Günther Deschner <gd at samba.org>
    Autobuild-Date(master): Fri Jul  3 05:02:45 CEST 2015 on sn-devel-104

commit bf6f03209494cc43dff717bd78c84bc59b03e76c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jun 27 10:13:02 2015 +0200

    lib/util: let strlen_m_term[_null]() use strlen_m_ext_term[_null]()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit cd8bcecf18544b907c1927aa716057216f948dac
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jun 27 10:12:29 2015 +0200

    lib/util: add strlen_m_ext_term_null() helper function
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 3cdac4a85521974e3c71488ad4078c09245e3b7d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 10:07:17 2015 +0200

    s4:pyrpc: remove pointless alter_context() method
    
    This will always result in a rpc protocol error.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 84993440aa9dadd89d8739102c3b7771774064fa
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 10:03:40 2015 +0200

    python:samba/tests: don't use the x.alter_context() method in dcerpc/bare.py
    
    Establishing a new context on a given connection using alter_context
    is supposed to be done by using y = ClientConnection(..., basis_connection=x)
    
    The current x.alter_context() can work as it's not allowed to
    change the abstract or transfer syntax of an existing presentation
    context.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 828e1d3f831fd8e44d5b859d8ad9b05bf9e6d9e4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 09:49:05 2015 +0200

    s4:torture/rpc: expect NT_STATUS_CONNECTION_DISCONNECTED in torture_rpc_alter_context()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 58a874111b0534ecda3f5036b188ff4bd046ad2b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 09:46:57 2015 +0200

    s4:torture/rpc: expect NT_STATUS_CONNECTION_DISCONNECTED when a dcerpc connection is not connected
    
    We still also allow NT_STATUS_INVALID_HANDLE and NT_STATUS_IO_DEVICE_ERROR for now.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 7e095eb334068a9c25064a52fd3e9c995ddf220e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Jun 27 22:55:22 2015 +0200

    libcli/smb: let tstream_smbXcli_np report connection errors as EPIPE instead of EIO
    
    This maps to NT_STATUS_CONNECTION_DISCONNECTED instead of
    NT_STATUS_IO_DEVICE_ERROR.
    
    EPIPE, NT_STATUS_CONNECTION_DISCONNECTED matches what other tstream backends
    e.g. tcp and unix report.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 793af3f2aeb036727981e00b709b88b9996fc25d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 09:52:45 2015 +0200

    s3:winbindd: use check dcerpc_binding_handle_is_connected() instead of a specific status
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 24ea9175f41e391ce48d21dedf0e79fb16f7352e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jun 29 08:41:22 2015 +0200

    python/samba/tests: add fallbacks for assert{Less,Greater}[Equal]()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit c7e9968cf830d567d44d2a0bd3ca5d1217d8847c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jun 25 14:06:40 2015 +0200

    python/samba/tests: let the output of hexdump() match our C code in dump_data_cb()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 7a07f6a7647b63eab560a0e75b46b047f46d1f7e
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jun 25 10:28:31 2015 +0200

    python/samba/tests: move hexdump() from DNSTest to TestCase
    
    This is useful in a lot of test cases.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 2b163012aa243e682c5ba7bb23f1af265783a940
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jun 25 14:05:37 2015 +0200

    librpc/ndr: make use of dump_data_cb() in ndr_dump_data()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 4a0370bdfdb599aa1798855a6074210583dd7cc4
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jun 25 13:53:41 2015 +0200

    lib/util: fix output format in dump_data*()
    
    This changes:
    
      [0000] 4E 54 4C 4D 53 53 50 00   01 00 00 00 05 82 08 60   NTLMSSP. .......`
      [0010] 09 00 09 00 20 00 00 00   00 00 00 00 29 00 00 00   .... ... ....)...
      [0020] 57 4F 52 4B 47 52 4F 55   50                       WORKGROU P
    
    into:
    
      [0000] 4E 54 4C 4D 53 53 50 00   01 00 00 00 05 82 08 60   NTLMSSP. .......`
      [0010] 09 00 09 00 20 00 00 00   00 00 00 00 29 00 00 00   .... ... ....)...
      [0020] 57 4F 52 4B 47 52 4F 55   50                        WORKGROU P
    
    Note the alignment of 'WORKGROU P'.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 8c9612e1144e33aafd94f28fb7fa4b6b8444b05c
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Apr 2 19:53:18 2014 +0200

    s4:pyrpc: add base.bind_time_features_syntax(features)
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit e1498ac674ed099394777e10065b34805bd24054
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jan 9 12:35:58 2014 +0100

    librpc/rpc: add dcerpc_[extract|construct]_bind_time_features()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 18dce19ef988d5398ba3f3ae59931b121dd85e3d
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Mar 19 22:22:58 2014 +0100

    librpc/rpc: add dcerpc_fault_from_nt_status()
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit 1eef70872930fa4f9d3dedd23476b34cae638428
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Mar 19 22:17:11 2014 +0100

    librpc/rpc: add faultcode to nt_status mappings
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit cb8c156671530296b746d8b71fd62e677fa88cd0
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Sep 25 21:53:46 2014 +0200

    midltests: add valid/midltests_DRS_EXTENSIONS.*
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit f3f1c3892596e438c716172c053a016ee4ba464a
Author: Stefan Metzmacher <metze at samba.org>
Date:   Thu Jun 25 20:30:43 2015 +0200

    auth/credentials: anonymous should not try to use kerberos
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Guenther Deschner <gd at samba.org>

commit ebfb1e9dac55449c3bf3f3a13f61d2050631ccf5
Author: Stefan Metzmacher <metze at samba.org>
Date:   Sat Oct 18 10:42:00 2014 +0200

    s4:ntvfs/ipc: fix ipc_close()
    
    Until now this always returned NT_STATUS_INVALID_LEVEL
    for everything but RAW_CLOSE_CLOSE.
    
    Now it maps everything correctly to RAW_CLOSE_GENERIC.
    
    Signed-off-by: Stefan Metzmacher <metze at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit d1e81df36e8906a84ef374e91bf377a0589f100a
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 16:46:36 2015 +0200

    s4-torture: pull, push and compare a witness Notify struct in ndr test.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit f0156ca154546e666bbc715500e18c0f11961a38
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 16:46:11 2015 +0200

    s4-torture: add new torture_suite_add_ndr_pullpush_fn_test_flags().
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6d3f7620d2ed0cdc7183d01eff8a0ac2fb55e788
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 16:45:21 2015 +0200

    s4-torture: add torture_ndr_push_struct_blob_flags() in order to manipulate push flags.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit c82aed878ef5fe0994999ada4ee6f37e98027f31
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 16:16:42 2015 +0200

    libndr: reformat libndr torture_suite macros to make differences more visible.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit c328ade5cd1833913beb4c288143bf63814c1393
Author: Günther Deschner <gd at samba.org>
Date:   Thu Mar 26 13:12:35 2015 +0100

    s4-torture: using async dcerpc for witness async notifications.
    
    This test toggles the online/offline resource state using the clusapi protocol
    between the send and receive.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit e3cb9f721db92bcdf8e1025d30f7c0216462ae19
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 00:50:24 2015 +0200

    lib/torture: be more verbose about ndr failures.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6aeb0a08abed38f311970d403b366636d01d8a8f
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 00:48:03 2015 +0200

    s4-torture: move torture_assert_sid_equal() out of ndr headers.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 34e4dac57bd59bf75131ac1253292c6957b34541
Author: Günther Deschner <gd at samba.org>
Date:   Fri Jun 26 00:14:07 2015 +0200

    s4-torture: finally enable witness_AsyncNotify ndr test.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 185896d988a6c720f10e4ae92103c645ea97a012
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 23:12:18 2015 +0200

    s3-rpcclient: remove old extra hand marshalling from witness cmds.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 92709e92507459e70ddbb152da398244866ed33b
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 21:59:20 2015 +0200

    s4-torture: add clusapi resource online/offline toggle code to witness test.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit ceebd509b1bf6fc6c95c94140dc4d68e94536525
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 21:47:23 2015 +0200

    s4-torture: make some clusapi torture tests public.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 0a2c933dc59639f6346ff34ff2149cbe91464962
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 21:23:11 2015 +0200

    s3-rpcclient: close policy handle in cmd_clusapi_open_resource().
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 126c6f06bf1a8d23989cc04bfe758a5ca2bed792
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 21:22:20 2015 +0200

    s3-rpcclient: use witness defines in witness rpcclient.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 5b95572a092ded4d4a653f2a26e7ce3641ae5c2e
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 20:50:30 2015 +0200

    libndr: better debug message in ndr_pull_subcontext_start().
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit d8dbbfcb0a143b39295a9007eb687dac81bca771
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 19:19:46 2015 +0200

    s3-rpcclient: add clusapi_get_resource_state command.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 82c4b92661428bf8eda383004f6e74b86e5572b5
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 16:24:06 2015 +0200

    witness: autogenerate the marshalling of the witness_notifyResponse_message.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit e324184224975b730d7b01e5a7cd478c6b28d3aa
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jul 2 16:50:52 2015 +0200

    witness: add default case to witness_notifyResponse_message union.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit cf738ccdb3a5f34f9b1e30462e0aabaf610193cd
Author: Günther Deschner <gd at samba.org>
Date:   Thu Jun 25 15:08:14 2015 +0200

    s3-rpcclient: add cmdline tools to toggle online/offline cluster resource state.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit cc3afec55d037c064b4d5974104ea013b842cbaa
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 13 10:49:54 2015 +0200

    s4-torture: add some more tests for witness_AsyncNotify and RegisterEx with different timeouts.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 6e9c678c8b4281bf93f14dc881e0f36b41e30c3b
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 13 10:47:37 2015 +0200

    s4-torture: make setup of the clusapi pipe non-critical in witness test.
    
    Samba currently does not implement clusapi.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 9cdb69c8ddc99dc38046a64e0bd36216773600ff
Author: Günther Deschner <gd at samba.org>
Date:   Wed May 13 10:47:12 2015 +0200

    s4-torture: minor cleanup in test_witness_Register().
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

commit 1b70b1aa289d9c4c9b8fcf4f6c2b561933f3ecc3
Author: Günther Deschner <gd at samba.org>
Date:   Thu Mar 26 13:12:06 2015 +0100

    s4-torture: open a clusapi connection to get list of cluster nodes, etc.
    
    Guenther
    
    Signed-off-by: Günther Deschner <gd at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>

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

Summary of changes:
 auth/credentials/credentials.c                     |   1 +
 lib/torture/torture.h                              |  12 +-
 lib/util/charset/charset.h                         |   5 +-
 lib/util/charset/tests/charset.c                   |  14 +-
 lib/util/charset/util_str.c                        |  33 +--
 lib/util/util.c                                    |   2 +-
 libcli/smb/tstream_smbXcli_np.c                    |   8 +-
 librpc/idl/witness.idl                             |  12 +-
 librpc/ndr/ndr.c                                   |  12 +-
 librpc/ndr/ndr_basic.c                             |  39 +--
 librpc/ndr/ndr_witness.c                           | 110 ++++++++
 lib/util/pidfile.h => librpc/ndr/ndr_witness.h     |  16 +-
 librpc/rpc/dcerpc_error.c                          | 162 +++++++-----
 librpc/rpc/dcerpc_util.c                           |  63 +++++
 librpc/rpc/rpc_common.h                            |  31 +++
 librpc/wscript_build                               |   2 +-
 python/samba/tests/__init__.py                     |  28 ++
 python/samba/tests/dcerpc/bare.py                  |  13 +-
 python/samba/tests/dns.py                          |  14 -
 source3/rpcclient/cmd_clusapi.c                    | 170 +++++++++++++
 source3/rpcclient/cmd_witness.c                    | 127 +++------
 source3/winbindd/winbindd_dual_srv.c               |   2 +-
 source4/librpc/rpc/pyrpc.c                         |  80 +++---
 source4/ntvfs/ipc/vfs_ipc.c                        |   6 +-
 source4/torture/ndr/ndr.c                          |  19 +-
 source4/torture/ndr/ndr.h                          |  47 ++--
 source4/torture/ndr/witness.c                      |  20 +-
 source4/torture/rpc/alter_context.c                |   2 +-
 source4/torture/rpc/clusapi.c                      |  26 +-
 source4/torture/rpc/samba3rpc.c                    |  14 +-
 source4/torture/rpc/witness.c                      | 283 ++++++++++++++++++++-
 ...n_align_02.idl => midltests_DRS_EXTENSIONS.idl} |  27 +-
 .../midltests/valid/midltests_DRS_EXTENSIONS.out   |  43 ++++
 33 files changed, 1079 insertions(+), 364 deletions(-)
 create mode 100644 librpc/ndr/ndr_witness.c
 copy lib/util/pidfile.h => librpc/ndr/ndr_witness.h (65%)
 copy testprogs/win32/midltests/valid/{midltests_union_align_02.idl => midltests_DRS_EXTENSIONS.idl} (72%)
 create mode 100644 testprogs/win32/midltests/valid/midltests_DRS_EXTENSIONS.out


Changeset truncated at 500 lines:

diff --git a/auth/credentials/credentials.c b/auth/credentials/credentials.c
index 42aa2a3..df188b0 100644
--- a/auth/credentials/credentials.c
+++ b/auth/credentials/credentials.c
@@ -945,6 +945,7 @@ _PUBLIC_ void cli_credentials_set_anonymous(struct cli_credentials *cred)
 	cli_credentials_set_password(cred, NULL, CRED_SPECIFIED);
 	cli_credentials_set_realm(cred, NULL, CRED_SPECIFIED);
 	cli_credentials_set_workstation(cred, "", CRED_UNINITIALISED);
+	cli_credentials_set_kerberos_state(cred, CRED_DONT_USE_KERBEROS);
 }
 
 /**
diff --git a/lib/torture/torture.h b/lib/torture/torture.h
index b90af84..2d99e65 100644
--- a/lib/torture/torture.h
+++ b/lib/torture/torture.h
@@ -288,7 +288,7 @@ void torture_result(struct torture_context *test,
 #define torture_assert_ndr_err_equal(torture_ctx,got,expected,cmt) \
 	do { enum ndr_err_code __got = got, __expected = expected; \
 	if (__got != __expected) { \
-		torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %d, expected %d (%s): %s", __got, __expected, __STRING(expected), cmt); \
+		torture_result(torture_ctx, TORTURE_FAIL, __location__": "#got" was %d (%s), expected %d (%s): %s", __got, ndr_errstr(__got), __expected, __STRING(expected), cmt); \
 		return false; \
 	}\
 	} while(0)
@@ -500,6 +500,16 @@ void torture_result(struct torture_context *test,
 	}\
 	} while(0)
 
+#define torture_assert_sid_equal(torture_ctx,got,expected,cmt)\
+	do { struct dom_sid *__got = (got), *__expected = (expected); \
+	if (!dom_sid_equal(__got, __expected)) { \
+		torture_result(torture_ctx, TORTURE_FAIL, \
+					   __location__": "#got" was %s, expected %s: %s", \
+					   dom_sid_string(torture_ctx, __got), dom_sid_string(torture_ctx, __expected), cmt); \
+		return false; \
+	} \
+	} while(0)
+
 #define torture_assert_not_null(torture_ctx,got,cmt)\
 	do { void *__got = (got); \
 	if (__got == NULL) { \
diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h
index 66b09a5..0d69d31 100644
--- a/lib/util/charset/charset.h
+++ b/lib/util/charset/charset.h
@@ -105,9 +105,12 @@ size_t strlen_m_ext_handle(struct smb_iconv_handle *ic,
 size_t strlen_m_ext(const char *s, charset_t src_charset, charset_t dst_charset);
 size_t strlen_m_ext_term(const char *s, charset_t src_charset,
 			 charset_t dst_charset);
+size_t strlen_m_ext_term_null(const char *s,
+			      charset_t src_charset,
+			      charset_t dst_charset);
+size_t strlen_m(const char *s);
 size_t strlen_m_term(const char *s);
 size_t strlen_m_term_null(const char *s);
-size_t strlen_m(const char *s);
 char *alpha_strcpy(char *dest, const char *src, const char *other_safe_chars, size_t maxlength);
 void string_replace_m(char *s, char oldc, char newc);
 bool strcsequal(const char *s1,const char *s2);
diff --git a/lib/util/charset/tests/charset.c b/lib/util/charset/tests/charset.c
index a47670e..7f33656 100644
--- a/lib/util/charset/tests/charset.c
+++ b/lib/util/charset/tests/charset.c
@@ -217,6 +217,7 @@ static bool test_strlen_m(struct torture_context *tctx)
 {
 	torture_assert_int_equal(tctx, strlen_m("foo"), 3, "simple len");
 	torture_assert_int_equal(tctx, strlen_m("foo\x83l"), 6, "extended len");
+	torture_assert_int_equal(tctx, strlen_m(""), 0, "empty");
 	torture_assert_int_equal(tctx, strlen_m(NULL), 0, "NULL");
 	return true;
 }
@@ -225,7 +226,17 @@ static bool test_strlen_m_term(struct torture_context *tctx)
 {
 	torture_assert_int_equal(tctx, strlen_m_term("foo"), 4, "simple len");
 	torture_assert_int_equal(tctx, strlen_m_term("foo\x83l"), 7, "extended len");
-	torture_assert_int_equal(tctx, strlen_m(NULL), 0, "NULL");
+	torture_assert_int_equal(tctx, strlen_m_term(""), 1, "empty");
+	torture_assert_int_equal(tctx, strlen_m_term(NULL), 0, "NULL");
+	return true;
+}
+
+static bool test_strlen_m_term_null(struct torture_context *tctx)
+{
+	torture_assert_int_equal(tctx, strlen_m_term_null("foo"), 4, "simple len");
+	torture_assert_int_equal(tctx, strlen_m_term_null("foo\x83l"), 7, "extended len");
+	torture_assert_int_equal(tctx, strlen_m_term_null(""), 0, "empty");
+	torture_assert_int_equal(tctx, strlen_m_term_null(NULL), 0, "NULL");
 	return true;
 }
 
@@ -278,6 +289,7 @@ struct torture_suite *torture_local_charset(TALLOC_CTX *mem_ctx)
 	torture_suite_add_simple_test(suite, "next_token_quote_wrong", test_next_token_quote_wrong);
 	torture_suite_add_simple_test(suite, "strlen_m", test_strlen_m);
 	torture_suite_add_simple_test(suite, "strlen_m_term", test_strlen_m_term);
+	torture_suite_add_simple_test(suite, "strlen_m_term_null", test_strlen_m_term_null);
 	torture_suite_add_simple_test(suite, "strhaslower", test_strhaslower);
 	torture_suite_add_simple_test(suite, "strhasupper", test_strhasupper);
 	torture_suite_add_simple_test(suite, "count_chars_m", test_count_chars_m);
diff --git a/lib/util/charset/util_str.c b/lib/util/charset/util_str.c
index 1cbc1cd..33466ec 100644
--- a/lib/util/charset/util_str.c
+++ b/lib/util/charset/util_str.c
@@ -274,6 +274,22 @@ _PUBLIC_ size_t strlen_m_ext_term(const char *s, const charset_t src_charset,
 	return strlen_m_ext(s, src_charset, dst_charset) + 1;
 }
 
+_PUBLIC_ size_t strlen_m_ext_term_null(const char *s,
+				       const charset_t src_charset,
+				       const charset_t dst_charset)
+{
+	size_t len;
+	if (!s) {
+		return 0;
+	}
+	len = strlen_m_ext(s, src_charset, dst_charset);
+	if (len == 0) {
+		return 0;
+	}
+
+	return len+1;
+}
+
 /**
  * Calculate the number of 16-bit units that would be needed to convert
  * the input string which is expected to be in CH_UNIX encoding to UTF16.
@@ -292,11 +308,7 @@ _PUBLIC_ size_t strlen_m(const char *s)
 **/
 _PUBLIC_ size_t strlen_m_term(const char *s)
 {
-	if (!s) {
-		return 0;
-	}
-
-	return strlen_m(s) + 1;
+	return strlen_m_ext_term(s, CH_UNIX, CH_UTF16LE);
 }
 
 /*
@@ -306,16 +318,7 @@ _PUBLIC_ size_t strlen_m_term(const char *s)
 
 _PUBLIC_ size_t strlen_m_term_null(const char *s)
 {
-	size_t len;
-	if (!s) {
-		return 0;
-	}
-	len = strlen_m(s);
-	if (len == 0) {
-		return 0;
-	}
-
-	return len+1;
+	return strlen_m_ext_term_null(s, CH_UNIX, CH_UTF16LE);
 }
 
 /**
diff --git a/lib/util/util.c b/lib/util/util.c
index 9ef7124..4f0e67f 100644
--- a/lib/util/util.c
+++ b/lib/util/util.c
@@ -530,7 +530,7 @@ void dump_data_cb(const uint8_t *buf, int len,
 	if (i%16) {
 		int n;
 		n = 16 - (i%16);
-		cb(" ", private_data);
+		cb("  ", private_data);
 		if (n>8) {
 			cb(" ", private_data);
 		}
diff --git a/libcli/smb/tstream_smbXcli_np.c b/libcli/smb/tstream_smbXcli_np.c
index 77a326b..9cd6302 100644
--- a/libcli/smb/tstream_smbXcli_np.c
+++ b/libcli/smb/tstream_smbXcli_np.c
@@ -632,7 +632,7 @@ static void tstream_smbXcli_np_writev_write_done(struct tevent_req *subreq)
 	}
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
-		tstream_smbXcli_np_writev_disconnect_now(req, EIO, __location__);
+		tstream_smbXcli_np_writev_disconnect_now(req, EPIPE, __location__);
 		return;
 	}
 
@@ -980,7 +980,7 @@ static void tstream_smbXcli_np_readv_trans_done(struct tevent_req *subreq)
 		status = NT_STATUS_OK;
 	}
 	if (!NT_STATUS_IS_OK(status)) {
-		tstream_smbXcli_np_readv_disconnect_now(req, EIO, __location__);
+		tstream_smbXcli_np_readv_disconnect_now(req, EPIPE, __location__);
 		return;
 	}
 
@@ -1064,7 +1064,7 @@ static void tstream_smbXcli_np_readv_read_done(struct tevent_req *subreq)
 	}
 	if (!NT_STATUS_IS_OK(status)) {
 		TALLOC_FREE(subreq);
-		tstream_smbXcli_np_readv_disconnect_now(req, EIO, __location__);
+		tstream_smbXcli_np_readv_disconnect_now(req, EPIPE, __location__);
 		return;
 	}
 
@@ -1290,7 +1290,7 @@ static void tstream_smbXcli_np_disconnect_done(struct tevent_req *subreq)
 	}
 	TALLOC_FREE(subreq);
 	if (!NT_STATUS_IS_OK(status)) {
-		tevent_req_error(req, EIO);
+		tevent_req_error(req, EPIPE);
 		return;
 	}
 
diff --git a/librpc/idl/witness.idl b/librpc/idl/witness.idl
index 8f5f9bf..febae25 100644
--- a/librpc/idl/witness.idl
+++ b/librpc/idl/witness.idl
@@ -7,6 +7,7 @@ import "misc.idl";
   version(1.1),
   pointer_default(unique),
   helpstring("SMB Witness Service"),
+  helper("../librpc/ndr/ndr_witness.h"),
   endpoint("ncacn_ip_tcp:")
 ]
 interface witness
@@ -71,7 +72,7 @@ interface witness
 	/*****************/
 	/* Function 0x03 */
 
-	typedef [v1_enum] enum {
+	typedef [v1_enum,public] enum {
 		WITNESS_NOTIFY_RESOURCE_CHANGE = 1,
 		WITNESS_NOTIFY_CLIENT_MOVE     = 2,
 		WITNESS_NOTIFY_SHARE_MOVE      = 3,
@@ -115,15 +116,14 @@ interface witness
 		[case(WITNESS_NOTIFY_CLIENT_MOVE)]     witness_IPaddrInfoList client_move;
 		[case(WITNESS_NOTIFY_SHARE_MOVE)]      witness_IPaddrInfoList share_move;
 		[case(WITNESS_NOTIFY_IP_CHANGE)]       witness_IPaddrInfoList ip_change;
+		[default,flag(NDR_REMAINING)]          DATA_BLOB data;
 	} witness_notifyResponse_message;
 
-	typedef [flag(NDR_PAHEX)] struct {
+	typedef [flag(NDR_PAHEX),gensize,public,nopush,nopull] struct {
 		witness_notifyResponse_type type;
-		[value(messages->length)] uint32 length;
+		[value(ndr_size_witness_notifyResponse(r, ndr->flags)-20)] uint32 length;
 		uint32 num;
-		/* [switch_is(type), size_is(num)] witness_notifyResponse_message *messages; */
-		/* [size_is(length)] uint8 *messages; */
-		[subcontext(4), subcontext_size(length), flag(NDR_REMAINING)] DATA_BLOB *messages;
+		[subcontext(4), subcontext_size(length), flag(NDR_REMAINING), switch_is(type)] witness_notifyResponse_message messages[num];
 	} witness_notifyResponse;
 
 	[public] WERROR witness_AsyncNotify(
diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c
index 76073ed..453f4d3 100644
--- a/librpc/ndr/ndr.c
+++ b/librpc/ndr/ndr.c
@@ -636,8 +636,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_subcontext_start(struct ndr_pull *ndr,
 		uint16_t content_size;
 		NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &content_size));
 		if (size_is >= 0 && size_is != content_size) {
-			return ndr_pull_error(ndr, NDR_ERR_SUBCONTEXT, "Bad subcontext (PULL) size_is(%d) mismatch content_size %d", 
-						(int)size_is, (int)content_size);
+			return ndr_pull_error(ndr, NDR_ERR_SUBCONTEXT, "Bad subcontext (PULL) size_is(%d) (0x%04x) mismatch content_size %d (0x%04x)",
+						(int)size_is, (int)size_is,
+						(int)content_size,
+						(int)content_size);
 		}
 		r_content_size = content_size;
 		break;
@@ -647,8 +649,10 @@ _PUBLIC_ enum ndr_err_code ndr_pull_subcontext_start(struct ndr_pull *ndr,
 		uint32_t content_size;
 		NDR_CHECK(ndr_pull_uint3264(ndr, NDR_SCALARS, &content_size));
 		if (size_is >= 0 && size_is != content_size) {
-			return ndr_pull_error(ndr, NDR_ERR_SUBCONTEXT, "Bad subcontext (PULL) size_is(%d) mismatch content_size %d", 
-						(int)size_is, (int)content_size);
+			return ndr_pull_error(ndr, NDR_ERR_SUBCONTEXT, "Bad subcontext (PULL) size_is(%d) (0x%08x) mismatch content_size %d (0x%08x)",
+						(int)size_is, (int)size_is,
+						(int)content_size,
+						(int)content_size);
 		}
 		r_content_size = content_size;
 		break;
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index 67aebe4..12e3942 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -1229,11 +1229,11 @@ _PUBLIC_ void ndr_print_array_uint8(struct ndr_print *ndr, const char *name,
 #undef _ONELINE_LIMIT
 }
 
-static void ndr_print_asc(struct ndr_print *ndr, const uint8_t *buf, int len)
+static void ndr_print_dump_data_cb(const char *buf, void *private_data)
 {
-	int i;
-	for (i=0;i<len;i++)
-		ndr->print(ndr, "%c", isprint(buf[i])?buf[i]:'.');
+	struct ndr_print *ndr = (struct ndr_print *)private_data;
+
+	ndr->print(ndr, "%s", buf);
 }
 
 /*
@@ -1241,37 +1241,8 @@ static void ndr_print_asc(struct ndr_print *ndr, const uint8_t *buf, int len)
  */
 static void ndr_dump_data(struct ndr_print *ndr, const uint8_t *buf, int len)
 {
-	int i=0;
-
 	ndr->no_newline = true;
-
-	for (i=0;i<len;) {
-		if (i%16 == 0 && i<len) {
-			ndr->print(ndr, "[%04X] ",i);
-		}
-
-		ndr->print(ndr, "%02X ",(int)buf[i]);
-		i++;
-		if (i%8 == 0) ndr->print(ndr,"  ");
-		if (i%16 == 0) {
-			ndr_print_asc(ndr,&buf[i-16],8); ndr->print(ndr," ");
-			ndr_print_asc(ndr,&buf[i-8],8); ndr->print(ndr, "\n");
-		}
-	}
-
-	if (i%16) {
-		int n;
-		n = 16 - (i%16);
-		ndr->print(ndr, " ");
-		if (n>8) ndr->print(ndr," ");
-		while (n--) ndr->print(ndr,"   ");
-		n = MIN(8,i%16);
-		ndr_print_asc(ndr,&buf[i-(i%16)],n); ndr->print(ndr, " ");
-		n = (i%16) - n;
-		if (n>0) ndr_print_asc(ndr,&buf[i-n],n);
-		ndr->print(ndr,"\n");
-	}
-
+	dump_data_cb(buf, len, true, ndr_print_dump_data_cb, ndr);
 	ndr->no_newline = false;
 }
 
diff --git a/librpc/ndr/ndr_witness.c b/librpc/ndr/ndr_witness.c
new file mode 100644
index 0000000..40586f4
--- /dev/null
+++ b/librpc/ndr/ndr_witness.c
@@ -0,0 +1,110 @@
+/*
+   Unix SMB/CIFS implementation.
+
+   routines for marshalling/unmarshalling witness structures
+
+   Copyright (C) Guenther Deschner 2015
+
+   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 "librpc/gen_ndr/ndr_witness.h"
+
+_PUBLIC_ enum ndr_err_code ndr_push_witness_notifyResponse(struct ndr_push *ndr, int ndr_flags, const struct witness_notifyResponse *r)
+{
+	uint32_t cntr_messages_0;
+	{
+		uint32_t _flags_save_STRUCT = ndr->flags;
+		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+		NDR_PUSH_CHECK_FLAGS(ndr, ndr_flags);
+		if (ndr_flags & NDR_SCALARS) {
+			NDR_CHECK(ndr_push_align(ndr, 4));
+			NDR_CHECK(ndr_push_witness_notifyResponse_type(ndr, NDR_SCALARS, r->type));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_witness_notifyResponse(r, ndr->flags) - 20));
+			NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num));
+			NDR_CHECK(ndr_push_unique_ptr(ndr, r->messages));
+			if (r->messages) {
+				uint32_t _flags_save_witness_notifyResponse_message = ndr->flags;
+				ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+					{
+						struct ndr_push *_ndr_messages;
+						NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_messages, 4, ndr_size_witness_notifyResponse(r, ndr->flags) - 20));
+						for (cntr_messages_0 = 0; cntr_messages_0 < (r->num); cntr_messages_0++) {
+							NDR_CHECK(ndr_push_set_switch_value(_ndr_messages, &r->messages[cntr_messages_0], r->type));
+							NDR_CHECK(ndr_push_witness_notifyResponse_message(_ndr_messages, NDR_SCALARS, &r->messages[cntr_messages_0]));
+						}
+						NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_messages, 4, ndr_size_witness_notifyResponse(r, ndr->flags) - 20));
+					}
+				ndr->flags = _flags_save_witness_notifyResponse_message;
+			}
+			NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+		}
+		if (ndr_flags & NDR_BUFFERS) {
+		}
+		ndr->flags = _flags_save_STRUCT;
+	}
+	return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_witness_notifyResponse(struct ndr_pull *ndr, int ndr_flags, struct witness_notifyResponse *r)
+{
+	uint32_t size_messages_0 = 0;
+	uint32_t cntr_messages_0;
+	TALLOC_CTX *_mem_save_messages_0;
+	{
+		uint32_t _flags_save_STRUCT = ndr->flags;
+		ndr_set_flags(&ndr->flags, LIBNDR_PRINT_ARRAY_HEX);
+		NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
+		if (ndr_flags & NDR_SCALARS) {
+			NDR_CHECK(ndr_pull_align(ndr, 4));
+			NDR_CHECK(ndr_pull_witness_notifyResponse_type(ndr, NDR_SCALARS, &r->type));
+			NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->length));
+			NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num));
+			{
+				uint32_t _flags_save_witness_notifyResponse_message = ndr->flags;
+				uint32_t _ptr_messages;
+				ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
+				NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_messages));
+				if (_ptr_messages) {
+					NDR_PULL_ALLOC(ndr, r->messages);
+				} else {
+					r->messages = NULL;
+				}
+				if (r->messages) {
+					size_messages_0 = r->num;
+					NDR_PULL_ALLOC_N(ndr, r->messages, size_messages_0);
+					_mem_save_messages_0 = NDR_PULL_GET_MEM_CTX(ndr);
+					NDR_PULL_SET_MEM_CTX(ndr, r->messages, 0);
+					{
+						struct ndr_pull *_ndr_messages;
+						NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_messages, 4, r->length));
+						for (cntr_messages_0 = 0; cntr_messages_0 < (size_messages_0); cntr_messages_0++) {
+							NDR_CHECK(ndr_pull_set_switch_value(_ndr_messages, &r->messages[cntr_messages_0], r->type));
+							NDR_CHECK(ndr_pull_witness_notifyResponse_message(_ndr_messages, NDR_SCALARS, &r->messages[cntr_messages_0]));
+						}
+						NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_messages, 4, r->length));
+					}
+				}
+				NDR_PULL_SET_MEM_CTX(ndr, _mem_save_messages_0, 0);
+				ndr->flags = _flags_save_witness_notifyResponse_message;
+			}
+			NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
+		}
+		if (ndr_flags & NDR_BUFFERS) {
+		}
+		ndr->flags = _flags_save_STRUCT;
+	}
+	return NDR_ERR_SUCCESS;
+}
diff --git a/lib/util/pidfile.h b/librpc/ndr/ndr_witness.h
similarity index 65%
copy from lib/util/pidfile.h
copy to librpc/ndr/ndr_witness.h
index d504f52..e4dd3df 100644
--- a/lib/util/pidfile.h
+++ b/librpc/ndr/ndr_witness.h
@@ -1,7 +1,9 @@
 /*
    Unix SMB/CIFS implementation.
-   Samba utility functions
-   Copyright (C) Jeremy Allison 2012.
+
+   routines for marshalling/unmarshalling witness structures
+
+   Copyright (C) Guenther Deschner 2015
 
    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
@@ -17,11 +19,5 @@
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#ifndef _SAMBA_PIDFILE_H_
-#define _SAMBA_PIDFILE_H_
-
-pid_t pidfile_pid(const char *piddir, const char *name);
-void pidfile_create(const char *piddir, const char *program_name);
-void pidfile_unlink(const char *piddir, const char *program_name);
-
-#endif
+_PUBLIC_ enum ndr_err_code ndr_push_witness_notifyResponse(struct ndr_push *ndr, int ndr_flags, const struct witness_notifyResponse *r);
+_PUBLIC_ enum ndr_err_code ndr_pull_witness_notifyResponse(struct ndr_pull *ndr, int ndr_flags, struct witness_notifyResponse *r);
diff --git a/librpc/rpc/dcerpc_error.c b/librpc/rpc/dcerpc_error.c
index 4f0ed6e..2b90334 100644
--- a/librpc/rpc/dcerpc_error.c
+++ b/librpc/rpc/dcerpc_error.c
@@ -26,58 +26,72 @@
 struct dcerpc_fault_table {
 	const char *errstr;
 	uint32_t faultcode;
+	NTSTATUS nt_status;
 };
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list