summaryrefslogtreecommitdiff
path: root/ctdb/config
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2019-12-13 11:09:04 +1100
committerAmitay Isaacs <amitay@samba.org>2020-01-02 22:36:34 +0000
commit693080abe4d8bec96280af5a6aa668251a98ec5d (patch)
tree990f5abe480b9392d7d3acc9dc466840ce9d766d /ctdb/config
parentdf5040b186753acf72600042753d312bd5945429 (diff)
downloadsamba-693080abe4d8bec96280af5a6aa668251a98ec5d.tar.gz
ctdb-scripts: Strip square brackets when gathering connection info
ss added square brackets around IPv6 addresses in versions > 4.12.0 via commit aba9c23a6e1cb134840c998df14888dca469a485. CentOS 7 added this feature somewhere mid-release. So, backward compatibility is obviously needed. As per the comment protocol/protocol_util.c should probably print and parse such square brackets. However, for backward compatibility the brackets would have to be stripped in both places in update_tickles()... or added to the ss output when missing. Best to leave this until we have a connection tracking daemon. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14227 Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb/config')
-rwxr-xr-xctdb/config/functions6
1 files changed, 6 insertions, 0 deletions
diff --git a/ctdb/config/functions b/ctdb/config/functions
index 994a30162fe..2395d8d4dc8 100755
--- a/ctdb/config/functions
+++ b/ctdb/config/functions
@@ -975,10 +975,16 @@ update_tickles ()
_my_connections="${tickledir}/${_port}.connections.$$"
# Parentheses are needed around the filters for precedence but
# the parentheses can't be empty!
+ #
+ # Recent versions of ss print square brackets around IPv6
+ # addresses. While it is desirable to update CTDB's address
+ # parsing and printing code, something needs to be done here
+ # for backward compatibility, so just delete the brackets.
ss -tn state established \
"${_ip_filter:+( ${_ip_filter} )}" \
"${_port_filter:+( ${_port_filter} )}" |
awk 'NR > 1 {print $4, $3}' |
+ tr -d '][' |
sort >"$_my_connections"
# Record our current tickles in a temporary file