Changeset 141418f in freewrt for package/base-files


Ignore:
Timestamp:
Jul 9, 2006, 12:57:58 PM (19 years ago)
Author:
Waldemar Brodkorb <wbx@…>
Branches:
freewrt_1_0, freewrt_2_0
Children:
e4ba301
Parents:
9282773
Message:
  • remove some obsolete firewall config stuff
  • add old-style network configuration based on nvram
  • add new rc.conf file to configure which services should be started on startup, bsd-ish behavior
  • disable firewall by default in rc.conf, remote update via ssh is now possible. port 22 is open by default on wan side
  • enable suid bit on busybox and add a "admin" user
  • ssh via root is disabled (dropbear -w)
  • default password for "admin" is "FreeWRT", as well as for root please change directly after installation
  • remove telnetd from startup, will be used only for failsafe

git-svn-id: svn://www.freewrt.org/trunk/freewrt@181 afb5a338-a214-0410-bd46-81f09a774fd1

Location:
package/base-files/default/etc
Files:
4 added
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • package/base-files/default/etc/functions.sh

    r9282773 r141418f  
    1 #!/bin/sh
     1#!/bin/ash
     2
    23alias debug=${DEBUG:-:}
    34
     
    67  ifconfig "$1" >&- 2>&- ||
    78  [ "${1%%[0-9]}" = "br" ] ||
     9  {
     10    [ "${1%%[0-9]}" = "vlan" ] && (
     11      i=${1#vlan}
     12      hwname=$(nvram get vlan${i}hwname)
     13      hwaddr=$(nvram get ${hwname}macaddr)
     14      [ -z "$hwaddr" ] && return 1
     15
     16      vif=$(ifconfig -a | awk '/^eth.*'$hwaddr'/ {print $1; exit}' IGNORECASE=1)
     17      debug "# vlan$i => $vif"
     18
     19      $DEBUG ifconfig $vif up
     20      $DEBUG vconfig add $vif $i 2>&-
     21    )
     22  } ||
    823  { debug "# missing interface '$1' ignored"; false; }
    924)
    1025
    11 hotplug_dev() {
    12         env -i ACTION=$1 INTERFACE=$2 /sbin/hotplug net
    13 }
     26do_ifup() {
     27        if_proto=$(nvram get ${2}_proto)
     28        if=$(nvram get ${2}_ifname)
     29        [ "${if%%[0-9]}" = "ppp" ] && if=$(nvram get ${2}_device)
     30       
     31        pidfile=/var/run/${if}.pid
     32        [ -f $pidfile ] && $DEBUG kill $(cat $pidfile)
    1433
    15 config_cb() {
    16         return 0
    17 }
    18 option_cb() {
    19         return 0
    20 }
     34        case "$1" in
     35        static)
     36                ip=$(nvram get ${2}_ipaddr)
     37                netmask=$(nvram get ${2}_netmask)
     38                gateway=$(nvram get ${2}_gateway)
     39                mtu=$(nvram get ${2}_mtu)
     40                static_route=$(nvram get ${2}_static_route)
    2141
    22 config () {
    23         config_cb "$@"
    24         _C=$((${_C:-0} + 1))
    25         export CONFIG_SECTION="${2:-cfg${_C}}"
    26         export CONFIG_${CONFIG_SECTION}_TYPE="$1"
    27 }
     42                $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} ${mtu:+mtu $(($mtu))} broadcast + up
     43                ${gateway:+$DEBUG route add default gw $gateway}
    2844
    29 option () {
    30         local varname="$1" ; shift
    31         export CONFIG_${CONFIG_SECTION}_${varname}="$*"
    32         option_cb "$varname" "$*"
    33 }
     45                [ -n "$static_route" ] && {
     46                        for route in $static_route; do {
     47                        eval "set $(echo $route | sed 's/:/ /g')"
     48                                if [ "$2" = "255.255.255.255" ]; then
     49                                        opt="-host"
     50                                fi
     51                                $DEBUG route add ${opt:-"-net"} $1 netmask $2 gw $3 metric $4
     52                        } done
     53                }
    3454
    35 config_clear() {
    36         [ -z "$CONFIG_SECTION" ] && return
    37         for oldsetting in `set | grep ^CONFIG_${CONFIG_SECTION}_ | \
    38                 sed -e 's/\(.*\)=.*$/\1/'` ; do
    39                 unset $oldsetting
    40         done
    41         unset CONFIG_SECTION
    42 }
     55                [ -f /etc/resolv.conf ] || {
     56                        debug "# --- creating /etc/resolv.conf ---"
     57                        for dns in $(nvram get ${2}_dns); do
     58                                echo "nameserver $dns" >> /etc/resolv.conf
     59                        done
     60                }
     61               
     62                env -i ACTION="ifup" INTERFACE="${2}" PROTO=static /sbin/hotplug "iface" &
     63        ;;
     64        dhcp)
     65                DHCP_IP=$(nvram get ${2}_ipaddr)
     66                DHCP_NETMASK=$(nvram get ${2}_netmask)
     67                mtu=$(nvram get ${2}_mtu)
     68                $DEBUG ifconfig $if $ip ${netmask:+netmask $netmask} ${mtu:+mtu $(($mtu))} broadcast + up
    4369
    44 config_load() {
    45         local CD=""
    46         if [ \! -e "$1" -a -e "/etc/config/$1" ]; then
    47                 cd /etc/config && local CD=1
    48         fi
    49         [ -e "$1" ] && . $1
    50         ${CD:+cd - >/dev/null}
    51         ${CONFIG_SECTION:+config_cb}
    52 }
    53 
    54 config_get() {
    55         case "$3" in
    56                 "") eval "echo \${CONFIG_${1}_${2}}";;
    57                 *) eval "$1=\"\${CONFIG_${2}_${3}}\"";;
     70                DHCP_ARGS="-i $if ${DHCP_IP:+-r $DHCP_IP} -b -p $pidfile"
     71                DHCP_HOSTNAME=$(nvram get ${2}_hostname)
     72                DHCP_HOSTNAME=${DHCP_HOSTNAME%%.*}
     73                [ -z $DHCP_HOSTNAME ] || DHCP_ARGS="$DHCP_ARGS -H $DHCP_HOSTNAME"
     74                [ "$if_proto" = "pptp" ] && DHCP_ARGS="$DHCP_ARGS -n -q" || DHCP_ARGS="$DHCP_ARGS -R &"
     75                [ -r $pidfile ] && oldpid=$(cat $pidfile 2>&-)
     76                ${DEBUG:-eval} "udhcpc $DHCP_ARGS"
     77                [ -n "$oldpid" ] && pidof udhcpc | grep "$oldpid" >&- 2>&- && {
     78                        sleep 1
     79                        kill -9 $oldpid
     80                }
     81                # hotplug events are handled by /usr/share/udhcpc/default.script
     82        ;;
     83        none|"")
     84        ;;
     85        *)
     86                [ -x "/sbin/ifup.$1" ] && { $DEBUG /sbin/ifup.$1 ${2}; exit; }
     87                echo "### ifup ${2}: ignored ${2}_proto=\"$1\" (not supported)"
     88        ;;
    5889        esac
    59 }
    60 
    61 config_set() {
    62         export CONFIG_${1}_${2}="${3}"
    6390}
    6491
  • package/base-files/default/etc/group

    r9282773 r141418f  
    11root:x:0:
     2admin:x:100:
    23nogroup:x:65534:
  • package/base-files/default/etc/init.d/S98done

    r9282773 r141418f  
    11#!/bin/sh
    22sysctl -p >&-
    3 
    4 # automagically run firstboot
    5 { mount|grep "on / type tmpfs" 1>&-; } && {
    6         lock /tmp/.switch2jffs
    7         firstboot switch2jffs
    8         lock -u /tmp/.switch2jffs
    9 }
  • package/base-files/default/etc/passwd

    r9282773 r141418f  
    1 root:!:0:0:root:/tmp:/bin/ash
     1root:$1$$M/vfMxhSbKMGpvL4Uxt1G/:0:0:root:/tmp:/bin/ash
     2admin:$1$$M/vfMxhSbKMGpvL4Uxt1G/:100:100:admin:/tmp:/bin/ash
    23nobody:*:65534:65534:nobody:/var:/bin/false
Note: See TracChangeset for help on using the changeset viewer.