1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00
Commit Graph

102787 Commits

Author SHA1 Message Date
Noel Power
c20fb11665 s4:torture:basic: fix valgrind 'Syscall param writev(vector[...])' error.
smbtorture test base.aliases.setpathinfo_aliases.setpathinfo_aliases
results in the following valgrind trace

==23067== Syscall param writev(vector[...]) points to uninitialised byte(s)
==23067==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==23067==    by 0x106CB033: writev_handler (async_sock.c:340)
==23067==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==23067==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==23067==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==23067==    by 0x5AE3400: smbcli_request_receive (rawrequest.c:416)
==23067==    by 0x5AE6019: smb_raw_write_recv (rawreadwrite.c:303)
==23067==    by 0x5AE63FD: smb_raw_write (rawreadwrite.c:344)
==23067==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==23067==    by 0x423EB4: setpathinfo_aliases (aliases.c:367)
==23067==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==23067==    by 0x955368F: internal_torture_run_test (torture.c:442)
==23067==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==23067==    by 0x2600A4: run_matching (smbtorture.c:110)
==23067==    by 0x25FF66: run_matching (smbtorture.c:95)
==23067==    by 0x25FF66: run_matching (smbtorture.c:95)
==23067==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==23067==    by 0x261E44: main (smbtorture.c:665)
==23067==  Address 0x187e0096 is 598 bytes inside a block of size 1,325 alloc'd
==23067==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==23067==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==23067==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==23067==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==23067==    by 0x5ADFAB7: smbcli_transport_setup_subreq (clitransport.c:254)
==23067==    by 0x5ADFC37: smbcli_transport_send (clitransport.c:326)
==23067==    by 0x5AE33C3: smbcli_request_send (rawrequest.c:400)
==23067==    by 0x5AE5FDD: smb_raw_write_send (rawreadwrite.c:289)
==23067==    by 0x5AE63E6: smb_raw_write (rawreadwrite.c:343)
==23067==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==23067==    by 0x423EB4: setpathinfo_aliases (aliases.c:367)
==23067==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==23067==    by 0x955368F: internal_torture_run_test (torture.c:442)
==23067==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==23067==    by 0x2600A4: run_matching (smbtorture.c:110)
==23067==    by 0x25FF66: run_matching (smbtorture.c:95)
==23067==    by 0x25FF66: run_matching (smbtorture.c:95)
==23067==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==23067==    by 0x261E44: main (smbtorture.c:665)
==23067==

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:15 +02:00
Noel Power
6806c1486e s4:torture:basic: fix valgrind 'Syscall param writev(vector[...])' error
smbtorture test  base.aliases.setfileinfo_aliases.setfileinfo_aliases
results in the following valgrind trace

==22757== Syscall param writev(vector[...]) points to uninitialised byte(s)
==22757==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==22757==    by 0x106CB033: writev_handler (async_sock.c:340)
==22757==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22757==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22757==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==22757==    by 0x5AE3400: smbcli_request_receive (rawrequest.c:416)
==22757==    by 0x5AE6019: smb_raw_write_recv (rawreadwrite.c:303)
==22757==    by 0x5AE63FD: smb_raw_write (rawreadwrite.c:344)
==22757==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22757==    by 0x423C91: setfileinfo_aliases (aliases.c:327)
==22757==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22757==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22757==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22757==    by 0x2600A4: run_matching (smbtorture.c:110)
==22757==    by 0x25FF66: run_matching (smbtorture.c:95)
==22757==    by 0x25FF66: run_matching (smbtorture.c:95)
==22757==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22757==    by 0x261E44: main (smbtorture.c:665)
==22757==  Address 0x187dfee6 is 598 bytes inside a block of size 1,325 alloc'd
==22757==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22757==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==22757==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==22757==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==22757==    by 0x5ADFAB7: smbcli_transport_setup_subreq (clitransport.c:254)
==22757==    by 0x5ADFC37: smbcli_transport_send (clitransport.c:326)
==22757==    by 0x5AE33C3: smbcli_request_send (rawrequest.c:400)
==22757==    by 0x5AE5FDD: smb_raw_write_send (rawreadwrite.c:289)
==22757==    by 0x5AE63E6: smb_raw_write (rawreadwrite.c:343)
==22757==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22757==    by 0x423C91: setfileinfo_aliases (aliases.c:327)
==22757==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22757==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22757==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22757==    by 0x2600A4: run_matching (smbtorture.c:110)
==22757==    by 0x25FF66: run_matching (smbtorture.c:95)
==22757==    by 0x25FF66: run_matching (smbtorture.c:95)
==22757==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22757==    by 0x261E44: main (smbtorture.c:665)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:15 +02:00
Noel Power
a5ce559a80 s4:torture:basic: fix valgrind 'Syscall param writev(vector[...])' error
running smbtorture test base.aliases.FINDFIRST aliases.FINDFIRST aliases
results in the following valgrind trace

