# HG changeset patch # User Aleksej Bobylev # Date 1427236684 -7200 # Node ID a279382f786f3d0456748b7f94402355e9b528d6 # Parent 299f204b8f1f27963789d893418d6d74aef1f51a network: things are now successfull: connect to Ethernet or {new or stored} Wi-Fi, re-connect Ethernet <-> Wi-Fi without previously stopping, start and stop Ethernet or Wi-Fi connections. Seems network part of TazPanel is fully workable now. diff -r 299f204b8f1f -r a279382f786f lib/tazpanel.js --- a/lib/tazpanel.js Tue Mar 24 03:39:08 2015 +0200 +++ b/lib/tazpanel.js Wed Mar 25 00:38:04 2015 +0200 @@ -402,5 +402,8 @@ password.value = networks[i].password; } + // Not used yet + document.getElementById('bssid').value = ''; + wifiSettingsChange(); } diff -r 299f204b8f1f -r a279382f786f network.cgi --- a/network.cgi Tue Mar 24 03:39:08 2015 +0200 +++ b/network.cgi Wed Mar 25 00:38:04 2015 +0200 @@ -33,6 +33,51 @@ } +# Connect to a Wi-Fi network +connect_wifi() { + /etc/init.d/network.sh stop | log + sed -i \ + -e "s|^WIFI_ESSID=.*|WIFI_ESSID=\"$(GET essid)\"|" \ + -e "s|^WIFI_BSSID=.*|WIFI_BSSID=\"$(GET bssid)\"|" \ + -e "s|^WIFI_KEY_TYPE=.*|WIFI_KEY_TYPE=\"$(GET keyType)\"|" \ + -e "s|^WIFI_KEY=.*|WIFI_KEY=\"$(GET password)\"|" \ + -e "s|^WIFI_EAP_METHOD=.*|WIFI_EAP_METHOD=\"$(GET eap)\"|" \ + -e "s|^WIFI_CA_CERT=.*|WIFI_CA_CERT=\"$(GET caCert)\"|" \ + -e "s|^WIFI_CLIENT_CERT=.*|WIFI_CLIENT_CERT=\"$(GET clientCert)\"|" \ + -e "s|^WIFI_IDENTITY=.*|WIFI_IDENTITY=\"$(GET identity)\"|" \ + -e "s|^WIFI_ANONYMOUS_IDENTITY=.*|WIFI_ANONYMOUS_IDENTITY=\"$(GET anonymousIdentity)\"|" \ + -e "s|^WIFI_PHASE2=.*|WIFI_PHASE2=\"$(GET phase2)\"|" \ + /etc/network.conf + . /etc/network.conf + start_wifi +} + + +# Start an Ethernet connection + +start_eth() { + case "$(GET staticip)" in + on) DHCP='no'; STATIC='yes';; + *) DHCP='yes'; STATIC='no';; + esac + + /etc/init.d/network.sh stop | log + sleep 2 + sed -i \ + -e "s|^INTERFACE=.*|INTERFACE=\"$(GET iface)\"|" \ + -e 's|^WIFI=.*|WIFI="no"|' \ + -e "s|^DHCP=.*|DHCP=\"$DHCP\"|" \ + -e "s|^STATIC=.*|STATIC=\"$STATIC\"|" \ + -e "s|^IP=.*|IP=\"$(GET ip)\"|" \ + -e "s|^NETMASK=.*|NETMASK=\"$(GET netmask)\"|" \ + -e "s|^GATEWAY=.*|GATEWAY=\"$(GET gateway)\"|" \ + -e "s|^DNS_SERVER=.*|DNS_SERVER=\"$(GET dns)\"|" \ + /etc/network.conf + /etc/init.d/network.sh start | log + . /etc/network.conf +} + + # Use /etc/wpa/wpa.conf as single database for known networks, passwords, etc. # Translate this data to use in javascript. @@ -85,8 +130,12 @@ *\ restart\ *) /etc/init.d/network.sh restart | log wait_up ;; - *\ start-wifi\ *) + *\ start_wifi\ *) start_wifi ;; + *\ start_eth\ *) + start_eth ;; + *\ connect_wifi\ *) + connect_wifi ;; *\ host\ *) get_hostname="$(GET host)" echo $(eval_gettext 'Changed hostname: $get_hostname') | log @@ -129,28 +178,21 @@ *\ eth\ *) # Wired connections settings xhtml_header - if [ "$(GET ip)" ]; then - DHCP=no - STATIC=no - [ -n "$(GET dhcp)" ] && DHCP=yes - [ -n "$(GET static)" ] && STATIC=yes - LOADING_MSG=$(gettext 'Setting up IP...'); loading_msg - sed -i \ - -e s"/^INTERFACE=.*/INTERFACE=\"$(GET iface)\""/ \ - -e s"/^DHCP=.*/DHCP=\"$DHCP\"/" \ - -e s"/^STATIC=.*/STATIC=\"$STATIC\"/" \ - -e s"/^NETMASK=.*/NETMASK=\"$(GET netmask)\"/" \ - -e s"/^GATEWAY=.*/GATEWAY=\"$(GET gateway)\"/" \ - -e s"/^DNS_SERVER=.*/DNS_SERVER=\"$(GET dns)\"/" \ - -e s"/^IP=.*/IP=\"$(GET ip)\"/" /etc/network.conf - /etc/init.d/network stop | log - sleep 2 - /etc/init.d/network start | log - . /etc/network.conf + PAR1="size=\"20\" required"; PAR="$PAR1 pattern=\"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\"" + + case "$STATIC" in + yes) use_static='checked';; + *) use_static='';; + esac + + stop_disabled=''; start_disabled='' + if cat /sys/class/net/eth*/operstate | fgrep -q up; then + start_disabled='disabled' + else + stop_disabled='disabled' fi - PAR1="size=\"20\" required"; PAR="$PAR1 pattern=\"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\" data-x=\"Four numbers, each in range 0-255, delimited by full stop.\"" cat <$(gettext 'Ethernet connection') @@ -164,45 +206,48 @@
- - - + - - - - + + - - + + - - + + + + +
$(gettext 'Interface')
 
