From mboxrd@z Thu Jan  1 00:00:00 1970
From: Jonatan Schlag <jonatan.schlag@ipfire.org>
To: network@lists.ipfire.org
Subject: [PATCH 1/2] ipsec-connection: add color support
Date: Wed, 16 Aug 2017 11:46:57 +0200
Message-ID: <1502876818-12274-1-git-send-email-jonatan.schlag@ipfire.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============7333968301103836882=="
List-Id: <network.lists.ipfire.org>

--===============7333968301103836882==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Signed-off-by: Jonatan Schlag <jonatan.schlag(a)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=3D( $@ )
=20
-	local commands=3D"authentication down inactivity-timeout local mode peer re=
mote security-policy show up"
+	local commands=3D"authentication color down inactivity-timeout local mode p=
eer remote security-policy show up"
 	local cmd=3D"$(_network_find_on_cmdline "${commands}")"
 	if [[ -z "${cmd}" ]]; then
 		COMPREPLY=3D( $(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} "loc=
al" ${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=3D${1}
 	local name=3D${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
 }
=20
+ipsec_connection_get_color() {
+	# This function return the color of a zone
+	assert [ $# -eq 1 ]
+
+	local name=3D${1}
+	color_read "ipsec-connection" ${name}
+}
+
 cli_ipsec_connection_show() {
 	local connection=3D"${1}"
=20
@@ -186,6 +197,9 @@ cli_ipsec_connection_show() {
 	cli_headline 0 "IPsec VPN Connection: ${connection}"
 	cli_space
=20
+	cli_print_fmt1 1 "Color" "$(cli_color_bar $(ipsec_connection_get_color ${co=
nnection}))"
+	cli_space
+
 	# Peer
 	if isset PEER; then
 		cli_print_fmt1 1 "Peer" "${PEER}"
--=20
2.6.3


--===============7333968301103836882==--