==22639== Syscall param writev(vector[...]) points to uninitialised byte(s)
==22639==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==22639==    by 0x106CB033: writev_handler (async_sock.c:340)
==22639==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22639==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22639==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==22639==    by 0x5AE3400: smbcli_request_receive (rawrequest.c:416)
==22639==    by 0x5AE6019: smb_raw_write_recv (rawreadwrite.c:303)
==22639==    by 0x5AE63FD: smb_raw_write (rawreadwrite.c:344)
==22639==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22639==    by 0x423672: findfirst_aliases (aliases.c:213)
==22639==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22639==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22639==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22639==    by 0x2600A4: run_matching (smbtorture.c:110)
==22639==    by 0x25FF66: run_matching (smbtorture.c:95)
==22639==    by 0x25FF66: run_matching (smbtorture.c:95)
==22639==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22639==    by 0x261E44: main (smbtorture.c:665)
==22639==  Address 0x187dfd26 is 598 bytes inside a block of size 1,325 alloc'd
==22639==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22639==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==22639==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==22639==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==22639==    by 0x5ADFAB7: smbcli_transport_setup_subreq (clitransport.c:254)
==22639==    by 0x5ADFC37: smbcli_transport_send (clitransport.c:326)
==22639==    by 0x5AE33C3: smbcli_request_send (rawrequest.c:400)
==22639==    by 0x5AE5FDD: smb_raw_write_send (rawreadwrite.c:289)
==22639==    by 0x5AE63E6: smb_raw_write (rawreadwrite.c:343)
==22639==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22639==    by 0x423672: findfirst_aliases (aliases.c:213)
==22639==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22639==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22639==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22639==    by 0x2600A4: run_matching (smbtorture.c:110)
==22639==    by 0x25FF66: run_matching (smbtorture.c:95)
==22639==    by 0x25FF66: run_matching (smbtorture.c:95)
==22639==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22639==    by 0x261E44: main (smbtorture.c:665)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:15 +02:00
Noel Power
4d5a73e246 s4:torture:basic fix 'Syscall param writev(vector[...])' valgrind error
smbtorture 'base.aliases.QPATHINFO aliases.QPATHINFO aliases' results in
following valgrind trace

