[PATCH] consistently use same webserver port for hoodfile on wifi and lan

Christian Dresel fff at chrisi01.de
Do Okt 19 11:07:26 CEST 2017


hi

https://github.com/RedDog99/uweb

sollte alle Probleme lösen und dann ist der umgebogene Port doch sinnvoll ;)

mfg

Christian

On 19.10.2017 11:05, Robert Langhammer wrote:
> Hi,
> 
> ich bin immer noch dafür, den Port hier und auf br-mesh auf 80 zu lassen.
> 
> Der Druck vom Standard abzuweichen ist meines Erachtens nicht groß genug.
> 
> Ein echtes Problem taucht doch erst auf, wenn eine 2. Hood auf dem
> Gateway läuft. Und das hat man mit port 2345 auch, weil sämtliche httpd
> auf nen Unix Network socket lauschen, und da gibt's kein Interface. Man
> gewinnt also nicht wirklich was.
> 
> Dann lieber eine einfache Lösung am Gateway: Für jede Hood einen vhost
> auf [fe80::1]:XX und den Port pro batX umbiegen. Müsste man auch mit
> Port 2345 machen.
> 
> Robert
> 
> 
> Am 19.10.2017 um 10:19 schrieb Fabian Bläse:
>> Signed-off-by: Fabian Bläse <fabian at blaese.de>
>> ---
>>  src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange |  4 ++--
>>  src/packages/fff/fff-hoods/files/usr/sbin/configurehood       |  8 ++++----
>>  src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd | 10 ++++++++++
>>  src/packages/fff/fff-web/files/www/hood/.keep                 |  0
>>  src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html      |  2 +-
>>  5 files changed, 17 insertions(+), 7 deletions(-)
>>  create mode 100644 src/packages/fff/fff-web/files/www/hood/.keep
>>
>> diff --git a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
>> index d7c2c13..a2fc651 100644
>> --- a/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
>> +++ b/src/packages/fff/fff-hoods/files/lib/functions/fff/keyxchange
>> @@ -6,8 +6,8 @@
>>  
>>  getJsonPath() {
>>  	jsonfile=""
>> -	if [ -s /www/public/keyxchangev2data ] ; then
>> -		jsonfile="/www/public/keyxchangev2data"
>> +	if [ -s /www/hood/keyxchangev2data ] ; then
>> +		jsonfile="/www/hood/keyxchangev2data"
>>  	elif [ -s /tmp/keyxchangev2data ] ; then
>>  		jsonfile="/tmp/keyxchangev2data"
>>  	fi
>> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> index 88f6f53..c47b251 100755
>> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
>> @@ -70,7 +70,7 @@ else
>>  	if ! isGatewayAvailable ; then
>>  		#now we haven't a gateway in Range, we search for a hidden AP to get a keyxchangev2data file!
>>  		#first we delete all wifi settings
>> -		rm -f /www/public/keyxchangev2data # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
>> +		rm -f /www/hood/keyxchangev2data # delete this, so interfaces are recreated if reconnect with unchanged hood file takes place
>>  
>>  		if ! wifiDelAll; then
>>  			echo "Can't delete current wifi setup"
>> @@ -97,7 +97,7 @@ else
>>  		# wait a moment to start the interface
>>  		sleep 10;
>>  		# and here we can download the Hoodfile from the other node
>> -		wget -T15 -t5 "http://[fe80::1%w2sta]/keyxchangev2data" -O /tmp/keyxchangev2data
>> +		wget -T15 -t5 "http://[fe80::1%w2sta]:2342/keyxchangev2data" -O /tmp/keyxchangev2data
>>  	else
>>  		echo "We have a Gateway in Range, we load the keyxchangev2data from fe80::1"
>>  		wget -T15 -t5 "http://[fe80::1%br-mesh]:2342/keyxchangev2data" -O /tmp/keyxchangev2data
>> @@ -111,7 +111,7 @@ if [ -s /tmp/keyxchangev2data ]; then
>>  	# but without signature, every hood file we get is valid!
>>  
>>  	catnew="$(cat /tmp/keyxchangev2data | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
>> -	catold="$(cat /www/public/keyxchangev2data 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
>> +	catold="$(cat /www/hood/keyxchangev2data 2>/dev/null | sed 's/"timestamp":[0-9]*/"timestamp":0/')"
>>  	sumnew=$(echo "$catnew" | sha256sum | cut -f1 -d " ")
>>  	sumold=$(echo "$catold" | sha256sum | cut -f1 -d " ")
>>  
>> @@ -186,7 +186,7 @@ if [ -s /tmp/keyxchangev2data ]; then
>>  
>>  		# copy the file to webroot so that other Meshrouter can download it;
>>  		# copy only after all other steps so IF can be reentered if something goes wrong
>> -		cp /tmp/keyxchangev2data /www/public/
>> +		cp /tmp/keyxchangev2data /www/hood/
>>  
>>  	else
>>  		echo "We have no new file. We do nothing. We try it again in 5 minutes...";
>> diff --git a/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd b/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
>> index 28ae2b5..42376ad 100644
>> --- a/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
>> +++ b/src/packages/fff/fff-web/files/etc/uci-defaults/93-fff-uhttpd
>> @@ -5,6 +5,7 @@ uci batch <<EOF
>>    delete uhttpd.public
>>    delete uhttpd.ssl
>>    delete uhttpd.px5g
>> +
>>    set uhttpd.public=uhttpd
>>    add_list uhttpd.public.listen_http='80'
>>    set uhttpd.public.home='/www/public'
>> @@ -14,6 +15,7 @@ uci batch <<EOF
>>    set uhttpd.public.network_timeout='30'
>>    set uhttpd.public.tcp_keepalive='1'
>>    set uhttpd.public.config='_'
>> +
>>    set uhttpd.ssl=uhttpd
>>    add_list uhttpd.ssl.listen_https='443'
>>    set uhttpd.ssl.home='/www/ssl'
>> @@ -29,6 +31,14 @@ uci batch <<EOF
>>    set uhttpd.px5g.days='1400'
>>    set uhttpd.px5g.bits='2048'
>>    set uhttpd.px5g.commonname='OpenWrt'
>> +
>> +  set uhttpd.hood=uhttpd
>> +  add_list uhttpd.hood.listen_http='2342'
>> +  set uhttpd.hood.home='/www/hood'
>> +  set uhttpd.hood.rfc1918_filter='1'
>> +  set uhttpd.hood.network_timeout='30'
>> +  set uhttpd.hood.tcp_keepalive='1'
>> +  set uhttpd.hood.config='_'
>>  EOF
>>  
>>  uci commit uhttpd
>> diff --git a/src/packages/fff/fff-web/files/www/hood/.keep b/src/packages/fff/fff-web/files/www/hood/.keep
>> new file mode 100644
>> index 0000000..e69de29
>> diff --git a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
>> index cbce768..402670d 100755
>> --- a/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
>> +++ b/src/packages/fff/fff-web/files/www/ssl/cgi-bin/home.html
>> @@ -5,7 +5,7 @@
>>  if [ "$REQUEST_METHOD" == "POST" ] ; then
>>  	if [ "$POST_resethood" != "" ] ; then
>>  		# reset hood
>> -		rm /www/public/keyxchangev2data 2> /dev/null
>> +		rm /www/hood/keyxchangev2data 2> /dev/null
>>  		MSG='<span class="green">Hood-Daten werden innerhalb von 5 Minuten neu prozessiert.</span>'
>>  	fi
>>  fi
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 833 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20171019/069d2134/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev