From 743553bdc7b831d1e65eff820e5d15bd8eb8c492 Mon Sep 17 00:00:00 2001 From: Julien VAUBOURG Date: Mon, 10 Nov 2014 18:35:31 +0100 Subject: [PATCH] Add credentials option and switch delegated prefix to optional --- conf/init_ynh-vpnclient | 58 ++++++++++++++++++++------------ conf/openvpn_client.conf.tpl | 3 ++ manifest.json | 16 ++++++--- screenshot.png | Bin 44146 -> 64966 bytes scripts/install | 28 ++++++++------- sources/controller.php | 19 +++++++++++ sources/views/settings.html.php | 39 ++++++++++++++++++++- 7 files changed, 124 insertions(+), 39 deletions(-) diff --git a/conf/init_ynh-vpnclient b/conf/init_ynh-vpnclient index a1e6fd7..c61f962 100644 --- a/conf/init_ynh-vpnclient +++ b/conf/init_ynh-vpnclient @@ -20,6 +20,10 @@ has_hotspot_app() { yunohost app list -f hotspot --json | grep -q '"installed": true' } +has_ip6delegatedprefix() { + [ "${ynh_ip6_addr}" != none ] +} + is_ip6addr_set() { ip address show dev tun0 2> /dev/null | grep -q "${ynh_ip6_addr}/128" } @@ -27,7 +31,11 @@ is_ip6addr_set() { is_serverip6route_set() { server_ip6=${1} - ip -6 route | grep -q "${server_ip6}/" + if [ -z "${server_ip6}" ]; then + false + else + ip -6 route | grep -q "${server_ip6}/" + fi } is_openvpn_running() { @@ -36,7 +44,7 @@ is_openvpn_running() { is_running() { ((has_nativeip6 && is_serverip6route_set "${new_server_ip6}") || ! has_nativeip6)\ - && ((! has_hotspot_app && is_ip6addr_set) || has_hotspot_app)\ + && ((! has_hotspot_app && has_ip6delegatedprefix && is_ip6addr_set) || has_hotspot_app)\ && is_openvpn_running } @@ -78,6 +86,12 @@ start_openvpn() { sed 's|^|;|' -i /etc/openvpn/client.conf fi + if [ -z "${ynh_login_user}" ]; then + sed 's|^|;|' -i /etc/openvpn/client.conf + else + sed 's|^||' -i /etc/openvpn/client.conf + fi + service openvpn start client } @@ -134,6 +148,7 @@ ynh_server_name=$(moulinette_get server_name) ynh_server_port=$(moulinette_get server_port) ynh_server_proto=$(moulinette_get server_proto) ynh_ip6_addr=$(moulinette_get ip6_addr) +ynh_login_user=$(moulinette_get login_user) old_ip6_gw=$(moulinette_get ip6_gw) old_wired_device=$(moulinette_get wired_device) @@ -167,21 +182,13 @@ case "${1}" in if [ ! $? -eq 0 ]; then exit 1 fi - - i=0 - false || while [ $? -ne 0 ]; do - (( i++ )) - [ $i -gt 15 ] && exit 1 - sleep 1 - ip link show dev tun0 &> /dev/null - done && sleep 2 fi # Check old state of the server ipv6 route - if [ ! -z "${old_server_ip6}" -a ! -z "${new_ip6_gw}" -a ! -z "${old_wired_device}"\ + if [ ! -z "${old_server_ip6}" -a ! -z "${old_ip6_gw}" -a ! -z "${old_wired_device}"\ -a \( "${new_server_ip6}" != "${old_server_ip6}" -o "${new_ip6_gw}" != "${old_ip6_gw}"\ -o "${new_wired_device}" != "${old_wired_device}" \) ]\ - && is_serverip6route_set "${old_server_ip6}" "${old_ip6_gw}" "${old_wired_device}"; then + && is_serverip6route_set "${old_server_ip6}"; then unset_serverip6route "${old_server_ip6}" "${old_ip6_gw}" "${old_wired_device}" fi @@ -189,13 +196,18 @@ case "${1}" in # Set the new server ipv6 route if has_nativeip6 && ! is_serverip6route_set "${new_server_ip6}"; then echo "Set IPv6 server route" - set_serverip6route "${new_server_ip6}" "${new_ip6_gw}" "${new_wired_device}" fi # Set the ipv6 address - if ! has_hotspot_app && ! is_ip6addr_set; then + if ! has_hotspot_app && has_ip6delegatedprefix && ! is_ip6addr_set; then echo "Set IPv6 address" + + false || while [ $? -ne 0 ]; do + sleep 1 + ip link show dev tun0 &> /dev/null + done + set_ip6addr fi fi @@ -208,7 +220,7 @@ case "${1}" in stop) echo "Stopping..." - if ! has_hotspot_app && is_ip6addr_set; then + if ! has_hotspot_app && has_ip6delegatedprefix && is_ip6addr_set; then echo "Unset IPv6 address" unset_ip6addr fi @@ -226,15 +238,17 @@ case "${1}" in status) exitcode=0 - if ! has_hotspot_app; then - if is_ip6addr_set; then - echo "IPv6 address is correctly set" + if has_ip6delegatedprefix; then + if ! has_hotspot_app; then + if is_ip6addr_set; then + echo "IPv6 address is correctly set" + else + echo "IPv6 address is NOT set" + exitcode=1 + fi else - echo "IPv6 address is NOT set" - exitcode=1 + echo "Hotspot app detected" fi - else - echo "Hotspot app detected" fi if has_nativeip6; then diff --git a/conf/openvpn_client.conf.tpl b/conf/openvpn_client.conf.tpl index 4c0a610..35d3fdd 100644 --- a/conf/openvpn_client.conf.tpl +++ b/conf/openvpn_client.conf.tpl @@ -11,6 +11,9 @@ keepalive 10 30 comp-lzo adaptive port +# Auth by credentials +auth-user-pass /etc/openvpn/keys/credentials + # UDP only explicit-exit-notify diff --git a/manifest.json b/manifest.json index e8e1522..590a536 100644 --- a/manifest.json +++ b/manifest.json @@ -68,12 +68,20 @@ "default": "/tmp/ca-server.crt" }, { - "name": "ip6_net", + "name": "credentials_user", "ask": { - "en": "Select your IPv6 delegated prefix (netmask number provided must be lesser or equal to 64)", - "fr": "Sélectionnez votre préfixe IPv6 délégué (le masque de sous-réseau fourni doit être plus petit ou égal à 64)" + "en": "Select your VPN username (leave empty if not necessary)", + "fr": "Sélectionnez votre nom d'utilisateur VPN (laisser vide si non-nécessaire)" }, - "example": "2001:db8:42::/48" + "example": "michu" + }, + { + "name": "credentials_passphrase", + "ask": { + "en": "Select your VPN password (leave empty if not necessary)", + "fr": "Sélectionnez votre mot de passe VPN (laisser vide si non-nécessaire)" + }, + "example": "XVCwSbDkxnqQ" } ] } diff --git a/screenshot.png b/screenshot.png index ab953bdb542e60d29204f7838b3d623a8680bb2d..235292c93887ce98df2d892f98c2eabda844900b 100644 GIT binary patch literal 64966 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

x(PWOGW5V*g#!<0|uM5Jd*~G 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 D&Kr;H diff --git a/scripts/install b/scripts/install index 8240778..f45104e 100644 --- a/scripts/install +++ b/scripts/install @@ -7,7 +7,8 @@ server_name=${3} crt_client_path=${4} crt_client_key_path=${5} crt_server_ca_path=${6} -ip6_net=${7} +login_user=${7} +login_passphrase=${8} # Check arguments # TODO @@ -24,18 +25,14 @@ sudo apt-get --assume-yes --force-yes install openvpn php5-fpm # Install extra packages sudo apt-get --assume-yes --force-yes install sipcalc -# Compute extra arguments -ip6_expanded_net=$(sipcalc "${ip6_net}" | grep Expanded | awk '{ print $NF; }') -ip6_net=$(sipcalc "${ip6_net}" | grep Compressed | awk '{ print $NF; }') -ip6_addr=$(echo "$(echo "${ip6_expanded_net}" | cut -d: -f1-7):1") -ip6_addr=$(sipcalc "${ip6_addr}" | grep Compressed | awk '{ print $NF; }') - # Save arguments sudo yunohost app setting vpnclient server_name -v "${server_name}" sudo yunohost app setting vpnclient server_port -v 1194 sudo yunohost app setting vpnclient server_proto -v udp -sudo yunohost app setting vpnclient ip6_addr -v "${ip6_addr}" -sudo yunohost app setting vpnclient ip6_net -v "${ip6_net}" +sudo yunohost app setting vpnclient ip6_addr -v none +sudo yunohost app setting vpnclient ip6_net -v none +sudo yunohost app setting vpnclient login_user -v "${login_user}" +sudo yunohost app setting vpnclient login_passphrase -v "${login_passphrase}" # Copy confs sudo install -b -o root -g root -m 0644 ../conf/openvpn_client.conf.tpl /etc/openvpn/client.conf.tpl @@ -60,6 +57,15 @@ sudo install -b -o root -g admins -m 0660 "${crt_server_ca_path}" /etc/openvpn/k sudo rm -f "${crt_client_path}" "${crt_client_key_path}" "${crt_server_ca_path}" +# Credentials file for (optional) login +sudo cat << EOF > /etc/openvpn/keys/credentials +${login_user} +${login_passphrase} +EOF + +sudo chown -R root:admins /etc/openvpn/keys/credentials +sudo chmod 0460 /etc/openvpn/keys/credentials + # Create user for the web admin sudo useradd -MUr vpnadmin @@ -85,9 +91,7 @@ sudo install -b -o root -g root -m 0755 ../conf/init_ynh-vpnclient /etc/init.d/y # Set default inits # The openvpn configuration is modified before the start, so the service is disabled by default # and the ynh-vpnclient service handles it. -# All services are registred by yunohost in order to prevent conflicts after the uninstall. -sudo yunohost service add openvpn -sudo yunohost service stop openvpn +sudo service openvpn stop &> /dev/null sudo yunohost service disable openvpn sudo yunohost service add php5-fpm diff --git a/sources/controller.php b/sources/controller.php index 15006d6..7037ade 100644 --- a/sources/controller.php +++ b/sources/controller.php @@ -16,17 +16,36 @@ function restart_service() { } dispatch('/', function() { + $ip6_net = moulinette_get('ip6_net'); + $ip6_net = ($ip6_net == 'none') ? '' : $ip6_net; + set('server_name', moulinette_get('server_name')); set('server_port', moulinette_get('server_port')); set('server_proto', moulinette_get('server_proto')); + set('login_user', moulinette_get('login_user')); + set('login_passphrase', moulinette_get('login_passphrase')); + set('ip6_net', $ip6_net); return render('settings.html.php'); }); dispatch_put('/settings', function() { + $ip6_net = empty($_POST['ip6_net']) ? 'none' : $_POST['ip6_net']; + moulinette_set('server_name', $_POST['server_name']); moulinette_set('server_port', $_POST['server_port']); moulinette_set('server_proto', $_POST['server_proto']); + moulinette_set('login_user', $_POST['login_user']); + moulinette_set('login_passphrase', $_POST['login_passphrase']); + moulinette_set('ip6_net', $ip6_net); + + # TODO: format ip6_net + if($ip6_net == 'none') { + moulinette_set('ip6_addr', 'none'); + } else { + $ip6_addr = "${ip6_net}1"; + moulinette_set('ip6_addr', $ip6_addr); + } if($_FILES['crt_client']['error'] == UPLOAD_ERR_OK) { move_uploaded_file($_FILES['crt_client']['tmp_name'], '/etc/openvpn/keys/user.crt'); diff --git a/sources/views/settings.html.php b/sources/views/settings.html.php index b8e7f91..efcf508 100644 --- a/sources/views/settings.html.php +++ b/sources/views/settings.html.php @@ -28,7 +28,7 @@

- +
+
+
+

+
+ +
+
+ +
+ +
+
+
+
+

@@ -77,6 +92,28 @@
+
+
+

+
+ +
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+