==22469== Syscall param writev(vector[...]) points to uninitialised byte(s)
==22469==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==22469==    by 0x106CB033: writev_handler (async_sock.c:340)
==22469==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22469==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==22469==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==22469==    by 0x5AE3400: smbcli_request_receive (rawrequest.c:416)
==22469==    by 0x5AE6019: smb_raw_write_recv (rawreadwrite.c:303)
==22469==    by 0x5AE63FD: smb_raw_write (rawreadwrite.c:344)
==22469==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22469==    by 0x423431: qpathinfo_aliases (aliases.c:171)
==22469==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22469==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22469==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22469==    by 0x2600A4: run_matching (smbtorture.c:110)
==22469==    by 0x25FF66: run_matching (smbtorture.c:95)
==22469==    by 0x25FF66: run_matching (smbtorture.c:95)
==22469==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22469==    by 0x261E44: main (smbtorture.c:665)
==22469==  Address 0x187dfb86 is 598 bytes inside a block of size 1,325 alloc'd
==22469==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==22469==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==22469==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==22469==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==22469==    by 0x5ADFAB7: smbcli_transport_setup_subreq (clitransport.c:254)
==22469==    by 0x5ADFC37: smbcli_transport_send (clitransport.c:326)
==22469==    by 0x5AE33C3: smbcli_request_send (rawrequest.c:400)
==22469==    by 0x5AE5FDD: smb_raw_write_send (rawreadwrite.c:289)
==22469==    by 0x5AE63E6: smb_raw_write (rawreadwrite.c:343)
==22469==    by 0x9BE50CA: smbcli_write (clireadwrite.c:118)
==22469==    by 0x423431: qpathinfo_aliases (aliases.c:171)
==22469==    by 0x16B21D: wrap_simple_1smb_test (util_smb.c:856)
==22469==    by 0x955368F: internal_torture_run_test (torture.c:442)
==22469==    by 0x9553A6B: torture_run_test_restricted (torture.c:542)
==22469==    by 0x2600A4: run_matching (smbtorture.c:110)
==22469==    by 0x25FF66: run_matching (smbtorture.c:95)
==22469==    by 0x25FF66: run_matching (smbtorture.c:95)
==22469==    by 0x2601C5: torture_run_named_tests (smbtorture.c:143)
==22469==    by 0x261E44: main (smbtorture.c:665)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Noel Power
60b2298a73 s4:lib:registry: fix 'Conditional jump or move' valgrind error.
smbtorture local.registry.diff.dotreg.test_diff_apply produces the following
valgrind trace

==18367== Conditional jump or move depends on uninitialised value(s)
==18367==    at 0xA02ED96: reg_dotreg_diff_load (patchfile_dotreg.c:252)
==18367==    by 0xA031C6C: reg_diff_load (patchfile.c:375)
==18367==    by 0xA0323AB: reg_diff_apply (patchfile.c:542)
==18367==    by 0x15F116: test_diff_apply (diff.c:72)
==18367==    by 0x955460C: wrap_test_with_simple_test (torture.c:731)
==18367==    by 0x955366F: internal_torture_run_test (torture.c:442)
==18367==    by 0x9553A4B: torture_run_test_restricted (torture.c:542)
==18367==    by 0x260074: run_matching (smbtorture.c:110)
==18367==    by 0x25FF36: run_matching (smbtorture.c:95)
==18367==    by 0x25FF36: run_matching (smbtorture.c:95)
==18367==    by 0x25FF36: run_matching (smbtorture.c:95)
==18367==    by 0x260195: torture_run_named_tests (smbtorture.c:143)
==18367==

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Noel Power
9cb4b1b240 s4:torture:rpc: fix valgrind 'Syscall param writev(vector[...])' valgrind error
when running smbtorture rpc.samba3.regconfig.regconfig

Note: to fix this particular error only the action_taken variable needed
to be initialised. ZERO-ing the structs for completeness.

