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