summaryrefslogtreecommitdiff
path: root/ctdb
Commit message (Collapse)AuthorAgeFilesLines
* ctdb-protocol: Allow rfc5952 "[2001:db8::1]:80" ipv6 notationVolker Lendecke2022-01-171-0/+13
| | | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=14934 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> (cherry picked from commit 224e99804efef960ef4ce2ff2f4f6dced1e74146)
* ctdb-tests: add a comment to the generated public_addresses file used by ↵Ralph Boehme2021-10-181-0/+1
| | | | | | | | | | | | | | eventscript UNIT tests test stub code has been updated to handle this, so now let's put it to work. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14826 RN: Correctly ignore comments in CTDB public addresses file Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> (cherry picked from commit 4e3676cb3c4d24cd4c287703d2cd812a2a8c36ff)
* ctdb-tests: Fix typo in ctdb stub comment matchingMartin Schwenke2021-10-181-1/+1
| | | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14826 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Ralph Boehme <slow@samba.org> (cherry picked from commit 5426c104f5090751c1ea02f0c0667d8d071a4a83)
* ctdb-scripts: filter out comments in public_addresses fileRalph Boehme2021-10-182-1/+5
| | | | | | | | | | | | | | | | | Note that order of sed expressions matters: the expression to delete comment lines must come first as the second expression would transform # comment to comment BUG: https://bugzilla.samba.org/show_bug.cgi?id=14826 Signed-off-by: Ralph Boehme <slow@samba.org> Reviewed-by: Martin Schwenke <martin@meltin.net> (cherry picked from commit 530e8d4b9e47601b88e20bcaefa2d502efcebe60)
* ctdb-daemon: Don't mark a node as unhealthy when connecting to itMartin Schwenke2021-09-131-1/+0
| | | | | | | | | | | | | | | | | | | | Remote nodes are already initialised as UNHEALTHY when the node list is initialised at startup (ctdb_load_nodes_file() calls convert_node_map_to_list()) and when disconnected (ctdb_node_dead()). So, drop this code. RN: Fix CTDB flag/status update race conditions BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 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): Thu Sep 9 02:38:34 UTC 2021 on sn-devel-184 (cherry picked from commit 9e7d2d9794af7251c42cb22f23ee9f86c6ea05c1) Autobuild-User(v4-15-test): Jule Anger <janger@samba.org> Autobuild-Date(v4-15-test): Mon Sep 13 12:33:53 UTC 2021 on sn-devel-184
* ctdb-daemon: Ignore flag changes for disconnected nodesMartin Schwenke2021-09-131-0/+5
| | | | | | | | | | | If this node is not connected to a node then we shouldn't know anything about it. The state will be pushed later by the recovery master. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Signed-off-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 7f697b1938efb3972f03f25546bf807d5af9a26c)
* ctdb-daemon: Simplify ctdb_control_modflags()Martin Schwenke2021-09-131-23/+24
| | | | | | | | | | | | Now that there are separate disable/enable controls used by the ctdb tool this control can ignore any flag updates for the current nodes. These only come from the recovery master, which depends on being able to fetch flags for all nodes. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit ae10a8a4b70e53ea3be6257d1f86f2d9a56aa62a)
* ctdb-recoverd: Mark CTDB_SRVID_SET_NODE_FLAGS obsoleteMartin Schwenke2021-09-132-47/+16
| | | | | | | | | | | CTDB_SRVID_SET_NODE_FLAGS is no longer sent so drop monitor_handler() and replace with srvid_not_implemented(). Mark the SRVID obsolete in its comment. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 916c5ee131dc5c7f1d9c3540147d1f915c8302ad)
* ctdb-daemon: Don't bother sending CTDB_SRVID_SET_NODE_FLAGSMartin Schwenke2021-09-131-5/+0
| | | | | | | | | | | | | | | | | The code that handles this message is ctdb_recoverd.c:monitor_handler(). Although it appears to do something potentially useful, it only logs the flags changes. All changes made are to local structures - there are no actual side-effects. It used to trigger a takeover run when the DISABLED flag changed. This was dropped back in commit 662f06de9fdce7b1bc1772a4fbe43de271564917. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit e75256767fffc6a7ac0b97e58737a39c63c8b187)
* ctdb-daemon: Modernise remaining debug macro in this functionMartin Schwenke2021-09-131-2/+2
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 0132bd5a2233193256af434a37506f86ed62c075)
* ctdb-daemon: Update logging for flag changesMartin Schwenke2021-09-131-2/+4
| | | | | | | | | | | | | | | | When flags change, promote the message to NOTICE level and switch the message to the style that is currently generated by ctdb-recoverd.c:monitor_handler(). This will allow monitor_handler() to go away in future. Drop logging when flags do not change. The recovery master now logs when it pushes flags for a node, so the lack of a corresponding "changed flags" message here indicates that no update was required. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit b6d25d079e30919457cacbfbbfd670bf88295a9c)
* ctdb-daemon: Correct the condition for logging unchanged flagsMartin Schwenke2021-09-131-1/+1
| | | | | | | | | | | | Don't trust the old flags from the recovery master. Surrounding code will change in future comments, including the use of old-style debug macros, so just make this change clear. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit eec44e286250a6ee7b5c42d85d632bdc300a409f)
* ctdb-tools: Use disable and enable controls in toolMartin Schwenke2021-09-131-45/+12
| | | | | | | | | | | | | Note that there a change from broadcast to a directed control here. This is OK because the recovery master will push flags if any nodes disagree with the canonical flags fetched from a node. Static function ctdb_ctrl_modflags() is no longer used to drop it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 5914054698dab934fd4db5efb9d211b2fdc40bb9)
* ctdb-client: Add client code for disable/enable controlsMartin Schwenke2021-09-132-0/+80
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 6fe6a54e7f32e650be6ab36041159081dbde5165)
* ctdb_daemon: Implement controls DISABLE_NODE/ENABLE_NODEMartin Schwenke2021-09-132-0/+96
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 15a6489c288b3adb635a728cb2049621ab1a07f7)
* ctdb-daemon: Start as disabled means PERMANENTLY_DISABLEDMartin Schwenke2021-09-131-1/+1
| | | | | | | | | | | DISABLED is UNHEALTHY | PERMANENTLY_DISABLED, which is not what is intended here. Luckily, it doesn't do any harm because nodes are marked unhealthy at startup anyway. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 60c1ef146538d90f97b7823459f7548ca5fa6dd3)
* ctdb-daemon: Factor out a function to get node structure from PNNMartin Schwenke2021-09-132-3/+26
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 1ac7bc7532b2fad791d0e53effa7c64cdc73c4eb)
* ctdb-daemon: Add a helper variableMartin Schwenke2021-09-131-4/+6
| | | | | | | | | Simplifies a subsequent change. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit e0a7b5a9e866452b1faaed86a105492fe7b237e2)
* ctdb-protocol: Add marshalling for controls DISABLE_NODE/ENABLE_NODEMartin Schwenke2021-09-137-2/+82
| | | | | | | BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 6845dca87e6ffc5e449fb78d23eb9c7a22698b80)
* ctdb-protocol: Add new controls to disable and enable nodesMartin Schwenke2021-09-131-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are CTDB_CONTROL_DISABLE_NODE and CTDB_CONTROL_ENABLE_NODE. For consistency these match CTDB_CONTROL_STOP_NODE and CTDB_CONTROL_CONTINUE_NODE. It would be possible to add a single control but it would need to take data. The aim is to finally fix races in flag handling. Previous fixes have improved the situation but they have only narrowed the race window. The problem is that the recovery daemon on the master node pushes flags to nodes the same way that disable and enable are implemented. So the following sequence is still racy: 1. Node A is disabled 2. Recovery master pulls flags from all nodes including A 3. Node A is enabled 4. Recovery master notices A is disabled and pushes a flag update to all nodes including node A 5. Node A is erroneously marked disabled Node A can not tell if the MODIFY_FLAGS control is from a "ctdb disable" command or a flag update from the recovery master. The solution is to use a different mechanism for disable/enable and for a node to ignore MODIFY_FLAGS controls for their own flags. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 49dc5d8cd2d3767044ac69cbd25c8210d11cadf7)
* ctdb-recoverd: Push flags for a node if any remote node disagreesMartin Schwenke2021-09-131-1/+28
| | | | | | | | | | | | This will usually happen if flags on the node in question change, so keeping the code simple and pushing to all nodes won't hurt. When all nodes come up there might be differences in connected nodes, causing such "fix ups". Receiving nodes will ignore no-op pushes. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 8305f6a7f132f03b0bbdb26692b7491fd3f6c24f)
* ctdb-recoverd: Update the local node map before pushing out flagsMartin Schwenke2021-09-131-10/+15
| | | | | | | | | | | The resulting code structure looks a little weird. However, there is another condition that requires the flags to be pushed that will be inserted before the continue statement in a subsequent commit.. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 620d07871420cdbfa055c1ace75ec1ac4c32721d)
* ctdb-recoverd: Add a helper variableMartin Schwenke2021-09-131-3/+4
| | | | | | | | | Improves readability and simplifies subsequent changes. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14784 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com> (cherry picked from commit 82a075d4d734588a42fca7ebaf529892d1eba853)
* ctdb-scripts: Ignore ShellCheck SC3013 for test -ntMartin Schwenke2021-06-251-1/+1
| | | | | | | | | | | In ShellCheck 0.7.2, POSIX compatibility warnings got their own SC3xxx error codes, so now both the old and new codes need to be ignored. 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): Fri Jun 25 10:06:48 UTC 2021 on sn-devel-184
* ctdb-tests: Force stub version of service in eventscript testsMartin Schwenke2021-06-251-13/+3
| | | | | | | | | | | | | | Fedora 34 now has a shell function for the which command, which causes these uses of which to return the enclosing function definition rather than the executable file as expected. The event script unit tests always expect the stub service command to be used, so the conditional in these functions is unnecessary. $CTDB_HELPER_BINDIR already conveniently points to the stub directory, so use it here. Signed-off-by: Martin Schwenke <martin@meltin.net> Signed-off-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-common: Drop unused include of mkdir_p.hMartin Schwenke2021-06-251-2/+0
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-daemon: Close server socket when switching to clientMartin Schwenke2021-06-251-0/+5
| | | | | | | | | | | | | | | The socket is set close-on-exec but that doesn't help for processes that do not exec(). This should be done for all child processes. This has been seen in testing where "ctdb shutdown" waits for the socket to close before succeeding. It appears that lingering vacuuming processes have not closed the socket when becoming clients so they cause "ctdb shutdown" to hang even though the main daemon process has exited. The cause of the lingering vacuuming processes has been previously examined but still isn't understood. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Add debug_locks.sh tests for mutexesMartin Schwenke2021-05-2810-14/+133
| | | | | | | | 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): Fri May 28 07:34:23 UTC 2021 on sn-devel-184
* ctdb-scripts: Add lock debugging for tdb mutex locksAmitay Isaacs2021-05-281-5/+65
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Signed-off-by: Martin Schwenke <martin@meltin.net>
* ctdb-utils: Add tdb_mutex_check utilityAmitay Isaacs2021-05-283-0/+166
| | | | | Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-scripts: Simplify logic in debug_via_proc_locks()Martin Schwenke2021-05-283-40/+89
| | | | | | | | | The path of the TDB is known, so calculate the file ID (device number + inode number) from it and use this to directly filter /proc/locks to find processes holding locks. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-scripts: Update debug_locks.sh to handle argumentsMartin Schwenke2021-05-282-4/+22
| | | | | | | | Don't use the arguments yet. They will be used in a simplified version of the code. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-scripts: Move current lock debugging to a functionMartin Schwenke2021-05-281-7/+16
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-locking: Pass additional arguments to debug locks scriptAmitay Isaacs2021-05-281-5/+56
| | | | | | | | | | 1. PID of lock helper waiting for lock 2. Scope of lock: "record" or "db" 3. Path to database that lock helper is trying to lock 4. Whether the database uses mutexes: "mutex" or "fcntl" Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
* ctdb-tests: Add debug_locks.sh testingMartin Schwenke2021-05-2814-1/+405
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-tests: Fix nonsense arguments to ps stubMartin Schwenke2021-05-283-4/+4
| | | | | | | | | These were fine (though still lazy) when these tests were the only user of this stub. However, the ps stub is about to be enhanced, so fix these uses of it to represent the intended usage. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-scripts: Avoid direct /proc accessMartin Schwenke2021-05-281-7/+6
| | | | | | | | | | | | | | The main reason for this is to facilitate testing. Avoid some /proc accesses entirely by using ps(1) (which can be replaced by a stub when testing) because this script might as well be more portable in case anyone wants to add lock debugging for a non-Linux platform. While the "state" format specification isn't POSIX-compliant, it works on both Linux and FreeBSD so it is a reasonable improvement. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb-scripts: Factor out function dump_stacks()Martin Schwenke2021-05-281-26/+40
| | | | | Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
* ctdb: Fix a crash in run_proc_signal_handler()Volker Lendecke2021-05-182-4/+4
| | | | | | | | | | | | | | | | | | | | | If a script times out the caller can talloc_free() the script_list output of run_event_recv, which talloc_free's proc->output from run_proc.c as well. If the script generates further output after the timeout and then exits after a while, the SIGCHLD handler in the eventd tries to read into proc->output, which was already free'ed. Fix this by not doing just a talloc_steal but a talloc_move. This way proc_read_handler() called from run_proc_signal_handler() does not try to realloc the stale reference to proc->output but gets a NULL reference. I don't really know how to do a knownfail in ctdb, so this commit actually activates catching the signal by waiting long enough for 22.bar to exit and generate the SIGCHLD. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* ctdb: Introduce output before and after the 10-second timeoutVolker Lendecke2021-05-181-0/+3
| | | | | | | | This will lead to a crash in run_event_test.c soon Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* ctdb: Wait for SIGCHLD if script timed outVolker Lendecke2021-05-181-0/+22
| | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* ctdb: Introduce a helper variable in run_event_test.cVolker Lendecke2021-05-181-2/+2
| | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* ctdb: Call run_event_recv() in a callback functionVolker Lendecke2021-05-181-8/+16
| | | | | | | | | Triggers a different code path in run_event_* and aligns it more what the ctdb eventd really does. Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* ctdb: fix typosVolker Lendecke2021-05-181-2/+2
| | | | | | Bug: https://bugzilla.samba.org/show_bug.cgi?id=14475 Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org>
* lib: Make pidfile_path_create() return the existing PID on conflictVolker Lendecke2021-03-161-1/+1
| | | | | | | | | | Use F_GETLK to get the lock holder PID, this is more accurate than reading the file contents: A conflicting process might not have written its PID yet. Also, F_GETLK easily allows to do a retry if the lock holder just died. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* ctdb: Fix a typoVolker Lendecke2021-03-091-1/+1
| | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* ctdb-tests: Actually wait for record to migrate to lmaster nodeMartin Schwenke2021-02-082-6/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This test has been failing with: Wait until record is migrated to lmaster node 0 <30|BAD: node 0 is not dmaster dmaster: 1 rsn: 8 flags: 0x00010000 MIGRATED_WITH_DATA data(6) = "value1" *** TEST COMPLETED (RC=1) AT 2021-02-02 06:18:48, CLEANING UP... This should never happen. If this really fails then the wait should time out. The problem is that wait_until() does: "$@" || _rc=$? and vacuum_test_key_dmaster() currently calls ctdb_test_fail() on failure, which causes the shell to exit. Instead, pass a variant to wait_until() that simply returns the correct status instead of exiting. An alternative would be to change the statement in wait_until() to do: ("$@") || _rc=$? so it captures the exit. However, this is a global change and requires more thought. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib: Make accept_recv() return the listening socketVolker Lendecke2021-01-223-3/+3
| | | | | | | | This is helpful if you are in a listening loop with the same receiver for many sockets doing the same thing. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* lib: Make accept_recv() return struct samba_sockaddrVolker Lendecke2021-01-223-3/+3
| | | | | | | Avoid casting problems by using the samba_sockaddr union Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
* ctdb: Use hex_byte() in hex_to_data()Volker Lendecke2021-01-081-12/+5
| | | | | | Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>