==14958== Syscall param writev(vector[...]) points to uninitialised byte(s)
==14958==    at 0xFB9FC87: writev (in /lib64/libc-2.19.so)
==14958==    by 0x106C8003: writev_handler (async_sock.c:340)
==14958==    by 0xF67407E: epoll_event_loop (tevent_epoll.c:728)
==14958==    by 0xF67469C: epoll_event_loop_once (tevent_epoll.c:926)
==14958==    by 0xF671586: std_event_loop_once (tevent_standard.c:114)
==14958==    by 0xF66AD42: _tevent_loop_once (tevent.c:533)
==14958==    by 0xF66CB9D: tevent_req_poll (tevent_req.c:256)
==14958==    by 0x5D19305: tevent_req_poll_ntstatus (tevent_ntstatus.c:109)
==14958==    by 0x88B2DED: dcerpc_binding_handle_call (binding_handle.c:556)
==14958==    by 0xBBCE851: dcerpc_winreg_CreateKey_r (ndr_winreg_c.c:1430)
==14958==    by 0x3D47C5: torture_samba3_createshare (samba3rpc.c:3192)
==14958==    by 0x3D50AC: torture_samba3_regconfig (samba3rpc.c:3299)
==14958==    by 0x9553F42: wrap_simple_test (torture.c:632)
==14958==    by 0x955366F: internal_torture_run_test (torture.c:442)
==14958==    by 0x9553A4B: torture_run_test_restricted (torture.c:542)
==14958==    by 0x260074: run_matching (smbtorture.c:110)
==14958==    by 0x25FF36: run_matching (smbtorture.c:95)
==14958==    by 0x25FF36: run_matching (smbtorture.c:95)
==14958==    by 0x260195: torture_run_named_tests (smbtorture.c:143)
==14958==    by 0x261E14: main (smbtorture.c:665)
==14958==  Address 0x18868ec6 is 598 bytes inside a block of size 1,325 alloc'd
==14958==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==14958==    by 0xF45EE38: __talloc_with_prefix (talloc.c:668)
==14958==    by 0xF45EFF5: _talloc_pool (talloc.c:721)
==14958==    by 0xF45F167: _talloc_pooled_object (talloc.c:790)
==14958==    by 0xF66C664: _tevent_req_create (tevent_req.c:66)
==14958==    by 0xB0D49CF: smb1cli_req_create (smbXcli_base.c:1322)
==14958==    by 0xB0E1E3D: smb1cli_trans_send (smb1cli_trans.c:512)
==14958==    by 0xB0ED44D: tstream_smbXcli_np_readv_trans_start (tstream_smbXcli_np.c:901)
==14958==    by 0xB0EC817: tstream_smbXcli_np_writev_write_next (tstream_smbXcli_np.c:578)
==14958==    by 0xB0EC4A7: tstream_smbXcli_np_writev_send (tstream_smbXcli_np.c:505)
==14958==    by 0xC259DDA: tstream_writev_send (tsocket.c:695)
==14958==    by 0xC25AD44: tstream_writev_queue_trigger (tsocket_helpers.c:513)
==14958==    by 0xF66BF73: tevent_queue_immediate_trigger (tevent_queue.c:149)
==14958==    by 0xF66BBFB: tevent_common_loop_immediate (tevent_immediate.c:135)
==14958==    by 0xF674602: epoll_event_loop_once (tevent_epoll.c:907)
==14958==    by 0xF671586: std_event_loop_once (tevent_standard.c:114)
==14958==    by 0xF66AD42: _tevent_loop_once (tevent.c:533)
==14958==    by 0xF66CB9D: tevent_req_poll (tevent_req.c:256)
==14958==    by 0x5D19305: tevent_req_poll_ntstatus (tevent_ntstatus.c:109)
==14958==    by 0x88B2DED: dcerpc_binding_handle_call (binding_handle.c:556)
==14958==    by 0xBBCE851: dcerpc_winreg_CreateKey_r (ndr_winreg_c.c:1430)
==14958==    by 0x3D47C5: torture_samba3_createshare (samba3rpc.c:3192)
==14958==    by 0x3D50AC: torture_samba3_regconfig (samba3rpc.c:3299)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Noel Power
c901d98d6e s4:torture:rpc: fix valgrind 'Syscall param writev(vector[...])' error
running smbtorture test rpc.samba3.winreg.winreg yields the following
valgrind trace

