From d1e40ae47425478377a26c4072511b9b5b551029 Mon Sep 17 00:00:00 2001 From: floh1111 Date: Sun, 14 Aug 2011 11:16:03 +0000 Subject: [PATCH] added ipv6 autoadd to configurator, removed old code from nodewatcher --- .../default/etc/config/configurator | 2 +- root_file_system/default/etc/configurator.sh | 10 ++ root_file_system/default/etc/nodewatcher.sh | 132 ------------------ 3 files changed, 11 insertions(+), 133 deletions(-) diff --git a/root_file_system/default/etc/config/configurator b/root_file_system/default/etc/config/configurator index d663bca..1c3c7bf 100644 --- a/root_file_system/default/etc/config/configurator +++ b/root_file_system/default/etc/config/configurator @@ -1,6 +1,6 @@ config 'script' - option 'error_level' '0' + option 'error_level' '2' option 'logfile' '/var/log/configurator.log' option 'version' '1' option 'sync_hostname' '1' diff --git a/root_file_system/default/etc/configurator.sh b/root_file_system/default/etc/configurator.sh index 3d040f7..5971ce5 100644 --- a/root_file_system/default/etc/configurator.sh +++ b/root_file_system/default/etc/configurator.sh @@ -123,6 +123,13 @@ assign_router() { fi } +autoadd_ipv6_address() { + ipv6_link_local_addr="`ifconfig br-mesh | grep 'inet6 addr:' | grep 'Scope:Link' | awk '{ print $3}'`" + command="wget -q -O - http://$netmon_api/api_csv_configurator.php?section=autoadd_ipv6_address&&authentificationmethod=$CRAWL_METHOD&nickname=$CRAWL_NICKNAME&password=$CRAWL_PASSWORD&router_auto_update_hash=$CRAWL_UPDATE_HASH&router_id=$CRAWL_ROUTER_ID&ip=$ipv6_link_local_addr" + ergebnis=`$command&sleep $API_TIMEOUT; kill $!` + if [ `echo $ergebnis| cut '-d;' -f1` != "success" ]; then +} + if [ $CRAWL_METHOD == "login" ]; then if [ $SCRIPT_ERROR_LEVEL -gt "1" ]; then echo "`date`: Authentifizierungsmethode ist: Username und Passwort" >> $SCRIPT_LOGFILE @@ -149,4 +156,7 @@ fi #Sync Hostname if [[ $SCRIPT_SYNC_HOSTNAME = "1" ]]; then sync_hostname +fi +if [[ $AUTOADD_IPV6_ADDRESS = "1" ]]; then + autoadd_ipv6_address fi \ No newline at end of file diff --git a/root_file_system/default/etc/nodewatcher.sh b/root_file_system/default/etc/nodewatcher.sh index a4fb35b..b75df3f 100755 --- a/root_file_system/default/etc/nodewatcher.sh +++ b/root_file_system/default/etc/nodewatcher.sh @@ -123,111 +123,6 @@ update() { fi } -assign() { - netmon_api=`get_url` - hostname=`cat /proc/sys/kernel/hostname` - - #Choose right login String - login_strings="$(ifconfig br-mesh | grep HWaddr | awk '{ print $5 }'|sed -e 's/://g');$(ifconfig eth0 | grep HWaddr | awk '{ print $5 }'|sed -e 's/://g');$(ifconfig ath0 | grep HWaddr | awk '{ print $5 }'|sed -e 's/://g')" - command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=test_login_strings&login_strings=$login_strings" - ergebnis=`$command&sleep $API_TIMEOUT; kill $!` - if [ `echo $ergebnis| cut '-d;' -f1` = "success" ]; then - router_auto_assign_login_string=`echo $ergebnis| cut '-d;' -f2` - if [ $error_level -gt "1" ]; then - echo "`date`: Es existiert ein Router mit dem Login String $router_auto_assign_login_string" >> $logfile - fi - elif [ `echo $ergebnis| cut '-d;' -f1` = "error" ]; then - router_auto_assign_login_string=`echo $login_strings| cut '-d;' -f1` - if [ $error_level -gt "1" ]; then - echo "`date`: Es existiert kein Router mit einem der Login Strings: $login_strings" >> $logfile - echo "`date`: Nutze $router_auto_assign_login_string als login string" >> $logfile - fi - fi - - #Try to assign Router with choosen login string - command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=router_auto_assign&router_auto_assign_login_string=$router_auto_assign_login_string&hostname=$hostname" - ergebnis=`$command&sleep $API_TIMEOUT; kill $!` - if [ `echo $ergebnis| cut '-d;' -f1` != "success" ]; then - if [ `echo $ergebnis| cut '-d;' -f2` = "already_assigned" ]; then - if [ $error_level -gt "0" ]; then - echo "`date`: Der Login String `echo $ergebnis| cut '-d;' -f3` ist bereits mit einem Router verknüpft" >> $logfile - fi - elif [ `echo $ergebnis| cut '-d;' -f2` = "autoassign_not_allowed" ]; then - if [ $error_level -gt "0" ]; then - echo "`date`: Der dem Login String `echo $ergebnis| cut '-d;' -f3` zugewiesene Router erlaubt autoassign nicht" >> $logfile - fi - elif [ `echo $ergebnis| cut '-d;' -f2` = "new_not_assigned" ]; then - if [ $error_level -gt "0" ]; then - echo "`date`: Router wurde der Liste der nicht zugewiesenen Router hinzugefügt" >> $logfile - fi - elif [ `echo $ergebnis| cut '-d;' -f2` = "updated_not_assigned" ]; then - if [ $error_level -gt "0" ]; then - echo "`date`: Router auf der Liste der nicht zugewiesenen Router wurde geupdated" >> $logfile - fi - fi - if [ $error_level -gt "0" ]; then - echo "`date`: Der Router wurde nicht mit Netmon verknüpft" >> $logfile - fi - elif [ `echo $ergebnis| cut '-d;' -f1` = "success" ]; then - #write new config - uci set nodewatcher.@crawl[0].router_id=`echo $ergebnis| cut '-d;' -f2` - uci set nodewatcher.@crawl[0].update_hash=`echo $ergebnis| cut '-d;' -f3` - if [ $error_level -gt "1" ]; then - echo "`date`: Der Router wurde mit Netmon verknüpft" >> $logfile - fi - uci commit - - CRAWL_METHOD=`uci get nodewatcher.@crawl[0].method` - CRAWL_ROUTER_ID=`uci get nodewatcher.@crawl[0].router_id` - CRAWL_UPDATE_HASH=`uci get nodewatcher.@crawl[0].update_hash` - CRAWL_NICKNAME=`uci get nodewatcher.@crawl[0].nickname` - CRAWL_PASSWORD=`uci get nodewatcher.@crawl[0].password` - - configure - - can_crawl=1 - fi -} - -configure() { - netmon_api=`get_url` - authentificationmethod=$CRAWL_METHOD - router_id=$CRAWL_ROUTER_ID - router_auto_update_hash=$CRAWL_UPDATE_HASH - - command="wget -q -O - http://$netmon_api/api_nodewatcher.php?section=get_standart_data&authentificationmethod=$authentificationmethod&router_auto_update_hash=$router_auto_update_hash&router_id=$router_id" - ergebnis=`$command&sleep $API_TIMEOUT; kill $!` - - if [ `echo $ergebnis| cut '-d;' -f1` = "success" ]; then - #uci set freifunk.contact.location=`echo $ergebnis| cut '-d;' -f3` - - if [[ $SCRIPT_SYNC_HOSTNAME = "1" ]]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Setze Hostname" >> $logfile - fi - uci set system.@system[0].hostname=`echo $ergebnis| cut '-d;' -f4` - echo `echo $ergebnis| cut '-d;' -f4` > /proc/sys/kernel/hostname - -# uci get system.@system[0].latitude= -# uci get system.@system[0].longitude= -# uci get freifunk.community.ssid= -# uci get freifunk.contact.nickname= -# uci get freifunk.contact.mail= -# uci get freifunk.community.prefix= -# uci get freifunk.contact.note= - - uci commit - fi - if [ $error_level -gt "1" ]; then - echo "`date`: Der Router wurde konfiguriert" >> $logfile - fi - else - if [ $error_level -gt "0" ]; then - echo "`date`: Fehler bei der Konfiguration: $ergebnis" >> $logfile - fi - fi -} - crawl() { #Get API and authentication configuration netmon_api=`get_url` @@ -456,34 +351,7 @@ if [[ "$1" == "update" ]]; then exit 1 fi - -if [ $error_level -gt "1" ]; then - echo "`date`: Prüfe Authentifizierungsmethode" >> $logfile -fi - can_crawl=1 -if [ $CRAWL_METHOD == "login" ]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Authentifizierungsmethode ist: Username und Passwort" >> $logfile - fi -elif [ $CRAWL_METHOD == "hash" ]; then - if [ $error_level -gt "1" ]; then - echo "`date`: Authentifizierungsmethode ist: Autoassign und Hash" >> $logfile - echo "`date`: Prüfe ob Roter schon mit Netmon verknüpft ist" >> $logfile - fi - if [ $CRAWL_UPDATE_HASH == "1" ]; then - can_crawl=0 - if [ $error_level -gt "1" ]; then - echo "`date`: Der Router ist noch NICHT mit Netmon verknüpft" >> $logfile - echo "`date`: Versuche verknüpfung herzustellen" >> $logfile - fi - assign - else - if [ $error_level -gt "1" ]; then - echo "`date`: Der Router ist bereits mit Netmon verknüpft" >> $logfile - fi - fi -fi if [ $can_crawl == 1 ]; then if [ $error_level -gt "1" ]; then