Initial import from FreeBSD RELENG_4:
[dragonfly.git] / release / picobsd / floppy.tree / etc / rc.conf.defaults
1 #!/bin/sh
2 # $FreeBSD: src/release/picobsd/floppy.tree/etc/rc.conf.defaults,v 1.1.2.2 2002/03/09 18:27:39 luigi Exp $
3 #
4 # rc.conf for picobsd. This is sourced from /etc/rc1, and is supposed to
5 # contain only shell functions that are used later in /etc/rc1.
6
7 # set default values for variables. Boolean values should be either
8 # NO or YES -- other values are not guaranteed to work.
9
10 rc_conf_set_defaults() {
11 hostname=""                     # Should not need to set it
12 syslogd_enable="NO"
13 pccard_enable="NO"
14 swapfile=""                     # name of swapfile if aux swapfile desired.
15
16 # Network interface configurations: ifconfig_${interface}[_aliasNN]
17 ifconfig_lo0="inet 127.0.0.1"   # default loopback device configuration.
18 #ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry.
19
20 ### Network daemons options: they are only run if present.
21 sshd_enable="YES"               # if present...
22 inetd_enable="YES"              # Run the network daemon dispatcher (or NO)
23 inetd_flags=""                  # Optional flags to inetd
24 snmpd_enable="NO"               # Run the SNMP daemon (or NO)
25 snmpd_flags="-C -c /etc/snmpd.conf"     # Optional flags to snmpd
26
27 ### Network routing options: ###
28 defaultrouter="NO"              # Set to default gateway (or NO).
29 static_routes=""                # Set to static route list (or leave empty).
30 gateway_enable="NO"             # Set to YES if this host will be a gateway.
31 arpproxy_all=""                 # replaces obsolete kernel option ARP_PROXYALL.
32 default_mask="0xffffff00"
33
34 ### Other network features
35 firewall_enable="NO"
36 firewall_quiet="NO"             # be quiet if set.
37 firewall_type=""                # Standard types or absolute pathname.
38 tcp_extensions="NO"             # Allow RFC1323 & RFC1644 extensions (or NO).
39
40 ### Overrides for some files in /etc. Leave empty if no override,
41 ### set variable (remember to use multiple lines) to override content.
42
43 host_conf="hosts
44 bind"
45 resolv_conf=""
46 }
47
48 # Try to identify the system by using the MAC address and name of the
49 # first ethernet interface, made available as $main_eth $main_if
50 find_system_id() {
51     main_ether=""
52     for main_if in `ifconfig -l` ; do
53         set `ifconfig $main_if`
54         while [ "$1" != "" ] ; do
55             if [ $1 = "ether" ] ; then
56                 main_ether=$2
57                 break 2
58             else
59                 shift
60             fi
61         done
62     done
63 }
64
65 # the following lets the user specify a name and ip for his system
66 read_address() {
67     echo "Please enter a hostname and IP address for your system $main_ether"
68     read hostname the_ip
69     if [ "${hostname}" != "" ] ; then
70         echo "# $main_ether $hostname" >> /etc/hosts
71         echo "$the_ip $hostname" >> /etc/hosts
72     else
73         hostname=default
74     fi
75 }
76
77 # set "ether" using $1 (interface name) as search key
78 get_ether() {
79     local key
80     key=$1
81     ether=""
82     set `ifconfig ${key}`
83     while [ "$1" != "" ] ; do
84         if [ "$1" = "ether" ] ; then
85             ether=$2
86             break
87         else
88             shift
89         fi
90     done
91 }
92
93 # read content from /etc/hosts into a couple of arrays
94 # (needed later in fetch_hostname)
95 read_hosts() {
96     local i a b c key junk
97     i=""
98     while read a b c junk ; do
99         if [ "$a" = "#ethertable" ] ; then
100             i=0
101         elif [ "$i" != "" -a "$a" = "#" -a "$b" != "" ] ; then
102             eval eth_${i}=$b
103             eval eth_host_${i}=$c
104             i=$(($i+1))
105         fi
106     done < /etc/hosts
107 }
108
109 # set ${hostname} using $1 (MAC address) as search key in /etc/hosts
110 # Returns empty value if $1 is empty
111 fetch_hostname() {
112     local i b key
113     hostname=""
114     [ "$1" = "" ] && return
115     key=$1
116     i=0
117     b="x"
118     [ "${eth_0}" = "" ] && read_hosts # fill cache.
119     while [ "$b" != "" -a "${hostname}" = "" ] ; do
120         eval b=\${eth_${i}}
121         case X${key} in
122         X${b} ) # so we can use wildcards
123             eval hostname=\${eth_host_${i}}
124             break
125             ;;
126         esac
127         i=$(($i+1))
128     done
129     echo "fetch_hostname for <${key}> returns <${hostname}>"
130 }
131
132 # sets "mask" using $1 (netmask name) as the search key in /etc/networks
133 fetch_mask() {
134     local a b key junk
135     key=$1      # search key, typically hostname-netmask
136     mask=""
137     while read a b junk; do # key mask otherstuff
138         case X${key} in
139         X${a} ) # The X is so we can use wildcards in ${a}
140             mask=$b
141             break
142             ;;
143         esac
144     done < /etc/networks
145     if [ "${mask}" = "" ] ; then
146         mask=${default_mask}
147     fi
148     echo "fetch_mask for <${key}> returns <${mask}>"
149 }
150
151 # set hostname, and ifconfig_${main_if} (whose MAC is ${main_ether})
152 # if not found, read from console
153 set_main_interface() {
154     if [ -z "${hostname}" ] ; then
155         if [ -z "${main_ether}" ] ; then
156             echo "No ethernets found, using localhost"
157             hostname=localhost
158             return
159         fi
160         fetch_hostname ${main_ether}
161     fi
162
163     [ -z "${hostname}" -o "${hostname}" = "." ] && read_address
164     
165     fetch_mask ${hostname}-netmask
166
167     eval ifconfig_${main_if}=\" \${hostname} netmask \${mask}\"
168     network_interfaces=`ifconfig -l`
169 }
170
171 # set ifconfig_${interface} for all other interfaces
172 set_all_interfaces() {
173     local i ether hostname mask
174
175     for i in `ifconfig -l` ; do
176         if [ "$i" != "${main_if}" ] ; then
177             get_ether $i
178             fetch_hostname ${ether}
179             fetch_mask ${hostname}-netmask
180             [ -n "${ether}" -a -n "${hostname}" ] && \
181                 eval ifconfig_${i}=\" \${hostname} netmask \${mask}\"
182         fi
183     done
184 }