==18533== Syscall param writev(vector[...]) points to uninitialised byte(s)
==18533==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==18533==    by 0x106CB033: writev_handler (async_sock.c:340)
==18533==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0xF673ACE: tevent_req_poll (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0x5D19325: tevent_req_poll_ntstatus (tevent_ntstatus.c:109)
==18533==    by 0x88B2E0D: dcerpc_binding_handle_call (binding_handle.c:556)
==18533==    by 0xBBD049F: dcerpc_winreg_EnumValue_r (ndr_winreg_c.c:2354)
==18533==    by 0x3D3E3E: enumvalues (samba3rpc.c:2982)
==18533==    by 0x3D40A5: enumkeys (samba3rpc.c:3042)
==18533==    by 0x3D4085: enumkeys (samba3rpc.c:3041)
==18533==  Address 0x1886edd6 is 598 bytes inside a block of size 1,325 alloc'd
==18533==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==18533==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==18533==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==18533==    by 0xB0E1E6D: smb1cli_trans_send (smb1cli_trans.c:512)
==18533==    by 0xB0ED47D: tstream_smbXcli_np_readv_trans_start (tstream_smbXcli_np.c:901)
==18533==    by 0xB0EC847: tstream_smbXcli_np_writev_write_next (tstream_smbXcli_np.c:578)
==18533==    by 0xB0EC4D7: tstream_smbXcli_np_writev_send (tstream_smbXcli_np.c:505)
==18533==    by 0xC259DFA: tstream_writev_send (tsocket.c:695)
==18533==    by 0xC25AD64: tstream_writev_queue_trigger (tsocket_helpers.c:513)
==18533==    by 0xF673023: tevent_common_loop_immediate (in /usr/lib64/libtevent.so.0.9.26)
==18533==    by 0xF677EED: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18533==

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Noel Power
9e8d748db3 s4:torture:rpc: fix valgrind Syscall param writev(vector[...]) error
running smbtorture rpc.srvsvc.srvsvc\ (admin\ access).NetDiskEnum results
in the following valgrind trace

==30237== Syscall param writev(vector[...]) points to uninitialised byte(s)
==30237==    at 0xDD01C67: writev (in /lib64/libc-2.19.so)
==30237==    by 0xE1D09D4: writev_handler (async_sock.c:340)
==30237==    by 0xD81A12A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==30237==    by 0xD8185F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==30237==    by 0xD8147FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==30237==    by 0xD815ACE: tevent_req_poll (in /usr/lib64/libtevent.so.0.9.26)
==30237==    by 0x5AC726D: tevent_req_poll_ntstatus (in /usr/lib64/libtevent-util.so.0.0.1)
==30237==    by 0x8120CEA: dcerpc_binding_handle_call (in /usr/lib64/libdcerpc-binding.so.0.0.1)
==30237==    by 0xA9AC6EC: dcerpc_srvsvc_NetDiskEnum_r (ndr_srvsvc_c.c:5388)
==30237==    by 0x2ADDF8: ??? (in /usr/bin/smbtorture)
==30237==    by 0x898DF8C: ??? (in /usr/lib64/libtorture.so.0.0.1)
==30237==    by 0x1F0816: ??? (in /usr/bin/smbtorture)
==30237==  Address 0x15952676 is 598 bytes inside a block of size 1,325 alloc'd
==30237==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==30237==    by 0xCCCAA73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==30237==    by 0xD81566D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==30237==    by 0xA2B7910: smb1cli_req_create (smbXcli_base.c:1322)
==30237==    by 0xA2BA4E3: smb1cli_trans_send (smb1cli_trans.c:512)
==30237==    by 0xA2C1F91: tstream_smbXcli_np_readv_trans_start (tstream_smbXcli_np.c:901)
==30237==    by 0xA2C23AE: tstream_smbXcli_np_writev_send (tstream_smbXcli_np.c:505)
==30237==    by 0xAC8E43C: tstream_writev_send (tsocket.c:695)
==30237==    by 0xAC8E9BA: tstream_writev_queue_trigger (tsocket_helpers.c:513)
==30237==    by 0xD815023: tevent_common_loop_immediate (in /usr/lib64/libtevent.so.0.9.26)

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Noel Power
409cd516ca s4:libnet: fix 'Syscall param writev(vector[...])' valgrind error
running smbtorture rpc.dfs.netdfs.StdRoot yields the following valgrind trace

==18861== Syscall param writev(vector[...]) points to uninitialised byte(s)
==18861==    at 0xFBA2C87: writev (in /lib64/libc-2.19.so)
==18861==    by 0x106CB033: writev_handler (async_sock.c:340)
==18861==    by 0xF67812A: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0xF6765F6: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0xF6727FC: _tevent_loop_once (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0xF673ACE: tevent_req_poll (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0x5D19325: tevent_req_poll_ntstatus (tevent_ntstatus.c:109)
==18861==    by 0x88B2E0D: dcerpc_binding_handle_call (binding_handle.c:556)
==18861==    by 0xBC6D0D2: dcerpc_srvsvc_NetShareDel_r (ndr_srvsvc_c.c:4272)
==18861==    by 0x9786C0C: libnet_DelShare (libnet_share.c:195)
==18861==    by 0x2E0174: test_NetShareDel (dfs.c:103)
==18861==    by 0x2E126F: test_cleanup_stdroot (dfs.c:488)
==18861==  Address 0x18869b46 is 598 bytes inside a block of size 1,325 alloc'd
==18861==    at 0x4C29110: malloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==18861==    by 0xF464A73: _talloc_pooled_object (in /usr/lib64/libtalloc.so.2.1.5)
==18861==    by 0xF67366D: _tevent_req_create (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0xB0D49FF: smb1cli_req_create (smbXcli_base.c:1322)
==18861==    by 0xB0E1E6D: smb1cli_trans_send (smb1cli_trans.c:512)
==18861==    by 0xB0ED47D: tstream_smbXcli_np_readv_trans_start (tstream_smbXcli_np.c:901)
==18861==    by 0xB0EC847: tstream_smbXcli_np_writev_write_next (tstream_smbXcli_np.c:578)
==18861==    by 0xB0EC4D7: tstream_smbXcli_np_writev_send (tstream_smbXcli_np.c:505)
==18861==    by 0xC259DFA: tstream_writev_send (tsocket.c:695)
==18861==    by 0xC25AD64: tstream_writev_queue_trigger (tsocket_helpers.c:513)
==18861==    by 0xF673023: tevent_common_loop_immediate (in /usr/lib64/libtevent.so.0.9.26)
==18861==    by 0xF677EED: ??? (in /usr/lib64/libtevent.so.0.9.26)
==18861==

Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
fcf2cbb095 selftest/samba4.blackbox.export.keytab: check AS-REQ with SPN
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
20dc68050d s4/heimdal: allow SPNs in AS-REQ
This allows testing keytabs with service tickets. Windows KDCs allow
this as well.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
957741ce65 selftest/samba4.blackbox.export.keytab: check exported keytabs
Now that we have a usable ktutil, actually verify that the exported
keytabs contains the keys we expect.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
5927e46000 selftest/samba4.blackbox.export.keytab: use spn based on fqdn
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
3116e8d3be s4: add a minimal ktutil for selftest
This minimalistic version of ktutil dumps all principal names and
encryption types from a keytab, eg:

./bin/samba4ktutil test.keytab
ktpassuser@HILLHOUSE.SITE (arcfour-hmac-md5)
ktpassuser@HILLHOUSE.SITE (aes256-cts-hmac-sha1-96)
ktpassuser@HILLHOUSE.SITE (aes128-cts-hmac-sha1-96)
ktpassuser@HILLHOUSE.SITE (des-cbc-md5)
ktpassuser@HILLHOUSE.SITE (des-cbc-crc)

This is all we need to run some tests against keytabs exported with
`samba-tool domain exportkeytab`.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
deab6c6df7 s4/libnet: fix exporting to keytab by SPN
Fix a regression introduced by 5c5d586d3e that broke exporting
service principals by their spn with

  samba-tool exportkeytab --principal=<SPN>.

Iterating with samba_kdc_nextkey() only returns UPNs, so this can't work
with SPNs. If we want to search for a specific SPN, we have to use
samba_kdc_fetch().

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
35b2fb4ff3 krb5_wrap: fix keep_old_entries logic in smb_krb5_kt_seek_and_delete_old_entries()
This fixes an regression introduced in 5c5d586d3e at a higher level
in the caller smb_krb5_kt_add_entry(): calling smb_krb5_kt_add_entry
with keep_old_entries=false resulted in only one enctype per principal
remaining in the exported keytab.

The function smb_krb5_kt_seek_and_delete_old_entries() is called from
smb_krb5_kt_add_entry() when adding keys to a keytab. When the keytab
contains keys with the same kvno as the key to be added and
keep_old_entries is false, the key is deleted without checking the
encryption type of the key. This means that when adding keys for a
principal only the last enctype will be in the exported keytab.

Fix this by checking the encryption type and only treat a key as "old"
if keytab_key_kvno <= new_key_kvno and keytab_key_enctype ==
new_key_enctype.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Ralph Boehme
b26ae7fbf6 krb5_wrap: add enctype arg to smb_krb5_kt_seek_and_delete_old_entries()
Unused in this commit, the next commit will use it to avoid deleting
keys with the same kvno but a different enctype.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
2016-04-25 10:35:14 +02:00
Martin Schwenke
0c373f2854 ctdb-tools: Drop onnode node specifications for recmaster/lvs/natgw
LVS and NAT gateway support had bit-rotted.  We don't use any of these
in scripts/tests and we very much doubt anyone else uses them.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>

Autobuild-User(master): Amitay Isaacs <amitay@samba.org>
Autobuild-Date(master): Mon Apr 25 10:34:47 CEST 2016 on sn-devel-144
2016-04-25 10:34:47 +02:00
Martin Schwenke
d12858aa5b ctdb-tools: Drop "ctdb natgwlist"
The new individual status options are better.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:15 +02:00
Martin Schwenke
cc3e9a651d ctdb-tests: Make ctdb natgw tool tests cover all the desired outputs
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:15 +02:00
Martin Schwenke
515e2a2d87 ctdb-tools: Add top-level "ctdb natgw" command
This can list the different aspects of status: master, list, status.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:15 +02:00
Martin Schwenke
3f3c483196 ctdb-scripts: Drop node count from "ctdb natgw status" output
Tweak "ctdb natgw natgwlist" to keep output format the same.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
fadc67cc45 ctdb-scripts: Tweak NAT gateway list output format
Avoid gratuitous trailing whitespace.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
cdaa82944a ctdb-scripts: Fix incorrect comment
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
09173f80d9 ctdb-ipalloc: Do ipreallocated even if no IP addresses can be allocated
In particular, LVS won't work at all if there are no public IP
addresses.

This is a temporary solution until a generic reconfiguration hook is
implemented.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
107f40abf9 ctdb-daemon: Move port filtering to server side when getting tickles
Why allocate all that memory and transfer all that data across the
socket?

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
84fdc2a562 ctdb-scripts: Improve error messages when using NFS service_check_cmd
When external monitoring is enabled for an NFS service using
service_check_cmd then $ctdb_check_rpc_out is empty because the
internal RPC checking isn't used.  This results in empty log messages
like:

  60.nfs: ERROR:

or:

  60.nfs: WARNING:

Improve this so it at least says:

  60.nfs: ERROR: monitoring service "statd" failed

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Martin Schwenke
59c71646ff ctdb-tools: Fix a dangling reference to the LVS capability
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
2016-04-25 07:10:14 +02:00
Amitay Isaacs
5f72883e8a ctdb-client: Use correct TDB flags for opening database
Persistent: TDB_DEFAULT
Volatile: TDB_NOSYNC | TDB_INCOMPATIBLE_HASH | TDB_CLEAR_IF_FIRST
          | TDB_MUTEX_LOCKING (if TDBMutexEnabled is set)

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>

Autobuild-User(master): Martin Schwenke <martins@samba.org>
Autobuild-Date(master): Sun Apr 24 03:25:27 CEST 2016 on sn-devel-144
2016-04-24 03:25:26 +02:00
Amitay Isaacs
2a06e56f92 ctdb-protocol: Consistency check for opcode in the reply structure
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:15 +02:00
Amitay Isaacs
b970a5304c ctdb-client: Set control opcode in reply for one-way controls
Some controls are fire-and-forget (CTDB_CTRL_FLAG_NOREPLY).  Since there
is no reply received, the opcode in the ctdb_reply_control structure
never gets set.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:15 +02:00
Amitay Isaacs
1bd461fed5 ctdb-protocol: Remove data structures for obsolete server_id controls
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:15 +02:00
Amitay Isaacs
2e2dfae98c ctdb-client: Remove client functions related to server_id
These functions were used in the transaction code.  These controls did
not use server_id structure defined in samba, so samba would not use them.
Instead check if the process exists for conflicting g_lock entry.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
cb3db024ef ctdb-tool: Remove commands related to server_id
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
d2f86ea8c3 ctdb-daemon: Remove unused controls related to server_id
These controls have never been used and also they do not use the server_id
structure defined in samba.  In future, similar controls can be added to
register/unregister using proper server_id structure.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
c1236b37fd ctdb-tests: Improve code coverage in tests
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
fdaa2310ff ctdb-tests: Fix flakey test complex/18_ctdb_reloadips.sh
This test sets TakeoverTimeout=90 to avoid banning during takeover.
However, the setting is done on the test node instead of the recovery
master node.  During "ctdb reloadips", the recovery master will used
the default value of TakeoverTimeout.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
2bad7d7de8 ctdb-tests: Update tests to include new controls
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
979693069a ctdb-daemon: Avoid memory leak
ctdb->idr and ctdb->srv get initialized as part of ctdb_init() called
from ctdb_cmdline_init().

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
8142e108c7 ctdb-protocol: Define a range of SRVIDs used by the ctdb tool
Get rid of the range reserved for traversals since it's not used.

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
811192be34 ctdb-protocol: Remove unused CTDB_SRVID_PREFIX
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Amitay Isaacs
bf701f06b4 ctdb-system: Fix typo in ctdb_get_peer_pid
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Jose A. Rivera
bf3f22315a ctdb-scripts: Avoid dividing by zero in memory calculation
Don't do a percentage calculation for either memtotal or swaptotal if they
are zero.

Signed-off-by: Jose A. Rivera <jarrpa@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
2016-04-23 23:55:14 +02:00
Richard Sharpe
ac7974a64e Fixes an obvious copy-paste error in source3/utils/net_dns.c
Signed-off-by: Richard Sharpe <rsharpe@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Fri Apr 22 10:45:30 CEST 2016 on sn-devel-144
2016-04-22 10:45:30 +02:00
Jeremy Allison
d2e143708f lib: dns: Clean up allocated structure on error exit.
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Richard Sharpe <rsharpe@samba.org>
2016-04-22 07:20:17 +02:00
Volker Lendecke
773a16ba86 pdb_ldap: Don't use autofree if "mods" still changes
This will prevent some use-after-free's, potentially it might for example fix
bugzilla 11851. Not directly related, but it's a crash related to ldap-backed
user creation.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2016-04-22 07:20:17 +02:00
Tom Mortensen
0b1f4db325 nss_wins: Fix the hostent setup
This can never have been tested....

Signed-off-by: Tom Mortensen <tomm@lime-technology.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2016-04-22 07:20:17 +02:00
Tom Mortensen
d3569ca271 nss_wins: ip_pton expects the raw IP address
Signed-off-by: Tom Mortensen <tomm@lime-technology.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
2016-04-22 07:20:17 +02:00
Garming Sam
2ef0c9a8d4 dbcheck: Avoid pathological behaviour in operational module
Because replPropertyMetadata was repeated for every object in the
database, the attrs list became very long.

This single line saves 20% of the time for make test TESTS=dbcheck.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>

Autobuild-User(master): Garming Sam <garming@samba.org>
Autobuild-Date(master): Wed Apr 20 09:12:47 CEST 2016 on sn-devel-144
2016-04-20 09:12:47 +02:00
Ralph Boehme
052b855551 cleanupd: restart as needed
Bug: https://bugzilla.samba.org/show_bug.cgi?id=11855

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Tue Apr 19 20:35:33 CEST 2016 on sn-devel-144
2016-04-19 20:35:33 +02:00