Signed-off-by: Jonatan Schlag jonatan.schlag@ipfire.org --- src/bash-completion/network | 5 ++++- src/functions/functions.colors | 3 +++ src/functions/functions.ipsec | 14 ++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/bash-completion/network b/src/bash-completion/network index 5ddc8db..a25e43b 100644 --- a/src/bash-completion/network +++ b/src/bash-completion/network @@ -413,7 +413,7 @@ _network_vpn_ipsec_connection_subcommands() { shift local words=( $@ )
- local commands="authentication down inactivity-timeout local mode peer remote security-policy show up" + local commands="authentication color down inactivity-timeout local mode peer remote security-policy show up" local cmd="$(_network_find_on_cmdline "${commands}")" if [[ -z "${cmd}" ]]; then COMPREPLY=( $(compgen -W "${commands}" -- "${cur}") ) @@ -426,6 +426,9 @@ _network_vpn_ipsec_connection_subcommands() { authentication) _network_vpn_ipsec_connection_subcommands_authentication ${connection} ${args} ;; + color) + _network_color ${args} + ;; local) _network_vpn_ipsec_connection_subcommands_local_remote ${connection} "local" ${args} ;; diff --git a/src/functions/functions.colors b/src/functions/functions.colors index 121d736..816af48 100644 --- a/src/functions/functions.colors +++ b/src/functions/functions.colors @@ -151,6 +151,9 @@ color_format_filename() { local type=${1} local name=${2} case ${type} in + ipsec-connection) + echo "${NETWORK_IPSEC_CONNS_DIR}/${name}/color" + ;; zone) echo "$(zone_dir ${name})/color" ;; diff --git a/src/functions/functions.ipsec b/src/functions/functions.ipsec index 7283836..6a91d39 100644 --- a/src/functions/functions.ipsec +++ b/src/functions/functions.ipsec @@ -88,6 +88,9 @@ cli_ipsec_connection() { authentication|down|disable|dpd|enable|inactivity_timeout|local|mode|peer|pool|remote|security_policy|start_action|up) ipsec_connection_${key} ${connection} $@ ;; + color) + color_cli "ipsec-connection" "${connection}" "$@" + ;; show) cli_ipsec_connection_show "${connection}" exit $? @@ -173,6 +176,14 @@ cli_ipsec_connection_destroy() { ipsec_strongswan_autostart }
+ipsec_connection_get_color() { + # This function return the color of a zone + assert [ $# -eq 1 ] + + local name=${1} + color_read "ipsec-connection" ${name} +} + cli_ipsec_connection_show() { local connection="${1}"
@@ -186,6 +197,9 @@ cli_ipsec_connection_show() { cli_headline 0 "IPsec VPN Connection: ${connection}" cli_space
+ cli_print_fmt1 1 "Color" "$(cli_color_bar $(ipsec_connection_get_color ${connection}))" + cli_space + # Peer if isset PEER; then cli_print_fmt1 1 "Peer" "${PEER}"