Erstellt vor 7 Jahren

Geschlossen vor 7 Jahren

#1355 closed defect (fixed)

Aufruf des AVM-WebIF zeigt immer auf "fritz.box" statt auf die IP

Erstellt von: MaxMuster Verantwortlicher: buehmann
Priorität: low Meilenstein: freetz-1.2
Komponente: packages Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

Moin,

In "self_host" der Datei make/mod/files/root/usr/lib/libmodredir.sh vermute ich einen Fehler, der mir "Verdruss" bereitet, da meine Box nicht "fritz.box" heißt ;-)
Momentan ist das Ergebnis bei mir immer "fritz.box", denn in der ersten Zeile, die $HTTP_REFERER auswertet, fehlt ein "\" (oder das sed-Konstrukt müsste in die gleiche Zeile):

Index: make/mod/files/root/usr/lib/libmodredir.sh
===================================================================
--- make/mod/files/root/usr/lib/libmodredir.sh	(Revision 6780)
+++ make/mod/files/root/usr/lib/libmodredir.sh	(Arbeitskopie)
@@ -6,7 +6,7 @@
 	local TARGET_HOST
 
 	# Use HTTP_REFERER to determine target host (could be a name or an IP)
-	TARGET_HOST=$(echo "$HTTP_REFERER" |
+	TARGET_HOST=$(echo "$HTTP_REFERER" | \
 		sed -n -r 's#^[^:]+://([^/:]+).*$#\1#p')
 
 	# Try HTTP_HOST

Änderungshistorie (12)

comment:1 Geändert vor 7 Jahren durch oliver

  • Meilenstein von freetz-1.3 nach freetz-1.2 geändert

comment:2 Geändert vor 7 Jahren durch ralf

Bist Du sicher, dass das bei Deinem Problem hilft? Da hier eine Klammer offen ist und ein Pipe-Symbol am Ende der Zeile, wird die nächste Zeile automatisch mit dazu genommen. Anderenfalls hättest Du eine Meldung über eine nicht abgeschlossene Zeile.

Zuletzt geändert vor 7 Jahren von ralf (vorher) (Diff)

comment:3 Geändert vor 7 Jahren durch MaxMuster

Nein, du hast Recht, das war nicht die Lösung. Es lag nur am Löschen des Menu Caches nach meiner Änderung :-(

Dann wird der Name vielleicht "zu früh" gesetzt? Bevor die Weboberfläche aufgerufen wurde?? Die Lösung kenne ich also nicht, der "Fehler" bleibt aber bei mir:
System → AVM-Webinterface
verweist bei mir immer auf "http://fritz.box/", nach "rm -rf /mod/var/cache/menu" und einem neuen Aufruf auf "http://<IP der Box>/"

comment:4 Geändert vor 7 Jahren durch MaxMuster

  • Zusammenfassung von Typo in self_host nach Aufruf des AVM-WebIF zeigt immer auf "fritz.box" statt auf die IP geändert

comment:5 Geändert vor 7 Jahren durch oliver

  • Status von new nach assigned geändert
  • Verantwortlicher auf buehmann gesetzt

Ich vermute, dass dieser Link (es gibt noch einen anderen Fall wo das aufgerufen wird) früher "on-the-fly" generiert wurde. Andreas hat, wahrscheinlich beim Refactoring, das Caching eingeführt. Was wiederum dazu führt, dass die Variablen nicht wie gedacht belegt sind…

@Andreas
Hast du eine Idee wie man das anpassen kann?

comment:6 Geändert vor 7 Jahren durch buehmann

Die Vermutung stimmt. self_host darf nur während eines echten Requests aufgerufen werden (sonst gibt es Dinge wie den Referrer ja gar nicht). Das Menü wird aber mittlerweile unabhängig vorbereitet.

Zur Lösung sollten wir meines Erachtens den gleichen Weg wie in der anderen Richtung (AVM → Freetz) gehen:

  1. Ins Freetz-Menü kommt ein fester Link, z.B. /cgi-bin/avm
  2. Das Skript /cgi-bin/avm ruft intern self_host auf und führt den Redirect durch (analog zu /cgi-bin/freetz_status im AVM-Webif)

comment:7 Geändert vor 7 Jahren durch buehmann

In [7044]:

Redirect to AVM webif; refs #1355

comment:8 Geändert vor 7 Jahren durch cuma

Braucht man diese Zeile noch?

. /usr/lib/libmodredir.sh

http://freetz.org/browser/trunk/make/mod/files/root/usr/lib/mww/cgi/menu-new.sh#L189

comment:9 Geändert vor 7 Jahren durch buehmann

Nein, die ist dann überflüssig. Entfernst du sie?

comment:10 Geändert vor 7 Jahren durch cuma

In [7045]:

remove obsolete sourcing of libmodredir.sh (refs #1355, r7044)

comment:11 Geändert vor 7 Jahren durch MaxMuster

… falls ihr dazu eine Rückmeldung möchtet :-) :
Danke! Geht jetzt wie gewünscht!

comment:12 Geändert vor 7 Jahren durch buehmann

  • Lösung auf fixed gesetzt
  • Status von assigned nach closed geändert

Super, ebenfalls danke für die Rückmeldung.

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.