[pisa-src] r2724 - trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info

  • From: Nicolai Viol <Nicolai.Viol@xxxxxxxxxxxxxxxxxxxxx>
  • To: pisa-src@xxxxxxxxxxxxx
  • Date: Wed, 24 Aug 2011 17:35:02 +0200

Author: viol
Date: Wed Aug 24 17:35:01 2011
New Revision: 2724

Log:
add function to request also single infos from an access point

Modified:
   
trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info

Modified: 
trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info
==============================================================================
--- 
trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info
       Tue Aug 23 16:08:29 2011        (r2723)
+++ 
trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info
       Wed Aug 24 17:35:01 2011        (r2724)
@@ -2,78 +2,101 @@
 
 . ./request_parser
 
-set_vars () {
-    HOSTNAME=$(uname -n)
-    OS_RELEASE=$(uname -r)
-    OS_VERSION=$(uname -v)
-    UPTIME=$(uptime)
-    IFCONFIG_eth0=$(ifconfig eth0 | tr '\n' ';')
-    IFCONFIG_eth1=$(ifconfig eth1 | tr '\n' ';')
-    IFCONFIG_wlan0=$(ifconfig wlan0  | tr '\n' ';')
-    IFCONFIG_brlan=$(ifconfig br-lan | tr '\n' ';')
-    ROUTE=$(route -n | tr '\n' ';')
-    IWCONFIG=$(iwconfig wlan0 | tr '\n' ';')
-    ASSOCLIST=$(iw dev wlan0 station dump | tr '\n' ';')
-
-    if [ -e /usr/sbin/hipd ]; then
-        HIPD_VERSION=$(hipd -V | head -n 1 | tr '\n' ';')
-    fi
-
-    if [ -e /usr/sbin/hipfw ]; then
-        HIPFW_VERSION=$(hipfw -V | head -n 1 | tr '\n' ';')
+get_var () {
+    if [[ "$1" ]]; then
+        local ret_info=$1
+    else
+        local ret_info=""
     fi
-
-    if [ -e /usr/sbin/pisacd ]; then
-        PISACD_VERSION=$(pisacd -V 2>&1 | head -n 1 | tr '\n' ';')
-    fi
-
-    if [ -e /usr/sbin/pisasd ]; then
-        PISASD_VERSION=$(pisasd -V 2>&1 | head -n 1 | tr '\n' ';')
-    fi
-    if [ -e /usr/sbin/hipconf ]; then
-        HIPCONF_HA=$(hipconf get ha all 2>&1 | tail -n +5 | tr '\n' ';\n')
-        HIPCONF_HI=$(hipconf get hi default 2>&1 | tail -n +5 | tr '\n' ';')
-    fi
-
-    PROCESSES="hipd hipfw pisacd pisasd"
-    PS_LIST=$(ps)
-    PS=""
-    for p in $PROCESSES; do
-        if echo "$PS_LIST" | grep -q "$p"; then
-            PS="$p;$PS"
-        fi
-    done
+    case $ret_info in
+        HOSTNAME) echo "$(uname -n)";;
+        CLIENT_IP) echo "$REMOTE_ADDR";;
+        OS_RELEASE) echo "$(uname -r)";;
+        OS_VERSION) echo "$(uname -v)";;
+        UPTIME) echo "$(uptime)";;
+        IFCONFIG_eth0) echo "$(ifconfig eth0 | tr '\n' ';')";;
+        IFCONFIG_eth1) echo "$(ifconfig eth1 | tr '\n' ';')";;
+        IFCONFIG_wlan0) echo "$(ifconfig wlan0  | tr '\n' ';')";;
+        IFCONFIG_brlan) echo "$(ifconfig br-lan | tr '\n' ';')";;
+        ROUTE) echo "$(route -n | tr '\n' ';')";;
+        IWCONFIG) echo "$(iwconfig wlan0 | tr '\n' ';')";;
+        ASSOCLIST) echo "$(iw dev wlan0 station dump | tr '\n' ';')";;
+        HIPD_VERSION)
+            if [ -e /usr/sbin/hipd ]; then
+                echo "$(hipd -V | head -n 1 | tr '\n' ';')"
+            else
+                echo ""
+            fi;;
+        HIPFW_VERSION)
+            if [ -e /usr/sbin/hipfw ]; then
+                echo "$(hipfw -V | head -n 1 | tr '\n' ';')"
+            else
+                echo ""
+            fi;;
+        PISACD_VERSION)
+            if [ -e /usr/sbin/pisacd ]; then
+                echo "$(pisacd -V 2>&1 | head -n 1 | tr '\n' ';')"
+            else
+                echo ""
+            fi;;
+        PISASD_VERSION)
+            if [ -e /usr/sbin/pisasd ]; then
+                echo "$(pisasd -V 2>&1 | head -n 1 | tr '\n' ';')"
+            else
+                ""
+            fi;;
+        HIPCONF_HA)
+            if [ -e /usr/sbin/hipconf ]; then
+                echo "$(hipconf get ha all 2>&1 | tail -n +5 | tr '\n' ';\n')"
+            else
+                echo ""
+            fi;;
+        HIPCONF_HI)
+            if [ -e /usr/sbin/hipconf ]; then
+                echo "$(hipconf get hi default 2>&1 | tail -n +5 | tr '\n' 
';')"
+            else
+                echo ""
+            fi;;
+        PS)
+            local PROCESSES="hipd hipfw pisacd pisasd"
+            local PS_LIST=$(ps)
+            local PS=""
+            for p in $PROCESSES; do
+                if echo "$PS_LIST" | grep -q "$p"; then
+                    PS="$p;$PS"
+                fi
+            done
+            echo "$PS"
+            ;;
+        *)
+            echo "";;
+    esac
 }
 
 parse_query info
 if [ "$info" ]; then
