Erstellt vor 5 Jahren

Zuletzt geändert vor 4 Jahren

#2117 assigned addition

OpenVPN new GUI

Erstellt von: MaxMuster Verantwortlicher: MaxMuster
Priorität: normal Meilenstein: freetz-future
Komponente: webinterface Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung (zuletzt geändert von MaxMuster)

Ticket for information, wishes and issues regarding the new OpenVPN GUI introduced in 10596.

Änderungshistorie (26)

comment:1 Geändert vor 5 Jahren durch MaxMuster

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

comment:2 Geändert vor 5 Jahren durch MaxMuster

Status: Working on inetd support.

This will need a change in rc.inetd, too: The possibility to have more than one configuration leads to dynamicaly generated configs in /mod/etc. So to use inetd here, rc.inetd must search its config in /mod/etc/... (and not in /etc/....

Any objections ?!?

Zuletzt geändert vor 5 Jahren von MaxMuster (vorher) (Diff)

comment:3 Antwort: Geändert vor 5 Jahren durch cuma

/mod/etc statt /etc/ sollte kein Problem sein. Aber schau doch mal bei Samba, das hat auch mehrere configs/daemons, einer davon mit inetd

Maybe someone with the appropriate trac knowledge/rights can add …

wiki:/help/howtos/development/developer_information/post_commit_hook#trac-post-revprop-change-hook

Brauch man durch dir Umbenennung in -cgi das Anlegen von /etc/default.xyz usw noch? browser:/trunk/make/openvpn-v2-cgi/files/root/etc/default.openvpn/generate_virtual_pkg#L5

Die Datei README in v1 ist noch am falschen PLatz. Brauch man das leere Verzeichnis "sbin"?
script1.def usw werden so wegen "'" nicht funktionieren:

CONFIG_FILE='/tmp/flash/openvpn/script1'
CONFIG_SAVE='modsave flash; chmod 600  ${CONFIG_FILE}; ...
Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)

comment:4 als Antwort auf: ↑ 3 Geändert vor 5 Jahren durch MaxMuster

Replying to cuma:

Brauch man durch dir Umbenennung in -cgi das Anlegen von /etc/default.xyz usw noch? browser:/trunk/make/openvpn-v2-cgi/files/root/etc/default.openvpn/generate_virtual_pkg#L5

Ja, das schon. Die Idee ist, dass jede Config "eigenständig" ist, auch wenn sie auf der Basis der "Grundkonfig" arbeitet.
Es werden zwar in allen Configs auch "OPENVPN_XY" Variablen genutzt, aber jeder Config hat eigene Dateien (für Certs usw), so dass ich z.B. die (Pfad-)angepassten "def"s brauche.

comment:5 Geändert vor 5 Jahren durch MaxMuster

  • Typ von defect nach addition geändert

comment:6 Geändert vor 5 Jahren durch MaxMuster

In 10596:

openvpn:

  • separate binary and gui (prepare for different guis)
  • first version of new gui
  • refs #2117

comment:7 Geändert vor 5 Jahren durch MaxMuster

In 10597:

openvpn_gui:

comment:8 Geändert vor 5 Jahren durch MaxMuster

In 10610:

openvpn-v2-cgi:

  • simplify rc-file
  • add inetd support
  • allow inetd with files generated in /mod/-tree
  • refs #2117

comment:9 Geändert vor 5 Jahren durch MaxMuster

  • Beschreibung geändert (Diff)

comment:10 Geändert vor 5 Jahren durch MaxMuster

Bin mit den Änderungen von Whoopie in 10603 - 10605 noch nicht so ganz zufrieden (man kann jetzt beide GUIs wählen)…
Da es sich bei den GUIs um zwei "exclusive" Pakete handelt, darf maximal eine gewählt sein. Deshalb hatte ich das im Openvpn-Paket selbst gemacht und keine "Config.in"s für die GUIs.
Ein "chioce" würde das machen, aber auch das würde wieder nur im OpenVPN-(binary)-Paket Sinn machen…

comment:11 Geändert vor 5 Jahren durch cuma

Eine GUI könnte nur sichtbar sein wenn die andere nicht ausgewählt ist
Was mir auffiel (interessiert das überhaupt oder wird noch gewerkelt?)


comment:12 Geändert vor 5 Jahren durch MaxMuster

  • IPv6: Versehentlich gelöscht
  • CONF_ENABLED sollte eigentlich ganz raus können (default und GUI schreiben jetzt "no" bei manuell)
  • über den User kann man streiten. Da es keine "Vorgabe" gibt, wird man nicht (wie in der alten GUI) "gezwungen", das unter einem User und im chroot laufen zu lassen.
  • Das mit dem Skript funktioniert:
root@fritz:/var/mod/root# cat /mod/etc/default.openvpn/script1.def 
CAPTION='Script1 (OpenVPN)'
DESCRIPTION='Optionales Skript 1.'
CONFIG_FILE='/tmp/flash/openvpn/script1'
CONFIG_SAVE='modsave flash; chmod 600  ${CONFIG_FILE}; if [ ! -z "$(pidof openvpn)" ]; then echo ""; /mod/etc/init.d/rc.openvpn reload; fi'
CONFIG_TYPE='text'
root@fritz:/var/mod/root# cat /mod/etc/default.openvpn_config2/script1.def 
CAPTION='Script1 (OpenVPN_Config2)'
DESCRIPTION='Optionales Skript 1.'
CONFIG_FILE='/tmp/flash/openvpn/openvpn_config2/script1'
CONFIG_SAVE='modsave flash; chmod 600  ${CONFIG_FILE}; if [ ! -z "$(pidof openvpn_config2)" ]; then echo ""; /mod/etc/init.d/rc.openvpn_config2 reload; fi'
CONFIG_TYPE='text'
root@fritz:/var/mod/root# ls -l /tmp/flash/openvpn/openvpn_config2/script1
-rw-------    1 root     root           922 Jun  1 15:47 /tmp/flash/openvpn/openvpn_config2/script1
root@fritz:/var/mod/root# ls -l /tmp/flash/openvpn/script1
-rw-------    1 root     root           796 Apr 14 21:39 /tmp/flash/openvpn/script1
root@fritz:/var/mod/root#

comment:13 Antwort: Geändert vor 5 Jahren durch cuma

Den daemon unter eigenem User laufen lassen fände ich nicht schlecht. Das haben einige Packages so. Chroot kann ja trotzdem optional bleiben.
Komisch dass das Script so funktioniert wird, ich hatte das im Kopf:

$ a=b
$ echo '$a'
> $a

und

$ a=x
$ b='echo $a'
$ $b
> $a

Aber die Variable wird wohl anders verwendet

Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)

comment:14 Geändert vor 5 Jahren durch MaxMuster

In 10612:

openvpn-v2-cgi:

  • reintroduce openvpn user in rc-file
  • fix inetd ipv6-support
  • refs #2117

comment:15 als Antwort auf: ↑ 13 Geändert vor 5 Jahren durch MaxMuster

Replying to cuma:

Aber die Variable wird wohl anders verwendet

Jepp, ich meine, dass wird als "kompletter Befehl" nach dem "save" ausgeführt (eval "$CONFIG_SAVE").

comment:16 Geändert vor 5 Jahren durch cuma

In 10613:

openvpn-v2-cgi: use modlib_add_user_and_group (refs #2117)

comment:17 Geändert vor 5 Jahren durch Whoopie

@MaxMuster: Du hast Recht, meine Änderungen sind nicht vollständig gewesen, aber ich wusste in dem Moment nicht, wie es am besten wäre. Der Punkt, dass bei GUIs ausgewählt werden können, muss noch gefixt werden.

comment:18 Geändert vor 5 Jahren durch MaxMuster

Das "blöde" ist, dass ich nicht bei beiden "depends ! <die andere>" eingeben kann (error: recursive dependency detected!).
Deshalb bleibt nur, eine "übergeordnete" Instanz, in der ich eine der GUIs wähle. Das hatte ich halt direkt im OpenVPN-Paket gemacht (und die Config.in der CGI-Pakete einfach leer gelassen).
Finde ich immer noch "besser", als die jetzige Situation, aber vielleicht fällt einem "KConfig-Experten" noch ein besserer Ansatz ein…

comment:19 Geändert vor 5 Jahren durch Whoopie

Mit der vorherigen Implementation wurde allerdings bei mir keine GUI in die Firmware gepackt. Deshalb hatte ich diese Änderung gemacht.

comment:20 Geändert vor 5 Jahren durch MaxMuster

Merkwürdig, das hatte bei mir immer geklappt. Das sollte mit der Zeile
select FREETZ_PACKAGE_OPENVPN_GUI if ! FREETZ_PACKAGE_OPENVPN_GUI2
eigentlich sicher gestellt sein?!?

Ich probiere es nochmal, weiß aber nicht, obs heute noch klappt…

comment:21 Geändert vor 5 Jahren durch MaxMuster

In 10615:

openvpn-cgi:

  • make only one CGI selectable
  • refs #2117

comment:22 Geändert vor 5 Jahren durch MaxMuster

So sollte es gehen (ist einfach nicht mehr direkt wählbar sondern nur indirekt über selects), so dass es nicht mehr möglich ist, mehrere GUIs zu wählen.

comment:23 Geändert vor 5 Jahren durch cuma

Ich finde es gut wie es jetzt ist. Allerdings finde ich diesen menuconfig Text zu lang

Use new (very experimental) GUI. ! Old configs are deleted !       

Nenn es doch

Simple GUI - EXPERIMENTAL

comment:24 Geändert vor 5 Jahren durch er13

In 10626:

openvpn:

  • whitespace cleanups
  • refs #2117

comment:25 Geändert vor 4 Jahren durch er13

In 11888:

openvpn-v2-cgi:

  • workaround 'package name violates freetz package naming convention'-problem, it would be nice if we could get rid of both workarounds in the future
  • refs #2117
  • refs #2145

comment:26 Geändert vor 4 Jahren durch Whoopie

Mir fiel auf, das /tmp/flash/openvpn/configs die Zugriffsrechte 000 und einen merkwürdigen Besitzer (eine längere Zahl) hatte. Leider hab ich vergessen, es zu notieren.

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