$(gettext 'Static IP')
$(gettext 'IP address')
$(gettext 'Netmask')
$(gettext 'IP address')
$(gettext 'Gateway')
$(gettext 'Netmask')
$(gettext 'DNS server')
$(gettext 'Gateway')
$(gettext 'DNS server')
@@ -343,7 +388,7 @@ fi cat <$(gettext 'Start') @@ -361,23 +406,6 @@ EOT - ESSID="$(GET essid)" - #WIFI_KEY_TYPE="$(GET keyType)" - #WIFI_KEY="$(GET key)" - #WIFI_AP="$(GET ap)" - - if [ -n "$ESSID" ]; then - /etc/init.d/network.sh stop | log - sed -i \ - -e "s/^WIFI_ESSID=.*/WIFI_ESSID=\"$essid\"/" \ - -e "s/^WIFI_KEY_TYPE=.*/WIFI_KEY_TYPE=\"$WIFI_KEY_TYPE\"/" \ - -e "s/^WIFI_KEY=.*/WIFI_KEY=\"$WIFI_KEY\"/" \ - -e "s/^WIFI_AP=.*/WIFI_AP=\"$WIFI_AP\"/" \ - /etc/network.conf - . /etc/network.conf - start_wifi - fi - # ESSID names are clickable #SELECT="$(GET select)" #if [ -n "$SELECT" ]; then @@ -390,7 +418,8 @@
$(gettext 'Connection')
- + + diff -r 299f204b8f1f -r a279382f786f styles/default/tweaks.css --- a/styles/default/tweaks.css Tue Mar 24 03:39:08 2015 +0200 +++ b/styles/default/tweaks.css Wed Mar 25 00:38:04 2015 +0200 @@ -224,6 +224,9 @@ [data-img="web"]::before {color:#268bd2} /*blue*/ +/* disabled buttons with gray icons */ +[disabled][data-icon]:before { color: #888; } + /**********
$(gettext 'Network SSID')