The branch, master has been updated via 01dd8dd ctdb-tests: Drop unused test template via a8bdcf9 ctdb-protocol: Fix marshalling of ctdb_event_reply via b107397 ctdb-protocol: Fix marshalling for ctdb_event_request via 54421df ctdb-protocol: Fix marshalling for ctdb_event_header via f8e1aaa ctdb-protocol: Fix marshalling for ctdb_event_reply_data via ab88bad ctdb-protocol: Fix marshalling for ctdb_event_reply_script_list via 4788016 ctdb-protocol: Fix marshaling for ctdb_event_reply_status via a0a162a ctdb-protocol: Fix marshalling for ctdb_event_request_data via 28414e0 ctdb-protocol: Fix marshalling for ctdb_event_request_script_disable via 933a0fa ctdb-protocol: Fix marshalling for ctdb_event_request_script_enable via 98715ab ctdb-protocol: Fix marshalling for ctdb_event_request_status via 67174eb ctdb-protocol: Fix marshalling for ctdb_event_request_run via ebba89e ctdb-protocol: Fix marshalling for ctdb_event_status_state via 672a985 ctdb-protocol: Fix marshalling for ctdb_event_command via b880ac8 ctdb-protocol: Fix marshalling for ctdb_event via 9d892ae ctdb-tests: Add test templates for eventd protocol elements via b9b0c68 ctdb-tests: Remove unused #defines via f02a1a1 ctdb-protocol: Add marshalling for ctdb_req_keepalive via 3f2495a ctdb-protocol: Fix marshalling for ctdb_req_message_data via 582ebec ctdb-protocol: Fix marshalling for ctdb_req_message via 504c486 ctdb-protocol: Fix marshalling for ctdb_message_data via 955426d ctdb-protocol: Fix marshalling for ctdb_reply_control via bf78234 ctdb-protocol: Fix marshalling for ctdb_req_control via e4fa09f ctdb-protocol: Fix marshalling for ctdb_reply_control_data via c88c317 ctdb-protocol: Fix marshalling for ctdb_req_control_data via 4c4094c ctdb-protocol: Fix marshalling for ctdb_reply_dmaster via dbe16ce ctdb-protocol: Fix marshalling for ctdb_req_dmaster via 5eac715 ctdb-protocol: Fix marshalling for ctdb_reply_error via aad7a3e ctdb-protocol: Fix marshalling for ctdb_reply_call via abbf662 ctdb-protocol: Fix marshalling for ctdb_req_call via 97184a8 ctdb-protocol: Fix marshalling for ctdb_req_header via b0ce818 ctdb-tests: Add compatibility test for ctdb protocol elements via a8e50c1 ctdb-tests: Add test templates for ctdb protocol elements via 3f5f61b ctdb-protocol: Fix marshalling for ctdb_g_lock_list via 0d5cc74 ctdb-protocol: Fix marshalling for ctdb_g_lock via a0bce37 ctdb-protocol: Fix marshalling for ctdb_server_id via 4d8359a ctdb-protocol: Fix marshalling for ctdb_disable_message via 95ae006 ctdb-protocol: Fix marshalling for ctdb_srvid_message via d8309d9 ctdb-protocol: Fix marshalling for ctdb_election_message via 2abf9c1 ctdb-protocol: Fix marshalling for ctdb_db_statistics via 819b631 ctdb-protocol: Fix marshalling for ctdb_key_data via 132f201 ctdb-protocol: Fix marshalling for ctdb_statistics_list via b03f3b5 ctdb-protocol: Fix marshalling for ctdb_public_ip_info via a856912 ctdb-protocol: Fix marshalling for ctdb_iface_list via 1790509 ctdb-protocol: Fix marshalling for ctdb_iface via 091ef60 ctdb-protocol: Fix marshalling for ctdb_notify_data via 57a4d2e ctdb-protocol: Fix marshalling for ctdb_ban_state via 74eaa03 ctdb-protocol: Fix marshalling for ctdb_script_list via 2117129 ctdb-protocol: Fix marshalling for ctdb_script via 85d0825 ctdb-protocol: Fix marshalling for ctdb_node_map via c060d01 ctdb-protocol: Fix marshalling for ctdb_node_and_flags via 2a8dd02 ctdb-protocol: Fix marshalling for ctdb_public_ip_list via 9e11de4 ctdb-protocol: Fix marshalling for ctdb_public_ip via d7c247d ctdb-protocol: Fix marshalling for ctdb_uptime via e893b46 ctdb-protocol: Fix marshalling for ctdb_transdb via 4d70b97 ctdb-protocol: Fix marshalling for ctdb_addr_info via bac67e1 ctdb-protocol: Fix marshalling for ctdb_tickle_list via 9573260 ctdb-protocol: Fix marshalling for ctdb_tunable_list via c78d69b ctdb-protocol: Fix marshalling for ctdb_var_list via 7f57cc0 ctdb-protocol: Fix marshalling for ctdb_node_flag_change via 60cb067 ctdb-protocol: Fix marshalling for ctdb_tunable via 7f34ad2 ctdb-protocol: Fix marshalling for ctdb_connection via 32539cd ctdb-protocol: Fix marshalling for ctdb_sock_addr via 6f48676 ctdb-protocol: Fix marshalling for ctdb_traverse_all_ext via 5caafc2 ctdb-protocol: Fix marshalling for ctdb_traverse_start_ext via bad5807 ctdb-protocol: Fix marshalling for ctdb_traverse_all via c882182 ctdb-protocol: Fix marshalling for ctdb_traverse_start via 676df87 ctdb-protocol: Fix marshalling for ctdb_rec_buffer via a57f062 ctdb-protocol: Use ctdb_rec_buffer_traverse to calaculate length of data via adab372 ctdb-protocol: Fix marshalling for ctdb_rec_data via b75a097 ctdb-protocol: Drop header argument to ctdb_rec_data_pull_data() via 25217a9 ctdb-protocol: Fix marshalling for ctdb_ltdb_header via 04d0b30 ctdb-protocol: Fix marshalling for ctdb_pulldb_ext via ba0b090 ctdb-protocol: Fix marshalling for ctdb_pulldb via e347e2b ctdb-protocol: Fix marshalling for ctdb_dbid_map via 917c0ec ctdb-protocol: Add marshalling for ctdb_dbid via 28734f1 ctdb-protocol: Fix marshalling for ctdb_vnn_map via 1cb6640 ctdb-protocol: Fix marshalling for ctdb_statistics via 82b7ec0 ctdb-tests: Add compatibility test for protocol data types via fc3f614 ctdb-protocol: Add marshalling for ctdb_latency_counter via ed4b4a2 ctdb-protocol: Add marshalling for tdb_data with size via 3b86c24 ctdb-protocol: Fix marshalling for tdb_data via 280a550 ctdb-protocol: Move tdb_data marshalling code via c9b541b ctdb-protocol: Add padding data type to handle structure padding via 0056a9d ctdb-protocol: Add marshalling for struct timeval via e0cb2f7 ctdb-protocol: Fix marshalling for pid_t via 1d68409 ctdb-protocol: Fix marshalling for a string with length via 1202106 ctdb-protocol: Fix marshalling for a string via 4ce3e68 ctdb-protocol: Add marshalling for fixed size char array via c1a2f42 ctdb-protocol: Add marshalling for bool via 222b637 ctdb-protocol: Fix marshalling for double via 890b696 ctdb-protocol: Fix marshalling for uint64_t via 69a2cb8 ctdb-protocol: Fix marshalling for uint32_t via 5ee3024 ctdb-protocol: Fix marshalling for int32_t via 453ff93 ctdb-protocol: Add marshalling for uint16_t via 5a2b2cc ctdb-protocol: Add marshalling for uint8_t via 62229f4 ctdb-tests: Add test templates for various data types via c16d258 ctdb-protocol: Fix marshalling for GET_DB_SEQNUM control via 936fc23 ctdb-tests: Reorganize protocol tests via 7374877 ctdb-protocol: Separate marshalling for basic data types from a5a2243 ldb: Add tests for indexed and unindexed search expressions
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 01dd8dd768333040f1e492ac9d9f47535246f521 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 9 11:09:47 2017 +1000 ctdb-tests: Drop unused test template Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> Autobuild-User(master): Martin Schwenke <mart...@samba.org> Autobuild-Date(master): Wed Aug 30 18:55:42 CEST 2017 on sn-devel-144 commit a8bdcf9c65b9f440c6dccc6e0b8a42c886c4c09d Author: Amitay Isaacs <ami...@gmail.com> Date: Mon Aug 7 18:00:04 2017 +1000 ctdb-protocol: Fix marshalling of ctdb_event_reply Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b107397d8bbb767127807ee86ce88d0e14a53f09 Author: Amitay Isaacs <ami...@gmail.com> Date: Mon Aug 7 17:55:50 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 54421df6cdc3318187a298a709ea38d07e2e716d Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:51:40 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_header Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit f8e1aaa321b1c5504feed28c854ba28ca70e206a Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:48:51 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_reply_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit ab88bad3e2a5a55f7f69e9a42c03d3f63123b2f5 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:45:44 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_reply_script_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 4788016cfda7446566063e7299c2d3e175fe5658 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:43:54 2017 +1000 ctdb-protocol: Fix marshaling for ctdb_event_reply_status Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit a0a162a8559b38a0d117511b03f4b69467459b73 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:41:58 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 28414e09dce65e60f25b3ba71fdcb93de920912a Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:36:56 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request_script_disable Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 933a0fa73c02545116d300c16d9f4a5b7edb445c Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:35:20 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request_script_enable Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 98715abef3cf2b4b6e074b00c03874f863b502e5 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:33:45 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request_status Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 67174ebfd9f2016c0a126608192e920b9c74e6f4 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:32:10 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_request_run Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit ebba89ed5b1b2e84d5c2bad981d961a38b976a50 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:30:17 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_status_state Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 672a9857a0865b9e5357b9c37e5a8504b5083178 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:28:43 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event_command Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b880ac825b528b3b23def96e58709107489a9401 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:26:43 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_event Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 9d892aeb49705b2b72b2763b088d8a371387a3ae Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Aug 4 17:34:14 2017 +1000 ctdb-tests: Add test templates for eventd protocol elements Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b9b0c6831531409f7046e0c848ece10748be5c70 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 16 12:49:24 2017 +1000 ctdb-tests: Remove unused #defines Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit f02a1a1149f614309d68e0e878a01d2467d3c8b3 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jun 28 16:50:53 2017 +1000 ctdb-protocol: Add marshalling for ctdb_req_keepalive Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 3f2495a4ebfac9de1e566dbe2263a79d97e229c5 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jul 21 15:21:01 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_message_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 582ebec08e2920a4fbaf4f2f80b82ed5148fd435 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jul 21 15:07:30 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_message Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 504c486b7d4672983de4c56cb2915e6e6550cb20 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jul 21 14:40:01 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_message_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 955426d47ccb41db5a5bb08feca4f9c46fe93cb6 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Aug 3 18:05:41 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_reply_control Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit bf782343a5b756c19a0fd91758997250eb9fb767 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Aug 3 18:00:24 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_control Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit e4fa09fae375be5fb9b6920e121af68e1d8cc702 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Aug 3 16:32:55 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_reply_control_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c88c317a66504ee4ececdd051fa4d006640047d2 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 02:20:03 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_control_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 4c4094cd941f3704bcb36442d50a9101ada77b2d Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 15:08:21 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_reply_dmaster Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit dbe16ce0027acbafc8b26b6d4e65fd46e175bea9 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 14:58:21 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_dmaster Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 5eac71502356a517f7998e365000a2019a8d9a18 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 14:41:45 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_reply_error Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit aad7a3e0be400cfabe0c12f935a4e5707d3ddd77 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 14:36:45 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_reply_call Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit abbf6626a38e1c5ca09796e1cf8b4c43c252a415 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 14:30:47 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_call Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 97184a8d461265f909defae35ffef08753aea9b2 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 19 11:12:08 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_req_header Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b0ce8183ba773dbd38de28a97e699feb4e06aa01 Author: Amitay Isaacs <ami...@gmail.com> Date: Tue Aug 15 15:41:26 2017 +1000 ctdb-tests: Add compatibility test for ctdb protocol elements Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit a8e50c1b7834fd3e579ce39ae948dab48f0a8d2d Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 2 19:13:52 2017 +1000 ctdb-tests: Add test templates for ctdb protocol elements Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 3f5f61b903f950ef46334830406a2bd8dd269300 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 15:27:17 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_g_lock_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 0d5cc74a913a5aad2b71c3d60d2e8d838dfa70d0 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 15:22:08 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_g_lock Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit a0bce370894df7e70205ce634da236b7a16824ee Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 15:15:25 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_server_id Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 4d8359ada01dc5835b976e305e505e463fdebb38 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 15:09:31 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_disable_message Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 95ae006d5cd9591242b739bb18b08dd286cc7132 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 15:01:37 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_srvid_message Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit d8309d9548276ff79b985f71ce686642d7377d6d Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 14:56:50 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_election_message Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 2abf9c1bdb5420780617c0645aabfba740a4e75f Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:00:51 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_db_statistics Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 819b6310cb643a8f679eae5e6ca3b13b29f55164 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 19:05:13 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_key_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 132f201fc145c55f4604a71e5e074847c3e4c44b Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 26 14:43:02 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_statistics_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b03f3b56632393a90c8ff6fc9c5fff7baf551f88 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:52:56 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_public_ip_info Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit a8569128f59958a5511c1dbb05015ca6ed6f70ef Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:45:42 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_iface_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 1790509bcafcbddfb218d3f028872da1a3b2a09e Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:38:19 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_iface Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 091ef60ed28f6cbfb91402e4e12556f57ff20681 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:29:12 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_notify_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 57a4d2e6317ccef6c4d3e7c1a0de81d1ca259ee7 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:24:34 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_ban_state Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 74eaa0361bf8af6781888163824d8636e58fb4b5 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:18:29 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_script_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 21171290bd6698bdc01b61187923625850e7c767 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 17:59:02 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_script Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 85d0825f2106f7e6a01d592df19bec91a95f0ec5 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 14:25:58 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_node_map Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c060d01b3fe44b80125454d2ead8b040e7f3329c Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 14:18:02 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_node_and_flags Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 2a8dd025498d71b1d51ddb2c36c98f26e5abb278 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 14:12:57 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_public_ip_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 9e11de448d8c1dced72d57ccfbb80c9e45aa2269 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 14:04:51 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_public_ip Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit d7c247dd7284097c3aa4a0c6f41551edb43d6e29 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 15:34:51 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_uptime Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit e893b46e5e4147f5eb4df1eaf8537ccc81bfeb6e Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 5 17:51:03 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_transdb Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 4d70b972f2be599bcb9e8f70234b9768ac317a7c Author: Amitay Isaacs <ami...@gmail.com> Date: Tue Jul 4 18:12:04 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_addr_info Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit bac67e1af536ff9e8e71921666f1d2b489cb8c9b Author: Amitay Isaacs <ami...@gmail.com> Date: Tue Jul 4 17:56:12 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_tickle_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 9573260954368d3be2b8a57ecb64c33deeb9c914 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 26 15:30:19 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_tunable_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c78d69b25802cb8aeda240bae97bb7aa76282040 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 01:28:26 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_var_list Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 7f57cc0ec2f74925051b2c50544c030a387d0d29 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:42:53 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_node_flag_change Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 60cb067885fff2410a66649318be1f8723f38668 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:36:18 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_tunable Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 7f34ad2a8270e86103a0ee73cee36852e38d8cc1 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:31:21 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_connection Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 32539cd5cc5aba9ff01573cb9d1dc8e98827802e Author: Amitay Isaacs <ami...@gmail.com> Date: Tue Jul 18 17:12:37 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_sock_addr Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 6f4867664c928a36155cea788b30a0359f285f33 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:24:40 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_traverse_all_ext Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 5caafc285731fe7d78356cc34f183dadda43c775 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:16:58 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_traverse_start_ext Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit bad58078fa917bc3375a86d92e7f8d3c14737744 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 23:56:02 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_traverse_all Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c882182ecdf9c59f955a5020b3dc4908285bc3d2 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 23:48:01 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_traverse_start Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 676df8770bf4dfce8d45277cfe7f9ebf7fb0f7c3 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 23:41:08 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_rec_buffer Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit a57f062118dd1ea20b6037c48eab65c17ae71f59 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Aug 3 17:50:48 2017 +1000 ctdb-protocol: Use ctdb_rec_buffer_traverse to calaculate length of data If the parser function is NULL, ctdb_rec_buffer_traverse will return the amount of data used by ctdb_rec_data structures. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit adab372e56106350fb08f039179f4cebf1e1035e Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 23:27:33 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_rec_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit b75a097da713a33c13f4dfa8d61c3ea3b8e33fd5 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Aug 2 17:35:33 2017 +1000 ctdb-protocol: Drop header argument to ctdb_rec_data_pull_data() Since header is always set to NULL, there is no need to pass header as an argument. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 25217a9bb58c05102655567995a8b32690ef405a Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:39:41 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_ltdb_header Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 04d0b30592385ea70f2f1a6f268bfed5536e59ea Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 19:55:15 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_pulldb_ext Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit ba0b0903eadc4a00f16867cd172b6c2fb15ae736 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 19:50:21 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_pulldb Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit e347e2b4963dcf646ce912b9c7f747eb66be59b2 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 19:33:04 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_dbid_map Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 917c0eca0d8fd6da10076fdfaa92d6af6bab2bba Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 17:53:24 2017 +1000 ctdb-protocol: Add marshalling for ctdb_dbid Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 28734f1bb196919ba58970e742aea1db3c704aa0 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 19:04:56 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_vnn_map Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 1cb6640ff27b41bcb70885acfe68218b5e5c0575 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 26 12:50:12 2017 +1000 ctdb-protocol: Fix marshalling for ctdb_statistics Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 82b7ec031d2a2896065f97c2b1041008903c5e06 Author: Amitay Isaacs <ami...@gmail.com> Date: Mon Aug 14 16:28:16 2017 +1000 ctdb-tests: Add compatibility test for protocol data types This patch prepares for testing old and new marshalling codes for various data types to ensure backward compatibility. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit fc3f6147189c7c4a5fa2c7ee75c9aef18c0e1a73 Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 26 12:49:51 2017 +1000 ctdb-protocol: Add marshalling for ctdb_latency_counter Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit ed4b4a2b55c358bd7f585d4fd26660983ac1ecbc Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 18:41:43 2017 +1000 ctdb-protocol: Add marshalling for tdb_data with size Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 3b86c24183857f87f8a05f6ebd52588a5e556e1a Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 17:15:47 2017 +1000 ctdb-protocol: Fix marshalling for tdb_data Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 280a550e2d02371d4daffac2a281c5db3ce3211d Author: Amitay Isaacs <ami...@gmail.com> Date: Mon Jul 31 16:48:58 2017 +1000 ctdb-protocol: Move tdb_data marshalling code There is no change in the code. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c9b541b0fa3f4feb3097f7ab1d9d9425b6ee0587 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 17:52:25 2017 +1000 ctdb-protocol: Add padding data type to handle structure padding This takes care of alignment sizes, so that it works on both 32-bit and 64-bit architectures. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 0056a9d7eb8be56282549eebadce79b8e5426c89 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 14:48:38 2017 +1000 ctdb-protocol: Add marshalling for struct timeval Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit e0cb2f7b83e6703ecb34cdbb198e8b1a467f7287 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:18:27 2017 +1000 ctdb-protocol: Fix marshalling for pid_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 1d6840982b70cac7dca9c440af7f464f9244a5f6 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Apr 20 12:45:24 2017 +1000 ctdb-protocol: Fix marshalling for a string with length Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 120210670ce720de3f32064aa27da376031ef6cf Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 18:48:51 2017 +1000 ctdb-protocol: Fix marshalling for a string Always return NULL terminated strings. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 4ce3e682a47303e1e1684e29c44ea75d4d37c341 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 6 18:05:04 2017 +1000 ctdb-protocol: Add marshalling for fixed size char array Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c1a2f423172ad464e3147cb0504a51412ca7bc1b Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jun 30 00:11:45 2017 +1000 ctdb-protocol: Add marshalling for bool Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 222b63779fc1bee0ce12fc77118e15b1071885dc Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:16:56 2017 +1000 ctdb-protocol: Fix marshalling for double Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 890b696a6c5b80a12ef6d7b47391c1ba36295309 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:15:43 2017 +1000 ctdb-protocol: Fix marshalling for uint64_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 69a2cb880d09ab6fe0e821cdbd6bb3a5262a0cee Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:14:23 2017 +1000 ctdb-protocol: Fix marshalling for uint32_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 5ee30249b22dc3fd616949426ff3986bb222d169 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:09:26 2017 +1000 ctdb-protocol: Fix marshalling for int32_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 453ff93bb32820ba555f33e4d2c5bb015e4379ae Author: Amitay Isaacs <ami...@gmail.com> Date: Wed Jul 12 18:38:00 2017 +1000 ctdb-protocol: Add marshalling for uint16_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 5a2b2cc14187318860469ce185d28446d7b8f9a4 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jun 29 22:24:20 2017 +1000 ctdb-protocol: Add marshalling for uint8_t Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 62229f4c93934f10bb4d7321d6d2f7edefa907f9 Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 17:38:47 2017 +1000 ctdb-tests: Add test templates for various data types These test templates will use new style of len/push/pull functions. The differences in the new style of marshalling functions are: 1. len/push functions will be passed pointer to a value instead of the value 2. push/pull functions will additionally return the number of bytes consumed Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit c16d2585bc8af01225c3b8903bb261196461f25f Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 27 01:15:34 2017 +1000 ctdb-protocol: Fix marshalling for GET_DB_SEQNUM control In the control request, database id which is a 32-bit integer is sent on wire as a 64-bit integer rather than a 32-bit integer. If we convert the database id to 64-bit integer before sending, the order of 32-bits with database id will vary depending on the endian-ness. Instead send the database id as first 32-bits and zeros as next 32-bits. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 936fc23e3c9d54898565b0093de10077d82ba1f8 Author: Amitay Isaacs <ami...@gmail.com> Date: Fri Jul 14 17:09:57 2017 +1000 ctdb-tests: Reorganize protocol tests This patch splits the protocol tests from: protocol_types_test.c protocol_client_test.c and creates the following files: protocol_common.[ch] - common code for data types protocol_common_ctdb.[ch] - common code for ctdb protocol elements protocol_common_event.[ch] - common code for eventd protocol elements protocol_basic_test.c - basic data types protocol_types_test.c - ctdb data types protocol_ctdb_test.c - ctdb protocol protocol_event_test.c - eventd protocol Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> commit 73748776d988d5d3cbc07fe1691e6c2c632a0f3b Author: Amitay Isaacs <ami...@gmail.com> Date: Thu Jul 13 17:28:42 2017 +1000 ctdb-protocol: Separate marshalling for basic data types This splits protocol_types.c and creates new protocol_basic.c. Signed-off-by: Amitay Isaacs <ami...@gmail.com> Reviewed-by: Martin Schwenke <mar...@meltin.net> ----------------------------------------------------------------------- Summary of changes: ctdb/client/client_connect.c | 3 +- ctdb/client/client_db.c | 37 +- ctdb/client/ctdb_client.c | 6 +- ctdb/protocol/protocol_api.h | 62 +- ctdb/protocol/protocol_basic.c | 402 ++ ctdb/protocol/protocol_call.c | 533 +- ctdb/protocol/protocol_control.c | 852 +-- ctdb/protocol/protocol_debug.c | 27 +- ctdb/protocol/protocol_event.c | 379 +- ctdb/protocol/protocol_header.c | 102 +- ctdb/protocol/protocol_keepalive.c | 95 + ctdb/protocol/protocol_message.c | 260 +- ctdb/protocol/protocol_private.h | 383 +- ctdb/protocol/protocol_types.c | 5971 ++++++++++++++------ ctdb/server/ctdb_recovery_helper.c | 6 +- ctdb/tests/cunit/protocol_test_001.sh | 2 +- ctdb/tests/cunit/protocol_test_002.sh | 51 +- .../{protocol_test_001.sh => protocol_test_012.sh} | 2 +- ctdb/tests/cunit/protocol_test_101.sh | 64 + ctdb/tests/cunit/protocol_test_102.sh | 26 + ctdb/tests/cunit/protocol_test_111.sh | 9 + .../{protocol_test_003.sh => protocol_test_201.sh} | 0 ctdb/tests/src/fake_ctdbd.c | 12 +- ctdb/tests/src/protocol_basic_test.c | 108 + ctdb/tests/src/protocol_common.c | 1385 +++++ ctdb/tests/src/protocol_common.h | 353 ++ ...otocol_client_test.c => protocol_common_ctdb.c} | 1001 +--- ctdb/tests/src/protocol_common_ctdb.h | 97 + ctdb/tests/src/protocol_common_event.c | 298 + ctdb/tests/src/protocol_common_event.h | 90 + ctdb/tests/src/protocol_ctdb_compat_test.c | 1183 ++++ ctdb/tests/src/protocol_ctdb_test.c | 369 ++ ctdb/tests/src/protocol_event_test.c | 176 + ctdb/tests/src/protocol_types_compat_test.c | 2369 ++++++++ ctdb/tests/src/protocol_types_test.c | 1328 +---- ctdb/tests/src/protocol_util_test.c | 6 +- ctdb/tools/ctdb.c | 8 +- ctdb/wscript | 38 +- 38 files changed, 13175 insertions(+), 4918 deletions(-) create mode 100644 ctdb/protocol/protocol_basic.c create mode 100644 ctdb/protocol/protocol_keepalive.c copy ctdb/tests/cunit/{protocol_test_001.sh => protocol_test_012.sh} (66%) create mode 100755 ctdb/tests/cunit/protocol_test_101.sh create mode 100755 ctdb/tests/cunit/protocol_test_102.sh create mode 100755 ctdb/tests/cunit/protocol_test_111.sh rename ctdb/tests/cunit/{protocol_test_003.sh => protocol_test_201.sh} (100%) create mode 100644 ctdb/tests/src/protocol_basic_test.c create mode 100644 ctdb/tests/src/protocol_common.c create mode 100644 ctdb/tests/src/protocol_common.h rename ctdb/tests/src/{protocol_client_test.c => protocol_common_ctdb.c} (62%) create mode 100644 ctdb/tests/src/protocol_common_ctdb.h create mode 100644 ctdb/tests/src/protocol_common_event.c create mode 100644 ctdb/tests/src/protocol_common_event.h create mode 100644 ctdb/tests/src/protocol_ctdb_compat_test.c create mode 100644 ctdb/tests/src/protocol_ctdb_test.c create mode 100644 ctdb/tests/src/protocol_event_test.c create mode 100644 ctdb/tests/src/protocol_types_compat_test.c Changeset truncated at 500 lines: diff --git a/ctdb/client/client_connect.c b/ctdb/client/client_connect.c index 34259dd..6fd2c87 100644 --- a/ctdb/client/client_connect.c +++ b/ctdb/client/client_connect.c @@ -165,9 +165,10 @@ static void client_read_handler(uint8_t *buf, size_t buflen, struct ctdb_client_context *client = talloc_get_type_abort( private_data, struct ctdb_client_context); struct ctdb_req_header hdr; + size_t np; int ret; - ret = ctdb_req_header_pull(buf, buflen, &hdr); + ret = ctdb_req_header_pull(buf, buflen, &hdr, &np); if (ret != 0) { DEBUG(DEBUG_WARNING, ("invalid header, ret=%d\n", ret)); return; diff --git a/ctdb/client/client_db.c b/ctdb/client/client_db.c index 05645f5..e3eaf7d 100644 --- a/ctdb/client/client_db.c +++ b/ctdb/client/client_db.c @@ -984,9 +984,10 @@ static void ctdb_db_traverse_handler(uint64_t srvid, TDB_DATA data, req, struct ctdb_db_traverse_state); struct ctdb_rec_data *rec; struct ctdb_ltdb_header header; + size_t np; int ret; - ret = ctdb_rec_data_pull(data.dptr, data.dsize, state, &rec); + ret = ctdb_rec_data_pull(data.dptr, data.dsize, state, &rec, &np); if (ret != 0) { return; } @@ -1101,6 +1102,7 @@ int ctdb_ltdb_fetch(struct ctdb_db_context *db, TDB_DATA key, TALLOC_CTX *mem_ctx, TDB_DATA *data) { TDB_DATA rec; + size_t np; int ret; rec = tdb_fetch(db->ltdb->tdb, key); @@ -1124,17 +1126,15 @@ int ctdb_ltdb_fetch(struct ctdb_db_context *db, TDB_DATA key, return 0; } - ret = ctdb_ltdb_header_pull(rec.dptr, rec.dsize, header); + ret = ctdb_ltdb_header_pull(rec.dptr, rec.dsize, header, &np); if (ret != 0) { return ret; } ret = 0; if (data != NULL) { - size_t offset = ctdb_ltdb_header_len(header); - - data->dsize = rec.dsize - offset; - data->dptr = talloc_memdup(mem_ctx, rec.dptr + offset, + data->dsize = rec.dsize - np; + data->dptr = talloc_memdup(mem_ctx, rec.dptr + np, data->dsize); if (data->dptr == NULL) { ret = ENOMEM; @@ -1230,6 +1230,7 @@ static int ctdb_fetch_lock_check(struct tevent_req *req) struct ctdb_record_handle *h = state->h; struct ctdb_ltdb_header header; TDB_DATA data = tdb_null; + size_t np; int ret, err = 0; bool do_migrate = false; @@ -1253,7 +1254,7 @@ static int ctdb_fetch_lock_check(struct tevent_req *req) } /* Got the record */ - ret = ctdb_ltdb_header_pull(data.dptr, data.dsize, &header); + ret = ctdb_ltdb_header_pull(data.dptr, data.dsize, &header, &np); if (ret != 0) { err = ret; goto failed; @@ -1457,6 +1458,7 @@ int ctdb_store_record(struct ctdb_record_handle *h, TDB_DATA data) { uint8_t header[sizeof(struct ctdb_ltdb_header)]; TDB_DATA rec[2]; + size_t np; int ret; /* Cannot modify the record if it was obtained as a readonly copy */ @@ -1471,9 +1473,9 @@ int ctdb_store_record(struct ctdb_record_handle *h, TDB_DATA data) return 0; } - ctdb_ltdb_header_push(&h->header, header); + ctdb_ltdb_header_push(&h->header, header, &np); - rec[0].dsize = ctdb_ltdb_header_len(&h->header); + rec[0].dsize = np; rec[0].dptr = header; rec[1].dsize = data.dsize; @@ -1506,6 +1508,7 @@ struct tevent_req *ctdb_delete_record_send(TALLOC_CTX *mem_ctx, struct ctdb_req_control request; uint8_t header[sizeof(struct ctdb_ltdb_header)]; TDB_DATA rec; + size_t np; int ret; req = tevent_req_create(mem_ctx, &state, @@ -1524,9 +1527,9 @@ struct tevent_req *ctdb_delete_record_send(TALLOC_CTX *mem_ctx, return tevent_req_post(req, ev); } - ctdb_ltdb_header_push(&h->header, header); + ctdb_ltdb_header_push(&h->header, header, &np); - rec.dsize = ctdb_ltdb_header_len(&h->header); + rec.dsize = np; rec.dptr = header; ret = tdb_store(h->db->ltdb->tdb, h->key, rec, TDB_REPLACE); @@ -1696,6 +1699,7 @@ static void ctdb_g_lock_lock_fetched(struct tevent_req *subreq) struct ctdb_g_lock_lock_state *state = tevent_req_data( req, struct ctdb_g_lock_lock_state); TDB_DATA data; + size_t np; int ret = 0; state->h = ctdb_fetch_lock_recv(subreq, NULL, state, &data, &ret); @@ -1713,7 +1717,7 @@ static void ctdb_g_lock_lock_fetched(struct tevent_req *subreq) } ret = ctdb_g_lock_list_pull(data.dptr, data.dsize, state, - &state->lock_list); + &state->lock_list, &np); talloc_free(data.dptr); if (ret != 0) { DEBUG(DEBUG_ERR, ("g_lock_lock: %s invalid lock data\n", @@ -1852,6 +1856,7 @@ static int ctdb_g_lock_lock_update(struct tevent_req *req) struct ctdb_g_lock_lock_state *state = tevent_req_data( req, struct ctdb_g_lock_lock_state); TDB_DATA data; + size_t np; int ret; data.dsize = ctdb_g_lock_list_len(state->lock_list); @@ -1860,7 +1865,7 @@ static int ctdb_g_lock_lock_update(struct tevent_req *req) return ENOMEM; } - ctdb_g_lock_list_push(state->lock_list, data.dptr); + ctdb_g_lock_list_push(state->lock_list, data.dptr, &np); ret = ctdb_store_record(state->h, data); talloc_free(data.dptr); return ret; @@ -1961,6 +1966,7 @@ static void ctdb_g_lock_unlock_fetched(struct tevent_req *subreq) struct ctdb_g_lock_unlock_state *state = tevent_req_data( req, struct ctdb_g_lock_unlock_state); TDB_DATA data; + size_t np; int ret = 0; state->h = ctdb_fetch_lock_recv(subreq, NULL, state, &data, &ret); @@ -1973,7 +1979,7 @@ static void ctdb_g_lock_unlock_fetched(struct tevent_req *subreq) } ret = ctdb_g_lock_list_pull(data.dptr, data.dsize, state, - &state->lock_list); + &state->lock_list, &np); if (ret != 0) { DEBUG(DEBUG_ERR, ("g_lock_unlock: %s invalid lock data\n", (char *)state->key.dptr)); @@ -2024,6 +2030,7 @@ static int ctdb_g_lock_unlock_update(struct tevent_req *req) if (state->lock_list->num != 0) { TDB_DATA data; + size_t np; data.dsize = ctdb_g_lock_list_len(state->lock_list); data.dptr = talloc_size(state, data.dsize); @@ -2031,7 +2038,7 @@ static int ctdb_g_lock_unlock_update(struct tevent_req *req) return ENOMEM; } - ctdb_g_lock_list_push(state->lock_list, data.dptr); + ctdb_g_lock_list_push(state->lock_list, data.dptr, &np); ret = ctdb_store_record(state->h, data); talloc_free(data.dptr); if (ret != 0) { diff --git a/ctdb/client/ctdb_client.c b/ctdb/client/ctdb_client.c index 25b9654..2cff09e 100644 --- a/ctdb/client/ctdb_client.c +++ b/ctdb/client/ctdb_client.c @@ -1882,9 +1882,11 @@ int ctdb_ctrl_getdbseqnum(struct ctdb_context *ctdb, struct timeval timeout, int ret; int32_t res; TDB_DATA data, outdata; + uint8_t buf[sizeof(uint64_t)] = { 0 }; - data.dptr = (uint8_t *)&dbid; - data.dsize = sizeof(uint64_t); /* This is just wrong */ + *(uint32_t *)buf = dbid; + data.dptr = buf; + data.dsize = sizeof(uint64_t); ret = ctdb_control(ctdb, destnode, 0, CTDB_CONTROL_GET_DB_SEQNUM, 0, data, ctdb, &outdata, &res, &timeout, NULL); diff --git a/ctdb/protocol/protocol_api.h b/ctdb/protocol/protocol_api.h index 75ded4f..522b009 100644 --- a/ctdb/protocol/protocol_api.h +++ b/ctdb/protocol/protocol_api.h @@ -26,22 +26,24 @@ /* From protocol/protocol_types.c */ -size_t ctdb_ltdb_header_len(struct ctdb_ltdb_header *header); -void ctdb_ltdb_header_push(struct ctdb_ltdb_header *header, uint8_t *buf); +size_t ctdb_ltdb_header_len(struct ctdb_ltdb_header *in); +void ctdb_ltdb_header_push(struct ctdb_ltdb_header *in, uint8_t *buf, + size_t *npush); int ctdb_ltdb_header_pull(uint8_t *buf, size_t buflen, - struct ctdb_ltdb_header *header); + struct ctdb_ltdb_header *out, size_t *npull); int ctdb_ltdb_header_extract(TDB_DATA *data, struct ctdb_ltdb_header *header); -size_t ctdb_rec_data_len(struct ctdb_rec_data *rec); -void ctdb_rec_data_push(struct ctdb_rec_data *rec, uint8_t *buf); +size_t ctdb_rec_data_len(struct ctdb_rec_data *in); +void ctdb_rec_data_push(struct ctdb_rec_data *in, uint8_t *buf, size_t *npush); int ctdb_rec_data_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, - struct ctdb_rec_data **out); + struct ctdb_rec_data **out, size_t *npull); -size_t ctdb_rec_buffer_len(struct ctdb_rec_buffer *recbuf); -void ctdb_rec_buffer_push(struct ctdb_rec_buffer *recbuf, uint8_t *buf); +size_t ctdb_rec_buffer_len(struct ctdb_rec_buffer *in); +void ctdb_rec_buffer_push(struct ctdb_rec_buffer *in, uint8_t *buf, + size_t *npush); int ctdb_rec_buffer_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, - struct ctdb_rec_buffer **out); + struct ctdb_rec_buffer **out, size_t *npull); struct ctdb_rec_buffer *ctdb_rec_buffer_init(TALLOC_CTX *mem_ctx, uint32_t db_id); @@ -56,19 +58,22 @@ int ctdb_rec_buffer_write(struct ctdb_rec_buffer *recbuf, int fd); int ctdb_rec_buffer_read(int fd, TALLOC_CTX *mem_ctx, struct ctdb_rec_buffer **out); -size_t ctdb_server_id_len(struct ctdb_server_id *sid); -void ctdb_server_id_push(struct ctdb_server_id *sid, uint8_t *buf); +size_t ctdb_server_id_len(struct ctdb_server_id *in); +void ctdb_server_id_push(struct ctdb_server_id *in, uint8_t *buf, + size_t *npush); int ctdb_server_id_pull(uint8_t *buf, size_t buflen, - struct ctdb_server_id *sid); + struct ctdb_server_id *out, size_t *npull); -size_t ctdb_g_lock_len(struct ctdb_g_lock *lock); -void ctdb_g_lock_push(struct ctdb_g_lock *lock, uint8_t *buf); -int ctdb_g_lock_pull(uint8_t *buf, size_t buflen, struct ctdb_g_lock *lock); +size_t ctdb_g_lock_len(struct ctdb_g_lock *in); +void ctdb_g_lock_push(struct ctdb_g_lock *in, uint8_t *buf, size_t *npush); +int ctdb_g_lock_pull(uint8_t *buf, size_t buflen, struct ctdb_g_lock *out, + size_t *npull); -size_t ctdb_g_lock_list_len(struct ctdb_g_lock_list *lock_list); -void ctdb_g_lock_list_push(struct ctdb_g_lock_list *lock_list, uint8_t *buf); +size_t ctdb_g_lock_list_len(struct ctdb_g_lock_list *in); +void ctdb_g_lock_list_push(struct ctdb_g_lock_list *in, uint8_t *buf, + size_t *npush); int ctdb_g_lock_list_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, - struct ctdb_g_lock_list **out); + struct ctdb_g_lock_list **out, size_t *npull); /* From protocol/protocol_header.c */ @@ -76,10 +81,11 @@ void ctdb_req_header_fill(struct ctdb_req_header *h, uint32_t generation, uint32_t operation, uint32_t destnode, uint32_t srcnode, uint32_t reqid); -size_t ctdb_req_header_len(struct ctdb_req_header *h); -void ctdb_req_header_push(struct ctdb_req_header *h, uint8_t *buf); +size_t ctdb_req_header_len(struct ctdb_req_header *in); +void ctdb_req_header_push(struct ctdb_req_header *in, uint8_t *buf, + size_t *npush); int ctdb_req_header_pull(uint8_t *buf, size_t buflen, - struct ctdb_req_header *h); + struct ctdb_req_header *out, size_t *npull); int ctdb_req_header_verify(struct ctdb_req_header *h, uint32_t operation); @@ -630,6 +636,20 @@ int ctdb_req_message_data_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx, struct ctdb_req_message_data *c); +/* From protocol/protocol_keepalive.c */ + +size_t ctdb_req_keepalive_len(struct ctdb_req_header *h, + struct ctdb_req_keepalive *c); + +int ctdb_req_keepalive_push(struct ctdb_req_header *h, + struct ctdb_req_keepalive *c, + uint8_t *buf, size_t *buflen); + +int ctdb_req_keepalive_pull(uint8_t *buf, size_t buflen, + struct ctdb_req_header *h, + TALLOC_CTX *mem_ctx, + struct ctdb_req_keepalive *c); + /* From protocol/protocol_event.c */ void ctdb_event_header_fill(struct ctdb_event_header *h, uint32_t reqid); diff --git a/ctdb/protocol/protocol_basic.c b/ctdb/protocol/protocol_basic.c new file mode 100644 index 0000000..4e86ef3 --- /dev/null +++ b/ctdb/protocol/protocol_basic.c @@ -0,0 +1,402 @@ +/* + CTDB protocol marshalling + + Copyright (C) Amitay Isaacs 2015-2017 + + 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 "replace.h" +#include "system/network.h" + +#include <talloc.h> +#include <tdb.h> + +#include "protocol.h" +#include "protocol_private.h" + +/* + * Basic data types + */ + +size_t ctdb_uint8_len(uint8_t *in) +{ + return sizeof(uint8_t); +} + +void ctdb_uint8_push(uint8_t *in, uint8_t *buf, size_t *npush) +{ + *buf = *in; + *npush = sizeof(uint8_t); +} + +int ctdb_uint8_pull(uint8_t *buf, size_t buflen, uint8_t *out, size_t *npull) +{ + if (buflen < sizeof(uint8_t)) { + return EMSGSIZE; + } + + *out = *buf; + *npull = sizeof(uint8_t); + return 0; +} + +size_t ctdb_uint16_len(uint16_t *in) +{ + return sizeof(uint16_t); +} + +void ctdb_uint16_push(uint16_t *in, uint8_t *buf, size_t *npush) +{ + memcpy(buf, in, sizeof(uint16_t)); + *npush = sizeof(uint16_t); +} + +int ctdb_uint16_pull(uint8_t *buf, size_t buflen, uint16_t *out, size_t *npull) +{ + if (buflen < sizeof(uint16_t)) { + return EMSGSIZE; + } + + memcpy(out, buf, sizeof(uint16_t)); + *npull = sizeof(uint16_t); + return 0; +} + +size_t ctdb_int32_len(int32_t *in) +{ + return sizeof(int32_t); +} + +void ctdb_int32_push(int32_t *in, uint8_t *buf, size_t *npush) +{ + memcpy(buf, in, sizeof(int32_t)); + *npush = sizeof(int32_t); +} + +int ctdb_int32_pull(uint8_t *buf, size_t buflen, int32_t *out, size_t *npull) +{ + if (buflen < sizeof(int32_t)) { + return EMSGSIZE; + } + + memcpy(out, buf, sizeof(int32_t)); + *npull = sizeof(int32_t); + return 0; +} + +size_t ctdb_uint32_len(uint32_t *in) +{ + return sizeof(uint32_t); +} + +void ctdb_uint32_push(uint32_t *in, uint8_t *buf, size_t *npush) +{ + memcpy(buf, in, sizeof(uint32_t)); + *npush = sizeof(uint32_t); +} + +int ctdb_uint32_pull(uint8_t *buf, size_t buflen, uint32_t *out, size_t *npull) +{ + if (buflen < sizeof(uint32_t)) { + return EMSGSIZE; + } + + memcpy(out, buf, sizeof(uint32_t)); + *npull = sizeof(uint32_t); + return 0; +} + +size_t ctdb_uint64_len(uint64_t *in) +{ + return sizeof(uint64_t); +} + +void ctdb_uint64_push(uint64_t *in, uint8_t *buf, size_t *npush) +{ + memcpy(buf, in, sizeof(uint64_t)); + *npush = sizeof(uint64_t); +} + +int ctdb_uint64_pull(uint8_t *buf, size_t buflen, uint64_t *out, size_t *npull) +{ + if (buflen < sizeof(uint64_t)) { + return EMSGSIZE; + } + + memcpy(out, buf, sizeof(uint64_t)); + *npull = sizeof(uint64_t); + return 0; +} + +size_t ctdb_double_len(double *in) +{ + return sizeof(double); +} + +void ctdb_double_push(double *in, uint8_t *buf, size_t *npush) +{ + memcpy(buf, in, sizeof(double)); + *npush = sizeof(double); +} + +int ctdb_double_pull(uint8_t *buf, size_t buflen, double *out, size_t *npull) +{ + if (buflen < sizeof(double)) { + return EMSGSIZE; + } + + memcpy(out, buf, sizeof(double)); + *npull = sizeof(double); + return 0; +} + +size_t ctdb_bool_len(bool *in) +{ + uint8_t u8 = *in; + + return ctdb_uint8_len(&u8); +} + +void ctdb_bool_push(bool *in, uint8_t *buf, size_t *npush) +{ + size_t np; + uint8_t u8 = *in; + + ctdb_uint8_push(&u8, buf, &np); + *npush = np; +} + +int ctdb_bool_pull(uint8_t *buf, size_t buflen, bool *out, size_t *npull) +{ + size_t np; + uint8_t u8; -- Samba Shared Repository