#!/bin/sh export DATE="29.9.2007";SCRIPT=${0#/rom} export TITLE="Verwaltung: Secure Admin" . ${SCRIPT%/*}/cgi-bin-pre.sh cat<Verwaltung: Secure Admin EOF ## some html helper functions # ARGS: name value default_value html_radio() { cat<  EOF } # ARGS: name value default_value html_checkbox() { cat<  EOF } # ARGS: name textfile rows cols html_textarea() { echo "" } if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -z "$QUERY_STRING" ]; then ff_secureadmin=$(nvram get ff_secureadmin) ff_secureadmin=${ff_secureadmin:-on} ff_secureadmin_wan=$(nvram get ff_secureadmin_wan) cat<
$(html_radio ff_secureadmin off $ff_secureadmin)Deaktiviert
$(html_radio ff_secureadmin on $ff_secureadmin)Aktiviert
$(html_checkbox ff_secureadmin_wan on $ff_secureadmin_wan)HTTPS über WAN erlauben
   

Privater Schlüssel

$(html_textarea secureadmin_key privkey.pem)

SSL Zertifikat

$(html_textarea secureadmin_crt cert.pem)
   
EOF pidfile=/var/run/secureadmin.pid if kill -0 $(cat "$pidfile" 2>/dev/null) 2>/dev/null; then cat< Status: Der HTTPS-Dienst ist verfügbar EOF else cat< Status: Der HTTPS-Dienst ist nicht aktiv. EOF fi else IFS=\&;set $QUERY_STRING;unset IFS;eval $* DIRTY= FDIRTY= keyfile="/etc/secureadmin/privkey.pem" crtfile="/etc/secureadmin/cert.pem" if [ -n "$post_secureadmin_genstuff" ]; then FDIRTY=1 ADDR=$(nvram get wifi_ipaddr) if [ -z "$ADDR" ]; then ADDR=$(nvram get lan_ipaddr) fi xrelayd -f -K -U"CN='$ADDR'" -p $keyfile -A $crtfile elif [ -n "$post_secureadmin_savestuff" ]; then FDIRTY=1 unescape $secureadmin_key | sed "s,[^0-9a-zA-Z: /+=-],,g" > "$keyfile" unescape $secureadmin_crt | sed "s,[^0-9a-zA-Z: /+=-],,g" > "$crtfile" elif [ -n "$post_secureadmin" ]; then ## update variables for V in ff_secureadmin ff_secureadmin_wan; do eval "C=\$$V" C=$(unescape $C) if [ "$C" != "$(nvram get $V)" ]; then DIRTY=1 nvram set $V="$C" fi done ## commit if required if [ -n "$DIRTY" ]; then nvram commit>/dev/null 2>&1 fi fi ## restart if requred if [ -n "$DIRTY" -o -n "$FDIRTY" ]; then /etc/init.d/S70secureadmin restart 2>/dev/null fi cat< Die geänderten Einstellungen wurden übernommen. Ein Neustart des Routers ist nicht nötig. EOF fi . ${SCRIPT%/*}/cgi-bin-post.sh