-    case $info in
-        CLIENT_IP | client_ip) info_json='{"client_ip":"'$REMOTE_ADDR'"}';;
-        UPTIME | uptime) info_json='{"uptime":"'$(uptime)'"}';;
-        *) info_json='{}';;
-    esac
+    info_json='{"'${info}'":"'$(get_var ${info})'"}'
 else
-    set_vars
     info_json='{
-       "hostname":"'$HOSTNAME'",\n
-       "client_ip":"'$REMOTE_ADDR'",\n
-       "os_release":"'$OS_RELEASE'",\n
-       "os_version":"'$OS_VERSION'",\n
-       "uptime":"'$UPTIME'",\n
-       "eth0":"'$IFCONFIG_eth0'",\n
-       "eth1":"'$IFCONFIG_eth1'",\n
-       "wlan0":"'$IFCONFIG_wlan0'",\n
-       "br-lan":"'$IFCONFIG_brlan'",\n
-       "route":"'$ROUTE'",\n
-       "iwconfig":"'$IWCONFIG'",\n
-       "assoclist":"'$ASSOCLIST'",\n
-       "ps":"'$PS'",\n
-       "hipd_version":"'$HIPD_VERSION'",\n
-       "hipfw_version":"'$HIPFW_VERSION'",\n
-       "pisacd_version":"'$PISACD_VERSION'",\n
-       "pisasd_version":"'$PISASD_VERSION'",\n
-       "hipconf_hi":"'$HIPCONF_HI'",\n
-       "hipconf_ha":"'$HIPCONF_HA'"}'
+       "hostname":"'$(get_var HOSTNAME)'",\n
+       "client_ip":"'$(get_var CLIENT_IP)'",\n
+       "os_release":"'$(get_var OS_RELEASE)'",\n
+       "os_version":"'$(get_var OS_VERSION)'",\n
+       "uptime":"'$(get_var UPTIME)'",\n
+       "eth0":"'$(get_var IFCONFIG_eth0)'",\n
+       "eth1":"'$(get_var IFCONFIG_eth1)'",\n
+       "wlan0":"'$(get_var IFCONFIG_wlan0)'",\n
+       "br-lan":"'$(get_var IFCONFIG_brlan)'",\n
+       "route":"'$(get_var ROUTE)'",\n
+       "iwconfig":"'$(get_var IWCONFIG)'",\n
+       "assoclist":"'$(get_var ASSOCLIST)'",\n
+       "ps":"'$(get_var PS)'",\n
+       "hipd_version":"'$(get_var HIPD_VERSION)'",\n
+       "hipfw_version":"'$(get_var HIPFW_VERSION)'",\n
+       "pisacd_version":"'$(get_var PISACD_VERSION)'",\n
+       "pisasd_version":"'$(get_var PISASD_VERSION)'",\n
+       "hipconf_hi":"'$(get_var HIPCONF_HI)'",\n
+       "hipconf_ha":"'$(get_var HIPCONF_HA)'"}'
 fi
 
 parse_query callback
-- 
This is the pisa developer mailing list. Please also subscribe to the main pisa 
list at:
//www.freelists.org/list/pisa

Other related posts:

  • » [pisa-src] r2724 - trunk/openwrt/router-configurations/pisa-testbed/usr/local/malocation/service/request_ap_info - Nicolai Viol