diff options
Diffstat (limited to 'etc')
350 files changed, 34293 insertions, 0 deletions
diff --git a/etc/MAKEDEV b/etc/MAKEDEV new file mode 100644 index 0000000..ed1e587 --- /dev/null +++ b/etc/MAKEDEV @@ -0,0 +1,1778 @@ +#!/bin/sh - +# +# Copyright (c) 1990 The Regents of the University of California. +# All rights reserved. +# +# Written and contributed by W. Jolitz 12/90 +# +# Redistribution and use in source and binary forms are permitted provided +# that: (1) source distributions retain this entire copyright notice and +# comment, and (2) distributions including binaries display the following +# acknowledgement: ``This product includes software developed by the +# University of California, Berkeley and its contributors'' in the +# documentation or other materials provided with the distribution and in +# all advertising materials mentioning features or use of this software. +# Neither the name of the University nor the names of its contributors may +# be used to endorse or promote products derived from this software without +# specific prior written permission. +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +# +# @(#)MAKEDEV 5.2 (Berkeley) 6/22/90 +# $FreeBSD$ +# +# Device "make" file. Valid arguments: +# all makes all known devices, standard number of units (or close) +# std standard devices +# jail suitable for a jail(8) +# local configuration specific devices +# mach-4 mach4&lites+devices for Mach's XFree86 distribution +# (see http://www.cs.hut.fi/lites.html for more info on LITES) +# +# Tapes: +# wt* QIC-interfaced (e.g. not SCSI) 3M cartridge tape +# sa* SCSI Sequential Access Devices +# +# Disks: +# aac* Adaptec FSA RAID controllers +# aacd* Adaptec FSA RAID +# acd* ATAPI CD-ROM disks +# amrd* AMI MegaRAID +# cd* SCSI CD-ROM disks +# da* SCSI Direct Access Devices +# fd* floppy disk drives (3 1/2", 5 1/4") +# fla* M-Systems DiskOnChip +# idad* Compaq Smart-2 RAID arrays +# matcd* Matsushita (Panasonic) CD-ROM disks +# mcd* Mitsumi CD-ROM disks +# md* Memory (or malloc) disk +# mlx* Mylex DAC960 RAID controllers +# mlxd* Mylex DAC960 RAID disk volumes +# mly* Mylex RAID controllers (newer models) +# scd* Sony CD-ROM disks +# wd* "Winchester" disk drives (ST506,IDE,ESDI,RLL,...) +# wfd* IDE floppy disk drives (LS-120) +# +# Console ports: +# vty* virtual console devices for syscons/pcvt/codrv +# +# Pointing devices: +# mse* Logitech and ATI Inport bus mouse +# psm* PS/2 mouse +# jogdial Sony VAIO jog dial +# sysmouse Mousesystems mouse emulator for syscons +# +# Time devices: +# refclock-* serial ports used by xntpd parse refclocks +# +# Terminal ports: +# tty* general purpose serial ports +# cua* dialout serial ports +# ttyA* Specialix SI/XIO dialin ports ('*' = number of devices) +# cuaA* Specialix SI/XIO dialout ports +# ttyDXX Digiboard Xi - 16 dialin ports (dgb) +# cuaDXX Digiboard Xi - 16 dialout ports (dgb) +# ttyDX.X Digiboards (work in progress) - 16 dialin ports (digi) +# cuaDX.X Digiboards (work in progress) - 16 dialout ports (digi) +# ttyM* Digiboard Xem - 16 dialin ports (dgm) +# cuaM* Digiboard Xem - 16 dialout ports (dgm) +# ttyR* Rocketport dialin ports +# cuaR* Rocketport dialout ports +# +# Pseudo terminals: +# pty* set of 32 master and slave pseudo terminals +# vty* virtual terminals using syscons/pcvt/codrv console +# +# Parallel port: +# lpt* Printer +# ppi* Parallel port i/o +# pps* Pulse per second timing interface +# pcfclock* Parallel time sync interface +# +# I2C and SMBus: +# iic* I2C devices +# smb* SMBUS devices +# +# USB devices: +# usb* USB bus control device +# ugen* generic USB device +# uhid* Human Interface Device (HID) +# ulpt* printer +# umodem* modems +# ums* mouse +# urio* Diamond Rio 500 +# uscanner* USB scanners +# ucom* USB serial devices +# +# SCSI devices (other than CD-ROM, tape and disk): +# ch* SCSI Media-Changer (juke box) driver +# pt* Processor Type (HP scanner, as one example) +# pass* CAM Passthrough device +# ses* SES (SCSI Environmental Services) and +# SAF-TE (Scsi Accessable Fault-Tolerant Enclosures) device +# +# PC-CARD (previously called PCMCIA) support +# card* PC-CARD slots +# +# ISDN devices: +# i4b isdnd call control device +# i4bctl debugging control device +# i4btrc* trace data interface(s), one per passive card +# i4btel* telephony interface(s) +# i4bteld* telephony dialout interface(s) +# i4brbch* raw b channel access device(s) +# +# Special purpose devices: +# acpi Advanced Configuration and Power Interface +# apm Advanced Power Management BIOS +# apmctl APM BIOS control device +# bpf* packet filter +# speaker pc speaker +# tw* xten power controller +# snd* various sound cards +# pcaudio PCM audio driver +# socksys iBCS2 socket system driver +# vat VAT compatibility audio driver (requires snd*) +# gsc Genius GS-4500 hand scanner +# joy pc joystick +# tun* Tunneling IP device +# tap* Ethernet Tunneling device +# snp* tty snoop devices +# spigot Video Spigot video acquisition card +# ctx* Cortex-I video acquisition card +# meteor* Matrox Meteor video acquisition card (pci) +# bktr* Bt848 based video acquisition card (pci) +# labpc* National Instrument's Lab-PC and LAB-PC+ +# perfmon CPU performance-monitoring counters +# pci PCI configuration-space access from user mode +# ipl ipfilter control devices (ipl, ipnat, ipstate, ipauth) +# kbd keyboard devices +# 3dfx* 3dfx voodoo device for glide (tdfx) (/dev/3dfx,3dfxN,voodoo) +# agpgart AGP interface +# cfs* Coda Distributed Filesystem +# nsmb* SMB/CIFS protocol interface +# + +if [ -n "$MAKEDEVPATH" ]; then + PATH="$MAKEDEVPATH" +else + PATH=/sbin:/bin +fi +umask 77 + +# Usage: die exitcode msg +die() { + echo $2 + exit $1 +} + +# Convert integer to partition name +dkitop() { + local p + + case $1 in + 0) p=a;; 1) p=b;; 2) p=c;; 3) p=d;; 4) p=e;; 5) p=f;; 6) p=g;; 7) p=h;; + *) p="?";; + esac + echo $p +} + +# Convert integer to slice name +dkitos() { + local s + + case $1 in + 0) s="";; + 1) s="";; + *) s=s$(($1-1));; + esac + echo $s +} + +# Convert disk (type, unit, slice, partition) to minor number +dkminor() +{ + echo $(($1 << 25 | ($2 / 32) << 21 | ($2 % 32) << 3 | $3 << 16 | $4)) +} + +# Print the hexadecimal representation of a decimal value from 0 to 15. +hexdigit() { + local d + + if [ $1 -lt 10 ]; then + d=$1 + else + case $1 in + 10) d=a;; 11) d=b;; 12) d=c;; 13) d=d;; 14) d=e;; 15) d=f;; + *) d="?";; + esac + fi + echo $d +} + +# Print the hexadecimal representation of an arbitrary decimal value. +hexprint() { + local dig + local str + local val + + val=$1 + str='' + dig=`hexdigit $(($val & 15))` + str=$dig$str + val=$(($val >> 4)) + while [ $val -gt 0 ]; do + dig=`hexdigit $(($val & 15))` + str=$dig$str + val=$(($val >> 4)) + done + echo $str +} + +# Override mknod(2) to add extra handling to it. +mknod=/sbin/mknod +for i in `IFS=':'; echo $PATH`; do + if [ -x "${i}/mknod" ]; then + mknod="${i}/mknod" + break + fi +done +mknod() { + rm -f "$1" || exit 1 + case $# in + 4) "$mknod" "$@" root:wheel || die 2 "$mknod $@ failed";; + 5) "$mknod" "$@" || die 2 "$mknod $@ failed";; + *) die 2 "bad node: mknod $@";; + esac +} + +# Convert tape (ctrl, unit, mode, access) to minor number +saminor() +{ + echo $(($1 << 29 | ($2 / 16) << 16 | ($2 % 16) << 4 | $3 << 2 | $4)) +} + +# Convert the last character of a tty name to a minor number. +ttyminor() +{ + case $1 in + [0-9]) m=$1;; + a) m=10;; b) m=11;; c) m=12;; d) m=13;; e) m=14;; f) m=15;; g) m=16;; + h) m=17;; i) m=18;; j) m=19;; k) m=20;; l) m=21;; m) m=22;; n) m=23;; + o) m=24;; p) m=25;; q) m=26;; r) m=27;; s) m=28;; t) m=29;; u) m=30;; + v) m=31;; + *) m="?";; + esac + echo $m +} + +# Convert a unit number to a minor number. +unit2minor() +{ + echo $(((($1 >> 8) << 16) | ($1 % 256))) +} + +# Zero-pad a value to the appropriate minimum length. +zeropad() { + local min + local val + + min=$1 + val=$2 + while [ ${#val} -lt $min ]; do + val=0$val + done + echo $val +} + +# Raw partition for disks +dkrawpart=2 + +# Compatibility slice for disks +dkcompatslice=0 + +# Raw slice for disks +dkrawslice=1 + +# Standard umasks +disk_umask=037 # allow group operator to read disks +tape_umask=017 # allow group operator to read/write tapes + +for i in $*; do +case $i in + +all) + sh $0 std # standard + sh $0 fd0 fd1 # floppy disk + sh $0 da0 da1 da2 da3 # SCSI disk + sh $0 ata # ATA control + sh $0 ad0 ad1 ad2 ad3 # ATA disk + sh $0 ar0 ar1 # ATA RAID disk + sh $0 acd0 acd0t0 afd0 ast0 # ATAPI devices + sh $0 wd0 wd1 wd2 wd3 # OLD disk + sh $0 wcd0 wfd0 wst0 # OLD ATAPI devs + sh $0 cd0 matcd0 mcd0 scd0 # cdrom + sh $0 sa0 wt0 # tape + sh $0 vty12 # virtual tty + sh $0 cuaa0 cuaa1 cuaa2 cuaa3 # serial tty + sh $0 pty0 # pseudo tty + sh $0 ttyd0 ttyd1 ttyd2 ttyd3 # serial tty + sh $0 kbd0 kbd1 # keyboard + sh $0 mse0 psm0 jogdial sysmouse # mouse + sh $0 pcaudio speaker # noise + sh $0 lpt0 lpt1 lpt2 # printer + sh $0 ppi0 ppi1 ppi2 # parallel port + sh $0 iic0 iic1 # I2C device + sh $0 smb0 smb1 # SMBus device + sh $0 usb usb0 uhid0 ums0 ulpt0 ugen0 # USB devices + sh $0 urio0 uscanner0 umodem0 # USB devices too + sh $0 bpf0 bpf1 bpf2 bpf3 # network + sh $0 ipl tun0 tun1 tun2 tun3 # network + sh $0 tap0 tap1 tap2 tap3 # network + sh $0 ch0 perfmon tw0 # miscellaneous + sh $0 acpi # ACPI + sh $0 apm apmctl card0 card1 card2 card3 # laptop + sh $0 pass4 xpt2 # CAM + sh $0 i4b i4bctl i4btrc0 i4btrc1 # ISDN + sh $0 i4btel0 i4btel1 i4bteld0 i4bteld1 # ISDN + sh $0 i4brbch0 i4brbch1 # ISDN + sh $0 agpgart # AGP + sh $0 nsmb0 # SMB/CIFS + sh $0 ti0 ti1 # ti(4) + ;; + +# a much restricted set of the above, to save precious i-nodes on the +# fixit floppy +fixit) + sh $0 std # standard + sh $0 fd0 # floppy disk + sh $0 da0 # SCSI disk + sh $0 ad0 # ATA disk + sh $0 acd0 afd0 ast0 # ATAPI devices + sh $0 wd0 # OLD disk + sh $0 wcd0 wfd0 wst0 # OLD ATAPI devs + sh $0 cd0 # cdrom + sh $0 sa0 # tape + sh $0 vty2 # virtual tty + sh $0 cuaa0 # serial tty + sh $0 pty0 # pseudo tty + sh $0 ttyd0 # serial tty + sh $0 kbd0 # keyboard + sh $0 mse0 psm0 jogdial sysmouse # mouse + sh $0 lpt0 # printer + sh $0 ppi0 # parallel port + sh $0 iic0 # I2C device + sh $0 smb0 # SMBus device + sh $0 ums0 # USB devices + sh $0 tun0 # network + sh $0 tap0 # network + sh $0 ch0 # miscellaneous + sh $0 acpi # ACPI + sh $0 apm apmctl card0 # laptop + sh $0 pass1 xpt1 # CAM + sh $0 i4b i4bctl i4btrc0 i4btrc1 # ISDN + sh $0 i4btel0 i4bteld0 # ISDN + sh $0 i4brbch0 # ISDN + rm -f fd/[1-9]? + ;; + +std) + mknod console c 0 0; chmod 600 console + mknod kmem c 2 1 root:kmem; chmod 640 kmem + mknod mem c 2 0 root:kmem; chmod 640 mem + mknod null c 2 2; chmod 666 null + mknod random c 2 3; chmod 666 random + ln -f random urandom + mknod zero c 2 12; chmod 666 zero + mknod io c 2 14; chmod 600 io + mknod tty c 1 0; chmod 666 tty + mknod klog c 7 0; chmod 600 klog + mknod pci c 78 0; chmod 644 pci + mknod mdctl c 95 0xffff00ff; chmod 600 mdctl + mkdir -p fd + (cd fd && i=0 && + while [ $i -lt 64 ]; do + mknod $i c 22 $i + i=$(($i + 1)) + done + ) + chmod 555 fd + chmod 666 fd/* + ln -sf fd/0 stdin + ln -sf fd/1 stdout + ln -sf fd/2 stderr + ;; + +jail) + sh $0 std pty0 + rm mem kmem pci io klog console # for security + ln -sf null mem # for libkvm (ab)users + ln -sf null kmem # --//-- + ln -sf null console + ;; + +mach-4) + mknod iopl c 22 0 + mknod kbd c 23 0 + mknod mouse c 24 0 + mknod time c 25 0 + mknod timezone c 26 0 + ;; + +# Create device files for new Archive/Wangtek QIC-02 tape driver (vak) +wt*) + umask $tape_umask + u=`expr $i : '..\(.*\)'` + if [ -z "${u}" ]; then u=0; fi + # default density, 512b blocks + mknod rwt${u} c 10 $(( 0 + $u)) root:operator + mknod nrwt${u} c 10 $(( 4 + $u)) root:operator + # default density, 1024b blocks +# mknod rWt${u} c 10 $((64 + $u)) root:operator +# mknod nrWt${u} c 10 $((68 + $u)) root:operator + mknod rwt${u}b c 10 $((16 + $u)) root:operator # 60 megabytes + mknod nrwt${u}b c 10 $((20 + $u)) root:operator + mknod rwt${u}c c 10 $((24 + $u)) root:operator # 120 megabytes + mknod nrwt${u}c c 10 $((28 + $u)) root:operator + mknod rwt${u}d c 10 $((32 + $u)) root:operator # 150 megabytes + mknod nrwt${u}d c 10 $((36 + $u)) root:operator +# mknod rwt${u}e c 10 $((40 + $u)) root:operator # 300 megabytes? +# mknod nrwt${u}e c 10 $((44 + $u)) root:operator +# mknod rwt${u}f c 10 $((48 + $u)) root:operator # 600 megabytes? +# mknod nrwt${u}f c 10 $((52 + $u)) root:operator + umask 77 + ;; + +# Individual slices. +aacd*s*|ad*s*|ar*s*|afd*s*|amrd*s*|da*s*|fla*s*|idad*s*|md*s*|mlxd*s*|twed*s*|wd*s*|wfd*s*) + umask $disk_umask + case $i in + aacd*s*) name=aacd; chr=151;; + ad*s*) name=ad; chr=116;; + ar*s*) name=ar; chr=157;; + afd*s*) name=afd; chr=118;; + amrd*s*) name=amrd; chr=133;; + da*s*) name=da; chr=13;; + fla*s*) name=fla; chr=102;; + idad*s*) name=idad; chr=109;; + md*s*) name=md; chr=95;; + mlxd*s*) name=mlxd; chr=131;; + twed*s*) name=twed; chr=147;; + wd*s*) name=wd; chr=3;; + wfd*s*) name=wfd; chr=87;; + esac + case $i in + aacd*s*|amrd*s*|idad*s*|mlxd*s*|twed*s*) + unit=`expr $i : '....\([0-9]*\)s'` + slice=`expr $i : '....[0-9]*s\([0-9]*\)'` + part=`expr $i : '....[0-9]*s[0-9]*\(.*\)'` + ;; + afd*s*|fla*s*|wfd*s*) + unit=`expr $i : '...\([0-9]*\)s'` + slice=`expr $i : '...[0-9]*s\([0-9]*\)'` + part=`expr $i : '...[0-9]*s[0-9]*\(.*\)'` + ;; + *) + unit=`expr $i : '..\([0-9]*\)s'` + slice=`expr $i : '..[0-9]*s\([0-9]*\)'` + part=`expr $i : '..[0-9]*s[0-9]*\(.*\)'` + ;; + esac + case $unit in + [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1]) + case $slice in + [0-9]|[1-2][0-9]|30) + oldslice=$slice + slice=$(($slice+1)) + slicename=`dkitos $slice` + minor=`dkminor 0 $unit $slice $dkrawpart` + mknod $name$unit$slicename c $chr $minor root:operator + ln -f $name$unit$slicename r$name$unit$slicename + case $part in + [a-h]) + case $oldslice in + 0) slice=$oldslice ;; + esac + for part in 0 1 2 3 4 5 6 7 + do + minor=`dkminor 0 $unit $slice $part` + partname=`dkitop $part` + mknod $name$unit$slicename$partname \ + c $chr $minor root:operator + ln -f $name$unit$slicename$partname \ + r$name$unit$slicename$partname + done + ;; + "") + ;; + *) + echo bad partition for disk in: $i + ;; + esac + ;; + *) + echo bad slice for disk in: $i + ;; + esac + ;; + *) + echo bad unit for disk in: $i "(unit=$unit, slice=$slice, part=$part)" + ;; + esac + umask 77 + ;; + +fd*) + umask $disk_umask + unit=`expr $i : '..\(.*\)'` + name=fd; chr=9 + case $unit in + 0|1|2|3) + mknod ${name}${unit} c $chr $(($unit * 64)) root:operator + # Fake BSD partitions + for i in a b c d e f g h + do + ln -f ${name}${unit} ${name}${unit}$i + done + ;; + *) + echo bad unit for disk in: $i + ;; + esac + umask 77 + ;; + +ata) + umask 177 + mknod ata c 159 0 root:operator + umask 77 + ;; + + +aacd*|ad*|ar*|afd*|amrd*|da*|fla*|idad*|md*|mlxd*|twed*|wd*|wfd*) + umask $disk_umask + case $i in + aacd*) name=aacd; chr=151;; + ad*) name=ad; chr=116;; + ar*) name=ar; chr=157;; + afd*) name=afd; chr=118;; + amrd*) name=amrd; chr=133;; + da*) name=da; chr=13;; + fla*) name=fla; chr=102;; + idad*) name=idad; chr=109;; + md*) name=md; chr=95;; + mlxd*) name=mlxd; chr=131;; + twed*) name=twed; chr=147;; + wd*) name=wd; chr=3;; + wfd*) name=wfd; chr=87;; + esac + case $i in + aacd*|amrd*|idad*|mlxd*|twed*) + unit=`expr $i : '....\(.*\)'` + ;; + afd*|fla*|wfd*) + unit=`expr $i : '...\(.*\)'` + ;; + *) + unit=`expr $i : '..\(.*\)'` + ;; + esac + case $unit in + [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1]) + for slicepartname in s0h s1h s2 s3 s4 + do + sh $0 $name$unit$slicepartname + done + ;; + *) + echo bad unit for disk in: $i + ;; + esac + umask 77 + ;; + +ccd*) + umask $disk_umask + name=ccd + chr=74 + unit=`expr $i : '...\(.*\)'` + case $unit in + [0-9]|[0-9][0-9]|[0-4][0-9][0-9]|50[0-9]|51[0-1]) + for part in 0 1 2 3 4 5 6 7 + do + minor=`dkminor 0 $unit 0 $part` + partname=`dkitop $part` + mknod $name$unit$partname c $chr $minor root:operator + ln -f $name$unit$partname r$name$unit$partname + done + ;; + *) + echo bad unit for disk in: $i + ;; + esac + umask 77 + ;; + +# SCSI processor type driver +pt[0-9]*) + chr=61 + name=pt + unit=`expr $i : 'pt\([0-9][0-9]*\)'` + if [ -z "${unit}" ]; then + unit=0 + fi + unit=$(($unit + 1 - 1)) + mknod ${name}${unit} c $chr `unit2minor $unit` + ;; + +# SCSI SES/SAF-TE type driver +ses[0-9]*) + chr=110 + name=ses + unit=`expr $i : 'ses\([0-9][0-9]*\)'` + if [ -z "${unit}" ]; then + unit=0 + fi + unit=$(($unit + 1 - 1)) + mknod ${name}${unit} c $chr `unit2minor $unit` + ;; +# SCSI target mode sample driver +targ[0-9]*) + chr=65 + name=targ + unit=`expr $i : 'targ\([0-9][0-9]*\)'` + if [ -z "${unit}" ]; then + unit=0 + fi + unit=$(($unit + 1 - 1)) + mknod ${name}${unit} c $chr `unit2minor $unit` + mknod ${name}.ctl c $chr 0xffff00ff + ;; + +# CAM transport layer device +xpt*) + # This major number is temporary + chr=104 + name=xpt + units=`expr $i : 'xpt\(.*\)'` + if [ -z "${units}" ]; then + units=1 + fi + i=0 + while [ $i -lt $units ]; do + dname=$name$i + rm -rf $dname r$dname + mknod $dname c $chr `unit2minor $i` root:operator + i=$(($i + 1)) + done + ;; + +# CAM passthrough device +pass*) + # This major number is temporary + chr=31 + name=pass + units=`expr $i : 'pass\(.*\)'` + if [ -z "${units}" ]; then + units=1 + fi + i=0 + while [ $i -lt $units ]; do + dname=$name$i + rm -rf $dname r$dname + mknod $dname c $chr `unit2minor $i` root:operator + i=$(($i + 1)) + done + ;; +pty*) + class=`expr $i : 'pty\(.*\)'` + case $class in + 0) offset=0 name=p;; + 1) offset=32 name=q;; + 2) offset=64 name=r;; + 3) offset=96 name=s;; +# Note that xterm (at least) only look at p-s. + 4) offset=128 name=P;; + 5) offset=160 name=Q;; + 6) offset=192 name=R;; + 7) offset=224 name=S;; + # This still leaves [tuTU]. + *) echo bad unit for pty in: $i;; + esac + umask 0 + case $class in + 0|1|2|3|4|5|6|7) + i=0 + while [ $i -lt 32 ]; do +# This was an awk substr() before. + c=$(echo 0123456789abcdefghijklmnopqrstuv | + dd bs=1 skip=$i count=1 2>/dev/null) + mknod tty$name$c c 5 $(($offset + $i)) + mknod pty$name$c c 6 $(($offset + $i)) + i=$(($i + 1)) + done + ;; + esac + umask 77 + ;; + +sa*) + umask $tape_umask + unit=`expr $i : '..\(.*\)'` + chr=14 + + case $unit in + [0-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]) + mknod sa${unit}.ctl c $chr `saminor 1 ${unit} 0 0` + ln -f sa${unit}.ctl rsa${unit}.ctl + for m in 0 1 2 3 + do + mknod sa${unit}.${m} c $chr \ + `saminor 0 ${unit} ${m} 0` root:operator + ln -f sa${unit}.${m} rsa${unit}.${m} + mknod nsa${unit}.${m} c $chr \ + `saminor 0 ${unit} ${m} 1` root:operator + ln -f nsa${unit}.${m} nrsa${unit}.${m} + mknod esa${unit}.${m} c $chr \ + `saminor 0 ${unit} ${m} 2` root:operator + ln -f esa${unit}.${m} ersa${unit}.${m} + done + ln -f sa${unit}.0 sa${unit} + ln -f sa${unit}.0 rsa${unit}.0 + ln -f sa${unit}.0 rsa${unit} + ln -f nsa${unit}.0 nsa${unit} + ln -f nsa${unit}.0 nrsa${unit}.0 + ln -f nsa${unit}.0 nrsa${unit} + ln -f esa${unit}.0 esa${unit} + ln -f esa${unit}.0 ersa${unit}.0 + ln -f esa${unit}.0 ersa${unit} + ;; + *) + echo bad unit for tape in: $i + ;; + esac + umask 77 + ;; + +ch*) + umask 37 + unit=`expr $i : '..\(.*\)'` + case $i in + ch*) name=ch; chr=17;; + esac + case $unit in + 0|1|2|3|4|5|6) + mknod ${name}${unit} c $chr $unit root:operator + ;; + *) + echo bad unit for media changer in: $i + ;; + esac + umask 77 + ;; + +ast*) + umask 2 ; + unit=`expr $i : '...\(.*\)'` + chr=119 + case $unit in + 0|1|2|3) + mknod ast${unit} c $chr $(($unit * 8 + 0)) root:operator + chmod 640 ast${unit} + mknod nast${unit} c $chr $(($unit * 8 + 1)) root:operator + chmod 640 nast${unit} + ;; + *) + echo bad unit for tape in: $i + ;; + esac + umask 77 + ;; + +acd*t*) + umask $disk_umask + units=`expr $i : '...\(.*\)t'`; + tracks=`expr $i : '.*t\(.*\)'`; + name=acd; + chr=117; + if [ -z "${units}" ]; then + units=0 + fi + if [ -z "${tracks}" ]; then + tracks=100 + fi + if [ "${units}" -le 31 -a "${tracks}" -le 169 ]; then + i=0 + while [ $i -le $units ]; do + dname=$name$i + rm -rf ${dname}t* + j=1 + while [ $j -le ${tracks} ]; do + mknod ${dname}t$j c $chr \ + $((($i * 8) + (65536 * $j))) \ + root:operator + j=$(($j + 1)) + done + i=$(($i + 1)) + done + else + echo "$i is invalid -- can't have more than 32 cd devices or 169 tracks" + fi + umask 77 + ;; + +acd*|cd*|mcd*|scd*) + umask $disk_umask + case $i in + acd*) units=`expr $i : '...\(.*\)'`; name=acd; chr=117;; + cd*) units=`expr $i : '..\(.*\)'`; name=cd; chr=15;; + mcd*) units=`expr $i : '...\(.*\)'`; name=mcd; chr=29;; + scd*) units=`expr $i : '...\(.*\)'`; name=scd; chr=45;; + esac + if [ -z "${units}" ]; then + units=0 + fi + if [ "${units}" -le 31 ]; then + i=0 + while [ $i -le $units ]; do + dname=$name$i + rm -rf ${dname}[!t]* r${dname}* + mknod ${dname}a c $chr $(($i * 8)) root:operator + mknod ${dname}c c $chr $(($i * 8 + 2)) root:operator + ln -f ${dname}a r${dname}a + ln -f ${dname}c r${dname}c + i=$(($i + 1)) + done + else + echo "$i is invalid -- can't have more than 32 cd devices" + fi + umask 77 + ;; + +matcd*) + umask 2 + case $i in + matcd*) unit=`expr $i : '.....\(.*\)'`; name=matcd; chr=46;; + esac + case $unit in + 0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15) + mknod ${name}${unit}a c $chr $(($unit * 8 + 0)) \ + root:operator + mknod ${name}${unit}c c $chr $(($unit * 8 + 2)) \ + root:operator + ln -f ${name}${unit}a r${name}${unit}a + ln -f ${name}${unit}c r${name}${unit}c + chmod 640 ${name}${unit}[a-h] r${name}${unit}[a-h] + + mknod ${name}${unit}la c $chr $(($unit * 8 + 128)) \ + root:operator + mknod ${name}${unit}lc c $chr $(($unit * 8 + 130)) \ + root:operator + ln -f ${name}${unit}la r${name}${unit}la + ln -f ${name}${unit}lc r${name}${unit}lc + chmod 640 ${name}${unit}l[a-h] r${name}${unit}l[a-h] + ;; + *) + echo bad unit for disk in: $i + ;; + esac + umask 77 + ;; + +wcd*) + umask 2 ; + unit=`expr $i : '...\(.*\)'` + chr=69 + case $unit in + 0|1|2|3|4|5|6|7) + mknod wcd${unit}a c $chr $(($unit * 8 + 0)) root:operator + mknod wcd${unit}c c $chr $(($unit * 8 + 2)) root:operator + ln -f wcd${unit}a rwcd${unit}a + ln -f wcd${unit}c rwcd${unit}c + chmod 640 wcd${unit}[a-h] rwcd${unit}[a-h] + ;; + *) + echo bad unit for disk in: $i + ;; + esac + umask 77 + ;; + +wst*) + umask 2 ; + unit=`expr $i : '...\(.*\)'` + chr=90 + case $unit in + 0|1|2|3) + mknod rwst${unit} c $chr $(($unit * 8 + 0)) root:operator + chmod 640 rwst${unit} + ;; + esac + umask 77 + ;; + +iic*) + unit=`expr $i : 'iic\(.*\)'` + mknod iic$unit c 105 `unit2minor $unit` + ;; + +smb*) + unit=`expr $i : 'smb\(.*\)'` + mknod smb$unit c 106 `unit2minor $unit` + ;; + +pcfclock*) + unit=`expr $i : 'pcfclock\(.*\)'` + mknod pcfclock$unit c 140 `unit2minor $unit` + ;; + +ppi*) + unit=`expr $i : 'ppi\(.*\)'` + mknod ppi$unit c 82 `unit2minor $unit` + ;; + +pps*) + unit=`expr $i : 'pps\(.*\)'` + mknod pps$unit c 89 `unit2minor $unit` + ;; + +usb) + mknod usb$unit c 108 255 root:operator + chmod 0660 usb$unit + ;; + +usb*) + umask 7 + unit=`expr $i : 'usb\(.*\)'` + mknod usb$unit c 108 `unit2minor $unit` root:operator + umask 77 + ;; + +uhid*) + umask 7 + unit=`expr $i : 'uhid\(.*\)'` + mknod uhid$unit c 122 `unit2minor $unit` root:operator + umask 77 + ;; + +ums*) + umask 7 + unit=`expr $i : 'ums\(.*\)'` + mknod ums$unit c 111 `unit2minor $unit` root:operator + umask 77 + ;; + +ulpt*) + unit=`expr $i : 'ulpt\(.*\)'` + minor=`unit2minor $unit` + mknod ulpt$unit c 113 $minor + minor=`unit2minor $(($unit + 64))` + mknod unlpt$unit c 113 $minor # and the 'no prime' version + ;; + +ugen*) + umask 7 + unit=`expr $i : 'ugen\([0-9][0-9]*\)'` + endpoint=`expr $i : 'ugen.*\.\([0-9][0-9]*\)'` + if [ -z "${unit}" ]; then + echo $i - Invalid unit number + fi + if [ -z "${endpoint}" ]; then # ugen0 & ugen0.1 - ugen0.15 + mknod ugen$unit c 114 \ + `unit2minor $(($unit * 16))` root:operator + i=1 + while [ $i -lt 16 ]; do + mknod ugen$unit.$i c 114 \ + `unit2minor $(($unit * 16 + $i))` root:operator + i=$(($i + 1)) + done + else + minor=`unit2minor $(($unit * 16 + $endpoint))` + mknod ugen$unit.$endpoint c 114 $minor root:operator + fi + umask 77 + ;; + +urio*) + umask 7 + unit=`expr $i : 'urio\(.*\)'` + mknod urio$unit c 143 `unit2minor $unit` root:operator + umask 77 + ;; + +ucom*) + umask 7 + unit=`expr $i : 'ucom\(.*\)'` + minor=`unit2minor $(($unit + 128))` + mknod ucom$unit c 138 $minor uucp:dialer + umask 77 + ;; + +uscanner*) + umask 7 + unit=`expr $i : 'uscanner\(.*\)'` + mknod uscanner$unit c 156 `unit2minor $unit` root:operator + umask 77 + ;; + +umodem*) + umask 7 + unit=`expr $i : 'umodem\(.*\)'` + mknod umodem$unit c 124 `unit2minor $unit` uucp:dialer + umask 77 + ;; + +lpt*) + unit=`expr $i : 'lpt\(.*\)'` + mknod lpt$unit c 16 `unit2minor $unit` + mknod lpctl$unit c 16 `unit2minor $(($unit + 128))` + ;; + +# Use this to create virtual consoles for syscons, pcvt or codrv +# ttyv0-b +# use as MAKEDEV vtyNN to create NN entries +vty*) + chr=12 + units=`expr $i : 'vty\(.*\)'` + i=0 + while [ $i -lt $units ]; do + mknod ttyv$(hexprint $i) c $chr `unit2minor $i` + i=$(($i + 1)) + done + ln -fs ttyv0 vga # XXX X still needs this pccons relic + ;; + +nmdm*) + units=`expr $i : 'nmdm\(.*\)'` + chr=18 + i=0 + while [ $i -lt $units ]; do + minor=`unit2minor $i` + minor=$(($minor + $minor)) + mknod nmdm${i}A c $chr $minor + mknod nmdm${i}B c $chr $(($minor + 1)) + i=$(($i + 1)) + done + ;; + +bpf*) + units=`expr $i : 'bpf\(.*\)$'` + unit=0 + while [ $unit -le $units ]; do + mknod bpf$unit c 23 `unit2minor $unit` + unit=$(($unit + 1)) + done + ;; + +speaker) + mknod speaker c 26 0 + ;; + +cua?|cuaa?|cuaa??) + umask 7 + unit_low=`expr $i : 'cua.*\(.\)$'` + case $i in + cua?|cuaa?) + unit_high="" + m_high=0 + ;; + cuaa??) + unit_high=`expr $i : 'cuaa\(.\).$'` + m_high=`ttyminor $unit_high` + ;; + esac + unit=$unit_high$unit_low + m=$(($m_high << 16 | `ttyminor $unit_low`)) + mknod cuaa$unit c 28 $(($m | 128)) uucp:dialer + mknod cuaia$unit c 28 $(($m | 32 | 128)) uucp:dialer + mknod cuala$unit c 28 $(($m | 64 | 128)) uucp:dialer + umask 77 + ;; + +tty?|tty0?|ttyd?|ttyd??) + unit_low=`expr $i : 'tty.*\(.\)$'` + case $i in + tty?|tty0?|ttyd?) + unit_high="" + m_high=0 + ;; + ttyd??) + unit_high=`expr $i : 'ttyd\(.\).$'` + m_high=`ttyminor $unit_high` + ;; + esac + unit=$unit_high$unit_low + m=$(($m_high << 16 | `ttyminor $unit_low`)) + mknod ttyd$unit c 28 $m + mknod ttyid$unit c 28 $(($m | 32)) + mknod ttyld$unit c 28 $(($m | 64)) + ;; + +cuac?) + umask 7 + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f + g h i j k l m n o p q r s t u v" + major=48 + card=`expr $i : 'cua.*\(.\)$'` + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor)) + name=$card$unit + mknod cuac$name c $major $(($minor + 128)) uucp:dialer + mknod cuaic$name c $major $(($minor + 32 + 128)) uucp:dialer + mknod cualc$name c $major $(($minor + 64 + 128)) uucp:dialer + done + umask 77 + ;; + +ttyc?) + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f + g h i j k l m n o p q r s t u v" + major=48 + card=`expr $i : 'tty.*\(.\)$'` + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor)) + name=$card$unit + mknod ttyc$name c $major $minor + mknod ttyic$name c $major $(($minor + 32)) + mknod ttylc$name c $major $(($minor + 64)) + done + ;; + +# RISCom8 'rc' driver entries + +cuam?) + umask 7 + unit=`expr $i : 'cua.*\(.\)$'` + m=`ttyminor $unit` + mknod cuam$unit c 63 $(($m + 128)) uucp:dialer + umask 77 + ;; + +ttym?) + unit=`expr $i : 'tty.*\(.\)$'` + m=`ttyminor $unit` + mknod ttym$unit c 63 $m + ;; + +# Specialix SI/XIO. +# Note: these are 'base 1' to match the numbers on the panels, and to match +# the manual that comes with the system. +ttyA*) + major=68 + units=`expr $i : 'ttyA\(.*\)$'` + port=1 + while [ $port -le $units ]; do + minor=$(($port - 1)) + name=$(zeropad 2 $port) + mknod ttyA$name c $major $minor + mknod ttyiA$name c $major $(($minor + 65536)) + mknod ttylA$name c $major $(($minor + 131072)) + port=$(($port + 1)) + done + # For the user-mode control program, 'sicontrol' + mknod si_control c 68 262144 + ;; + +cuaA*) + umask 7 + major=68 + units=`expr $i : 'cuaA\(.*\)$'` + port=1 + while [ $port -le $units ]; do + minor=$(($port - 1)) + name=$(zeropad 2 $port) + mknod cuaA$name c $major $(($minor + 128)) uucp:dialer + mknod cuaiA$name c $major $(($minor + 128 + 65536)) \ + uucp:dialer + mknod cualA$name c $major $(($minor + 128 + 131072)) \ + uucp:dialer + port=$(($port + 1)) + done + umask 77 + ;; + +# Alpha AS8[24]00 (TurboLaser) console. +zs?) + unit=`expr $i : 'zs.*\(.\)$'` + m=`ttyminor $unit` + mknod zs$unit c 135 $m + ;; + +# Digiboard PC/?? 16 port card. +# The current scheme of minor numbering is: +# +# unused{14} CARD{2} major{8} CALLOUT{1} LOCK{1} INIT{1} PORT{5} +# +# CARD bitfield in future versions may be extended to 3 bits. +# +# See dgb(4) +# +ttyD?) + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f" + major=58 + card=`expr $i : 'tty.*\(.\)$'` + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor)) + name=$card$unit + mknod ttyD$name c $major $minor + mknod ttyiD$name c $major $(($minor + 32)) + mknod ttylD$name c $major $(($minor + 64)) + done + + # Also create devices for the digi driver + umask 7 + major=162 + card=`expr $i : 'tty.*\(.\)$'` + rm -f digi$card.ctl + mknod digi$card.ctl c $major $(($card * 65536 + 8388608)) uucp:dialer + unit=0 + while [ $unit -lt 16 ] + do + base=$(($card * 65536 + $unit)) + name=$card.$unit + rm -f tty*D$name + mknod ttyD$name c $major $base + mknod ttyiD$name c $major $(($base + 1048576)) + mknod ttylD$name c $major $(($base + 2097152)) + unit=$(($unit + 1)) + done + umask 77 + ;; + +cuaD?) + umask 7 + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f" + major=58 + card=`expr $i : 'cua.*\(.\)$'` + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor)) + name=$card$unit + mknod cuaD$name c $major $(($minor + 128)) uucp:dialer + mknod cuaiD$name c $major $(($minor + 32 + 128)) uucp:dialer + mknod cualD$name c $major $(($minor + 64 + 128)) uucp:dialer + done + + # Also create devices for the digi driver + major=162 + card=`expr $i : 'cua.*\(.\)$'` + rm -f digi$card.ctl + mknod digi$card.ctl c $major $(($card * 65536 + 8388608)) uucp:dialer + unit=0 + while [ $unit -lt 16 ] + do + base=$(($card * 65536 + $unit)) + name=$card.$unit + rm -f cua*D$name + mknod cuaD$name c $major $(($base + 4194304)) uucp:dialer + mknod cuaiD$name c $major $(($base + 5242880)) uucp:dialer + mknod cualD$name c $major $(($base + 6291456)) uucp:dialer + unit=$(($unit + 1)) + done + umask 77 + ;; + +# Digiboard Xem - superceeded by the digi device above +# +ttyM*) + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f" + modulelist="a b c d" + major=101 + card=`expr $i : 'tty.*\(.\)$'` + for unit in $modulelist + do + moduleminor=`ttyminor $unit` + moduleminor=$(($moduleminor % 10 * 16)) + modulename=$unit + + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor + $moduleminor)) + name=$card$modulename$unit + rm -f tty*M$name + mknod ttyM$name c $major $minor + mknod ttyiM$name c $major $(($minor + 64)) + mknod ttylM$name c $major $(($minor + 128)) + done + done + ;; + +cuaM?) + umask 7 + portlist="0 1 2 3 4 5 6 7 8 9 a b c d e f" + modulelist="a b c d" + major=101 + card=`expr $i : 'cua.*\(.\)$'` + for unit in $modulelist + do + moduleminor=`ttyminor $unit` + moduleminor=$(($moduleminor % 10 * 16)) + modulename=$unit + + for unit in $portlist + do + minor=`ttyminor $unit` + minor=$(($card * 65536 + $minor + $moduleminor)) + name=$card$modulename$unit + rm -f cua*M$name + mknod cuaM$name c $major $(($minor + 262144)) \ + uucp:dialer + mknod cuaiM$name c $major $(($minor + 64 + 262144)) \ + uucp:dialer + mknod cualM$name c $major $(($minor + 128 + 262144)) \ + uucp:dialer + done + done + umask 77 + ;; + +ttyR?) + major=81 + BOARD=1; Rnum=0 + MINOR=$(($BOARD * 65536)) + controllers=$( + dmesg | while read first rest; do + case "$first" in + RocketPort[0-4]) + echo "$first" + ;; + esac + done + ) + rm -f ttyR* ttyiR* ttylR* + for i in $controllers; do + ndevices=$( + dmesg | while read first foo bar ports rest; do + case "$first" in + $i*) + echo "$ports" + ;; + esac + done + ) + echo -n "Creating $ndevices devices for $i: " + dev=0 + while [ $dev -lt $ndevices ]; do + mknod ttyR$Rnum c $major $MINOR + mknod ttyiR$Rnum c $major $(($MINOR + 32)) + mknod ttylR$Rnum c $major $(($MINOR + 64)) + Rnum=$(($Rnum + 1)) + MINOR=$(($MINOR + 1)) + dev=$(($dev + 1)) + done + BOARD=$(($BOARD + 1)) + MINOR=$(($BOARD * 65536)) + echo " " + done + ;; + +cuaR?) + major=81 + BOARD=1; Rnum=0 + MINOR=$(($BOARD * 65536)) + controllers=$( + dmesg | while read first rest; do + case "$first" in + RocketPort[0-4]) + echo "$first" + ;; + esac + done + ) + rm -f cuaR* cuaiR* cualR* + for i in $controllers; do + ndevices=$( + dmesg | while read first foo bar ports rest; do + case "$first" in + $i*) + echo "$ports" + ;; + esac + done + ) + echo -n "Creating $ndevices devices for $i: " + dev=0 + while [ $dev -lt $ndevices ]; do + mknod cuaR$Rnum c $major $(($MINOR + 128)) uucp:dialer + mknod cuaiR$Rnum c $major $(($MINOR + 128 + 32)) \ + uucp:dialer + mknod cualR$Rnum c $major $(($MINOR + 128 + 64)) \ + uucp:dialer + Rnum=$(($Rnum + 1)) + MINOR=$(($MINOR + 1)) + dev=$(($dev + 1)) + done + BOARD=$(($BOARD + 1)) + MINOR=$(($BOARD * 65536)) + echo " " + done + ;; + +mse*) + unit=`expr $i : 'mse\(.*\)'` + chr=27 + # non-blocking for X11 + mknod mse$unit c $chr `unit2minor $(($unit * 2 + 1))` + ;; + +psm*) + unit=`expr $i : 'psm\(.*\)'` + chr=21 + # non-blocking for X11 + mknod psm$unit c $chr `unit2minor $(($unit * 2 + 1))` + ;; + +mouse*) + name=`expr $i : 'mouse\(.*\)'` + if [ ! -c $name ]; then + $0 $name # make the appropriate device + fi + ln -fs $name mouse + ;; + +pcaudio) + mknod pcaudio c 24 0 + mknod pcaudioctl c 24 128 + ;; + +socksys) + mknod socksys c 41 0 + mknod spx c 41 1 + ln -fs socksys nfsd + chmod 666 socksys nfsd spx + ;; + +snd*) +# +# changes from Linux voxware +# minor Linux FreeBSD +# 8 sequencer2 (aka music0) music0 +# 17 patmgr0 sequencer1 +# 33 patmgr1 sequencer2 +# + + unit=`expr $i : 'snd\(.*\)'` + chr=30 + + # XXX write this less verbosely, like std + snd_security_hole=0 # XXX + umask $snd_security_hole + + ln -fs mixer$unit mixer + ln -fs sequencer$unit sequencer + ln -fs dsp$unit dsp + ln -fs audio$unit audio + ln -fs dspW$unit dspW + ln -fs music$unit music + ln -fs pss$unit pss + + mknod mixer$unit c $chr `unit2minor $(($unit * 16 + 0))` + mknod sequencer$unit c $chr `unit2minor $(($unit * 16 + 1))` + mknod midi$unit c $chr `unit2minor $(($unit * 16 + 2))` + mknod dsp$unit c $chr `unit2minor $(($unit * 16 + 3))` + mknod audio$unit c $chr `unit2minor $(($unit * 16 + 4))` + mknod dspW$unit c $chr `unit2minor $(($unit * 16 + 5))` + mknod sndstat c $chr 6 + # minor number 7 is unused + mknod music$unit c $chr `unit2minor $(($unit * 16 + 8))` + mknod pss$unit c $chr `unit2minor $(($unit * 16 + 9))` + # minor number 10 is unused + mknod midistat c $chr 11 + # minor numbers 12-15 are unused + umask 77 + ;; + +vat) + mknod vatio c 25 128 + chmod 660 vatio + ;; + +gsc*) + unit=`expr $i : 'gsc\(.*\)'` + mknod gsc${unit} c 47 `unit2minor $unit` + mknod gsc${unit}p c 47 `unit2minor $(($unit + 8))` + mknod gsc${unit}d c 47 `unit2minor $(($unit + 32))` + mknod gsc${unit}pd c 47 `unit2minor $(($unit + 40))` + chmod 666 gsc${unit}* + ;; + +acpi) + mknod acpi c 152 0 root:operator + chmod 660 acpi + ;; + +apm) + mknod apm c 39 0 root:operator + chmod 664 apm + ;; + +apmctl) + mknod apmctl c 39 8 root:operator + chmod 660 apmctl + ;; + +card*) + unit=`expr $i : 'card\(.*\)'` + chr=50 + mknod card$unit c $chr `unit2minor $unit` + chmod 644 card$unit + ;; + +ti*) unit=`expr $i : 'ti\(.*\)'` + chr=153 + mknod ti$unit c $chr `unit2minor $unit` + chmod 600 ti$unit + ;; + +ttyx?|ttyy?|ttyz?) + case $i in + *0) unit=0;; *1) unit=1;; *2) unit=2;; *3) unit=3;; + *4) unit=4;; *5) unit=5;; *6) unit=6;; *7) unit=7;; + *8) unit=8;; *9) unit=9;; *a) unit=10;; *b) unit=11;; + *c) unit=12;; *d) unit=13;; *e) unit=14;; *f) unit=15;; + esac + case $i in + ttyy?) unit=$(($unit + 16));; + ttyz?) unit=$(($unit + 32));; + esac + mknod $i c 42 $unit + ;; + +cronyx) + mknod cronyx c 42 63 + ;; + +joy) + mknod joy0 c 51 0 root:operator + mknod joy1 c 51 1 root:operator + chmod 640 joy0 joy1 + ;; + +spigot) + mknod spigot c 11 0 + chmod 444 spigot + ;; + +ctx?) + unit=`expr $i : 'ctx\(.*\)'` + mknod ctx$unit c 40 `unit2minor $unit` + chmod 444 ctx$unit + ;; + +meteor?) + unit=`expr $i : 'meteor\(.*\)'` + mknod meteor$unit c 67 `unit2minor $unit` + chmod 444 meteor$unit + ;; + +bktr?) + unit=`expr $i : 'bktr\(.*\)'` + mknod bktr$unit c 92 `unit2minor $unit` + mknod tuner$unit c 92 `unit2minor $((16 + $unit))` + mknod vbi$unit c 92 `unit2minor $((32 + $unit))` + chmod 444 bktr$unit tuner$unit vbi$unit + ;; + +tun*) + units=`expr $i : 'tun\(.*\)$'` + unit=0 + while [ $unit -le $units ]; do + mknod tun$unit c 52 `unit2minor $unit` + unit=$(($unit + 1)) + done + ;; + +tap*) + units=`expr $i : 'tap\(.*\)$'` + unit=0 + while [ $unit -le $units ]; do + mknod tap$unit c 149 `unit2minor $unit` root:network + unit=$(($unit + 1)) + done + ;; + +sysmouse) + mknod sysmouse c 12 128 + mknod consolectl c 12 255 + ;; + +jogdial) + mknod jogdial c 160 0 + ;; + +snp?) + unit=`expr $i : 'snp\(.*\)'` + mknod snp$unit c 53 `unit2minor $unit` + ;; + +# dufault@hda.com: If I do much more work on other A-D boards +# then eventually we'll have a "ad" and "dio" interface and some of these +# "labpcaio" ones will be gone. +# labpcaio: D-A and A-D. +# labpcdio: Digital in and Digital out. +# +labpc*) + umask 7 + case $i in + labpcaio*) + name=labpcaio + unit=`expr $i : 'labpcaio\(.*\)'` + all="0 1 2 3 4 5 6 7" + offset=0 + ;; + labpcdio*) + name=labpcdio + unit=`expr $i : 'labpcdio\(.*\)'` + all="0 1 2 3" + offset=8 + ;; + *) + die 3 "Don't know LabPC type $i" + ;; + esac + if [ -z "${unit}" ]; then + unit=all + fi + case $unit in + 0|1|2|3|4|5|6|7) + mknod $name$unit c 66 $(($offset + $unit)) + ;; + all) + for i in $all + do + mknod $name$i c 66 $(($offset + $i)) + done + ;; + *) + echo "No such LabPC unit: $unit" + ;; + esac + umask 77 + ;; + +perfmon) + mknod perfmon c 2 32 root:kmem + chmod 640 perfmon + ;; + +ipl) + mknod ipl c 79 0 + mknod ipnat c 79 1 + mknod ipstate c 79 2 + mknod ipauth c 79 3 + ;; + +kbd*) + unit=`expr $i : 'kbd\(.*\)'` + chr=112 + mknod kbd$unit c $chr `unit2minor $unit` + ;; + +i4b) + mknod i4b c 60 0 + ;; + +i4bctl) + mknod i4bctl c 55 0 + ;; + +i4brbch*) + unit=`expr $i : 'i4brbch\(.*\)'` + mknod i4brbch$unit c 57 `unit2minor $unit` + ;; + +i4bteld*) + offset=64 + unit=`expr $i : 'i4bteld\(.*\)'` + mknod i4bteld$unit c 56 `unit2minor $(($offset + $unit))` + ;; + +i4btel*) + unit=`expr $i : 'i4btel\(.*\)'` + mknod i4btel$unit c 56 `unit2minor $unit` + ;; + +i4btrc*) + unit=`expr $i : 'i4btrc\(.*\)'` + mknod i4btrc$unit c 59 `unit2minor $unit` + ;; + +aac*) + unit=`expr $i : 'aac\(.*\)'` + mknod aac$unit c 150 `unit2minor $unit` + ln -fs aac$unit afa$unit + ln -fs aac$unit hpn$unit + ;; + +mlx*) + unit=`expr $i : 'mlx\(.*\)'` + mknod mlx$unit c 130 `unit2minor $unit` + ;; + +mly*) + unit=`expr $i : 'mlx\(.*\)'` + mknod mlx$unit c 158 `unit2minor $unit` + ;; + +amr*) + unit=`expr $i : 'amr\(.*\)'` + mknod amr$unit c 132 `unit2minor $unit` + ;; + +ciss*) + unit=`expr $i : 'ciss\(.*\)'` + mknod ciss$unit c 166 `unit2minor $unit` + ;; + +3dfx*) + unit=`expr $i : '3dfx\(.*\)'` + mknod 3dfx$unit c 107 `unit2minor $unit` + ln -sf 3dfx$unit 3dfx + ln -sf 3dfx$unit voodoo + ;; + +agpgart) + mknod agpgart c 148 0 + ;; + +twe*) + unit=`expr $i : 'twe\(.*\)'` + mknod twe$unit c 146 `unit2minor $unit` + ;; + +tw*) + unit=`expr $i : 'tw\(.*\)'` + mknod tw$unit c 19 `unit2minor $unit` root:operator + ;; + +cfs*) + unit=`expr $i : 'cfs\(.*\)'` + mknod cfs$unit c 93 $unit root:operator + ;; + +nsmb*) + unit=`expr $i : 'nsmb\(.*\)'` + mknod nsmb$unit c 144 $unit + ;; + +local) + umask 0 # XXX should be elsewhere + sh $0.local + umask 77 + ;; + +*) + echo $i - no such device name + ;; + +esac +done diff --git a/etc/MAKEDEV.local b/etc/MAKEDEV.local new file mode 100644 index 0000000..06cc074 --- /dev/null +++ b/etc/MAKEDEV.local @@ -0,0 +1,50 @@ +#!/bin/sh - +# +# Copyright (c) 1991 The Regents of the University of California. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# @(#)MAKEDEV.local 5.1 (Berkeley) 3/22/91 +# + +# Local device MAKEDEV script. + +PATH=/sbin:/bin:/usr/bin +umask 77 +for i +do +case $i in + +*) + echo 'MAKEDEV.local: no such device.' + ;; +esac +done diff --git a/etc/Makefile b/etc/Makefile new file mode 100644 index 0000000..8f7e389 --- /dev/null +++ b/etc/Makefile @@ -0,0 +1,223 @@ +# from: @(#)Makefile 5.11 (Berkeley) 5/21/91 +# $FreeBSD$ + +.if !defined(NO_SENDMAIL) +SUBDIR= sendmail +.endif + +BIN1= amd.map apmd.conf auth.conf \ + crontab csh.cshrc csh.login csh.logout \ + dhclient.conf dm.conf fbtab ftpusers gettytab group \ + hosts hosts.allow hosts.equiv hosts.lpd \ + inetd.conf login.access login.conf \ + motd modems netconfig networks newsyslog.conf \ + phones printcap profile protocols \ + rc rc.atm rc.devfs rc.diskless1 rc.diskless2 rc.firewall rc.firewall6 \ + rc.network rc.network6 rc.pccard rc.sendmail rc.serial rc.shutdown \ + rc.subr rc.syscons rc.sysctl remote rpc services \ + shells sysctl.conf syslog.conf usbd.conf \ + etc.${MACHINE_ARCH}/disktab \ + etc.${MACHINE_ARCH}/rc.${MACHINE_ARCH} \ + etc.${MACHINE_ARCH}/ttys \ + ${.CURDIR}/../gnu/usr.bin/man/manpath/manpath.config \ + ${.CURDIR}/../usr.bin/mail/misc/mail.rc \ + ${.CURDIR}/../usr.bin/locate/locate/locate.rc + +.if !defined(NO_I4B) +BIN1+= rc.isdn +.endif + +.if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSL) +.if !defined(NO_OPENSSH) +SSH= ${.CURDIR}/../crypto/openssh/ssh_config \ + ${.CURDIR}/../crypto/openssh/sshd_config \ + moduli +.endif +SSL= ${.CURDIR}/../crypto/openssl/apps/openssl.cnf +.endif + +# -rwxr-xr-x root:wheel, for the new cron root:wheel +BIN2= netstart pccard_ether rc.suspend rc.resume + +DEFAULTS= rc.conf pccard.conf periodic.conf + +MTREE= BSD.include.dist BSD.local.dist BSD.root.dist BSD.usr.dist \ + BSD.var.dist BSD.x11.dist BSD.x11-4.dist +.if !defined(NO_SENDMAIL) +MTREE+= BSD.sendmail.dist +.endif + +NAMEDB= PROTO.localhost.rev PROTO.localhost-v6.rev named.conf named.root \ + make-localhost + +PPPCNF= ppp.conf + +ETCMAIL=Makefile README mailer.conf access.sample virtusertable.sample \ + mailertable.sample aliases + +# Special top level files for FreeBSD +FREEBSD=COPYRIGHT + +distribute: + cd ${.CURDIR} ; ${MAKE} distribution DESTDIR=${DISTDIR}/${DISTRIBUTION} +.if defined(OBJFORMAT) + echo OBJFORMAT=${OBJFORMAT} > ${DISTDIR}/${DISTRIBUTION}/etc/objformat +.endif + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + ${.CURDIR}/../sys/${MACHINE}/conf/GENERIC.hints \ + ${DISTDIR}/${DISTRIBUTION}/boot/device.hints + +distribution: + cd ${.CURDIR}; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${BIN1} ${DESTDIR}/etc; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 755 \ + ${BIN2} ${DESTDIR}/etc; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ + master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; \ + pwd_mkdb -p -d ${DESTDIR}/etc ${DESTDIR}/etc/master.passwd + cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${DEFAULTS} ${DESTDIR}/etc/defaults + cd ${.CURDIR}/periodic; ${MAKE} install + cd ${.CURDIR}/rc.d; ${MAKE} install + cd ${.CURDIR}/../gnu/usr.bin/send-pr; ${MAKE} etc-gnats-freefall + cd ${.CURDIR}/../share/termcap; ${MAKE} etc-termcap + cd ${.CURDIR}/../usr.sbin/rmt; ${MAKE} etc-rmt + cd ${.CURDIR}/pam.d; ${MAKE} install +.if !defined(NO_I4B) + cd ${.CURDIR}/isdn; ${MAKE} install +.endif +.if !defined(NO_SENDMAIL) + cd ${.CURDIR}/sendmail; ${MAKE} distribution +.endif +.if exists(${.CURDIR}/../crypto) && !defined(NO_OPENSSL) +.if !defined(NO_OPENSSH) + cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${SSH} ${DESTDIR}/etc/ssh +.endif + cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${SSL} ${DESTDIR}/etc/ssl +.endif +.if !defined(NO_MAKEDEV_INSTALL) + cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 555 \ + MAKEDEV.local MAKEDEV ${DESTDIR}/dev +.if !defined(NO_MAKEDEV_RUN) + cd ${DESTDIR}/dev; sh MAKEDEV all +.endif +.endif + cd ${.CURDIR}/root; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + dot.cshrc ${DESTDIR}/root/.cshrc; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + dot.klogin ${DESTDIR}/root/.klogin; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + dot.login ${DESTDIR}/root/.login; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + dot.profile ${DESTDIR}/root/.profile; \ + rm -f ${DESTDIR}/.cshrc ${DESTDIR}/.profile; \ + ln ${DESTDIR}/root/.cshrc ${DESTDIR}/.cshrc; \ + ln ${DESTDIR}/root/.profile ${DESTDIR}/.profile + cd ${.CURDIR}/mtree; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + ${MTREE} ${DESTDIR}/etc/mtree + cd ${.CURDIR}/namedb; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${NAMEDB} ${DESTDIR}/etc/namedb + cd ${.CURDIR}/ppp; ${INSTALL} -o root -g ${BINGRP} -m 600 \ + ${PPPCNF} ${DESTDIR}/etc/ppp + cd ${.CURDIR}/mail; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${ETCMAIL} ${DESTDIR}/etc/mail + @if [ -d ${DESTDIR}/etc/mail -a -f ${DESTDIR}/etc/mail/aliases -a \ + ! -f ${DESTDIR}/etc/aliases ]; then \ + set -x; \ + ln -s mail/aliases ${DESTDIR}/etc/aliases; \ + fi + ${INSTALL} -o ${BINOWN} -g operator -m 664 /dev/null \ + ${DESTDIR}/etc/dumpdates + ${INSTALL} -o nobody -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/db/locate.database + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ + ${DESTDIR}/var/log/auth.log + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ + ${DESTDIR}/var/log/cron + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/log/lpd-errs + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \ + ${DESTDIR}/var/log/maillog + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/log/lastlog + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/log/messages + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 /dev/null \ + ${DESTDIR}/var/log/security + ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ + ${DESTDIR}/var/log/slip.log + ${INSTALL} -o ${BINOWN} -g network -m 640 /dev/null \ + ${DESTDIR}/var/log/ppp.log + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/log/wtmp + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \ + ${DESTDIR}/var/run/utmp + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/minfree \ + ${DESTDIR}/var/crash + cd ${.CURDIR}/..; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + ${FREEBSD} ${DESTDIR}/ +.if !defined(NOMAN) + cd ${.CURDIR}/../share/man; ${MAKE} makedb +.endif + +distrib-dirs: + -set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.deprecated`; \ + while [ $$# -gt 0 ] ; \ + do \ + for dir in /usr/share/locale \ + /usr/share/nls \ + /usr/local/share/nls; \ + do \ + test -d ${DESTDIR}/$${dir} && cd ${DESTDIR}/$${dir}; \ + test -L "$$2" && rm -rf "$$2"; \ + test \! -L "$$1" && test -d "$$1" && mv "$$1" "$$2"; \ + done; \ + shift; shift; \ + done + mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.root.dist -p ${DESTDIR}/ + mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.var.dist -p ${DESTDIR}/var + mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.usr.dist -p ${DESTDIR}/usr + mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.include.dist \ + -p ${DESTDIR}/usr/include +.if !defined(NO_SENDMAIL) + mtree -deU ${MTREE_FOLLOWS_SYMLINKS} -f ${.CURDIR}/mtree/BSD.sendmail.dist -p ${DESTDIR}/ +.endif + cd ${DESTDIR}/; rm -f ${DESTDIR}/sys; ln -s usr/src/sys sys + cd ${DESTDIR}/usr/share/man/en.ISO8859-1; ln -sf ../man* . + cd ${DESTDIR}/usr/share/man; \ + set - `grep "^[a-zA-Z]" ${.CURDIR}/man.alias`; \ + while [ $$# -gt 0 ] ; \ + do \ + rm -rf "$$1"; \ + ln -s "$$2" "$$1"; \ + shift; shift; \ + done + cd ${DESTDIR}/usr/share/locale; \ + set - `grep "^[a-zA-Z]" ${.CURDIR}/locale.alias`; \ + while [ $$# -gt 0 ] ; \ + do \ + rm -rf "$$1"; \ + ln -s "$$2" "$$1"; \ + shift; shift; \ + done + cd ${DESTDIR}/usr/share/nls; \ + set - `grep "^[a-zA-Z]" ${.CURDIR}/nls.alias`; \ + while [ $$# -gt 0 ] ; \ + do \ + rm -rf "$$1"; \ + ln -s "$$2" "$$1"; \ + shift; shift; \ + done + +etc-examples: + cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + ${BIN1} ${BIN2} nsmb.conf opieaccess \ + ${DESTDIR}/usr/share/examples/etc + cd ${.CURDIR}/defaults; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + ${DEFAULTS} ${DESTDIR}/usr/share/examples/etc/defaults + +.include <bsd.prog.mk> diff --git a/etc/amd.map b/etc/amd.map new file mode 100644 index 0000000..d34adc9 --- /dev/null +++ b/etc/amd.map @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +/defaults type:=host;fs:=${autodir}/${rhost}/host;rhost:=${key} +* opts:=rw,grpid,resvport,vers=3,proto=udp,nosuid,nodev diff --git a/etc/apmd.conf b/etc/apmd.conf new file mode 100644 index 0000000..4dc79be --- /dev/null +++ b/etc/apmd.conf @@ -0,0 +1,51 @@ +# apmd Configuration File +# +# $FreeBSD$ +# + +apm_event SUSPENDREQ { + exec "/etc/rc.suspend"; +} + +apm_event USERSUSPENDREQ { + exec "sync && sync && sync"; + exec "sleep 1"; + exec "apm -z"; +} + +apm_event NORMRESUME, STANDBYRESUME { + exec "/etc/rc.resume"; +} + +# resume event configuration for serial mouse users by +# reinitializing a moused(8) connected to a serial port. +# +#apm_event NORMRESUME { +# exec "kill -HUP `cat /var/run/moused.pid`"; +#} + +# suspend request event configuration for ATA HDD users: +# execute standby instead of suspend. +# +#apm_event SUSPENDREQ { +# reject; +# exec "sync && sync && sync"; +# exec "sleep 1"; +# exec "apm -Z"; +#} + +# Sample entries for battery state monitoring +#apm_battery 5% discharging { +# exec "logger -p user.emerg battery status critical!"; +# exec "echo T250L8CE-GE-C >/dev/speaker"; +#} +#apm_battery 1% discharging { +# exec "logger -p user.emerg battery low - emergency suspend"; +# exec "echo T250L16B+BA+AG+GF+FED+DC+CC >/dev/speaker"; +# exec "apm -z"; +#} +#apm_battery 99% charging { +# exec "logger -p user.notice battery fully charged"; +#} + +# apmd Configuration ends here diff --git a/etc/auth.conf b/etc/auth.conf new file mode 100644 index 0000000..5e9179a --- /dev/null +++ b/etc/auth.conf @@ -0,0 +1,10 @@ +# +# $FreeBSD$ +# +# This file contains information on what types of authentication to use. +# It is just the beginnings of a greater scheme. + +# crypt_default = md5 des +# auth_list = passwd kerberos + +auth_list = passwd diff --git a/etc/crontab b/etc/crontab new file mode 100644 index 0000000..56ef475 --- /dev/null +++ b/etc/crontab @@ -0,0 +1,27 @@ +# /etc/crontab - root's crontab for FreeBSD +# +# $FreeBSD$ +# +SHELL=/bin/sh +PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin +HOME=/var/log +# +#minute hour mday month wday who command +# +*/5 * * * * root /usr/libexec/atrun +# +# save some entropy so that /dev/random can reseed on boot +*/11 * * * * operator /usr/libexec/save-entropy +# +# rotate log files every hour, if necessary +0 * * * * root newsyslog +# +# do daily/weekly/monthly maintenance +1 3 * * * root periodic daily +15 4 * * 6 root periodic weekly +30 5 1 * * root periodic monthly +# +# time zone change adjustment for wall cmos clock, +# does nothing, if you have UTC cmos clock. +# See adjkerntz(8) for details. +1,31 0-5 * * * root adjkerntz -a diff --git a/etc/csh.cshrc b/etc/csh.cshrc new file mode 100644 index 0000000..f4f775a --- /dev/null +++ b/etc/csh.cshrc @@ -0,0 +1,3 @@ +# $FreeBSD$ +# +# System-wide .cshrc file for csh(1). diff --git a/etc/csh.login b/etc/csh.login new file mode 100644 index 0000000..7d70f93 --- /dev/null +++ b/etc/csh.login @@ -0,0 +1,15 @@ +# $FreeBSD$ +# +# System-wide .login file for csh(1). +# Uncomment this to give you the default 4.2 behavior, where disk +# information is shown in K-Blocks +# setenv BLOCKSIZE K +# +# For the setting of languages and character sets please see +# login.conf(5) and in particular the charset and lang options. +# For full locales list check /usr/share/locale/* +# +# Read system messages +# msgs -f +# Allow terminal messages +# mesg y diff --git a/etc/csh.logout b/etc/csh.logout new file mode 100644 index 0000000..6b0584f --- /dev/null +++ b/etc/csh.logout @@ -0,0 +1,3 @@ +# $FreeBSD$ +# +# System-wide .logout file for csh(1). diff --git a/etc/defaults/Makefile b/etc/defaults/Makefile new file mode 100644 index 0000000..3e9a52d --- /dev/null +++ b/etc/defaults/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +FILES= pccard.conf periodic.conf rc.conf +NOOBJ= noobj +FILESDIR= /etc/defaults +FILESMODE= 644 + +.include <bsd.prog.mk> diff --git a/etc/defaults/pccard.conf b/etc/defaults/pccard.conf new file mode 100644 index 0000000..cb0cbef --- /dev/null +++ b/etc/defaults/pccard.conf @@ -0,0 +1,2135 @@ +# +# Default PCCARD configuration file +# +# $FreeBSD$ +# +# Please send new entries for this file to imp@freebsd.org. He likes to +# review them before they are committed to make sure they are correct for +# the style of the file. Please attempt to use "auto" for the config +# number whereever possible. Do not commit IRQs in the "config" lines. +# Make sure that you use tabs rather than multiple spaces for new entires +# like the old ones. <tab>keyword<tab>arguments. +# +# Removing all IRQ conflicts from this file can't be done because of some +# IRQ-selfish PC-cards. So if you want to use some of those cards in +# your machine, you may need to modify the IRQ list below. Please put +# such overrides in /etc/pccard.conf. You can also place override +# card entries in /etc/pccard.conf, since the first match is the one that +# pccardd will use to configure the card. +# + +# Generally available IO ports +io 0x240-0x360 +# on i386 IRQs can be any of 3 4 5 7 9 10 11 12 14 15 +# on pc98 IRQs can be any of 3 5 6 9 10 11 12 13 +# but *MUST* *NOT* be used by anything else, unless you are using current +# and a PCI cardbus bridge that allows sharing. Even then, the rules +# for interrupt sharing can be tricky. +# Generally available IRQs (Built-in sound-card owners remove 5) +irq 3 5 10 11 15 +# Available memory slots +memory 0xd4000 96k +# Debug level, so you know how to get more info for maintainers. Put it +# in /etc/pccard.conf +#debuglevel 4 + +# Include user configration file +# This allow you to override or add configurations. +include /etc/pccard.conf + +# +# PLEASE KEEP THIS FILE IN ORDER +# +# In order is defined as follows. We sort first by driver type (an, ed, etc) +# and then by CIS strings. Do not commit to this file entries out of +# order. +# + +########## aic ########## + +# Adaptec SlimSCSI (also included with Sony CD-ROM players) +card "Adaptec, Inc." "/APA-1460 .*/" + config 0x9 "aic" ? + insert camcontrol rescan all + +# NewMedia Bustoaster SCSI +card "New Media" "SCSI" + config 0x22 "aic" ? + insert camcontrol rescan all + +########## an ########## + +# Aironet PC4500 2Mbps 802.11 wireless NIC +card "Aironet" "PC4500" + config 0x5 "an" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Aironet PC4800 11Mbps 802.11 wireless NIC +card "Aironet" "PC4800" + config 0x5 "an" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Aironet 340 Series 11Mbps 802.11 wireless NIC +card "Cisco Systems" "340 Series Wireless LAN Adapter" + config auto "an" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Aironet 350 Series 11Mbps 802.11 wireless NIC +card "Cisco Systems" "350 Series Wireless LAN Adapter" + config auto "an" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom sells a rebaded unit +card "Xircom" "Wireless Ethernet Adapter" + config 0x5 "an" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## ata ########## + +# Sony VAIO cdrom, Ninja-ATA CD-ROM Drive, MELCO CDN-D12EX +card " " "NinjaATA-" + config auto "ata" ? + logstr "NinjaATA" + +# Non-brand Compact Flash Card(32MB) +card " " "KCF 32M" + config 0x1 "ata" ? iosize 16 + logstr "Compact Flash Card 32M" + +# Caravelle PSC-IDE 6x ATAPI CD-ROM +card "Caravelle" "/PSC-IDE */" + config 0x2a "ata" ? # 0x1 (flags for wd, not sure for ata) + +# <Vendor Unknown> MCD-601p 6x CD-ROM drive. +card "CDROM" "IDE" + config auto "ata" ? + logstr "MCD-601p" + +# Lexar Media compact flash +card "/CL ATA FLASH CARD LEXAR */" "TIDALWV" +# auto does not work + config 0x1 "ata" ? + +# CNF CD-M +card "CNF CD-M" "CD-ROM" + config auto "ata" ? + logstr "CNF CD-M" + +# DATAFAB PCMMD2 +card "DATAFAB" "PCMCIA-TO-IDE" + config 0x1 "ata" ? + +# DHU Mobile Media CD-ROM +# (no hotplug support) +card "Digital Equipment Corporation." "Digital Mobile Media CD-ROM" + config auto "ata" ? + +# EXP DVD-780 DVD-ROM drive +card "/EXP */" "PnPIDE" + config auto "ata" ? + +# Toshiba mobile CD-ROM (Bundled with Portege 3110CT) +card "FREECOM" "PCCARD-IDE" + config auto "ata" ? iosize 16 + +# FUJITSU FlashDiskCard ZEBO-ATA40 +card "FUJITSU" "ZEBO-ATA" + config 0x03 "ata" ? + +# Greystone Diskdock +card "GREYSTONE PERIPHERAL DISKDOCK" "/.*/" + config default "ata" ? + +# HAGIWARA FLASH +card "HAGIWARA" "FLASH" + config default "ata" ? + +# Hitachi Flash ATA +card "HITACHI" "/.*FLASH.*/" + config 0x01 "ata" ? iosize 16 + +# IBM Flash ATA (Ricoh Flash ATA 10MB) +card "IBM" "IBM17JSSFP10" + config auto "ata" ? iosize 16 + +# XXX NOT SURE SUPPORTED +# IBM Portable 4X Speed CD-ROM Drive CD-400 +#card "IBM" "PCMCIA CD-ROM Drive CD-400" +# config 0x1 "ata" ? iosize 0x20 # 0x10000 (flags for wd, not sure for ata) + +# IBM CD-20XSeries(IDE PC Card) +card "IBM" "PCMCIA Portable CD-ROM Drive" + config auto "ata" ? iosize 0x1 + +# IBM Microdrive (CF+ Type II) +card "IBM" "microdrive" +# config 0x03 "ata" ? + config 0x01 "ata" ? iosize 16 + +# Integral Peripherals Viper HDD Series +card "INTEGRAL PERIPHERALS" "ATA CARD" +# config default "ata" ? + config 0x01 "ata" ? iosize 16 + +# IO DATA PCMF144/20 (as Flash ATA only) +card "IO DATA" "ATA&MODEM" + config 0x7 "ata" ? +# config auto "sio" ? + +# IO DATA CBIDE2 in 16 bit mode +# (bundled with IO DATA CDP-AX24T, Panasonic DVD-ROM LK-RV8171D) +card "IO DATA" "/CBIDE2 */" + config default "ata" ? + +# IO Data PCIDE-II (bundled with CDP-TX6, etc.) +card "IO DATA" "PCIDEII" + config auto "ata" ? + +# Iomega Zip Drive +card "Iomega" "PCMCIA to 16 bit ATAPI Adapter" + config 0x2 "ata" ? + +# KODAK Picture Card +card "KODAK Picture Card" "KODAK" + config default "ata" ? + +# TOSHIBA Portable 24X Speed CD-ROM Drive PA2673UJ +card "LOOKMEET" "/CBIDE2 */" + config default "ata" ? + +# Maxtor ATA HDD +card "Maxtor" "/MXL.*/" + config 0x03 "ata" ? + +# Microtech XpressDock +card "Microtech International Inc." "IDE PCCARD" + config auto "ata" ? 0x20000 iosize 16 + +# Midori Elec. Flash ATA +card "Midori Elec." "/.*FLASH.*/" + config 0x03 "ata" ? + +# Panasonic Flash ATA BN-040ABP3 +card "Panasonic" "ATA" "/BN-040AB-M */" +# auto does not work + config 0x1 "ata" ? + logstr "Panasonic Flash ATA BN-040ABP3" + +# LK-RM120 +card "Panasonic" "LMEK0406" + config 0x22 "ata" ? 0x1 + +# Another boring, generic ata atapter +card "PC CARD MANUFACTURER" "PCMCIA ATA/ATAPI Adapter" + config auto "ata" ? + +# pc-card from PSCD-740 cdrom +card "PCMCIA" "CD-ROM" + config 0x1 "ata" ? + +# Novac DVD/CD Station +card "PCMCIA" "PnPIDE" + config auto "ata" ? + +# Shining PMIDE-ASC CDROM / Road Warrior Bullet Disk +card "Shining" "PMIDE-ASC" + config auto "ata" ? 0x20000 + +# Microtech PortableDRIVE25/PCMCIA +card "SHUTTLE TECHNOLOGY LTD." "PCCARD-IDE/ATAPI Adapter" + config auto "ata" ? 0x20000 + +# XXX NOT SURE SUPPORTED +# CitiDISK & Addonics PocketZIP +#card "Shining" "PMIDE-ASC" +# config default "ata" ? # 0x20000 (flags for wd, not sure for ata) + +# Sicon Peripheral PCMCIA ATA/ATAPI Adapter +card "Sicon Peripheral" "PCMCIA ATA/ATAPI Adapter" + config default "ata" ? + +# SiliconTech,Inc. Compact PC Card +card "SiliconTech,Inc." "/[0-9]+MB Compact PC Card/" + config 0x1 "ata" ? + +# Simple Technology ata flash +card "/Simple Technology */" "STI-ATA" + config auto "ata" ? + +# SONY Memory Stick PC Card Adaptor +card "SONY" "/MEMORYSTICK.*/" + config 0x01 "ata" ? + iosize 16 + +# SunDisk Flash ATA +# (OEM: Epson Flash Packer) +card "SunDisk" "/.*/" + config 0x1 "ata" ? + +# T-POWER Flash ATA +card "/T-POWER */" "/.*/" + config 0x1 "ata" ? + +# TDK Flash ATA +card "TDK TC_H." "/.*/" + config 0x1 "ata" ? + +# IO Data CBIDE (bundled with CDP-FX24, etc.) +card "WIT" "IDE16" + config auto "ata" ? + +# LIP-32B attached to Logitec LCW-PD648PI +card "WORKBIT" "ATA-32Bi(16)" + config default "ata" ? + +# Viking ATA Flash card +card "/VIKING ATA/CF FLASH CARD */" "/TOR/AM */" + config 0x2 "ata" ? + +########## awi ########## + +# Generic AMD Am79c930 based card +# Melco WLI-PCM +card "AMD" "Am79C930" + config 0x1 "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Bay Networks Baystack 650 Wireless LAN +card "Bay Networks" "BayStack 650 Wireless LAN" + config 0x1 "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Bay Networks Baystack 660 Wireless LAN +card "Bay Networks" "BayStack 660 Wireless LAN" + config auto "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Farallon SkyLINE Wireless +card "Farallon" "SkyLINE Wireless" + config auto "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ICom SL-200 +card "Icom" "SL-200" + config auto "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Teletronics WL2000D 2Mbps wireless card +# Might not be right, reports are that it reports ether of 0:0:0:0:0:0 +card "OEM" "WLAN/WPMCIA" + config auto "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ZoomAir 4000 +card "Zoom" "Air-4000" + config auto "awi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## cnw ########## + +# NetWave AirSurfer +# NOTE: For some machines, wait cycle for memory access is required. +# you should change "0x40" on the last part of "cardmem" line to "0x44", +# like: +# cardmem 0xd4000 0x20000 0x9000 0x44 +# IBM ThinkPads are known to require this change. +# Xircom CreditCard Netwave +card "Xircom" "CreditCard Netwave" + config 0x01 "cnw" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## cs ########## + +# NOTE: This likely doesn't work, but might. +# IBM EtherJet PC Card 16bit version +card "IBM" "EtherJet PC Card" + config auto "cs" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## ed ########## + +# No-brand NE2000 compatible card (FCC ID: LXLC1LANTB) +card " " "Ethernet Combo card" + config auto "ed" ? 0x10 + logstr "NE2000 compatible card" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Map Japan MPL-972 +card "2408LAN" "Ethernet" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Accton EN2212 +# Very slow! (PIO mode) +card "ACCTON" "EN2212" + config auto "ed" ? 0x30 + ether 0xff0 # 00:00:e8 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Accton EN2216 +card "ACCTON" "EN2216-PCMCIA-ETHERNET" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Allied Telesis CentreCOM LA-PCM +card "Allied Telesis,K.K" "Ethernet LAN Card" + config default "ed" ? 0x10 + ether 0xff0 # 00:00:f4 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Allied Telesis CentreCOM LA-PCM_V2 ethernet card +# NTT-DATA ASTROWINK-M/MMOIL(IrLAN) ethernet card +card "Allied Telesis, K.K." "CentreCOM LA-PCM_V2" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Allied Telesis CentreCOM LA100-PCM-T V2 +card "Allied Telesis, K.K." "CentreCOM LA100-PCM-T V2 100/10M LAN PC Card" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Allied Telesis CentreCOM LA-PCM V3 +card "Allied Telesis K.K." "LA-PCM V3" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# AmbiCom 10BaseT card +card "AmbiCom Inc" "AMB8002T" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Billionton LNA-100B +card "Billionton" "LNA-100B" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Billionton LNT-10TB +card "Billionton" "LNT-10TB" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Billionton LNT-10TN +card "Billionton" "LNT-10TN" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BUFFALO LPC2-CLT +card "BUFFALO" "LPC2-CLT" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BUFFALO LPC3-CLT +card "BUFFALO" "LPC3-CLT" + config auto "ed" ? 0x30000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BUFFALO LPC3-CLX +card "BUFFALO" "LPC3-CLX" + config auto "ed" ? 0x30000 + ether 0x1c8 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# CNet BC40 adapter +card "CNet" "CN40BC Ethernet" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# COREGA FEther PCC-TXF +card "corega" "FEther PCC-TXF" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# COREGA Ether PCC-T and COREGA EtherII PCC-T +card "corega K.K." "/corega Ether(II)? PCC-T/" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# COREGA FastEther PCC-TX +card "corega K.K." "corega FastEther PCC-TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# COREGA FEther PCC-TXD +card "corega K.K." "corega FEther PCC-TXD" + config auto "ed" ? 0x30000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Corega PCM-T +card "Corega,K.K." "Ethernet LAN Card" + config auto "ed" ? + ether 0xff0 # 00:00:f4 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Surecome EP-427X PCMCIA ethernet +card "CouplerlessPCMCIA" "100BASE" + config auto "ed" ? 0x30000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# CyQ've ELA-010 +card "CyQ've" "ELA-010" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# CyQ've ELA-110 and ELA-110E +card "CyQ've" "/ELA-110E? 10/100M LAN Card/" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# D-Link DE-650 and DE-660 +card "D-Link" "/DE-6[56]0/" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# D-Link DFE-650 Fast Ethernet Card +card "D-Link" "DFE-650" + config auto "ed" ? 0x80010 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# D-Link DME-560T LAN/FAX/MODEM Card (as Ethernet) +card "D-Link" "DME560T" + config default "ed" ? +# config auto "sio" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Danpex (Alloy, etc.) EN-6200P2 +card "DANPEX" "EN-6200P2" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Dayna Communications CommuniCard E +card "Dayna Communications, Inc." "CommuniCard E" + config auto "ed" ? 0x10 + ether 0x110 # 00:80:19 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Digital DEPCM-BA Ethernet +card "DIGITAL" "DEPCM-XX" + config auto "ed" ? 0x10 + ether 0xff0 # 00:00:e8 +# ether 0x1c0 # 00:00:e8 -- seen on a rev. C01 card + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Planex FNW-3600-T and FNW-3600-TX DirectDock (second model) +card "Dual Speed" "/10/100( Port Attached)? PC Card/" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys Combo PCMCIA Ethernet Card +card "E-CARD" "E-CARD" + config auto "ed" ? + logstr "Linksys Combo Ethernet Card" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Eiger Labs Ethernet COMBO +card "EIGER Labs Inc." "Ethernet COMBO Card" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# XXX Compex Net-A adapter, Telecom SuperSocket RE450T, +# Apollo PCMCIA Ethernet Adapter, PLANEX ENW-3503-T and +# Fiber line 10M Ethernet COMBO have same manufacturer and +# card version string. They should be distinguished by +# other info. (such as additional information or OEM-ID/product-ID). + +# Note: There are several revisions of the cardon the market. +# Type A needs no "ether" line. +# Type B needs "ether 0x110" line. +# Type C needs "ether 0xff0" line. +# Yet more revisions exist, reportedly. +# If you see strange MAC address shown by ifconfig command, +# try other config. +card "Ethernet" "Adapter" + config auto "ed" ? +# ether 0x110 # 00:e0:98 + ether 0xff0 # 00:e0:98 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# pci Ethernet Adapter Card +card "Ethernet" "CF Size PC Card" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# "Ethernet Adapter" "E2000 PCMCIA Ethernet" +card "Ethernet Adapter" "E2000 PCMCIA Ethernet" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ADDTRON EP-210A +card "EP-210 PCMCIA LAN CARD." "/.*/" + config auto "ed" ? 0x10 + ether 0x110 # 00:40:33 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Planex FNW-3700-T Fast Ethernet +card "Fast Ethernet" "16-bit PC Card" + config auto "ed" ? 0x30000 + logstr "Planex FNW-3700-T" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Planex FNW-3600-T 16bit Fast Ethernet (old model) +card "Fast Ethernet" "Adapter" + config auto "ed" ? 0x80000 + logstr "Planex FNW-3600-T" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# TDK Grey Cell GCS2000 and GCS2220 +card "Grey Cell" "/GCS2(00|22)0/" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# GVC NIC-2000P Ethernet Card +card "GVC" "NIC-2000p" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# IBM PCMCIA Ethernet I/II, RIOS PC CARD II ETHERNET +card "IBM Corp." "Ethernet" + config auto "ed" ? + ether 0xff0 # 08:00:5a 00:04:ac 00:06:29 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# AR-P500 ethernet card, Planet Communications Smart COM 3500 same as +# model ENW-3500 and ENW-3501-T, IC-CARD Ethernet, SYSCOM SC100 Ethernet Card +# ELECOM Laneed LD-CDY, IC-CARD+ Ethernet card +card "/^IC-CARD\+?$/" "/^IC-CARD\+?$/" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# I/O DATA PCLA/T +card "I-O DATA" "PCLA" + config auto "ed" ? 0x10 +# ether 0x1c0 # 00:a0:b0 + ether 0xff0 # 00:a0:b0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# I-O DATA PCET/TX +card "IO DATA" "PCETTX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# I-O DATA PCET/TX-R +card "IO DATA" "PCETTXR" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# I-O DATA PCLA/TE +card "IO DATA" "PCLATE" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# KANSAI ELECTRIC KLA-PCM/T +card "KANSAI ELECTRIC CO.,LTD" "KLA-PCM/T" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Kingston KNE-PC2 +card "Kingston" "KNE-PC2" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Kingston KNE-PCM/x Ethernet +card "Kingston Technology Corp." "/EtheRx PC Card Ethernet.*/" + config auto "ed" ? + ether 0xff0 # 00:c0:f0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Laneed LD-10/100CD +card "Laneed" "LD-10/100CD" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Laneed LD-CDF, LD-CDS +card "Laneed" "/LD-CD[FS]/" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Laneed LD-CDL/TX +card "Laneed" "LD-CDL/TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys Combo PCMCIA EthernetCard (model EC2T on box) +card "Linksys" "Combo PCMCIA EthernetCard (EC2T)" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys Combo PCMCIA Ethernet Card +card "LINKSYS" "E-CARD" + config auto "ed" ? 0x10 + logstr "Linksys Combo Ethernet Card" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys PCMLM56 +# Not currently working for me, but others say it does. +card "Linksys" "EtherFast 10&100 + 56K PC Card (PCMLM56)" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys EtherFast 10/100 Intergrated PC Card (PCM100) +card "Linksys" "EtherFast 10/100 Integrated PC Card (PCM100)" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys EtherFast 10/100 PC Card (PCMPC100), model V2 and V3 +card "Linksys" "/Ether[Ff]ast 10/100 PC Card \(PCMPC100.*\)/" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Logitec LPM-LN100TX 100BASE-TX Ethernet LAN CARD +card "Logitec" "LPM-LN100TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Logitec LPM-LN20T +card "Logitec" "LPM-LN20T" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Socket LP-E (WinCE Low Power Ethernet) +card "Low Power Ethernet LAN Adapter" "Socket Communications, Inc" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Laneed LD-CDWA (DP83902A), MACNICA Ethernet ME1 for JEIDA +card "MACNICA" "ME1-JEIDA" + config auto "ed" ? + ether 0xb8 # 08:00:42 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Matsushita Electric Industrial Co.,LTD. CF-VEL211P-B +card "Matsushita Electric Industrial Co.,LTD." "CF-VEL211" + config auto "ed" ? + ether 0xff0 # 00:80:45 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# MELCO LPC2-T +card "MELCO" "LPC2-T" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# MELCO LPC2-TX +card "MELCO" "LPC2-TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# MELCO LPC3-TX +card "MELCO" "LPC3-TX" + config auto "ed" ? 0x30000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# National Semiconductor InfoMover 4100 and NE4100 +card "National Semiconductor" "/InfoMover (NE)?4100/" + config auto "ed" ? + ether 0xff0 # 08:00:17 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NDC Ethernet Instant-Link NE2000 clone +card "NDC" "Ethernet" + config auto "ed" ? 0x30 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Addtron NE-2000 compatible NIC +card "NE2000 Compatible PC Card" "PCMCIA" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NEC PC-9801N-J12 +card "NEC" "PC-9801N-J12" + config auto "ed" ? + ether 0xff0 # 00:00:4c + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BayNetworks NETGEAR FA410TXC Fast Ethernet +card "NETGEAR" "FA410TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BayNetworks NETGEAR FA411 Fast Ethernet +card "NETGEAR" "FA411" + config auto "ed" ? 0x30000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Network Everywhere Ethernet 10BaseT PC Card +card "Network Everywhere" "Ethernet 10BaseT PC Card" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Network Everywhere Ethernet Fast Ethernet 10/100 PC Card +card "Network Everywhere" "Fast Ethernet 10/100 PC Card" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# New Media Corporation LiveWire 10/100 +card "New Media Corporation" "LiveWire 10/100" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NextCom Next Hawk Etherneet Adapter +card "NextCom K.K." "Next Hawk" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Nihon Unisys, Ltd. JPF0400-ETH and JPF0400-LAN +card "Nihon Unisys, Ltd." "/JPF0400-(ETH|LAN)/" + config auto "ed" ? + ether 0xff0 # 00:80:45 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Longshine LCS-8534TB +card "PCMCIA" "/^Ethernet$/" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# No-brand NE-2000 compatible card +card "PCMCIA" "ETHERNET V1.0" + config auto "ed" ? 0x10 + ether 0xff0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Telecom Device SuperSocket HPC100 +card "PCMCIA" "FastEthernet" + config auto "ed" ? 0x30000 + logstr "Telecom Device SuperSocket HPC100" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Billionton 10Base-TX ETHERNET PCCARD (aka UE2216) +# Also Genuius "Ethernet ME3000II SE" +card "PCMCIA" "PCMCIA-ETHERNET-CARD" + config auto "ed" ? 0x10 + logstr "UE2216" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Planet Smart COM 2000, Melco LPC-T +card "PCMCIA" "UE2212" + config auto "ed" ? 0x10 + ether 0xff0 # 00:00:e8 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# GVC 10Mbps Ethernet Card +card "PCMCIA" "Ethernet Card" + config auto "ed" ? + logstr "Generic PCMCIA Ethernet Card" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# EXPsys PCMCIA Ethernet Combo, Relia PCMCIA Ethernet +card "PCMCIA LAN" "Ethernet" + config auto "ed" ? + logstr "EXPsys Ethernet" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# LinkMates LM 336 LAN Fax/Modem PC Card (as Ethernet only) +card "PCMCIAs" "ComboCard" + config 0x24 "ed" ? 0x10 +# config auto "sio" ? + logstr "LinkMates LM 336" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Telecom Device SuperSocket LM336 (as Ethernet only) +card "PCMCIAs" "LanModem" + config default "ed" ? +# config auto "sio" ? + logstr "SuperSocket LM336" + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# PreMax PE-200 Ethernet Card +card "/PMX */" "PE-200" + config auto "ed" ? 0x10 + ether 0x7f0 # 00:20:e0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Psion Dacom Gold Card V34 Ethernet GSM +# as ethernet +card "Psion Dacom" "Gold Card V34 Ethernet GSM" + config auto "ed" ? +# config auto "sio" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# RIOS PC CARD3 ETHERNET +card "RIOS Systems Co." "PC CARD3 ETHERNET" + config auto "ed" ? + ether 0xff0 # 00:00:48 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# RPTI EP401 Ethernet card +card "RPTI" "EP401 Ethernet NE2000 Compatible" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# SCM Ethernet Combo (*Not SMC :-)*) +card "SCM" "Ethernet Combo card" + config auto "ed" ? 0x10 + ether 0xff0 # 00:20:cb + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Epson EEN10B Ethernet Card +card "Seiko Epson Corp." "Ethernet" + config auto "ed" ? 0x10 + ether 0xff0 # 00:00:48 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# SMC EXCard-10-PCMCIA +card "SMC" "EZCard-10-PCMCIA" + config 0x20 "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3way 3WL-847-TX +card "SUN WAY" "3WL-847-TX 100BASE-TX" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Surecom EtherPerfect EP-427 +card "TAMARACK" "Ethernet" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# TDK LAK-CD031 +card "TDK" "/LAK-CD031.*/" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Telecom Device SuperSocket RE450T +card "Telecom Device K.K." "SuperSocket RE450T" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Telecom Device SuperSocket RE550T +card "Telecom Device K.K." "SuperSocket RE550T" + config auto "ed" ? 0x80000 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Toshiba Joho System PTJ-LAN/T +card "TJ" "Ethernet" + config auto "ed" ? 0x10 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# XXX NOT SUPPORTED YET +# TOSHIBA LABCTA00A (Add `option TOSH_ETHER' line to your kernel +# configuration file and rebuilding kernel.) +#card "TOSHIBA" "LANCT00A" +# config default "ed" ? 0x10 +# cardmem 0xd0000 0x0000 32k +## cardmem 0xd8000 0x0000 32k +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + +# Xircom CompactCard Ethernet 10 (CFE-10) +card "Xircom" "CompactCard Ethernet" + config auto "ed" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## ep ########## + +# 3Com Fast Etherlink 3C574TX +card "3Com" "3C574-TX Fast EtherLink PC Card" + config auto "ep" ? 0x1 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3Com Megahertz 3CCFEM556BI, 3CXEM556 and model B +# as ethernet +card "3Com" "/Megahertz 3C(CF|X)EM556/" + config default "ep" ? 0x1 +# config auto "sio" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3Com Megahertz 574B same as 3Com Fast Etherlink 3C574B +card "3Com" "Megahertz 574B" + config auto "ep" ? 0x1 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3Com Etherlink III 3CXE589EC and 3CXE589ET +card "3Com" "Megahertz 589E" + config auto "ep" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3Com OfficeConnect 3CXSH572BT +card "3Com" "OfficeConnect 572B" + config auto "ep" ? 0x1 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# 3Com Etherlink III 3C562 (as Network) +# Don't think this will work. +#card "3Com Corporation" "3C562" +# config 0x9 "ep" ? +# insert /etc/pccard_ether $device start -link0 link1 +# remove /etc/pccard_ether $device stop + +# 3Com Etherlink III 3C589, 3C589B, 3C589C, 3C589D +card "3Com Corporation" "/3C589/" + config auto "ep" ? + insert /etc/pccard_ether $device start -link0 link1 +# insert /etc/pccard_ether $device start link0 -link1 + remove /etc/pccard_ether $device stop + +# Farallon EtherMac +card "Farallon" "ENet" + config auto "ep" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## ex ########## + +# Olicom OC2220 +card "Olicom" "Ethernet" + config 0x1 "ex" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## fe ########## + +# CONTEC C-NET(PC)C Ethernet +card "CONTEC Co.,Ltd." "/C-NET\(PC\)C.*/" + config auto "fe" ? + ether 0x58 # 00:80:4c + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Fujitsu MBH10303 Ethernet PCMCIA +card "EAGLE Technology" "/NE200 ETHERNET LAN MBH10303 */" + config auto "fe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Eiger Labs EPX-10BT +card "Eiger labs,Inc." "EPX-10BT PC Card Ethernet 10BT" + config auto "fe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Fujitsu FMV-J182, FMV-J182A +card "FUJITSU" "LAN Card(FMV-J182)" + config auto "fe" ? +# These cards have same ID strings, and different MAC address +# locations. +# ether 0xf2c # 00:00:0e #FMV-J182 + ether 0x1cc # 00:00:0e #FMV-J182A + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Fujitsu Towa LA501 Ethernet +card "FUJITSU TOWA" "LA501" + config auto "fe" ? 0x10 + ether 0x332 # 00:00:0e + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# HITACHI HT-4840-11 +card "HITACHI" "HT-4840-11" + config auto "fe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NextCom J Link NC5310 +card "NextComK.K." "/NC5310 Ver1\.0.*/" + config auto "fe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# RATOC REX-5588, REX-9822, REX-4886 +card "PCMCIA LAN MBH10304 ES" " 01" + config auto "fe" ? +# ether 0x32c # 00:c0:d0 # many minor revs.... +# ether 0x328 # 00:c0:d0 + ether 0x200 # 00:c0:d0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Fujitsu MBH10302 +card "PCMCIA MBH10302" "01" + config auto "fe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# RATOC REX-R280 +card "RATOC System Inc." "10BASE_T CARD R280" + config auto "fe" ? + ether 0x1fc # 00:c0:d0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# TDK LAK-CD021, LAK-CD021A, LAK-CD021BX +card "TDK" "LAC-CD02x" + config auto "fe" ? +# These cards have same ID strings, and different MAC address +# locations. +# ether 0x92 # 00:80:98 # LAC-CD021, LAC-021A +# ether 0x96 # 00:80:98 # LAC-CD021BX + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## fdc ########## + +# Libretto Floppy disk +card "Y-E DATA" "External FDD" + config 0x4 "fdc" ? + +########## gp ########## + +# XXX NOT SUPPORTED YET +# National Instruments PCMCIA-GPIB Cards +#card "National Instruments" "PCMCIA-GPIB" +# config default "gp" pio + +########## hss ########## + +# XXX NOT SUPPORTED YET +# Hitachi microcomputer speech synthesizer card +#card "/HITACHI MICROCOMPUTER SYSTEM LTD.*/" "MSSHVPC02" +# config default "hss" pio + +########## joy ########## + +# IO DATA PCJOY +card "IO DATA" "PCJOY" + config auto "joy" ? +# config 0x1 "joy" pio +# config 0x2 "joy" pio + +# Game Card B236 by BONDWELL +card "BONDWELL" "B236" + config auto "joy" ? + +########## ncv ########## + +# New Media Corporation BASICS SCSI +# (Do not put this entry under Bustoaster) +card "BASICS by New Media Corporation" "SCSI Sym53C500" + config auto "ncv" ? + +# Media Intelligent SCSI-2 PC Card MSC-200 +card "EPSON" "SCSI-2 PC Card SC200" + config auto "ncv" ? + +# KME (TAXAN ICD-400PN, etc.) +card "KME" "KXLC002" + config auto "ncv" ? 0xb4d00000 + +# KME KXLC004 +card "KME" "KXLC004" + config auto "ncv" ? 0xb4d00100 + +# IO DATA PCSC-DV +# Macnica Miracle SCSI mPS100 +card "MACNICA" "MIRACLE SCSI" "mPS100" "D.0" + config auto "ncv" ? 0xb6250000 + +# Macnica Miracle SCSI-II mPS110 +card "MACNICA" "MIRACLE SCSI-II mPS110" + config auto "ncv" ? 0 + +# NEC PC-9801N-J03R +card "NEC" "PC-9801N-J03R" + config auto "ncv" ? 0 + +# Qlogic Fast SCSI +card "QLOGIC CORPORATION" "pc05" + config auto "ncv" ? 0x84d00000 + +# RATOC REX-9530 +card "RATOC System Inc." "/SCSI2 CARD.*/" + config auto "ncv" ? 0x84d00000 + +# RATOC REX-5572 (as SCSI only) +card "RATOC System Inc." "/SOUND/SCSI2 CARD.*/" + config auto "ncv" ? 0x84d00000 +# cardio 0x640 0x10 + iosize 16 + +########## nsp ########## + +# WORKBIT Ninja SCSI series +card "IO DATA" "/CBSC16 */" + config auto "nsp" ? + +# Hewlett Packard M820e (CD-writer) +card "/KME */" "SCSI-CARD-001" + config auto "nsp" ? + +# WORKBIT Ninja SCSI series +card "WBT" "NinjaSCSI-3" + config auto "nsp" ? + +# WORKBIT Ninja SCSI series (PIO mode) +# (If you want to use them in PIO mode comment out above and uncommnet below.) +#card "WBT" "NinjaSCSI-3" +# config auto "nsp" ? 0x100 + +########## opl ########## + +# XXX NOT SUPPORTED YET +# RATOC REX-5570 Sound Card +#card "1195 RATOC System Inc." "REX5570 SOUND CARD" +# config default "opl" ? + +########## ray ########## + +# WebGEAR Aviator 2.4 +card "WebGear" "PC Card WLAN Adapter" + config auto "ray" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Raytheon Raylink 802.11 Wireless LAN +card "RAYTHEON" "RayLink PC Card WLAN Adapter" + config auto "ray" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## scc ########## + +# XXX NOT SUPPORTED YET +# IBM Smart Capture Card +#card "IBM Corp." "Video Capture" +# config default "scc" pio +# cardmem 0xd4000 0x0 0x8000 + +########## sio ########## + +# 3Com/USR/MegaHertz 3CCM156 +card "3COM" "3CCM156" + config auto "sio" ? + +# 3com/USR/Megahertz 3CCM556 +card "3Com" "3CXM/3CCM556" + config auto "sio" ? + +# 3Com Etherlink III 3C562 and 3C563 (as Modem) +card "3Com Corporation" "/3C56[23]/" + config 0x09 "sio" ? +# config auto "sio" ? + +# ADVANTECH COMpad-32/85 (dual port, but only one works) +card "ADVANTECH" "COMpad-32/85" + config auto "sio" ? 0x330 + +# Apex Data 28.8 PC Card "MOBILE PLUS Cellular" modem. +card "AD PC_CARD" "RC288ACL" + config auto "sio" ? + +# AIWA PV-JF288 +card "AIWA CO.,LTD." "/PV-JF288 */" + config auto "sio" ? + +# AIWA PV-JF3356 +card "AIWA CO.,LTD. MODEM" "PV-JF3356" + config auto "sio" ? 0x40000 + +# APEX DATA MultiCard (as Modem only) +card "APEX DATA" "MULTICARD" + config 0xb "sio" ? +# config auto "sio" ? + +# Eiger 33.6 modem +card "AT&T" "V34+ Fax Modem" + config auto "sio" ? + +# AT&T Paradyne KeepInTouch 14.4 modem +card "AT&T Paradyne" "KeepInTouch Card" + config auto "sio" ? + reset 1000 + +# BUG Linkboy D64K (ISDN) +card "BUG Inc." "Linkboy D64K" + config auto "sio" ? + +# NewMedia 14.4K FAX/Data Modem +card "CIRRUS LOGIC" "FAX MODEM" + config auto "sio" ? + +# COM1 SA +card "COM1 SA" "/MC2(18|20) CARD/" + config auto "sio" ? + +# Digiteam Expresso 14.4 Modem +card "Digiteam GmbH" "Expresso Modem" + config auto "sio" ? + +# Eicon DIVA T/A +# at@menu Config menu +# at>vc View current profile +# at>vd View troubleshooting information +card "Eicon Technology" "DIVA T/A" + config auto "sio" ? + +# Ericsson DC23 GSM modem card +card "ERICSSON" "Modem, DC23" + config auto "sio" ? + +# GATEWAY 2000 FAX/Data Modem (14.4K) +card "GATEWAY2000" "CC3144" + config auto "sio" ? + +# This one does work though +card "HAYES" "OPT288" + config auto "sio" ? + +# Hayes OPTIMA 288 FAX/Data Modem +# currently does not work on my machine +card "Hayes" "OPTIMA 288 + FAX fo" + config auto "sio" ? + reset 10000 + +# IBM Push/Pop Modem (14.4K) +card "IBM" "Push/Pop Modem(14.4K)" + config auto "sio" ? + +# IBM 56k PCCCARD modem +card "IBM" "56K PC Card Modem" + config auto "sio" ? + +# Intel EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter (as modem) +card "Intel" "EtherExpress(TM) PRO/100 LAN/Modem PC Card Adapter" + config 0x1f "sio" ? +# config auto "sio" ? + +# US Robotics Worldport 14400 +card "Intel" "MODEM 2400+" + config auto "sio" ? + +# Intelligent SurfCard +card "Intelligent" "PCMCIA FAX+MODEM" + config auto "sio" ? + reset 1000 + +# Megahertz XJEM3288 (as modem) +card "MEGAHERTZ" "CC/XJEM3288" + config auto "sio" ? + +# Megahertz XJEM1336 (as modem) +card "MEGAHERTZ" "CC/XJEM3336" + config auto "sio" ? + +# Megahertz XJ1144, XJ2144 (US and JP), XJ2288, XJ3288 +card "MEGAHERTZ" "/XJ[0-9]+/" + config auto "sio" ? + +# Megahertz XJ-CC4288 +card "Megahertz" "XJ-CC4288" + config auto "sio" ? + +# Megahertz XJ4336 +card "Megahertz" "XJ4336-CC4336" + config auto "sio" ? + +# XXX generic serial? +# Megahertz X-Jack Ethernet/Modem 14.4K (as Modem only) +card "Megahertz" "XJEM1144/CCEM1144" + config 0x27 "sio" ? +# config auto "sio" ? + +# Motorola Montana +card "Motorola" "MONTANA 33.6 FAX/MODEM" + config auto "sio" ? + +# XXX generic serial? +# Motorola Marine multifunction card (as modem) +card "Motorola, Inc." "MARINER MODEM/FAX/LAN" + config 0x35 "sio" ? +# config auto "sio" ? + +# NTT ThunderCard Modem +card "NTT-IT CO., LTD" "ThunderCard AVF288, V.34" + config auto "sio" ? + +# NTT DoCoMo Mobile D Card 96P1 +card "NTT DoCoMo" "Mobile D Card 96P1" + config auto "sio" ? 0x82 + +# NTT DoCoMo (formerly NTT Personal) Paldio 611S +card "NTT DoCoMo" "PALDIO 611S PC CARD" + config auto "sio" ? 0x40000 + +# NTT DoCoMo DATA/FAX Adapter +card "NTT DoCoMo" "PCMCIA DATA/FAX ADAPTER 9600 Mark2" + config auto "sio" ? + +# NTT DoCoMo DATA/FAX Adapter +card "NTT DoCoMo" "/PCMCIA DATA/FAX.*/" + config auto "sio" ? 0x82 + +# NTT-IT ThunderCard +card "NTT Intelligent Technology Co., Ltd." "ThunderCard DD128" + config auto "sio" ? 0x80 + reset 1000 + +# NTT DoCoMo (formerly NTT Personal) FAX/Data 32K PHS Card Paldio 321S +card "NTT Personal" "32K Paldio 321S PC CARD" + config auto "sio" ? +# config auto "sio" ? 0x40000 + +# NTT DoCoMo (formerly NTT Personal) FAX/Data 32K PHS Card Paldio 341S +card "NTT Personal" "32K Paldio 341S PC CARD" + config auto "sio" ? + +# NTT Personal Paldio Data Card DC-1S +card "NTT Personal" "/Paldio Data.*/" "DC-1S" + config auto "sio" ? 0x40000 + +# Nokia Cellular Data Card DTP-2 and DTP-2 ver II +# This Nokia example allows either 1 or 2 Nokia cards to be fitted. +# With 2 Mobile Phones and Multilink PPP you can get a 19200 data channel. +# Nokia Cellular Data Card +card "Nokia Mobile Phones" "/DTP-2( ver II)?/" +# config 0x23 "sio" ? +# config 0x24 "sio" ? + config auto "sio" ? + +# Novalink NovaModem 144 +card "NovaLink Tech." "/NovaModem 144 */" + config auto "sio" ? + +# Novatel Merlin CDPD card (wireless modem) +card "Novatel Wireless" "Merlin Type II Wireless IP Modem" + config auto "sio" ? + +# Omron ME2814 FAX/DATA MODEM +card "OMRON" "ME2814 FAX/DATA MOD" + config auto "sio" ? + +# Omron MD24XCA FAX/Data Modem +card "OMRON Corp." "MD24XCA" + config auto "sio" ? +# config auto "sio" pio + reset 10000 + +# Option International PCMCIA55K06 +card "Option International" "GSM Data/Fax/SMS Modem" + config auto "sio" ? + +# Banksia CardModem 56 +card "PCCardModem" "CardModem 56" + config auto "sio" ? + +# Eiger PCCARD modem +# Apparently this modem does not work unless the recommended +# init string (AT&F&C1&D2) is supplied. +card "/PCMCIA */" "/33\.6K Fax/Modem */" + config auto "sio" ? + +# Actiontec Datalink with v.90 upgrade +card "/PCMCIA */" "/56K V\.90 Fax Modem (LK) */" + config auto "sio" ? + +# Billionton 56Kbps Fax Modem +card "PCMCIA CARD 56KFaxModem" "FM56C-NFS" + config auto "sio" ? + +# PREMAX FM288 FAX/Data Modem +card "PREMAX" "/FM288 */" + config auto "sio" ? + +# Panasonic FM-RADIO card +card "Panasonic" "CF-JVR101" + config auto "sio" ? +# config auto "sio" pio + +# Panasonic KX-PH402D +card "Panasonic" "KX-PH402D" + config auto "sio" ? + +# Panasonic Modem Card TO-706C +card "Panasonic" "TO-706C" + config auto "sio" ? + +# Panasonic Modem Card TO-706C +card "Panasonic" "TO-CAF288" + config auto "sio" ? + +# Panasonic TO-CAF56K FAX/Data Modem +card "Panasonic Co." "TO-CAF56K" +# config auto "sio" pio + config auto "sio" ? + reset 10000 + +# Random modem bundled with Dell systems +card "Psion Dacom" "Gold Card Global 56K+Fax" + config auto "sio" ? + +# RFI HotLine serial card +card "RFI" "RS-232 ComCard Rev.II" + config auto "sio" ? + +# SII MC-6530, MC-6550 and MC-P200 +card "SII" "/PHS (DATA|LINK) (32S|64)/" + config auto "sio" ? 0x40000 + +# TDK 14.4 FAX/Data Modem +card "TDK" "/DF1414(EX)? DATA/FAX MODEM/" + config auto "sio" ? + +# TDK DN1280R +card "TDK" "DN1280R" + config auto "sio" ? + reset 1000 + +# TDK DP9600 +card "TDK" "DP9600" + config auto "sio" ? 0x40000 + +# TDK Multifunctioon Card (as Modem) +card "TDK" "GlobalNetworker 3410/3412" + config auto "sio" ? 0x40000 + +# Toshiba Modem/LAN card IPC5001B (as Modem) +card "TOSHIBA" "Modem/LAN Card" + config 0x25 "sio" ? +# config auto "sio" ? + +# 3Com/USR/Toshiba SLIMV90 +card "TOSHIBA" "SLIMV90" + config auto "sio" ? + +# 3Com/NoteWorthy 56K modem (bundled with Toshiba notebooks) +card "Toshiba America" "3CXM056-BNW" + config auto "sio" ? + +# U.S. Robotics XJ1560 and XJ1560J, Megahertz XJ1336 +card "U.S. Robotics" "/XJ/CC1(336|560)J?/" + config auto "sio" ? + +# US Robotics Sportster PCMCIA V.34 +# US Robotics COURIER PCMCIA V.34 +card "USRobotics" "PCMCIA 28800 Data/F" + config auto "sio" ? + +# Viking V.90/K56Flex modem +card "Viking" "V.90 K56flex" + config auto "sio" ? + +# Xircom CreditCard Ethernet 10/100 + modem (modem part) +card "Xircom" "CreditCard Ethernet+Modem 33.6" + config 0x23 "sio" ? +# config auto "sio" ? + +# Xircom GlobalACCESS modem +card "Xircom" "CreditCard Modem 56 - GlobalACCESS" + config auto "sio" ? + +# Xircom CreditCard Modem +card "Xircom" "CreditCard Modem CM-56T" + config auto "sio" ? + reset 100 + +# Zonet 56Kbps FAX/Modem PC Card +card "PC CARD" "56Kbps Fax Modem PC Card" + config auto "sio" ? + +# Zoom 56K modem +# Freezes your system entirely if you don't have the reset.. +card "Zoom Telephonics, Inc." "PCMCIA 56K LT DataFax" + config auto "sio" ? + reset 1000 + +########## sn ########## + +# Megahertz X-Jack Ethernet +card "Megahertz" "CC10BT/2" + config auto "sn" ? + ether attr2 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Megahertz Ethernet Adapter +card "Megahertz" "ETHERNET ADAPTOR" + config auto "sn" ? + ether attr2 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# MELCO LPC-TX +card "MELCO/SMC" "LPC-TX" + config auto "sn" ? + ether 0x4a # 00:a0:dc + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# SMC EtherEZ Combo(SMC8020BT) +card "SMC" "EtherEZ Ethernet 8020" + config auto "sn" ? +# ether 0x9a # 00:00:c0 + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Victor M-MOIL CARD +card "JVC" "MiniMoil Ethernet Card" + config auto "sn" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## spc ########## + +# XXX NOT SUPPORTED YET +# REX5535AC, REX5535X SCSI +#card "PCMCIA SCSI MBH10401" "01" +# config 0x3a "spc" ? + +########## stg ########## + +# RATOC REX-5536, Melco IFC-SC +card "1195 RATOC System Inc." "REX5536 SCSI2 CARD" + config auto "stg" ? 0 + +# Future Domain SCSI2GO +card "Future Domain Corporation" "SCSI PCMCIA Credit Card Controller" + config auto "stg" ? + +# IBM SCSI PCMCIA Card +card "IBM Corp." "SCSI PCMCIA Card" + config auto "stg" ? + +# RATOC REX-5536AM, REX-9836A, ICM PSC-2401 SCSI +# There's a buggy revision of this card which has broken CIS tupples. +# If you can't use this card, change config entry from `auto' to +# `default' and try the point enabler. (for example, +# type "pccardc enabler 0 stg0 -a 0x4140 -i 5" from root command prompt) +card "PCMCIA SCSI MBH10404" "01" +# config default "stg" ? + config auto "stg" ? + logstr "RATOC REX-5536AM SCSI" + +# RATOC REX-5536M +card "PCMCIA SCSI2 CARD" "01" + config auto "stg" ? 0 + logstr "RATOC REX-5536M SCSI" + +########## wlp ########## + +# XXX NOT SUPPORTED YET +# AT&T GIS Wavelan PCMCIA +# If you want to use Japanese version, uncomment the second config +# line and comment-out the first line. +#card "AT&T" "WaveLAN/PCMCIA" +# config default "wlp" ? # US version (915MHz) +## config default "wlp" ? 0x01 # Japanese version (2.4GHz) +## ether wavelan +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + +# XXX NOT SUPPORTED YET +# Digital RoamAbout +#card "Digital" "RoamAbout/DS" +# config auto "wlp" ? +## ether wavelan +# insert /usr/sbin/wlpconfig -i wlp0 -w 0xaaaa +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + +# XXX NOT SUPPORTED YET +# Lucent Wavelan +#card "Lucent Technologies" "WaveLAN/PCMCIA" +# config default "wlp" ? +# ether wavelan +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + +# XXX NOT SUPPORTED YET +# NCR Wavelan PCMCIA +# If you want to use Japanese version, uncomment the second config +# line and comment-out the first line. +#card "NCR" "WaveLAN/PCMCIA" +# config default "wlp" ? # US version (915MHz) +## config default "wlp" ? 0x01 # Japanese version (2.4GHz) +# ether wavelan +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + + +########## wi ########## + +# 3com 3crwe737A AirConnect Wireless LAN PC Card +card "3Com" "3CRWE737A AirConnect Wireless LAN PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Accton airDirect WN3301 +card "Accton" "IEEE802.11 PC Card Adapter" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Addtron AWP-100 +card "Addtron" "AWP-100 Wireless PCMCIA" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ADLINK340APC +card "ADTEC" "ADLINK/340C" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Home Wireless Networks +card "AirWay" "802.11 Adapter (PCMCIA)" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Avaya Wireless PC Card +card "Avaya Communication" "Avaya Wireless PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# BreezeNET +card "BreezeNET" "PC-DS.11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Buffalo WLI-CF-S11G +card "BUFFALO" "WLI-CF-S11G" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Melco Airconnect 3.3V version +card "BUFFALO" "WLI-PCM-S11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Melco Airconnect (128bit WEP) +card "BUFFALO" "WLI-PCM-L11G" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Cabletron RoamAbout, WaveLAN/IEEE clone +card "Cabletron" "RoamAbout 802.11 DS" + config 0x1 "wi" ? +# config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Compaq WL100 +card "Compaq" "WL100_11Mbps_Wireless_PC_Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Compaq WL110 +card "Compaq" "Compaq WL110 PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Compaq WL200 +card "Compaq" "Compaq WL200_11Mbps_Wireless_PCI_Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Corega KK Wireless LAN PCC-11 +card "corega K.K." "Wireless LAN PCC-11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Corega KK Wireless LAN PCCA-11 +card "corega K.K." "Wireless LAN PCCA-11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Corega KK Wireless LAN PCCB-11 +card "corega_K.K." "Wireless_LAN_PCCB-11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# D Link DWL-650 11Mbps WLAN Card +card "D" "Link DWL-650 11Mbps WLAN Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Dell TrueMobile (OEMed Lucent WaveLAN/IEEE) +card "Dell" "TrueMobile 1150 Series PC Card" + config 0x1 "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Air@Hawk/LD-WL11/PCC (0.7.5) +card "ELECOM" "Air@Hark/LD-WL11/PCC" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELECOM Air@Hawk/LD-WL11/PCC (0.7.6 and later) +card "ELECOM" "Air@Hawk/LD-WL11/PCC" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ELSA Air Lancer +card "ELSA" "AirLancer MC-11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# PLANEX GeoWave/GW-NS11S +card "Geowave" "GW-NS11S" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys Instant Wireless WPC11 +card "/Instant Wireless */" " Network PC CARD" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Intel PRO/Wireless 2011 LAN PC Card +card "Intel" "PRO/Wireless 2011 LAN PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ICOM SL-1100 +card "ICOM" "SL-1100" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Farallon Skyline 11Mbps Wireless +card "INTERSIL" "HFA384x/IEEE" + config 0x1 "wi" ? +# config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# IO Data WN-B11/PCM +card "IO DATA" "WNB11PCM" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# IBM's rebadged Lucent WaveLAN/IEEE. The FCC IDs are identical to +# those for the Lucent card, so presumably everything else is as well. +card "IBM Corporation" "IBM High Rate Wireless LAN PC Card" + config 0x1 "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Lucent WaveLAN/IEEE +card "Lucent Technologies" "WaveLAN/IEEE" + config 0x1 "wi" ? +# config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Melco Airconnect +card "MELCO" "WLI-PCM-L11" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# nanospeed card of some flavor. +card "NANOSPEED" "HFA384x/IEEE" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NCR WaveLAN/IEEE +card "NCR" "WaveLAN/IEEE" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NEC Wireless Card CMZ-RT-WP +card "NEC" "Wireless Card CMZ-RT-WP" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NEC WL11C (PC-WL/11C) +card "NEC Aterm" "WL11C (PC-WL/11C)" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# NEC Corporation PK-WL001 +card "NEC Corporation" "Wireless PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Netgear MA401 +card "NETGEAR MA401 Wireless PC" "Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# PLANEX GeoWave/GW-NS110 +card "PLANEX" "GeoWave/GW-NS110" + config 0x1 "wi" ? +# config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# PLANEX GW-NS11H +card "PLANEX" "GW-NS11H Wireless LAN PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Proxim Harmony +card "PROXIM" "Harmony 802.11b/LAN PC CARD" + config 0x1 "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Proxim RangeLAN-DS (OEM of Zcommax - Prism2 card) +card "PROXIM" "RangeLAN-DS/LAN PC CARD" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# SMC's SMC2632W (also matches the 3.3V SMC2602W) +card "SMC" "SMC2632W" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Sony PCWA-C100 WaveLAN +card "Sony Corporation" "PCWA-C100" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# TDK LAK-CD011WL +card "TDK" "LAK-CD011WL for Wireless LAN" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Linksys Instant Wireless WPC11 v2.5 +card "The Linksys Group, Inc." "Instant Wireless Network PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Taiwanese Blue Concentric Circle CF Wireless LAN Model WL-379F +# This is a card sold in Taiwan. +card "Wireless LAN" "11Mbps PC Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Toshibas wireless lan card +card "TOSHIBA" "Wireless LAN Card" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# U.S. Robotics Wireless Card 2410 +card "U.S. Robotics" "IEEE 802.11b PC-CARD" + config auto "wi" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +########## xe ########## + +# Accton EN2226/Fast EtherCard (16-bit verison) +card "Accton" "Fast EtherCard-16" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Compaq Netelligent 10/100 PC Card +card "Compaq" "Netelligent 10/100 PC Card" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Intel EtherExpress PRO/100 Mobile Adapter (16-bit verison) +card "Intel" "EtherExpress(TM) PRO/100 PC Card Mobile Adapter16" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# XXX NOT SURE SUPPORTED +# Toshiba 10/100 Ethernet PC Card IPC5008A +#card "Toshiba" "10/100 Ethernet PC Card" +# config auto "xe" ? +## cardio 0x300 0x10 +# iosize 16 +# insert /etc/pccard_ether $device start +# remove /etc/pccard_ether $device stop + +# Xircom 10/100 Network PC Card +card "Xircom" "10/100 Network PC Card" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom Realport card + modem +card "Xircom" "16-bit Ethernet + Modem 56" + config 0x27 "xe" ? +# config auto "sio" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom CreditCard Ethernet CE3-10/100 +card "Xircom" "CreditCard 10/100" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom CreditCard Ethernet Adaptor IIps (PS-CE2-10) +card "Xircom" "CreditCard 10Base-T" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom CreditCard Ethernet 10/100 + modem (Ethernet part) (CEM56) +card "Xircom" "CreditCard Ethernet 10/100 + Modem 56" + config 0x27 "xe" ? +# config auto "sio" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# Xircom RE-10 +card "Xircom" "Ethernet Adapter" + config auto "xe" ? + insert /etc/pccard_ether $device start + remove /etc/pccard_ether $device stop + +# ------------------------------------------------------------------- +# +# "Wildcard" entries +# +# ------------------------------------------------------------------- + +# GENERIC PCMCIA modem +generic serial + config auto "sio" ? +# reset 100 # default +# reset 1000 # safety reset time + reset 10000 # for unstable cards + logstr "GENERIC PCMCIA modem" + +# GENERIC Flash ATA / ATA HDD +generic fixed_disk + config auto "ata" ? + logstr "GENERIC Flash ATA / ATA HDD" diff --git a/etc/defaults/periodic.conf b/etc/defaults/periodic.conf new file mode 100644 index 0000000..7fc4728 --- /dev/null +++ b/etc/defaults/periodic.conf @@ -0,0 +1,247 @@ +#!/bin/sh +# +# This is defaults/periodic.conf - a file full of useful variables that +# you can set to change the default behaviour of periodic jobs on your +# system. You should not edit this file! Put any overrides into one of the +# $periodic_conf_files instead and you will be able to update these defaults +# later without spamming your local configuration information. +# +# The $periodic_conf_files files should only contain values which override +# values set in this file. This eases the upgrade path when defaults +# are changed and new features are added. +# +# $FreeBSD$ +# + +# What files override these defaults ? +periodic_conf_files="/etc/periodic.conf /etc/periodic.conf.local" + +# periodic script dirs +local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic" + + +# Daily options + +# These options are used by periodic(8) itself to determine what to do +# with the output of the sub-programs that are run, and where to send +# that output. $daily_output might be set to /var/log/daily.log if you +# wish to log the daily output and have the files rotated by newsyslog(8) +# +daily_output="root" # user or /file +daily_show_success="YES" # scripts returning 0 +daily_show_info="YES" # scripts returning 1 +daily_show_badconfig="NO" # scripts returning 2 + +# 100.clean-disks +daily_clean_disks_enable="NO" # Delete files daily +daily_clean_disks_files="[#,]* .#* a.out *.core *.CKP .emacs_[0-9]*" +daily_clean_disks_days=3 # If older than this +daily_clean_disks_verbose="YES" # Mention files deleted + +# 110.clean-tmps +daily_clean_tmps_enable="NO" # Delete stuff daily +daily_clean_tmps_dirs="/tmp" # Delete under here +daily_clean_tmps_days="3" # If not accessed for +daily_clean_tmps_ignore=".X*-lock quota.user quota.group" # Don't delete these +daily_clean_tmps_verbose="YES" # Mention files deleted + +# 120.clean-preserve +daily_clean_preserve_enable="YES" # Delete files daily +daily_clean_preserve_days=7 # If not modified for +daily_clean_preserve_verbose="YES" # Mention files deleted + +# 130.clean-msgs +daily_clean_msgs_enable="YES" # Delete msgs daily +daily_clean_msgs_days= # If not modified for + +# 140.clean-rwho +daily_clean_rwho_enable="YES" # Delete rwho daily +daily_clean_rwho_days=7 # If not modified for +daily_clean_rwho_verbose="YES" # Mention files deleted + +# 150.clean-hoststat +daily_clean_hoststat_enable="YES" # Delete .hoststat daily +daily_clean_hoststat_days=3 # If not modified for +daily_clean_hoststat_verbose="YES" # Mention files deleted + +# 200.backup-passwd +daily_backup_passwd_enable="YES" # Backup passwd & group + +# 210.backup-aliases +daily_backup_aliases_enable="YES" # Backup mail aliases + +# 220.backup-distfile +daily_backup_distfile_enable="YES" # Backup /etc/Distfile + +# 300.calendar +daily_calendar_enable="NO" # Run calendar -a + +# 310.accounting +daily_accounting_enable="YES" # Rotate acct files +daily_accounting_compress="NO" # Gzip rotated files +daily_accounting_flags=-q # Flags to /usr/sbin/sa +daily_accounting_save=3 # How many files to save + +# 320.distfile +daily_distfile_enable="YES" # Run rdist daily + +# 330.news +daily_news_expire_enable="YES" # Run news.expire + +# 400.status-disks +daily_status_disks_enable="YES" # Check disk status +daily_status_disks_df_flags="-k -t nonfs" # df(1) flags for check + +# 420.status-network +daily_status_network_enable="YES" # Check network status +daily_status_network_usedns="YES" # DNS lookups are ok + +# 430.status-rwho +daily_status_rwho_enable="YES" # Check system status + +# 440.status-mailq +daily_status_mailq_enable="YES" # Check mail status +daily_status_mailq_shorten="NO" # Shorten output +daily_status_include_submit_mailq="YES" # Also submit queue + +# 450.status-security +daily_status_security_enable="YES" # Security check +# See "Security options" below for more options + +# 460.status-mail-rejects +daily_status_mail_rejects_enable="YES" # Check mail rejects +daily_status_mail_rejects_logs=3 # How many logs to check + +# 470.status-named +daily_status_named_enable="YES" +daily_status_named_usedns="YES" # DNS lookups are ok + +# 500.queuerun +daily_queuerun_enable="YES" # Run mail queue +daily_submit_queuerun="YES" # Also submit queue + +# 999.local +daily_local="/etc/daily.local" # Local scripts + + +# Security options + +# These options are used by the security periodic(8) scripts spawned in +# 450.status-security above. +daily_status_security_inline="NO" # Run inline ? +daily_status_security_output="root" # user or /file +daily_status_security_noamd="NO" # Don't check amd mounts +daily_status_security_logdir="/var/log" # Directory for logs + +# 100.chksetuid +daily_status_security_chksetuid_enable="YES" + +# 200.chkmounts +daily_status_security_chkmounts_enable="YES" +#daily_status_security_chkmounts_ignore="^amd:" # Don't check matching + # FS types + +# 300.chkuid0 +daily_status_security_chkuid0_enable="YES" + +# 400.passwdless +daily_status_security_passwdless_enable="YES" + +# 500.ipfwdenied +daily_status_security_ipfwdenied_enable="YES" + +# 550.ipfwlimit +daily_status_security_ipfwlimit_enable="YES" + +# 600.ip6fwdenied +daily_status_security_ip6fwdenied_enable="YES" + +# 650.ip6fwlimit +daily_status_security_ip6fwlimit_enable="YES" + +# 700.kernelmsg +daily_status_security_kernelmsg_enable="YES" + +# 800.loginfail +daily_status_security_loginfail_enable="YES" + +# 900.tcpwrap +daily_status_security_tcpwrap_enable="YES" + + +# Weekly options + +# These options are used by periodic(8) itself to determine what to do +# with the output of the sub-programs that are run, and where to send +# that output. $weekly_output might be set to /var/log/weekly.log if you +# wish to log the weekly output and have the files rotated by newsyslog(8) +# +weekly_output="root" # user or /file +weekly_show_success="YES" # scripts returning 0 +weekly_show_info="YES" # scripts returning 1 +weekly_show_badconfig="NO" # scripts returning 2 + +# 120.clean-kvmdb +weekly_clean_kvmdb_enable="YES" # Clean kvmdb weekly +weekly_clean_kvmdb_days=7 # If not accessed for +weekly_clean_kvmdb_verbose="YES" # Mention files deleted + +# 310.locate +weekly_locate_enable="YES" # Update locate weekly + +# 320.whatis +weekly_whatis_enable="YES" # Update whatis weekly + +# 330.catman +weekly_catman_enable="NO" # Preformat man pages + +# 340.noid +weekly_noid_enable="NO" # Find unowned files +weekly_noid_dirs="/" # Look here + +# 400.status-pkg +weekly_status_pkg_enable="NO" # Find out-of-date pkgs + +# 999.local +weekly_local="/etc/weekly.local" # Local scripts + + +# Monthly options + +# These options are used by periodic(8) itself to determine what to do +# with the output of the sub-programs that are run, and where to send +# that output. $monthly_output might be set to /var/log/monthly.log if you +# wish to log the monthly output and have the files rotated by newsyslog(8) +# +monthly_output="root" # user or /file +monthly_show_success="YES" # scripts returning 0 +monthly_show_info="YES" # scripts returning 1 +monthly_show_badconfig="NO" # scripts returning 2 + +# 200.accounting +monthly_accounting_enable="YES" # Login accounting + +# 999.local +monthly_local="/etc/monthly.local" # Local scripts + + +# Define source_periodic_confs, the mechanism used by /etc/periodic/*/* +# scripts to source defaults/periodic.conf overrides safely. + +if [ -z "${source_periodic_confs_defined}" ]; then + source_periodic_confs_defined=yes + source_periodic_confs () { + local i sourced_files + + for i in ${periodic_conf_files}; do + case ${sourced_files} in + *:$i:*) + ;; + *) + sourced_files="${sourced_files}:$i:" + [ -r $i ] && . $i + ;; + esac + done + } +fi diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf new file mode 100644 index 0000000..24b7256 --- /dev/null +++ b/etc/defaults/rc.conf @@ -0,0 +1,445 @@ +#!/bin/sh +# + +# This is rc.conf - a file full of useful variables that you can set +# to change the default startup behavior of your system. You should +# not edit this file! Put any overrides into one of the ${rc_conf_files} +# instead and you will be able to update these defaults later without +# spamming your local configuration information. +# +# The ${rc_conf_files} files should only contain values which override +# values set in this file. This eases the upgrade path when defaults +# are changed and new features are added. +# +# All arguments must be in double or single quotes. +# +# $FreeBSD$ + +############################################################## +### Important initial Boot-time options #################### +############################################################## + +rc_ng="NO" # Set to YES to enable new-style rc. Experimental. +rc_info="YES" # Enables display of informational messages at boot. +rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown +swapfile="NO" # Set to name of swapfile if aux swapfile desired. +apm_enable="NO" # Set to YES to enable APM BIOS functions (or NO). +apmd_enable="NO" # Run apmd to handle APM event from userland. +apmd_flags="" # Flags to apmd (if enabled). +pccard_enable="NO" # Set to YES if you want to configure PCCARD devices. +pccard_mem="DEFAULT" # If pccard_enable=YES, this is card memory address. +pccard_beep="2" # pccard beep type. +pccard_ifconfig="NO" # Specialized pccard ethernet configuration (or NO). +pccardd_flags="" # Additional flags for pccardd. +pccard_conf="/etc/defaults/pccard.conf" # pccardd(8) config file +pccard_ether_delay="5" # Delay before trying to start dhclient in pccard_ether +removable_interfaces="" # Removable network interfaces for /etc/pccard_ether. +local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs. +script_name_sep=" " # Change if your startup scripts' names contain spaces +rc_conf_files="/etc/rc.conf /etc/rc.conf.local" +fsck_y_enable="NO" # Set to YES to do fsck -y if the initial preen fails. +background_fsck="YES" # Attempt to run fsck in the background where possible. +extra_netfs_types="NO" # List of network extra filesystem types for delayed + # mount at startup (or NO). + +############################################################## +### Network configuration sub-section ###################### +############################################################## + +### Basic network and firewall/security options: ### +hostname="" # Set this! +nisdomainname="NO" # Set to NIS domain if using NIS (or NO). +dhcp_program="/sbin/dhclient" # Path to dhcp client program. +dhcp_flags="" # Additional flags to pass to dhcp client. +firewall_enable="NO" # Set to YES to enable firewall functionality +firewall_script="/etc/rc.firewall" # Which script to run to set up the firewall +firewall_type="UNKNOWN" # Firewall type (see /etc/rc.firewall) +firewall_quiet="NO" # Set to YES to suppress rule display +firewall_logging="NO" # Set to YES to enable events logging +firewall_flags="" # Flags passed to ipfw when type is a file +ip_portrange_first="NO" # Set first dynamically allocated port +ip_portrange_last="NO" # Set last dynamically allocated port +ipsec_enable="NO" # Set to YES to run setkey on ipsec_file +ipsec_file="/etc/ipsec.conf" # Name of config file for setkey +natd_program="/sbin/natd" # path to natd, if you want a different one. +natd_enable="NO" # Enable natd (if firewall_enable == YES). +natd_interface="" # Public interface or IPaddress to use. +natd_flags="" # Additional flags for natd. +ipfilter_enable="NO" # Set to YES to enable ipfilter functionality +ipfilter_program="/sbin/ipf" # where the ipfilter program lives +ipfilter_rules="/etc/ipf.rules" # rules definition file for ipfilter, see + # /usr/src/contrib/ipfilter/rules for examples +ipfilter_flags="" # additional flags for ipfilter +ipnat_enable="NO" # Set to YES to enable ipnat functionality +ipnat_program="/sbin/ipnat" # where the ipnat program lives +ipnat_rules="/etc/ipnat.rules" # rules definition file for ipnat +ipnat_flags="" # additional flags for ipnat +ipmon_enable="NO" # Set to YES for ipmon; needs ipfilter or ipnat +ipmon_program="/sbin/ipmon" # where the ipfilter monitor program lives +ipmon_flags="-Ds" # typically "-Ds" or "-D /var/log/ipflog" +ipfs_enable="NO" # Set to YES to enable saving and restoring + # of state tables at shutdown and boot +ipfs_program="/sbin/ipfs" # where the ipfs program lives +ipfs_flags="" # additional flags for ipfs +tcp_extensions="YES" # Set to NO to turn off RFC1323 extensions. +log_in_vain="0" # >=1 to log connects to ports w/o listeners. +tcp_keepalive="YES" # Enable stale TCP connection timeout (or NO). +# For the following option you need to have TCP_DROP_SYNFIN set in your +# kernel. Please refer to LINT and NOTES for details. +tcp_drop_synfin="NO" # Set to YES to drop TCP packets with SYN+FIN + # NOTE: this violates the TCP specification +icmp_drop_redirect="NO" # Set to YES to ignore ICMP REDIRECT packets +icmp_log_redirect="NO" # Set to YES to log ICMP REDIRECT packets +network_interfaces="auto" # List of network interfaces (or "auto"). +cloned_interfaces="" # List of cloned network interfaces to create. +#cloned_interfaces="gif0 gif1 gif2 gif3" # Pre-cloning GENERIC config. +ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration. +#ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff" # Sample alias entry. +#ifconfig_ed0_ipx="ipx 0x00010010" # Sample IPX address family entry. +# +# If you have any sppp(4) interfaces above, you might also want to set +# the following parameters. Refer to spppcontrol(8) for their meaning. +sppp_interfaces="" # List of sppp interfaces. +#sppp_interfaces="isp0" # example: sppp over ISDN +#spppconfig_isp0="authproto=chap myauthname=foo myauthsecret='top secret' hisauthname=some-gw hisauthsecret='another secret'" +gif_interfaces="NO" # List of GIF tunnels (or "NO"). +#gif_interfaces="gif0 gif1" # Examples typically for a router. + # Choose correct tunnel addrs. +#gifconfig_gif0="10.1.1.1 10.1.2.1" # Examples typically for a router. +#gifconfig_gif1="10.1.1.2 10.1.2.2" # Examples typically for a router. + +# User ppp configuration. +ppp_enable="NO" # Start user-ppp (or NO). +ppp_mode="auto" # Choice of "auto", "ddial", "direct" or "dedicated". + # For details see man page for ppp(8). Default is auto. +ppp_nat="YES" # Use PPP's internal network address translation or NO. +ppp_profile="papchap" # Which profile to use from /etc/ppp/ppp.conf. +ppp_user="root" # Which user to run ppp as + +### Network daemon (miscellaneous) ### +syslogd_enable="YES" # Run syslog daemon (or NO). +syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different one. +syslogd_flags="-s" # Flags to syslogd (if enabled). +#syslogd_flags="-ss" # Syslogd flags to not bind an inet socket +inetd_enable="NO" # Run the network daemon dispatcher (YES/NO). +inetd_program="/usr/sbin/inetd" # path to inetd, if you want a different one. +inetd_flags="-wW" # Optional flags to inetd +# +# named. It may be possible to run named in a sandbox, man security for +# details. +# +named_rcng="NO" # XXX Temporary. Enable to use new rc + # functionality in support of named. See + # variables below. +named_enable="NO" # Run named, the DNS server (or NO). +named_program="/usr/sbin/named" # path to named, if you want a different one. +named_flags="-u bind -g bind" # Flags for named +named_chrootdir="" # Chroot directory (or "" not to auto-chroot it) +named_chroot_autoupdate="YES" # Automatically install/update chrooted + # components of named. See /etc/rc.d/named. +named_symlink_enable="YES" # Symlink /var/run/named.pid and /var/run/ndc + # to their chrooted counterparts. + +# +# kerberos. Do not run the admin daemons on slave servers +# +kerberos4_server_enable="NO" # Run a kerberos IV master server (or NO). +kerberos4_server="/usr/sbin/kerberos" # path to kerberos IV KDC +kadmind4_server_enable="NO" # Run kadmind (or NO) +kadmind4_server="/usr/sbin/kadmind" # path to kerberos IV admin daemon +kerberos5_server_enable="NO" # Run a kerberos 5 master server (or NO). +kerberos5_server="/usr/libexec/kdc" # path to kerberos 5 KDC +kadmind5_server_enable="NO" # Run kadmind (or NO) +kadmind5_server="/usr/libexec/k5admind" # path to kerberos 5 admin daemon +kerberos_stash="NO" # Is the kerberos master key stashed? + +rwhod_enable="NO" # Run the rwho daemon (or NO). +rwhod_flags="" # Flags for rwhod +rarpd_enable="NO" # Run rarpd (or NO). +rarpd_flags="" # Flags to rarpd. +xtend_enable="NO" # Run the X-10 power controller daemon. +xtend_flags="" # Flags to xtend (if enabled). +pppoed_enable="NO" # Run the PPP over Ethernet daemon. +pppoed_provider="*" # Provider and ppp(8) config file entry. +pppoed_flags="-P /var/run/pppoed.pid" # Flags to pppoed (if enabled). +pppoed_interface="fxp0" # The interface that pppoed runs on. +sshd_enable="NO" # Enable sshd +sshd_program="/usr/sbin/sshd" # path to sshd, if you want a different one. +sshd_flags="" # Additional flags for sshd. + +### Network daemon (NFS): All need rpcbind_enable="YES" ### +amd_enable="NO" # Run amd service with $amd_flags (or NO). +amd_flags="-a /.amd_mnt -l syslog /host /etc/amd.map /net /etc/amd.map" +amd_map_program="NO" # Can be set to "ypcat -k amd.master" +nfs_client_enable="NO" # This host is an NFS client (or NO). +nfs_access_cache="2" # Client cache timeout in seconds +nfs_server_enable="NO" # This host is an NFS server (or NO). +nfs_server_flags="-u -t -n 4" # Flags to nfsd (if enabled). +mountd_enable="NO" # Run mountd (or NO). +mountd_flags="-r" # Flags to mountd (if NFS server enabled). +weak_mountd_authentication="NO" # Allow non-root mount requests to be served. +nfs_reserved_port_only="NO" # Provide NFS only on secure port (or NO). +nfs_bufpackets="DEFAULT" # bufspace (in packets) for client (or DEFAULT) +rpc_lockd_enable="NO" # Run NFS rpc.lockd needed for client/server. +rpc_statd_enable="NO" # Run NFS rpc.statd needed for client/server. +rpcbind_enable="NO" # Run the portmapper service (YES/NO). +rpcbind_program="/usr/sbin/rpcbind" # path to rpcbind, if you want a different one. +rpcbind_flags="" # Flags to rpcbind (if enabled). +rpc_ypupdated_enable="NO" # Run if NIS master and SecureRPC (or NO). +keyserv_enable="NO" # Run the SecureRPC keyserver (or NO). +keyserv_flags="" # Flags to keyserv (if enabled). + +### Network Time Services options: ### +timed_enable="NO" # Run the time daemon (or NO). +timed_flags="" # Flags to timed (if enabled). +ntpdate_enable="NO" # Run ntpdate to sync time on boot (or NO). +ntpdate_program="/usr/sbin/ntpdate" # path to ntpdate, if you want a different one. +ntpdate_flags="-b" # Flags to ntpdate (if enabled). +ntpd_enable="NO" # Run ntpd Network Time Protocol (or NO). +ntpd_program="/usr/sbin/ntpd" # path to ntpd, if you want a different one. +ntpd_flags="-p /var/run/ntpd.pid" # Flags to ntpd (if enabled). + +# Network Information Services (NIS) options: All need rpcbind_enable="YES" ### +nis_client_enable="NO" # We're an NIS client (or NO). +nis_client_flags="" # Flags to ypbind (if enabled). +nis_ypset_enable="NO" # Run ypset at boot time (or NO). +nis_ypset_flags="" # Flags to ypset (if enabled). +nis_server_enable="NO" # We're an NIS server (or NO). +nis_server_flags="" # Flags to ypserv (if enabled). +nis_ypxfrd_enable="NO" # Run rpc.ypxfrd at boot time (or NO). +nis_ypxfrd_flags="" # Flags to rpc.ypxfrd (if enabled). +nis_yppasswdd_enable="NO" # Run rpc.yppasswdd at boot time (or NO). +nis_yppasswdd_flags="" # Flags to rpc.yppasswdd (if enabled). + +### Network routing options: ### +defaultrouter="NO" # Set to default gateway (or NO). +static_routes="" # Set to static route list (or leave empty). +gateway_enable="NO" # Set to YES if this host will be a gateway. +router_enable="NO" # Set to YES to enable a routing daemon. +router="/sbin/routed" # Name of routing daemon to use if enabled. +router_flags="-q" # Flags for routing daemon. +mrouted_enable="NO" # Do multicast routing (see /etc/mrouted.conf). +mrouted_flags="" # Flags for multicast routing daemon. +ipxgateway_enable="NO" # Set to YES to enable IPX routing. +ipxrouted_enable="NO" # Set to YES to run the IPX routing daemon. +ipxrouted_flags="" # Flags for IPX routing daemon. +arpproxy_all="NO" # replaces obsolete kernel option ARP_PROXYALL. +forward_sourceroute="NO" # do source routing (only if gateway_enable is set to "YES") +accept_sourceroute="NO" # accept source routed packets to us + +### ATM interface options: ### +atm_enable="NO" # Configure ATM interfaces (or NO). +#atm_netif_hea0="atm 1" # Network interfaces for physical interface. +#atm_sigmgr_hea0="uni31" # Signalling manager for physical interface. +#atm_prefix_hea0="ILMI" # NSAP prefix (UNI interfaces only) (or ILMI). +#atm_macaddr_hea0="NO" # Override physical MAC address (or NO). +#atm_arpserver_atm0="0x47.0005.80.999999.9999.9999.9999.999999999999.00" # ATMARP server address (or local). +#atm_scsparp_atm0="NO" # Run SCSP/ATMARP on network interface (or NO). +atm_pvcs="" # Set to PVC list (or leave empty). +atm_arps="" # Set to permanent ARP list (or leave empty). + +### ISDN interface options: (see also: /usr/share/examples/isdn) ### +isdn_enable="NO" # Enable the ISDN subsystem (or NO). +isdn_fsdev="NO" # Output device for fullscreen mode (or NO for daemon mode). +isdn_flags="-dn -d0x1f9" # Flags for isdnd +isdn_ttype="cons25" # terminal type for fullscreen mode +isdn_screenflags="NO" # screenflags for ${isdn_fsdev} +isdn_trace="NO" # Enable the ISDN trace subsystem (or NO). +isdn_traceflags="-f /var/tmp/isdntrace0" # Flags for isdntrace + +### Miscellaneous network options: ### +icmp_bmcastecho="NO" # respond to broadcast ping packets + +### IPv6 options: ### +ipv6_enable="NO" # Set to YES to set up for IPv6. +ipv6_network_interfaces="auto" # List of network interfaces (or "auto"). +ipv6_defaultrouter="NO" # Set to IPv6 default gateway (or NO). +#ipv6_defaultrouter="2002:c058:6301::" # Use this for 6to4 (RFC 3068) +ipv6_static_routes="" # Set to static route list (or leave empty). +#ipv6_static_routes="xxx" # An example to set fec0:0000:0000:0006::/64 + # route toward loopback interface. +#ipv6_route_xxx="fec0:0000:0000:0006:: -prefixlen 64 ::1" +ipv6_gateway_enable="NO" # Set to YES if this host will be a gateway. +ipv6_router_enable="NO" # Set to YES to enable an IPv6 routing daemon. +ipv6_router="/usr/sbin/route6d" # Name of IPv6 routing daemon. +ipv6_router_flags="" # Flags to IPv6 routing daemon. +#ipv6_router_flags="-l" # Example for route6d with only IPv6 site local + # addrs. +#ipv6_router_flags="-q" # If you want to run a routing daemon on an end + # node, you should stop advertisement. +#ipv6_network_interfaces="ed0 ep0" # Examples for router + # or static configuration for end node. + # Choose correct prefix value. +#ipv6_prefix_ed0="fec0:0000:0000:0001 fec0:0000:0000:0002" # Examples for rtr. +#ipv6_prefix_ep0="fec0:0000:0000:0003 fec0:0000:0000:0004" # Examples for rtr. +#ipv6_ifconfig_ed0="fec0:0:0:5::1 prefixlen 64" # Sample manual assign entry +#ipv6_ifconfig_ed0_alias0="fec0:0:0:5::2 prefixlen 64" # Sample alias entry. +ipv6_default_interface="NO" # Default output interface for scoped addrs. + # Now this works only for IPv6 link local + # multicast addrs. +rtadvd_enable="NO" # Set to YES to enable an IPv6 router + # advertisement daemon. If set to YES, + # this router becomes a possible candidate + # IPv6 default router for local subnets. +rtadvd_interfaces="" # Interfaces rtadvd sends RA packets. +mroute6d_enable="NO" # Do IPv6 multicast routing. +mroute6d_program="/usr/local/sbin/pim6dd" # Name of IPv6 multicast + # routing daemon. You need to + # install it from package or + # port. +mroute6d_flags="" # Flags to IPv6 multicast routing daemon. +stf_interface_ipv4addr="" # Local IPv4 addr for 6to4 IPv6 over IPv4 + # tunneling interface. Specify this entry + # to enable 6to4 interface. +stf_interface_ipv4plen="0" # Prefix length for 6to4 IPv4 addr, + # to limit peer addr range. Effective value + # is 0-31. +stf_interface_ipv6_ifid="0:0:0:1" # IPv6 interface id for stf0. + # If you like, you can set "AUTO" for this. +stf_interface_ipv6_slaid="0000" # IPv6 Site Level Aggregator for stf0 +ipv6_faith_prefix="NO" # Set faith prefix to enable a FAITH + # IPv6-to-IPv4 TCP translator. You also need + # faithd(8) setup. +ipv6_ipv4mapping="NO" # Set to "YES" to enable IPv4 mapped IPv6 addr + # communication. (like ::ffff:a.b.c.d) +ipv6_firewall_enable="NO" # Set to YES to enable IPv6 firewall + # functionality +ipv6_firewall_script="/etc/rc.firewall6" # Which script to run to set up the IPv6 firewall +ipv6_firewall_type="UNKNOWN" # IPv6 Firewall type (see /etc/rc.firewall6) +ipv6_firewall_quiet="NO" # Set to YES to suppress rule display +ipv6_firewall_logging="NO" # Set to YES to enable events logging +ipv6_firewall_flags="" # Flags passed to ip6fw when type is a file + +############################################################## +### System console options ################################# +############################################################## + +keymap="NO" # keymap in /usr/share/syscons/keymaps/* (or NO). +keyrate="NO" # keyboard rate to: slow, normal, fast (or NO). +keybell="NO" # bell to duration.pitch or normal or visual (or NO). +keychange="NO" # function keys default values (or NO). +cursor="NO" # cursor type {normal|blink|destructive} (or NO). +scrnmap="NO" # screen map in /usr/share/syscons/scrnmaps/* (or NO). +font8x16="NO" # font 8x16 from /usr/share/syscons/fonts/* (or NO). +font8x14="NO" # font 8x14 from /usr/share/syscons/fonts/* (or NO). +font8x8="NO" # font 8x8 from /usr/share/syscons/fonts/* (or NO). +blanktime="300" # blank time (in seconds) or "NO" to turn it off. +saver="NO" # screen saver: Uses /boot/kernel/${saver}_saver.ko +moused_enable="NO" # Run the mouse daemon. +moused_type="auto" # See man page for rc.conf(5) for available settings. +moused_port="/dev/psm0" # Set to your mouse port. +moused_flags="" # Any additional flags to moused. +mousechar_start="NO" # if 0xd0-0xd3 default range is occuped in your + # language code table, specify alternative range + # start like mousechar_start=3, see vidcontrol(1) +allscreens_flags="" # Set this vidcontrol mode for all virtual screens +allscreens_kbdflags="" # Set this kbdcontrol mode for all virtual screens + + +############################################################## +### pcvt console driver options ############################ +############################################################## + +pcvt_verbose="NO" # set to YES to enable verbose configuration messages +pcvt_keymap="NO" # keyboard map in /usr/share/misc/keycap.pcvt (or NO). +pcvt_keydel="NO" # key repeat delay, 0-3 (250,500,750,1000 msec) (or NO). +pcvt_keyrate="NO" # keyboard repetition rate 31-0 (2-30 char/sec) (or NO). +pcvt_keyrepeat="NO" # keyboard repeat ON or OFF (or NO). +pcvt_force24="NO" # force a 24 line display (when 25 possible) (or NO). +pcvt_hpext="NO" # use HP extensions (function keys labels) (or NO). +pcvt_lines="NO" # lines (25, 28, 40, 50 or NO). +pcvt_blanktime="NO" # blank time (in seconds) (or NO). +pcvt_cursorh="NO" # cursor top scanline (topmost line is 0) (or NO). +pcvt_cursorl="NO" # cursor low scanline (bottom line is 16) (or NO). +pcvt_monohigh="NO" # set intensity to high on monochrome monitors (or NO). + + +############################################################## +### Mail Transfer Agent (MTA) options ###################### +############################################################## + +mta_start_script="/etc/rc.sendmail" + # Script to start your chosen MTA, called by /etc/rc. +# Settings for /etc/rc.sendmail: +sendmail_enable="NO" # Run the sendmail inbound daemon (YES/NO/NONE). + # If NONE, don't start any sendmail processes. +sendmail_flags="-L sm-mta -bd -q30m" # Flags to sendmail (as a server) +sendmail_submit_enable="YES" # Start a localhost-only MTA for mail submission +sendmail_submit_flags="-L sm-mta -bd -q30m -ODaemonPortOptions=Addr=localhost" + # Flags for localhost-only MTA +sendmail_outbound_enable="YES" # Dequeue stuck mail (YES/NO). +sendmail_outbound_flags="-L sm-queue -q30m" # Flags to sendmail (outbound only) +sendmail_msp_queue_enable="YES" # Dequeue stuck clientmqueue mail (YES/NO). +sendmail_msp_queue_flags="-L sm-msp-queue -Ac -q30m" + # Flags for sendmail_msp_queue daemon. + + +############################################################## +### Miscellaneous administrative options ################### +############################################################## + +cron_enable="YES" # Run the periodic job daemon. +cron_program="/usr/sbin/cron" # Which cron executable to run (if enabled). +cron_flags="" # Which options to pass to the cron daemon. +lpd_enable="NO" # Run the line printer daemon. +lpd_program="/usr/sbin/lpd" # path to lpd, if you want a different one. +lpd_flags="" # Flags to lpd (if enabled). +usbd_enable="NO" # Run the usbd daemon. +usbd_flags="" # Flags to usbd (if enabled). +dumpdev="NO" # Device name to crashdump to (or NO). +dumpdir="/var/crash" # Directory where crash dumps are to be stored +savecore_flags="" # Used if dumpdev is enabled above, and present. +enable_quotas="NO" # turn on quotas on startup (or NO). +check_quotas="YES" # Check quotas on startup (or NO). +accounting_enable="NO" # Turn on process accounting (or NO). +ibcs2_enable="NO" # Ibcs2 (SCO) emulation loaded at startup (or NO). +ibcs2_loaders="coff" # List of additional Ibcs2 loaders (or NO). +sysvipc_enable="NO" # Load System V IPC primitives at startup (or NO). +linux_enable="NO" # Linux binary compatibility loaded at startup (or NO). +svr4_enable="NO" # SysVR4 emulation loaded at startup (or NO). +osf1_enable="NO" # Alpha OSF/1 emulation loaded at startup (or NO). +clear_tmp_enable="NO" # Clear /tmp at startup. +ldconfig_insecure="NO" # Set to YES to disable ldconfig security checks +ldconfig_paths="/usr/lib/compat /usr/X11R6/lib /usr/local/lib" + # shared library search paths +ldconfig_paths_aout="/usr/lib/compat/aout /usr/X11R6/lib/aout /usr/local/lib/aout" + # a.out shared library search paths +kern_securelevel_enable="NO" # kernel security level (see init(8)), +kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure +lomac_enable="NO" # start lomac(4) security module at boot +update_motd="YES" # update version info in /etc/motd (or NO) +start_vinum="NO" # set to YES to start vinum +unaligned_print="YES" # print unaligned access warnings on the alpha (or NO). +entropy_file="/entropy" # Set to NO to disable caching entropy through reboots. + # /var/db/entropy is preferred if / is not available. +entropy_dir="/var/db/entropy" # Set to NO to disable caching entropy via cron. +entropy_save_sz="2048" # Size of the entropy cache files. +entropy_save_num="8" # Number of entropy cache files to save. +harvest_interrupt="YES" # Entropy device harvests interrupt randomness +harvest_ethernet="YES" # Entropy device harvests ethernet randomness +harvest_p_to_p="YES" # Entropy device harvests point-to-point randomness +dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot + +############################################################## +### Define source_rc_confs, the mechanism used by /etc/rc.* ## +### scripts to source rc_conf_files overrides safely. ## +############################################################## + +if [ -z "${source_rc_confs_defined}" ]; then + source_rc_confs_defined=yes + source_rc_confs () { + local i sourced_files + for i in ${rc_conf_files}; do + case ${sourced_files} in + *:$i:*) + ;; + *) + sourced_files="${sourced_files}:$i:" + if [ -r $i ]; then + . $i + fi + ;; + esac + done + } +fi diff --git a/etc/dhclient.conf b/etc/dhclient.conf new file mode 100644 index 0000000..a7639d9 --- /dev/null +++ b/etc/dhclient.conf @@ -0,0 +1,8 @@ +# $FreeBSD$ +# +# This file is required by the ISC DHCP client. +# See ``man 5 dhclient.conf'' for details. +# +# In most cases an empty file is sufficient for most people as the +# defaults are usually fine. +# diff --git a/etc/disktab b/etc/disktab new file mode 100644 index 0000000..a5afde3 --- /dev/null +++ b/etc/disktab @@ -0,0 +1,235 @@ +# $FreeBSD$ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, ns*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# + +# +# Floppy formats: +# +# To make a filesystem on a floppy: +# fdformat [-f <size>] fd<drive>[.<size>] +# disklabel -B -r -w fd<drive>[.<size>] fd<size> +# newfs <opts> fd<drive>[.<size>] +# +# with <opts>: +# -t 2 - two heads +# -u 9|15|18 - sectors per track +# (using the default value of 1/4096 is not much useful for floppies) +# -l 1 - interleave 1 (for most floppies) +# -i 65536 - bytes of data per i-node +# (the default -i value will render you with a floppy wasting way +# too much space in i-node areas) +# + +fd360:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#40:\ + :pa#720:oa#0:ba#4096:fa#512:\ + :pb#720:ob#0:bb#4096:fb#512:\ + :pc#720:oc#0:bc#4096:fc#512: + +fd720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#80:\ + :pa#1440:oa#0:ba#4096:fa#512:\ + :pb#1440:ob#0:bb#4096:fb#512:\ + :pc#1440:oc#0:bc#4096:fc#512: + +fd1200|floppy5|5in|5.25in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#360:ns#15:nc#80:\ + :pa#2400:oa#0:ba#4096:fa#512:\ + :pb#2400:ob#0:bb#4096:fb#512:\ + :pc#2400:oc#0:bc#4096:fc#512: + +fd1440|floppy|floppy3|3in|3.5in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#80:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pb#2880:ob#0:bb#4096:fb#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +# +# Stressed floppy-formats. No guarantees given. +# + +fd800:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#80:\ + :pa#1600:oa#0:ba#4096:fa#512:\ + :pb#1600:ob#0:bb#4096:fb#512:\ + :pc#1600:oc#0:bc#4096:fc#512: + +fd820:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#82:\ + :pa#1640:oa#0:ba#4096:fa#512:\ + :pb#1640:ob#0:bb#4096:fb#512:\ + :pc#1640:oc#0:bc#4096:fc#512: + +fd1480:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#82:\ + :pa#2952:oa#0:ba#4096:fa#512:\ + :pb#2952:ob#0:bb#4096:fb#512:\ + :pc#2952:oc#0:bc#4096:fc#512: + +fd1720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#21:nc#82:\ + :pa#3444:oa#0:ba#4096:fa#512:\ + :pb#3444:ob#0:bb#4096:fb#512:\ + :pc#3444:oc#0:bc#4096:fc#512: + +# +# LS-120 floppy-format. +# +fd120m|floppy120|floppy120m|3.5in LS-120 Floppy:\ + :ty=floppy:se#512:nt#8:rm#300:ns#32:nc#963:\ + :pa#246528:oa#0:ba#4096:fa#512:\ + :pb#246528:ob#0:bb#4096:fb#512:\ + :pc#246528:oc#0:bc#4096:fc#512: + +# +# Harddisk formats +# +qp120at|Quantum Peripherals 120MB IDE:\ + :dt=ESDI:ty=winchester:se#512:nt#9:ns#32:nc#813:sf: \ + :pa#13824:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#13824:ob#13824:tb=swap: \ + :pc#234144:oc#0: \ + :ph#206496:oh#27648:th=4.2BSD:bh#4096:fh#512: + +pan60|Panasonic Laptop's 60MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#13:ns#17:nc#565:\ + :pa#13260:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#13260:ob#13260:tb=swap: \ + :pc#124865:oc#0: \ + :ph#97682:oh#26520:th=4.2BSD:bh#4096:fh#512: + +mk156|toshiba156|Toshiba MK156 156Mb:\ + :dt=SCSI:ty=winchester:se#512:nt#10:ns#35:nc#825:\ + :pa#15748:oa#0:ba#4096:fa#512:ta=4.2BSD:\ + :pb#15748:ob#15748:tb=swap:\ + :pc#288750:oc#0:\ + :ph#257250:oh#31500:bh#4096:fh#512:th=4.2BSD: + +cp3100|Connor Peripherals 100MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#12144:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#12144:ob#12144:tb=swap: \ + :pc#202224:oc#0: \ + :ph#177936:oh#24288:th=4.2BSD:bh#4096:fh#512: + +# a == root +# b == swap +# c == d == whole disk +# e == /var +# f == scratch +# h == /usr + +cp3100new|Connor Peripherals 100MB IDE, with a different configuration:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#15840:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#24288:ob#15840:tb=swap: \ + :pc#202224:oc#0: \ + :pd#202224:od#0: \ + :pe#15840:oe#40128:te=4.2BSD:be#4096:fe#512: \ + :pg#15840:og#55968:tg=4.2BSD:bg#4096:fg#512: \ + :ph#130416:oh#71808:th=4.2BSD:bh#4096:fh#512: + +maxtor4380|Maxtor XT4380E ESDI :\ + :dt=ESDI:ty=winchester:se#512:nt#15:ns#36:nc#1222:sf: \ + :pa#21600:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#21600:ob#21600:tb=swap: \ + :pc#659880:oc#0: \ + :pd#216000:od#53200:td=4.2BSD:bd#4096:fd#512: \ + :ph#398520:oh#269200:th=4.2BSD:bh#4096:fh#512: + +miniscribe9380|compaq38|Miniscribe 9380 ESDI :\ + :ty=winchester:dt=ESDI:se#512:nt#15:ns#35:nc#1223:rm#3600:sf: \ + :pa#21000:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#42000:ob#21000:tb=swap: \ + :pc#642075:oc#0: \ + :pd#21000:od#63000:bd#8192:fd#1024:td=4.2BSD: \ + :ph#556500:oh#84000:bh#8192:fh#1024:th=4.2BSD: + +ida4|compaq88|Compaq IDA (4 drives) :\ + :ty=winchester:dt=IDA:se#512:nt#16:ns#63:nc#1644:rm#3600:\ + :pa#20160:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#80640:ob#20160:tb=swap: \ + :pc#1659168:oc#0: \ + :pd#201600:od#100800:bd#8192:fd#1024:td=4.2BSD: \ + :pe#20160:oe#1310400:be#8192:fe#1024:te=4.2BSD: \ + :ph#1008000:oh#302400:bh#8192:fh#1024:th=4.2BSD: \ + :pg#302400:og#1330560:bg#4096:fg#512:tg=4.2BSD: + +fuji513|Fujitsu M22XXXX: \ + :ty=winchester:dt=ESDI:se#512:nt#16:ns#63:nc#954:rm#3600:\ + :pa#20160:oa#82656:ba#4096:fa#512:ta=4.2BSD: \ + :pb#40320:ob#102816:tb=swap: \ + :pc#961632:oc#0: \ + :ph#656208:oh#143136:bh#4096:fh#512:th=4.2BSD: + +sony650|Sony 650 MB MOD|\ + :ty=removable:dt=SCSI:se#512:nt#1:ns#31:nc#18600:ts#1:rm#4800:\ + :pc#576600:oc#0:\ + :pa#576600:oa#0:ta=4.2BSD:ba#8192:fa#1024: + +mta3230|mo230|IBM MTA-3230 230 Meg 3.5inch Magneto-Optical:\ + :ty=removeable:dt=SCSI:rm#3600:\ + :se#512:nt#64:ns#32:nc#216:sc#2048:su#444384:\ + :pa#444384:oa#0:ba#4096:fa#0:ta=4.2BSD:\ + :pc#444384:oc#0: + +minimum:ty=mfs:se#512:nt#1:rm#300:\ + :ns#2880:nc#1:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +minimum2:ty=mfs:se#512:nt#1:rm#300:\ + :ns#5760:nc#1:\ + :pa#5760:oa#0:ba#4096:fa#512:\ + :pc#5760:oc#0:bc#4096:fc#512: + +minimum3:ty=mfs:se#512:nt#1:rm#300:\ + :ns#8640:nc#1:\ + :pa#8640:oa#0:ba#4096:fa#512:\ + :pc#8640:oc#0:bc#4096:fc#512: + +zip100|zip 100:\ + :ty=removable:se#512:nc#96:nt#64:ns#32:\ + :pa#196608:oa#0:ba#4096:fa#512:\ + :pb#196608:ob#0:bb#4096:fb#512:\ + :pc#196608:oc#0:bc#4096:fc#512: + +zip250|zip 250:\ + :ty=removable:se#512:nc#239:nt#64:ns#32:\ + :pa#489472:oa#0:ba#4096:fa#512:\ + :pb#489472:ob#0:bb#4096:fb#512:\ + :pc#489472:oc#0:bc#4096:fc#512: + +orb2200|orb22|orb:\ + :ty=removable:ns#63:nt#128:nc#4273:sc#1008:su#4307184:se#512:\ + :pa#4307184:oa#0:ba#8192:fa#1024:\ + :pc#4307184:oc#0:bc#8192:fc#1024: + diff --git a/etc/dm.conf b/etc/dm.conf new file mode 100644 index 0000000..63fad93 --- /dev/null +++ b/etc/dm.conf @@ -0,0 +1,20 @@ +# +# Game Control File +# $FreeBSD$ +# @(#)dm.conf 5.5 (Berkeley) 4/12/89 +# + +# TTYNAME +# badtty /dev/tty19 # news +# badtty /dev/tty20 # news/mail + +# DAY OF WEEK START STOP +# time Monday 7 16 # 7am to 4pm +# time Tuesday 7 16 +# time Wednesday 7 16 +# time Thursday 7 16 +# time Friday 7 16 + +# GAME MAX LOAD MAX USERS PRIORITY +# default must be the last entry for the ``game'' keyword +game default 5 * * diff --git a/etc/etc.alpha/disktab b/etc/etc.alpha/disktab new file mode 100644 index 0000000..cd0822d --- /dev/null +++ b/etc/etc.alpha/disktab @@ -0,0 +1,224 @@ +# $FreeBSD$ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, ns*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# + +# +# Floppy formats: +# +# To make a filesystem on a floppy: +# fdformat [-f <size>] fd<drive>[.<size>] +# disklabel -B -r -w fd<drive>[.<size>] fd<size> +# newfs <opts> fd<drive>[.<size>] +# +# with <opts>: +# -t 2 - two heads +# -u 9|15|18 - sectors per track +# (using the default value of 1/4096 is not much useful for floppies) +# -l 1 - interleave 1 (for most floppies) +# -i 65536 - bytes of data per i-node +# (the default -i value will render you with a floppy wasting way +# too much space in i-node areas) +# + +fd360:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#40:\ + :pa#720:oa#0:ba#4096:fa#512:\ + :pb#720:ob#0:bb#4096:fb#512:\ + :pc#720:oc#0:bc#4096:fc#512: + +fd720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#80:\ + :pa#1440:oa#0:ba#4096:fa#512:\ + :pb#1440:ob#0:bb#4096:fb#512:\ + :pc#1440:oc#0:bc#4096:fc#512: + +fd1200|floppy5|5in|5.25in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#360:ns#15:nc#80:\ + :pa#2400:oa#0:ba#4096:fa#512:\ + :pb#2400:ob#0:bb#4096:fb#512:\ + :pc#2400:oc#0:bc#4096:fc#512: + +fd1440|floppy|floppy3|3in|3.5in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#80:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pb#2880:ob#0:bb#4096:fb#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +# +# Stressed floppy-formats. No guarantees given. +# + +fd800:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#80:\ + :pa#1600:oa#0:ba#4096:fa#512:\ + :pb#1600:ob#0:bb#4096:fb#512:\ + :pc#1600:oc#0:bc#4096:fc#512: + +fd820:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#82:\ + :pa#1640:oa#0:ba#4096:fa#512:\ + :pb#1640:ob#0:bb#4096:fb#512:\ + :pc#1640:oc#0:bc#4096:fc#512: + +fd1480:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#82:\ + :pa#2952:oa#0:ba#4096:fa#512:\ + :pb#2952:ob#0:bb#4096:fb#512:\ + :pc#2952:oc#0:bc#4096:fc#512: + +fd1720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#21:nc#82:\ + :pa#3444:oa#0:ba#4096:fa#512:\ + :pb#3444:ob#0:bb#4096:fb#512:\ + :pc#3444:oc#0:bc#4096:fc#512: + +# +# LS-120 floppy-format. +# +fd120m|floppy120|floppy120m|3.5in LS-120 Floppy:\ + :ty=floppy:se#512:nt#8:rm#300:ns#32:nc#963:\ + :pa#246528:oa#0:ba#4096:fa#512:\ + :pb#246528:ob#0:bb#4096:fb#512:\ + :pc#246528:oc#0:bc#4096:fc#512: + +# +# Harddisk formats +# +qp120at|Quantum Peripherals 120MB IDE:\ + :dt=ESDI:ty=winchester:se#512:nt#9:ns#32:nc#813:sf: \ + :pa#13824:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#13824:ob#13824:tb=swap: \ + :pc#234144:oc#0: \ + :ph#206496:oh#27648:th=4.2BSD:bh#4096:fh#512: + +pan60|Panasonic Laptop's 60MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#13:ns#17:nc#565:\ + :pa#13260:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#13260:ob#13260:tb=swap: \ + :pc#124865:oc#0: \ + :ph#97682:oh#26520:th=4.2BSD:bh#4096:fh#512: + +mk156|toshiba156|Toshiba MK156 156Mb:\ + :dt=SCSI:ty=winchester:se#512:nt#10:ns#35:nc#825:\ + :pa#15748:oa#0:ba#4096:fa#512:ta=4.2BSD:\ + :pb#15748:ob#15748:tb=swap:\ + :pc#288750:oc#0:\ + :ph#257250:oh#31500:bh#4096:fh#512:th=4.2BSD: + +cp3100|Connor Peripherals 100MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#12144:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#12144:ob#12144:tb=swap: \ + :pc#202224:oc#0: \ + :ph#177936:oh#24288:th=4.2BSD:bh#4096:fh#512: + +# a == root +# b == swap +# c == d == whole disk +# e == /var +# f == scratch +# h == /usr + +cp3100new|Connor Peripherals 100MB IDE, with a different configuration:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#15840:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#24288:ob#15840:tb=swap: \ + :pc#202224:oc#0: \ + :pd#202224:od#0: \ + :pe#15840:oe#40128:te=4.2BSD:be#4096:fe#512: \ + :pg#15840:og#55968:tg=4.2BSD:bg#4096:fg#512: \ + :ph#130416:oh#71808:th=4.2BSD:bh#4096:fh#512: + +maxtor4380|Maxtor XT4380E ESDI :\ + :dt=ESDI:ty=winchester:se#512:nt#15:ns#36:nc#1222:sf: \ + :pa#21600:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#21600:ob#21600:tb=swap: \ + :pc#659880:oc#0: \ + :pd#216000:od#53200:td=4.2BSD:bd#4096:fd#512: \ + :ph#398520:oh#269200:th=4.2BSD:bh#4096:fh#512: + +miniscribe9380|compaq38|Miniscribe 9380 ESDI :\ + :ty=winchester:dt=ESDI:se#512:nt#15:ns#35:nc#1223:rm#3600:sf: \ + :pa#21000:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#42000:ob#21000:tb=swap: \ + :pc#642075:oc#0: \ + :pd#21000:od#63000:bd#8192:fd#1024:td=4.2BSD: \ + :ph#556500:oh#84000:bh#8192:fh#1024:th=4.2BSD: + +ida4|compaq88|Compaq IDA (4 drives) :\ + :ty=winchester:dt=IDA:se#512:nt#16:ns#63:nc#1644:rm#3600:\ + :pa#20160:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#80640:ob#20160:tb=swap: \ + :pc#1659168:oc#0: \ + :pd#201600:od#100800:bd#8192:fd#1024:td=4.2BSD: \ + :pe#20160:oe#1310400:be#8192:fe#1024:te=4.2BSD: \ + :ph#1008000:oh#302400:bh#8192:fh#1024:th=4.2BSD: \ + :pg#302400:og#1330560:bg#4096:fg#512:tg=4.2BSD: + +fuji513|Fujitsu M22XXXX: \ + :ty=winchester:dt=ESDI:se#512:nt#16:ns#63:nc#954:rm#3600:\ + :pa#20160:oa#82656:ba#4096:fa#512:ta=4.2BSD: \ + :pb#40320:ob#102816:tb=swap: \ + :pc#961632:oc#0: \ + :ph#656208:oh#143136:bh#4096:fh#512:th=4.2BSD: + +sony650|Sony 650 MB MOD|\ + :ty=removable:dt=SCSI:se#512:nt#1:ns#31:nc#18600:ts#1:rm#4800:\ + :pc#576600:oc#0:\ + :pa#576600:oa#0:ta=4.2BSD:ba#8192:fa#1024: + +mta3230|mo230|IBM MTA-3230 230 Meg 3.5inch Magneto-Optical:\ + :ty=removeable:dt=SCSI:rm#3600:\ + :se#512:nt#64:ns#32:nc#216:sc#2048:su#444384:\ + :pa#444384:oa#0:ba#4096:fa#0:ta=4.2BSD:\ + :pc#444384:oc#0: + +minimum:ty=mfs:se#512:nt#1:rm#300:\ + :ns#2880:nc#1:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +minimum2:ty=mfs:se#512:nt#1:rm#300:\ + :ns#5760:nc#1:\ + :pa#5760:oa#0:ba#4096:fa#512:\ + :pc#5760:oc#0:bc#4096:fc#512: + +zip100|zip 100:\ + :ty=removable:se#512:nc#96:nt#64:ns#32:\ + :pa#196608:oa#0:ba#4096:fa#512:\ + :pb#196608:ob#0:bb#4096:fb#512:\ + :pc#196608:oc#0:bc#4096:fc#512: + +zip250|zip 250:\ + :ty=removable:se#512:nc#239:nt#64:ns#32:\ + :pa#489472:oa#0:ba#4096:fa#512:\ + :pb#489472:ob#0:bb#4096:fb#512:\ + :pc#489472:oc#0:bc#4096:fc#512: diff --git a/etc/etc.alpha/rc.alpha b/etc/etc.alpha/rc.alpha new file mode 100644 index 0000000..9488e02 --- /dev/null +++ b/etc/etc.alpha/rc.alpha @@ -0,0 +1,28 @@ +#!/bin/sh - +# +# $FreeBSD$ +# Do alpha specific processing +# + +echo -n 'Initial rc.alpha initialization:' + +# Start the Alpha OSF/1 binary compatibility if requested. +# +case ${osf1_enable} in +[Yy][Ee][Ss]) + echo -n ' OSF/1' + if ! kldstat -v | grep osf1_ecoff > /dev/null; then + kldload osf1 > /dev/null 2>&1 + fi + ;; +esac + +# knob for wether or not we should print out unaligned access warnings +# +case ${unaligned_print} in +[Nn][Oo]) + sysctl machdep.unaligned_print=0 + ;; +esac + +echo '.' diff --git a/etc/etc.alpha/ttys b/etc/etc.alpha/ttys new file mode 100644 index 0000000..169d40c --- /dev/null +++ b/etc/etc.alpha/ttys @@ -0,0 +1,309 @@ +# +# $FreeBSD$ +# @(#)ttys 5.1 (Berkeley) 4/17/89 +# +# This file specifies various information about terminals on the system. +# It is used by several different programs. Common entries for the +# various columns include: +# +# name The name of the terminal device. +# +# getty The program to start running on the terminal. Typically a +# getty program, as the name implies. Other common entries +# include none, when no getty is needed, and xdm, to start the +# X Window System. +# +# type The initial terminal type for this port. For hardwired +# terminal lines, this will contain the type of terminal used. +# For virtual consoles, the correct type is typically cons25, but +# vt220 will work better if you need interoperability with other +# systems like Solaris or GNU/Linux. +# Other common values include network for network connections on +# pseudo-terminals, dialup for incoming modem ports, and unknown +# when the terminal type cannot be predetermined. +# +# status Must be on or off. If on, init will run the getty program on +# the specified port. If the word "secure" appears, this tty +# allows root login. +# +# name getty type status comments +# +# If console is marked "insecure", then init will ask for the root password +# when going to single-user mode. +console none unknown off secure +# +ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +ttyv1 "/usr/libexec/getty Pc" cons25 on secure +ttyv2 "/usr/libexec/getty Pc" cons25 on secure +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure +# Serial terminals +# serial console for AlphaServer 8200 and 8400 ("TurboLaser") +#zs0 "/usr/libexec/getty std.9600" vt100 on secure +# The 'dialup' keyword identifies dialin lines to login, fingerd etc. +ttyd0 "/usr/libexec/getty std.9600" vt100 on secure +ttyd1 "/usr/libexec/getty std.9600" dialup off secure +ttyd2 "/usr/libexec/getty std.9600" dialup off secure +ttyd3 "/usr/libexec/getty std.9600" dialup off secure +# Pseudo terminals +ttyp0 none network +ttyp1 none network +ttyp2 none network +ttyp3 none network +ttyp4 none network +ttyp5 none network +ttyp6 none network +ttyp7 none network +ttyp8 none network +ttyp9 none network +ttypa none network +ttypb none network +ttypc none network +ttypd none network +ttype none network +ttypf none network +ttypg none network +ttyph none network +ttypi none network +ttypj none network +ttypk none network +ttypl none network +ttypm none network +ttypn none network +ttypo none network +ttypp none network +ttypq none network +ttypr none network +ttyps none network +ttypt none network +ttypu none network +ttypv none network +ttyq0 none network +ttyq1 none network +ttyq2 none network +ttyq3 none network +ttyq4 none network +ttyq5 none network +ttyq6 none network +ttyq7 none network +ttyq8 none network +ttyq9 none network +ttyqa none network +ttyqb none network +ttyqc none network +ttyqd none network +ttyqe none network +ttyqf none network +ttyqg none network +ttyqh none network +ttyqi none network +ttyqj none network +ttyqk none network +ttyql none network +ttyqm none network +ttyqn none network +ttyqo none network +ttyqp none network +ttyqq none network +ttyqr none network +ttyqs none network +ttyqt none network +ttyqu none network +ttyqv none network +ttyr0 none network +ttyr1 none network +ttyr2 none network +ttyr3 none network +ttyr4 none network +ttyr5 none network +ttyr6 none network +ttyr7 none network +ttyr8 none network +ttyr9 none network +ttyra none network +ttyrb none network +ttyrc none network +ttyrd none network +ttyre none network +ttyrf none network +ttyrg none network +ttyrh none network +ttyri none network +ttyrj none network +ttyrk none network +ttyrl none network +ttyrm none network +ttyrn none network +ttyro none network +ttyrp none network +ttyrq none network +ttyrr none network +ttyrs none network +ttyrt none network +ttyru none network +ttyrv none network +ttys0 none network +ttys1 none network +ttys2 none network +ttys3 none network +ttys4 none network +ttys5 none network +ttys6 none network +ttys7 none network +ttys8 none network +ttys9 none network +ttysa none network +ttysb none network +ttysc none network +ttysd none network +ttyse none network +ttysf none network +ttysg none network +ttysh none network +ttysi none network +ttysj none network +ttysk none network +ttysl none network +ttysm none network +ttysn none network +ttyso none network +ttysp none network +ttysq none network +ttysr none network +ttyss none network +ttyst none network +ttysu none network +ttysv none network +ttyP0 none network +ttyP1 none network +ttyP2 none network +ttyP3 none network +ttyP4 none network +ttyP5 none network +ttyP6 none network +ttyP7 none network +ttyP8 none network +ttyP9 none network +ttyPa none network +ttyPb none network +ttyPc none network +ttyPd none network +ttyPe none network +ttyPf none network +ttyPg none network +ttyPh none network +ttyPi none network +ttyPj none network +ttyPk none network +ttyPl none network +ttyPm none network +ttyPn none network +ttyPo none network +ttyPp none network +ttyPq none network +ttyPr none network +ttyPs none network +ttyPt none network +ttyPu none network +ttyPv none network +ttyQ0 none network +ttyQ1 none network +ttyQ2 none network +ttyQ3 none network +ttyQ4 none network +ttyQ5 none network +ttyQ6 none network +ttyQ7 none network +ttyQ8 none network +ttyQ9 none network +ttyQa none network +ttyQb none network +ttyQc none network +ttyQd none network +ttyQe none network +ttyQf none network +ttyQg none network +ttyQh none network +ttyQi none network +ttyQj none network +ttyQk none network +ttyQl none network +ttyQm none network +ttyQn none network +ttyQo none network +ttyQp none network +ttyQq none network +ttyQr none network +ttyQs none network +ttyQt none network +ttyQu none network +ttyQv none network +ttyR0 none network +ttyR1 none network +ttyR2 none network +ttyR3 none network +ttyR4 none network +ttyR5 none network +ttyR6 none network +ttyR7 none network +ttyR8 none network +ttyR9 none network +ttyRa none network +ttyRb none network +ttyRc none network +ttyRd none network +ttyRe none network +ttyRf none network +ttyRg none network +ttyRh none network +ttyRi none network +ttyRj none network +ttyRk none network +ttyRl none network +ttyRm none network +ttyRn none network +ttyRo none network +ttyRp none network +ttyRq none network +ttyRr none network +ttyRs none network +ttyRt none network +ttyRu none network +ttyRv none network +ttyS0 none network +ttyS1 none network +ttyS2 none network +ttyS3 none network +ttyS4 none network +ttyS5 none network +ttyS6 none network +ttyS7 none network +ttyS8 none network +ttyS9 none network +ttySa none network +ttySb none network +ttySc none network +ttySd none network +ttySe none network +ttySf none network +ttySg none network +ttySh none network +ttySi none network +ttySj none network +ttySk none network +ttySl none network +ttySm none network +ttySn none network +ttySo none network +ttySp none network +ttySq none network +ttySr none network +ttySs none network +ttySt none network +ttySu none network +ttySv none network diff --git a/etc/etc.amd64/rc.amd64 b/etc/etc.amd64/rc.amd64 new file mode 100644 index 0000000..d3c12ae --- /dev/null +++ b/etc/etc.amd64/rc.amd64 @@ -0,0 +1,54 @@ +#!/bin/sh - +# +# $FreeBSD$ +# Do i386 specific processing +# + +echo -n 'Initial rc.i386 initialization:' + +case ${apm_enable} in +[Yy][Ee][Ss]) + echo -n ' apm' + apm -e enable > /dev/null 2>&1 + APM_DONE=yes + ;; +esac + +case ${apmd_enable} in +[Yy][Ee][Ss]) + case ${APM_DONE} in + '') + echo -n ' apm' + apm -e enable > /dev/null 2>&1 + ;; + esac + + echo -n ' apmd'; apmd ${apmd_flags} + ;; +esac + +# Start the SCO binary emulation if requested. +# +case ${ibcs2_enable} in +[Yy][Ee][Ss]) + echo -n ' ibcs2' + kldload ibcs2 > /dev/null 2>&1 + case ${ibcs2_loaders} in + [Nn][Oo]) + ;; + *) + for i in ${ibcs2_loaders}; do + kldload ibcs2_$i > /dev/null 2>&1 + done + ;; + esac + ;; +esac + +case ${xtend_enable} in +[Yy][Ee][Ss]) + echo -n ' xtend'; /usr/libexec/xtend + ;; +esac + +echo '.' diff --git a/etc/etc.amd64/ttys b/etc/etc.amd64/ttys new file mode 100644 index 0000000..1e63d4b --- /dev/null +++ b/etc/etc.amd64/ttys @@ -0,0 +1,307 @@ +# +# $FreeBSD$ +# @(#)ttys 5.1 (Berkeley) 4/17/89 +# +# This file specifies various information about terminals on the system. +# It is used by several different programs. Common entries for the +# various columns include: +# +# name The name of the terminal device. +# +# getty The program to start running on the terminal. Typically a +# getty program, as the name implies. Other common entries +# include none, when no getty is needed, and xdm, to start the +# X Window System. +# +# type The initial terminal type for this port. For hardwired +# terminal lines, this will contain the type of terminal used. +# For virtual consoles, the correct type is typically cons25, but +# vt220 will work better if you need interoperability with other +# systems like Solaris or GNU/Linux. +# Other common values include network for network connections on +# pseudo-terminals, dialup for incoming modem ports, and unknown +# when the terminal type cannot be predetermined. +# +# status Must be on or off. If on, init will run the getty program on +# the specified port. If the word "secure" appears, this tty +# allows root login. +# +# name getty type status comments +# +# If console is marked "insecure", then init will ask for the root password +# when going to single-user mode. +console none unknown off secure +# +ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +ttyv1 "/usr/libexec/getty Pc" cons25 on secure +ttyv2 "/usr/libexec/getty Pc" cons25 on secure +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure +# Serial terminals +# The 'dialup' keyword identifies dialin lines to login, fingerd etc. +ttyd0 "/usr/libexec/getty std.9600" dialup off secure +ttyd1 "/usr/libexec/getty std.9600" dialup off secure +ttyd2 "/usr/libexec/getty std.9600" dialup off secure +ttyd3 "/usr/libexec/getty std.9600" dialup off secure +# Pseudo terminals +ttyp0 none network +ttyp1 none network +ttyp2 none network +ttyp3 none network +ttyp4 none network +ttyp5 none network +ttyp6 none network +ttyp7 none network +ttyp8 none network +ttyp9 none network +ttypa none network +ttypb none network +ttypc none network +ttypd none network +ttype none network +ttypf none network +ttypg none network +ttyph none network +ttypi none network +ttypj none network +ttypk none network +ttypl none network +ttypm none network +ttypn none network +ttypo none network +ttypp none network +ttypq none network +ttypr none network +ttyps none network +ttypt none network +ttypu none network +ttypv none network +ttyq0 none network +ttyq1 none network +ttyq2 none network +ttyq3 none network +ttyq4 none network +ttyq5 none network +ttyq6 none network +ttyq7 none network +ttyq8 none network +ttyq9 none network +ttyqa none network +ttyqb none network +ttyqc none network +ttyqd none network +ttyqe none network +ttyqf none network +ttyqg none network +ttyqh none network +ttyqi none network +ttyqj none network +ttyqk none network +ttyql none network +ttyqm none network +ttyqn none network +ttyqo none network +ttyqp none network +ttyqq none network +ttyqr none network +ttyqs none network +ttyqt none network +ttyqu none network +ttyqv none network +ttyr0 none network +ttyr1 none network +ttyr2 none network +ttyr3 none network +ttyr4 none network +ttyr5 none network +ttyr6 none network +ttyr7 none network +ttyr8 none network +ttyr9 none network +ttyra none network +ttyrb none network +ttyrc none network +ttyrd none network +ttyre none network +ttyrf none network +ttyrg none network +ttyrh none network +ttyri none network +ttyrj none network +ttyrk none network +ttyrl none network +ttyrm none network +ttyrn none network +ttyro none network +ttyrp none network +ttyrq none network +ttyrr none network +ttyrs none network +ttyrt none network +ttyru none network +ttyrv none network +ttys0 none network +ttys1 none network +ttys2 none network +ttys3 none network +ttys4 none network +ttys5 none network +ttys6 none network +ttys7 none network +ttys8 none network +ttys9 none network +ttysa none network +ttysb none network +ttysc none network +ttysd none network +ttyse none network +ttysf none network +ttysg none network +ttysh none network +ttysi none network +ttysj none network +ttysk none network +ttysl none network +ttysm none network +ttysn none network +ttyso none network +ttysp none network +ttysq none network +ttysr none network +ttyss none network +ttyst none network +ttysu none network +ttysv none network +ttyP0 none network +ttyP1 none network +ttyP2 none network +ttyP3 none network +ttyP4 none network +ttyP5 none network +ttyP6 none network +ttyP7 none network +ttyP8 none network +ttyP9 none network +ttyPa none network +ttyPb none network +ttyPc none network +ttyPd none network +ttyPe none network +ttyPf none network +ttyPg none network +ttyPh none network +ttyPi none network +ttyPj none network +ttyPk none network +ttyPl none network +ttyPm none network +ttyPn none network +ttyPo none network +ttyPp none network +ttyPq none network +ttyPr none network +ttyPs none network +ttyPt none network +ttyPu none network +ttyPv none network +ttyQ0 none network +ttyQ1 none network +ttyQ2 none network +ttyQ3 none network +ttyQ4 none network +ttyQ5 none network +ttyQ6 none network +ttyQ7 none network +ttyQ8 none network +ttyQ9 none network +ttyQa none network +ttyQb none network +ttyQc none network +ttyQd none network +ttyQe none network +ttyQf none network +ttyQg none network +ttyQh none network +ttyQi none network +ttyQj none network +ttyQk none network +ttyQl none network +ttyQm none network +ttyQn none network +ttyQo none network +ttyQp none network +ttyQq none network +ttyQr none network +ttyQs none network +ttyQt none network +ttyQu none network +ttyQv none network +ttyR0 none network +ttyR1 none network +ttyR2 none network +ttyR3 none network +ttyR4 none network +ttyR5 none network +ttyR6 none network +ttyR7 none network +ttyR8 none network +ttyR9 none network +ttyRa none network +ttyRb none network +ttyRc none network +ttyRd none network +ttyRe none network +ttyRf none network +ttyRg none network +ttyRh none network +ttyRi none network +ttyRj none network +ttyRk none network +ttyRl none network +ttyRm none network +ttyRn none network +ttyRo none network +ttyRp none network +ttyRq none network +ttyRr none network +ttyRs none network +ttyRt none network +ttyRu none network +ttyRv none network +ttyS0 none network +ttyS1 none network +ttyS2 none network +ttyS3 none network +ttyS4 none network +ttyS5 none network +ttyS6 none network +ttyS7 none network +ttyS8 none network +ttyS9 none network +ttySa none network +ttySb none network +ttySc none network +ttySd none network +ttySe none network +ttySf none network +ttySg none network +ttySh none network +ttySi none network +ttySj none network +ttySk none network +ttySl none network +ttySm none network +ttySn none network +ttySo none network +ttySp none network +ttySq none network +ttySr none network +ttySs none network +ttySt none network +ttySu none network +ttySv none network diff --git a/etc/etc.i386/disktab b/etc/etc.i386/disktab new file mode 100644 index 0000000..a5afde3 --- /dev/null +++ b/etc/etc.i386/disktab @@ -0,0 +1,235 @@ +# $FreeBSD$ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, ns*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# + +# +# Floppy formats: +# +# To make a filesystem on a floppy: +# fdformat [-f <size>] fd<drive>[.<size>] +# disklabel -B -r -w fd<drive>[.<size>] fd<size> +# newfs <opts> fd<drive>[.<size>] +# +# with <opts>: +# -t 2 - two heads +# -u 9|15|18 - sectors per track +# (using the default value of 1/4096 is not much useful for floppies) +# -l 1 - interleave 1 (for most floppies) +# -i 65536 - bytes of data per i-node +# (the default -i value will render you with a floppy wasting way +# too much space in i-node areas) +# + +fd360:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#40:\ + :pa#720:oa#0:ba#4096:fa#512:\ + :pb#720:ob#0:bb#4096:fb#512:\ + :pc#720:oc#0:bc#4096:fc#512: + +fd720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#80:\ + :pa#1440:oa#0:ba#4096:fa#512:\ + :pb#1440:ob#0:bb#4096:fb#512:\ + :pc#1440:oc#0:bc#4096:fc#512: + +fd1200|floppy5|5in|5.25in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#360:ns#15:nc#80:\ + :pa#2400:oa#0:ba#4096:fa#512:\ + :pb#2400:ob#0:bb#4096:fb#512:\ + :pc#2400:oc#0:bc#4096:fc#512: + +fd1440|floppy|floppy3|3in|3.5in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#80:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pb#2880:ob#0:bb#4096:fb#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +# +# Stressed floppy-formats. No guarantees given. +# + +fd800:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#80:\ + :pa#1600:oa#0:ba#4096:fa#512:\ + :pb#1600:ob#0:bb#4096:fb#512:\ + :pc#1600:oc#0:bc#4096:fc#512: + +fd820:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#82:\ + :pa#1640:oa#0:ba#4096:fa#512:\ + :pb#1640:ob#0:bb#4096:fb#512:\ + :pc#1640:oc#0:bc#4096:fc#512: + +fd1480:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#82:\ + :pa#2952:oa#0:ba#4096:fa#512:\ + :pb#2952:ob#0:bb#4096:fb#512:\ + :pc#2952:oc#0:bc#4096:fc#512: + +fd1720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#21:nc#82:\ + :pa#3444:oa#0:ba#4096:fa#512:\ + :pb#3444:ob#0:bb#4096:fb#512:\ + :pc#3444:oc#0:bc#4096:fc#512: + +# +# LS-120 floppy-format. +# +fd120m|floppy120|floppy120m|3.5in LS-120 Floppy:\ + :ty=floppy:se#512:nt#8:rm#300:ns#32:nc#963:\ + :pa#246528:oa#0:ba#4096:fa#512:\ + :pb#246528:ob#0:bb#4096:fb#512:\ + :pc#246528:oc#0:bc#4096:fc#512: + +# +# Harddisk formats +# +qp120at|Quantum Peripherals 120MB IDE:\ + :dt=ESDI:ty=winchester:se#512:nt#9:ns#32:nc#813:sf: \ + :pa#13824:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#13824:ob#13824:tb=swap: \ + :pc#234144:oc#0: \ + :ph#206496:oh#27648:th=4.2BSD:bh#4096:fh#512: + +pan60|Panasonic Laptop's 60MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#13:ns#17:nc#565:\ + :pa#13260:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#13260:ob#13260:tb=swap: \ + :pc#124865:oc#0: \ + :ph#97682:oh#26520:th=4.2BSD:bh#4096:fh#512: + +mk156|toshiba156|Toshiba MK156 156Mb:\ + :dt=SCSI:ty=winchester:se#512:nt#10:ns#35:nc#825:\ + :pa#15748:oa#0:ba#4096:fa#512:ta=4.2BSD:\ + :pb#15748:ob#15748:tb=swap:\ + :pc#288750:oc#0:\ + :ph#257250:oh#31500:bh#4096:fh#512:th=4.2BSD: + +cp3100|Connor Peripherals 100MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#12144:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#12144:ob#12144:tb=swap: \ + :pc#202224:oc#0: \ + :ph#177936:oh#24288:th=4.2BSD:bh#4096:fh#512: + +# a == root +# b == swap +# c == d == whole disk +# e == /var +# f == scratch +# h == /usr + +cp3100new|Connor Peripherals 100MB IDE, with a different configuration:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#15840:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#24288:ob#15840:tb=swap: \ + :pc#202224:oc#0: \ + :pd#202224:od#0: \ + :pe#15840:oe#40128:te=4.2BSD:be#4096:fe#512: \ + :pg#15840:og#55968:tg=4.2BSD:bg#4096:fg#512: \ + :ph#130416:oh#71808:th=4.2BSD:bh#4096:fh#512: + +maxtor4380|Maxtor XT4380E ESDI :\ + :dt=ESDI:ty=winchester:se#512:nt#15:ns#36:nc#1222:sf: \ + :pa#21600:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#21600:ob#21600:tb=swap: \ + :pc#659880:oc#0: \ + :pd#216000:od#53200:td=4.2BSD:bd#4096:fd#512: \ + :ph#398520:oh#269200:th=4.2BSD:bh#4096:fh#512: + +miniscribe9380|compaq38|Miniscribe 9380 ESDI :\ + :ty=winchester:dt=ESDI:se#512:nt#15:ns#35:nc#1223:rm#3600:sf: \ + :pa#21000:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#42000:ob#21000:tb=swap: \ + :pc#642075:oc#0: \ + :pd#21000:od#63000:bd#8192:fd#1024:td=4.2BSD: \ + :ph#556500:oh#84000:bh#8192:fh#1024:th=4.2BSD: + +ida4|compaq88|Compaq IDA (4 drives) :\ + :ty=winchester:dt=IDA:se#512:nt#16:ns#63:nc#1644:rm#3600:\ + :pa#20160:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#80640:ob#20160:tb=swap: \ + :pc#1659168:oc#0: \ + :pd#201600:od#100800:bd#8192:fd#1024:td=4.2BSD: \ + :pe#20160:oe#1310400:be#8192:fe#1024:te=4.2BSD: \ + :ph#1008000:oh#302400:bh#8192:fh#1024:th=4.2BSD: \ + :pg#302400:og#1330560:bg#4096:fg#512:tg=4.2BSD: + +fuji513|Fujitsu M22XXXX: \ + :ty=winchester:dt=ESDI:se#512:nt#16:ns#63:nc#954:rm#3600:\ + :pa#20160:oa#82656:ba#4096:fa#512:ta=4.2BSD: \ + :pb#40320:ob#102816:tb=swap: \ + :pc#961632:oc#0: \ + :ph#656208:oh#143136:bh#4096:fh#512:th=4.2BSD: + +sony650|Sony 650 MB MOD|\ + :ty=removable:dt=SCSI:se#512:nt#1:ns#31:nc#18600:ts#1:rm#4800:\ + :pc#576600:oc#0:\ + :pa#576600:oa#0:ta=4.2BSD:ba#8192:fa#1024: + +mta3230|mo230|IBM MTA-3230 230 Meg 3.5inch Magneto-Optical:\ + :ty=removeable:dt=SCSI:rm#3600:\ + :se#512:nt#64:ns#32:nc#216:sc#2048:su#444384:\ + :pa#444384:oa#0:ba#4096:fa#0:ta=4.2BSD:\ + :pc#444384:oc#0: + +minimum:ty=mfs:se#512:nt#1:rm#300:\ + :ns#2880:nc#1:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +minimum2:ty=mfs:se#512:nt#1:rm#300:\ + :ns#5760:nc#1:\ + :pa#5760:oa#0:ba#4096:fa#512:\ + :pc#5760:oc#0:bc#4096:fc#512: + +minimum3:ty=mfs:se#512:nt#1:rm#300:\ + :ns#8640:nc#1:\ + :pa#8640:oa#0:ba#4096:fa#512:\ + :pc#8640:oc#0:bc#4096:fc#512: + +zip100|zip 100:\ + :ty=removable:se#512:nc#96:nt#64:ns#32:\ + :pa#196608:oa#0:ba#4096:fa#512:\ + :pb#196608:ob#0:bb#4096:fb#512:\ + :pc#196608:oc#0:bc#4096:fc#512: + +zip250|zip 250:\ + :ty=removable:se#512:nc#239:nt#64:ns#32:\ + :pa#489472:oa#0:ba#4096:fa#512:\ + :pb#489472:ob#0:bb#4096:fb#512:\ + :pc#489472:oc#0:bc#4096:fc#512: + +orb2200|orb22|orb:\ + :ty=removable:ns#63:nt#128:nc#4273:sc#1008:su#4307184:se#512:\ + :pa#4307184:oa#0:ba#8192:fa#1024:\ + :pc#4307184:oc#0:bc#8192:fc#1024: + diff --git a/etc/etc.i386/rc.i386 b/etc/etc.i386/rc.i386 new file mode 100644 index 0000000..d3c12ae --- /dev/null +++ b/etc/etc.i386/rc.i386 @@ -0,0 +1,54 @@ +#!/bin/sh - +# +# $FreeBSD$ +# Do i386 specific processing +# + +echo -n 'Initial rc.i386 initialization:' + +case ${apm_enable} in +[Yy][Ee][Ss]) + echo -n ' apm' + apm -e enable > /dev/null 2>&1 + APM_DONE=yes + ;; +esac + +case ${apmd_enable} in +[Yy][Ee][Ss]) + case ${APM_DONE} in + '') + echo -n ' apm' + apm -e enable > /dev/null 2>&1 + ;; + esac + + echo -n ' apmd'; apmd ${apmd_flags} + ;; +esac + +# Start the SCO binary emulation if requested. +# +case ${ibcs2_enable} in +[Yy][Ee][Ss]) + echo -n ' ibcs2' + kldload ibcs2 > /dev/null 2>&1 + case ${ibcs2_loaders} in + [Nn][Oo]) + ;; + *) + for i in ${ibcs2_loaders}; do + kldload ibcs2_$i > /dev/null 2>&1 + done + ;; + esac + ;; +esac + +case ${xtend_enable} in +[Yy][Ee][Ss]) + echo -n ' xtend'; /usr/libexec/xtend + ;; +esac + +echo '.' diff --git a/etc/etc.i386/ttys b/etc/etc.i386/ttys new file mode 100644 index 0000000..1e63d4b --- /dev/null +++ b/etc/etc.i386/ttys @@ -0,0 +1,307 @@ +# +# $FreeBSD$ +# @(#)ttys 5.1 (Berkeley) 4/17/89 +# +# This file specifies various information about terminals on the system. +# It is used by several different programs. Common entries for the +# various columns include: +# +# name The name of the terminal device. +# +# getty The program to start running on the terminal. Typically a +# getty program, as the name implies. Other common entries +# include none, when no getty is needed, and xdm, to start the +# X Window System. +# +# type The initial terminal type for this port. For hardwired +# terminal lines, this will contain the type of terminal used. +# For virtual consoles, the correct type is typically cons25, but +# vt220 will work better if you need interoperability with other +# systems like Solaris or GNU/Linux. +# Other common values include network for network connections on +# pseudo-terminals, dialup for incoming modem ports, and unknown +# when the terminal type cannot be predetermined. +# +# status Must be on or off. If on, init will run the getty program on +# the specified port. If the word "secure" appears, this tty +# allows root login. +# +# name getty type status comments +# +# If console is marked "insecure", then init will ask for the root password +# when going to single-user mode. +console none unknown off secure +# +ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +ttyv1 "/usr/libexec/getty Pc" cons25 on secure +ttyv2 "/usr/libexec/getty Pc" cons25 on secure +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure +# Serial terminals +# The 'dialup' keyword identifies dialin lines to login, fingerd etc. +ttyd0 "/usr/libexec/getty std.9600" dialup off secure +ttyd1 "/usr/libexec/getty std.9600" dialup off secure +ttyd2 "/usr/libexec/getty std.9600" dialup off secure +ttyd3 "/usr/libexec/getty std.9600" dialup off secure +# Pseudo terminals +ttyp0 none network +ttyp1 none network +ttyp2 none network +ttyp3 none network +ttyp4 none network +ttyp5 none network +ttyp6 none network +ttyp7 none network +ttyp8 none network +ttyp9 none network +ttypa none network +ttypb none network +ttypc none network +ttypd none network +ttype none network +ttypf none network +ttypg none network +ttyph none network +ttypi none network +ttypj none network +ttypk none network +ttypl none network +ttypm none network +ttypn none network +ttypo none network +ttypp none network +ttypq none network +ttypr none network +ttyps none network +ttypt none network +ttypu none network +ttypv none network +ttyq0 none network +ttyq1 none network +ttyq2 none network +ttyq3 none network +ttyq4 none network +ttyq5 none network +ttyq6 none network +ttyq7 none network +ttyq8 none network +ttyq9 none network +ttyqa none network +ttyqb none network +ttyqc none network +ttyqd none network +ttyqe none network +ttyqf none network +ttyqg none network +ttyqh none network +ttyqi none network +ttyqj none network +ttyqk none network +ttyql none network +ttyqm none network +ttyqn none network +ttyqo none network +ttyqp none network +ttyqq none network +ttyqr none network +ttyqs none network +ttyqt none network +ttyqu none network +ttyqv none network +ttyr0 none network +ttyr1 none network +ttyr2 none network +ttyr3 none network +ttyr4 none network +ttyr5 none network +ttyr6 none network +ttyr7 none network +ttyr8 none network +ttyr9 none network +ttyra none network +ttyrb none network +ttyrc none network +ttyrd none network +ttyre none network +ttyrf none network +ttyrg none network +ttyrh none network +ttyri none network +ttyrj none network +ttyrk none network +ttyrl none network +ttyrm none network +ttyrn none network +ttyro none network +ttyrp none network +ttyrq none network +ttyrr none network +ttyrs none network +ttyrt none network +ttyru none network +ttyrv none network +ttys0 none network +ttys1 none network +ttys2 none network +ttys3 none network +ttys4 none network +ttys5 none network +ttys6 none network +ttys7 none network +ttys8 none network +ttys9 none network +ttysa none network +ttysb none network +ttysc none network +ttysd none network +ttyse none network +ttysf none network +ttysg none network +ttysh none network +ttysi none network +ttysj none network +ttysk none network +ttysl none network +ttysm none network +ttysn none network +ttyso none network +ttysp none network +ttysq none network +ttysr none network +ttyss none network +ttyst none network +ttysu none network +ttysv none network +ttyP0 none network +ttyP1 none network +ttyP2 none network +ttyP3 none network +ttyP4 none network +ttyP5 none network +ttyP6 none network +ttyP7 none network +ttyP8 none network +ttyP9 none network +ttyPa none network +ttyPb none network +ttyPc none network +ttyPd none network +ttyPe none network +ttyPf none network +ttyPg none network +ttyPh none network +ttyPi none network +ttyPj none network +ttyPk none network +ttyPl none network +ttyPm none network +ttyPn none network +ttyPo none network +ttyPp none network +ttyPq none network +ttyPr none network +ttyPs none network +ttyPt none network +ttyPu none network +ttyPv none network +ttyQ0 none network +ttyQ1 none network +ttyQ2 none network +ttyQ3 none network +ttyQ4 none network +ttyQ5 none network +ttyQ6 none network +ttyQ7 none network +ttyQ8 none network +ttyQ9 none network +ttyQa none network +ttyQb none network +ttyQc none network +ttyQd none network +ttyQe none network +ttyQf none network +ttyQg none network +ttyQh none network +ttyQi none network +ttyQj none network +ttyQk none network +ttyQl none network +ttyQm none network +ttyQn none network +ttyQo none network +ttyQp none network +ttyQq none network +ttyQr none network +ttyQs none network +ttyQt none network +ttyQu none network +ttyQv none network +ttyR0 none network +ttyR1 none network +ttyR2 none network +ttyR3 none network +ttyR4 none network +ttyR5 none network +ttyR6 none network +ttyR7 none network +ttyR8 none network +ttyR9 none network +ttyRa none network +ttyRb none network +ttyRc none network +ttyRd none network +ttyRe none network +ttyRf none network +ttyRg none network +ttyRh none network +ttyRi none network +ttyRj none network +ttyRk none network +ttyRl none network +ttyRm none network +ttyRn none network +ttyRo none network +ttyRp none network +ttyRq none network +ttyRr none network +ttyRs none network +ttyRt none network +ttyRu none network +ttyRv none network +ttyS0 none network +ttyS1 none network +ttyS2 none network +ttyS3 none network +ttyS4 none network +ttyS5 none network +ttyS6 none network +ttyS7 none network +ttyS8 none network +ttyS9 none network +ttySa none network +ttySb none network +ttySc none network +ttySd none network +ttySe none network +ttySf none network +ttySg none network +ttySh none network +ttySi none network +ttySj none network +ttySk none network +ttySl none network +ttySm none network +ttySn none network +ttySo none network +ttySp none network +ttySq none network +ttySr none network +ttySs none network +ttySt none network +ttySu none network +ttySv none network diff --git a/etc/etc.ia64/disktab b/etc/etc.ia64/disktab new file mode 100644 index 0000000..63a26e2 --- /dev/null +++ b/etc/etc.ia64/disktab @@ -0,0 +1,218 @@ +# $FreeBSD$ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, ns*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# + +# +# Floppy formats: +# +# To make a filesystem on a floppy: +# fdformat [-f <size>] fd<drive>[.<size>] +# disklabel -B -r -w fd<drive>[.<size>] fd<size> +# newfs <opts> fd<drive>[.<size>] +# +# with <opts>: +# -t 2 - two heads +# -u 9|15|18 - sectors per track +# (using the default value of 1/4096 is not much useful for floppies) +# -l 1 - interleave 1 (for most floppies) +# -i 65536 - bytes of data per i-node +# (the default -i value will render you with a floppy wasting way +# too much space in i-node areas) +# + +fd360:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#40:\ + :pa#720:oa#0:ba#4096:fa#512:\ + :pb#720:ob#0:bb#4096:fb#512:\ + :pc#720:oc#0:bc#4096:fc#512: + +fd720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#80:\ + :pa#1440:oa#0:ba#4096:fa#512:\ + :pb#1440:ob#0:bb#4096:fb#512:\ + :pc#1440:oc#0:bc#4096:fc#512: + +fd1200|floppy5|5in|5.25in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#360:ns#15:nc#80:\ + :pa#2400:oa#0:ba#4096:fa#512:\ + :pb#2400:ob#0:bb#4096:fb#512:\ + :pc#2400:oc#0:bc#4096:fc#512: + +fd1440|floppy|floppy3|3in|3.5in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#80:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pb#2880:ob#0:bb#4096:fb#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +# +# Stressed floppy-formats. No guarantees given. +# + +fd800:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#80:\ + :pa#1600:oa#0:ba#4096:fa#512:\ + :pb#1600:ob#0:bb#4096:fb#512:\ + :pc#1600:oc#0:bc#4096:fc#512: + +fd820:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#82:\ + :pa#1640:oa#0:ba#4096:fa#512:\ + :pb#1640:ob#0:bb#4096:fb#512:\ + :pc#1640:oc#0:bc#4096:fc#512: + +fd1480:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#82:\ + :pa#2952:oa#0:ba#4096:fa#512:\ + :pb#2952:ob#0:bb#4096:fb#512:\ + :pc#2952:oc#0:bc#4096:fc#512: + +fd1720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#21:nc#82:\ + :pa#3444:oa#0:ba#4096:fa#512:\ + :pb#3444:ob#0:bb#4096:fb#512:\ + :pc#3444:oc#0:bc#4096:fc#512: + +# +# LS-120 floppy-format. +# +fd120m|floppy120|floppy120m|3.5in LS-120 Floppy:\ + :ty=floppy:se#512:nt#8:rm#300:ns#32:nc#963:\ + :pa#246528:oa#0:ba#4096:fa#512:\ + :pb#246528:ob#0:bb#4096:fb#512:\ + :pc#246528:oc#0:bc#4096:fc#512: + +# +# Harddisk formats +# +qp120at|Quantum Peripherals 120MB IDE:\ + :dt=ESDI:ty=winchester:se#512:nt#9:ns#32:nc#813:sf: \ + :pa#13824:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#13824:ob#13824:tb=swap: \ + :pc#234144:oc#0: \ + :ph#206496:oh#27648:th=4.2BSD:bh#4096:fh#512: + +pan60|Panasonic Laptop's 60MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#13:ns#17:nc#565:\ + :pa#13260:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#13260:ob#13260:tb=swap: \ + :pc#124865:oc#0: \ + :ph#97682:oh#26520:th=4.2BSD:bh#4096:fh#512: + +mk156|toshiba156|Toshiba MK156 156Mb:\ + :dt=SCSI:ty=winchester:se#512:nt#10:ns#35:nc#825:\ + :pa#15748:oa#0:ba#4096:fa#512:ta=4.2BSD:\ + :pb#15748:ob#15748:tb=swap:\ + :pc#288750:oc#0:\ + :ph#257250:oh#31500:bh#4096:fh#512:th=4.2BSD: + +cp3100|Connor Peripherals 100MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#12144:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#12144:ob#12144:tb=swap: \ + :pc#202224:oc#0: \ + :ph#177936:oh#24288:th=4.2BSD:bh#4096:fh#512: + +# a == root +# b == swap +# c == d == whole disk +# e == /var +# f == scratch +# h == /usr + +cp3100new|Connor Peripherals 100MB IDE, with a different configuration:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#15840:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#24288:ob#15840:tb=swap: \ + :pc#202224:oc#0: \ + :pd#202224:od#0: \ + :pe#15840:oe#40128:te=4.2BSD:be#4096:fe#512: \ + :pg#15840:og#55968:tg=4.2BSD:bg#4096:fg#512: \ + :ph#130416:oh#71808:th=4.2BSD:bh#4096:fh#512: + +maxtor4380|Maxtor XT4380E ESDI :\ + :dt=ESDI:ty=winchester:se#512:nt#15:ns#36:nc#1222:sf: \ + :pa#21600:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#21600:ob#21600:tb=swap: \ + :pc#659880:oc#0: \ + :pd#216000:od#53200:td=4.2BSD:bd#4096:fd#512: \ + :ph#398520:oh#269200:th=4.2BSD:bh#4096:fh#512: + +miniscribe9380|compaq38|Miniscribe 9380 ESDI :\ + :ty=winchester:dt=ESDI:se#512:nt#15:ns#35:nc#1223:rm#3600:sf: \ + :pa#21000:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#42000:ob#21000:tb=swap: \ + :pc#642075:oc#0: \ + :pd#21000:od#63000:bd#8192:fd#1024:td=4.2BSD: \ + :ph#556500:oh#84000:bh#8192:fh#1024:th=4.2BSD: + +ida4|compaq88|Compaq IDA (4 drives) :\ + :ty=winchester:dt=IDA:se#512:nt#16:ns#63:nc#1644:rm#3600:\ + :pa#20160:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#80640:ob#20160:tb=swap: \ + :pc#1659168:oc#0: \ + :pd#201600:od#100800:bd#8192:fd#1024:td=4.2BSD: \ + :pe#20160:oe#1310400:be#8192:fe#1024:te=4.2BSD: \ + :ph#1008000:oh#302400:bh#8192:fh#1024:th=4.2BSD: \ + :pg#302400:og#1330560:bg#4096:fg#512:tg=4.2BSD: + +fuji513|Fujitsu M22XXXX: \ + :ty=winchester:dt=ESDI:se#512:nt#16:ns#63:nc#954:rm#3600:\ + :pa#20160:oa#82656:ba#4096:fa#512:ta=4.2BSD: \ + :pb#40320:ob#102816:tb=swap: \ + :pc#961632:oc#0: \ + :ph#656208:oh#143136:bh#4096:fh#512:th=4.2BSD: + +sony650|Sony 650 MB MOD|\ + :ty=removable:dt=SCSI:se#512:nt#1:ns#31:nc#18600:ts#1:rm#4800:\ + :pc#576600:oc#0:\ + :pa#576600:oa#0:ta=4.2BSD:ba#8192:fa#1024: + +mta3230|mo230|IBM MTA-3230 230 Meg 3.5inch Magneto-Optical:\ + :ty=removeable:dt=SCSI:rm#3600:\ + :se#512:nt#64:ns#32:nc#216:sc#2048:su#444384:\ + :pa#444384:oa#0:ba#4096:fa#0:ta=4.2BSD:\ + :pc#444384:oc#0: + +minimum:ty=mfs:se#512:nt#1:rm#300:\ + :ns#2880:nc#1:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +minimum2:ty=mfs:se#512:nt#1:rm#300:\ + :ns#5760:nc#1:\ + :pa#5760:oa#0:ba#4096:fa#512:\ + :pc#5760:oc#0:bc#4096:fc#512: + +zip100|zip 100:\ + :ty=removable:se#512:nc#96:nt#64:ns#32:\ + :pa#196608:oa#0:ba#4096:fa#512:\ + :pb#196608:ob#0:bb#4096:fb#512:\ + :pc#196608:oc#0:bc#4096:fc#512: diff --git a/etc/etc.ia64/rc.ia64 b/etc/etc.ia64/rc.ia64 new file mode 100644 index 0000000..ecde18e --- /dev/null +++ b/etc/etc.ia64/rc.ia64 @@ -0,0 +1,17 @@ +#!/bin/sh - +# +# $FreeBSD$ +# Do ia64 specific processing +# + +echo -n 'Initial rc.ia64 initialization:' + +# knob for wether or not we should print out unaligned access warnings +# +case ${unaligned_print} in +[Nn][Oo]) + sysctl machdep.unaligned_print=0 + ;; +esac + +echo '.' diff --git a/etc/etc.ia64/ttys b/etc/etc.ia64/ttys new file mode 100644 index 0000000..c9ae95c --- /dev/null +++ b/etc/etc.ia64/ttys @@ -0,0 +1,307 @@ +# +# $FreeBSD$ +# @(#)ttys 5.1 (Berkeley) 4/17/89 +# +# This file specifies various information about terminals on the system. +# It is used by several different programs. Common entries for the +# various columns include: +# +# name The name of the terminal device. +# +# getty The program to start running on the terminal. Typically a +# getty program, as the name implies. Other common entries +# include none, when no getty is needed, and xdm, to start the +# X Window System. +# +# type The initial terminal type for this port. For hardwired +# terminal lines, this will contain the type of terminal used. +# For virtual consoles, the correct type is typically cons25, but +# vt220 will work better if you need interoperability with other +# systems like Solaris or GNU/Linux. +# Other common values include network for network connections on +# pseudo-terminals, dialup for incoming modem ports, and unknown +# when the terminal type cannot be predetermined. +# +# status Must be on or off. If on, init will run the getty program on +# the specified port. If the word "secure" appears, this tty +# allows root login. +# +# name getty type status comments +# +# If console is marked "insecure", then init will ask for the root password +# when going to single-user mode. +console none unknown off secure +# +ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +ttyv1 "/usr/libexec/getty Pc" cons25 on secure +ttyv2 "/usr/libexec/getty Pc" cons25 on secure +ttyv3 "/usr/libexec/getty Pc" cons25 on secure +ttyv4 "/usr/libexec/getty Pc" cons25 on secure +ttyv5 "/usr/libexec/getty Pc" cons25 on secure +ttyv6 "/usr/libexec/getty Pc" cons25 on secure +ttyv7 "/usr/libexec/getty Pc" cons25 on secure +ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure +# Serial terminals +# The 'dialup' keyword identifies dialin lines to login, fingerd etc. +ttyd0 "/usr/libexec/getty std.9600" vt100 on secure +ttyd1 "/usr/libexec/getty std.9600" dialup off secure +ttyd2 "/usr/libexec/getty std.9600" dialup off secure +ttyd3 "/usr/libexec/getty std.9600" dialup off secure +# Pseudo terminals +ttyp0 none network +ttyp1 none network +ttyp2 none network +ttyp3 none network +ttyp4 none network +ttyp5 none network +ttyp6 none network +ttyp7 none network +ttyp8 none network +ttyp9 none network +ttypa none network +ttypb none network +ttypc none network +ttypd none network +ttype none network +ttypf none network +ttypg none network +ttyph none network +ttypi none network +ttypj none network +ttypk none network +ttypl none network +ttypm none network +ttypn none network +ttypo none network +ttypp none network +ttypq none network +ttypr none network +ttyps none network +ttypt none network +ttypu none network +ttypv none network +ttyq0 none network +ttyq1 none network +ttyq2 none network +ttyq3 none network +ttyq4 none network +ttyq5 none network +ttyq6 none network +ttyq7 none network +ttyq8 none network +ttyq9 none network +ttyqa none network +ttyqb none network +ttyqc none network +ttyqd none network +ttyqe none network +ttyqf none network +ttyqg none network +ttyqh none network +ttyqi none network +ttyqj none network +ttyqk none network +ttyql none network +ttyqm none network +ttyqn none network +ttyqo none network +ttyqp none network +ttyqq none network +ttyqr none network +ttyqs none network +ttyqt none network +ttyqu none network +ttyqv none network +ttyr0 none network +ttyr1 none network +ttyr2 none network +ttyr3 none network +ttyr4 none network +ttyr5 none network +ttyr6 none network +ttyr7 none network +ttyr8 none network +ttyr9 none network +ttyra none network +ttyrb none network +ttyrc none network +ttyrd none network +ttyre none network +ttyrf none network +ttyrg none network +ttyrh none network +ttyri none network +ttyrj none network +ttyrk none network +ttyrl none network +ttyrm none network +ttyrn none network +ttyro none network +ttyrp none network +ttyrq none network +ttyrr none network +ttyrs none network +ttyrt none network +ttyru none network +ttyrv none network +ttys0 none network +ttys1 none network +ttys2 none network +ttys3 none network +ttys4 none network +ttys5 none network +ttys6 none network +ttys7 none network +ttys8 none network +ttys9 none network +ttysa none network +ttysb none network +ttysc none network +ttysd none network +ttyse none network +ttysf none network +ttysg none network +ttysh none network +ttysi none network +ttysj none network +ttysk none network +ttysl none network +ttysm none network +ttysn none network +ttyso none network +ttysp none network +ttysq none network +ttysr none network +ttyss none network +ttyst none network +ttysu none network +ttysv none network +ttyP0 none network +ttyP1 none network +ttyP2 none network +ttyP3 none network +ttyP4 none network +ttyP5 none network +ttyP6 none network +ttyP7 none network +ttyP8 none network +ttyP9 none network +ttyPa none network +ttyPb none network +ttyPc none network +ttyPd none network +ttyPe none network +ttyPf none network +ttyPg none network +ttyPh none network +ttyPi none network +ttyPj none network +ttyPk none network +ttyPl none network +ttyPm none network +ttyPn none network +ttyPo none network +ttyPp none network +ttyPq none network +ttyPr none network +ttyPs none network +ttyPt none network +ttyPu none network +ttyPv none network +ttyQ0 none network +ttyQ1 none network +ttyQ2 none network +ttyQ3 none network +ttyQ4 none network +ttyQ5 none network +ttyQ6 none network +ttyQ7 none network +ttyQ8 none network +ttyQ9 none network +ttyQa none network +ttyQb none network +ttyQc none network +ttyQd none network +ttyQe none network +ttyQf none network +ttyQg none network +ttyQh none network +ttyQi none network +ttyQj none network +ttyQk none network +ttyQl none network +ttyQm none network +ttyQn none network +ttyQo none network +ttyQp none network +ttyQq none network +ttyQr none network +ttyQs none network +ttyQt none network +ttyQu none network +ttyQv none network +ttyR0 none network +ttyR1 none network +ttyR2 none network +ttyR3 none network +ttyR4 none network +ttyR5 none network +ttyR6 none network +ttyR7 none network +ttyR8 none network +ttyR9 none network +ttyRa none network +ttyRb none network +ttyRc none network +ttyRd none network +ttyRe none network +ttyRf none network +ttyRg none network +ttyRh none network +ttyRi none network +ttyRj none network +ttyRk none network +ttyRl none network +ttyRm none network +ttyRn none network +ttyRo none network +ttyRp none network +ttyRq none network +ttyRr none network +ttyRs none network +ttyRt none network +ttyRu none network +ttyRv none network +ttyS0 none network +ttyS1 none network +ttyS2 none network +ttyS3 none network +ttyS4 none network +ttyS5 none network +ttyS6 none network +ttyS7 none network +ttyS8 none network +ttyS9 none network +ttySa none network +ttySb none network +ttySc none network +ttySd none network +ttySe none network +ttySf none network +ttySg none network +ttySh none network +ttySi none network +ttySj none network +ttySk none network +ttySl none network +ttySm none network +ttySn none network +ttySo none network +ttySp none network +ttySq none network +ttySr none network +ttySs none network +ttySt none network +ttySu none network +ttySv none network diff --git a/etc/etc.sparc64/disktab b/etc/etc.sparc64/disktab new file mode 100644 index 0000000..cd0822d --- /dev/null +++ b/etc/etc.sparc64/disktab @@ -0,0 +1,224 @@ +# $FreeBSD$ +# +# Disk geometry and partition layout tables. +# Key: +# dt controller type +# ty type of disk (fixed, removeable, simulated) +# d[0-4] drive-type-dependent parameters +# ns #sectors/track +# nt #tracks/cylinder +# nc #cylinders/disk +# sc #sectors/cylinder, ns*nt default +# su #sectors/unit, sc*nc default +# se sector size, DEV_BSIZE default +# rm rpm, 3600 default +# sf supports bad144-style bad sector forwarding +# sk sector skew per track, default 0 +# cs sector skew per cylinder, default 0 +# hs headswitch time, default 0 +# ts one-cylinder seek time, default 0 +# il sector interleave (n:1), 1 default +# bs boot block size, default BBSIZE +# sb superblock size, default SBSIZE +# o[a-h] partition offsets in sectors +# p[a-h] partition sizes in sectors +# b[a-h] partition block sizes in bytes +# f[a-h] partition fragment sizes in bytes +# t[a-h] partition types (filesystem, swap, etc) +# +# All partition sizes reserve space for bad sector tables. +# (5 cylinders needed for maintenance + replacement sectors) +# + +# +# Floppy formats: +# +# To make a filesystem on a floppy: +# fdformat [-f <size>] fd<drive>[.<size>] +# disklabel -B -r -w fd<drive>[.<size>] fd<size> +# newfs <opts> fd<drive>[.<size>] +# +# with <opts>: +# -t 2 - two heads +# -u 9|15|18 - sectors per track +# (using the default value of 1/4096 is not much useful for floppies) +# -l 1 - interleave 1 (for most floppies) +# -i 65536 - bytes of data per i-node +# (the default -i value will render you with a floppy wasting way +# too much space in i-node areas) +# + +fd360:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#40:\ + :pa#720:oa#0:ba#4096:fa#512:\ + :pb#720:ob#0:bb#4096:fb#512:\ + :pc#720:oc#0:bc#4096:fc#512: + +fd720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#9:nc#80:\ + :pa#1440:oa#0:ba#4096:fa#512:\ + :pb#1440:ob#0:bb#4096:fb#512:\ + :pc#1440:oc#0:bc#4096:fc#512: + +fd1200|floppy5|5in|5.25in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#360:ns#15:nc#80:\ + :pa#2400:oa#0:ba#4096:fa#512:\ + :pb#2400:ob#0:bb#4096:fb#512:\ + :pc#2400:oc#0:bc#4096:fc#512: + +fd1440|floppy|floppy3|3in|3.5in High Density Floppy:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#80:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pb#2880:ob#0:bb#4096:fb#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +# +# Stressed floppy-formats. No guarantees given. +# + +fd800:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#80:\ + :pa#1600:oa#0:ba#4096:fa#512:\ + :pb#1600:ob#0:bb#4096:fb#512:\ + :pc#1600:oc#0:bc#4096:fc#512: + +fd820:\ + :ty=floppy:se#512:nt#2:rm#300:ns#10:nc#82:\ + :pa#1640:oa#0:ba#4096:fa#512:\ + :pb#1640:ob#0:bb#4096:fb#512:\ + :pc#1640:oc#0:bc#4096:fc#512: + +fd1480:\ + :ty=floppy:se#512:nt#2:rm#300:ns#18:nc#82:\ + :pa#2952:oa#0:ba#4096:fa#512:\ + :pb#2952:ob#0:bb#4096:fb#512:\ + :pc#2952:oc#0:bc#4096:fc#512: + +fd1720:\ + :ty=floppy:se#512:nt#2:rm#300:ns#21:nc#82:\ + :pa#3444:oa#0:ba#4096:fa#512:\ + :pb#3444:ob#0:bb#4096:fb#512:\ + :pc#3444:oc#0:bc#4096:fc#512: + +# +# LS-120 floppy-format. +# +fd120m|floppy120|floppy120m|3.5in LS-120 Floppy:\ + :ty=floppy:se#512:nt#8:rm#300:ns#32:nc#963:\ + :pa#246528:oa#0:ba#4096:fa#512:\ + :pb#246528:ob#0:bb#4096:fb#512:\ + :pc#246528:oc#0:bc#4096:fc#512: + +# +# Harddisk formats +# +qp120at|Quantum Peripherals 120MB IDE:\ + :dt=ESDI:ty=winchester:se#512:nt#9:ns#32:nc#813:sf: \ + :pa#13824:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#13824:ob#13824:tb=swap: \ + :pc#234144:oc#0: \ + :ph#206496:oh#27648:th=4.2BSD:bh#4096:fh#512: + +pan60|Panasonic Laptop's 60MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#13:ns#17:nc#565:\ + :pa#13260:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#13260:ob#13260:tb=swap: \ + :pc#124865:oc#0: \ + :ph#97682:oh#26520:th=4.2BSD:bh#4096:fh#512: + +mk156|toshiba156|Toshiba MK156 156Mb:\ + :dt=SCSI:ty=winchester:se#512:nt#10:ns#35:nc#825:\ + :pa#15748:oa#0:ba#4096:fa#512:ta=4.2BSD:\ + :pb#15748:ob#15748:tb=swap:\ + :pc#288750:oc#0:\ + :ph#257250:oh#31500:bh#4096:fh#512:th=4.2BSD: + +cp3100|Connor Peripherals 100MB IDE:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#12144:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#12144:ob#12144:tb=swap: \ + :pc#202224:oc#0: \ + :ph#177936:oh#24288:th=4.2BSD:bh#4096:fh#512: + +# a == root +# b == swap +# c == d == whole disk +# e == /var +# f == scratch +# h == /usr + +cp3100new|Connor Peripherals 100MB IDE, with a different configuration:\ + :dt=ST506:ty=winchester:se#512:nt#8:ns#33:nc#766: \ + :pa#15840:oa#0:ta=4.2BSD:ba#4096:fa#512: \ + :pb#24288:ob#15840:tb=swap: \ + :pc#202224:oc#0: \ + :pd#202224:od#0: \ + :pe#15840:oe#40128:te=4.2BSD:be#4096:fe#512: \ + :pg#15840:og#55968:tg=4.2BSD:bg#4096:fg#512: \ + :ph#130416:oh#71808:th=4.2BSD:bh#4096:fh#512: + +maxtor4380|Maxtor XT4380E ESDI :\ + :dt=ESDI:ty=winchester:se#512:nt#15:ns#36:nc#1222:sf: \ + :pa#21600:oa#0:ta=4.2BSD:ba#4096:fa#512:\ + :pb#21600:ob#21600:tb=swap: \ + :pc#659880:oc#0: \ + :pd#216000:od#53200:td=4.2BSD:bd#4096:fd#512: \ + :ph#398520:oh#269200:th=4.2BSD:bh#4096:fh#512: + +miniscribe9380|compaq38|Miniscribe 9380 ESDI :\ + :ty=winchester:dt=ESDI:se#512:nt#15:ns#35:nc#1223:rm#3600:sf: \ + :pa#21000:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#42000:ob#21000:tb=swap: \ + :pc#642075:oc#0: \ + :pd#21000:od#63000:bd#8192:fd#1024:td=4.2BSD: \ + :ph#556500:oh#84000:bh#8192:fh#1024:th=4.2BSD: + +ida4|compaq88|Compaq IDA (4 drives) :\ + :ty=winchester:dt=IDA:se#512:nt#16:ns#63:nc#1644:rm#3600:\ + :pa#20160:oa#0:ba#8192:fa#1024:ta=4.2BSD: \ + :pb#80640:ob#20160:tb=swap: \ + :pc#1659168:oc#0: \ + :pd#201600:od#100800:bd#8192:fd#1024:td=4.2BSD: \ + :pe#20160:oe#1310400:be#8192:fe#1024:te=4.2BSD: \ + :ph#1008000:oh#302400:bh#8192:fh#1024:th=4.2BSD: \ + :pg#302400:og#1330560:bg#4096:fg#512:tg=4.2BSD: + +fuji513|Fujitsu M22XXXX: \ + :ty=winchester:dt=ESDI:se#512:nt#16:ns#63:nc#954:rm#3600:\ + :pa#20160:oa#82656:ba#4096:fa#512:ta=4.2BSD: \ + :pb#40320:ob#102816:tb=swap: \ + :pc#961632:oc#0: \ + :ph#656208:oh#143136:bh#4096:fh#512:th=4.2BSD: + +sony650|Sony 650 MB MOD|\ + :ty=removable:dt=SCSI:se#512:nt#1:ns#31:nc#18600:ts#1:rm#4800:\ + :pc#576600:oc#0:\ + :pa#576600:oa#0:ta=4.2BSD:ba#8192:fa#1024: + +mta3230|mo230|IBM MTA-3230 230 Meg 3.5inch Magneto-Optical:\ + :ty=removeable:dt=SCSI:rm#3600:\ + :se#512:nt#64:ns#32:nc#216:sc#2048:su#444384:\ + :pa#444384:oa#0:ba#4096:fa#0:ta=4.2BSD:\ + :pc#444384:oc#0: + +minimum:ty=mfs:se#512:nt#1:rm#300:\ + :ns#2880:nc#1:\ + :pa#2880:oa#0:ba#4096:fa#512:\ + :pc#2880:oc#0:bc#4096:fc#512: + +minimum2:ty=mfs:se#512:nt#1:rm#300:\ + :ns#5760:nc#1:\ + :pa#5760:oa#0:ba#4096:fa#512:\ + :pc#5760:oc#0:bc#4096:fc#512: + +zip100|zip 100:\ + :ty=removable:se#512:nc#96:nt#64:ns#32:\ + :pa#196608:oa#0:ba#4096:fa#512:\ + :pb#196608:ob#0:bb#4096:fb#512:\ + :pc#196608:oc#0:bc#4096:fc#512: + +zip250|zip 250:\ + :ty=removable:se#512:nc#239:nt#64:ns#32:\ + :pa#489472:oa#0:ba#4096:fa#512:\ + :pb#489472:ob#0:bb#4096:fb#512:\ + :pc#489472:oc#0:bc#4096:fc#512: diff --git a/etc/etc.sparc64/rc.sparc64 b/etc/etc.sparc64/rc.sparc64 new file mode 100644 index 0000000..73b5408 --- /dev/null +++ b/etc/etc.sparc64/rc.sparc64 @@ -0,0 +1,9 @@ +#!/bin/sh - +# +# $FreeBSD$ +# Do sparc64 specific processing +# + +echo -n 'Initial rc.sparc64 initialization:' + +echo '.' diff --git a/etc/etc.sparc64/ttys b/etc/etc.sparc64/ttys new file mode 100644 index 0000000..b0e53e0 --- /dev/null +++ b/etc/etc.sparc64/ttys @@ -0,0 +1,311 @@ +# +# $FreeBSD$ +# @(#)ttys 5.1 (Berkeley) 4/17/89 +# +# This file specifies various information about terminals on the system. +# It is used by several different programs. Common entries for the +# various columns include: +# +# name The name of the terminal device. +# +# getty The program to start running on the terminal. Typically a +# getty program, as the name implies. Other common entries +# include none, when no getty is needed, and xdm, to start the +# X Window System. +# +# type The initial terminal type for this port. For hardwired +# terminal lines, this will contain the type of terminal used. +# For virtual consoles, the correct type is typically cons25, but +# vt220 will work better if you need interoperability with other +# systems like Solaris or GNU/Linux. +# Other common values include network for network connections on +# pseudo-terminals, dialup for incoming modem ports, and unknown +# when the terminal type cannot be predetermined. +# +# status Must be on or off. If on, init will run the getty program on +# the specified port. If the word "secure" appears, this tty +# allows root login. +# +# name getty type status comments +# +# If console is marked "insecure", then init will ask for the root password +# when going to single-user mode. +console none unknown off secure +# Openfirmware console +ofwcons "/usr/libexec/getty std.9600" vt100 on secure +# +#ttyv0 "/usr/libexec/getty Pc" cons25 on secure +# Virtual terminals +#ttyv1 "/usr/libexec/getty Pc" cons25 on secure +#ttyv2 "/usr/libexec/getty Pc" cons25 on secure +#ttyv3 "/usr/libexec/getty Pc" cons25 on secure +#ttyv4 "/usr/libexec/getty Pc" cons25 on secure +#ttyv5 "/usr/libexec/getty Pc" cons25 on secure +#ttyv6 "/usr/libexec/getty Pc" cons25 on secure +#ttyv7 "/usr/libexec/getty Pc" cons25 on secure +#ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure +# Serial terminals +# The 'dialup' keyword identifies dialin lines to login, fingerd etc. +ttya "/usr/libexec/getty local.9600" dialup off secure +ttyb "/usr/libexec/getty local.9600" dialup off secure +ttyd0 "/usr/libexec/getty std.9600" dialup off secure +ttyd1 "/usr/libexec/getty std.9600" dialup off secure +ttyd2 "/usr/libexec/getty std.9600" dialup off secure +ttyd3 "/usr/libexec/getty std.9600" dialup off secure +# Pseudo terminals +ttyp0 none network +ttyp1 none network +ttyp2 none network +ttyp3 none network +ttyp4 none network +ttyp5 none network +ttyp6 none network +ttyp7 none network +ttyp8 none network +ttyp9 none network +ttypa none network +ttypb none network +ttypc none network +ttypd none network +ttype none network +ttypf none network +ttypg none network +ttyph none network +ttypi none network +ttypj none network +ttypk none network +ttypl none network +ttypm none network +ttypn none network +ttypo none network +ttypp none network +ttypq none network +ttypr none network +ttyps none network +ttypt none network +ttypu none network +ttypv none network +ttyq0 none network +ttyq1 none network +ttyq2 none network +ttyq3 none network +ttyq4 none network +ttyq5 none network +ttyq6 none network +ttyq7 none network +ttyq8 none network +ttyq9 none network +ttyqa none network +ttyqb none network +ttyqc none network +ttyqd none network +ttyqe none network +ttyqf none network +ttyqg none network +ttyqh none network +ttyqi none network +ttyqj none network +ttyqk none network +ttyql none network +ttyqm none network +ttyqn none network +ttyqo none network +ttyqp none network +ttyqq none network +ttyqr none network +ttyqs none network +ttyqt none network +ttyqu none network +ttyqv none network +ttyr0 none network +ttyr1 none network +ttyr2 none network +ttyr3 none network +ttyr4 none network +ttyr5 none network +ttyr6 none network +ttyr7 none network +ttyr8 none network +ttyr9 none network +ttyra none network +ttyrb none network +ttyrc none network +ttyrd none network +ttyre none network +ttyrf none network +ttyrg none network +ttyrh none network +ttyri none network +ttyrj none network +ttyrk none network +ttyrl none network +ttyrm none network +ttyrn none network +ttyro none network +ttyrp none network +ttyrq none network +ttyrr none network +ttyrs none network +ttyrt none network +ttyru none network +ttyrv none network +ttys0 none network +ttys1 none network +ttys2 none network +ttys3 none network +ttys4 none network +ttys5 none network +ttys6 none network +ttys7 none network +ttys8 none network +ttys9 none network +ttysa none network +ttysb none network +ttysc none network +ttysd none network +ttyse none network +ttysf none network +ttysg none network +ttysh none network +ttysi none network +ttysj none network +ttysk none network +ttysl none network +ttysm none network +ttysn none network +ttyso none network +ttysp none network +ttysq none network +ttysr none network +ttyss none network +ttyst none network +ttysu none network +ttysv none network +ttyP0 none network +ttyP1 none network +ttyP2 none network +ttyP3 none network +ttyP4 none network +ttyP5 none network +ttyP6 none network +ttyP7 none network +ttyP8 none network +ttyP9 none network +ttyPa none network +ttyPb none network +ttyPc none network +ttyPd none network +ttyPe none network +ttyPf none network +ttyPg none network +ttyPh none network +ttyPi none network +ttyPj none network +ttyPk none network +ttyPl none network +ttyPm none network +ttyPn none network +ttyPo none network +ttyPp none network +ttyPq none network +ttyPr none network +ttyPs none network +ttyPt none network +ttyPu none network +ttyPv none network +ttyQ0 none network +ttyQ1 none network +ttyQ2 none network +ttyQ3 none network +ttyQ4 none network +ttyQ5 none network +ttyQ6 none network +ttyQ7 none network +ttyQ8 none network +ttyQ9 none network +ttyQa none network +ttyQb none network +ttyQc none network +ttyQd none network +ttyQe none network +ttyQf none network +ttyQg none network +ttyQh none network +ttyQi none network +ttyQj none network +ttyQk none network +ttyQl none network +ttyQm none network +ttyQn none network +ttyQo none network +ttyQp none network +ttyQq none network +ttyQr none network +ttyQs none network +ttyQt none network +ttyQu none network +ttyQv none network +ttyR0 none network +ttyR1 none network +ttyR2 none network +ttyR3 none network +ttyR4 none network +ttyR5 none network +ttyR6 none network +ttyR7 none network +ttyR8 none network +ttyR9 none network +ttyRa none network +ttyRb none network +ttyRc none network +ttyRd none network +ttyRe none network +ttyRf none network +ttyRg none network +ttyRh none network +ttyRi none network +ttyRj none network +ttyRk none network +ttyRl none network +ttyRm none network +ttyRn none network +ttyRo none network +ttyRp none network +ttyRq none network +ttyRr none network +ttyRs none network +ttyRt none network +ttyRu none network +ttyRv none network +ttyS0 none network +ttyS1 none network +ttyS2 none network +ttyS3 none network +ttyS4 none network +ttyS5 none network +ttyS6 none network +ttyS7 none network +ttyS8 none network +ttyS9 none network +ttySa none network +ttySb none network +ttySc none network +ttySd none network +ttySe none network +ttySf none network +ttySg none network +ttySh none network +ttySi none network +ttySj none network +ttySk none network +ttySl none network +ttySm none network +ttySn none network +ttySo none network +ttySp none network +ttySq none network +ttySr none network +ttySs none network +ttySt none network +ttySu none network +ttySv none network diff --git a/etc/fbtab b/etc/fbtab new file mode 100644 index 0000000..83ac65d --- /dev/null +++ b/etc/fbtab @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +#/dev/ttyv0 0600 /dev/console +#/dev/ttyv0 0600 /dev/pcaudio:/dev/pcaudioctl diff --git a/etc/ftpusers b/etc/ftpusers new file mode 100644 index 0000000..1c4e238 --- /dev/null +++ b/etc/ftpusers @@ -0,0 +1,23 @@ +# $FreeBSD$ +# +# list of users disallowed any ftp access. +# read by ftpd(8). +root +toor +daemon +operator +bin +tty +kmem +games +news +man +sshd +bind +uucp +xten +pop +www +nobody +mailnull +smmsp diff --git a/etc/gettytab b/etc/gettytab new file mode 100644 index 0000000..75d80e0 --- /dev/null +++ b/etc/gettytab @@ -0,0 +1,223 @@ +# $FreeBSD$ +# from: @(#)gettytab 5.14 (Berkeley) 3/27/91 +# +# Most of the table entries here are just copies of the old getty table, +# it is by no means certain, or even likely, that any of them are optimal +# for any purpose whatever. Nor is it likely that more than a couple are +# even correct. +# +# The default gettytab entry, used to set defaults for all other +# entries, and in cases where getty is called with no table name. +# +# cb, ce and ck are desirable on most crt's. The non-crt entries need to +# be changed to turn them off (:cb@:ce@:ck@:). +# +# lc should always be on; it's a remainder of some stone age when there +# have been terminals around not being able of handling lower-case +# characters. Those terminals aren't supported any longer, but getty is +# `smart' about them by default. +# +# Parity defaults to even, but the Pc entry and all the `std' entries +# specify no parity. The different parities are: +# (none): same as even except -inpck instead of inpck for login. +# ep: getty will use raw mode (cs8 -parenb) (unless rw is set) and +# fake parity. login will use even parity (cs7 parenb -parodd). +# op: same as ep except odd parity (cs7 parenb parodd) for login. +# op overrides ep. +# ap: same as ep except -inpck instead of inpck for login. +# ap overrides op and ep. +# np: 1. don't fake parity in getty. The fake parity garbles +# characters on non-terminals (like pccons) that don't +# support parity. It would probably better for getty not to +# try to fake parity. It could just use cbreak mode so as +# not to force cs8 and let the hardware handle the parity. +# login has to be rely on the hardware anyway. +# 2. set PASS8, giving cs8 -parenb -istrip -inpck. +# np:ep: same as np except inpck. +# np:op: same as np:ep except for parodd (but parodd is overridden). +# np:ap: same as np except istrip. +# +default:\ + :cb:ce:ck:lc:fd#1000:im=\r\n%s/%m (%h) (%t)\r\n\r\n:sp#1200:\ + :if=/etc/issue: + +# +# Fixed speed entries +# +# The "std.NNN" names are known to the special case +# portselector code in getty, however they can +# be assigned to any table desired. +# The "NNN-baud" names are known to the special case +# autobaud code in getty, and likewise can +# be assigned to any table desired (hopefully the same speed). +# +a|std.110|110-baud:\ + :np:nd#1:cd#1:uc:sp#110: +b|std.134|134.5-baud:\ + :np:nd#1:cd#2:ff#1:td#1:sp#134:ht:nl: +1|std.150|150-baud:\ + :np:nd#1:cd#2:td#1:fd#1:sp#150:ht:nl:lm=\E\72\6\6\17login\72 : +c|std.300|300-baud:\ + :np:nd#1:cd#1:sp#300: +d|std.600|600-baud:\ + :np:nd#1:cd#1:sp#600: +f|std.1200|1200-baud:\ + :np:fd#1:sp#1200: +6|std.2400|2400-baud:\ + :np:sp#2400: +7|std.4800|4800-baud:\ + :np:sp#4800: +2|std.9600|9600-baud:\ + :np:sp#9600: +g|std.19200|19200-baud:\ + :np:sp#19200: +std.38400|38400-baud:\ + :np:sp#38400: +std.57600|57600-baud:\ + :np:sp#57600: +std.115200|115200-baud:\ + :np:sp#115200: +std.230400|230400-baud:\ + :np:sp#230400: + +# +# Entry specifying explicit device settings. See termios(4) and +# /usr/include/termios.h, too. The entry forces the tty into +# CLOCAL mode (so no DCD is required), and uses Xon/Xoff flow control. +# +# cflags: CLOCAL | HUPCL | CREAD | CS8 +# oflags: OPOST | ONLCR | OXTABS +# iflags: IXOFF | IXON | ICRNL | IGNPAR +# lflags: IEXTEN | ICANON | ISIG | ECHOCTL | ECHO | ECHOK | ECHOE | ECHOKE +# +# The `0' flags don't have input enabled. The `1' flags don't echo. +# (Echoing is done inside getty itself.) +# +local.9600|CLOCAL tty @ 9600 Bd:\ + :c0#0x0000c300:c1#0x0000cb00:c2#0x0000cb00:\ + :o0#0x00000007:o1#0x00000002:o2#0x00000007:\ + :i0#0x00000704:i1#0x00000000:i2#0x00000704:\ + :l0#0x000005cf:l1#0x00000000:l2#0x000005cf:\ + :sp#9600: + +# +# Dial in rotary tables, speed selection via 'break' +# +0|d300|Dial-300:\ + :nx=d1200:cd#2:sp#300: +d1200|Dial-1200:\ + :nx=d150:fd#1:sp#1200: +d150|Dial-150:\ + :nx=d110:lm@:tc=150-baud: +d110|Dial-110:\ + :nx=d300:tc=300-baud: + +# +# Fast dialup terminals, 2400/1200/300 rotary (can start either way) +# +D2400|d2400|Fast-Dial-2400:\ + :nx=D1200:tc=2400-baud: +3|D1200|Fast-Dial-1200:\ + :nx=D300:tc=1200-baud: +5|D300|Fast-Dial-300:\ + :nx=D2400:tc=300-baud: + +# +#telebit (19200) +# +t19200:\ + :nx=t2400:tc=19200-baud: +t2400:\ + :nx=t1200:tc=2400-baud: +t1200:\ + :nx=t19200:tc=1200-baud: + +# +#telebit (9600) +# +t9600:\ + :nx=t2400a:tc=9600-baud: +t2400a:\ + :nx=t1200a:tc=2400-baud: +t1200a:\ + :nx=t9600:tc=1200-baud: + +# +# Odd special case terminals +# +-|tty33|asr33|Pity the poor user of this beast:\ + :tc=110-baud: + +4|Console|Console Decwriter II:\ + :nd@:cd@:rw:tc=300-baud: + +e|Console-1200|Console Decwriter III:\ + :fd@:nd@:cd@:rw:tc=1200-baud: + +i|Interdata console:\ + :uc:sp#0: + +l|lsi chess terminal:\ + :sp#300: + +X|Xwindow|X window system:\ + :fd@:nd@:cd@:rw:sp#9600: + +P|Pc|Pc console:\ + :ht:np:sp#115200: + +# +# Wierdo special case for fast crt's with hardcopy devices +# +8|T9600|CRT with hardcopy:\ + :nx=T300:tc=9600-baud: +9|T300|CRT with hardcopy (300):\ + :nx=T9600:tc=300-baud: + +# +# Plugboard, and misc other terminals +# +plug-9600|Plugboard-9600:\ + :pf#1:tc=9600-baud: +p|P9600|Plugboard-9600-rotary:\ + :pf#1:nx=P300:tc=9600-baud: +q|P300|Plugboard-300:\ + :pf#1:nx=P1200:tc=300-baud: +r|P1200|Plugboard-1200:\ + :pf#1:nx=P9600:tc=1200-baud: + +# +# XXXX Port selector +# +s|DSW|Port Selector:\ + :ps:sp#2400: + +# +# Auto-baud speed detect entry for Micom 600. +# Special code in getty will switch this out +# to one of the NNN-baud entries. +# +A|Auto-baud:\ + :ab:sp#2400:f0#040: + +# +# autologin - automatically log in as root +# + +autologin|al.9600:\ + :al=root:tc=std.9600: + +# +# Entries for 3-wire serial terminals. These don't supply carrier, so +# clocal needs to be set, and crtscts needs to be unset. +# +3wire.9600|9600-3wire:\ + :np:nc:sp#9600: +3wire.38400|38400-3wire:\ + :np:nc:sp#38400: +3wire.57600|57600-3wire:\ + :np:nc:sp#57600: +3wire.115200|115200-3wire:\ + :np:nc:sp#115200: +3wire.230400|230400-3wire:\ + :np:nc:sp#230400: diff --git a/etc/group b/etc/group new file mode 100644 index 0000000..c33d9ec --- /dev/null +++ b/etc/group @@ -0,0 +1,26 @@ +# $FreeBSD$ +# +wheel:*:0:root +daemon:*:1:daemon +kmem:*:2:root +sys:*:3:root +tty:*:4:root +operator:*:5:root +mail:*:6: +bin:*:7: +news:*:8: +man:*:9: +games:*:13: +staff:*:20:root +sshd:*:22: +smmsp:*:25: +mailnull:*:26: +guest:*:31:root +bind:*:53: +uucp:*:66: +xten:*:67:xten +dialer:*:68: +network:*:69: +www:*:80: +nogroup:*:65533: +nobody:*:65534: diff --git a/etc/hosts b/etc/hosts new file mode 100644 index 0000000..c71a1c4 --- /dev/null +++ b/etc/hosts @@ -0,0 +1,30 @@ +# $FreeBSD$ +# +# Host Database +# +# This file should contain the addresses and aliases for local hosts that +# share this file. Replace 'my.domain' below with the domainname of your +# machine. +# +# In the presence of the domain name service or NIS, this file may +# not be consulted at all; see /etc/nsswitch.conf for the resolution order. +# +# +::1 localhost localhost.my.domain +127.0.0.1 localhost localhost.my.domain +# +# Imaginary network. +#10.0.0.2 myname.my.domain myname +#10.0.0.3 myfriend.my.domain myfriend +# +# According to RFC 1918, you can use the following IP networks for +# private nets which will never be connected to the Internet: +# +# 10.0.0.0 - 10.255.255.255 +# 172.16.0.0 - 172.31.255.255 +# 192.168.0.0 - 192.168.255.255 +# +# In case you want to be able to connect to the Internet, you need +# real official assigned numbers. Do not try to invent your own network +# numbers but instead get one from your network provider (if any). +# diff --git a/etc/hosts.allow b/etc/hosts.allow new file mode 100644 index 0000000..e24f0c2 --- /dev/null +++ b/etc/hosts.allow @@ -0,0 +1,88 @@ +# +# hosts.allow access control file for "tcp wrapped" applications. +# $FreeBSD$ +# +# NOTE: The hosts.deny file is deprecated. +# Place both 'allow' and 'deny' rules in the hosts.allow file. +# See hosts_options(5) for the format of this file. +# hosts_access(5) no longer fully applies. + +# _____ _ _ +# | ____| __ __ __ _ _ __ ___ _ __ | | ___ | | +# | _| \ \/ / / _` | | '_ ` _ \ | '_ \ | | / _ \ | | +# | |___ > < | (_| | | | | | | | | |_) | | | | __/ |_| +# |_____| /_/\_\ \__,_| |_| |_| |_| | .__/ |_| \___| (_) +# |_| +# !!! This is an example! You will need to modify it for your specific +# !!! requirements! + + +# Start by allowing everything (this prevents the rest of the file +# from working, so remove it when you need protection). +# The rules here work on a "First match wins" basis. +ALL : ALL : allow + +# Wrapping sshd(8) is not normally a good idea, but if you +# need to do it, here's how +#sshd : .evil.cracker.example.com : deny + +# Protect against simple DNS spoofing attacks by checking that the +# forward and reverse records for the remote host match. If a mismatch +# occurs, access is denied, and any positive ident response within +# 20 seconds is logged. No protection is afforded against DNS poisoning, +# IP spoofing or more complicated attacks. Hosts with no reverse DNS +# pass this rule. +ALL : PARANOID : RFC931 20 : deny + +# Allow anything from localhost. Note that an IP address (not a host +# name) *MUST* be specified for rpcbind(8). +ALL : localhost 127.0.0.1 : allow +ALL : my.machine.example.com 192.0.2.35 : allow + +# To use IPv6 addresses you must enclose them in []'s +ALL : [fe80::%fxp0]/10 : allow +ALL : [fe80::]/10 : deny +ALL : [3ffe:fffe:2:1:2:3:4:3fe1] : deny +ALL : [3ffe:fffe:2:1::]/64 : allow + +# Sendmail can help protect you against spammers and relay-rapers +sendmail : localhost : allow +sendmail : .nice.guy.example.com : allow +sendmail : .evil.cracker.example.com : deny +sendmail : ALL : allow + +# Exim is an alternative to sendmail, available in the ports tree +exim : localhost : allow +exim : .nice.guy.example.com : allow +exim : .evil.cracker.example.com : deny +exim : ALL : allow + +# Rpcbind is used for all RPC services; protect your NFS! +# (IP addresses rather than hostnames *MUST* be used here) +rpcbind : 192.0.2.32/255.255.255.224 : allow +rpcbind : 192.0.2.96/255.255.255.224 : allow +rpcbind : ALL : deny + +# NIS master server. Only local nets should have access +ypserv : localhost : allow +ypserv : .unsafe.my.net.example.com : deny +ypserv : .my.net.example.com : allow +ypserv : ALL : deny + +# Provide a small amount of protection for ftpd +ftpd : localhost : allow +ftpd : .nice.guy.example.com : allow +ftpd : .evil.cracker.example.com : deny +ftpd : ALL : allow + +# You need to be clever with finger; do _not_ backfinger!! You can easily +# start a "finger war". +fingerd : ALL \ + : spawn (echo Finger. | \ + /usr/bin/mail -s "tcpd\: %u@%h[%a] fingered me!" root) & \ + : deny + +# The rest of the daemons are protected. +ALL : ALL \ + : severity auth.info \ + : twist /bin/echo "You are not welcome to use %d from %h." diff --git a/etc/hosts.equiv b/etc/hosts.equiv new file mode 100644 index 0000000..d8a71c1 --- /dev/null +++ b/etc/hosts.equiv @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +#localhost +#my_very_good_friend.domain diff --git a/etc/hosts.lpd b/etc/hosts.lpd new file mode 100644 index 0000000..b53202a --- /dev/null +++ b/etc/hosts.lpd @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +# See lpd(8) +#machine.domain diff --git a/etc/inetd.conf b/etc/inetd.conf new file mode 100644 index 0000000..25430b8 --- /dev/null +++ b/etc/inetd.conf @@ -0,0 +1,121 @@ +# $FreeBSD$ +# +# Internet server configuration database +# +# Define *both* IPv4 and IPv6 entries for dual-stack support. +# To disable a service, comment it out by prefixing the line with '#'. +# To enable a service, remove the '#' at the beginning of the line. +# +#ftp stream tcp nowait root /usr/libexec/lukemftpd ftpd -l -r +#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l +#ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -l +#telnet stream tcp nowait root /usr/libexec/telnetd telnetd +#telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd +#shell stream tcp nowait root /usr/libexec/rshd rshd +#shell stream tcp6 nowait root /usr/libexec/rshd rshd +#login stream tcp nowait root /usr/libexec/rlogind rlogind +#login stream tcp6 nowait root /usr/libexec/rlogind rlogind +#finger stream tcp nowait/3/10 nobody /usr/libexec/fingerd fingerd -s +#finger stream tcp6 nowait/3/10 nobody /usr/libexec/fingerd fingerd -s +#exec stream tcp nowait root /usr/libexec/rexecd rexecd +#nntp stream tcp nowait usenet /usr/libexec/nntpd nntpd +# +# run comsat as root to be able to print partial mailbox contents w/ biff, +# or use the safer tty:tty to just print that new mail has been received. +#comsat dgram udp wait tty:tty /usr/libexec/comsat comsat +# +# ntalk is required for the 'talk' utility to work correctly +#ntalk dgram udp wait tty:tty /usr/libexec/ntalkd ntalkd +#tftp dgram udp wait root /usr/libexec/tftpd tftpd -s /tftpboot +#tftp dgram udp6 wait root /usr/libexec/tftpd tftpd -s /tftpboot +#bootps dgram udp wait root /usr/libexec/bootpd bootpd +# +# "Small servers" -- used to be standard on, but we're more conservative +# about things due to Internet security concerns. Only turn on what you +# need. +# +#daytime stream tcp nowait root internal +#daytime stream tcp6 nowait root internal +#daytime dgram udp wait root internal +#daytime dgram udp6 wait root internal +#time stream tcp nowait root internal +#time stream tcp6 nowait root internal +#time dgram udp wait root internal +#time dgram udp6 wait root internal +#echo stream tcp nowait root internal +#echo dgram udp6 wait root internal +#echo dgram udp wait root internal +#echo stream tcp6 nowait root internal +#discard stream tcp nowait root internal +#discard stream tcp6 nowait root internal +#discard dgram udp wait root internal +#discard dgram udp6 wait root internal +#chargen stream tcp nowait root internal +#chargen stream tcp6 nowait root internal +#chargen dgram udp wait root internal +#chargen dgram udp6 wait root internal +# +# Kerberos authenticated services +# +#klogin stream tcp nowait root /usr/libexec/rlogind rlogind -k +#eklogin stream tcp nowait root /usr/libexec/rlogind rlogind -k -x +#kshell stream tcp nowait root /usr/libexec/rshd rshd -k +#kip stream tcp nowait root /usr/libexec/kipd kipd +# +# CVS servers - for master CVS repositories only! You must set the +# --allow-root path correctly or you open a trivial to exploit but +# deadly security hole. +# +#cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/your/cvsroot/here pserver +#cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/your/cvsroot/here kserver +# +# RPC based services (you MUST have rpcbind running to use these) +# +#rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd +#rusersd/1-2 dgram rpc/udp wait root /usr/libexec/rpc.rusersd rpc.rusersd +#walld/1 dgram rpc/udp wait root /usr/libexec/rpc.rwalld rpc.rwalld +#pcnfsd/1-2 dgram rpc/udp wait root /usr/libexec/rpc.pcnfsd rpc.pcnfsd +#rquotad/1 dgram rpc/udp wait root /usr/libexec/rpc.rquotad rpc.rquotad +#sprayd/1 dgram rpc/udp wait root /usr/libexec/rpc.sprayd rpc.sprayd +# +# example entry for the optional pop3 server +# +#pop3 stream tcp nowait root /usr/local/libexec/popper popper +# +# example entry for the optional imap4 server +# +#imap4 stream tcp nowait root /usr/local/libexec/imapd imapd +# +# example entry for the optional uucpd server +#uucpd stream tcp nowait root /usr/local/libexec/uucpd uucpd +# +# Return error for all "ident" requests +# +#auth stream tcp nowait root internal +#auth stream tcp6 nowait root internal +# +# Provide internally a real "ident" service which provides ~/.fakeid support, +# provides ~/.noident support, reports UNKNOWN as the operating system type +# and times out after 30 seconds. +# +#auth stream tcp nowait root internal auth -r -f -n -o UNKNOWN -t 30 +#auth stream tcp6 nowait root internal auth -r -f -n -o UNKNOWN -t 30 +# +# Example entry for an external ident server +# +#auth stream tcp wait root /usr/local/sbin/identd identd -w -t120 +# +# Example entry for the optional qmail MTA +# NOTE: This is no longer the correct way to handle incoming SMTP +# connections for qmail. Use tcpserver (http://cr.yp.to/ucspi-tcp.html) +# instead. +# +#smtp stream tcp nowait qmaild /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd +# +# Enable the following two entries to enable samba startup from inetd +# (from the Samba documentation). Enable the third entry to enable the swat +# samba configuration tool. +# +#netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd +#netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd +#swat stream tcp nowait/400 root /usr/local/sbin/swat swat diff --git a/etc/isdn/Makefile b/etc/isdn/Makefile new file mode 100644 index 0000000..0dcb0ee --- /dev/null +++ b/etc/isdn/Makefile @@ -0,0 +1,25 @@ +# $FreeBSD$ + +I4BETCPROG= answer \ + isdntel.sh \ + record \ + tell \ + tell-record \ + unknown_incoming + +I4BETCFILE= holidays.D \ + isdnd.rates.A \ + isdnd.rates.D \ + isdnd.rates.F \ + isdnd.rates.L \ + isdnd.rates.UK.BT \ + isdnd.rc.sample \ + isdntel.alias.sample + +install: + for i in ${I4BETCPROG} ; do \ + ${INSTALL} -o root -g wheel -m 700 $$i ${DESTDIR}/etc/isdn ; \ + done ; \ + for i in ${I4BETCFILE} ; do \ + ${INSTALL} -o root -g wheel -m 600 $$i ${DESTDIR}/etc/isdn ; \ + done diff --git a/etc/isdn/answer b/etc/isdn/answer new file mode 100755 index 0000000..d39a983 --- /dev/null +++ b/etc/isdn/answer @@ -0,0 +1,97 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# answer script for i4b isdnd +# --------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Thu May 20 11:44:38 1999] +# +#--------------------------------------------------------------------------- +VARDIR=/var/isdn + +#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS +#LIBDIR=/usr/local/lib/isdn +#FreeBSD 3.1 and up +LIBDIR=/usr/share/isdn + +LOGFILE=/tmp/answer.log +NCALLFILE=${VARDIR}/ncall +DATE=`date +%d%H` +DF=0 +dF=0 +sF=0 + +if ! set -- `getopt D:d:s: $*`; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +for i ; do + case ${i} in + -D) + DEVICE=$2 + DF=1 + shift + shift + ;; + -d) + DEST=$2 + dF=1 + shift + shift + ;; + -s) + SRC=$2 + sF=1 + shift + shift + ;; + --) + shift + break + ;; + esac +done + +echo "" >>${LOGFILE} + +if [ "${DF}" -eq 0 -o "${dF}" -eq 0 -o "${sF}" -eq 0 ]; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +echo "answer: device ${DEVICE} destination ${DEST} source ${SRC} " >>${LOGFILE} + +if [ -r "${NCALLFILE}" ]; then + NCALL=`cat ${NCALLFILE}` +else + NCALL=0 +fi + +NCALL=`printf "%.4d" ${NCALL}` + +echo Date: `date` >> ${VARDIR}/I.${NCALL}.${DATE} + +if [ -n "${SRC}" ]; then + echo "From: ${SRC}" >> ${VARDIR}/I.${NCALL}.${DATE} +fi + +if [ -n "${DEST}" ]; then + echo "To: ${DEST}" >> ${VARDIR}/I.${NCALL}.${DATE} +fi + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k # >/dev/null 2>&1 +fi + +if [ -r "${LIBDIR}/msg.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/msg.al bs=2k # >/dev/null 2>&1 + if [ -r "${LIBDIR}/beep.al" ] + then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k # >/dev/null 2>&1 + fi +fi + +echo `expr ${NCALL} + 1` >${NCALLFILE} diff --git a/etc/isdn/holidays.D b/etc/isdn/holidays.D new file mode 100644 index 0000000..80b7259 --- /dev/null +++ b/etc/isdn/holidays.D @@ -0,0 +1,51 @@ +#--------------------------------------------------------------------------- +# +# german national holidays 2002/2003/2004 +# bundeseinheitliche Feiertage 2002/2003/2004 +# ------------------------------------------------------------- +# +# last edit-date: [Sat Apr 13 14:22:43 2002] +# +# got from: http://www.ferienkalender.com/ +# +# This file is only of value for installations which are +# using the german Telekom "T-ISDN XXL" tariff where calls +# on sundays and holidays are free of charge. Additional +# configuration of /etc/isdnd.rc has to take place to enable +# support for this tariff, see output of "man isdnd.rc" and +# search for keyword "valid". +# +# $FreeBSD$ +# +#--------------------------------------------------------------------------- +# +# same day/month each year +# +1.1 Neujahr +1.5 Tag der Arbeit +3.10 Tag der deutschen Einheit +25.12 1. Weihnachtsfeiertag +26.12 2. Weihnachtsfeiertag +# +# 2002 - different day/month each year +# +29.3.2002 Karfreitag +1.4.2002 Ostermontag +9.5.2002 Christi Himmelfahrt +20.5.2002 Pfingstmontag +# +# 2003 - different day/month each year +# +18.4.2003 Karfreitag +21.4.2003 Ostermontag +29.5.2003 Christi Himmelfahrt +9.6.2003 Pfingstmontag +# +# 2004 - different day/month each year +# +9.4.2004 Karfreitag +12.4.2004 Ostermontag +20.5.2004 Christi Himmelfahrt +31.5.2004 Pfingstmontag +# +# EOF diff --git a/etc/isdn/isdnd.rates.A b/etc/isdn/isdnd.rates.A new file mode 100644 index 0000000..fa25b22 --- /dev/null +++ b/etc/isdn/isdnd.rates.A @@ -0,0 +1,39 @@ +#--------------------------------------------------------------------------- +# +# i4b - PTA Telekom charging rates config file +# -------------------------------------------- +# +# $Id: isdnd.rates.A,v 1.2 1999/12/13 21:25:24 hm Exp $ +# +# $FreeBSD$ +# +# last edit-date: [Mon Dec 13 21:42:02 1999] +# +# -mr updated to reflect last Telekom changes as of 1.9.99 +# +#--------------------------------------------------------------------------- +# +# reference: http://www.pta.at/ +# +#--------------------------------------------------------------------------- +# +# Syntax: +# ------- +# rate-code: ra0 = Online Tarif +# Day-No: 0-6, where 0 = Sunday, 1 = Monday, etc. +# Rate: start_hour.minutes-end_hour.minutes:period in seconds +# +#------------------------------------------------------------------------------ +# +#=================== Online ================================== +# +#rate-code Day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra0 0 00.00-24.00:360 +ra0 1 00.00-08.00:360 08.00-18.00:120 18.00-24.00:360 +ra0 2 00.00-08.00:360 08.00-18.00:120 18.00-24.00:360 +ra0 3 00.00-08.00:360 08.00-18.00:120 18.00-24.00:360 +ra0 4 00.00-08.00:360 08.00-18.00:120 18.00-24.00:360 +ra0 5 00.00-08.00:360 08.00-18.00:120 18.00-24.00:360 +ra0 6 00.00-24.00:360 +#================== EOF ====================================== diff --git a/etc/isdn/isdnd.rates.D b/etc/isdn/isdnd.rates.D new file mode 100644 index 0000000..430f9da --- /dev/null +++ b/etc/isdn/isdnd.rates.D @@ -0,0 +1,50 @@ +#--------------------------------------------------------------------------- +# +# i4b - Deutsche Telekom charging rates config file +# ------------------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Sun Jan 17 18:38:29 1999] +# +# -hm updated to reflect last Telekom changes as of 1.1.99 +# +#--------------------------------------------------------------------------- +# +# reference: http://www.telekom.de/untern/tarife/inland/index.htm +# +#--------------------------------------------------------------------------- +# +# Syntax: +# ------- +# rate-code: ra0 = City, ra1 = Deutschland +# Day-No: 0-6, where 0 = Sunday, 1 = Monday, etc. +# Rate: start_hour.minutes-end_hour.minutes:period in seconds +# +#------------------------------------------------------------------------------ +# +#=================== T-ISDN City ============================================================= +# +#rate-code Day rate1 rate2 rate3 rate4 rate5 +#--------- --- --------------- --------------- --------------- --------------- --------------- +ra0 0 00.00-05.00:240 05.00-21.00:150 21.00-24.00:240 +ra0 1 00.00-05.00:240 05.00-09.00:150 09.00-18.00:90 18.00-21.00:150 21.00-24.00:240 +ra0 2 00.00-05.00:240 05.00-09.00:150 09.00-18.00:90 18.00-21.00:150 21.00-24.00:240 +ra0 3 00.00-05.00:240 05.00-09.00:150 09.00-18.00:90 18.00-21.00:150 21.00-24.00:240 +ra0 4 00.00-05.00:240 05.00-09.00:150 09.00-18.00:90 18.00-21.00:150 21.00-24.00:240 +ra0 5 00.00-05.00:240 05.00-09.00:150 09.00-18.00:90 18.00-21.00:150 21.00-24.00:240 +ra0 6 00.00-05.00:240 05.00-21.00:150 21.00-24.00:240 +# +#=================== T-ISDN Deutschland ====================================================== +# +#rate-code Day rate1 rate2 rate3 rate4 rate5 +#--------- --- --------------- --------------- --------------- --------------- --------------- +ra1 0 00.00-24.00:60 +ra1 1 00.00-02.00:60 02.00-05.00:120 05.00-09.00:60 09.00-18.00:30 18.00-24.00:60 +ra1 2 00.00-02.00:60 02.00-05.00:120 05.00-09.00:60 09.00-18.00:30 18.00-24.00:60 +ra1 3 00.00-02.00:60 02.00-05.00:120 05.00-09.00:60 09.00-18.00:30 18.00-24.00:60 +ra1 4 00.00-02.00:60 02.00-05.00:120 05.00-09.00:60 09.00-18.00:30 18.00-24.00:60 +ra1 5 00.00-02.00:60 02.00-05.00:120 05.00-09.00:60 09.00-18.00:30 18.00-24.00:60 +ra1 6 00.00-24.00:60 +# +#================== EOF ====================================================================== diff --git a/etc/isdn/isdnd.rates.F b/etc/isdn/isdnd.rates.F new file mode 100644 index 0000000..14d772d --- /dev/null +++ b/etc/isdn/isdnd.rates.F @@ -0,0 +1,152 @@ +#--------------------------------------------------------------------------- +# +# i4b - Tarifs France Telecom +# --------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Thu Mar 19 20:05:18 1998] +# +# -hm got from Aurelien Bargy <dj@dial.oleane.com> +# +#--------------------------------------------------------------------------- +# +# a jour au 1.10.97 +# Aurelien Bargy - 18.03.97 +# +# I wrote a rates file for France. It is rather approximative +# because some time ago France Telecom decided to abandon the charging +# units system. The problem is, on ISDN lines charging units are still +# used for the aocd system, even as it gives a completely false price +# for a communication, so "abandoning" the msg_charging_unit system for +# French users of i4b is not a good idea :)) +# +#--------------------------------------------------------------------------- +# +# Syntax: +# ------- +# rate-code: ra0 = local ; ra1 = zone 1 ; ra2 = zone 2... +# plus quelques tarifs internationaux +# Day-No: 0-6, where 0 = Sunday, 1 = Monday, etc. +# Rate: start_hour.minutes-end_hour.minutes:period in seconds +# +#------------------------------------------------------------------------ +# +#========================== Communications locales ====================== +#rate-code Day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra0 0 00.00-24.00:317 +ra0 1 00.00-08.00:317 08.00-19.00:158 19.00-24.00:317 +ra0 2 00.00-08.00:317 08.00-19.00:158 19.00-24.00:317 +ra0 3 00.00-08.00:317 08.00-19.00:158 19.00-24.00:317 +ra0 4 00.00-08.00:317 08.00-19.00:158 19.00-24.00:317 +ra0 5 00.00-08.00:317 08.00-19.00:158 19.00-24.00:317 +ra0 6 00.00-08.00:317 08.00-12.00:158 12.00-24.00:317 +# +# +# +#================== Zone 1 : < 25 km ================================== +# +#rate-code Day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra1 0 00.00-24.00:222 +ra1 1 00.00-08.00:222 08.00-19.00:111 19.00-24.00:222 +ra1 2 00.00-08.00:222 08.00-19.00:111 19.00-24.00:222 +ra1 3 00.00-08.00:222 08.00-19.00:111 19.00-24.00:222 +ra1 4 00.00-08.00:222 08.00-19.00:111 19.00-24.00:222 +ra1 5 00.00-08.00:222 08.00-19.00:111 19.00-24.00:222 +ra1 6 00.00-08.00:222 08.00-12.00:111 12.00-24.00:222 +# +# +# +#================== Zone 2 : 25-30 km ================================= +# +#rate-code Day rate1 rate2 rate3 +#--------- --- --------------- --------------- -------------- +ra2 0 00.00-24.00:148 +ra2 1 00.00-08.00:148 08.00-19.00:74 19.00-24.00:148 +ra2 2 00.00-08.00:148 08.00-19.00:74 19.00-24.00:148 +ra2 3 00.00-08.00:148 08.00-19.00:74 19.00-24.00:148 +ra2 4 00.00-08.00:148 08.00-19.00:74 19.00-24.00:148 +ra2 5 00.00-08.00:148 08.00-19.00:74 19.00-24.00:148 +ra2 6 00.00-08.00:148 08.00-12.00:74 12.00-24.00:148 +# +#=================== Zone 3 : 30-52 km ================================ +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra3 0 00.00-24.00:94 +ra3 1 00.00-08.00:94 08.00-19.00:47 19.00-24.00:94 +ra3 2 00.00-08.00:94 08.00-19.00:47 19.00-24.00:94 +ra3 3 00.00-08.00:94 08.00-19.00:47 19.00-24.00:94 +ra3 4 00.00-08.00:94 08.00-19.00:47 19.00-24.00:94 +ra3 5 00.00-08.00:94 08.00-19.00:47 19.00-24.00:94 +ra3 6 00.00-08.00:94 08.00-12.00:47 12.00-24.00:94 +# +# +#=================== Zone 4 : > 52 km ================================= +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra4 0 00.00-24.00:78 +ra4 1 00.00-08.00:78 08.00-19.00:39 19.00-24.00:78 +ra4 2 00.00-08.00:78 08.00-19.00:39 19.00-24.00:78 +ra4 3 00.00-08.00:78 08.00-19.00:39 19.00-24.00:78 +ra4 4 00.00-08.00:78 08.00-19.00:39 19.00-24.00:78 +ra4 5 00.00-08.00:78 08.00-19.00:39 19.00-24.00:78 +ra4 6 00.00-08.00:78 08.00-12.00:39 12.00-24.00:78 +# +# +#=================== INTERNATIONAL : Allemagne ======================== +# (pour appeler Hellmuth) +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra5 0 00.00-24.00:27 +ra5 1 00.00-08.00:27 08.00-19.00:21 19.00-24.00:27 +ra5 2 00.00-08.00:27 08.00-19.00:21 19.00-24.00:27 +ra5 3 00.00-08.00:27 08.00-19.00:21 19.00-24.00:27 +ra5 4 00.00-08.00:27 08.00-19.00:21 19.00-24.00:27 +ra5 5 00.00-08.00:27 08.00-19.00:21 19.00-24.00:27 +ra5 6 00.00-08.00:27 08.00-12.00:21 12.00-24.00:27 +# +# +#=================== INTERNATIONAL : Pays-Bas ========================== +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra6 0 00.00-24.00:25 +ra6 1 00.00-08.00:25 08.00-19.00:20 19.00-24.00:25 +ra6 2 00.00-08.00:25 08.00-19.00:20 19.00-24.00:25 +ra6 3 00.00-08.00:25 08.00-19.00:20 19.00-24.00:25 +ra6 4 00.00-08.00:25 08.00-19.00:20 19.00-24.00:25 +ra6 5 00.00-08.00:25 08.00-19.00:20 19.00-24.00:25 +ra6 6 00.00-08.00:25 08.00-12.00:20 12.00-24.00:25 +# +# +#=================== INTERNATIONAL : Portugal =========================== +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra7 0 00.00-24.00:22 +ra7 1 00.00-08.00:22 08.00-19.00:18 19.00-24.00:22 +ra7 2 00.00-08.00:22 08.00-19.00:18 19.00-24.00:22 +ra7 3 00.00-08.00:22 08.00-19.00:18 19.00-24.00:22 +ra7 4 00.00-08.00:22 08.00-19.00:18 19.00-24.00:22 +ra7 5 00.00-08.00:22 08.00-19.00:18 19.00-24.00:22 +ra7 6 00.00-08.00:22 08.00-12.00:18 12.00-24.00:22 +# +# +#=================== INTERNATIONAL : USA/Canada ======================== +# +#rate-code day rate1 rate2 rate3 +#--------- --- --------------- --------------- --------------- +ra8 0 00.00-24.00:25 +ra8 1 00.00-13.00:25 13.00-19.00:20 19.00-24.00:25 +ra8 2 00.00-13.00:25 13.00-19.00:20 19.00-24.00:25 +ra8 3 00.00-13.00:25 13.00-19.00:20 19.00-24.00:25 +ra8 4 00.00-13.00:25 13.00-19.00:20 19.00-24.00:25 +ra8 5 00.00-13.00:25 13.00-19.00:20 19.00-24.00:25 +ra8 6 00.00-24.00:25 +# +#================== EOF ============================================== diff --git a/etc/isdn/isdnd.rates.L b/etc/isdn/isdnd.rates.L new file mode 100644 index 0000000..1c4383a --- /dev/null +++ b/etc/isdn/isdnd.rates.L @@ -0,0 +1,45 @@ +#--------------------------------------------------------------------------- +# +# i4b - Luxembourg PT charging rates config file +# ------------------------------------------------- +# +# $Id: isdnd.rates.L,v 1.2 1999/12/13 21:25:24 hm Exp $ +# +# $FreeBSD$ +# +# last edit-date: [Mon Dec 13 21:42:33 1999] +# +# Sent in by Joakim Hernberg, Digital Design Luxembourg sarl, jbh@ddl.lu +# +#--------------------------------------------------------------------------- +# +# reference: http://www.pt.lu +# +#--------------------------------------------------------------------------- +# +# Syntax: +# ------- +# rate-code: ra0 = Luxembourg normal isdn call +# rate-code: ra1 = Luxembourg PT Internet access +# Day-No: 0-6, where 0 = Sunday, 1 = Monday, etc. +# Rate: start_hour.minutes-end_hour.minutes:period in seconds +# +#------------------------------------------------------------------------------ +# +#rate-code Day rate1 rate2 rate3 rate4 rate5 +#--------- --- --------------- --------------- --------------- --------------- ---------------- +ra0 0 00.00-24.00:960 +ra0 1 00.00-06.00:960 06.00-08.00:480 08.00-19.00:240 19.00-23.00:480 23.00-24.00:960 +ra0 2 00.00-06.00:960 06.00-08.00:480 08.00-19.00:240 19.00-23.00:480 23.00-24.00:960 +ra0 3 00.00-06.00:960 06.00-08.00:480 08.00-19.00:240 19.00-23.00:480 23.00-24.00:960 +ra0 4 00.00-06.00:960 06.00-08.00:480 08.00-19.00:240 19.00-23.00:480 23.00-24.00:960 +ra0 5 00.00-06.00:960 06.00-08.00:480 08.00-19.00:240 19.00-23.00:480 23.00-24.00:960 +ra0 6 00.00-06.00:960 06.00-23.00:480 23.00-24.00:960 + +ra1 0 00.00-24.00:60 +ra1 1 00.00-24.00:60 +ra1 2 00.00-24.00:60 +ra1 3 00.00-24.00:60 +ra1 4 00.00-24.00:60 +ra1 5 00.00-24.00:60 +ra1 6 00.00-24.00:60 diff --git a/etc/isdn/isdnd.rates.UK.BT b/etc/isdn/isdnd.rates.UK.BT new file mode 100644 index 0000000..c4d34ec --- /dev/null +++ b/etc/isdn/isdnd.rates.UK.BT @@ -0,0 +1,61 @@ +#--------------------------------------------------------------------------- +# +# i4b - BT charges +# ------------------------------------------------- +# +# $FreeBSD$ +# +# Barry A. Scott barry@scottb.demon.co.uk +# +#--------------------------------------------------------------------------- +# +# reference: http://www.bt.com/Business/price_frm.htm +# (I use the bussiness figures as the Ex VAT gives more +# accurate rate data because BT round the Inc VAT figures) +# +#--------------------------------------------------------------------------- +# +# Syntax: +# ------- +# rate-code: ra0 = Local, ra1 = Regional, ra2 = National +# Day-No: 0-6, where 0 = Sunday, 1 = Monday, etc. +# Rate: start_hour.minutes-end_hour.minutes:period in seconds +# +#------------------------------------------------------------------------------ +# +#=================== Local ========================================================================= +# +#rate-code Day rate1 rate2 rate1 +#--------- --- --------------- --------------- --------------- +ra0 0 00.00-24.00:296 +ra0 1 00.00-08.00:200 08.00-18.00:75 18.00-00.00:200 +ra0 2 00.00-08.00:200 08.00-18.00:75 18.00-00.00:200 +ra0 3 00.00-08.00:200 08.00-18.00:75 18.00-00.00:200 +ra0 4 00.00-08.00:200 08.00-18.00:75 18.00-00.00:200 +ra0 5 00.00-08.00:200 08.00-18.00:75 18.00-00.00:200 +ra0 6 00.00-24.00:296 +# +#=================== Regional ========================================================================= +# +#rate-code Day rate1 rate2 rate1 +#--------- --- --------------- --------------- --------------- +ra1 0 00.00-24.00:100 +ra1 1 00.00-08.00:75 08.00-18.00:37 18.00-00.00:75 +ra1 2 00.00-08.00:75 08.00-18.00:37 18.00-00.00:75 +ra1 3 00.00-08.00:75 08.00-18.00:37 18.00-00.00:75 +ra1 4 00.00-08.00:75 08.00-18.00:37 18.00-00.00:75 +ra1 5 00.00-08.00:75 08.00-18.00:37 18.00-00.00:75 +ra1 6 00.00-24.00:100 +# +#=================== National ========================================================================= +# +#rate-code Day rate1 rate2 rate1 +#--------- --- --------------- --------------- --------------- +ra2 0 00.00-24.00:100 +ra2 1 00.00-08.00:71 08.00-18.00:37 18.00-00.00:71 +ra2 2 00.00-08.00:71 08.00-18.00:37 18.00-00.00:71 +ra2 3 00.00-08.00:71 08.00-18.00:37 18.00-00.00:71 +ra2 4 00.00-08.00:71 08.00-18.00:37 18.00-00.00:71 +ra2 5 00.00-08.00:71 08.00-18.00:37 18.00-00.00:71 +ra2 6 00.00-24.00:100 +#================== EOF ============================================================================================================ diff --git a/etc/isdn/isdnd.rc.sample b/etc/isdn/isdnd.rc.sample new file mode 100644 index 0000000..eef0f89 --- /dev/null +++ b/etc/isdn/isdnd.rc.sample @@ -0,0 +1,409 @@ +#------------------------------------------------------------------------------ +# +# example of a configuration file for the isdn daemon +# --------------------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Sun May 27 09:33:59 2001] +# +# NOTICE: +# ======= +# This configuration file is an EXAMPLE only and MUST be edited +# carefully to get the desired results! +# +# Please read the "isdnd.rc" manual page (execute "man isdnd.rc") +# for reference ! +# +#------------------------------------------------------------------------------ + +#============================================================================== +# SYSTEM section: isdnd global configuration parameters +#============================================================================== +system + +# accounting +# ---------- + +acctall = on # generate info for everything +acctfile = /var/log/isdnd.acct # name & location of accounting file +useacctfile = yes # generate accouting info to file + +# monitor +# ------- + +monitor-allowed = no # global switch: monitor on/off +monitor-port = 451 # default monitor TCP port + +# Monitor rights are granted due to the most specific host/net spec, i.e. in +# the example below host 192.168.1.2 will have the rights specified on that +# line, even so it belongs to net 192.168.1.0/24 as well. +# +# A monitor specification may either be: +# +# - the name of a local (UNIX-domain) socket; this MUST start with a "/" +monitor = "/var/run/isdn-monitor" +monitor-access = fullcmd +monitor-access = channelstate, logevents +monitor-access = callin, callout +# +# - a dotted-quad host spec +monitor = "192.168.1.2" +monitor-access = restrictedcmd, channelstate, callin, callout +# +# - a dotted-quad net spec with "/len" (CIDR-style) netmask spec +monitor = "192.168.1.0/24" +monitor-access = restrictedcmd, channelstate, callin, callout +# +# - a resolveable host name +monitor = "rumolt" +monitor-access = restrictedcmd, channelstate, callin, callout +# +# - a resolveable net name with "/len" netmask (s.a.) appended +monitor = "up-vision-net/24" +monitor-access = restrictedcmd, channelstate, callin, callout + +# ratesfile +# --------- + +ratesfile = /etc/isdn/isdnd.rates # name & location of rates file + +# regular expression pattern matching +# ----------------------------------- + +#regexpr = "connected.*XXX" # look for matches in log messages +#regprog = connectXXX # execute program when match is found + +regexpr = "<unknown> incoming call from" +regprog = unknown_incoming # execute program whan match is found + +# realtime priority section +# ------------------------- + +rtprio = 25 # modify isdnd's process priority + +#=========================================================================== +# controller section +#=========================================================================== +controller + +firmware = /etc/isdn/b1.t4 # microcode for an AVM B1 controller + +#============================================================================== +# entry section: IP over ISDN example - i call back the remote end +#============================================================================== +entry + +name = I4BIP # name for reference. This name will + # be used in the logfile to identfy + # this entry. + + # the network or telephone device + # the data traffic should be routed to: +usrdevicename = ipr # ipr, isp, tel, rbch +usrdeviceunit = 0 # unit number + + # the ISDN controller number to be + # used for this entry: +isdncontroller = 0 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # incoming only, outgoing only or both: +direction = inout # in, out, inout + + # numbers used to verify a DIAL IN: +local-phone-incoming = 321 # this is my number +remote-phone-incoming = 0123456789 # this one can call in + + # numbers used at DIAL OUT time: +local-phone-dialout = 321 # this is my number +remote-phone-dialout = 00123456789 # i call this remote number + + # in case i have several remote + # telephone numbers specified, this + # is used to specify which one is + # used next on dial fail or retry: +remdial-handling = first # first, last or next + + # what happenes if someone dials in: +dialin-reaction = callback # accept, reject, ignore, answer, callback + + # normal dialout or do i call back: +dialout-type = normal # normal / calledback + +callbackwait = 1 # no of secs to wait before calling back + + # type of protocol on the B-channel: + # hdlc must be specified for IP (the + # ipr and isp drivers), raw must be + # specified for telephone answering +b1protocol = hdlc # hdlc, raw + + # shorthold mode and idle time + # configuration: +ratetype = 0 # ratesfile entry to use +unitlength = 90 # unitlength to assume +unitlengthsrc = rate # none, rate, cmdl, conf, aocd +idletime-incoming = 120 # incoming call idle timeout +idletime-outgoing = 60 # outgoing call idle timeout +earlyhangup = 5 # time to hangup before an expected + # next charging unit will occur + + # retry and recovery parameters +dialretries = 3 # # of dial retries +dialrandincr = off # random dial increment time +recoverytime = 5 # time to wait between 2 dial tries +usedown = off # set i/f down +downtries = 5 # retry cycles before set down +downtime = 30 # time to be in down before going up + +#connectprog = "ip-up" # run /etc/isdn/ip-up when an interface + # has established its network connection. + # example parameters are: + # /etc/isdn/ip-up -d isp0 -f up -a 192.110.12.14 +#disconnectprog = "ip-down" # like connectprog, but run after the connection + # is closed (ISDN layer down). The actual + # interface address might not be known + # any more. example parameters are: + # /etc/isdn/ip-up -d isp0 -f down -a 0.0.0.0 + +#============================================================================== +# entry section: IP over ISDN example - i am called back by the remote end +#============================================================================== +entry + +name = I4BIP1 # name for reference + +usrdevicename = ipr # ipr, tel, rbch +usrdeviceunit = 1 # unit number + +isdncontroller = 0 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # numbers used to DIAL OUT +remote-phone-dialout = 00401234567 # remote number to dial +local-phone-dialout = 38 # our number to tell remote + + # numbers used to verify at DIAL IN +local-phone-incoming = 38 # we take calls for this local number +remote-phone-incoming = 00401234567 # we take calls from this remote machine + +b1protocol = hdlc # hdlc, raw + +ratetype = 0 # city +unitlength = 90 # default unit length +earlyhangup = 5 # safety zone +unitlengthsrc = aocd # none, rate, cmdl, conf, aocd + +dialin-reaction = accept # accept, reject, ignore, anwer, callback + +dialout-type = calledback # normal or calledback + +dialretries = 3 +recoverytime = 3 +calledbackwait = 20 +dialrandincr = off + +usedown = off +downtries = 2 +downtime = 30 + +idletime-incoming = 300 +idletime-outgoing = 30 + +#============================================================================== +# entry section: answering machine example +#============================================================================== +entry + +name = I4BTEL # name for reference +usrdevicename = tel # ipr, tel, rbch +usrdeviceunit = 0 # unit number + +isdncontroller = 0 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # numbers used to verify at DIAL IN +local-phone-incoming = 456 # this is my number +remote-phone-incoming = * # anyone can call in + +dialin-reaction = answer # accept, reject, ignore, answer + +answerprog = answer # program to run + +b1protocol = raw # hdlc, raw + +idletime-incoming = 5 # 5 seconds idle timeout + +#============================================================================== +# kernel PPP (with budget handling) - Sunday & Holidays, we call back +#============================================================================== +entry + +valid = "0,7" # sundays & holidays + +name = KPPPs # name for reference + +usrdevicename = isp # ipr, tel, rbch +usrdeviceunit = 0 # unit number + +isdncontroller = 1 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # numbers used to verify at DIAL IN +local-phone-incoming = 29 # this is my number +remote-phone-incoming = 00401234567 # this one can call in + + # numbers used to DIAL OUT +local-phone-dialout = 29 # this is my number +remote-phone-dialout = 00401234567 # i call this number + +remdial-handling = first # first, last or next + +dialin-reaction = callback # accept, reject, ignore, answer, callback + +dialout-type = normal # normal / calledback + +b1protocol = hdlc # hdlc, raw + +idletime-incoming = 30 # incoming call idle timeout +idletime-outgoing = 120 # outgoing call idle timeout + +unitlength = 360 # unitlength to assume +unitlengthsrc = conf # none, rate, cmdl, conf, aocd + +dialretries = 5 # # of dial retries +dialrandincr = on # random dial increment time +recoverytime = 3 # time to wait between 2 dial tries + +callbackwait = 5 # time to wait to call back + +usedown = off # set i/f down +downtries = 5 # retry cycles before set down +downtime = 60 # time to be in down before going up + +budget-callbackperiod = 10800 # 3 hours +budget-callbackncalls = 1000 # 2 callbacks in 3 hours +budget-callbacksfile = /var/log/isdn/callbacks.isp0 +budget-callbacksfile-rotate = yes + +budget-calloutperiod = 3600 # 1 hour +budget-calloutncalls = 1000 # 3 calls in 1 hour +budget-calloutsfile = /var/log/isdn/callouts.isp0 +budget-calloutsfile-rotate = yes + +#============================================================================== +# kernel PPP (with budget handling) - Monday-Saturday, 9:00-18:00: we call back +#============================================================================== +entry + +valid = "1,2,3,4,5,6,9:00-18:00" # Monday-Saturday, day + +name = KPPPd # name for reference + +usrdevicename = isp # ipr, tel, rbch +usrdeviceunit = 0 # unit number + +isdncontroller = 1 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # numbers used to verify at DIAL IN +local-phone-incoming = 29 # this is my number +remote-phone-incoming = 00401234567 # this one can call in + + # numbers used to DIAL OUT +local-phone-dialout = 29 # this is my number +remote-phone-dialout = 00401234567 # i call this number + +remdial-handling = first # first, last or next + +dialin-reaction = callback # accept, reject, ignore, answer, callback + +dialout-type = normal # normal / calledback + +b1protocol = hdlc # hdlc, raw + +idletime-incoming = 30 # incoming call idle timeout +idletime-outgoing = 30 # outgoing call idle timeout + +unitlength = 60 # unitlength to assume +unitlengthsrc = conf # none, rate, cmdl, conf, aocd + +dialretries = 5 # # of dial retries +dialrandincr = on # random dial increment time +recoverytime = 3 # time to wait between 2 dial tries + +callbackwait = 5 # time to wait to call back + +usedown = off # set i/f down +downtries = 5 # retry cycles before set down +downtime = 60 # time to be in down before going up + +budget-callbackperiod = 10800 # 3 hours +budget-callbackncalls = 1 # 1 callbacks in 3 hours +budget-callbacksfile = /var/log/isdn/callbacks.isp0 +budget-callbacksfile-rotate = yes + +budget-calloutperiod = 3600 # 1 hour +budget-calloutncalls = 3 # 3 calls in 1 hour +budget-calloutsfile = /var/log/isdn/callouts.isp0 +budget-calloutsfile-rotate = yes + +#============================================================================== +# kernel PPP (with budget handling) - Monday-Saturday: we call back +#============================================================================== +entry + +valid = "1,2,3,4,5,6,18:00-9:00" # Monday-Saturday, night + +name = KPPPn # name for reference + +usrdevicename = isp # ipr, tel, rbch +usrdeviceunit = 0 # unit number + +isdncontroller = 1 # controller to use or -1 to use any +isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any + + # numbers used to verify at DIAL IN +local-phone-incoming = 29 # this is my number +remote-phone-incoming = 00401234567 # this one can call in + + # numbers used to DIAL OUT +local-phone-dialout = 29 # this is my number +remote-phone-dialout = 00401234567 # i call this number + +remdial-handling = first # first, last or next + +dialin-reaction = callback # accept, reject, ignore, answer, callback + +dialout-type = normal # normal / calledback + +b1protocol = hdlc # hdlc, raw + +idletime-incoming = 30 # incoming call idle timeout +idletime-outgoing = 30 # outgoing call idle timeout + +unitlength = 60 # unitlength to assume +unitlengthsrc = conf # none, rate, cmdl, conf, aocd + +dialretries = 5 # # of dial retries +dialrandincr = on # random dial increment time +recoverytime = 3 # time to wait between 2 dial tries + +callbackwait = 5 # time to wait to call back + +usedown = off # set i/f down +downtries = 5 # retry cycles before set down +downtime = 60 # time to be in down before going up + +budget-callbackperiod = 7200 # 2 hours +budget-callbackncalls = 2 # 2 callbacks in 2 hours +budget-callbacksfile = /var/log/isdn/callbacks.isp0 +budget-callbacksfile-rotate = yes + +budget-calloutperiod = 3600 # 1 hour +budget-calloutncalls = 3 # 3 calls in 1 hour +budget-calloutsfile = /var/log/isdn/callouts.isp0 +budget-calloutsfile-rotate = yes + +# EOF ######################################################################### diff --git a/etc/isdn/isdntel.alias.sample b/etc/isdn/isdntel.alias.sample new file mode 100644 index 0000000..c06bc19 --- /dev/null +++ b/etc/isdn/isdntel.alias.sample @@ -0,0 +1,21 @@ +#--------------------------------------------------------------------------- +# +# alias file for the isdntel(1) application +# ----------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Fri Dec 18 18:06:03 1998] +# +# -hm cleanup for release +# +# +# the format is simple: the number beginning in column one followed +# by one or more spaces or tabs. The rest of the line is taken as +# and alias string for the number. Comment lines start with a "#". +# +#--------------------------------------------------------------------------- +123 alias for 123 +456 alias for 456 +789 alias for 789 + diff --git a/etc/isdn/isdntel.sh b/etc/isdn/isdntel.sh new file mode 100755 index 0000000..14f528a --- /dev/null +++ b/etc/isdn/isdntel.sh @@ -0,0 +1,98 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# isdn telephone answering +# ------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Thu May 20 11:45:04 1999] +# +#--------------------------------------------------------------------------- +#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS +#LIBDIR=/usr/local/lib/isdn +#FreeBSD 3.1 and up +LIBDIR=/usr/share/isdn + +VARDIR=/var/isdn +DEVICE=/dev/i4btel0 + +# sounds +MESSAGE=${LIBDIR}/msg.al +BEEP=${LIBDIR}/beep.al + +# dd options +SKIP=25 + +# max message size +MAXMSIZ=100 + +# src and dst telephone numbers +src= +dst= + +# current date +DATE=`date` + +# check if directory exists +if [ ! -d "${VARDIR}" ] +then + mkdir ${VARDIR} +fi + +# get options +if ! set -- `/usr/bin/getopt D:d:s: $*`; then + echo "usage2: play -D device -d <dest-telno> -s <src-telno>" + exit 1 +fi + +# process options +for i ; do + case $i in + -D) + DEVICE=$2; shift; shift; + ;; + -d) + dst=$2; shift; shift; + ;; + -s) + src=$2; shift; shift; + ;; + --) + shift; break; + ;; + esac +done + +# this is a __MUST__ in order to use the fullscreen inteface !!! + +FILEDATE=`date \+%y%m%d%H%M%S` + +# echo message to phone +if [ -r "${MESSAGE}" ]; then + /bin/dd of=${DEVICE} if=${MESSAGE} bs=2k >/dev/null 2>&1 +fi + +# echo beep to phone +if [ -r "${BEEP}" ]; then + /bin/dd of=${DEVICE} if=${BEEP} bs=2k >/dev/null 2>&1 +fi + +# start time +START=`date \+%s` + +# get message from caller +/bin/dd if=${DEVICE} of=${VARDIR}/${FILEDATE}-${dst}-${src} skip=${SKIP} bs=2k count=${MAXMSIZ} >/dev/null 2>&1 + +# end time +END=`date \+%s` + +# duration +TIME=`expr ${END} - ${START}` + +# save recorded message +if [ -r "${VARDIR}/${FILEDATE}-${dst}-${src}" ]; then + mv ${VARDIR}/${FILEDATE}-${dst}-${src} ${VARDIR}/${FILEDATE}-${dst}-${src}-${TIME} +fi + +exit 0 diff --git a/etc/isdn/record b/etc/isdn/record new file mode 100755 index 0000000..61591fb --- /dev/null +++ b/etc/isdn/record @@ -0,0 +1,99 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# answer and record message script for i4b isdnd +# ---------------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Thu May 20 11:45:10 1999] +# +#--------------------------------------------------------------------------- +VARDIR=/var/isdn + +#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS +#LIBDIR=/usr/local/lib/isdn +#FreeBSD 3.1 and up +LIBDIR=/usr/share/isdn + +LOGFILE=/tmp/answer.log +NCALLFILE=${VARDIR}/ncall +DATE=`date +%d%H` +DF=0 +dF=0 +sF=0 + +if ! set -- `getopt D:d:s: $*`; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +for i ; do + case ${i} in + -D) + DEVICE=$2 + DF=1 + shift + shift + ;; + -d) + DEST=$2 + dF=1 + shift + shift + ;; + -s) + SRC=$2 + sF=1 + shift + shift + ;; + --) + shift + break + ;; + esac +done + +echo "" >>${LOGFILE} + +if [ "${DF}" -eq 0 -o "${dF}" -eq 0 -o "${sF}" -eq 0 ]; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +echo "answer: device ${DEVICE} destination ${DEST} source ${SRC} " >>${LOGFILE} + +if [ -r "${NCALLFILE}" ]; then + NCALL=`cat ${NCALLFILE}` +else + NCALL=0 +fi + +NCALL=`printf "%.4d" ${NCALL}` + +echo Date: `date` >> ${VARDIR}/I.${NCALL}.${DATE} + +if [ -n "${SRC}" ]; then + echo "From: ${SRC}" >> ${VARDIR}/I.${NCALL}.${DATE} +fi + +if [ -n "${DEST}" ]; then + echo "To: ${DEST}" >> ${VARDIR}/I.${NCALL}.${DATE} +fi + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi + +if [ -r "${LIBDIR}/msg.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/msg.al bs=2k >/dev/null 2>&1 +fi + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi + +dd if=${DEVICE} of=${VARDIR}/R.${NCALL}.${DATE} bs=2k >/dev/null 2>&1 + +echo `expr $NCALL + 1` >$NCALLFILE diff --git a/etc/isdn/tell b/etc/isdn/tell new file mode 100755 index 0000000..047c834 --- /dev/null +++ b/etc/isdn/tell @@ -0,0 +1,87 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# tell called and calling numbers answer script for i4b isdnd +# ----------------------------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Thu May 20 11:45:15 1999] +# +#--------------------------------------------------------------------------- +VARDIR=/var/isdn + +#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS +#LIBDIR=/usr/local/lib/isdn +#FreeBSD 3.1 and up +LIBDIR=/usr/share/isdn + +LOGFILE=/tmp/answer.log +NCALLFILE=${VARDIR}/ncall +DATE=`date +%d%H` +DF=0 +dF=0 +sF=0 + +if ! set -- `getopt D:d:s: $*`; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +for i ; do + case ${i} in + -D) + DEVICE=$2 + DF=1 + shift + shift + ;; + -d) + DEST=$2 + dF=1 + shift + shift + ;; + -s) + SRC=$2 + sF=1 + shift + shift + ;; + --) + shift + break + ;; + esac +done + +echo "" >>${LOGFILE} + +if [ "${DF}" -eq 0 -o "${dF}" -eq 0 -o "${sF}" -eq 0 ]; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +echo "answer: device ${DEVICE} destination ${DEST} source ${SRC} " >>${LOGFILE} + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi + +# tell the caller the number he is calling from + +POS=1 +LENGTH=`expr ${SRC} : '.*'` + +while : ; do + DIGIT=`echo ${SRC} | cut -c ${POS}` + /bin/dd of=${DEVICE} if=${LIBDIR}/${DIGIT}.al bs=2k >/dev/null 2>&1 + POS=`expr ${POS} + 1` + if [ "${POS}" -gt "${LENGTH}" ]; then + break + fi +done + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi diff --git a/etc/isdn/tell-record b/etc/isdn/tell-record new file mode 100755 index 0000000..ae4c8176 --- /dev/null +++ b/etc/isdn/tell-record @@ -0,0 +1,89 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# tell called and calling numbers answer script for i4b isdnd +# ----------------------------------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Tue Oct 31 10:59:49 2000] +# +#--------------------------------------------------------------------------- +VARDIR=/var/isdn + +#FreeBSD < 3.1, NetBSD, OpenBSD, BSD/OS +#LIBDIR=/usr/local/lib/isdn +#FreeBSD 3.1 and up +LIBDIR=/usr/share/isdn + +LOGFILE=/tmp/answer.log +NCALLFILE=${VARDIR}/ncall +DATE=`date +%d%H` +DF=0 +dF=0 +sF=0 + +if ! set -- `getopt D:d:s: $*`; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +for i ; do + case ${i} in + -D) + DEVICE=$2 + DF=1 + shift + shift + ;; + -d) + DEST=$2 + dF=1 + shift + shift + ;; + -s) + SRC=$2 + sF=1 + shift + shift + ;; + --) + shift + break + ;; + esac +done + +echo "" >>${LOGFILE} + +if [ "${DF}" -eq 0 -o "${dF}" -eq 0 -o "${sF}" -eq 0 ]; then + echo 'Usage: answer -D device -d destination -s source' + exit 1 +fi + +echo "answer: device ${DEVICE} destination ${DEST} source ${SRC} " >>${LOGFILE} + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi + +# tell the caller the number he is calling from + +POS=1 +LENGTH=`expr ${SRC} : '.*'` + +while : ; do + DIGIT=`echo ${SRC} | cut -c ${POS}` + /bin/dd of=${DEVICE} if=${LIBDIR}/${DIGIT}.al bs=2k >/dev/null 2>&1 + POS=`expr ${POS} + 1` + if [ "${POS}" -gt "${LENGTH}" ]; then + break + fi +done + +if [ -r "${LIBDIR}/beep.al" ]; then + dd of=${DEVICE} if=${LIBDIR}/beep.al bs=2k >/dev/null 2>&1 +fi + +dd if=${DEVICE} of=${VARDIR}/recorded.msg bs=2k >/dev/null 2>&1 diff --git a/etc/isdn/unknown_incoming b/etc/isdn/unknown_incoming new file mode 100755 index 0000000..9e26a64 --- /dev/null +++ b/etc/isdn/unknown_incoming @@ -0,0 +1,79 @@ +#!/bin/sh +#--------------------------------------------------------------------------- +# +# unknown_incoming - script for isdnd +# ----------------------------------- +# +# $FreeBSD$ +# +# last edit-date: [Wed Jan 10 13:40:36 2001] +# +# This script may be configured to be called by isdnd when an +# unknown incoming call is received. In case the destination +# telephone number is available, it sends mail with the time, +# source and destination numbers to a configurable address. +# +# For this to work, and entry like this: +# +# regexpr = "<unknown> incoming call from" +# regprog = unknown_incoming +# +# is needed in the system section of /etc/isdn/isdnd.rc. +# +# This script has to be configured to the sites needs, look +# for the comment lines start with "configure:" +# +#--------------------------------------------------------------------------- +# +# configure: who shall receive the mail +mailaddr=root +# +from=`echo $* | awk '{print $6}'` +to=`echo $* | awk '{print $8}'` +test=`echo $* | awk '{print $9}'` +ctrl=`echo $* | awk '{print $10}'` +date=`date "+%b %d"` +time=`date "+%H:%M"` +mach=`hostname` + +# configure: list of destination numbers to ignore +case "$from" in + "NotAvailable" ) exit 0 ;; + "00401234567"* ) exit 0 ;; + "00407654321" ) exit 0 ;; +esac + +# configure: how to name the line on which this was received +if [ $test = "ctrl" ] +then + case "$ctrl" in + "1") + line="PBX 1" + ;; + "2") + line="PBX 2" + ;; + *) + line="controller is $ctrl" + ;; + esac +else + line="test is $test, controller is $ctrl" +fi + +cat << ENDOFDATA | mail -s "isdnd: unknown incoming telephone call" $mailaddr + +Unknown incoming telephone call recognized: + + Date: $date + Time: $time + Line: $line + From: $from + To: $to + + Sincerly yours, + the isdnd on $mach + +ENDOFDATA + +exit 0 diff --git a/etc/kerberosIV/README b/etc/kerberosIV/README new file mode 100644 index 0000000..e57916c --- /dev/null +++ b/etc/kerberosIV/README @@ -0,0 +1,36 @@ +# $FreeBSD$ +# @(#)README 5.1 (Berkeley) 6/30/90 + +Notes about the contents of the /etc/kerberosIV directory: + +The file master_key contains a copy of the master key under which the +entire Kerberos database is encrypted. Disclosing this key would be bad +news. The reason it is stored in the filesystem is because the following +programs need to inspect or modify the kerberos database, and so the key +must be available for them, (or else it would have to be typed in by +hand): + - kerberos (the server itself) + - registerd (for new user registration) + - kpasswdd (for changing passwords) + +The srvtab file contains the encryption keys for each service on the local +host. Any host offering network services would have a key here, although +many such files can be used. + +The principal.* files comprise the Kerberos database itself, and contain +keys for all principles, and should not be world-readable. + +The kerberos.conf file contains the configuration for this machine: + - which realm I'm in + - which servers I should talk to for this realm + +The kerberos.realms file contains the name of Kerberos servers for +various (sub)domains. + +Kerberos log information it placed in /var/log/kerberos.log +(see rc.local to change it) + +The register_keys directory contains a set of files (all of which begin +with "."), each of which contains a des key used for registering new users +with the system. It is used only by the "registerd" program, and only on +a Kerberos server host. diff --git a/etc/kerberosIV/krb.conf b/etc/kerberosIV/krb.conf new file mode 100644 index 0000000..11ac1ac --- /dev/null +++ b/etc/kerberosIV/krb.conf @@ -0,0 +1,9 @@ +CS.BERKELEY.EDU +CS.BERKELEY.EDU okeeffe.berkeley.edu +ATHENA.MIT.EDU kerberos.mit.edu +ATHENA.MIT.EDU kerberos-1.mit.edu +ATHENA.MIT.EDU kerberos-2.mit.edu +ATHENA.MIT.EDU kerberos-3.mit.edu +LCS.MIT.EDU kerberos.lcs.mit.edu +TELECOM.MIT.EDU bitsy.mit.edu +ARC.NASA.GOV trident.arc.nasa.gov diff --git a/etc/kerberosIV/krb.realms b/etc/kerberosIV/krb.realms new file mode 100644 index 0000000..1f1bec5 --- /dev/null +++ b/etc/kerberosIV/krb.realms @@ -0,0 +1,3 @@ +.berkeley.edu CS.BERKELEY.EDU +.MIT.EDU ATHENA.MIT.EDU +.mit.edu ATHENA.MIT.EDU diff --git a/etc/locale.alias b/etc/locale.alias new file mode 100644 index 0000000..6e6daa9 --- /dev/null +++ b/etc/locale.alias @@ -0,0 +1,76 @@ +# $FreeBSD$ + +ASCII en_US.US-ASCII +US-ASCII en_US.US-ASCII +af_ZA.ISO_8859-1 af_ZA.ISO8859-1 +af_ZA.ISO_8859-15 af_ZA.ISO8859-15 +cs_CZ.ISO_8859-2 cs_CZ.ISO8859-2 +da_DK.ISO_8859-1 da_DK.ISO8859-1 +da_DK.ISO_8859-15 da_DK.ISO8859-15 +de_AT.ISO_8859-1 de_AT.ISO8859-1 +de_AT.ISO_8859-15 de_AT.ISO8859-15 +de_CH.ISO_8859-1 de_CH.ISO8859-1 +de_CH.ISO_8859-15 de_CH.ISO8859-15 +de_DE.ISO_8859-1 de_DE.ISO8859-1 +de_DE.ISO_8859-15 de_DE.ISO8859-15 +el_GR.ISO_8859-7 el_GR.ISO8859-7 +en_AU.ISO_8859-1 en_AU.ISO8859-1 +en_AU.ISO_8859-15 en_AU.ISO8859-15 +en_CA.ISO_8859-1 en_CA.ISO8859-1 +en_CA.ISO_8859-15 en_CA.ISO8859-15 +en_GB.ISO_8859-1 en_GB.ISO8859-1 +en_GB.ISO_8859-15 en_GB.ISO8859-15 +en_NZ.ISO_8859-1 en_NZ.ISO8859-1 +en_NZ.ISO_8859-15 en_NZ.ISO8859-15 +en_US.ISO_8859-1 en_US.ISO8859-1 +en_US.ISO_8859-15 en_US.ISO8859-15 +es_ES.ISO_8859-1 es_ES.ISO8859-1 +es_ES.ISO_8859-15 es_ES.ISO8859-15 +et_EE.ISO_8859-15 et_EE.ISO8859-15 +fi_FI.ISO_8859-1 fi_FI.ISO8859-1 +fi_FI.ISO_8859-15 fi_FI.ISO8859-15 +fr_BE.ISO_8859-1 fr_BE.ISO8859-1 +fr_BE.ISO_8859-15 fr_BE.ISO8859-15 +fr_CA.ISO_8859-1 fr_CA.ISO8859-1 +fr_CA.ISO_8859-15 fr_CA.ISO8859-15 +fr_CH.ISO_8859-1 fr_CH.ISO8859-1 +fr_CH.ISO_8859-15 fr_CH.ISO8859-15 +fr_FR.ISO_8859-1 fr_FR.ISO8859-1 +fr_FR.ISO_8859-15 fr_FR.ISO8859-15 +hr_HR.ISO_8859-2 hr_HR.ISO8859-2 +hu_HU.ISO_8859-2 hu_HU.ISO8859-2 +is_IS.ISO_8859-1 is_IS.ISO8859-1 +is_IS.ISO_8859-15 is_IS.ISO8859-15 +it_CH.ISO_8859-1 it_CH.ISO8859-1 +it_CH.ISO_8859-15 it_CH.ISO8859-15 +it_IT.ISO_8859-1 it_IT.ISO8859-1 +it_IT.ISO_8859-15 it_IT.ISO8859-15 +ja_JP.EUC ja_JP.eucJP +ja_JP.Shift_JIS ja_JP.SJIS +ko_KR.EUC ko_KR.eucKR +la_LN.ASCII la_LN.US-ASCII +la_LN.ISO_8859-1 la_LN.ISO8859-1 +la_LN.ISO_8859-15 la_LN.ISO8859-15 +la_LN.ISO_8859-2 la_LN.ISO8859-2 +la_LN.ISO_8859-4 la_LN.ISO8859-4 +lt_LT.ISO_8859-4 lt_LT.ISO8859-4 +nl_BE.ISO_8859-1 nl_BE.ISO8859-1 +nl_BE.ISO_8859-15 nl_BE.ISO8859-15 +nl_NL.ISO_8859-1 nl_NL.ISO8859-1 +nl_NL.ISO_8859-15 nl_NL.ISO8859-15 +no_NO.ISO_8859-1 no_NO.ISO8859-1 +no_NO.ISO_8859-15 no_NO.ISO8859-15 +pl_PL.ISO_8859-2 pl_PL.ISO8859-2 +pt_PT.ISO_8859-1 pt_PT.ISO8859-1 +pt_PT.ISO_8859-15 pt_PT.ISO8859-15 +ru_SU.CP866 ru_RU.CP866 +ru_RU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.ISO8859-5 ru_RU.ISO8859-5 +ru_SU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.KOI8-R ru_RU.KOI8-R +sk_SK.ISO_8859-2 sk_SK.ISO8859-2 +sl_SI.ISO_8859-2 sl_SI.ISO8859-2 +sv_SE.ISO_8859-1 sv_SE.ISO8859-1 +sv_SE.ISO_8859-15 sv_SE.ISO8859-15 +tr_TR.ISO_8859-9 tr_TR.ISO8859-9 +zh_CN.EUC zh_CN.eucCN diff --git a/etc/locale.deprecated b/etc/locale.deprecated new file mode 100644 index 0000000..cc314ef --- /dev/null +++ b/etc/locale.deprecated @@ -0,0 +1,17 @@ +# $FreeBSD$ +# +# List of deprecated locales +# +# Make sure that deprecated locale directories and their replacements +# are set up correctly. +# +# Format: +# <deprecated_locale> <new_locale> +# +ja_JP.EUC ja_JP.eucJP +ko_KR.EUC ko_KR.eucKR +ru_RU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.CP866 ru_RU.CP866 +ru_SU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.KOI8-R ru_RU.KOI8-R +zh_CN.EUC zh_CN.eucCN diff --git a/etc/login.access b/etc/login.access new file mode 100644 index 0000000..8d20467 --- /dev/null +++ b/etc/login.access @@ -0,0 +1,46 @@ +# $FreeBSD$ +# +# Login access control table. +# +# When someone logs in, the table is scanned for the first entry that +# matches the (user, host) combination, or, in case of non-networked +# logins, the first entry that matches the (user, tty) combination. The +# permissions field of that table entry determines whether the login will +# be accepted or refused. +# +# Format of the login access control table is three fields separated by a +# ":" character: +# +# permission : users : origins +# +# The first field should be a "+" (access granted) or "-" (access denied) +# character. The second field should be a list of one or more login names, +# group names, or ALL (always matches). The third field should be a list +# of one or more tty names (for non-networked logins), host names, domain +# names (begin with "."), host addresses, internet network numbers (end +# with "."), ALL (always matches) or LOCAL (matches any string that does +# not contain a "." character). If you run NIS you can use @netgroupname +# in host or user patterns. +# +# The EXCEPT operator makes it possible to write very compact rules. +# +# The group file is searched only when a name does not match that of the +# logged-in user. Only groups are matched in which users are explicitly +# listed: the program does not look at a user's primary group id value. +# +############################################################################## +# +# Disallow console logins to all but a few accounts. +# +#-:ALL EXCEPT wheel shutdown sync:console +# +# Disallow non-local logins to privileged accounts (group wheel). +# +#-:wheel:ALL EXCEPT LOCAL .win.tue.nl +# +# Some accounts are not allowed to login from anywhere: +# +#-:wsbscaro wsbsecr wsbspac wsbsym wscosor wstaiwde:ALL +# +# All other accounts are allowed to login from anywhere. +# diff --git a/etc/login.conf b/etc/login.conf new file mode 100644 index 0000000..c96dcae --- /dev/null +++ b/etc/login.conf @@ -0,0 +1,316 @@ +# login.conf - login class capabilities database. +# +# Remember to rebuild the database after each change to this file: +# +# cap_mkdb /etc/login.conf +# +# This file controls resource limits, accounting limits and +# default user environment settings. +# +# $FreeBSD$ +# + +# Default settings effectively disable resource limits, see the +# examples below for a starting point to enable them. + +# defaults +# These settings are used by login(1) by default for classless users +# Note that entries like "cputime" set both "cputime-cur" and "cputime-max" + +default:\ + :passwd_format=md5:\ + :copyright=/etc/COPYRIGHT:\ + :welcome=/etc/motd:\ + :setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\ + :path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\ + :nologin=/var/run/nologin:\ + :cputime=unlimited:\ + :datasize=unlimited:\ + :stacksize=unlimited:\ + :memorylocked=unlimited:\ + :memoryuse=unlimited:\ + :filesize=unlimited:\ + :coredumpsize=unlimited:\ + :openfiles=unlimited:\ + :maxproc=unlimited:\ + :sbsize=unlimited:\ + :vmemoryuse=unlimited:\ + :priority=0:\ + :ignoretime@:\ + :umask=022: + + +# +# A collection of common class names - forward them all to 'default' +# (login would normally do this anyway, but having a class name +# here suppresses the diagnostic) +# +standard:\ + :tc=default: +xuser:\ + :tc=default: +staff:\ + :tc=default: +daemon:\ + :tc=default: +news:\ + :tc=default: +dialer:\ + :tc=default: + +# +# Root can always login +# +# N.B. login_getpwclass(3) will use this entry for the root account, +# in preference to 'default'. +root:\ + :ignorenologin:\ + :tc=default: + +# +# Russian Users Accounts. Setup proper environment variables. +# +russian|Russian Users Accounts:\ + :charset=KOI8-R:\ + :lang=ru_RU.KOI8-R:\ + :tc=default: + + +###################################################################### +###################################################################### +## +## Example entries +## +###################################################################### +###################################################################### + +## Example defaults +## These settings are used by login(1) by default for classless users +## Note that entries like "cputime" set both "cputime-cur" and "cputime-max" +# +#default:\ +# :cputime=infinity:\ +# :datasize-cur=22M:\ +# :stacksize-cur=8M:\ +# :memorylocked-cur=10M:\ +# :memoryuse-cur=30M:\ +# :filesize=infinity:\ +# :coredumpsize=infinity:\ +# :maxproc-cur=64:\ +# :openfiles-cur=64:\ +# :priority=0:\ +# :requirehome@:\ +# :umask=022:\ +# :tc=auth-defaults: +# +# +## +## standard - standard user defaults +## +#standard:\ +# :copyright=/etc/COPYRIGHT:\ +# :welcome=/etc/motd:\ +# :setenv=MAIL=/var/mail/$,BLOCKSIZE=K:\ +# :path=~/bin /bin /usr/bin /usr/local/bin:\ +# :manpath=/usr/share/man /usr/local/man:\ +# :nologin=/var/run/nologin:\ +# :cputime=1h30m:\ +# :datasize=8M:\ +# :vmemoryuse=100M:\ +# :stacksize=2M:\ +# :memorylocked=4M:\ +# :memoryuse=8M:\ +# :filesize=8M:\ +# :coredumpsize=8M:\ +# :openfiles=24:\ +# :maxproc=32:\ +# :priority=0:\ +# :requirehome:\ +# :passwordtime=90d:\ +# :umask=002:\ +# :ignoretime@:\ +# :tc=default: +# +# +## +## users of X (needs more resources!) +## +#xuser:\ +# :manpath=/usr/share/man /usr/X11R6/man /usr/local/man:\ +# :cputime=4h:\ +# :datasize=12M:\ +# :vmemoryuse=infinity:\ +# :stacksize=4M:\ +# :filesize=8M:\ +# :memoryuse=16M:\ +# :openfiles=32:\ +# :maxproc=48:\ +# :tc=standard: +# +# +## +## Staff users - few restrictions and allow login anytime +## +#staff:\ +# :ignorenologin:\ +# :ignoretime:\ +# :requirehome@:\ +# :accounted@:\ +# :path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\ +# :umask=022:\ +# :tc=standard: +# +# +## +## root - fallback for root logins +## +#root:\ +# :path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\ +# :cputime=infinity:\ +# :datasize=infinity:\ +# :stacksize=infinity:\ +# :memorylocked=infinity:\ +# :memoryuse=infinity:\ +# :filesize=infinity:\ +# :coredumpsize=infinity:\ +# :openfiles=infinity:\ +# :maxproc=infinity:\ +# :memoryuse-cur=32M:\ +# :maxproc-cur=64:\ +# :openfiles-cur=1024:\ +# :priority=0:\ +# :requirehome@:\ +# :umask=022:\ +# :tc=auth-root-defaults: +# +# +## +## Settings used by /etc/rc +## +#daemon:\ +# :coredumpsize@:\ +# :coredumpsize-cur=0:\ +# :datasize=infinity:\ +# :datasize-cur@:\ +# :maxproc=512:\ +# :maxproc-cur@:\ +# :memoryuse-cur=64M:\ +# :memorylocked-cur=64M:\ +# :openfiles=1024:\ +# :openfiles-cur@:\ +# :stacksize=16M:\ +# :stacksize-cur@:\ +# :tc=default: +# +# +## +## Settings used by news subsystem +## +#news:\ +# :path=/usr/local/news/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\ +# :cputime=infinity:\ +# :filesize=128M:\ +# :datasize-cur=64M:\ +# :stacksize-cur=32M:\ +# :coredumpsize-cur=0:\ +# :maxmemorysize-cur=128M:\ +# :memorylocked=32M:\ +# :maxproc=128:\ +# :openfiles=256:\ +# :tc=default: +# +# +## +## The dialer class should be used for a dialup PPP/SLIP accounts +## Welcome messages/news suppressed +## +#dialer:\ +# :hushlogin:\ +# :requirehome@:\ +# :cputime=unlimited:\ +# :filesize=2M:\ +# :datasize=2M:\ +# :stacksize=4M:\ +# :coredumpsize=0:\ +# :memoryuse=4M:\ +# :memorylocked=1M:\ +# :maxproc=16:\ +# :openfiles=32:\ +# :tc=standard: +# +# +## +## Site full-time 24/7 PPP/SLIP connections +## - no time accounting, restricted to access via dialin lines +## +#site:\ +# :ignoretime:\ +# :passwordtime@:\ +# :refreshtime@:\ +# :refreshperiod@:\ +# :sessionlimit@:\ +# :autodelete@:\ +# :expireperiod@:\ +# :graceexpire@:\ +# :gracetime@:\ +# :warnexpire@:\ +# :warnpassword@:\ +# :idletime@:\ +# :sessiontime@:\ +# :daytime@:\ +# :weektime@:\ +# :monthtime@:\ +# :warntime@:\ +# :accounted@:\ +# :tc=dialer:\ +# :tc=staff: +# +# +## +## Example standard accounting entries for subscriber levels +## +# +#subscriber|Subscribers:\ +# :accounted:\ +# :refreshtime=180d:\ +# :refreshperiod@:\ +# :sessionlimit@:\ +# :autodelete=30d:\ +# :expireperiod=180d:\ +# :graceexpire=7d:\ +# :gracetime=10m:\ +# :warnexpire=7d:\ +# :warnpassword=7d:\ +# :idletime=30m:\ +# :sessiontime=4h:\ +# :daytime=6h:\ +# :weektime=40h:\ +# :monthtime=120h:\ +# :warntime=4h:\ +# :tc=standard: +# +# +## +## Subscriber accounts. These accounts have their login times +## accounted and have access limits applied. +## +#subppp|PPP Subscriber Accounts:\ +# :tc=dialer:\ +# :tc=subscriber: +# +# +#subslip|SLIP Subscriber Accounts:\ +# :tc=dialer:\ +# :tc=subscriber: +# +# +#subshell|Shell Subscriber Accounts:\ +# :tc=subscriber: +# +## +## If you want some of the accounts to use traditional UNIX DES based +## password hashes. +## +#des_users:\ +# :passwd_format=des:\ +# :tc=default: diff --git a/etc/mail/Makefile b/etc/mail/Makefile new file mode 100644 index 0000000..e4323b6 --- /dev/null +++ b/etc/mail/Makefile @@ -0,0 +1,237 @@ +# +# $FreeBSD$ +# +# This Makefile provides an easy way to generate the configuration +# file and database maps for the sendmail(8) daemon. +# +# The user-driven targets are: +# +# all - Build cf, maps and aliases +# cf - Build the .cf file from .mc file +# maps - Build the feature maps +# aliases - Build the sendmail aliases +# install - Install the .cf file as /etc/mail/sendmail.cf +# +# For acting on both the MTA daemon and MSP queue running daemon: +# start - Start both the sendmail MTA daemon and MSP queue running +# daemon with the flags defined in /etc/defaults/rc.conf or +# /etc/rc.conf +# stop - Stop both the sendmail MTA daemon and MSP queue running +# daemon +# restart - Restart both the sendmail MTA daemon and MSP queue running +# daemon +# +# For acting on just the MTA daemon: +# start-mta - Start the sendmail MTA daemon with the flags defined in +# /etc/defaults/rc.conf or /etc/rc.conf +# stop-mta - Stop the sendmail MTA daemon +# restart-mta - Restart the sendmail MTA daemon +# +# For acting on just the MSP queue running daemon: +# start-mspq - Start the sendmail MSP queue running daemon with the +# flags defined in /etc/defaults/rc.conf or /etc/rc.conf +# stop-mspq - Stop the sendmail MSP queue running daemon +# restart-mspq - Restart the sendmail MSP queue running daemon +# +# Calling `make' will generate the updated versions when either the +# aliases or one of the map files were changed. +# +# A `make install` is only necessary after modifying the .mc file. In +# this case one would normally also call `make restart' to allow the +# running sendmail to pick up the changes as well. +# +# ------------------------------------------------------------------------ +# This Makefile uses `<HOSTNAME>.mc' as the default MTA .mc file. This +# can be changed by defining SENDMAIL_MC in /etc/make.conf, e.g.: +# +# SENDMAIL_MC=/etc/mail/myconfig.mc +# +# If '<HOSTNAME>.mc' does not exist, it is created using 'freebsd.mc' +# as a template. +# +# It also uses 'freebsd.submit.mc' as the default mail submission .mc file. +# This can be changed by defining SENDMAIL_SUBMIT_MC in /etc/make.conf, +# e.g.: +# +# SENDMAIL_SUBMIT_MC=/etc/mail/mysubmit.mc +# ------------------------------------------------------------------------ +# +# The Makefile knows about the following maps: +# access, bitdomain, domaintable, genericstable, mailertable, userdb, +# uucpdomain, virtusertable +# + +.ifndef SENDMAIL_MC +SENDMAIL_MC!= hostname +SENDMAIL_MC:= ${SENDMAIL_MC}.mc + +${SENDMAIL_MC}: + cp freebsd.mc ${SENDMAIL_MC} +.endif + +SENDMAIL_SUBMIT_MC?= freebsd.submit.mc + +INSTALL_CF= ${SENDMAIL_MC:R}.cf + +.ifndef SENDMAIL_SET_USER_ID +INSTALL_SUBMIT_CF= ${SENDMAIL_SUBMIT_MC:R}.cf +.endif + +SENDMAIL_ALIASES?= /etc/mail/aliases + +# +# This is the directory where the sendmail configuration files are +# located. +# +.if exists(/usr/share/sendmail/cf) +SENDMAIL_CF_DIR?= /usr/share/sendmail/cf +.elif exists(/usr/src/contrib/sendmail/cf) +SENDMAIL_CF_DIR?= /usr/src/contrib/sendmail/cf +.endif + +# +# The sendmail startup script +# +SENDMAIL_START_SCRIPT?= /etc/rc.sendmail + +# +# Some useful programs we need. +# +SENDMAIL?= /usr/sbin/sendmail +MAKEMAP?= /usr/sbin/makemap +M4?= /usr/bin/m4 + +# Permissions for generated maps +SENDMAIL_MAP_PERMS?= 0640 + +# Set a reasonable default +.MAIN: all + +# +# ------------------------------------------------------------------------ +# +# The Makefile picks up the list of files from SENDMAIL_MAP_SRC and +# stores the matching .db filenames in SENDMAIL_MAP_OBJ if the file +# exists in the current directory. SENDMAIL_MAP_TYPE is the database +# type to use when calling makemap. +# +SENDMAIL_MAP_SRC+= mailertable domaintable bitdomain uucpdomain \ + genericstable virtusertable access +SENDMAIL_MAP_OBJ= +SENDMAIL_MAP_TYPE?= hash + +.for _f in ${SENDMAIL_MAP_SRC} userdb +.if exists(${_f}) +SENDMAIL_MAP_OBJ+= ${_f}.db +.endif +.endfor + +# +# The makemap command is used to generate a hashed map from the textfile. +# +.for _f in ${SENDMAIL_MAP_SRC} +.if (exists(${_f}.sample) && !exists(${_f})) +${_f}: ${_f}.sample + sed -e 's/^/#/' < ${.OODATE} > ${.TARGET} +.endif + +${_f}.db: ${_f} + ${MAKEMAP} ${SENDMAIL_MAP_TYPE} ${.TARGET} < ${.OODATE} + chmod ${SENDMAIL_MAP_PERMS} ${.TARGET} +.endfor + +userdb.db: userdb + ${MAKEMAP} btree ${.TARGET} < ${.OODATE} + chmod ${SENDMAIL_MAP_PERMS} ${.TARGET} + + +# +# The .cf file needs to be recreated if the templates were modified. +# +M4FILES!= find ${SENDMAIL_CF_DIR} -type f -name '*.m4' -print + +# +# M4(1) is used to generate the .cf file from the .mc file. +# +.SUFFIXES: .cf .mc + +.mc.cf: ${M4FILES} + ${M4} -D_CF_DIR_=${SENDMAIL_CF_DIR}/ ${SENDMAIL_M4_FLAGS} \ + ${SENDMAIL_CF_DIR}/m4/cf.m4 ${@:R}.mc > ${.TARGET} + +# +# Aliases are handled separately since they normally reside in /etc +# and can be rebuild without the help of makemap. +# +${SENDMAIL_ALIASES}.db: ${SENDMAIL_ALIASES} + ${SENDMAIL} -bi + chmod ${SENDMAIL_MAP_PERMS} ${.TARGET} + +# +# ------------------------------------------------------------------------ +# + +all: cf maps aliases + +clean: + +depend: + +cf: ${INSTALL_CF} ${INSTALL_SUBMIT_CF} + +.ifdef SENDMAIL_SET_USER_ID +install: install-cf +.else +install: install-cf install-submit-cf +.endif + +install-cf: ${INSTALL_CF} +.if ${INSTALL_CF} != /etc/mail/sendmail.cf + ${INSTALL} -m ${SHAREMODE} ${INSTALL_CF} /etc/mail/sendmail.cf +.endif + + +install-submit-cf: ${INSTALL_SUBMIT_CF} +.ifdef SENDMAIL_SET_USER_ID + @echo ">>> ERROR: You should not create a submit.cf file if you are using a" + @echo " set-user-ID sendmail binary (SENDMAIL_SET_USER_ID is set" + @echo " in make.conf)." + @false +.else +.if ${INSTALL_SUBMIT_CF} != /etc/mail/submit.cf + ${INSTALL} -m ${SHAREMODE} ${INSTALL_SUBMIT_CF} /etc/mail/submit.cf +.endif +.endif + +aliases: ${SENDMAIL_ALIASES}.db + +maps: ${SENDMAIL_MAP_OBJ} + +start start-mta start-mspq: + @if [ -r ${SENDMAIL_START_SCRIPT} ]; then \ + echo -n 'Starting:'; \ + sh ${SENDMAIL_START_SCRIPT} $@; \ + echo '.'; \ + fi + +stop stop-mta stop-mspq: + @if [ -r ${SENDMAIL_START_SCRIPT} ]; then \ + echo -n 'Stopping:'; \ + sh ${SENDMAIL_START_SCRIPT} $@; \ + echo '.'; \ + fi + +restart restart-mta restart-mspq: + @if [ -r ${SENDMAIL_START_SCRIPT} ]; then \ + echo -n 'Restarting:'; \ + sh ${SENDMAIL_START_SCRIPT} $@; \ + echo '.'; \ + fi + +# User defined targets +.if exists(Makefile.local) +.include "Makefile.local" +.endif + +# For the definition of $SHAREMODE +.include <bsd.own.mk> diff --git a/etc/mail/README b/etc/mail/README new file mode 100644 index 0000000..fd7c8f6 --- /dev/null +++ b/etc/mail/README @@ -0,0 +1,58 @@ +# $FreeBSD$ + + Sendmail Processes + +As of sendmail 8.12, in order to improve security, the sendmail binary no +longer needs to be set-user-ID root. Instead, a set-group-ID binary +accepts command line mail and relays it to a full mail transfer agent via +SMTP. A group writable client mail queue (/var/spool/clientmqueue/ by +default) holds the mail if an MTA can not be contacted. + +To accomplish this, under the default setup, an MTA must be listening on +localhost port 25. If the rc.conf sendmail_enable option is set to "NO", +a sendmail daemon will still be started and bound only to the localhost +interface in order to accept command line submitted mail (note that this +does not work inside jail(2) systems as jails do not allow binding to +just the localhost interface). If this is not a desirable solution, it +can be disabled using the sendmail_submit_enable rc.conf option. However, +if both sendmail_enable and sendmail_submit_enable are set to "NO", you +must do one of two things for command line submitted mail: + +1. Designate an alternative host for the submission agent to contact + by altering /etc/mail/freebsd.submit.mc (or setting SENDMAIL_SUBMIT_MC + in /etc/make.conf to an alternate .mc file) and using + 'make install-submit-cf' in /etc/mail/. Change the FEATURE(msp) line + to FEATURE(msp, hostname) where hostname is the fully qualified hostname + of the alternative host. + +Or: + +2. Return to using a set-user-ID root sendmail binary by changing the + ownership and permissions on the sendmail binary and removing the + /etc/mail/submit.cf file: + chown root /usr/libexec/sendmail/sendmail + chmod 4755 /usr/libexec/sendmail/sendmail + rm /etc/mail/submit.cf + If you install from source, set the SENDMAIL_SET_USER_ID flag in + /etc/make.conf. + +Also, as of 8.12, a new queue-running daemon is started to make sure mail +doesn't remain in the client mail queue. By default, it simply runs the +client mail queue every 30 minutes. Its behavior can be adjusted by setting +the sendmail_msp_queue_enable and sendmail_msp_queue_flags rc.conf options. + + + Filtering out SPAM from your site + +Sendmail now includes excellent tools to block spam. These tools are +available as FEATUREs that you can add to your site's .mc file. Proper use +of these FEATUREs will prevent spammer from using your site as a relay as +well as significantly decrease the amount of spam that arrives at your +site. No set of anti-spam tools will block all spam without blocking some +portion of legitimate mail as well. Therefore, these FEATUREs are designed +to prevent as much spam as possible without blocking legitimate mail. + +These tools are discussed in /usr/share/sendmail/cf/README. Read the +section entitled "ANTI-SPAM CONFIGURATION CONTROL". Example usage and +additional tools can be found in /usr/share/sendmail/cf/cf/knecht.mc. + diff --git a/etc/mail/access.sample b/etc/mail/access.sample new file mode 100644 index 0000000..81c7c3f --- /dev/null +++ b/etc/mail/access.sample @@ -0,0 +1,10 @@ +# $FreeBSD$ +# +# Mail relay access control list. Default is to reject mail unless the +# destination is local, or listed in /etc/mail/local-host-names +# +cyberspammer.com 550 We don't accept mail from spammers +FREE.STEALTH.MAILER@ 550 We don't accept mail from spammers +another.source.of.spam REJECT +okay.cyberspammer.com OK +128.32 RELAY diff --git a/etc/mail/aliases b/etc/mail/aliases new file mode 100644 index 0000000..d3b6a2f --- /dev/null +++ b/etc/mail/aliases @@ -0,0 +1,70 @@ +# $FreeBSD$ +# @(#)aliases 5.3 (Berkeley) 5/24/90 +# +# Aliases in this file will NOT be expanded in the header from +# Mail, but WILL be visible over networks. +# +# >>>>>>>>>> The program "newaliases" must be run after +# >> NOTE >> this file is updated for any changes to +# >>>>>>>>>> show through to sendmail. +# +# +# See also RFC 2142, `MAILBOX NAMES FOR COMMON SERVICES, ROLES +# AND FUNCTIONS', May 1997 + +# Pretty much everything else in this file points to "root", so +# you would do well in either reading root's mailbox or forwarding +# root's email from here. + +# root: me@my.domain + +# Basic system aliases -- these MUST be present +MAILER-DAEMON: postmaster +postmaster: root + +# General redirections for pseudo accounts +bin: root +bind: root +daemon: root +games: root +kmem: root +mailnull: postmaster +man: root +news: root +nobody: root +operator: root +pop: root +smmsp: postmaster +sshd: root +system: root +toor: root +tty: root +usenet: news +uucp: root +xten: root + +# Well-known aliases -- these should be filled in! +# manager: +# dumper: + +# BUSINESS-RELATED MAILBOX NAMES +# info: +# marketing: +# sales: +# support: + +# NETWORK OPERATIONS MAILBOX NAMES +abuse: root +# noc: root +security: root + +# SUPPORT MAILBOX NAMES FOR SPECIFIC INTERNET SERVICES +ftp: root +ftp-bugs: ftp +# hostmaster: root +# webmaster: root +# www: webmaster + +# msgs: "| /usr/bin/msgs -s" +# bit-bucket: /dev/null +# dev-null: bit-bucket diff --git a/etc/mail/mailer.conf b/etc/mail/mailer.conf new file mode 100644 index 0000000..3fa6922 --- /dev/null +++ b/etc/mail/mailer.conf @@ -0,0 +1,10 @@ +# $FreeBSD$ +# +# Execute the "real" sendmail program, named /usr/libexec/sendmail/sendmail +# +sendmail /usr/libexec/sendmail/sendmail +send-mail /usr/libexec/sendmail/sendmail +mailq /usr/libexec/sendmail/sendmail +newaliases /usr/libexec/sendmail/sendmail +hoststat /usr/libexec/sendmail/sendmail +purgestat /usr/libexec/sendmail/sendmail diff --git a/etc/mail/mailertable.sample b/etc/mail/mailertable.sample new file mode 100644 index 0000000..d2c45e0 --- /dev/null +++ b/etc/mail/mailertable.sample @@ -0,0 +1,7 @@ +# $FreeBSD$ +# +# List of domains (possibly wildcarded) and destination mailers +# +.my.domain xnet:%1.my.domain +uuhost1.my.domain suucp:uuhost1 +.bitnet smtp:relay.bit.net diff --git a/etc/mail/virtusertable.sample b/etc/mail/virtusertable.sample new file mode 100644 index 0000000..43e2bbb --- /dev/null +++ b/etc/mail/virtusertable.sample @@ -0,0 +1,11 @@ +# $FreeBSD$ +# +# Map one or all usernames at a source hostname to a specific (or the same) +# username at another target hostname. Remember to add the source hostname +# to /etc/mail/local-host-names so that sendmail will accept mail for the +# source hostname. +# +username@a.sample.hostname localuser +username@a.sample.hostname specificuser@a.possibly.different.hostname +@another.sample.hostname specificuser@a.possibly.different.hostname +@yet.another.sample.hostname %1@a.possibly.different.hostname diff --git a/etc/man.alias b/etc/man.alias new file mode 100644 index 0000000..0268403 --- /dev/null +++ b/etc/man.alias @@ -0,0 +1,4 @@ +# $FreeBSD$ + +en.ISO8859-15 en.ISO8859-1 + diff --git a/etc/master.passwd b/etc/master.passwd new file mode 100644 index 0000000..3f9969d --- /dev/null +++ b/etc/master.passwd @@ -0,0 +1,21 @@ +# $FreeBSD$ +# +root::0:0::0:0:Charlie &:/root:/bin/csh +toor:*:0:0::0:0:Bourne-again Superuser:/root: +daemon:*:1:1::0:0:Owner of many system processes:/root:/sbin/nologin +operator:*:2:5::0:0:System &:/:/sbin/nologin +bin:*:3:7::0:0:Binaries Commands and Source:/:/sbin/nologin +tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin +kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin +games:*:7:13::0:0:Games pseudo-user:/usr/games:/sbin/nologin +news:*:8:8::0:0:News Subsystem:/:/sbin/nologin +man:*:9:9::0:0:Mister Man Pages:/usr/share/man:/sbin/nologin +sshd:*:22:22::0:0:Secure Shell Daemon:/var/empty:/sbin/nologin +smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/sbin/nologin +mailnull:*:26:26::0:0:Sendmail Default User:/var/spool/mqueue:/sbin/nologin +bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin +uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico +xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/sbin/nologin +pop:*:68:6::0:0:Post Office Owner:/nonexistent:/sbin/nologin +www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/sbin/nologin +nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/sbin/nologin diff --git a/etc/minfree b/etc/minfree new file mode 100644 index 0000000..c873496 --- /dev/null +++ b/etc/minfree @@ -0,0 +1 @@ +2048 diff --git a/etc/modems b/etc/modems new file mode 100644 index 0000000..422c5ff --- /dev/null +++ b/etc/modems @@ -0,0 +1,34 @@ +# +# $FreeBSD$ +# @(#)modems 3/24/95 +# +# modems -- modem configuration data base file +# see tip(1), modems(5) +# +# dial_command AT command to dial up remote +# echo_off_command AT command to turn off command echo +# escape_guard_time Shroud escape sequence with specified delay (ms) +# escape_sequence Return to command escape sequence +# hangup_command AT command to hangup modem +# hw_flow_control Enable RTS/CTS flow control between DTE/DCE +# intercharacter_delay Delay between characters sent to modem when issuing +# commands +# intercommand_delay Minimum delay between commands to modem +# init_string AT command to initialize modem before dialing out +# lock_baud Use fixed DTE / DCE bit rate +# reset_delay Delay required by modem for reset +# + +sportster|st|US Robotics Sportster 14.4K:dial_command=ATDT%s\r:hangup_command=ATH\r:\ + :echo_off_command=ATE0\r:reset_command=AT&F1\r:\ + :init_string=AT&B1&H1&R2&C1&D2\r:\ + :escape_sequence=+++:hw_flow_control:lock_baud:intercharacter_delay#50:\ + :intercommand_delay#250:escape_guard_time#500:reset_delay#2000: + +mt932|multitech|mt|Multitech 932:dial_command=ATDT%s\r:hangup_command=ATH\r:\ + :echo_off_command=ATE0\r:reset_command=ATZ\r:\ + :init_string=AT$BA0$SB38400&E1&E4&E13&E15Q0V1X4E0S0=0\r:\ + :escape_sequence=+++:hw_flow_control:lock_baud:intercharacter_delay#50:\ + :intercommand_delay#250:escape_guard_time#500:reset_delay#2000: + +generic|Generic AT command modem (use defaults): diff --git a/etc/moduli b/etc/moduli new file mode 100644 index 0000000..6b94e2e --- /dev/null +++ b/etc/moduli @@ -0,0 +1,158 @@ +# $OpenBSD: moduli,v 1.1 2001/06/22 22:07:54 provos Exp $ + +# Time Type Tests Tries Size Generator Modulus +20010328182134 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF5449C221CB +20010328182222 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF5449C95A43 +20010328182256 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF5449CC8CFB +20010328182409 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF5449D9BDB7 +20010328182628 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF5449FB6EF3 +20010328182708 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A000153 +20010328182758 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A06E9EB +20010328182946 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A1F2C93 +20010328183015 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A206ADB +20010328183112 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A2A109B +20010328183143 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A2BC1BB +20010328183301 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A3ADCEB +20010328183532 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A5E8BAF +20010328183646 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A6D54D7 +20010328183712 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544A6EC46F +20010328184223 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544AB8626F +20010328184337 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544AC7DC73 +20010328184634 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544AEFF073 +20010328184714 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544AF594FF +20010328184807 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544AFEEC53 +20010328184910 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B0B3513 +20010328185030 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B165707 +20010328185334 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B3A9673 +20010328185423 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B426623 +20010328185451 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B4427DB +20010328185637 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B5E3FC7 +20010328185720 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B65964B +20010328185757 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B6A9373 +20010328185844 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B7203B3 +20010328185933 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B7A9FFF +20010328190006 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B7DAAD3 +20010328190054 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B855C2F +20010328190139 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B8C53EB +20010328190304 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544B9F26C3 +20010328190329 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544BA00697 +20010328190412 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544BA54313 +20010328190506 2 6 100 1023 5 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544BAEEF27 +20010328190550 2 6 100 1023 2 DCFAC4EFE89F5B082962AB9A67E8D63E84FA491E5D3874978815868595469163DA0661E6208A8C2CD4F83893B53864ADFD2154E8D8EFA146BAD808562E4BF6C90348FD79EEB3387D93FC7943BC450BA55399BA3CF3DFBD0D4E71800007B0E9D5F12E7A2CB7EA4E49812E715F8DC570C478DC2DEB1C49B0AE87A5DF544BB5CE0B +20010328200734 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC33395187 +20010328201124 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC334ED15B +20010328201358 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3359FC07 +20010328201537 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC335F7A83 +20010328201829 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC336D1433 +20010328202120 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC337B253B +20010328202848 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC33A3D43F +20010328203335 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC33BF24A3 +20010328204332 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC34011B8B +20010328204443 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3402A92F +20010328204617 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3406D343 +20010328205458 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3436FA2B +20010328210413 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3471CF1B +20010328213513 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC352AF5EF +20010328215014 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC358CC3CB +20010328215520 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35A9B7FF +20010328215733 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35B2927F +20010328220114 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35C47323 +20010328220334 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35CFA9C3 +20010328220653 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35E0BB37 +20010328220915 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35E9CC23 +20010328221256 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC35FD7D67 +20010328221457 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC36052CCB +20010328222639 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC364A1E07 +20010328224126 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC36AD5557 +20010328225125 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC36EE57BF +20010328225751 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3716A70B +20010328225943 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC371D010B +20010328230054 2 6 100 1534 5 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC371EB5C7 +20010328230301 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC37275F4B +20010328230628 2 6 100 1534 2 6DFD16D9669EDAF42EF5D4EED82AA84B0541DEC2045B6AF55021A184F32BCADE614A114137022C9A8B41C09AFC38199E7305864F70A8708F37FC2127264ECF4FA32391F243CC62B89602D3813082679E5BDF496BA9DFA4C818AD21EC261B6F11841E6F2DE1574CE95095841DAF052868CCD5E9BFCA543E0934B50A76A598E693136DE2D479AEF3785D97BAFF4FB85AB8D46DA424C4CC5E11ABCAF718837E16350982BF8A27728318EC02C71ED164F57CDB121B72614B7B7C406613EC3738C3F3 +20010329000424 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853ACAACAB +20010329001637 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853AE5BE0F +20010329002229 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853AEDE2D3 +20010329003652 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853B0F32CB +20010329005040 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853B30E503 +20010329014643 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853BC9AF57 +20010329021950 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853C205263 +20010329023256 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853C3F2E53 +20010329031049 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853CA28BBF +20010329032045 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853CB81103 +20010329052113 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853DF13B47 +20010329052449 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853DF3ED53 +20010329060404 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853E5D25E7 +20010329062856 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853E9CF013 +20010329063152 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853E9E1CEB +20010329070601 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853EF58B7F +20010329071302 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F017697 +20010329072011 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F0E72D3 +20010329072445 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F14CE17 +20010329073641 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F2EEBA3 +20010329075209 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F52E927 +20010329080750 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853F776F8B +20010329084002 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853FC98043 +20010329084744 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853FD7EAAF +20010329090209 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993853FF9AF5F +20010329093527 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC3499385404E330B +20010329094652 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC349938540672D1F +20010329103445 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC349938540E4B213 +20010329111418 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC34993854144947F +20010329112031 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC3499385414F223B +20010329112413 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC349938541522073 +20010329114209 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC3499385417C8E53 +20010329125026 2 6 100 2046 2 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC3499385422E41AB +20010329132045 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC3499385427DD3FF +20010329134105 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC349938542AFA2D7 +20010329134914 2 6 100 2046 5 7ED0888B660A818F15E5F76A7F2BF10C99D74129DA04446C60116C9C800501060B8AFF075DCE0C08CEFDF695440E6F16FCCDB06359D080EF62D6485CBAEB94B92BE771D535B4EA9C5D14D84CD7649E25C7CFEA2C914486CC2BFDE77C4C0DF1D6DDED65FEE2F53A7FA690AFE38EE00C154FBAEFF935466B176CB0AED02458A552929F4EA7FC3E6F9F758DE7F22CC1F49641F492820441BDC109F0CE18F883FC93EA9AC4C1432682BA1C5B67BED8C861152A5F952A8CDCF1BCE02B8D93E80C113CE9FE2E4ACA49B2978B99A8C5FA231A77F5E7C604D44C7C6EA98D561294D4F7AB061432CAB8BBDCEC3659DE64F65265E6B9FC5F46879BB17CC349938542C04A37 +20010403222140 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0AB16DAF +20010403225231 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0AC56CFF +20010404053436 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0C2F4B7F +20010404092851 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0D04E7F7 +20010404093943 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0D07794B +20010404102659 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0D2BE8CF +20010404112553 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0D5D012B +20010404174625 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0EA59E17 +20010404184645 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0ED6DA4F +20010404193402 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0EFB39B3 +20010404230716 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B0FB07C1B +20010405044433 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B10DD9FC3 +20010405053429 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B11038737 +20010405062826 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B112E24E7 +20010405092601 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B11C9E9FB +20010405113007 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B123803EB +20010405122212 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B12612ED3 +20010405182035 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B13A25087 +20010405210758 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B142C4E23 +20010405220222 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B145878F3 +20010406020130 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B152AF6AB +20010406053538 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B15E78C8B +20010406073014 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1649BFEF +20010406074100 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B164D4E3F +20010406103625 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B16E07B33 +20010406131946 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B17706243 +20010406170234 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B182FD957 +20010406182949 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B18768903 +20010406203157 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B18DCFC3B +20010407022825 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1A1AF797 +20010407071024 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1B1551E7 +20010407112402 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1BF78EC7 +20010407123215 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1C30021B +20010407161504 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1CF27743 +20010407171629 2 6 100 3190 5 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1D25FAD7 +20010407191502 2 6 100 3190 2 669BA3ED661F226A090BE5644A2BB4209371B78FC3E6848A095821993F59084CA5EE12052F977D01F0666F03F6573B199DFEC9AB94588C2C60DE3B3E7CF5094587919FCC3FB40A61C261E891A0F91D9FFC8F30CA12CF809DD8290DD786FA8B041FFAC5793C38F38757EA6790472AC2692185B554B0046E8C065C983C0ACC8D2F85AB4BEDF7CE233009218C9691FE44261580D4149F1D4471B0B5DF79E224252474EBC3B7B5490950BB438BF498E79F8794498B3A3B5FBB42829C3BBEA4067F28C23BE40377B986BD5443CCCF02405B8CCCAA09E8179F0168D4969994171A6AD98F81015BC84E10A44E1EFD2E0862C5D1AAFE99014715A36800DBD9A6C51C0226CC82A651DAE4F73D54C4D103C13D1C15CF8CCA67D5CB39F03C66F3B7467F8FFDCC5074CD0C1B2538FBF956971BF39314CEDD20E1B10DE16D86E10BE7FA5B1A706AEB4C356F49807A22072CD00559AF0A863788956651919E26A315EAD1D26E7C98FC4CFA35A0F04DD400A2991A1FFE5B271FEDE54375896A29F968BE1D511BA466A92AC3E3772709FC815B1D8C2753 +20010420002705 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10C1E08F3 +20010420005243 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10C219FB3 +20010420035225 2 6 100 4094 5 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10C660B3F +20010420145749 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10D741313 +20010420205718 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10DD41193 +20010420232458 2 6 100 4094 5 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10E0AB4EF +20010421003952 2 6 100 4094 5 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10E22F857 +20010421013245 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10E31828B +20010421085157 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10EE28B2B +20010421092617 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10EE97A3B +20010421135621 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C10F52C463 +20010422012438 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C110627AF3 +20010422042530 2 6 100 4094 2 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C110A793B3 +20010422163438 2 6 100 4094 5 65B5B9F5ECFADB4CCB38D1BC894302E95B4843290F1A7A40579DF3E2FF98C1D3DA9F210857C784433DF32ADF9E0C80121211690E1FFB41B8DB4E86AFE388A09C9BB2C98EDC581C2E65D57F61BB920C3D1B7B058B5FADFF65D607DAFF443B8BA1ACE1A3A7B16EA0713F62537C6689E3C4A0F61198F3B054FCF140CFADD8622C0E7621998331E59DA6F72E9D608D0E58F526E95F485C7CA30A416617DA3CCFF722BB82362606283D054B34B83ECDB4C91BAB835944010EBE5E9FA7B016ED89891DD553CC71B5CF76EDB2A184B377F670D6AF191763EEFD175E48EA37EE18B9E44E2D017D845C444C8111816819866E490B52F7F879A0C6F401CF7859674F93E304365F4E8CB8C312EFB725732A46D7CF0C9D2939AEE25F428CEFC90959DBF8ADD612F343EF9BFCA2FBA61BD4BF93E1E54626D227FDA812E18D071579AB4EEAC9901DAB183BCB0D9F48732D92CE66B386EAE5D8212C9FD156DC3F09B171B5603E17A468D244F3B6880EBCDA189BA9E23E4A4C6C2995ACF264F8CE9D54B27316343C0BC19221F75E6A2AC68011741695E599F73460B7A042E0461DB189CDCE223B40336BF2251AE3B363159960C9F63B47EFC43790D474DABB9A686DAF21E0DD76533749FCA9F144FA9C243CEF1364C79D981ED81DC4635C73B7F8908BA190AA920ED370F815BC2F9B3D28ED87BE34A01498836222C17B70C246C03CA1C111D2A227 diff --git a/etc/motd b/etc/motd new file mode 100644 index 0000000..6ab0fe9 --- /dev/null +++ b/etc/motd @@ -0,0 +1,24 @@ +FreeBSD ?.?.? (UNKNOWN) + +Welcome to FreeBSD! + +Before seeking technical support, please use the following resources: + +o Security advisories and updated errata information for all releases are + at http://www.FreeBSD.org/releases/ - always consult the ERRATA section + for your release first as it's updated frequently. + +o The Handbook and FAQ documents are at http://www.FreeBSD.org/ and, + along with the mailing lists, can be searched by going to + http://www.FreeBSD.org/search/. If the doc distribution has + been installed, they're also available formatted in /usr/share/doc. + +If you still have a question or problem, please take the output of +`uname -a', along with any relevant error messages, and email it +as a question to the questions@FreeBSD.org mailing list. If you are +unfamiliar with FreeBSD's directory layout, please refer to the hier(7) +man page. If you are not familiar with man pages, type `man man'. + +You may also use sysinstall(8) to re-enter the installation and +configuration utility. Edit /etc/motd to change this login announcement. + diff --git a/etc/mtree/BSD.include.dist b/etc/mtree/BSD.include.dist new file mode 100644 index 0000000..ace2705 --- /dev/null +++ b/etc/mtree/BSD.include.dist @@ -0,0 +1,146 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + arpa + .. + cam + scsi + .. + .. + dev + an + .. + ic + .. + ppbus + .. + usb + .. + wi + .. + .. + fs + devfs + .. + fdescfs + .. + fifofs + .. + msdosfs + .. + ntfs + .. + nullfs + .. + nwfs + .. + portalfs + .. + procfs + .. + smbfs + .. + umapfs + .. + unionfs + .. + .. + g++ + backward + .. + bits + .. + ext + .. + .. + isc + .. + isofs + cd9660 + .. + .. + libmilter + .. + machine + pc + .. + .. + net + .. + netatalk + .. + netatm + ipatm + .. + sigpvc + .. + spans + .. + uni + .. + .. + netgraph + .. + netinet + .. + netinet6 + .. + netipx + .. + netkey + .. + netnatm + .. + netncp + .. + netns + .. + netsmb + .. + nfs + .. + nfsclient + .. + nfsserver + .. + objc + .. + openssl + .. + pccard + .. + posix4 + .. + protocols + .. + readline + .. + rpc + .. + rpcsvc + .. + security + lomac + .. + mac_biba + .. + mac_bsdextended + .. + mac_mls + .. + .. + sys + .. + ufs + ffs + .. + ufs + .. + .. + vm + .. +.. diff --git a/etc/mtree/BSD.local.dist b/etc/mtree/BSD.local.dist new file mode 100644 index 0000000..8a49f4a --- /dev/null +++ b/etc/mtree/BSD.local.dist @@ -0,0 +1,416 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + bin + .. + etc + pam.d + .. + rc.d + .. + .. + include + .. + info + .. + lib + perl5 + 5.6.1 + man + man3 + .. + .. + .. + site_perl + 5.6.1 + auto + .. + mach + auto + .. + .. + .. + .. + .. + .. + libdata + .. + libexec + .. + man +/set uname=man + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. + de.ISO8859-1 uname=root + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. +/set uname=root + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + en.ISO8859-1 +/set uname=man + cat1 + .. + cat1aout + .. + cat2 + .. + cat3 + .. + cat4 + alpha + .. + i386 + .. + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + alpha + .. + i386 + .. + .. + cat9 + i386 + .. + .. + catn + .. + .. + ja uname=root + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. +/set uname=root + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + sbin + .. + share + aclocal + .. + dict + .. + doc + ja + .. + .. + emacs + site-lisp + .. + .. + examples + .. + java + classes + .. + .. + misc + .. + nls + C + .. + af_ZA.ISO8859-1 + .. + af_ZA.ISO8859-15 + .. + bg_BG.CP1251 + .. + cs_CZ.ISO8859-2 + .. + da_DK.ISO8859-1 + .. + da_DK.ISO8859-15 + .. + de_AT.ISO8859-1 + .. + de_AT.ISO8859-15 + .. + de_CH.ISO8859-1 + .. + de_CH.ISO8859-15 + .. + de_DE.ISO8859-1 + .. + de_DE.ISO8859-15 + .. + el_GR.ISO8859-7 + .. + en_AU.ISO8859-1 + .. + en_AU.ISO8859-15 + .. + en_AU.US-ASCII + .. + en_CA.ISO8859-1 + .. + en_CA.ISO8859-15 + .. + en_CA.US-ASCII + .. + en_GB.ISO8859-1 + .. + en_GB.ISO8859-15 + .. + en_GB.US-ASCII + .. + en_NZ.ISO8859-1 + .. + en_NZ.ISO8859-15 + .. + en_NZ.US-ASCII + .. + en_US.ISO8859-1 + .. + en_US.ISO8859-15 + .. + es_ES.ISO8859-1 + .. + es_ES.ISO8859-15 + .. + et_EE.ISO8859-15 + .. + fi_FI.ISO8859-1 + .. + fi_FI.ISO8859-15 + .. + fr_BE.ISO8859-1 + .. + fr_BE.ISO8859-15 + .. + fr_CA.ISO8859-1 + .. + fr_CA.ISO8859-15 + .. + fr_CH.ISO8859-1 + .. + fr_CH.ISO8859-15 + .. + fr_FR.ISO8859-1 + .. + fr_FR.ISO8859-15 + .. + hi_IN.ISCII-DEV + .. + hr_HR.ISO8859-2 + .. + hu_HU.ISO8859-2 + .. + is_IS.ISO8859-1 + .. + is_IS.ISO8859-15 + .. + it_CH.ISO8859-1 + .. + it_CH.ISO8859-15 + .. + it_IT.ISO8859-1 + .. + it_IT.ISO8859-15 + .. + ja_JP.SJIS + .. + ja_JP.eucJP + .. + ko_KR.eucKR + .. + la_LN.ISO8859-1 + .. + la_LN.ISO8859-15 + .. + la_LN.ISO8859-2 + .. + la_LN.ISO8859-4 + .. + la_LN.US-ASCII + .. + lt_LT.ISO8859-4 + .. + nl_BE.ISO8859-1 + .. + nl_BE.ISO8859-15 + .. + nl_NL.ISO8859-1 + .. + nl_NL.ISO8859-15 + .. + no_NO.ISO8859-1 + .. + no_NO.ISO8859-15 + .. + pl_PL.ISO8859-2 + .. + pt_BR.ISO8859-1 + .. + pt_PT.ISO8859-1 + .. + pt_PT.ISO8859-15 + .. + ro_RO.ISO8859-2 + .. + ru_RU.CP866 + .. + ru_RU.ISO8859-5 + .. + ru_RU.KOI8-R + .. + sk_SK.ISO8859-2 + .. + sl_SI.ISO8859-2 + .. + sv_SE.ISO8859-1 + .. + sv_SE.ISO8859-15 + .. + tr_TR.ISO8859-9 + .. + uk_UA.ISO8859-5 + .. + uk_UA.KOI8-U + .. + zh_CN.eucCN + .. + zh_TW.Big5 + .. + .. + sgml + .. + skel + .. + xml + .. + .. +.. diff --git a/etc/mtree/BSD.release.dist b/etc/mtree/BSD.release.dist new file mode 100644 index 0000000..952aace --- /dev/null +++ b/etc/mtree/BSD.release.dist @@ -0,0 +1,22 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + filesys + .. + floppies + .. + tarballs + bindist + .. + objdist + .. + secrdist + .. + srcdist + .. + .. +.. diff --git a/etc/mtree/BSD.root.dist b/etc/mtree/BSD.root.dist new file mode 100644 index 0000000..85ef433 --- /dev/null +++ b/etc/mtree/BSD.root.dist @@ -0,0 +1,80 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + bin + .. + boot + defaults + .. + kernel + .. + modules + .. + .. + dev + fd mode=0555 + .. + .. + etc + X11 + .. + defaults + .. + gnats + .. + isdn mode=0700 + .. + kerberosIV + .. + mail + .. + mtree + .. + namedb +# leave commented out until buildworld/installworld can +# handle new user ids +# s uname=bind gname=bind mode=0750 +# .. + .. + pam.d + .. + periodic + daily + .. + monthly + .. + security + .. + weekly + .. + .. + ppp + .. + rc.d + .. + skel + .. + ssh + .. + ssl + .. + .. + mnt + .. + proc mode=0555 + .. + root + .. + sbin + .. + tmp mode=01777 + .. + usr + .. + var + .. +.. diff --git a/etc/mtree/BSD.sendmail.dist b/etc/mtree/BSD.sendmail.dist new file mode 100644 index 0000000..14fbd6f --- /dev/null +++ b/etc/mtree/BSD.sendmail.dist @@ -0,0 +1,14 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. nochange + var nochange + spool nochange + clientmqueue uname=smmsp gname=smmsp mode=0770 + .. + .. + .. +.. diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist new file mode 100644 index 0000000..ced5cbd --- /dev/null +++ b/etc/mtree/BSD.usr.dist @@ -0,0 +1,906 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + bin + .. + games + hide gname=games mode=0550 + .. + .. + include + .. + lib + aout + .. + compat + aout + .. + .. + .. + libdata + doscmd + fonts + .. + .. + gcc + .. + ldscripts + .. + lint + .. + msdosfs + .. + stallion + .. + .. + libexec + aout + .. + elf + .. + lpr + ru + .. + .. + sendmail + .. + sm.bin + .. + .. + local + .. + obj nochange + .. + sbin + .. + share + calendar + de_DE.ISO8859-1 + .. + fr_FR.ISO8859-1 + .. + hr_HR.ISO8859-2 + .. + ru_RU.KOI8-R + .. + .. + dict + .. + doc + IPv6 + .. + bind + html + .. + misc + .. + .. + ncurses + .. + ntp + .. + papers + .. + psd + 01.cacm + .. + 02.implement + .. + 03.iosys + .. + 04.uprog + .. + 05.sysman + .. + 06.Clang + .. + 12.make + .. + 13.rcs + .. + 14.sccs + .. + 15.yacc + .. + 16.lex + .. + 17.m4 + .. + 18.gprof + .. + 20.ipctut + .. + 21.ipc + .. + 22.rpcgen + .. + 23.rpc + .. + 24.xdr + .. + 25.xdrrfc + .. + 26.rpcrfc + .. + 27.nfsrfc + .. + 28.cvs + .. + .. + smm + 01.setup + .. + 02.config + .. + 03.fsck + .. + 04.quotas + .. + 05.fastfs + .. + 06.nfs + .. + 07.lpd + .. + 08.sendmailop + .. + 10.named + .. + 11.timedop + .. + 12.timed + .. + 18.net + .. + .. + usd + 04.csh + .. + 07.mail + .. + 10.exref + .. + 11.edit + .. + 12.vi + .. + 13.viref + .. + 18.msdiffs + .. + 19.memacros + .. + 20.meref + .. + 21.troff + .. + 22.trofftut + .. + 30.rogue + .. + 31.trek + .. + .. + .. + examples + BSD_daemon + .. + FreeBSD_version + .. + IPv6 + .. + atm + .. + bc + .. + bootforth + .. + cvs + contrib + .. + .. + cvsup + .. + dialog + .. + diskless + .. + drivers + .. + etc + defaults + .. + .. + find_interface + .. + ibcs2 + .. + ipfilter + .. + ipfw + .. + isdn + contrib + .. + i4brunppp + .. + v21 + .. + .. + kld + cdev + module + .. + test + .. + .. + dyn_sysctl + .. + syscall + module + .. + test + .. + .. + .. + libdialog + .. + libvgl + .. + mdoc + .. + meteor + .. + netgraph + .. + nwclient + .. + perfmon + .. + portal + .. + ppi + .. + ppp + .. + pppd + .. + printing + .. + scsi_target + .. + ses + getencstat + .. + sesd + .. + setencstat + .. + setobjstat + .. + srcs + .. + .. + slattach + .. + sliplogin + .. + smbfs + print + .. + .. + startslip + .. + sunrpc + dir + .. + msg + .. + sort + .. + .. + tcsh + .. + worm + .. + .. + games + atc + .. + fortune + .. + larn + .. + quiz.db + .. + .. + groff_font + devX100 + .. + devX100-12 + .. + devX75 + .. + devX75-12 + .. + devascii + .. + devcp1047 + .. + devdvi + .. + devhtml + .. + devkoi8-r + .. + devlatin1 + .. + devlbp + .. + devlj4 + .. + devps + .. + devutf8 + .. + .. + info + .. + isdn + .. + locale + af_ZA.ISO8859-1 + .. + af_ZA.ISO8859-15 + .. + bg_BG.CP1251 + .. + cs_CZ.ISO8859-2 + .. + da_DK.ISO8859-1 + .. + da_DK.ISO8859-15 + .. + de_AT.ISO8859-1 + .. + de_AT.ISO8859-15 + .. + de_CH.ISO8859-1 + .. + de_CH.ISO8859-15 + .. + de_DE.ISO8859-1 + .. + de_DE.ISO8859-15 + .. + el_GR.ISO8859-7 + .. + en_AU.ISO8859-1 + .. + en_AU.ISO8859-15 + .. + en_AU.US-ASCII + .. + en_CA.ISO8859-1 + .. + en_CA.ISO8859-15 + .. + en_CA.US-ASCII + .. + en_GB.ISO8859-1 + .. + en_GB.ISO8859-15 + .. + en_GB.US-ASCII + .. + en_NZ.ISO8859-1 + .. + en_NZ.ISO8859-15 + .. + en_NZ.US-ASCII + .. + en_US.ISO8859-1 + .. + en_US.ISO8859-15 + .. + en_US.US-ASCII + .. + es_ES.ISO8859-1 + .. + es_ES.ISO8859-15 + .. + et_EE.ISO8859-15 + .. + fi_FI.ISO8859-1 + .. + fi_FI.ISO8859-15 + .. + fr_BE.ISO8859-1 + .. + fr_BE.ISO8859-15 + .. + fr_CA.ISO8859-1 + .. + fr_CA.ISO8859-15 + .. + fr_CH.ISO8859-1 + .. + fr_CH.ISO8859-15 + .. + fr_FR.ISO8859-1 + .. + fr_FR.ISO8859-15 + .. + hi_IN.ISCII-DEV + .. + hr_HR.ISO8859-2 + .. + hu_HU.ISO8859-2 + .. + is_IS.ISO8859-1 + .. + is_IS.ISO8859-15 + .. + it_CH.ISO8859-1 + .. + it_CH.ISO8859-15 + .. + it_IT.ISO8859-1 + .. + it_IT.ISO8859-15 + .. + ja_JP.SJIS + .. + ja_JP.eucJP + .. + ko_KR.eucKR + .. + la_LN.ISO8859-1 + .. + la_LN.ISO8859-15 + .. + la_LN.ISO8859-2 + .. + la_LN.ISO8859-4 + .. + la_LN.US-ASCII + .. + lt_LT.ISO8859-4 + .. + nl_BE.ISO8859-1 + .. + nl_BE.ISO8859-15 + .. + nl_NL.ISO8859-1 + .. + nl_NL.ISO8859-15 + .. + no_NO.ISO8859-1 + .. + no_NO.ISO8859-15 + .. + pl_PL.ISO8859-2 + .. + pt_BR.ISO8859-1 + .. + pt_PT.ISO8859-1 + .. + pt_PT.ISO8859-15 + .. + ro_RO.ISO8859-2 + .. + ru_RU.CP866 + .. + ru_RU.ISO8859-5 + .. + ru_RU.KOI8-R + .. + sk_SK.ISO8859-2 + .. + sl_SI.ISO8859-2 + .. + sv_SE.ISO8859-1 + .. + sv_SE.ISO8859-15 + .. + tr_TR.ISO8859-9 + .. + uk_UA.ISO8859-5 + .. + uk_UA.KOI8-U + .. + zh_CN.eucCN + .. + zh_TW.Big5 + .. + .. + man +/set uname=man + cat1 + .. + cat1aout + .. + cat2 + .. + cat3 + .. + cat4 + alpha + .. + i386 + .. + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + alpha + .. + i386 + .. + .. + cat9 + i386 + .. + .. + catn + .. + en.ISO8859-1 uname=root + cat1 + .. + cat1aout + .. + cat2 + .. + cat3 + .. + cat4 + alpha + .. + i386 + .. + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + alpha + .. + i386 + .. + .. + cat9 + i386 + .. + .. + catn + .. + .. + ja uname=root + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catn + .. +/set uname=root + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + mann + .. + .. + man1 + .. + man1aout + .. + man2 + .. + man3 + .. + man4 + alpha + .. + i386 + .. + .. + man5 + .. + man6 + .. + man7 + .. + man8 + alpha + .. + i386 + .. + .. + man9 + i386 + .. + .. + mann + .. + .. + me + .. + misc + fonts + .. + pcvtfonts + .. + .. + mk + .. + nls + C + .. + af_ZA.ISO8859-1 + .. + af_ZA.ISO8859-15 + .. + bg_BG.CP1251 + .. + cs_CZ.ISO8859-2 + .. + da_DK.ISO8859-1 + .. + da_DK.ISO8859-15 + .. + de_AT.ISO8859-1 + .. + de_AT.ISO8859-15 + .. + de_CH.ISO8859-1 + .. + de_CH.ISO8859-15 + .. + de_DE.ISO8859-1 + .. + de_DE.ISO8859-15 + .. + el_GR.ISO8859-7 + .. + en_AU.ISO8859-1 + .. + en_AU.ISO8859-15 + .. + en_AU.US-ASCII + .. + en_CA.ISO8859-1 + .. + en_CA.ISO8859-15 + .. + en_CA.US-ASCII + .. + en_GB.ISO8859-1 + .. + en_GB.ISO8859-15 + .. + en_GB.US-ASCII + .. + en_NZ.ISO8859-1 + .. + en_NZ.ISO8859-15 + .. + en_NZ.US-ASCII + .. + en_US.ISO8859-1 + .. + en_US.ISO8859-15 + .. + es_ES.ISO8859-1 + .. + es_ES.ISO8859-15 + .. + et_EE.ISO8859-15 + .. + fi_FI.ISO8859-1 + .. + fi_FI.ISO8859-15 + .. + fr_BE.ISO8859-1 + .. + fr_BE.ISO8859-15 + .. + fr_CA.ISO8859-1 + .. + fr_CA.ISO8859-15 + .. + fr_CH.ISO8859-1 + .. + fr_CH.ISO8859-15 + .. + fr_FR.ISO8859-1 + .. + fr_FR.ISO8859-15 + .. + hi_IN.ISCII-DEV + .. + hr_HR.ISO8859-2 + .. + hu_HU.ISO8859-2 + .. + is_IS.ISO8859-1 + .. + is_IS.ISO8859-15 + .. + it_CH.ISO8859-1 + .. + it_CH.ISO8859-15 + .. + it_IT.ISO8859-1 + .. + it_IT.ISO8859-15 + .. + ja_JP.SJIS + .. + ja_JP.eucJP + .. + ko_KR.eucKR + .. + la_LN.ISO8859-1 + .. + la_LN.ISO8859-15 + .. + la_LN.ISO8859-2 + .. + la_LN.ISO8859-4 + .. + la_LN.US-ASCII + .. + lt_LT.ISO8859-4 + .. + nl_BE.ISO8859-1 + .. + nl_BE.ISO8859-15 + .. + nl_NL.ISO8859-1 + .. + nl_NL.ISO8859-15 + .. + no_NO.ISO8859-1 + .. + no_NO.ISO8859-15 + .. + pl_PL.ISO8859-2 + .. + pt_BR.ISO8859-1 + .. + pt_PT.ISO8859-1 + .. + pt_PT.ISO8859-15 + .. + ro_RO.ISO8859-2 + .. + ru_RU.CP866 + .. + ru_RU.ISO8859-5 + .. + ru_RU.KOI8-R + .. + sk_SK.ISO8859-2 + .. + sl_SI.ISO8859-2 + .. + sv_SE.ISO8859-1 + .. + sv_SE.ISO8859-15 + .. + tr_TR.ISO8859-9 + .. + uk_UA.ISO8859-5 + .. + uk_UA.KOI8-U + .. + zh_CN.eucCN + .. + zh_TW.Big5 + .. + .. + pcvt + Doc + .. + Etc + .. + .. + sendmail + .. + skel + .. + syscons + fonts + .. + keymaps + .. + scrnmaps + .. + .. + tabset + .. + tmac + mdoc + .. + mm + .. + .. + vi + catalog + .. + .. + zoneinfo + Africa + .. + America + Indiana + .. + Kentucky + .. + North_Dakota + .. + .. + Antarctica + .. + Arctic + .. + Asia + .. + Atlantic + .. + Australia + .. + Etc + .. + Europe + .. + Indian + .. + Pacific + .. + SystemV + .. + .. + .. + src nochange + .. +.. diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist new file mode 100644 index 0000000..26a4205 --- /dev/null +++ b/etc/mtree/BSD.var.dist @@ -0,0 +1,90 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + account + .. + at +/set uname=daemon + jobs + .. + spool + .. +/set uname=root + .. +/set mode=0750 + backups + .. + crash + .. + cron + tabs mode=0700 + .. + .. +/set mode=0755 + db + entropy uname=operator gname=operator mode=0700 + .. + ipf mode=0700 + .. + pkg + .. + .. + empty mode=0555 flags=schg + .. +/set gname=games mode=0775 + games + hackdir mode=0770 + save mode=0770 + .. + .. + larn + .. + phantasia + .. + .. +/set gname=wheel mode=0755 + heimdal mode=0700 + .. + log + .. + mail gname=mail mode=0775 + .. + msgs uname=daemon + .. + preserve + .. + run + named uname=bind gname=bind + .. + ppp gname=network mode=0770 + .. + .. + rwho gname=daemon mode=0775 + .. + spool + lock uname=uucp gname=dialer mode=0775 + .. +/set gname=daemon + lpd + .. + mqueue + .. + opielocks mode=0700 + .. + output + lpd + .. + .. +/set gname=wheel + .. + tmp mode=01777 + vi.recover mode=01777 + .. + .. + yp + .. +.. diff --git a/etc/mtree/BSD.x11-4.dist b/etc/mtree/BSD.x11-4.dist new file mode 100644 index 0000000..dca7d08 --- /dev/null +++ b/etc/mtree/BSD.x11-4.dist @@ -0,0 +1,420 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + bin + .. + etc + rc.d + .. + .. + include + DPS + .. + GL + .. + X11 + ICE + .. + PEX5 + .. + PM + .. + SM + .. + Xaw + .. + Xft + .. + Xmu + .. + bitmaps + .. + extensions + .. + fonts + codeconv + .. + .. + pixmaps + .. + .. + bitmaps + .. + freetype2 + freetype + cache + .. + config + .. + internal + .. + .. + .. + .. + info + .. + lib + X11 + XF86Setup + pics + .. + scripts + .. + tcllib + .. + .. + app-defaults + .. + config + .. + doc + PostScript + .. + html + .. + .. + etc + .. + fonts + 100dpi + .. + 75dpi + .. + CID + .. + PEX + .. + Speedo + .. + Type1 + .. + cyrillic + .. + encodings + large + .. + .. + latin2 + 100dpi + .. + 75dpi + .. + .. + local + .. + misc + .. + util + .. + .. + fs + .. + lbxproxy + .. + locale + C + .. + armscii-8 + .. + en_US.UTF-8 + .. + en_US.utf + .. + georgian-academy + .. + georgian-ps + .. + ibm-cp1133 + .. + iscii-dev + .. + isiri-3342 + .. + iso8859-1 + .. + iso8859-10 + .. + iso8859-13 + .. + iso8859-14 + .. + iso8859-15 + .. + iso8859-2 + .. + iso8859-3 + .. + iso8859-4 + .. + iso8859-5 + .. + iso8859-6 + .. + iso8859-7 + .. + iso8859-8 + .. + iso8859-9 + .. + iso8859-9e + .. + ja + .. + ja.JIS + .. + ja.SJIS + .. + ko + .. + koi8-c + .. + koi8-r + .. + koi8-u + .. + microsoft-cp1251 + .. + microsoft-cp1255 + .. + microsoft-cp1256 + .. + mk_MK.UTF-8 + .. + mulelao-1 + .. + nokhchi-1 + .. + tatar-cyr + .. + tbl_data + .. + th_TH + .. + th_TH.TACTIS + .. + tscii-0 + .. + vi_VN.tcvn + .. + vi_VN.viscii + .. + zh + .. + zh_CN.gbk + .. + zh_HK.big5hkscs + .. + zh_TW + .. + zh_TW.Big5 + .. + .. + proxymngr + .. + rstart + commands + x11r6 + .. + .. + contexts + .. + .. + twm + .. + x11perfcomp + .. + xdm + pixmaps + .. + .. + xinit + .. + xkb + compat + .. + compiled + .. + geometry + digital + .. + sgi + .. + .. + keycodes + digital + .. + sgi + .. + .. + keymap + digital + .. + sgi + .. + sun + .. + .. + rules + .. + semantics + .. + symbols + digital + .. + fujitsu + .. + hp + .. + macintosh + .. + nec + .. + sgi + .. + sony + .. + sun + .. + xfree68 + .. + .. + types + .. + .. + xserver + .. + xsm + .. + .. + aout + .. + modules + codeconv + .. + dri + .. + drivers + .. + extensions + .. + fonts + .. + freebsd + .. + input + .. + .. + .. + libdata + .. + libexec + .. + man +/set uname=man + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. + ja uname=root + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. +/set uname=root + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + share + aclocal + .. + doc + ja + .. + .. + examples + .. + .. +.. diff --git a/etc/mtree/BSD.x11.dist b/etc/mtree/BSD.x11.dist new file mode 100644 index 0000000..ef33781 --- /dev/null +++ b/etc/mtree/BSD.x11.dist @@ -0,0 +1,302 @@ +# $FreeBSD$ +# +# Please see the file src/etc/mtree/README before making changes to this file. +# + +/set type=dir uname=root gname=wheel mode=0755 +. + bin + .. + etc + rc.d + .. + .. + include + X11 + ICE + .. + PEX5 + .. + PM + .. + SM + .. + Xaw + .. + Xmu + .. + bitmaps + .. + extensions + .. + fonts + .. + pixmaps + .. + .. + .. + info + .. + lib + X11 + XF86Setup + pics + .. + scripts + .. + tcllib + .. + .. + app-defaults + .. + config + .. + doc + .. + etc + .. + fonts + 100dpi + .. + 75dpi + .. + PEX + .. + Speedo + .. + Type1 + .. + cyrillic + .. + local + .. + misc + .. + .. + fs + .. + lbxproxy + .. + locale + C + .. + en_US.utf + .. + iso8859-1 + .. + iso8859-2 + .. + iso8859-3 + .. + iso8859-4 + .. + iso8859-5 + .. + iso8859-6 + .. + iso8859-7 + .. + iso8859-8 + .. + iso8859-9 + .. + ja + .. + ja.JIS + .. + ja.SJIS + .. + ko + .. + koi8-r + .. + tbl_data + .. + th_TH.TACTIS + .. + zh + .. + zh_TW + .. + zh_TW.Big5 + .. + .. + proxymngr + .. + rstart + commands + x11r6 + .. + .. + contexts + .. + .. + twm + .. + x11perfcomp + .. + xdm + .. + xinit + .. + xkb + compat + .. + compiled + .. + geometry + digital + .. + sgi + .. + .. + keycodes + digital + .. + sgi + .. + .. + keymap + digital + .. + sgi + .. + sun + .. + .. + rules + .. + semantics + .. + symbols + digital + .. + fujitsu + .. + nec + .. + sony + .. + sun + .. + .. + .. + xserver + .. + xsm + .. + .. + aout + .. + modules + .. + .. + libdata + .. + libexec + .. + man +/set uname=man + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. + ja uname=root + cat1 + .. + cat2 + .. + cat3 + .. + cat4 + .. + cat5 + .. + cat6 + .. + cat7 + .. + cat8 + .. + cat9 + .. + catl + .. + catn + .. +/set uname=root + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + man1 + .. + man2 + .. + man3 + .. + man4 + .. + man5 + .. + man6 + .. + man7 + .. + man8 + .. + man9 + .. + manl + .. + mann + .. + .. + share + aclocal + .. + doc + ja + .. + .. + examples + .. + .. +.. diff --git a/etc/mtree/Makefile b/etc/mtree/Makefile new file mode 100644 index 0000000..f5c6b97 --- /dev/null +++ b/etc/mtree/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +FILES= BSD.include.dist BSD.local.dist BSD.root.dist BSD.usr.dist \ + BSD.var.dist BSD.x11-4.dist BSD.x11.dist +NOOBJ= noobj +FILESDIR= /etc/mtree + +.include <bsd.prog.mk> diff --git a/etc/mtree/README b/etc/mtree/README new file mode 100644 index 0000000..0e803a0 --- /dev/null +++ b/etc/mtree/README @@ -0,0 +1,50 @@ +$FreeBSD$ + +Note: If you modify these files, please keep hier(7) updated! + +These files are used to create empty file hierarchies for building the +system into. Some notes about working with them are placed here to try +and keep them in good working order. + + a) The files use 4 space indentation, and other than in the header + comments, should not contain any tabs. An indentation of 4 is + preferable to the standard indentation of 8 because the indentation + of levels in these files can become quite deep causing the line to + overflow 80 characters. + + This also matches with the files generated when using the + mtree -c option, which was implemented that way for the same reason. + + b) Only directories should be listed here. + + c) The listing should be kept in filename sorted order. + + d) Sanity checking changes to these files can be done by following + this procedure (the sed -e is ugly, but fixing mtree -c to + not emit the trailing white space would be even uglier): + + mkdir /tmp/MTREE + mtree -deU -f BSD.X.dist -p /tmp/MTREE + mtree -cdin -k uname,gname,mode -p /tmp/MTREE | \ + sed -e 's/ *$//' | tail +5 >BSD.X.new + diff -u BSD.X.dist BSD.X.new + rm -r /tmp/MTREE + + Note that you will get some differences about /set lines, + and uname= gname= on certain directory areas, mainly man page + sections. This is caused by mtree not having a look ahead + mechanism for making better selections for these as it + traverses the hierarchy. + + The BSD.X.new file should NOT be commited, will be missing the + correct header, and important keywords like ``nochange''. Simply + use the diff for a sanity check to make sure things are in the + correct order and correctly indented. + + e) Further sanity checking of the system builds with DESTDIR=/someplace + are more complicated, but can often catch missing entries in these + files. I tend to run this more complete sanity check shortly after + the target date for a new release is announced. + + If you want details on it bug me about it via email to + rgrimes@FreeBSD.org. diff --git a/etc/namedb/Makefile b/etc/namedb/Makefile new file mode 100644 index 0000000..db52d47 --- /dev/null +++ b/etc/namedb/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +FILES= PROTO.localhost.rev PROTO.localhost-v6.rev named.conf named.root \ + make-localhost +NOOBJ= noobj +FILESDIR= /etc/namedb +FILESMODE= 644 + +.include <bsd.prog.mk> diff --git a/etc/namedb/PROTO.localhost-v6.rev b/etc/namedb/PROTO.localhost-v6.rev new file mode 100644 index 0000000..1616771 --- /dev/null +++ b/etc/namedb/PROTO.localhost-v6.rev @@ -0,0 +1,17 @@ +; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90 +; $FreeBSD$ +; +; This file is automatically edited by the `make-localhost' script in +; the /etc/namedb directory. +; + +$TTL 3600 + +@ IN SOA @host@. root.@host@. ( + @date@ ; Serial + 3600 ; Refresh + 900 ; Retry + 3600000 ; Expire + 3600 ) ; Minimum + IN NS @host@. + IN PTR localhost.@domain@. diff --git a/etc/namedb/PROTO.localhost.rev b/etc/namedb/PROTO.localhost.rev new file mode 100644 index 0000000..0468683 --- /dev/null +++ b/etc/namedb/PROTO.localhost.rev @@ -0,0 +1,17 @@ +; From: @(#)localhost.rev 5.1 (Berkeley) 6/30/90 +; $FreeBSD$ +; +; This file is automatically edited by the `make-localhost' script in +; the /etc/namedb directory. +; + +$TTL 3600 + +@ IN SOA @host@. root.@host@. ( + @date@ ; Serial + 3600 ; Refresh + 900 ; Retry + 3600000 ; Expire + 3600 ) ; Minimum + IN NS @host@. +1 IN PTR localhost.@domain@. diff --git a/etc/namedb/make-localhost b/etc/namedb/make-localhost new file mode 100755 index 0000000..f3f0b1d --- /dev/null +++ b/etc/namedb/make-localhost @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# make-localhost - edit the appropriate local information into +# /etc/namedb/localhost.rev +# + +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin +export PATH + +if [ "`hostname -s`" != "`hostname`" ]; then + # hostname must contain domain + + host=`hostname -s` + fullhost=`hostname` + domain=`echo $fullhost | sed "s/^$host\.//"` +else + host=`hostname` + + if [ -z "$1" ]; then + echo -n 'Enter your domain name: ' + read domain + else + domain="$1" + fi + + # strip trailing dot, if any + domain=`echo $domain | sed 's/\.$//'` + fullhost="$host.$domain" +fi + +date=`date +"%Y%m%d"` + +mv -f localhost-v6.rev localhost-v6.rev.BAK 2>/dev/null + +sed -e "s/@host@/$fullhost/g" \ + -e "s/@domain@/$domain/g" \ + -e "s/@date@/$date/g" \ + < PROTO.localhost-v6.rev > localhost-v6.rev + +mv -f localhost.rev localhost.rev.BAK 2>/dev/null + +exec sed -e "s/@host@/$fullhost/g" \ + -e "s/@domain@/$domain/g" \ + -e "s/@date@/$date/g" \ + < PROTO.localhost.rev > localhost.rev diff --git a/etc/namedb/named.conf b/etc/namedb/named.conf new file mode 100644 index 0000000..aba36dc --- /dev/null +++ b/etc/namedb/named.conf @@ -0,0 +1,118 @@ +// $FreeBSD$ +// +// Refer to the named.conf(5) and named(8) man pages for details. If +// you are ever going to setup a primary server, make sure you've +// understood the hairy details of how DNS is working. Even with +// simple mistakes, you can break connectivity for affected parties, +// or cause huge amount of useless Internet traffic. + +options { + directory "/etc/namedb"; + pid-file "/var/run/named/pid"; + +// In addition to the "forwarders" clause, you can force your name +// server to never initiate queries of its own, but always ask its +// forwarders only, by enabling the following line: +// +// forward only; + +// If you've got a DNS server around at your upstream provider, enter +// its IP address here, and enable the line below. This will make you +// benefit from its cache, thus reduce overall DNS traffic in the Internet. +/* + forwarders { + 127.0.0.1; + }; +*/ + /* + * If there is a firewall between you and nameservers you want + * to talk to, you might need to uncomment the query-source + * directive below. Previous versions of BIND always asked + * questions using port 53, but BIND 8.1 uses an unprivileged + * port by default. + */ + // query-source address * port 53; + + /* + * If running in a sandbox, you may have to specify a different + * location for the dumpfile. + */ + // dump-file "s/named_dump.db"; +}; + +// Note: the following will be supported in a future release. +/* +host { any; } { + topology { + 127.0.0.0/8; + }; +}; +*/ + +// Setting up secondaries is way easier and the rough picture for this +// is explained below. +// +// If you enable a local name server, don't forget to enter 127.0.0.1 +// into your /etc/resolv.conf so this server will be queried first. +// Also, make sure to enable it in /etc/rc.conf. + +zone "." { + type hint; + file "named.root"; +}; + +zone "0.0.127.IN-ADDR.ARPA" { + type master; + file "localhost.rev"; +}; + +zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.INT" { + type master; + file "localhost-v6.rev"; +}; + +// NB: Do not use the IP addresses below, they are faked, and only +// serve demonstration/documentation purposes! +// +// Example secondary config entries. It can be convenient to become +// a secondary at least for the zone where your own domain is in. Ask +// your network administrator for the IP address of the responsible +// primary. +// +// Never forget to include the reverse lookup (IN-ADDR.ARPA) zone! +// (This is the first bytes of the respective IP address, in reverse +// order, with ".IN-ADDR.ARPA" appended.) +// +// Before starting to setup a primary zone, better make sure you fully +// understand how DNS and BIND works, however. There are sometimes +// unobvious pitfalls. Setting up a secondary is comparably simpler. +// +// NB: Don't blindly enable the examples below. :-) Use actual names +// and addresses instead. +// +// NOTE!!! FreeBSD can run bind in a sandbox (see named_flags in rc.conf). +// The directory containing the secondary zones must be write accessible +// to bind. The following sequence is suggested: +// +// mkdir /etc/namedb/s +// chown bind:bind /etc/namedb/s +// chmod 750 /etc/namedb/s + +/* +zone "domain.com" { + type slave; + file "s/domain.com.bak"; + masters { + 192.168.1.1; + }; +}; + +zone "0.168.192.in-addr.arpa" { + type slave; + file "s/0.168.192.in-addr.arpa.bak"; + masters { + 192.168.1.1; + }; +}; +*/ + diff --git a/etc/namedb/named.root b/etc/namedb/named.root new file mode 100644 index 0000000..eba0c9d --- /dev/null +++ b/etc/namedb/named.root @@ -0,0 +1,83 @@ +; This file holds the information on root name servers needed to +; initialize cache of Internet domain name servers +; (e.g. reference this file in the "cache . <file>" +; configuration file of BIND domain name servers). +; +; This file is made available by InterNIC registration services +; under anonymous FTP as +; file /domain/named.root +; on server FTP.RS.INTERNIC.NET +; -OR- under Gopher at RS.INTERNIC.NET +; under menu InterNIC Registration Services (NSI) +; submenu InterNIC Registration Archives +; file named.root +; +; last update: Aug 22, 1997 +; related version of root zone: 1997082200 +; $FreeBSD$ +; +; formerly NS.INTERNIC.NET +; +. 3600000 IN NS A.ROOT-SERVERS.NET. +A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 +; +; formerly NS1.ISI.EDU +; +. 3600000 NS B.ROOT-SERVERS.NET. +B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 +; +; formerly C.PSI.NET +; +. 3600000 NS C.ROOT-SERVERS.NET. +C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 +; +; formerly TERP.UMD.EDU +; +. 3600000 NS D.ROOT-SERVERS.NET. +D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +; +; formerly NS.NASA.GOV +; +. 3600000 NS E.ROOT-SERVERS.NET. +E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 +; +; formerly NS.ISC.ORG +; +. 3600000 NS F.ROOT-SERVERS.NET. +F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 +; +; formerly NS.NIC.DDN.MIL +; +. 3600000 NS G.ROOT-SERVERS.NET. +G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 +; +; formerly AOS.ARL.ARMY.MIL +; +. 3600000 NS H.ROOT-SERVERS.NET. +H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 +; +; formerly NIC.NORDU.NET +; +. 3600000 NS I.ROOT-SERVERS.NET. +I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 +; +; temporarily housed at NSI (InterNIC) +; +. 3600000 NS J.ROOT-SERVERS.NET. +J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 +; +; housed in LINX, operated by RIPE NCC +; +. 3600000 NS K.ROOT-SERVERS.NET. +K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 +; +; temporarily housed at ISI (IANA) +; +. 3600000 NS L.ROOT-SERVERS.NET. +L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 +; +; housed in Japan, operated by WIDE +; +. 3600000 NS M.ROOT-SERVERS.NET. +M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 +; End of File diff --git a/etc/netconfig b/etc/netconfig new file mode 100644 index 0000000..6e6abd0 --- /dev/null +++ b/etc/netconfig @@ -0,0 +1,19 @@ +# $FreeBSD$ +# +# The network configuration file. This file is currently only used in +# conjunction with the (TI-) RPC code in the C library, unlike its +# use in SVR4. +# +# Entries consist of: +# +# <network_id> <semantics> <flags> <protofamily> <protoname> \ +# <device> <nametoaddr_libs> +# +# The <device> and <nametoaddr_libs> fields are always empty in FreeBSD. +# +udp6 tpi_clts v inet6 udp - - +tcp6 tpi_cots_ord v inet6 tcp - - +udp tpi_clts v inet udp - - +tcp tpi_cots_ord v inet tcp - - +rawip tpi_raw - inet - - - +unix tpi_cots_ord - loopback - - - diff --git a/etc/netstart b/etc/netstart new file mode 100755 index 0000000..56d8973 --- /dev/null +++ b/etc/netstart @@ -0,0 +1,74 @@ +#!/bin/sh - +# +# Copyright (c) 1993 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# From: @(#)netstart 5.9 (Berkeley) 3/30/91 +# + +# This file is NOT called by any of the other scripts - it has been +# obsoleted by /etc/rc.network and is provided here only for user +# convenience (if you're sitting in single user mode and wish to start +# the network by hand, this script will do it for you). +# + +# If there is a global system configuration file, suck it in. +if [ -f /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -f /etc/rc.conf ]; then + . /etc/rc.conf +fi + +# Start pccard if necessary +if [ -r /etc/rc.pccard ]; then + . /etc/rc.pccard +fi + +if [ -r /etc/rc.network ]; then + . /etc/rc.network +else + echo 'Sorry, I cannot find /etc/rc.network - aborting' + exit 1 +fi + +echo 'Doing stage one network startup:' +network_pass1 + +case ${ipv6_enable} in +[Yy][Ee][Ss]) + if [ -r /etc/rc.network6 ]; then + . /etc/rc.network6 + else + echo 'Sorry, I cannot find /etc/rc.network6 - aborting' + exit 1 + fi + + echo 'Doing stage one network6 startup:' + network6_pass1 + ;; +esac + +exit 0 diff --git a/etc/network.subr b/etc/network.subr new file mode 100644 index 0000000..7b2f40f --- /dev/null +++ b/etc/network.subr @@ -0,0 +1,225 @@ +#!/bin/sh -x +# +# $FreeBSD$ +# + +# PROVIDE: network1 +# REQUIRE: atm1 ipfilter mountcritlocal pccard serial sppp sysctl tty +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="network1" +start_cmd="network_start" +stop_cmd="network_stop" + +convert_host_conf() +{ + host_conf=$1; shift; + nsswitch_conf=$1; shift; + awk ' \ + /^[:blank:]*#/ { next } \ + /(hosts|local|file)/ { nsswitch[c] = "files"; c++; next } \ + /(dns|bind)/ { nsswitch[c] = "dns"; c++; next } \ + /nis/ { nsswitch[c] = "nis"; c++; next } \ + { printf "Warning: unrecognized line [%s]", $0 > "/dev/stderr" } \ + END { \ + printf "hosts: "; \ + for (i in nsswitch) printf "%s ", nsswitch[i]; \ + printf "\n"; \ + }' < $host_conf > $nsswitch_conf +} + +generate_host_conf() +{ + nsswitch_conf=$1; shift; + host_conf=$1; shift; + + awk ' +BEGIN { + xlat["files"] = "hosts"; + xlat["dns"] = "bind"; + xlat["nis"] = "nis"; + cont = 0; +} +sub(/^[\t ]*hosts:/, "") || cont { + if (!cont) + srcs = "" + sub(/#.*/, "") + gsub(/[][]/, " & ") + cont = sub(/\\$/, "") + srcs = srcs " " $0 +} +END { + print "# Auto-generated from nsswitch.conf, do not edit" + ns = split(srcs, s) + for (n = 1; n <= ns; ++n) { + if (s[n] in xlat) + print xlat[s[n]] + } +} +' <$nsswitch_conf >$host_conf +} + +network_gif_setup() { + case ${gif_interfaces} in + [Nn][Oo] | '') + ;; + *) + for i in ${gif_interfaces}; do + eval peers=\$gifconfig_$i + case ${peers} in + '') + continue + ;; + *) + ifconfig $i create >/dev/null 2>&1 + ifconfig $i tunnel ${peers} + ;; + esac + done + ;; + esac +} + +network_start() +{ + # set hostname, turn on network + # + echo -n "Doing initial network setup:" + + # Generate host.conf for compatibility + # + if [ -f "/etc/nsswitch.conf" ]; then + echo -n ' host.conf' + generate_host_conf /etc/nsswitch.conf /etc/host.conf + fi + + # Convert host.conf to nsswitch.conf if necessary + # + if [ -f "/etc/host.conf" -a ! -f "/etc/nsswitch.conf" ]; then + echo '' + echo 'Warning: /etc/host.conf is no longer used' + echo ' /etc/nsswitch.conf will be created for you' + convert_host_conf /etc/host.conf /etc/nsswitch.conf + fi + + # Set the host name if it is not already set + # + if [ -z "`hostname -s`" ]; then + hostname ${hostname} + echo -n ' hostname' + fi + + # Set the domainname if we're using NIS + # + case ${nisdomainname} in + [Nn][Oo]|'') + ;; + *) + domainname ${nisdomainname} + echo -n ' domain' + ;; + esac + + echo '.' + + # Attempt to create cloned interfaces. + for ifn in ${cloned_interfaces}; do + ifconfig ${ifn} create + done + + # gifconfig + network_gif_setup + + # Set up all the network interfaces, calling startup scripts if needed + # + case ${network_interfaces} in + [Aa][Uu][Tt][Oo]) + network_interfaces="`ifconfig -l`" + ;; + *) + network_interfaces="${network_interfaces} ${cloned_interfaces}" + ;; + esac + + dhcp_interfaces="" + for ifn in ${network_interfaces}; do + if [ -r /etc/start_if.${ifn} ]; then + . /etc/start_if.${ifn} + eval showstat_$ifn=1 + fi + + # Do the primary ifconfig if specified + # + eval ifconfig_args=\$ifconfig_${ifn} + + case ${ifconfig_args} in + '') + ;; + [Dd][Hh][Cc][Pp]) + # DHCP inits are done all in one go below + dhcp_interfaces="$dhcp_interfaces $ifn" + eval showstat_$ifn=1 + ;; + *) + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + ;; + esac + done + + if [ ! -z "${dhcp_interfaces}" ]; then + ${dhcp_program:-/sbin/dhclient} ${dhcp_flags} ${dhcp_interfaces} + fi + + for ifn in ${network_interfaces}; do + # Check to see if aliases need to be added + # + alias=0 + while : ; do + eval ifconfig_args=\$ifconfig_${ifn}_alias${alias} + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} alias + eval showstat_$ifn=1 + alias=$((${alias} + 1)) + else + break; + fi + done + + # Do ipx address if specified + # + eval ifconfig_args=\$ifconfig_${ifn}_ipx + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + fi + done + + # Display ifconfiged interfaces + for ifn in ${network_interfaces}; do + eval showstat=\$showstat_${ifn} + if [ ! -z ${showstat} ]; then + ifconfig ${ifn} + fi + done + + # Resync ipfilter + /etc/rc.d/ipfilter resync +} + +network_stop() +{ + echo -n "Stopping network:" + + # flush routes + # + echo -n " flush routes" + route -n flush + + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/networks b/etc/networks new file mode 100644 index 0000000..a6b15d4 --- /dev/null +++ b/etc/networks @@ -0,0 +1,17 @@ +# $FreeBSD$ +# @(#)networks 5.1 (Berkeley) 6/30/90 +# +# Your Local Networks Database +# +your-net 127 # your comment +your-netmask 255.255.255 # subnet mask for your-net + +# +# Your subnets +# +subnet1 127.0.1 alias1 # comment 1 +subnet2 127.0.2 alias2 # comment 2 + +# +# Internet networks (from nic.ddn.mil) +# diff --git a/etc/newsyslog.conf b/etc/newsyslog.conf new file mode 100644 index 0000000..01893d7 --- /dev/null +++ b/etc/newsyslog.conf @@ -0,0 +1,27 @@ +# configuration file for newsyslog +# $FreeBSD$ +# +# Note: some sites will want to select more restrictive protections than the +# defaults. In particular, it may be desirable to switch many of the 644 +# entries to 640 or 600. For example, some sites will consider the +# contents of maillog, messages, and lpd-errs to be confidential. In the +# future, these defaults may change to more conservative ones. +# +# logfilename [owner:group] mode count size when [ZJB] [/pid_file] [sig_num] +/var/log/cron 600 3 100 * Z +/var/log/amd.log 644 7 100 * Z +/var/log/auth.log 600 7 100 * Z +/var/log/kerberos.log 600 7 100 * Z +/var/log/lpd-errs 644 7 100 * Z +/var/log/maillog 640 7 * @T00 Z +/var/log/sendmail.st 640 10 * 168 B +/var/log/messages 644 5 100 * Z +/var/log/all.log 600 7 * @T00 Z +/var/log/slip.log root:network 640 3 100 * Z +/var/log/ppp.log root:network 640 3 100 * Z +/var/log/security 600 10 100 * Z +/var/log/wtmp 644 3 * @01T05 B +/var/log/daily.log 640 7 * @T00 Z +/var/log/weekly.log 640 5 1 $W6D0 Z +/var/log/monthly.log 640 12 * $M1D0 Z +/var/log/console.log 600 5 100 * Z diff --git a/etc/nls.alias b/etc/nls.alias new file mode 100644 index 0000000..22331c1 --- /dev/null +++ b/etc/nls.alias @@ -0,0 +1,78 @@ +# $FreeBSD$ + +ASCII C +POSIX C +US-ASCII C +af_ZA.ISO_8859-1 af_ZA.ISO8859-1 +af_ZA.ISO_8859-15 af_ZA.ISO8859-15 +cs_CZ.ISO_8859-2 cs_CZ.ISO8859-2 +da_DK.ISO_8859-1 da_DK.ISO8859-1 +da_DK.ISO_8859-15 da_DK.ISO8859-15 +de_AT.ISO_8859-1 de_AT.ISO8859-1 +de_AT.ISO_8859-15 de_AT.ISO8859-15 +de_CH.ISO_8859-1 de_CH.ISO8859-1 +de_CH.ISO_8859-15 de_CH.ISO8859-15 +de_DE.ISO_8859-1 de_DE.ISO8859-1 +de_DE.ISO_8859-15 de_DE.ISO8859-15 +el_GR.ISO_8859-7 el_GR.ISO8859-7 +en_AU.ISO_8859-1 en_AU.ISO8859-1 +en_AU.ISO_8859-15 en_AU.ISO8859-15 +en_CA.ISO_8859-1 en_CA.ISO8859-1 +en_CA.ISO_8859-15 en_CA.ISO8859-15 +en_GB.ISO_8859-1 en_GB.ISO8859-1 +en_GB.ISO_8859-15 en_GB.ISO8859-15 +en_NZ.ISO_8859-1 en_NZ.ISO8859-1 +en_NZ.ISO_8859-15 en_NZ.ISO8859-15 +en_US.ISO_8859-1 en_US.ISO8859-1 +en_US.ISO_8859-15 en_US.ISO8859-15 +en_US.US-ASCII C +es_ES.ISO_8859-1 es_ES.ISO8859-1 +es_ES.ISO_8859-15 es_ES.ISO8859-15 +et_EE.ISO_8859-15 et_EE.ISO8859-15 +fi_FI.ISO_8859-1 fi_FI.ISO8859-1 +fi_FI.ISO_8859-15 fi_FI.ISO8859-15 +fr_BE.ISO_8859-1 fr_BE.ISO8859-1 +fr_BE.ISO_8859-15 fr_BE.ISO8859-15 +fr_CA.ISO_8859-1 fr_CA.ISO8859-1 +fr_CA.ISO_8859-15 fr_CA.ISO8859-15 +fr_CH.ISO_8859-1 fr_CH.ISO8859-1 +fr_CH.ISO_8859-15 fr_CH.ISO8859-15 +fr_FR.ISO_8859-1 fr_FR.ISO8859-1 +fr_FR.ISO_8859-15 fr_FR.ISO8859-15 +hr_HR.ISO_8859-2 hr_HR.ISO8859-2 +hu_HU.ISO_8859-2 hu_HU.ISO8859-2 +is_IS.ISO_8859-1 is_IS.ISO8859-1 +is_IS.ISO_8859-15 is_IS.ISO8859-15 +it_CH.ISO_8859-1 it_CH.ISO8859-1 +it_CH.ISO_8859-15 it_CH.ISO8859-15 +it_IT.ISO_8859-1 it_IT.ISO8859-1 +it_IT.ISO_8859-15 it_IT.ISO8859-15 +ja_JP.EUC ja_JP.eucJP +ja_JP.Shift_JIS ja_JP.SJIS +ko_KR.EUC ko_KR.eucKR +la_LN.ASCII la_LN.US-ASCII +la_LN.ISO_8859-1 la_LN.ISO8859-1 +la_LN.ISO_8859-15 la_LN.ISO8859-15 +la_LN.ISO_8859-2 la_LN.ISO8859-2 +la_LN.ISO_8859-4 la_LN.ISO8859-4 +lt_LT.ISO_8859-4 lt_LT.ISO8859-4 +nl_BE.ISO_8859-1 nl_BE.ISO8859-1 +nl_BE.ISO_8859-15 nl_BE.ISO8859-15 +nl_NL.ISO_8859-1 nl_NL.ISO8859-1 +nl_NL.ISO_8859-15 nl_NL.ISO8859-15 +no_NO.ISO_8859-1 no_NO.ISO8859-1 +no_NO.ISO_8859-15 no_NO.ISO8859-15 +pl_PL.ISO_8859-2 pl_PL.ISO8859-2 +pt_PT.ISO_8859-1 pt_PT.ISO8859-1 +pt_PT.ISO_8859-15 pt_PT.ISO8859-15 +ru_RU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.CP866 ru_RU.CP866 +ru_SU.ISO_8859-5 ru_RU.ISO8859-5 +ru_SU.ISO8859-5 ru_RU.ISO8859-5 +ru_SU.KOI8-R ru_RU.KOI8-R +sk_SK.ISO_8859-2 sk_SK.ISO8859-2 +sl_SI.ISO_8859-2 sl_SI.ISO8859-2 +sv_SE.ISO_8859-1 sv_SE.ISO8859-1 +sv_SE.ISO_8859-15 sv_SE.ISO8859-15 +tr_TR.ISO_8859-9 tr_TR.ISO8859-9 +zh_CN.EUC zh_CN.eucCN diff --git a/etc/nsmb.conf b/etc/nsmb.conf new file mode 100644 index 0000000..e5f2258 --- /dev/null +++ b/etc/nsmb.conf @@ -0,0 +1,56 @@ +# $FreeBSD$ +# +# smbfs lookups configuration files in next order: +# 1. ~/.nsmbrc +# 2. /etc/nsmb.conf - if this file found it will +# override values with same keys from user files. +# +# +# This file consist from a set of sections. Each section started by section name +# surrounded with square brackets: +# [section_name] +# +# End of the section marked either by new section or by the end of file. +# Each section can contain zero or more parameters: +# [section_name] +# key=value +# +# where 'key' represents parameter name and 'value' a value assigned +# to this parameter. +# +# SMB library uses next forms of section names (please note that the section +# name should be in upper case when it refers to server, user or share): +# A) [default] +# B) [SERVER] +# C) [SERVER:USER] +# D) [SERVER:USER:SHARE] +# +# Here is the map of possible keywords: +# +# keyword/section A B C D Comment +# +# addr - + - - IP or IPX address of SMB server +# charsets + + + + local:remote charset pair +# nbns + + - - address of NetBIOS name server (WINS) +# nbscope + + - - NetBIOS scope +# nbtimeout + + - - timeout for NetBIOS name servers +# password - - + + a plain text password used to access to the given share +# retry_count + + - - number of retries before connection marked as broken +# timeout + + - - SMB request timeout +# workgroup + + + + name of workgroup +# + +# A simple configuration example: + +# First, define a workgroup. +#[default] +#workgroup=SALES + +# The 'FSERVER' is an NT server. +#[FSERVER] +#charsets=koi8-r:cp866 +#addr=fserv.coolcorp.com + +#[FSERVER:JOE] +# use persistent password cache for user 'joe' +#password=$$1767877DF diff --git a/etc/opieaccess b/etc/opieaccess new file mode 100644 index 0000000..ed57ef1 --- /dev/null +++ b/etc/opieaccess @@ -0,0 +1,13 @@ +# $FreeBSD$ +# +# This file controls whether UNIX passwords are to be permitted. Rules +# are matched in order, and the search terminates when the first matching +# rule has been found. Default action is "deny". See opieaccess(5) for +# more information. +# +# Each rule has the form: +# +# permit address netmask +# deny address netmask +# +#permit 127.0.0.1 255.255.255.255 diff --git a/etc/pam.d/Makefile b/etc/pam.d/Makefile new file mode 100644 index 0000000..40c9fbe --- /dev/null +++ b/etc/pam.d/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +NOOBJ= noobj +FILES= README ftp ftpd gdm imap kde login other passwd pop3 \ + rexecd rsh sshd su telnetd xdm xserver +FILESDIR= /etc/pam.d +FILESMODE= 644 +FILESMODE_README= 444 + +.include <bsd.prog.mk> diff --git a/etc/pam.d/README b/etc/pam.d/README new file mode 100644 index 0000000..9acbff6 --- /dev/null +++ b/etc/pam.d/README @@ -0,0 +1,60 @@ + +This directory contains configuration files for the Pluggable +Authentication Modules (PAM) library. + +Each file details the module chain for a single service, and must be +named after that service. If no configuration file is found for a +particular service, the /etc/pam.d/other is used instead. If that +file does not exist, /etc/pam.conf is searched for entries matching +the specified service or, failing that, the "other" service. + +See the pam(8) manual page for an explanation of the workings of the +PAM library and descriptions of the various files and modules. Below +is a summary of the format for the pam.conf and /etc/pam.d/* files. + +Configuration lines take the following form: + +module-type control-flag module-path arguments + +Comments are introduced with a hash mark ('#'). Blank lines and lines +consisting entirely of comments are ignored. + +The meanings of the different fields are as follows: + + module-type: + auth: prompt for a password to authenticate that the user is + who they say they are, and set any credentials. + account: non-authentication based authorization, based on time, + resources, etc. + session: housekeeping before and/or after login. + password: update authentication tokens. + + control-flag: How libpam handles success or failure of the module. + required: success is required, and on failure all remaining + modules are run. + requisite: success is required, and on failure no remaining + modules are run. + sufficient: success is sufficient, and if no previous required + module failed, no remaining modules are run. + optional: ignored unless the other modules return PAM_IGNORE. + + arguments: Module-specific options, plus some generic ones: + debug: syslog debug info. + no_warn: return no warning messages to the application. + Remove this to feed back to the user the + reason(s) they are being rejected. + use_first_pass: try authentication using password from the + preceding auth module. + try_first_pass: first try authentication using password from + the preceding auth module, and if that fails + prompt for a new password. + use_mapped_pass: convert cleartext password to a crypto key. + expose_account: allow printing more info about the user when + prompting. + +Note that having a "sufficient" module as the last entry for a +particular service and module type may result in surprising behaviour. +To get the intended semantics, add a "required" entry listing the +pam_deny module at the end of the chain. + +$FreeBSD$ diff --git a/etc/pam.d/convert.pl b/etc/pam.d/convert.pl new file mode 100644 index 0000000..6859120 --- /dev/null +++ b/etc/pam.d/convert.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl -w +#- +# Copyright (c) 2001,2002 Networks Associates Technologies, Inc. +# All rights reserved. +# +# This software was developed for the FreeBSD Project by ThinkSec AS and +# NAI Labs, the Security Research Division of Network Associates, Inc. +# under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the +# DARPA CHATS research program. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +use strict; +use Fcntl; +use vars qw(%SERVICES); + +MAIN:{ + my $line; + my $service; + my $version; + my $type; + local *FILE; + + while (<>) { + chomp(); + s/\s*$//; + next unless m/^(\#*)(\w+)\s+(auth|account|session|password)\s+(\S.*)$/; + $line = $1.$3; + $line .= "\t" x ((16 - length($line) + 7) / 8); + $line .= $4; + push(@{$SERVICES{$2}->{$3}}, $line); + } + + foreach $service (keys(%SERVICES)) { + $version = '$' . 'FreeBSD' . '$'; + if (sysopen(FILE, $service, O_RDONLY)) { + while (<FILE>) { + next unless (m/(\$[F]reeBSD.*?\$)/); + $version = $1; + last; + } + close(FILE); + } + sysopen(FILE, $service, O_RDWR|O_CREAT|O_TRUNC) + or die("$service: $!\n"); + print(FILE "#\n"); + print(FILE "# $version\n"); + print(FILE "#\n"); + print(FILE "# PAM configuration for the \"$service\" service\n"); + print(FILE "#\n"); + foreach $type (qw(auth account session password)) { + next unless exists($SERVICES{$service}->{$type}); + print(FILE "\n"); + print(FILE "# $type\n"); + print(FILE join("\n", @{$SERVICES{$service}->{$type}}, "")); + } + close(FILE); + warn("$service\n"); + } + + exit(0); +} diff --git a/etc/pam.d/ftp b/etc/pam.d/ftp new file mode 100644 index 0000000..117f613 --- /dev/null +++ b/etc/pam.d/ftp @@ -0,0 +1,24 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "ftp" service +# + +# auth +auth required pam_nologin.so no_warn +#auth sufficient pam_kerberosIV.so no_warn +#auth sufficient pam_krb5.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +#auth required pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so diff --git a/etc/pam.d/ftpd b/etc/pam.d/ftpd new file mode 100644 index 0000000..bfbf940 --- /dev/null +++ b/etc/pam.d/ftpd @@ -0,0 +1,24 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "ftpd" service +# + +# auth +auth required pam_nologin.so no_warn +#auth sufficient pam_kerberosIV.so no_warn +#auth sufficient pam_krb5.so no_warn +#auth sufficient pam_ssh.so no_warn try_first_pass +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so diff --git a/etc/pam.d/gdm b/etc/pam.d/gdm new file mode 100644 index 0000000..a108601 --- /dev/null +++ b/etc/pam.d/gdm @@ -0,0 +1,26 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "gdm" service +# + +# auth +auth required pam_nologin.so no_warn +#auth sufficient pam_kerberosIV.so no_warn try_first_pass +#auth sufficient pam_krb5.so no_warn try_first_pass +#auth sufficient pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so +session required pam_permit.so + +# password +password required pam_deny.so diff --git a/etc/pam.d/imap b/etc/pam.d/imap new file mode 100644 index 0000000..eaf53d2 --- /dev/null +++ b/etc/pam.d/imap @@ -0,0 +1,12 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "imap" service +# + +# auth +#auth required pam_nologin.so no_warn +#auth sufficient pam_opie.so no_warn no_fake_prompts +#auth requisite pam_opieaccess.so no_warn +#auth required pam_ssh.so no_warn try_first_pass +#auth required pam_unix.so no_warn try_first_pass diff --git a/etc/pam.d/kde b/etc/pam.d/kde new file mode 100644 index 0000000..4d23ae8 --- /dev/null +++ b/etc/pam.d/kde @@ -0,0 +1,14 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "kde" service +# + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +#auth sufficient pam_kerberosIV.so no_warn try_first_pass +#auth sufficient pam_krb5.so no_warn try_first_pass +#auth required pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass diff --git a/etc/pam.d/login b/etc/pam.d/login new file mode 100644 index 0000000..997879d --- /dev/null +++ b/etc/pam.d/login @@ -0,0 +1,33 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "login" service +# + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_self.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +#auth sufficient pam_kerberosIV.so no_warn try_first_pass +#auth sufficient pam_krb5.so no_warn try_first_pass +#auth sufficient pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass nullok + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_login_access.so +account required pam_securetty.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so +session required pam_lastlog.so no_fail + +# password +#password sufficient pam_kerberosIV.so no_warn try_first_pass +#password sufficient pam_krb5.so no_warn try_first_pass +password required pam_unix.so no_warn try_first_pass diff --git a/etc/pam.d/other b/etc/pam.d/other new file mode 100644 index 0000000..81e0055 --- /dev/null +++ b/etc/pam.d/other @@ -0,0 +1,20 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "other" service +# + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +auth required pam_unix.so no_warn try_first_pass + +# account +account required pam_unix.so + +# session +session required pam_lastlog.so no_warn no_fail + +# password +password required pam_deny.so diff --git a/etc/pam.d/passwd b/etc/pam.d/passwd new file mode 100644 index 0000000..d732c42 --- /dev/null +++ b/etc/pam.d/passwd @@ -0,0 +1,11 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "passwd" service +# + +# passwd(1) does not use the auth, account or session services. + +# password +#password requisite pam_passwdqc.so enforce=users +password required pam_unix.so no_warn try_first_pass diff --git a/etc/pam.d/pop3 b/etc/pam.d/pop3 new file mode 100644 index 0000000..3657f12 --- /dev/null +++ b/etc/pam.d/pop3 @@ -0,0 +1,12 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "pop3" service +# + +# auth +#auth required pam_nologin.so no_warn +#auth sufficient pam_opie.so no_warn no_fake_prompts +#auth requisite pam_opieaccess.so no_warn +#auth required pam_ssh.so no_warn try_first_pass +#auth required pam_unix.so no_warn try_first_pass diff --git a/etc/pam.d/rexecd b/etc/pam.d/rexecd new file mode 100644 index 0000000..2126f86 --- /dev/null +++ b/etc/pam.d/rexecd @@ -0,0 +1,16 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "rexecd" service +# + +# auth +auth required pam_nologin.so no_warn +auth required pam_unix.so no_warn use_first_pass + +# account +account required pam_unix.so no_warn +account required pam_ftpusers.so no_warn disallow + +# session +session required pam_permit.so no_warn diff --git a/etc/pam.d/rsh b/etc/pam.d/rsh new file mode 100644 index 0000000..c560463 --- /dev/null +++ b/etc/pam.d/rsh @@ -0,0 +1,12 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "rsh" service +# + +# auth +auth required pam_nologin.so no_warn +auth required pam_rhosts.so no_warn + +# account +account required pam_unix.so diff --git a/etc/pam.d/sshd b/etc/pam.d/sshd new file mode 100644 index 0000000..410e95d --- /dev/null +++ b/etc/pam.d/sshd @@ -0,0 +1,21 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "sshd" service +# + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth required pam_opieaccess.so no_warn +auth required pam_unix.so no_warn try_first_pass + +# account +account required pam_login_access.so +account required pam_unix.so + +# session +session required pam_lastlog.so no_warn no_fail + +# password +password required pam_permit.so diff --git a/etc/pam.d/su b/etc/pam.d/su new file mode 100644 index 0000000..1d24474 --- /dev/null +++ b/etc/pam.d/su @@ -0,0 +1,53 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "su" service +# + +# auth +auth sufficient pam_rootok.so no_warn +auth sufficient pam_self.so no_warn +auth requisite pam_wheel.so no_warn auth_as_self noroot_ok +#auth sufficient pam_kerberosIV.so no_warn +#auth sufficient pam_krb5.so no_warn try_first_pass auth_as_self +auth sufficient pam_opie.so no_warn no_fake_prompts +auth requisite pam_opieaccess.so no_warn +#auth required pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass nullok + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so + +# password +password required pam_permit.so + + +# If you want a "WHEELSU"-type su(1), then comment out the +# above, and uncomment the entries below. +## auth +#auth sufficient pam_rootok.so no_warn +##auth sufficient pam_kerberosIV.so no_warn +##auth sufficient pam_krb5.so no_warn +#auth required pam_opie.so no_warn auth_as_self no_fake_prompts +#auth required pam_unix.so no_warn try_first_pass auth_as_self + +## account +##account required pam_kerberosIV.so +##account required pam_krb5.so +#account required pam_unix.so + +## session +##session required pam_kerberosIV.so +##session required pam_krb5.so +##session required pam_ssh.so +#session required pam_unix.so + +## password +#password required pam_permit.so diff --git a/etc/pam.d/telnetd b/etc/pam.d/telnetd new file mode 100644 index 0000000..25fa6cf --- /dev/null +++ b/etc/pam.d/telnetd @@ -0,0 +1,14 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "telnetd" service +# + +# auth +auth required pam_nologin.so no_warn +auth sufficient pam_opie.so no_warn no_fake_prompts +auth required pam_opieaccess.so no_warn +auth required pam_unix.so no_warn try_first_pass + +# account +account required pam_unix.so diff --git a/etc/pam.d/xdm b/etc/pam.d/xdm new file mode 100644 index 0000000..4ad29e4 --- /dev/null +++ b/etc/pam.d/xdm @@ -0,0 +1,26 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "xdm" service +# + +# auth +auth required pam_nologin.so no_warn +#auth sufficient pam_kerberosIV.so no_warn try_first_pass +#auth sufficient pam_krb5.so no_warn try_first_pass +#auth sufficient pam_ssh.so no_warn try_first_pass +auth required pam_unix.so no_warn try_first_pass + +# account +#account required pam_kerberosIV.so +#account required pam_krb5.so +account required pam_unix.so + +# session +#session required pam_kerberosIV.so +#session required pam_krb5.so +#session required pam_ssh.so +session required pam_permit.so + +# password +password required pam_deny.so diff --git a/etc/pam.d/xserver b/etc/pam.d/xserver new file mode 100644 index 0000000..81d7727 --- /dev/null +++ b/etc/pam.d/xserver @@ -0,0 +1,8 @@ +# +# $FreeBSD$ +# +# PAM configuration for the "xserver" service +# + +# auth +auth required pam_permit.so no_warn diff --git a/etc/pccard_ether b/etc/pccard_ether new file mode 100755 index 0000000..f6a0e61 --- /dev/null +++ b/etc/pccard_ether @@ -0,0 +1,196 @@ +#!/bin/sh - +# +# $FreeBSD$ +# +# pccard_ether interfacename [start|stop] [ifconfig option] +# +# example: pccard_ether ep0 start -link0 +# + +stop_dhcp() { + if [ -s /var/run/dhclient.${interface}.pid ]; then + pidfile="/var/run/dhclient.${interface}.pid" + elif [ -s /var/run/dhcpc.${interface}.pid ]; then + pidfile="/var/run/dhcpc.${interface}.pid" + else + return + fi + kill `cat ${pidfile}` + rm -f ${pidfile} +} + +start_dhcp() { + stop_dhcp + if [ -x "${dhcp_program}" ]; then + if [ `basename ${dhcp_program}` = "dhclient" ]; then + pidfile="/var/run/dhclient.${interface}.pid" + dhcp_flags="${dhcp_flags} -pf ${pidfile}" + fi + ${dhcp_program} ${dhcp_flags} ${interface} + else + echo "${dhcp_program}: DHCP client software not available" + fi +} + +# Suck in the configuration variables +# +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +interface=$1 +shift +startstop=$1 +shift + +case ${pccard_ether_delay} in +[Nn][Oo]) + ;; +[0-9]) + sleep ${pccard_ether_delay} + ;; +*) # Default until it has had a chance to make it to /etc/defaults/rc.conf + sleep 5 + ;; +esac + +case ${pccard_ifconfig} in +[Nn][Oo] | '') + expr "${removable_interfaces}" : ".*${interface}" > /dev/null || exit 0 + ;; +*) + # Backward compatible + eval ifconfig_${interface}=\${pccard_ifconfig} + ;; +esac + +case ${startstop} in +[Ss][Tt][Aa][Rr][Tt] | '') + if [ -r /etc/start_if.${interface} ]; then + . /etc/start_if.${interface} + fi + + eval ifconfig_args=\$ifconfig_${interface} + case ${ifconfig_args} in + [Nn][Oo] | '') + ;; + [Dd][Hh][Cc][Pp]) + # Start up the DHCP client program + start_dhcp + ;; + *) + # Do the primary ifconfig if specified + ifconfig ${interface} ${ifconfig_args} $* + + # Check to see if aliases need to be added + alias=0 + while : + do + eval ifx_args=\$ifconfig_${interface}_alias${alias} + if [ -n "${ifx_args}" ]; then + ifconfig ${interface} ${ifx_args} alias + alias=`expr ${alias} + 1` + else + break; + fi + done + + # Do ipx address if specified + eval ifx_args=\$ifconfig_${interface}_ipx + if [ -n "${ifx_args}" ]; then + ifconfig ${interface} ${ifx_args} + fi + + # Add default route into $static_routes + case ${defaultrouter} in + [Nn][Oo] | '') + ;; + *) + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + ;; + esac + + # Add private route for this interface into $static_routes + eval ifx_routes=\$static_routes_${interface} + if [ -n "${ifx_routes}" ]; then + static_routes="${ifx_routes} ${static_routes}" + fi + + # Set up any static routes if specified + if [ -n "${static_routes}" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + ;; + esac + + # IPv6 setup + case ${ipv6_enable} in + [Yy][Ee][Ss]) + if [ -r /etc/rc.network6 ]; then + . /etc/rc.network6 + network6_interface_setup ${interface} + fi + ;; + esac + ;; +# Stop the interface +*) + if [ -r /etc/stop_if.${interface} ]; then + . /etc/stop_if.${interface} + fi + + eval ifconfig_args=\$ifconfig_${interface} + case ${ifconfig_args} in + [Nn][Oo] | '') + ;; + [Dd][Hh][Cc][Pp]) + # Stop the DHCP client for this interface + stop_dhcp + ;; + *) + # Delelte static route if specified + eval ifx_routes=\$static_routes_${interface} + if [ -n "${ifx_routes}" ]; then + for i in ${ifx_routes}; do + eval route_args=\$route_${i} + route delete ${route_args} + done + fi + + # Delete aliases if exist + alias=0 + while : + do + eval ifx_args=\$ifconfig_${interface}_alias${alias} + if [ -n "${ifx_args}" ]; then + ifconfig ${interface} ${ifx_args} alias delete + alias=`expr ${alias} + 1` + else + break; + fi + done + ;; + esac + + # Remove the network interface and cleaning ARP table + ifconfig ${interface} delete + arp -d -a + + # Clean the routing table + case ${removable_route_flush} in + [Nn][Oo]) + ;; + *) + # flush beforehand, just in case.... + route -n flush -inet + ;; + esac + ;; +esac diff --git a/etc/periodic/Makefile b/etc/periodic/Makefile new file mode 100644 index 0000000..8fb56df --- /dev/null +++ b/etc/periodic/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= daily security weekly monthly + +.include <bsd.subdir.mk> diff --git a/etc/periodic/Makefile.inc b/etc/periodic/Makefile.inc new file mode 100644 index 0000000..07b4348 --- /dev/null +++ b/etc/periodic/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +BINDIR= /etc/periodic/${.CURDIR:T} +NOOBJ= +FILESMODE= 755 diff --git a/etc/periodic/daily/100.clean-disks b/etc/periodic/daily/100.clean-disks new file mode 100755 index 0000000..5884664 --- /dev/null +++ b/etc/periodic/daily/100.clean-disks @@ -0,0 +1,55 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Remove garbage files more than $daily_clean_disks_days days old +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_disks_enable" in + [Yy][Ee][Ss]) + if [ -z "$daily_clean_disks_days" ] + then + echo '$daily_clean_disks_enable is set but' \ + '$daily_clean_disks_days is not' + rc=2 + elif [ -z "$daily_clean_disks_files" ] + then + echo '$daily_clean_disks_enable is set but' \ + '$daily_clean_disks_files is not' + rc=2 + else + echo "" + echo "Cleaning disks:" + set -f noglob + args="$args -name "`echo "$daily_clean_disks_files" | + sed -e 's/^[ ]*//' \ + -e 's/[ ]*$//' \ + -e 's/[ ][ ]*/ -o -name /g'` + + case "$daily_clean_disks_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + rc=$(find / \( ! -fstype local -o -fstype rdonly \) -a -prune -o \ + \( $args \) -atime +$daily_clean_disks_days -delete $print | + tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + set -f glob + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/110.clean-tmps b/etc/periodic/daily/110.clean-tmps new file mode 100755 index 0000000..cd2dab0 --- /dev/null +++ b/etc/periodic/daily/110.clean-tmps @@ -0,0 +1,56 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Perform temporary directory cleaning so that long-lived systems +# don't end up with excessively old files there. +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_tmps_enable" in + [Yy][Ee][Ss]) + if [ -z "$daily_clean_tmps_days" ] + then + echo '$daily_clean_tmps_enable is set but' \ + '$daily_clean_tmps_days is not' + rc=2 + else + echo "" + echo "Removing old temporary files:" + + set -f noglob + args="-atime +$daily_clean_tmps_days -mtime +$daily_clean_tmps_days" + [ -n "$daily_clean_tmps_ignore" ] && + args="$args "`echo " ${daily_clean_tmps_ignore% }" | + sed 's/[ ][ ]*/ ! -name /g'` + case "$daily_clean_tmps_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + rc=$(for dir in $daily_clean_tmps_dirs + do + [ ."${dir#/}" != ."$dir" -a -d $dir ] && cd $dir && { + find -d . -type f $args -delete $print + find -d . ! -name . -type d -empty -mtime \ + +$daily_clean_tmps_days -delete $print + } | sed "s,^\\., $dir," + done | tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + set -f glob + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/120.clean-preserve b/etc/periodic/daily/120.clean-preserve new file mode 100755 index 0000000..d5b34a1 --- /dev/null +++ b/etc/periodic/daily/120.clean-preserve @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Remove stale files in /var/preserve +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_preserve_enable" in + [Yy][Ee][Ss]) + if [ -z "$daily_clean_preserve_days" ] + then + echo '$daily_clean_preserve_enable is set but' \ + '$daily_clean_preserve_days is not' + rc=2 + elif [ ! -d /var/preserve ] + then + echo '$daily_clean_preserve_enable is set but /var/preserve' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Removing stale files from /var/preserve:" + + if cd /var/preserve + then + case "$daily_clean_preserve_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + rc=$(find . ! -name . -mtime +$daily_clean_preserve_days \ + -delete $print | tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + else + rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/130.clean-msgs b/etc/periodic/daily/130.clean-msgs new file mode 100755 index 0000000..b7890db --- /dev/null +++ b/etc/periodic/daily/130.clean-msgs @@ -0,0 +1,35 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Remove system messages +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_msgs_enable" in + [Yy][Ee][Ss]) + if [ ! -d /var/msgs ] + then + echo '$daily_clean_msgs_enable is set but /var/msgs' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Cleaning out old system announcements:" + + [ -n "$daily_clean_msgs_days" ] && + arg=-${daily_clean_msgs_days#-} || arg= + msgs -c $arg && rc=0 || rc=3 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/140.clean-rwho b/etc/periodic/daily/140.clean-rwho new file mode 100755 index 0000000..9645d7e --- /dev/null +++ b/etc/periodic/daily/140.clean-rwho @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Remove stale files in /var/rwho +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_rwho_enable" in + [Yy][Ee][Ss]) + if [ -z "$daily_clean_rwho_days" ] + then + echo '$daily_clean_rwho_enable is enabled but' \ + '$daily_clean_rwho_days is not set' + rc=2 + elif [ ! -d /var/rwho ] + then + echo '$daily_clean_rwho_enable is enabled but /var/rwho' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Removing stale files from /var/rwho:" + + case "$daily_clean_rwho_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + if cd /var/rwho + then + rc=$(find . ! -name . -mtime +$daily_clean_rwho_days \ + -delete $print | tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + else + rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/150.clean-hoststat b/etc/periodic/daily/150.clean-hoststat new file mode 100755 index 0000000..dba3009 --- /dev/null +++ b/etc/periodic/daily/150.clean-hoststat @@ -0,0 +1,50 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Remove stale files in /var/spool/.hoststat +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ]; then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_clean_hoststat_enable" in + [Yy][Ee][Ss]) + if [ -z "$daily_clean_hoststat_days" ]; then + echo '$daily_clean_hoststat_enable is enabled but' \ + '$daily_clean_hoststat_days is not set' + rc=2 + elif [ ! -d /var/spool/.hoststat ]; then + echo '$daily_clean_hoststat_enable is enabled but' \ + "/var/spool/.hoststat doesn't exist" + rc=2 + else + echo "" + echo "Removing stale files from /var/spool/.hoststat:" + + case "$daily_clean_hoststat_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + if [ -d /var/spool/.hoststat ]; then + cd /var/spool/.hoststat + rc=$(find . ! -name . -mtime +$daily_clean_hoststat_days \ + -delete $print | tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + else + rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/200.backup-passwd b/etc/periodic/daily/200.backup-passwd new file mode 100755 index 0000000..5c585af --- /dev/null +++ b/etc/periodic/daily/200.backup-passwd @@ -0,0 +1,77 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_backup_passwd_enable" in + [Yy][Ee][Ss]) + if [ ! -f /etc/master.passwd ] + then + echo '$daily_backup_passwd_enable" is set but /etc/master.passwd' \ + "doesn't exist" + rc=2 + elif [ ! -f /etc/group ] + then + echo '$daily_backup_passwd_enable" is set but /etc/group' \ + "doesn't exist" + rc=2 + else + bak=/var/backups + rc=0 + + echo "" + echo "Backup passwd and group files:" + + if [ ! -f $bak/master.passwd.bak ] + then + rc=1 + echo "no $bak/master.passwd.bak" + cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 + fi + + if ! cmp -s $bak/master.passwd.bak /etc/master.passwd + then + [ $rc -lt 1 ] && rc=1 + echo "$host passwd diffs:" + diff -I '^#' $bak/master.passwd.bak /etc/master.passwd |\ + sed 's/^\([<>] [^:]*\):[^:]*:/\1:(password):/' + mv $bak/master.passwd.bak $bak/master.passwd.bak2 + cp -p /etc/master.passwd $bak/master.passwd.bak || rc=3 + fi + + if [ ! -f $bak/group.bak ] + then + [ $rc -lt 1 ] && rc=1 + echo "no $bak/group.bak" + cp -p /etc/group $bak/group.bak || rc=3 + fi + + if ! cmp -s $bak/group.bak /etc/group + then + [ $rc -lt 1 ] && rc=1 + echo "$host group diffs:" + diff $bak/group.bak /etc/group + mv $bak/group.bak $bak/group.bak2 + cp -p /etc/group $bak/group.bak || rc=3 + fi + + if [ -f /etc/group ] + then + echo "" + echo "Verifying group file syntax:" + chkgrp /etc/group || rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/210.backup-aliases b/etc/periodic/daily/210.backup-aliases new file mode 100755 index 0000000..fe17038 --- /dev/null +++ b/etc/periodic/daily/210.backup-aliases @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_backup_aliases_enable" in + [Yy][Ee][Ss]) + if [ ! -f /etc/mail/aliases ] + then + echo '$daily_backup_aliases_enable is enabled but' \ + "/etc/mail/aliases doesn't exist" + rc=2 + else + bak=/var/backups + rc=0 + + echo "" + echo "Backing up mail aliases:" + + if [ ! -f $bak/aliases.bak ] + then + echo "no $bak/aliases.bak" + cp -p /etc/mail/aliases $bak/aliases.bak || rc=3 + fi + + if ! cmp -s $bak/aliases.bak /etc/mail/aliases + then + [ $rc -lt 1 ] && rc=1 + echo "$host aliases diffs:" + diff -u $bak/aliases.bak /etc/mail/aliases + mv $bak/aliases.bak $bak/aliases.bak2 + cp -p /etc/mail/aliases $bak/aliases.bak || rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/220.backup-distfile b/etc/periodic/daily/220.backup-distfile new file mode 100755 index 0000000..93d7660 --- /dev/null +++ b/etc/periodic/daily/220.backup-distfile @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_backup_distfile_enable" in + [Yy][Ee][Ss]) + if [ ! -f /etc/Distfile ] + then + echo '$daily_backup_distfile_enable is set but /etc/Distfile' \ + "doesn't exist" + rc=2 + else + bak=/var/backups + rc=0 + + echo "" + echo "Backing up /etc/Distfile:" + + if ! cmp -s $bak/Distfile.bak /etc/Distfile + then + rc=1 + mv $bak/Distfile.bak $bak/Distfile.bak2 + cp /etc/Distfile $bak/Distfile.bak || rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/300.calendar b/etc/periodic/daily/300.calendar new file mode 100755 index 0000000..cc12097 --- /dev/null +++ b/etc/periodic/daily/300.calendar @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# `calendar -a' needs to die. Why? Because it's a bad idea, particular +# with networked home directories, but also in general. If you want the +# output of `calendar' mailed to you, set up a cron job to do it, +# or run it from your ~/.profile or ~/.login. +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_calendar_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Running calendar:" + + calendar -a && rc=0 || rc=3;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/310.accounting b/etc/periodic/daily/310.accounting new file mode 100755 index 0000000..ceb140c --- /dev/null +++ b/etc/periodic/daily/310.accounting @@ -0,0 +1,56 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_accounting_enable" in + [Yy][Ee][Ss]) + if [ ! -f /var/account/acct ] + then + echo '$daily_accounting_enable is set but /var/account/acct' \ + "doesn't exist" + rc=2 + elif [ -z "$daily_accounting_save" ] + then + echo '$daily_accounting_enable is set but ' \ + '$daily_accounting_save is not' + rc=2 + else + echo "" + echo "Rotating accounting logs and gathering statistics:" + + cd /var/account + rc=0 + + n=$daily_accounting_save + rm -f acct.$n.gz acct.$n || rc=3 + m=$n + n=$(($n - 1)) + while [ $n -ge 0 ] + do + [ -f acct.$n.gz ] && { mv -f acct.$n.gz acct.$m.gz || rc=3; } + [ -f acct.$n ] && { mv -f acct.$n acct.$m || rc=3; } + m=$n + n=$(($n - 1)) + done + cp -pf acct acct.0 || rc=3 + sa -s $daily_accounting_flags || rc=3 + + case "$daily_accounting_compress" in + [Yy][Ee][Ss]) + gzip -f acct.0 || rc=3;; + esac + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/320.rdist b/etc/periodic/daily/320.rdist new file mode 100755 index 0000000..11ec190 --- /dev/null +++ b/etc/periodic/daily/320.rdist @@ -0,0 +1,31 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_distfile_enable" in + [Yy][Ee][Ss]) + if [ ! -f /etc/Distfile ] + then + echo '$daily_distfile_enable is set but /etc/Distfile' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Running rdist with /etc/Distfile:" + + rdist -f /etc/Distfile && rc=0 || rc=3 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/330.news b/etc/periodic/daily/330.news new file mode 100755 index 0000000..ec06437 --- /dev/null +++ b/etc/periodic/daily/330.news @@ -0,0 +1,34 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Expire news articles +# (This is present only for backwards compatibility, usually the news +# system handles this on its own). + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_news_expire_enable" in + [Yy][Ee][Ss]) + if [ ! -f /etc/news.expire ] + then + echo '$daily_news_expire_enable is set but /etc/news.expire' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Running news.expire:" + + /etc/news.expire && rc=0 || rc=3 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/400.status-disks b/etc/periodic/daily/400.status-disks new file mode 100755 index 0000000..63b2b6b --- /dev/null +++ b/etc/periodic/daily/400.status-disks @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_disks_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Disk status:" + + df $daily_status_disks_df_flags && rc=1 || rc=3 + + # display which filesystems need backing up + + echo "" + dump W || rc=3;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/420.status-network b/etc/periodic/daily/420.status-network new file mode 100755 index 0000000..8399cf7 --- /dev/null +++ b/etc/periodic/daily/420.status-network @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_network_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Network interface status:" + + case "$daily_status_network_usedns" in + [Yy][Ee][Ss]) + netstat -i && rc=0 || rc=3;; + *) + netstat -in && rc=0 || rc=3;; + esac;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/430.status-rwho b/etc/periodic/daily/430.status-rwho new file mode 100755 index 0000000..4476136 --- /dev/null +++ b/etc/periodic/daily/430.status-rwho @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_rwho_enable" in + [Yy][Ee][Ss]) + rwho=$(echo /var/rwho/*) + if [ -f "${rwho%% *}" ] + then + echo "" + echo "Local network system status:" + prog=ruptime + else + echo "" + echo "Local system status:" + prog=uptime + fi + rc=$($prog | tee /dev/stderr | wc -l) + if [ $? -eq 0 ] + then + [ $rc -gt 1 ] && rc=1 + else + rc=3 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/440.status-mailq b/etc/periodic/daily/440.status-mailq new file mode 100755 index 0000000..90869d8 --- /dev/null +++ b/etc/periodic/daily/440.status-mailq @@ -0,0 +1,64 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_mailq_enable" in + [Yy][Ee][Ss]) + if [ ! -x /usr/bin/mailq ] + then + echo '$daily_status_mailq_enable is set but /usr/bin/mailq' \ + "isn't executable" + rc=2 + else + echo "" + echo "Mail in local queue:" + + rc=$(case "$daily_status_mailq_shorten" in + [Yy][Ee][Ss]) + mailq | + perl -ne 'print if /^\s+\S+@/' | + sort | + uniq -c | + sort -nr | + awk '$1 > 1 {print $1, $2}';; + *) + mailq;; + esac | tee /dev/stderr | fgrep -v 'mqueue is empty' | wc -l) + [ $rc -gt 1 ] && rc=1 + + case "$daily_status_include_submit_mailq" in + [Yy][Ee][Ss]) + if [ -f /etc/mail/submit.cf ] + then + echo "" + echo "Mail in submit queue:" + + rc=$(case "$daily_status_mailq_shorten" in + [Yy][Ee][Ss]) + mailq -Ac | + perl -ne 'print if /^\s+\S+@/' | + sort | + uniq -c | + sort -nr | + awk '$1 > 1 {print $1, $2}';; + *) + mailq -Ac;; + esac | tee /dev/stderr | fgrep -v 'mqueue is empty' | wc -l) + [ $rc -gt 1 ] && rc=1 + fi;; + esac + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/450.status-security b/etc/periodic/daily/450.status-security new file mode 100755 index 0000000..c0eb46c --- /dev/null +++ b/etc/periodic/daily/450.status-security @@ -0,0 +1,40 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_security_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Security check:" + + case "$daily_status_security_inline" in + [Yy][Ee][Ss]) + export security_output="";; + *) + export security_output="${daily_status_security_output}" + case "${daily_status_security_output}" in + "") + ;; + /*) + echo " (output logged separately)";; + *) + echo " (output mailed separately)";; + esac;; + esac + + periodic security + rc=3;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/460.status-mail-rejects b/etc/periodic/daily/460.status-mail-rejects new file mode 100755 index 0000000..1c7f071 --- /dev/null +++ b/etc/periodic/daily/460.status-mail-rejects @@ -0,0 +1,63 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_mail_rejects_enable" in + [Yy][Ee][Ss]) + if [ ! -d /etc/mail ] + then + echo '$daily_status_mail_rejects_enable is set but /etc/mail' \ + "doesn't exist" + rc=2 + elif [ ! -f /var/log/maillog ] + then + echo '$daily_status_mail_rejects_enable is set but ' \ + "/var/log/maillog doesn't exist" + rc=2 + elif [ "$daily_status_mail_rejects_logs" -le 0 ] + then + echo '$daily_status_mail_rejects_enable is set but ' \ + '$daily_status_mail_rejects_logs is not greater than zero' + rc=2 + else + echo + echo Checking for rejected mail hosts: + + start=`date -v-1d '+%b %d' | sed 's/0\(.\)$/ \1/'` + n=$(($daily_status_mail_rejects_logs - 2)) + rc=$({ + while [ $n -ge 0 ] + do + if [ -f /var/log/maillog.$n ] + then + cat /var/log/maillog.$n + elif [ -f /var/log/maillog.$n.gz ] + then + zcat -fc /var/log/maillog.$n.gz + elif [ -f /var/log/maillog.$n.bz2 ] + then + bzcat -fc /var/log/maillog.$n.bz2 + fi + n=$(($n - 1)) + done + cat /var/log/maillog + } | + perl -ne "print \"\$2\n\" + if (/reject=/ and /^$start.*ruleset=check_\S+,\s+arg1=(<[^@]+@)?([^>,]+).*reject=/o);" | + sort -f | uniq -ic | sort -fnr | tee /dev/stderr | wc -l) + [ $rc -gt 0 ] && rc=1 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/470.status-named b/etc/periodic/daily/470.status-named new file mode 100755 index 0000000..e8e1365 --- /dev/null +++ b/etc/periodic/daily/470.status-named @@ -0,0 +1,58 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +catmsgs() { + find /var/log -name 'messages.*' -mtime -2 | + sort -t. -r -n +1 -2 | + xargs zcat -f + [ -f /var/log/messages ] && cat /var/log/messages +} + +case "$daily_status_named_enable" in + [Yy][Ee][Ss]) + echo + echo 'Checking for denied zone transfers (AXFR and IXFR):' + + start=`date -v-1d '+%b %d' | sed 's/0\(.\)$/ \1/'` + rc=$(catmsgs | + perl -ne 'print "$2 from $1\n" + if (/^'"$start"'.*named\[\d+\]: denied [AI]XFR from \[(.*)\]\.\d+ for "(.*)"/);' | + sort -f | uniq -ic | + perl -e ' + use Socket; + + while (<STDIN>) { + if (/^.*from (.*)$/) { + $ip_addr = $1; + chomp; + if ($ARGV[0] =~ /^yes$/i) { + ($host) = gethostbyaddr(inet_aton($ip_addr), AF_INET); + } else { + $host = ""; + } + + if ($host) { + print "$_ ($host)\n"; + } else { + print "$_\n"; + } + } + } + ' $daily_status_named_usedns | tee /dev/stderr | wc -l) + [ $rc -gt 0 ] && rc=1 + ;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/500.queuerun b/etc/periodic/daily/500.queuerun new file mode 100755 index 0000000..f46c246 --- /dev/null +++ b/etc/periodic/daily/500.queuerun @@ -0,0 +1,36 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_queuerun_enable" in + [Yy][Ee][Ss]) + if [ ! -x /usr/sbin/sendmail ] + then + echo '$daily_queuerun_enable is set but /usr/sbin/sendmail' \ + "isn't executable" + rc=2 + else + /usr/sbin/sendmail -q >/dev/null 2>&1 & + case "$daily_submit_queuerun" in + [Yy][Ee][Ss]) + if [ -f /etc/mail/submit.cf ] + then + /usr/sbin/sendmail -q -Ac >/dev/null 2>&1 & + fi;; + esac + rc=0 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/daily/999.local b/etc/periodic/daily/999.local new file mode 100755 index 0000000..3173475 --- /dev/null +++ b/etc/periodic/daily/999.local @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# Run the old /etc/daily.local script. This is really for backwards +# compatibility more than anything else. +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 +for script in $daily_local +do + echo '' + case "$script" in + /*) + if [ -f "$script" ] + then + echo "Running $script:" + + sh $script || rc=3 + else + echo "$script: No such file" + [ $rc -lt 2 ] && rc=2 + fi;; + *) + echo "$script: Not an absolute path" + [ $rc -lt 2 ] && rc=2;; + esac +done + +exit $rc diff --git a/etc/periodic/daily/Makefile b/etc/periodic/daily/Makefile new file mode 100644 index 0000000..f12325f6 --- /dev/null +++ b/etc/periodic/daily/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +FILES= 100.clean-disks \ + 110.clean-tmps \ + 120.clean-preserve \ + 130.clean-msgs \ + 140.clean-rwho \ + 150.clean-hoststat \ + 200.backup-passwd \ + 210.backup-aliases \ + 220.backup-distfile \ + 300.calendar \ + 310.accounting \ + 320.rdist \ + 330.news \ + 400.status-disks \ + 420.status-network \ + 430.status-rwho \ + 440.status-mailq \ + 450.status-security \ + 460.status-mail-rejects \ + 470.status-named \ + 500.queuerun \ + 999.local + +.include <bsd.prog.mk> diff --git a/etc/periodic/monthly/200.accounting b/etc/periodic/monthly/200.accounting new file mode 100755 index 0000000..10a65d1 --- /dev/null +++ b/etc/periodic/monthly/200.accounting @@ -0,0 +1,51 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +oldmask=$(umask) +umask 066 +case "$monthly_accounting_enable" in + [Yy][Ee][Ss]) + W=/var/log/wtmp + rc=0 + remove=NO + if [ ! -f $W.0 ] + then + if [ -f $W.0.gz ] + then + remove=YES + zcat $W.0.gz > $W.0 || rc=1 + elif [ -f $W.0.bz2 ] + then + remove=YES + bzcat $W.0.bz2 > $W.0 || rc=1 + else + echo '$monthly_accounting_enable is set but' \ + "$W.0 doesn't exist" + rc=2 + fi + fi + if [ $rc -eq 0 ] + then + echo "" + echo "Doing login accounting:" + + rc=$(ac -p -w $W.0 | sort -nr +1 | tee /dev/stderr | wc -l) + [ $rc -gt 0 ] && rc=1 + fi + [ $remove = YES ] && rm -f $W.0;; + + *) rc=0;; +esac + +umask $oldmask +exit $rc diff --git a/etc/periodic/monthly/999.local b/etc/periodic/monthly/999.local new file mode 100755 index 0000000..4e7c2b9 --- /dev/null +++ b/etc/periodic/monthly/999.local @@ -0,0 +1,35 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 +for script in $monthly_local +do + echo '' + case "$script" in + /*) + if [ -f "$script" ] + then + echo "Running $script:" + + sh $script || rc=3 + else + echo "$script: No such file" + [ $rc -lt 2 ] && rc=2 + fi;; + *) + echo "$script: Not an absolute path" + [ $rc -lt 2 ] && rc=2;; + esac +done + +exit $rc diff --git a/etc/periodic/monthly/Makefile b/etc/periodic/monthly/Makefile new file mode 100644 index 0000000..c213230 --- /dev/null +++ b/etc/periodic/monthly/Makefile @@ -0,0 +1,6 @@ +# $FreeBSD$ + +FILES= 200.accounting \ + 999.local + +.include <bsd.prog.mk> diff --git a/etc/periodic/security/100.chksetuid b/etc/periodic/security/100.chksetuid new file mode 100755 index 0000000..9f97919 --- /dev/null +++ b/etc/periodic/security/100.chksetuid @@ -0,0 +1,78 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" +rc=0 + +case "$daily_status_security_chksetuid_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + echo "" + echo 'Checking setuid files and devices:' + # XXX Note that there is the possibility of overrunning the args to ls + MP=`mount -t ufs | grep -v " nosuid" | awk '{ print $3 }' | sort` + if [ -n "${MP}" ] + then + set ${MP} + while [ $# -ge 1 ]; do + mount=$1 + shift + find $mount -xdev -type f \ + \( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ + \( -perm -u+s -or -perm -g+s \) -print0 + done | xargs -0 -n 20 ls -liTd | sed 's/^ *//' | sort +10 > ${TMP} + fi + + if [ ! -f ${LOG}/setuid.today ]; then + rc=1 + echo "No ${LOG}/setuid.today" + cp ${TMP} ${LOG}/setuid.today || rc=3 + fi + + if ! cmp ${LOG}/setuid.today ${TMP} >/dev/null + then + [ $rc -lt 1 ] && rc=1 + echo "${host} setuid diffs:" + diff -b ${LOG}/setuid.today ${TMP} + mv ${LOG}/setuid.today ${LOG}/setuid.yesterday || rc=3 + mv ${TMP} ${LOG}/setuid.today || rc=3 + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/200.chkmounts b/etc/periodic/security/200.chkmounts new file mode 100755 index 0000000..dbd2907 --- /dev/null +++ b/etc/periodic/security/200.chkmounts @@ -0,0 +1,73 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show changes in the way filesystems are mounted +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" +ignore="${daily_status_security_chkmounts_ignore}" +rc=0 + +case "$daily_status_security_chkmounts_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + case "$daily_status_security_noamd" in + [Yy][Ee][Ss]) + ignore="${ignore}|^amd:" + esac + [ -n "$ignore" ] && cmd="egrep -v ${ignore#|}" || cmd=cat + if mount -p | ${cmd} > ${TMP}; then + if [ ! -f ${LOG}/mount.today ]; then + rc=1 + echo "" + echo "No ${LOG}/mount.today" + cp ${TMP} ${LOG}/mount.today || rc=3 + fi + if ! cmp ${LOG}/mount.today ${TMP} >/dev/null 2>&1; then + [ $rc -lt 1 ] && rc=1 + echo "" + echo "${host} changes in mounted filesystems:" + diff -b ${LOG}/mount.today ${TMP} + mv ${LOG}/mount.today ${LOG}/mount.yesterday || rc=3 + mv ${TMP} ${LOG}/mount.today || rc=3 + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit "$rc" diff --git a/etc/periodic/security/300.chkuid0 b/etc/periodic/security/300.chkuid0 new file mode 100755 index 0000000..32cc16c --- /dev/null +++ b/etc/periodic/security/300.chkuid0 @@ -0,0 +1,51 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_security_chkuid0_enable" in + [Yy][Ee][Ss]) + echo "" + echo 'Checking for uids of 0:' + n=$(awk -F: '/^#/ {next} $3==0 {print $1,$3}' /etc/master.passwd | + tee /dev/stderr | + sed -e '/^root 0$/d' -e '/^toor 0$/d' | + wc -l) + [ $n -gt 0 ] && rc=1 || rc=0;; + *) rc=0;; +esac + +exit "$rc" diff --git a/etc/periodic/security/400.passwdless b/etc/periodic/security/400.passwdless new file mode 100755 index 0000000..42ece04 --- /dev/null +++ b/etc/periodic/security/400.passwdless @@ -0,0 +1,48 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$daily_status_security_passwdless_enable" in + [Yy][Ee][Ss]) + echo "" + echo 'Checking for passwordless accounts:' + n=$(awk -F: 'NF > 1 && $1 !~ /^[#+-]/ && $2=="" {print $0}' /etc/master.passwd | + tee /dev/stderr | wc -l) + [ $n -gt 0 ] && rc=1 || rc=0;; + *) rc=0;; +esac + +exit "$rc" diff --git a/etc/periodic/security/500.ipfwdenied b/etc/periodic/security/500.ipfwdenied new file mode 100755 index 0000000..d65d72b --- /dev/null +++ b/etc/periodic/security/500.ipfwdenied @@ -0,0 +1,69 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show denied packets +# + + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" +rc=0 + +case "$daily_status_security_ipfwdenied_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + if ipfw -a l 2>/dev/null | egrep "deny|reset|unreach" > ${TMP}; then + if [ ! -f ${LOG}/ipfw.today ]; then + rc=1 + echo "" + echo "No ${LOG}/ipfw.today" + cp ${TMP} ${LOG}/ipfw.today || rc=3 + fi + + if ! cmp ${LOG}/ipfw.today ${TMP} >/dev/null; then + [ $rc -lt 1 ] && rc=1 + echo "" + echo "${host} denied packets:" + diff -b ${LOG}/ipfw.today ${TMP} | egrep "^>" + mv ${LOG}/ipfw.today ${LOG}/ipfw.yesterday || rc=3 + mv ${TMP} ${LOG}/ipfw.today || rc=3 + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/550.ipfwlimit b/etc/periodic/security/550.ipfwlimit new file mode 100755 index 0000000..653dcf1 --- /dev/null +++ b/etc/periodic/security/550.ipfwlimit @@ -0,0 +1,61 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show ipfw rules which have reached the log limit +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 + +case "$daily_status_security_ipfwlimit_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + IPFW_LOG_LIMIT=`sysctl -n net.inet.ip.fw.verbose_limit 2> /dev/null` + if [ $? -eq 0 ] && [ "${IPFW_LOG_LIMIT}" -ne 0 ]; then + ipfw -a l | grep " log " | perl -n -e \ + '/^\d+\s+(\d+)/; print if ($1 >= '$IPFW_LOG_LIMIT')' > ${TMP} + if [ -s "${TMP}" ]; then + rc=1 + echo "" + echo 'ipfw log limit reached:' + cat ${TMP} + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/600.ip6fwdenied b/etc/periodic/security/600.ip6fwdenied new file mode 100755 index 0000000..8205876 --- /dev/null +++ b/etc/periodic/security/600.ip6fwdenied @@ -0,0 +1,69 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show IPv6 denied packets +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" +rc=0 + +case "$daily_status_security_ip6fwdenied_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + if ip6fw -a l 2>/dev/null | egrep "deny|reset|unreach" > ${TMP}; then + if [ ! -f ${LOG}/ip6fw.today ]; then + rc=1 + echo "" + echo "No ${LOG}/ip6fw.today" + cp ${TMP} ${LOG}/ip6fw.today || rc=3 + fi + + if ! cmp ${LOG}/ip6fw.today ${TMP} >/dev/null; then + [ $rc -lt 1 ] && rc=1 + echo "" + echo "${host} IPv6 denied packets:" + diff -b ${LOG}/ip6fw.today ${TMP} | + egrep "^>" + mv ${LOG}/ip6fw.today ${LOG}/ip6fw.yesterday || rc=3 + mv ${TMP} ${LOG}/ip6fw.today || rc=3 + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/650.ip6fwlimit b/etc/periodic/security/650.ip6fwlimit new file mode 100755 index 0000000..3a19c99 --- /dev/null +++ b/etc/periodic/security/650.ip6fwlimit @@ -0,0 +1,61 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show ip6fw rules which have reached the log limit +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 + +case "$daily_status_security_ip6fwlimit_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + IP6FW_LOG_LIMIT=`sysctl -n net.inet6.ip6.fw.verbose_limit 2> /dev/null` + if [ $? -eq 0 ] && [ "${IP6FW_LOG_LIMIT}" -ne 0 ]; then + ip6fw -a l | grep " log " | perl -n -e \ + '/^\d+\s+(\d+)/; print if ($1 >= '$IP6FW_LOG_LIMIT')' > ${TMP} + if [ -s "${TMP}" ]; then + rc=1 + echo "" + echo 'ip6fw log limit reached:' + cat ${TMP} + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/700.kernelmsg b/etc/periodic/security/700.kernelmsg new file mode 100755 index 0000000..5ac15c2 --- /dev/null +++ b/etc/periodic/security/700.kernelmsg @@ -0,0 +1,68 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show kernel log messages +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" +rc=0 + +case "$daily_status_security_kernelmsg_enable" in + [Yy][Ee][Ss]) + TMP=`mktemp ${TMPDIR:-/tmp}/security.XXXXXXXXXX` + if dmesg 2>/dev/null > ${TMP}; then + if [ ! -f ${LOG}/dmesg.today ]; then + rc=1 + echo "" + echo "No ${LOG}/dmesg.today" + cp ${TMP} ${LOG}/dmesg.today || rc=3 + fi + + echo "" + echo "${host} kernel log messages:" + if ! cmp ${LOG}/dmesg.today ${TMP} >/dev/null 2>&1; then + [ $rc -lt 1 ] && rc=1 + diff -b ${LOG}/dmesg.today ${TMP} | egrep "^>" + mv ${LOG}/dmesg.today ${LOG}/dmesg.yesterday || rc=3 + mv ${TMP} ${LOG}/dmesg.today || rc=3 + fi + fi + rm -f ${TMP};; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/800.loginfail b/etc/periodic/security/800.loginfail new file mode 100755 index 0000000..6ebe228 --- /dev/null +++ b/etc/periodic/security/800.loginfail @@ -0,0 +1,62 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show login failures +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" + +yesterday=`date -v-1d "+%b %e "` + +catmsgs() { + find ${LOG} -name 'auth.log.*' -mtime -2 | + sort -t. -r -n +1 -2 | + xargs zcat -f + [ -f ${LOG}/auth.log ] && cat $LOG/auth.log +} + +case "$daily_status_security_loginfail_enable" in + [Yy][Ee][Ss]) + echo "" + echo "${host} login failures:" + n=$(catmsgs | grep -ia "^$yesterday.*fail" | + tee /dev/stderr | wc -l) + [ $n -gt 0 ] && rc=1 || rc=0;; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/900.tcpwrap b/etc/periodic/security/900.tcpwrap new file mode 100755 index 0000000..0dc61dc --- /dev/null +++ b/etc/periodic/security/900.tcpwrap @@ -0,0 +1,62 @@ +#!/bin/sh - +# +# Copyright (c) 2001 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Show tcp_wrapper warning messages +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +LOG="${daily_status_security_logdir}" + +yesterday=`date -v-1d "+%b %e "` + +catmsgs() { + find ${LOG} -name 'messages.*' -mtime -2 | + sort -t. -r -n +1 -2 | + xargs zcat -f + [ -f ${LOG}/messages ] && cat $LOG/messages +} + +case "$daily_status_security_tcpwrap_enable" in + [Yy][Ee][Ss]) + echo "" + echo "${host} refused connections:" + n=$(catmsgs | grep -i "^$yesterday.*refused connect" | + tee /dev/stderr | wc -l) + [ $n -gt 0 ] && rc=1 || rc=0;; + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/security/Makefile b/etc/periodic/security/Makefile new file mode 100644 index 0000000..999ffb3 --- /dev/null +++ b/etc/periodic/security/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +FILES= 100.chksetuid \ + 200.chkmounts \ + 300.chkuid0 \ + 400.passwdless \ + 500.ipfwdenied \ + 550.ipfwlimit \ + 600.ip6fwdenied \ + 650.ip6fwlimit \ + 700.kernelmsg \ + 800.loginfail \ + 900.tcpwrap + +.include <bsd.prog.mk> diff --git a/etc/periodic/weekly/120.clean-kvmdb b/etc/periodic/weekly/120.clean-kvmdb new file mode 100755 index 0000000..603e70b --- /dev/null +++ b/etc/periodic/weekly/120.clean-kvmdb @@ -0,0 +1,49 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ]; then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_clean_kvmdb_enable" in + [Yy][Ee][Ss]) + if [ ! -d /var/db ] + then + echo '$weekly_clean_kvmdb_enable is set but /var/db' \ + "doesn't exist" + rc=2 + elif [ -z "$weekly_clean_kvmdb_days" ] + then + echo '$weekly_clean_kvmdb_enable is set but' \ + '$weekly_clean_kvmdb_days is not' + rc=2 + else + echo "" + echo "Cleaning up kernel database files:" + + kernel=`sysctl -n kern.bootfile` + kernel=kvm_${kernel##*/}.db + + case "$weekly_clean_kvmdb_verbose" in + [Yy][Ee][Ss]) + print=-print;; + *) + print=;; + esac + + rc=$(find /var/db -name "kvm_*.db" ! -name $kernel \ + -atime +$weekly_clean_kvmdb_days -delete $print | + tee /dev/stderr | wc -l) + [ -z "$print" ] && rc=0 + [ $rc -gt 1 ] && rc=1 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/310.locate b/etc/periodic/weekly/310.locate new file mode 100755 index 0000000..e6921ab --- /dev/null +++ b/etc/periodic/weekly/310.locate @@ -0,0 +1,32 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_locate_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Rebuilding locate database:" + + locdb=/var/db/locate.database + + touch $locdb && rc=0 || rc=3 + chown nobody $locdb || rc=3 + chmod 644 $locdb || rc=3 + + cd / + echo /usr/libexec/locate.updatedb | nice -5 su -fm nobody || rc=3 + chmod 444 $locdb || rc=3;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/320.whatis b/etc/periodic/weekly/320.whatis new file mode 100755 index 0000000..dfc218a --- /dev/null +++ b/etc/periodic/weekly/320.whatis @@ -0,0 +1,51 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_whatis_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Rebuilding whatis database:" + + MANPATH=`/usr/bin/manpath -q` + if [ $? = 0 ] + then + if [ -z "${MANPATH}" ] + then + echo "manpath failed to find any manpage directories" + rc=3 + else + man_locales=`/usr/bin/manpath -qL` + rc=0 + + # Build whatis(1) database(s) for original, non-localized + # manpages. + /usr/libexec/makewhatis.local "${MANPATH}" || rc=3 + + # Build whatis(1) database(s) for localized manpages. + if [ X"${man_locales}" != X ] + then + for i in ${man_locales} + do + LC_ALL=$i /usr/libexec/makewhatis.local -a \ + -L "${MANPATH}" || rc=3 + done + fi + fi + else + rc=3 + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/330.catman b/etc/periodic/weekly/330.catman new file mode 100755 index 0000000..9fed4e5 --- /dev/null +++ b/etc/periodic/weekly/330.catman @@ -0,0 +1,58 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_catman_enable" in + [Yy][Ee][Ss]) + if [ ! -d /usr/share/man/cat1 ] + then + echo '$weekly_catman_enable is set but /usr/share/man/cat1' \ + "doesn't exist" + rc=2 + else + echo "" + echo "Reformatting manual pages:" + + MANPATH=`/usr/bin/manpath -q` + if [ $? = 0 ] + then + if [ -z "${MANPATH}" ] + then + echo "manpath failed to find any manpath directories" + rc=3 + else + man_locales=`/usr/bin/manpath -qL` + rc=0 + + # Preformat original, non-localized manpages + echo /usr/libexec/catman.local "$MANPATH" | + su -fm man || rc=3 + + # Preformat localized manpages. + if [ -n "$man_locales" ] + then + for i in $man_locales + do + echo /usr/libexec/catman.local -L \ + "$MANPATH" | LC_ALL=$i su -fm man || rc=3 + done + fi + fi + else + rc=3 + fi + fi;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/340.noid b/etc/periodic/weekly/340.noid new file mode 100644 index 0000000..11a5f53 --- /dev/null +++ b/etc/periodic/weekly/340.noid @@ -0,0 +1,29 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_noid_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Check for files with an unknown user or group:" + + rc=$(find -H ${weekly_noid_dirs:-/} \ + \( ! -fstype local -prune -or -name \* \) -and \ + \( -nogroup -o -nouser \) -print | sed 's/^/ /' | + tee /dev/stderr | wc -l) + [ $rc -gt 1 ] && rc=1 + ;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/400.status-pkg b/etc/periodic/weekly/400.status-pkg new file mode 100755 index 0000000..aac1d6a --- /dev/null +++ b/etc/periodic/weekly/400.status-pkg @@ -0,0 +1,33 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +case "$weekly_status_pkg_enable" in + [Yy][Ee][Ss]) + echo "" + echo "Check for out of date packages:" + + rc=$(pkg_version -v | + sed -n -e 's/^\([^ ]*\) *< */ \1 /p' \ + -e '/^[^ ]*-\([^ ]*\) *\* *multiple versions.*[ ,]\1[,)].*/d' \ + -e 's/^\([^ ]*\) *\* *multiple versions.*\((.*\)/ \1 needs updating \2/p' \ + -e 's/^\(bsdpan-[^ ]*\) *? *unknown in index/ \1 may be outdated - check CPAN version manually/p' \ + -e 's/^\([^ ]*-[^ ]*\) *? *unknown in index/ \1 is obsolete/p' \ + -e 's/^\([^ ]*-[^ ]*\) *? *\(orphaned:.*\)$/ \1 was \2/p' | + tee /dev/stderr | + wc -l) + [ $rc -gt 1 ] && rc=1;; + + *) rc=0;; +esac + +exit $rc diff --git a/etc/periodic/weekly/999.local b/etc/periodic/weekly/999.local new file mode 100755 index 0000000..3951bb5 --- /dev/null +++ b/etc/periodic/weekly/999.local @@ -0,0 +1,35 @@ +#!/bin/sh - +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/periodic.conf ] +then + . /etc/defaults/periodic.conf + source_periodic_confs +fi + +rc=0 +for script in $weekly_local +do + echo '' + case "$script" in + /*) + if [ -f "$script" ] + then + echo "Running $script:" + + sh $script || rc=3 + else + echo "$script: No such file" + [ $rc -lt 2 ] && rc=2 + fi;; + *) + echo "$script: Not an absolute path" + [ $rc -lt 2 ] && rc=2;; + esac +done + +exit $rc diff --git a/etc/periodic/weekly/Makefile b/etc/periodic/weekly/Makefile new file mode 100644 index 0000000..090fa6b --- /dev/null +++ b/etc/periodic/weekly/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +FILES= 120.clean-kvmdb \ + 310.locate \ + 320.whatis \ + 330.catman \ + 340.noid \ + 400.status-pkg \ + 999.local + +.include <bsd.prog.mk> diff --git a/etc/phones b/etc/phones new file mode 100644 index 0000000..536ac20 --- /dev/null +++ b/etc/phones @@ -0,0 +1,11 @@ +# $FreeBSD$ +# From: @(#)phones 5.2 (Berkeley) 6/30/90 +# +# phones -- remote host phone number data base +# see tip(1), phones(5) +# +system1 9=3155557750 +system2 9145551241 +netcom 1(408)555-9760 +netcom 1(415)555-9940 +omen 1(503)555-3746 diff --git a/etc/ppp/ppp.conf b/etc/ppp/ppp.conf new file mode 100644 index 0000000..209afa8 --- /dev/null +++ b/etc/ppp/ppp.conf @@ -0,0 +1,37 @@ +################################################################# +# PPP Sample Configuration File +# Originally written by Toshiharu OHNO +# Simplified 5/14/1999 by wself@cdrom.com +# +# See /usr/share/examples/ppp/ for some examples +# +# $FreeBSD$ +################################################################# + +default: + set log Phase Chat LCP IPCP CCP tun command + ident user-ppp VERSION (built COMPILATIONDATE) + + # Ensure that "device" references the correct serial port + # for your modem. (cuaa0 = COM1, cuaa1 = COM2) + # + set device /dev/cuaa1 + + set speed 115200 + set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \ + \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" + set timeout 180 # 3 minute idle timer (the default) + enable dns # request DNS info (for resolv.conf) + +papchap: + # + # edit the next three lines and replace the items in caps with + # the values which have been assigned by your ISP. + # + + set phone PHONE_NUM + set authname USERNAME + set authkey PASSWORD + + set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0 + add default HISADDR # Add a (sticky) default route diff --git a/etc/printcap b/etc/printcap new file mode 100644 index 0000000..de5bea2 --- /dev/null +++ b/etc/printcap @@ -0,0 +1,54 @@ +# @(#)printcap 5.3 (Berkeley) 6/30/90 +# $FreeBSD$ + +# +# This enables a simple local "raw" printer, hooked up to the first +# parallel port. No kind of filtering is done, so everything you pass +# to the "lpr" command will be printed unmodified. +# +# Remember, for further print queues you're going to add, you have +# to choose different spool directories (the "sd" capability below), +# otherwise you will greatly confuse lpd. +# +# For some advanced printing, have a look at the "apsfilter" package. +# It plugs into the lpd system, allowing you to print a variety of +# different file types by converting everything to PostScript(tm) +# format. For more information about apsfilter visit +# +# http://www.apsfilter.org/ +# +# If you don't have a PostScript(tm) printer, don't panic, but do +# also install the latest "ghostscript" package for best printer support. +# +# Do also refer to the "printing" section of the handbook. +# +# http://www.freebsd.org/doc/handbook/printing.html +# +# A local copy can be found under +# +# /usr/share/doc/handbook/handbook.{html,latin1}. +# +# Banner pages are now suppressed by default. Remove the :sh: capability +# to turn them back on. +# +#lp|local line printer:\ +# :sh:\ +# :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: +# +# Sample remote printer. The physical printer is on machine "lphost". +# You can perform any kind of local filtering directly. If you need +# local filters (e.g. LF -> CR-LF conversion for HP printers), create +# a filter script that sends the proper escape sequence to the printer +# and then concatenates stdin to stdout. +# +#remote|sample remote printer:\ +# :sh:\ +# :rm=lphost:sd=/var/spool/output/lphost:lf=/var/log/lpd-errs:\ +# :if=/usr/local/libexec/if-script: +# +# Simple Russian printer with hardware CP866 character set, output filter +# used for KOI8-R -> CP866 conversion +# +#lp|Russian local line printer:\ +# :sh:of=/usr/libexec/lpr/ru/koi2alt:\ +# :lp=/dev/lpt0:sd=/var/spool/output/lpd:lf=/var/log/lpd-errs: diff --git a/etc/profile b/etc/profile new file mode 100644 index 0000000..4705247 --- /dev/null +++ b/etc/profile @@ -0,0 +1,18 @@ +# $FreeBSD$ +# +# System-wide .profile file for sh(1). +# +# Uncomment this to give you the default 4.2 behavior, where disk +# information is shown in K-Blocks +# BLOCKSIZE=K; export BLOCKSIZE +# +# For the setting of languages and character sets please see +# login.conf(5) and in particular the charset and lang options. +# For full locales list check /usr/share/locale/* +# You should also read the setlocale(3) man page for information +# on how to achieve more precise control of locale settings. +# +# Read system messages +# msgs -f +# Allow terminal messages +# mesg y diff --git a/etc/protocols b/etc/protocols new file mode 100644 index 0000000..8530883 --- /dev/null +++ b/etc/protocols @@ -0,0 +1,146 @@ +# +# Internet protocols +# +# $FreeBSD$ +# from: @(#)protocols 5.1 (Berkeley) 4/17/89 +# +# See also http://www.iana.org/assignments/protocol-numbers +# +ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # hop-by-hop options for ipv6 +icmp 1 ICMP # internet control message protocol +igmp 2 IGMP # internet group management protocol +ggp 3 GGP # gateway-gateway protocol +ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') +st2 5 ST2 # ST2 datagram mode (RFC 1819) +tcp 6 TCP # transmission control protocol +cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk> +egp 8 EGP # exterior gateway protocol +igp 9 IGP # any private interior gateway (Cisco: for IGRP) +bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring +nvp 11 NVP-II # Network Voice Protocol +pup 12 PUP # PARC universal packet protocol +argus 13 ARGUS # ARGUS +emcon 14 EMCON # EMCON +xnet 15 XNET # Cross Net Debugger +chaos 16 CHAOS # Chaos +udp 17 UDP # user datagram protocol +mux 18 MUX # Multiplexing protocol +dcn 19 DCN-MEAS # DCN Measurement Subsystems +hmp 20 HMP # host monitoring protocol +prm 21 PRM # packet radio measurement protocol +xns-idp 22 XNS-IDP # Xerox NS IDP +trunk-1 23 TRUNK-1 # Trunk-1 +trunk-2 24 TRUNK-2 # Trunk-2 +leaf-1 25 LEAF-1 # Leaf-1 +leaf-2 26 LEAF-2 # Leaf-2 +rdp 27 RDP # "reliable datagram" protocol +irtp 28 IRTP # Internet Reliable Transaction Protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 +netblt 30 NETBLT # Bulk Data Transfer Protocol +mfe-nsp 31 MFE-NSP # MFE Network Services Protocol +merit-inp 32 MERIT-INP # MERIT Internodal Protocol +sep 33 SEP # Sequential Exchange Protocol +3pc 34 3PC # Third Party Connect Protocol +idpr 35 IDPR # Inter-Domain Policy Routing Protocol +xtp 36 XTP # Xpress Tranfer Protocol +ddp 37 DDP # Datagram Delivery Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto +tp++ 39 TP++ # TP++ Transport Protocol +il 40 IL # IL Transport Protocol +ipv6 41 IPV6 # ipv6 +sdrp 42 SDRP # Source Demand Routing Protocol +ipv6-route 43 IPV6-ROUTE # routing header for ipv6 +ipv6-frag 44 IPV6-FRAG # fragment header for ipv6 +idrp 45 IDRP # Inter-Domain Routing Protocol +rsvp 46 RSVP # Resource ReSerVation Protocol +gre 47 GRE # Generic Routing Encapsulation +mhrp 48 MHRP # Mobile Host Routing Protocol +bna 49 BNA # BNA +esp 50 ESP # encapsulating security payload +ah 51 AH # authentication header +i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA +swipe 53 SWIPE # IP with Encryption +narp 54 NARP # NBMA Address Resolution Protocol +mobile 55 MOBILE # IP Mobility +tlsp 56 TLSP # Transport Layer Security Protocol +skip 57 SKIP # SKIP +ipv6-icmp 58 IPV6-ICMP # ICMP for IPv6 +ipv6-nonxt 59 IPV6-NONXT # no next header for ipv6 +ipv6-opts 60 IPV6-OPTS # destination options for ipv6 +# 61 # any host internal protocol +cftp 62 CFTP # CFTP +# 63 # any local network +sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK +kryptolan 65 KRYPTOLAN # Kryptolan +rvd 66 RVD # MIT Remote Virtual Disk Protocol +ippc 67 IPPC # Internet Pluribus Packet Core +# 68 # any distributed filesystem +sat-mon 69 SAT-MON # SATNET Monitoring +visa 70 VISA # VISA Protocol +ipcv 71 IPCV # Internet Packet Core Utility +cpnx 72 CPNX # Computer Protocol Network Executive +cphb 73 CPHB # Computer Protocol Heart Beat +wsn 74 WSN # Wang Span Network +pvp 75 PVP # Packet Video Protocol +br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring +sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary +wb-mon 78 WB-MON # WIDEBAND Monitoring +wb-expak 79 WB-EXPAK # WIDEBAND EXPAK +iso-ip 80 ISO-IP # ISO Internet Protocol +vmtp 81 VMTP # Versatile Message Transport +secure-vmtp 82 SECURE-VMTP # SECURE-VMTP +vines 83 VINES # VINES +ttp 84 TTP # TTP +nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP +dgp 86 DGP # Dissimilar Gateway Protocol +tcf 87 TCF # TCF +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) +ospf 89 OSPFIGP # Open Shortest Path First IGP +sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol +larp 91 LARP # Locus Address Resolution Protocol +mtp 92 MTP # Multicast Transport Protocol +ax.25 93 AX.25 # AX.25 Frames +ipip 94 IPIP # Yet Another IP encapsulation +micp 95 MICP # Mobile Internetworking Control Pro. +scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro. +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation +encap 98 ENCAP # Yet Another IP encapsulation +# 99 # any private encryption scheme +gmtp 100 GMTP # GMTP +ifmp 101 IFMP # Ipsilon Flow Management Protocol +pnni 102 PNNI # PNNI over IP +pim 103 PIM # Protocol Independent Multicast +aris 104 ARIS # ARIS +scps 105 SCPS # SCPS +qnx 106 QNX # QNX +a/n 107 A/N # Active Networks +ipcomp 108 IPComp # IP Payload Compression Protocol +snp 109 SNP # Sitara Networks Protocol +compaq-peer 110 Compaq-Peer # Compaq Peer Protocol +ipx-in-ip 111 IPX-in-IP # IPX in IP +vrrp 112 VRRP # Virtual Router Redundancy Protocol +pgm 113 PGM # PGM Reliable Transport Protocol +# 114 # any 0-hop protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol +ddx 116 DDX # D-II Data Exchange +iatp 117 IATP # Interactive Agent Transfer Protocol +st 118 ST # Schedule Transfer +srp 119 SRP # SpectraLink Radio Protocol +uti 120 UTI # UTI +smp 121 SMP # Simple Message Protocol +sm 122 SM # SM +ptp 123 PTP # Performance Transparency Protocol +isis 124 ISIS # ISIS over IPv4 +fire 125 FIRE +crtp 126 CRTP # Combat Radio Transport Protocol +crudp 127 CRUDP # Combat Radio User Datagram +sscopmce 128 SSCOPMCE +iplt 129 IPLT +sps 130 SPS # Secure Packet Shield +pipe 131 PIPE # Private IP Encapsulation within IP +sctp 132 SCTP # Stream Control Transmission Protocol +fc 133 FC # Fibre Channel +# 134-254 # Unassigned +divert 254 DIVERT # Divert pseudo-protocol [non IANA] +# 255 # Reserved @@ -0,0 +1,992 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)rc 5.27 (Berkeley) 6/5/91 +# $FreeBSD$ +# + +# System startup script run by init on autoboot +# or after single-user. +# Output and error are redirected to console by init, +# and the console is the controlling terminal. + +# Note that almost all of the user-configurable behavior is no longer in +# this file, but rather in /etc/defaults/rc.conf. Please check that file +# first before contemplating any changes here. If you do need to change +# this file for some reason, we would like to know about it. + +stty status '^T' + +# Set shell to ignore SIGINT (2), but not children; +# shell catches SIGQUIT (3) and returns to single user after fsck. +# +trap : 2 +trap : 3 # shouldn't be needed + +HOME=/ +PATH=/sbin:/bin:/usr/sbin:/usr/bin +export HOME PATH + +# If there is a global system configuration file, suck it in. +# XXX - The only purpose of duplicating it here is to catch rc_ng="YES" +# +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +# Diskless setups have to depend on a different mechanism since +# their config files haven't been retargeted yet. +# +[ -e /.rcng_yes ] && rc_ng="YES" + +case ${rc_ng} in +[Yy][Ee][Ss]) + . /etc/rc.subr + + # Load system configuration files. The 'XXX' is there because + # the function requires an argument that we don't need to use. + # + load_rc_config 'XXX' + + if [ "$1" = autoboot ]; then + autoboot=yes + _boot="faststart" + rc_fast=yes # run_rc_command(): do fast booting + else + autoboot=no + _boot="start" + fi + + os=`eval ${CMD_OSTYPE}` + files=`rcorder -k ${os} -s nostart /etc/rc.d/*` + + for _rc_elem in ${files}; do + run_rc_script ${_rc_elem} ${_boot} + done + + echo '' + date + exit 0 + ;; +*) + # fall-through to the old rc scripts + ;; +esac + +bootmode=$1 + +# BOOTP diskless boot. We have to run the rc file early in order to +# retarget various config files. +# +if [ -r /etc/rc.diskless1 ]; then + dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` + if [ ${dlv:=0} != 0 ]; then + . /etc/rc.diskless1 + fi +fi + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +# XXX - Deprecated variable name support +# for rpcbind and ntpd +# +[ -n "$portmap_enable" ] && rpcbind_enable="$portmap_enable" +[ -n "$portmap_program" ] && rpcbind_program="$portmap_program" +[ -n "$portmap_flags" ] && rpcbind_flags="$portmap_flags" +[ -n "$single_mountd_enable" ] && mountd_enable="$single_mountd_enable" +[ -n "$xntpd_enable" ] && ntpd_enable="$xntpd_enable" +[ -n "$xntpd_program" ] && ntpd_program="$xntpd_program" +[ -n "$xntpd_flags" ] && ntpd_flags="$xntpd_flags" + +feed_dev_random() { + if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then +# echo "Using ${1} as an entropy file" + cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null + fi +} + +chkdepend() { + svc=$1 + svc_var=$2 + dep=$3 + dep_var=$4 + + eval svc_val=\${$svc_var} + eval dep_val=\${$dep_var} + + case ${svc_val} in + [Yy][Ee][Ss]) + case ${dep_val} in + [Yy][Ee][Ss]) + ;; + *) + eval ${dep_var}="YES" + echo "DEPENDENCY NOTE: ${dep} will be enabled" \ + "to support ${svc}" + ;; + esac + ;; + esac +} + +chkdepend amd amd_enable rpcbind rpcbind_enable +chkdepend amd amd_enable NFS nfs_client_enable +chkdepend NFS nfs_server_enable rpcbind rpcbind_enable +chkdepend NIS nis_server_enable rpcbind rpcbind_enable +chkdepend NIS nis_client_enable rpcbind rpcbind_enable + +# Enable dumpdev early so that a crash during the boot process can be caught. +# +case ${dumpdev} in +[Nn][Oo] | '') + dumpdev='NO' + ;; +*) + /sbin/dumpon -v ${dumpdev} + ;; +esac + +# Enable harvesting of entropy via devices. The sooner this happens the +# better so that we can take advantage of the boot process. +# +echo -n 'Entropy harvesting:' + +case ${harvest_interrupt} in +[Nn][Oo]) + ;; +*) + if [ -w /dev/random ]; then + /sbin/sysctl kern.random.sys.harvest.interrupt=1 >/dev/null + echo -n ' interrupts' + fi + ;; +esac + +case ${harvest_ethernet} in +[Nn][Oo]) + ;; +*) + if [ -w /dev/random ]; then + /sbin/sysctl kern.random.sys.harvest.ethernet=1 >/dev/null + echo -n ' ethernet' + fi + ;; +esac + +case ${harvest_p_to_p} in +[Nn][Oo]) + ;; +*) + if [ -w /dev/random ]; then + /sbin/sysctl kern.random.sys.harvest.point_to_point=1 >/dev/null + echo -n ' point_to_point' + fi + ;; +esac + +echo '.' + +# First pass at reseeding /dev/random. +# +case ${entropy_file} in +[Nn][Oo] | '') + ;; +*) + if [ -w /dev/random ]; then + feed_dev_random "${entropy_file}" + fi + ;; +esac + +# XXX temporary until we can get the entropy +# harvesting rate up +# Entropy below is not great, +# but better than nothing. +( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \ + | dd of=/dev/random bs=8k 2>/dev/null +cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null + +# Configure ccd devices. +# +if [ -r /etc/ccd.conf ]; then + ccdconfig -C +fi + +case ${start_vinum} in +[Yy][Ee][Ss]) + vinum start + ;; +esac + +swapon -a + +# Last chance to do things before potentially waiting for +# operator to do fsck related tasks +if [ -r /etc/rc.early ]; then + . /etc/rc.early +fi + +case ${bootmode} in +autoboot) + echo 'Automatic boot in progress...' + case ${background_fsck} in + [Yy][Ee][Ss]) + fsck -F -p + ;; + *) + fsck -p + ;; + esac + case $? in + 0) + ;; + 2) + exit 1 + ;; + 4) + reboot + echo 'Reboot failed... help!' + exit 1 + ;; + 8) + case ${fsck_y_enable} in + [Yy][Ee][Ss]) + echo 'File system preen failed, trying fsck -y . . .' + fsck -y + case $? in + 0) + ;; + *) + echo 'Automatic filesystem check failed . . . help!' + exit 1 + ;; + esac + ;; + *) + echo 'Automatic filesystem check failed . . . help!' + exit 1 + ;; + esac + ;; + 12) + echo 'Reboot interrupted' + exit 1 + ;; + 130) + # interrupt before catcher installed + exit 1 + ;; + *) + echo 'Unknown error in reboot' + exit 1 + ;; + esac + ;; +*) + echo 'Skipping disk checks ...' + ;; +esac + +set -T +trap "echo 'Reboot interrupted'; exit 1" 3 + +# root normally must be read/write, but if this is a BOOTP NFS +# diskless boot it does not have to be. +# +case ${root_rw_mount} in +[Nn][Oo] | '') + ;; +*) + if ! mount -u -o rw / ; then + echo 'Mounting root filesystem rw failed, startup aborted' + exit 1 + fi + ;; +esac + +umount -a >/dev/null 2>&1 + +# Set up the list of network filesystem types for which mounting should be +# delayed until after network initialization. +networkfs_types='nfs:NFS smbfs:SMB portalfs:PORTAL' +case ${extra_netfs_types} in +[Nn][Oo]) + ;; +*) + networkfs_types="${networkfs_types} ${extra_netfs_types}" + ;; +esac + +# Mount everything except nfs filesystems. +mount_excludes='no' +for i in ${networkfs_types}; do + fstype=${i%:*} + mount_excludes="${mount_excludes}${fstype}," +done +mount_excludes=${mount_excludes%,} +mount -a -t ${mount_excludes} + +case $? in +0) + ;; +*) + echo 'Mounting /etc/fstab filesystems failed, startup aborted' + exit 1 + ;; +esac + +# Run custom disk mounting function here +# +if [ -n "${diskless_mount}" -a -r "${diskless_mount}" ]; then + sh ${diskless_mount} +fi + +# If we booted a special kernel remove the record so we will boot +# the default kernel next time +rm -f /boot/nextboot.conf + +# Reseed /dev/random with previously stored entropy. +case ${entropy_dir} in +[Nn][Oo]) + ;; +*) + entropy_dir=${entropy_dir:-/var/db/entropy} + if [ -d "${entropy_dir}" ]; then + if [ -w /dev/random ]; then + for seedfile in ${entropy_dir}/*; do + feed_dev_random "${seedfile}" + done + fi + fi + ;; +esac + +case ${entropy_file} in +[Nn][Oo] | '') + ;; +*) + if [ -w /dev/random ]; then + feed_dev_random "${entropy_file}" + fi + ;; +esac + +adjkerntz -i + +purgedir() { + local dir file + + if [ $# -eq 0 ]; then + purgedir . + else + for dir + do + ( + cd "$dir" && for file in .* * + do + [ ."$file" = .. -o ."$file" = ... ] && continue + if [ -d "$file" -a ! -L "$file" ] + then + purgedir "$file" + else + rm -f -- "$file" + fi + done + ) + done + fi +} + +clean_var() { + if [ -d /var/run -a ! -f /var/run/clean_var ]; then + purgedir /var/run + # Keep a copy of the boot messages around + dmesg >/var/run/dmesg.boot + # And an initial utmp file + (cd /var/run && cp /dev/null utmp && chmod 644 utmp;) + >/var/run/clean_var + fi + if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then + purgedir /var/spool/lock + >/var/spool/lock/clean_var + fi + rm -rf /var/spool/uucp/.Temp/* +} + +# network_pass1() *may* end up writing stuff to /var - we don't want to +# remove it immediately afterwards - *nor* do we want to fail to clean +# an NFS-mounted /var. +rm -f /var/run/clean_var /var/spool/lock/clean_var +clean_var + +# Add additional swapfile, if configured. +# +case ${swapfile} in +[Nn][Oo] | '') + ;; +*) + if [ -w "${swapfile}" -a -c /dev/mdctl ]; then + echo "Adding ${swapfile} as additional swap" + mdev=`mdconfig -a -t vnode -f ${swapfile}` && swapon /dev/${mdev} + fi + ;; +esac + +# Early pass to set the variables we can +# +if [ -r /etc/rc.sysctl ]; then + sh /etc/rc.sysctl first +fi + +# Configure serial devices +# +if [ -r /etc/rc.serial ]; then + . /etc/rc.serial +fi + +# Start up PC-card configuration +# +if [ -r /etc/rc.pccard ]; then + . /etc/rc.pccard +fi + +# Start up the initial network configuration. +# +if [ -r /etc/rc.network ]; then + . /etc/rc.network # We only need to do this once. + network_pass1 +fi + +case ${ipv6_enable} in +[Yy][Ee][Ss]) + if [ -r /etc/rc.network6 ]; then + . /etc/rc.network6 # We only need to do this once also. + network6_pass1 + fi + ;; +esac + +# Mount NFS filesystems if present in /etc/fstab +# +# XXX When the vfsload() issues with nfsclient support and related sysctls +# have been resolved, this block can be removed, and the condition that +# skips nfs in the following block (for "other network filesystems") can +# be removed. +case "`mount -d -a -t nfs 2> /dev/null`" in +*mount_nfs*) + # Handle absent nfs client support + nfsclient_in_kernel=0 + if sysctl vfs.nfs >/dev/null 2>&1; then + nfsclient_in_kernel=1 + else + kldload nfsclient && nfsclient_in_kernel=1 + fi + + case ${nfsclient_in_kernel} in + 1) + echo -n 'Mounting NFS filesystem:' + mount -a -t nfs + echo '.' + ;; + *) + echo 'Warning: nfs mount requested, but no nfs client in kernel' + ;; + esac + ;; +esac + +# Mount other network filesystems if present in /etc/fstab +for i in ${networkfs_types}; do + fstype=${i%:*} + fsdecr=${i#*:} + + if [ "${fstype}" = "nfs" ]; then + continue + fi + case "`mount -d -a -t ${fstype}`" in + *mount_${fstype}*) + echo -n "Mounting ${fsdecr} filesystems:" + mount -a -t ${fstype} + echo '.' + ;; + esac +done + +# Whack the pty perms back into shape. +# +if ls /dev/tty[pqrsPQRS]* > /dev/null 2>&1; then + chflags 0 /dev/tty[pqrsPQRS]* + chmod 666 /dev/tty[pqrsPQRS]* + chown root:wheel /dev/tty[pqrsPQRS]* +fi + +# Clean up left-over files +# +clean_var # If it hasn't already been done +rm /var/run/clean_var /var/spool/lock/clean_var + +# Clearing /tmp at boot-time seems to have a long tradition. It doesn't +# help in any way for long-living systems, and it might accidentally +# clobber files you would rather like to have preserved after a crash +# (if not using mfs /tmp anyway). +# +# See also the example of another cleanup policy in /etc/periodic/daily. +# +case ${clear_tmp_enable} in +[Yy][Ee][Ss]) + echo -n 'Clearing /tmp:' + # prune quickly with one rm, then use find to clean up /tmp/[lq]* + # (not needed with mfs /tmp, but doesn't hurt there...) + (cd /tmp && rm -rf [a-km-pr-zA-Z]* && + find -d . ! -name . ! -name lost+found ! -name quota.user \ + ! -name quota.group -exec rm -rf -- {} \;) + echo '.' + ;; +esac + +# Remove X lock files, since they will prevent you from restarting X11 +# after a system crash. +# +rm -f /tmp/.X*-lock +rm -fr /tmp/.X11-unix +mkdir -m 1777 /tmp/.X11-unix + +# Snapshot any kernel -c changes back to disk here <someday>. +# This has changed with ELF and /kernel.config. + +# Load LOMAC(4) security if wanted. +case ${lomac_enable} in +[Yy][Ee][Ss]) + kldload lomac >/dev/null 2>&1 + ;; +esac + +echo -n 'Additional daemons:' + +# Start system logging and name service. Named needs to start before syslogd +# if you don't have a /etc/resolv.conf. +# +case ${syslogd_enable} in +[Yy][Ee][Ss]) + # Transitional symlink (for the next couple of years :) until all + # binaries have had a chance to move towards /var/run/log. + if [ ! -L /dev/log ]; then + # might complain for r/o root f/s + ln -sf /var/run/log /dev/log + fi + + rm -f /var/run/log + echo -n ' syslogd'; + ${syslogd_program:-/usr/sbin/syslogd} ${syslogd_flags} + ;; +esac + +echo '.' + +# Build device name databases if we are not using DEVFS +# +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + rm -f /var/run/dev.db +else + dev_mkdb +fi + +# $dumpdir should be a directory or a symbolic link +# to the crash directory if core dumps are to be saved. +# +if [ "${dumpdev}" != 'NO' ]; then + case ${dumpdir} in + '') + dumpdir='/var/crash' + ;; + [Nn][Oo]) + dumpdir='NO' + ;; + esac + + if [ "${dumpdir}" != 'NO' ]; then + echo -n 'Checking for core dump: ' + /sbin/savecore ${savecore_flags} "${dumpdir}" + fi +fi + +if [ -n "${network_pass1_done}" ]; then + network_pass2 +fi + +# Enable/Check the quotas (must be after ypbind if using NIS) +# +case ${enable_quotas} in +[Yy][Ee][Ss]) + case ${check_quotas} in + [Yy][Ee][Ss]) + echo -n 'Checking quotas:' + quotacheck -a + echo ' done.' + ;; + esac + + echo -n 'Enabling quotas:' + quotaon -a + echo ' done.' + ;; +esac + +if [ -n "${network_pass2_done}" ]; then + network_pass3 +fi + +# Check the password temp/lock file +# +if [ -e /etc/ptmp ]; then + logger -s -p auth.err \ + "password file may be incorrect -- /etc/ptmp exists" +fi + +case ${accounting_enable} in +[Yy][Ee][Ss]) + if [ -d /var/account ]; then + echo 'Turning on accounting:' + if [ ! -e /var/account/acct ]; then + touch /var/account/acct + fi + accton /var/account/acct + fi + ;; +esac + +# Make shared lib searching a little faster. Leave /usr/lib first if you +# add your own entries or you may come to grief. +# +ldconfig="/sbin/ldconfig" +case ${ldconfig_insecure} in +[Yy][Ee][Ss]) + ldconfig="${ldconfig} -i" + ;; +esac +if [ -x /sbin/ldconfig ]; then + case `/usr/bin/objformat` in + elf) + _LDC=/usr/lib + for i in ${ldconfig_paths}; do + if [ -d "${i}" ]; then + _LDC="${_LDC} ${i}" + fi + done + echo 'ELF ldconfig path:' ${_LDC} + ${ldconfig} -elf ${_LDC} + ;; + esac + + # Legacy aout support for i386 only + case `sysctl -n hw.machine_arch` in + i386) + # Default the a.out ldconfig path. + : ${ldconfig_paths_aout=${ldconfig_paths}} + _LDC=/usr/lib/aout + for i in ${ldconfig_paths_aout}; do + if [ -d "${i}" ]; then + _LDC="${_LDC} ${i}" + fi + done + echo 'a.out ldconfig path:' ${_LDC} + ${ldconfig} -aout ${_LDC} + ;; + esac +fi + +# Now start up miscellaneous daemons that don't belong anywhere else +# +echo -n 'Starting standard daemons:' +case ${inetd_enable} in +[Nn][Oo]) + ;; +*) + echo -n ' inetd'; ${inetd_program:-/usr/sbin/inetd} ${inetd_flags} + ;; +esac + +case ${cron_enable} in +[Nn][Oo]) + ;; +*) + echo -n ' cron'; ${cron_program:-/usr/sbin/cron} ${cron_flags} + ;; +esac + +case ${lpd_enable} in +[Yy][Ee][Ss]) + echo -n ' printer'; ${lpd_program:-/usr/sbin/lpd} ${lpd_flags} + ;; +esac + +case ${sshd_enable} in +[Yy][Ee][Ss]) + if [ -x ${sshd_program:-/usr/sbin/sshd} ]; then + echo -n ' sshd'; + ${sshd_program:-/usr/sbin/sshd} ${sshd_flags} + fi + ;; +esac + +case ${usbd_enable} in +[Yy][Ee][Ss]) + echo -n ' usbd'; /usr/sbin/usbd ${usbd_flags} + ;; +esac + +case ${mta_start_script} in +/*) + if [ -r ${mta_start_script} ]; then + sh ${mta_start_script} + fi + ;; +esac + +echo '.' + +# Recover vi editor files. +find /var/tmp/vi.recover ! -type f -a ! -type d -delete +vibackup=`echo /var/tmp/vi.recover/vi.*` +if [ "${vibackup}" != '/var/tmp/vi.recover/vi.*' ]; then + echo -n 'Recovering vi editor sessions:' + for i in /var/tmp/vi.recover/vi.*; do + # Only test files that are readable. + if [ ! -r "${i}" ]; then + continue + fi + + # Unmodified nvi editor backup files either have the + # execute bit set or are zero length. Delete them. + if [ -x "${i}" -o ! -s "${i}" ]; then + rm -f "${i}" + fi + done + + # It is possible to get incomplete recovery files, if the editor + # crashes at the right time. + virecovery=`echo /var/tmp/vi.recover/recover.*` + if [ "${virecovery}" != "/var/tmp/vi.recover/recover.*" ]; then + for i in /var/tmp/vi.recover/recover.*; do + # Only test files that are readable. + if [ ! -r "${i}" ]; then + continue + fi + + # Delete any recovery files that are zero length, + # corrupted, or that have no corresponding backup file. + # Else send mail to the user. + recfile=`awk '/^X-vi-recover-path:/{print $2}' < "${i}"` + if [ -n "${recfile}" -a -s "${recfile}" ]; then + sendmail -t < "${i}" + else + rm -f "${i}" + fi + done + fi + echo '.' +fi + +# Make a bounds file for msgs(1) if there isn't one already +# +if [ -d /var/msgs -a ! -f /var/msgs/bounds -a ! -L /var/msgs/bounds ]; then + echo 0 > /var/msgs/bounds +fi + +case ${update_motd} in +[Nn][Oo] | '') + ;; +*) + if T=`mktemp /tmp/_motd.XXXXXX`; then + uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T} + awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T} + cmp -s ${T} /etc/motd || { + cp ${T} /etc/motd + chmod 644 /etc/motd + } + rm -f ${T} + fi + ;; +esac + +# Run rc.devfs if readable to customize devfs +# +if [ -r /etc/rc.devfs ]; then + sh /etc/rc.devfs +fi + +# Configure implementation specific stuff +# +arch=`uname -p` +if [ -r /etc/rc.${arch} ]; then + . /etc/rc.${arch} +fi + +# Configure the system console +# +if [ -r /etc/rc.syscons ]; then + . /etc/rc.syscons +fi + +echo -n 'Additional ABI support:' + +# Load the SysV IPC API if requested. +case ${sysvipc_enable} in +[Yy][Ee][Ss]) + echo -n ' sysvipc' + kldload sysvmsg >/dev/null 2>&1 + kldload sysvsem >/dev/null 2>&1 + kldload sysvshm >/dev/null 2>&1 + ;; +esac + +# Start the Linux binary compatibility if requested. +# +case ${linux_enable} in +[Yy][Ee][Ss]) + echo -n ' linux' + if ! kldstat -v | grep -E 'linux(aout|elf)' > /dev/null; then + kldload linux > /dev/null 2>&1 + fi + if [ -x /compat/linux/sbin/ldconfig ]; then + /compat/linux/sbin/ldconfig + fi + ;; +esac + +# Start the SysVR4 binary emulation if requested. +# +case ${svr4_enable} in +[Yy][Ee][Ss]) + echo -n ' svr4'; kldload svr4 > /dev/null 2>&1 + ;; +esac + +echo '.' + +# Do traditional (but rather obsolete) rc.local file if it exists. If you +# use this file and want to make it programmatic, source /etc/defaults/rc.conf +# in /etc/rc.local and add your custom variables to /etc/rc.conf, as +# shown below. Please do not put local extensions into /etc/rc itself. +# Use /etc/rc.local +# +# ---- rc.local ---- +# if [ -r /etc/defaults/rc.conf ]; then +# . /etc/defaults/rc.conf +# source_rc_confs +# elif [ -r /etc/rc.conf ]; then +# . /etc/rc.conf +# fi +# +# ... additional startup conditionals ... +# ---- rc.local ---- +# +if [ -r /etc/rc.local ]; then + echo -n 'Starting local daemons:' + sh /etc/rc.local + echo '.' +fi + +# For each valid dir in $local_startup, search for init scripts matching *.sh +# +case ${local_startup} in +[Nn][Oo] | '') + ;; +*) + echo -n 'Local package initialization:' + slist="" + if [ -z "${script_name_sep}" ]; then + script_name_sep=" " + fi + for dir in ${local_startup}; do + if [ -d "${dir}" ]; then + for script in ${dir}/*.sh; do + slist="${slist}${script_name_sep}${script}" + done + fi + done + script_save_sep="$IFS" + IFS="${script_name_sep}" + for script in ${slist}; do + if [ -x "${script}" ]; then + (set -T + trap 'exit 1' 2 + ${script} start) + elif [ -f "${script}" -o -L "${script}" ]; then + echo -n " (skipping ${script##*/}, not executable)" + fi + done + IFS="${script_save_sep}" + echo '.' + ;; +esac + +if [ -n "${network_pass3_done}" ]; then + network_pass4 +fi + +# Late pass to set variables we missed the first time +# +if [ -r /etc/rc.sysctl ]; then + sh /etc/rc.sysctl last +fi + +# Raise kernel security level. This should be done only after `fsck' has +# repaired local filesystems if you want the securelevel to be greater than 1. +# +case ${kern_securelevel_enable} in +[Yy][Ee][Ss]) + if [ "${kern_securelevel}" -ge 0 ]; then + echo 'Raising kernel security level: ' + sysctl kern.securelevel=${kern_securelevel} + fi + ;; +esac + +# Start background fsck checks if necessary +case ${background_fsck} in +[Yy][Ee][Ss]) + echo 'Starting background filesystem checks' + nice -4 fsck -B -p 2>&1 | logger -p daemon.notice & + ;; +esac + +echo '' + +date + +exit 0 + diff --git a/etc/rc.atm b/etc/rc.atm new file mode 100644 index 0000000..1c53c7f --- /dev/null +++ b/etc/rc.atm @@ -0,0 +1,217 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# +# ATM networking startup script +# +# Initial interface configuration. +# N.B. /usr is not mounted. +# +atm_pass1() { + # Locate all probed ATM adapters + atmdev=`atm sh stat int | while read dev junk; do + case ${dev} in + hea[0-9] | hea[0-9][0-9]) + echo "${dev} " + ;; + hfa[0-9] | hfa[0-9][0-9]) + echo "${dev} " + ;; + *) + continue + ;; + esac + done` + + if [ -z "${atmdev}" ]; then + echo 'No ATM adapters found' + return 0 + fi + + # Load microcode into FORE adapters (if needed) + if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then + fore_dnld + fi + + # Configure physical interfaces + ilmid=0 + for phy in ${atmdev}; do + echo -n "Configuring ATM device ${phy}:" + + # Define network interfaces + eval netif_args=\$atm_netif_${phy} + if [ -n "${netif_args}" ]; then + atm set netif ${phy} ${netif_args} || continue + else + echo ' missing network interface definition' + continue + fi + + # Override physical MAC address + eval macaddr_args=\$atm_macaddr_${phy} + if [ -n "${macaddr_args}" ]; then + case ${macaddr_args} in + [Nn][Oo] | '') + ;; + *) + atm set mac ${phy} ${macaddr_args} || continue + ;; + esac + fi + + # Configure signalling manager + eval sigmgr_args=\$atm_sigmgr_${phy} + if [ -n "${sigmgr_args}" ]; then + atm attach ${phy} ${sigmgr_args} || continue + else + echo ' missing signalling manager definition' + continue + fi + + # Configure UNI NSAP prefix + eval prefix_args=\$atm_prefix_${phy} + if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then + if [ -z "${prefix_args}" ]; then + echo ' missing NSAP prefix for UNI interface' + continue + fi + + case ${prefix_args} in + ILMI) + ilmid=1 + ;; + *) + atm set prefix ${phy} ${prefix_args} || continue + ;; + esac + fi + + atm_phy="${atm_phy} ${phy}" + echo '.' + done + + echo -n 'Starting initial ATM daemons:' + # Start ILMI daemon (if needed) + case ${ilmid} in + 1) + echo -n ' ilmid' + ilmid + ;; + esac + + echo '.' + atm_pass1_done=YES +} + +# +# Finish up configuration. +# N.B. /usr is not mounted. +# +atm_pass2() { + echo -n 'Configuring ATM network interfaces:' + + atm_scspd=0 + atm_atmarpd="" + + # Configure network interfaces + for phy in ${atm_phy}; do + eval netif_args=\$atm_netif_${phy} + set -- ${netif_args} + netname=$1 + netcnt=$2 + netindx=0 + while [ ${netindx} -lt ${netcnt} ]; do + net="${netname}${netindx}" + netindx=$((${netindx} + 1)) + echo -n " ${net}" + + # Configure atmarp server + eval atmarp_args=\$atm_arpserver_${net} + if [ -n "${atmarp_args}" ]; then + atm set arpserver ${net} ${atmarp_args} || + continue + fi + eval scsparp_args=\$atm_scsparp_${net} + + case ${scsparp_args} in + [Yy][Ee][Ss]) + case ${atmarp_args} in + local) + ;; + *) + echo ' local arpserver required for SCSP' + continue + ;; + esac + + atm_atmarpd="${atm_atmarpd} ${net}" + atm_scspd=1 + esac + done + done + echo '.' + + # Define any PVCs. + if [ -n "${atm_pvcs}" ]; then + for i in ${atm_pvcs}; do + eval pvc_args=\$atm_pvc_${i} + atm add pvc ${pvc_args} + done + fi + + # Define any permanent ARP entries. + if [ -n "${atm_arps}" ]; then + for i in ${atm_arps}; do + eval arp_args=\$atm_arp_${i} + atm add arp ${arp_args} + done + fi + atm_pass2_done=YES +} + +# +# Start any necessary daemons. +# +atm_pass3() { + # Start SCSP daemon (if needed) + case ${atm_scspd} in + 1) + echo -n ' scspd' + scspd + ;; + esac + + # Start ATMARP daemon (if needed) + if [ -n "${atm_atmarpd}" ]; then + echo -n ' atmarpd' + atmarpd ${atm_atmarpd} + fi + + atm_pass3_done=YES +} diff --git a/etc/rc.d/DAEMON b/etc/rc.d/DAEMON new file mode 100755 index 0000000..0dce994 --- /dev/null +++ b/etc/rc.d/DAEMON @@ -0,0 +1,12 @@ +#!/bin/sh +# +# $NetBSD: DAEMON,v 1.8 2002/03/22 04:33:57 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: DAEMON +# REQUIRE: NETWORKING SERVERS +# KEYWORD: FreeBSD NetBSD + +# This is a dummy dependancy, to ensure that general purpose daemons +# are run _after_ the above are. diff --git a/etc/rc.d/LOGIN b/etc/rc.d/LOGIN new file mode 100755 index 0000000..f4501b1 --- /dev/null +++ b/etc/rc.d/LOGIN @@ -0,0 +1,15 @@ +#!/bin/sh +# +# $NetBSD: LOGIN,v 1.7 2002/03/22 04:33:57 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: LOGIN +# REQUIRE: DAEMON +# KEYWORD: FreeBSD NetBSD + +# This is a dummy dependancy to ensure user services such as xdm, +# inetd, cron and kerberos are started after everything else, incase +# the administrator has increased the system security level and +# wants to delay user logins until the system is (almost) fully +# operational. diff --git a/etc/rc.d/Makefile b/etc/rc.d/Makefile new file mode 100755 index 0000000..db6427d --- /dev/null +++ b/etc/rc.d/Makefile @@ -0,0 +1,26 @@ +# $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $ +# $FreeBSD$ + +.include <bsd.own.mk> + +FILES= DAEMON LOGIN NETWORKING SERVERS abi accounting addswap adjkerntz altqd \ + amd apm apmd atm1 atm2.sh atm3.sh bgfsck bootconf.sh bootparams ccd \ + cleanvar cleartmp cron devdb devfs dhclient dhcpd dhcrelay diskless \ + dmesg dumpon fsck gated inetd initdiskless initrandom ipfilter ipfw \ + ip6fw ipmon ipnat ipsec ipxrouted isdnd kadmind kdc kerberos keyserv \ + ldconfig lkm1 lkm2 lkm3 local localdaemons lomac lpd mopd motd \ + mountall mountcritlocal mountcritremote mountd moused mroute6d \ + mrouted msgs named network network1 network2 network3 \ + network_ipv6 newsyslog nfsclient nfsd nfslocking \ + othermta nfsserver ntpd ntpdate pccard pcvt poffd ppp-user \ + postfix ppp pppoed pwcheck quota racoon raidframe random rarpd \ + rbootd root route6d routed rpcbind rtadvd rtsold \ + rwho savecore screenblank securelevel sendmail serial sppp sshd swap1 \ + swap2 sysdb syscons sysctl syslogd timed ttys usbd vinum virecover \ + wscons xdm xfs ypbind yppasswdd ypserv ypset ypupdated ypxfrd +FILESDIR= /etc/rc.d +FILESMODE= ${BINMODE} + +NOPROG= noprog + +.include <bsd.prog.mk> diff --git a/etc/rc.d/NETWORKING b/etc/rc.d/NETWORKING new file mode 100644 index 0000000..ca23df3 --- /dev/null +++ b/etc/rc.d/NETWORKING @@ -0,0 +1,12 @@ +#!/bin/sh +# +# $NetBSD: NETWORKING,v 1.2 2002/03/22 04:33:57 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: NETWORKING NETWORK +# REQUIRE: network dhclient altqd network1 network2 network_ipv6 ppp-user +# KEYWORD: FreeBSD NetBSD + +# This is a dummy dependancy, for services which require networking +# to be operational before starting. diff --git a/etc/rc.d/SERVERS b/etc/rc.d/SERVERS new file mode 100755 index 0000000..e3496cc --- /dev/null +++ b/etc/rc.d/SERVERS @@ -0,0 +1,12 @@ +#!/bin/sh +# +# $NetBSD: SERVERS,v 1.9 2002/03/22 04:33:57 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: SERVERS +# REQUIRE: mountcritremote +# KEYWORD: FreeBSD NetBSD + +# This is a dummy dependancy, for early-start servers relying on +# some basic configuration. diff --git a/etc/rc.d/abi b/etc/rc.d/abi new file mode 100644 index 0000000..c17b9cb --- /dev/null +++ b/etc/rc.d/abi @@ -0,0 +1,54 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: abi +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +echo -n 'Additional ABI support:' + +name="sysvipc" +rcvar=`set_rcvar` +start_cmd="sysv_start" +stop_cmd=":" + +sysv_start() +{ + echo -n ' sysvipc' + kldload sysvmsg >/dev/null 2>&1 + kldload sysvsem >/dev/null 2>&1 + kldload sysvshm >/dev/null 2>&1 +} +load_rc_config $name +run_rc_command "$1" + +name="linux" +rcvar=`set_rcvar` +start_cmd="linux_start" + +linux_start() +{ + echo -n ' linux' + if ! kldstat -v | grep -E 'linux(aout|elf)' > /dev/null; then + kldload linux > /dev/null 2>&1 + fi + if [ -x /compat/linux/sbin/ldconfig ]; then + /compat/linux/sbin/ldconfig + fi +} +load_rc_config $name +run_rc_command "$1" + +name="svr4" +rcvar=`set_rcvar` +start_precmd="echo -n ' svr4'" +start_cmd="kldload svr4 > /dev/null 2>&1" + +load_rc_config $name +run_rc_command "$1" + +echo '.' diff --git a/etc/rc.d/accounting b/etc/rc.d/accounting new file mode 100755 index 0000000..af443dc --- /dev/null +++ b/etc/rc.d/accounting @@ -0,0 +1,55 @@ +#!/bin/sh +# +# $NetBSD: accounting,v 1.7 2002/03/22 04:33:57 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: accounting +# REQUIRE: mountall +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="accounting" +rcvar=`set_rcvar` +accounting_command="/usr/sbin/accton" +accounting_file="/var/account/acct" +start_cmd="accounting_start" +stop_cmd="accounting_stop" + +accounting_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + _dir=`dirname "$accounting_file"` + if [ ! -d `dirname "$_dir"` ]; then + if ! mkdir -p "$_dir" ; then + warn "Could not create $_dir." + return 1 + fi + fi + if [ ! -e "$accounting_file" ]; then + touch "$accounting_file" + fi + ;; + *) + ;; + esac + + if [ ! -f ${accounting_file} ]; then + echo "Creating accounting file ${accounting_file}" + ( umask 022 ; > ${accounting_file} ) + fi + echo "Turning on accounting." + ${accounting_command} ${accounting_file} +} + +accounting_stop() +{ + echo "Turning off accounting." + ${accounting_command} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/addswap b/etc/rc.d/addswap new file mode 100644 index 0000000..12233d7 --- /dev/null +++ b/etc/rc.d/addswap @@ -0,0 +1,34 @@ +#!/bin/sh +# +# Add additional swap files +# +# $FreeBSD$ +# + +# PROVIDE: addswap +# REQUIRE: mountcritlocal +# BEFORE: sysctl +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="addswap" +start_cmd="addswap_start" +stop_cmd=":" + +addswap_start() +{ + case ${swapfile} in + [Nn][Oo] | '') + ;; + *) + if [ -w "${swapfile}" -a -c /dev/mdctl ]; then + echo "Adding ${swapfile} as additional swap" + mdev=`mdconfig -a -t vnode -f ${swapfile}` && swapon /dev/${mdev} + fi + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/adjkerntz b/etc/rc.d/adjkerntz new file mode 100644 index 0000000..654c157 --- /dev/null +++ b/etc/rc.d/adjkerntz @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: adjkerntz +# REQUIRE: diskless mountcritlocal random +# BEFORE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="adjkerntz" +start_cmd="adjkerntz -i" +stop_cmd=":" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/altqd b/etc/rc.d/altqd new file mode 100644 index 0000000..c7e626e --- /dev/null +++ b/etc/rc.d/altqd @@ -0,0 +1,22 @@ +#!/bin/sh +# +# $NetBSD: altqd,v 1.2 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: altqd +# REQUIRE: network mountcritlocal dhclient +# BEFORE: NETWORKING +# KEYWORD: shutdown + +. /etc/rc.subr + +name="altqd" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/altq.conf" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/amd b/etc/rc.d/amd new file mode 100755 index 0000000..971a1e7 --- /dev/null +++ b/etc/rc.d/amd @@ -0,0 +1,70 @@ +#!/bin/sh +# +# $NetBSD: amd,v 1.10 2002/04/29 12:08:17 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: amd +# REQUIRE: rpcbind mountall ypbind nfsclient +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="amd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_precmd="amd_precmd" + command_args="&" + ;; +NetBSD) + command_args='-p -a '$amd_dir' -F /etc/amd.conf >/var/run/amd.pid' + required_dirs="$amd_dir" + required_files="/etc/amd.conf" + required_vars="rpcbind" + ;; +esac + +amd_precmd() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + if ! checkyesno nfs_client_enable ; then + force_depend nfsclient || return 1 + fi + + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + + case ${amd_map_program} in + [Nn][Oo] | '') + ;; + *) + amd_flags="${amd_flags} `eval ${amd_map_program}`" + ;; + esac + + case "${amd_flags}" in + '') + if [ ! -r /etc/amd.conf ]; then + warn 'amd will not load without arguments' + return 1 + fi + ;; + *) + amd_flags="-p ${amd_flags} > /var/run/amd.pid 2> /dev/null" \ + ;; + esac + ;; + esac + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/apm b/etc/rc.d/apm new file mode 100644 index 0000000..d88f7c0 --- /dev/null +++ b/etc/rc.d/apm @@ -0,0 +1,30 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: apm +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="apm" +rcvar=`set_rcvar` +start_precmd="apm_precmd" +command="/usr/sbin/${name}" +command_args="-e enable" + +apm_precmd() +{ + case `${SYSCTL_N} hw.machine_arch` in + i386) + return 0 + ;; + esac + return 1 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/apmd b/etc/rc.d/apmd new file mode 100755 index 0000000..7583ed4 --- /dev/null +++ b/etc/rc.d/apmd @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $NetBSD: apmd,v 1.5 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: apmd +# REQUIRE: DAEMON apm +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="apmd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_precmd="apmd_prestart" + ;; +esac + +apmd_prestart() +{ + case `${SYSCTL_N} hw.machine_arch` in + i386) + # Don't start if apm is already running + /etc/rc.d/apm forcestatus > /dev/null && return 1 + ;; + *) + return 1 + ;; + esac + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/atm1 b/etc/rc.d/atm1 new file mode 100644 index 0000000..0272642 --- /dev/null +++ b/etc/rc.d/atm1 @@ -0,0 +1,144 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: atm1 +# REQUIRE: root +# BEFORE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="atm" +rcvar="atm_enable" +start_cmd="atm_start" +stop_cmd=":" + +# ATM networking startup script +# +# Initial interface configuration. +# N.B. /usr is not mounted. +# +start_cmd() +{ + # Locate all probed ATM adapters + atmdev=`atm sh stat int | while read dev junk; do + case ${dev} in + hea[0-9] | hea[0-9][0-9]) + echo "${dev} " + ;; + hfa[0-9] | hfa[0-9][0-9]) + echo "${dev} " + ;; + *) + continue + ;; + esac + done` + + if [ -z "${atmdev}" ]; then + echo 'No ATM adapters found' + return 0 + fi + + # Load microcode into FORE adapters (if needed) + if [ `expr "${atmdev}" : '.*hfa.*'` -ne 0 ]; then + fore_dnld + fi + + # Configure physical interfaces + ilmid=0 + for phy in ${atmdev}; do + echo -n "Configuring ATM device ${phy}:" + + # Define network interfaces + eval netif_args=\$atm_netif_${phy} + if [ -n "${netif_args}" ]; then + atm set netif ${phy} ${netif_args} || continue + else + echo ' missing network interface definition' + continue + fi + + # Override physical MAC address + eval macaddr_args=\$atm_macaddr_${phy} + if [ -n "${macaddr_args}" ]; then + case ${macaddr_args} in + [Nn][Oo] | '') + ;; + *) + atm set mac ${phy} ${macaddr_args} || continue + ;; + esac + fi + + # Configure signalling manager + eval sigmgr_args=\$atm_sigmgr_${phy} + if [ -n "${sigmgr_args}" ]; then + atm attach ${phy} ${sigmgr_args} || continue + else + echo ' missing signalling manager definition' + continue + fi + + # Configure UNI NSAP prefix + eval prefix_args=\$atm_prefix_${phy} + if [ `expr "${sigmgr_args}" : '[uU][nN][iI].*'` -ne 0 ]; then + if [ -z "${prefix_args}" ]; then + echo ' missing NSAP prefix for UNI interface' + continue + fi + + case ${prefix_args} in + ILMI) + ilmid=1 + ;; + *) + atm set prefix ${phy} ${prefix_args} || continue + ;; + esac + fi + + atm_phy="${atm_phy} ${phy}" + echo '.' + done + + echo -n 'Starting initial ATM daemons:' + # Start ILMI daemon (if needed) + case ${ilmid} in + 1) + echo -n ' ilmid' + ilmid + ;; + esac + + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/atm2 b/etc/rc.d/atm2 new file mode 100644 index 0000000..8854605 --- /dev/null +++ b/etc/rc.d/atm2 @@ -0,0 +1,104 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: atm2 +# REQUIRE: atm1 network1 +# BEFORE: network2 +# KEYWORD: FreeBSD + +# +# Additional ATM interface configuration +# + +. /etc/rc.subr + +atm2_start() +{ + # Configure network interfaces + for phy in ${atm_phy}; do + eval netif_args=\$atm_netif_${phy} + set -- ${netif_args} + netname=$1 + netcnt=$2 + netindx=0 + while [ ${netindx} -lt ${netcnt} ]; do + net="${netname}${netindx}" + netindx=$((${netindx} + 1)) + echo -n " ${net}" + + # Configure atmarp server + eval atmarp_args=\$atm_arpserver_${net} + if [ -n "${atmarp_args}" ]; then + atm set arpserver ${net} ${atmarp_args} || + continue + fi + eval scsparp_args=\$atm_scsparp_${net} + + case ${scsparp_args} in + [Yy][Ee][Ss]) + case ${atmarp_args} in + local) + ;; + *) + echo ' local arpserver required for SCSP' + continue + ;; + esac + + atm_atmarpd="${atm_atmarpd} ${net}" + atm_scspd=1 + ;; + esac + done + done + echo '.' + + # Define any permanent ARP entries. + if [ -n "${atm_arps}" ]; then + for i in ${atm_arps}; do + eval arp_args=\$atm_arp_${i} + atm add arp ${arp_args} + done + fi + + # XXX - required by atm3.sh. I don't like having one script depend + # on variables in another script (especially in a dynamic + # ordered system like this), but it's necessary for the moment. + # + export atm_atmarpd + export atm_scspd +} + +load_rc_config "XXX" + +case ${atm_enable} in +[Yy][Ee][Ss]) + atm2_start + ;; +esac diff --git a/etc/rc.d/atm2.sh b/etc/rc.d/atm2.sh new file mode 100644 index 0000000..8854605 --- /dev/null +++ b/etc/rc.d/atm2.sh @@ -0,0 +1,104 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: atm2 +# REQUIRE: atm1 network1 +# BEFORE: network2 +# KEYWORD: FreeBSD + +# +# Additional ATM interface configuration +# + +. /etc/rc.subr + +atm2_start() +{ + # Configure network interfaces + for phy in ${atm_phy}; do + eval netif_args=\$atm_netif_${phy} + set -- ${netif_args} + netname=$1 + netcnt=$2 + netindx=0 + while [ ${netindx} -lt ${netcnt} ]; do + net="${netname}${netindx}" + netindx=$((${netindx} + 1)) + echo -n " ${net}" + + # Configure atmarp server + eval atmarp_args=\$atm_arpserver_${net} + if [ -n "${atmarp_args}" ]; then + atm set arpserver ${net} ${atmarp_args} || + continue + fi + eval scsparp_args=\$atm_scsparp_${net} + + case ${scsparp_args} in + [Yy][Ee][Ss]) + case ${atmarp_args} in + local) + ;; + *) + echo ' local arpserver required for SCSP' + continue + ;; + esac + + atm_atmarpd="${atm_atmarpd} ${net}" + atm_scspd=1 + ;; + esac + done + done + echo '.' + + # Define any permanent ARP entries. + if [ -n "${atm_arps}" ]; then + for i in ${atm_arps}; do + eval arp_args=\$atm_arp_${i} + atm add arp ${arp_args} + done + fi + + # XXX - required by atm3.sh. I don't like having one script depend + # on variables in another script (especially in a dynamic + # ordered system like this), but it's necessary for the moment. + # + export atm_atmarpd + export atm_scspd +} + +load_rc_config "XXX" + +case ${atm_enable} in +[Yy][Ee][Ss]) + atm2_start + ;; +esac diff --git a/etc/rc.d/atm3 b/etc/rc.d/atm3 new file mode 100644 index 0000000..6cbb206 --- /dev/null +++ b/etc/rc.d/atm3 @@ -0,0 +1,68 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Start ATM daemons +# XXX - This script uses global variables set by scripts atm1 and atm2. +# Ideally this shouldn't be the case. +# + +# PROVIDE: atm3 +# REQUIRE: atm2 +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +atm3_start() +{ + echo -n 'Starting ATM daemons:' + + # Start SCSP daemon (if needed) + case ${atm_scspd} in + 1) + echo -n ' scspd' + scspd + ;; + esac + + # Start ATMARP daemon (if needed) + if [ -n "${atm_atmarpd}" ]; then + echo -n ' atmarpd' + atmarpd ${atm_atmarpd} + fi + echo '.' +} + +load_rc_config "XXX" + +case ${atm_enable} in +[Yy][Ee][Ss]) + atm3_start + ;; +esac diff --git a/etc/rc.d/atm3.sh b/etc/rc.d/atm3.sh new file mode 100644 index 0000000..6cbb206 --- /dev/null +++ b/etc/rc.d/atm3.sh @@ -0,0 +1,68 @@ +#!/bin/sh +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Start ATM daemons +# XXX - This script uses global variables set by scripts atm1 and atm2. +# Ideally this shouldn't be the case. +# + +# PROVIDE: atm3 +# REQUIRE: atm2 +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +atm3_start() +{ + echo -n 'Starting ATM daemons:' + + # Start SCSP daemon (if needed) + case ${atm_scspd} in + 1) + echo -n ' scspd' + scspd + ;; + esac + + # Start ATMARP daemon (if needed) + if [ -n "${atm_atmarpd}" ]; then + echo -n ' atmarpd' + atmarpd ${atm_atmarpd} + fi + echo '.' +} + +load_rc_config "XXX" + +case ${atm_enable} in +[Yy][Ee][Ss]) + atm3_start + ;; +esac diff --git a/etc/rc.d/bgfsck b/etc/rc.d/bgfsck new file mode 100644 index 0000000..f032473 --- /dev/null +++ b/etc/rc.d/bgfsck @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: bgfsck +# REQUIRE: cron devfs +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="background-fsck" +rcvar="background_fsck" +start_precmd="echo 'Starting background file system checks.'" +start_cmd="nice -4 fsck -B -p 2>&1 | logger -p daemon.notice &" +stop_cmd=":" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/bootconf.sh b/etc/rc.d/bootconf.sh new file mode 100755 index 0000000..1fdc201 --- /dev/null +++ b/etc/rc.d/bootconf.sh @@ -0,0 +1,82 @@ +#!/bin/sh +# +# $NetBSD: bootconf.sh,v 1.5 2002/03/25 03:22:10 wiz Exp $ +# $FreeBSD$ +# + +# PROVIDE: bootconf +# REQUIRE: mountcritlocal + +bootconf_start() +{ + # Refer to newbtconf(8) for more information + # + + if [ ! -e /etc/etc.current ]; then + return 0 + fi + if [ -h /etc/etc.default ]; then + def=`ls -ld /etc/etc.default 2>&1` + default="${def##*-> etc.}" + else + default=current + fi + if [ "$default" = "current" ]; then + def=`ls -ld /etc/etc.current 2>&1` + default="${def##*-> etc.}" + fi + + spc="" + for i in /etc/etc.*; do + name="${i##/etc/etc.}" + case $name in + current|default|\*) + continue + ;; + *) + if [ "$name" = "$default" ]; then + echo -n "${spc}[${name}]" + else + echo -n "${spc}${name}" + fi + spc=" " + ;; + esac + done + echo + master=$$ + _DUMMY=/etc/passwd + conf=${_DUMMY} + while [ ! -d /etc/etc.$conf/. ]; do + trap "conf=$default; echo; echo Using default of $conf" ALRM + echo -n "Which configuration [$default] ? " + (sleep 30 && kill -ALRM $master) >/dev/null 2>&1 & + read conf + trap : ALRM + if [ -z $conf ] ; then + conf=$default + fi + if [ ! -d /etc/etc.$conf/. ]; then + conf=${_DUMMY} + fi + done + + case $conf in + current|default) + ;; + *) + rm -f /etc/etc.current + ln -s /etc/etc.$conf /etc/etc.current + ;; + esac + + if [ -f /etc/rc.conf ] ; then + . /etc/rc.conf + fi +} + +case "$1" in +*start) + bootconf_start + ;; +esac diff --git a/etc/rc.d/bootparams b/etc/rc.d/bootparams new file mode 100755 index 0000000..3afbd76 --- /dev/null +++ b/etc/rc.d/bootparams @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: bootparams,v 1.6 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: bootparams +# REQUIRE: rpcbind DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="bootparamd" +rcvar=$name +command="/usr/sbin/rpc.${name}" +required_files="/etc/bootparams" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ccd b/etc/rc.d/ccd new file mode 100755 index 0000000..d967888 --- /dev/null +++ b/etc/rc.d/ccd @@ -0,0 +1,25 @@ +#!/bin/sh +# +# $NetBSD: ccd,v 1.3 2000/05/13 08:45:06 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: disks +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ccd" +start_cmd="ccd_start" +stop_cmd=":" + +ccd_start() +{ + if [ -f /etc/ccd.conf ]; then + echo "Configuring CCD devices." + ccdconfig -C + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/cleanvar b/etc/rc.d/cleanvar new file mode 100644 index 0000000..5e7331a --- /dev/null +++ b/etc/rc.d/cleanvar @@ -0,0 +1,48 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: cleanvar +# REQUIRE: adjkerntz mountcritlocal +# BEFORE: network1 +# KEYWORD: FreeBSD + +purgedir() +{ + local dir file + + if [ $# -eq 0 ]; then + purgedir . + else + for dir + do + ( + cd "$dir" && for file in .* * + do + [ ."$file" = .. -o ."$file" = ... ] && continue + if [ -d "$file" -a ! -L "$file" ] + then + purgedir "$file" + else + rm -f -- "$file" + fi + done + ) + done + fi +} + +rm -f /var/run/clean_var /var/spool/lock/clean_var +if [ -d /var/run -a ! -f /var/run/clean_var ]; then + purgedir /var/run + # And an initial utmp file + (cd /var/run && cp /dev/null utmp && chmod 644 utmp;) + >/var/run/clean_var +fi +if [ -d /var/spool/lock -a ! -f /var/spool/lock/clean_var ]; then + purgedir /var/spool/lock + >/var/spool/lock/clean_var +fi +rm -rf /var/spool/uucp/.Temp/* + diff --git a/etc/rc.d/cleartmp b/etc/rc.d/cleartmp new file mode 100755 index 0000000..27e40ba --- /dev/null +++ b/etc/rc.d/cleartmp @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $NetBSD: cleartmp,v 1.4 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: cleartmp +# REQUIRE: mountall +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="cleartmp" +rcvar=`set_rcvar clear_tmp` +start_cmd="cleartmp_start" +stop_cmd=":" + +cleartmp_start() +{ + echo "Clearing /tmp." + # + # Prune quickly with one rm, then use find to clean up + # /tmp/[lq]* (this is not needed with mfs /tmp, but + # doesn't hurt anything). + # + (cd /tmp && rm -rf [a-km-pr-zA-Z]* && + find -x . ! -name . ! -name lost+found ! -name quota.user \ + ! -name quota.group -exec rm -rf -- {} \; -type d -prune) + + case `${CMD_OSTYPE}` in + FreeBSD) + # Remove X lock files, since they will prevent you from + # restarting X + # + rm -f /tmp/.X*-lock + rm -fr /tmp/.X11-unix + mkdir -m 1777 /tmp/.X11-unix + ;; + NetBSD) + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/cron b/etc/rc.d/cron new file mode 100755 index 0000000..6a1e77c --- /dev/null +++ b/etc/rc.d/cron @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: cron,v 1.5 2000/09/19 13:04:38 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: cron +# REQUIRE: LOGIN +# KEYWORD: FreeBSD NetBSD shutdown + +. /etc/rc.subr + +name="cron" +rcvar="`set_rcvar`" +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/devdb b/etc/rc.d/devdb new file mode 100644 index 0000000..8bd040a --- /dev/null +++ b/etc/rc.d/devdb @@ -0,0 +1,17 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: devdb +# REQUIRE: syslogd +# KEYWORD: FreeBSD + +# Build device name databases if we are not using DEVFS +# +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + rm -f /var/run/dev.db +else + dev_mkdb +fi + diff --git a/etc/rc.d/devfs b/etc/rc.d/devfs new file mode 100644 index 0000000..90a80c3 --- /dev/null +++ b/etc/rc.d/devfs @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: devfs +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="devfs" + +load_rc_config $name + +# Setup DEVFS, ie permissions, links etc. +# +ln -fs /dev/ttyv0 /dev/vga + diff --git a/etc/rc.d/dhclient b/etc/rc.d/dhclient new file mode 100755 index 0000000..cbdc8b0 --- /dev/null +++ b/etc/rc.d/dhclient @@ -0,0 +1,23 @@ +#!/bin/sh +# +# $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: dhclient +# REQUIRE: network mountcritlocal +# BEFORE: NETWORKING +# +# Note that there no syslog logging of dhclient messages at boot because +# dhclient needs to start before services that syslog depends upon do. +# + +. /etc/rc.subr + +name="dhclient" +rcvar=$name +command="/sbin/${name}" +pidfile="/var/run/${name}.pid" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/dhcpd b/etc/rc.d/dhcpd new file mode 100755 index 0000000..55b1f4a --- /dev/null +++ b/etc/rc.d/dhcpd @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $NetBSD: dhcpd,v 1.5 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: dhcpd +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="dhcpd" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/${name}.conf /var/db/${name}.leases" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/dhcrelay b/etc/rc.d/dhcrelay new file mode 100755 index 0000000..d78afa6 --- /dev/null +++ b/etc/rc.d/dhcrelay @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: dhcrelay,v 1.5 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: dhcrelay +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="dhcrelay" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/diskless b/etc/rc.d/diskless new file mode 100644 index 0000000..c5cffb0 --- /dev/null +++ b/etc/rc.d/diskless @@ -0,0 +1,122 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: diskless +# REQUIRE: initdiskless mountcritlocal +# BEFORE: addswap random +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +name="diskless2" + +# Provide a function for normalizing the mounting of memory +# filesystems. This should allow the rest of the code here to remain +# as close as possible between 5-current and 4-stable. +# $1 = size +# $2 = mount point +# $3 = md unit number (ignored in pre 5.0 systems) +# $4 = (optional) bytes-per-inode +mount_md() +{ + if [ -n "$4" ]; then + bpi="-i $4" + fi + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs $bpi /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/rc.subr ]; then + . /etc/rc.subr + load_rc_config $name +elif [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +echo "+++ mount_md of /var" +mount_md ${varsize:=32m} /var 1 + +echo "+++ populate /var using /etc/mtree/BSD.var.dist" +/usr/sbin/mtree -deU -f /etc/mtree/BSD.var.dist -p /var +case ${sendmail_enable} in +[Nn][Oo][Nn][Ee]) + ;; +*) + /usr/sbin/mtree -deU -f /etc/mtree/BSD.sendmail.dist -p / + ;; +esac + +echo "+++ create log files based on the contents of /etc/newsyslog.conf" +LOGFILES=`/usr/bin/awk '$1 != "#" { printf "%s ", $1 } ' /etc/newsyslog.conf` +if [ -n "$LOGFILES" ]; then + /usr/bin/touch $LOGFILES +fi + +echo "+++ create lastlog" +/usr/bin/touch /var/log/lastlog + +mount -a # chown and chgrp are in /usr + +# Since we are starting with a very fresh /etc on an MFS: +if [ -d /conf/default/etc ]; then + newaliases +fi + +# +# XXX make sure to create one dir for each printer as requested by lpd +# + +# If /tmp is a symlink, assume it points to somewhere writable, like +# /var/tmp, otherwise, use a small memory filesystem for /tmp. +# +# XXX: mtree runs too early to create any directories needed in /tmp, +# so if /var/tmp == /tmp, then you don't get a vi.recover. +# +if [ ! -h /tmp ]; then + mount_md ${tmpsize:=64m} /tmp 2 + chmod 01777 /tmp +fi + +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + # we have DEVFS, no worries... + true +else + # extract a list of device entries, then copy them to a writable fs + (cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp + mount_md 4096 /dev 3 512 + (cd /; cpio -i -H newc -d < /tmp/dev.tmp) +fi diff --git a/etc/rc.d/dmesg b/etc/rc.d/dmesg new file mode 100755 index 0000000..bea74c2 --- /dev/null +++ b/etc/rc.d/dmesg @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $NetBSD: dmesg,v 1.8 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: dmesg +# REQUIRE: mountcritremote +# BEFORE: DAEMON +# KEYWORD: FreeBSD Daemon + +. /etc/rc.subr + +name="dmesg" +rcvar=`set_rcvar` +dmesg_file="/var/run/dmesg.boot" +start_cmd="do_dmesg" +stop_cmd=":" + +do_dmesg() +{ + rm -f ${dmesg_file} + ( umask 022 ; /sbin/dmesg $rc_flags > ${dmesg_file} ) +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/downinterfaces b/etc/rc.d/downinterfaces new file mode 100644 index 0000000..6a5c943 --- /dev/null +++ b/etc/rc.d/downinterfaces @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $NetBSD: downinterfaces,v 1.2 2001/09/04 20:40:40 martin Exp $ +# + +# PROVIDE: downinterfaces +# KEYWORD: shutdown + +if [ "x$1" != "xstop" ]; then exit 0; fi + +. /etc/rc.conf + +tmp=`ifconfig -lu` +iflist="" +for int in $tmp; do + case $int in + pppoe*) iflist="$iflist $int" + ;; + esac +done +iflist="$iflist $force_down_interfaces" +if [ "$iflist" = "" ] || [ "$iflist" = " " ]; then exit 0; fi + +echo "Shutting down interfaces:$iflist" +for int in $iflist; do + ifconfig $int down +done diff --git a/etc/rc.d/dumpon b/etc/rc.d/dumpon new file mode 100644 index 0000000..c65f63e --- /dev/null +++ b/etc/rc.d/dumpon @@ -0,0 +1,32 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: dumpon +# REQUIRE: initrandom +# BEFORE: disks savecore +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="dumpon" +start_cmd="dumpon_start" +stop_cmd=":" + +dumpon_start() +{ + # Enable dumpdev so that savecore can see it. Enable it + # early so a crash early in the boot process can be caught. + # + case ${dumpdev} in + [Nn][Oo] | '') + ;; + *) + /sbin/dumpon -v ${dumpdev} + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/fsck b/etc/rc.d/fsck new file mode 100755 index 0000000..a57e15c --- /dev/null +++ b/etc/rc.d/fsck @@ -0,0 +1,103 @@ +#!/bin/sh +# +# $NetBSD: fsck,v 1.2 2001/06/18 06:42:35 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: fsck +# REQUIRE: localswap +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="fsck" +start_cmd="fsck_start" +stop_cmd=":" + +stop_boot() +{ + # Terminate the process (which may include the parent /etc/rc) + # if booting directly to multiuser mode. + # + if [ "$autoboot" = yes ]; then + kill -TERM $$ + fi + exit 1 +} + +fsck_start() +{ + if [ "$autoboot" = no ]; then + echo "Fast boot: skipping disk checks." + elif [ "$autoboot" = yes ]; then + # During fsck ignore SIGQUIT + trap : 3 + + echo "Starting file system checks:" + case `${CMD_OSTYPE}` in + FreeBSD) + if checkyesno background_fsck; then + fsck -F -p + else + fsck -p + fi + ;; + NetBSD) + fsck -p + ;; + esac + + case $? in + 0) + ;; + 2) + stop_boot + ;; + 4) + echo "Rebooting..." + reboot + echo "Reboot failed; help!" + stop_boot + ;; + 8) + case `${CMD_OSTYPE}` in + FreeBSD) + if checkyesno fsck_y_enable; then + echo "File system preen failed, trying fsck -y." + fsck -y + case $? in + 0) + ;; + *) + echo "Automatic file system check failed; help!" + stop_boot + ;; + esac + else + echo "Automatic file system check failed; help!" + stop_boot + fi + ;; + NetBSD) + echo "Automatic file system check failed; help!" + stop_boot + ;; + esac + ;; + 12) + echo "Boot interrupted." + stop_boot + ;; + 130) + stop_boot + ;; + *) + echo "Unknown error; help!" + stop_boot + ;; + esac + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/gated b/etc/rc.d/gated new file mode 100755 index 0000000..7a11e8c --- /dev/null +++ b/etc/rc.d/gated @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $NetBSD: gated,v 1.3 2000/05/13 08:45:06 lukem Exp $ +# + +# PROVIDE: gated +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="gated" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/${name}.conf" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ifwatchd b/etc/rc.d/ifwatchd new file mode 100644 index 0000000..ec23ce2 --- /dev/null +++ b/etc/rc.d/ifwatchd @@ -0,0 +1,17 @@ +#!/bin/sh +# +# $NetBSD$ +# + +# PROVIDE: ifwatchd +# REQUIRE: mountcritremote network + +. /etc/rc.subr + +name="ifwatchd" +rcvar=$name +command="/usr/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" + diff --git a/etc/rc.d/inetd b/etc/rc.d/inetd new file mode 100755 index 0000000..08b3438 --- /dev/null +++ b/etc/rc.d/inetd @@ -0,0 +1,21 @@ +#!/bin/sh +# +# $NetBSD: inetd,v 1.6 2000/09/19 13:04:38 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: inetd +# REQUIRE: DAEMON LOGIN +# KEYWORD: FreeBSD NetBSD shutdown + +. /etc/rc.subr + +name="inetd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/${name}.conf" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/initdiskless b/etc/rc.d/initdiskless new file mode 100644 index 0000000..6e47bb9 --- /dev/null +++ b/etc/rc.d/initdiskless @@ -0,0 +1,143 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillion +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: initdiskless +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +# +# BOOTP has mounted / for us. Assume a read-only mount. We must then +# - figure out our IP by querying the interface +# - mount /etc as an MFS +# - populate /etc from /conf/default version +# - override files in /etc with files from /conf/*/etc where +# '*' is default, netmask of client, ip-address of client +# +# The operator is in charge of setting /conf/*/etc/* things as appropriate. +# Typically rc.conf and fstab need to be changed, but possibly also other +# files such as inetd.conf etc. + +# chkerr: +# +# Routine to check for error +# +# checks error code and drops into shell on failure. +# if shell exits, terminates script as well as /etc/rc. +# +chkerr() +{ + case $1 in + 0) + ;; + *) + echo "$2 failed: dropping into /bin/sh" + /bin/sh + # RESUME + ;; + esac +} + +mount_md() +{ + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs -i 4096 /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# DEBUGGING +# +# set -v + +# Figure out our interface and IP. +# +bootp_ifc="" +bootp_ipa="" +bootp_ipbca="" +iflist=`ifconfig -l` +for i in ${iflist} ; do + set `ifconfig ${i}` + while [ $# -ge 1 ] ; do + if [ "${bootp_ifc}" = "" -a "$1" = "inet" ] ; then + bootp_ifc=${i} ; bootp_ipa=${2} ; shift + fi + if [ "${bootp_ipbca}" = "" -a "$1" = "broadcast" ] ; then + bootp_ipbca=$2; shift + fi + shift + done + if [ "${bootp_ifc}" != "" ] ; then + break + fi +done +echo "Interface ${bootp_ifc} IP-Address ${bootp_ipa} Broadcast ${bootp_ipbca}" + +if [ -z "`hostname -s`" ]; then + hostname=`kenv dhcp.host-name` + hostname $hostname + echo "Hostname is $hostname" +fi + +if [ -d /conf/default/etc ]; then + mount_md 4096 /etc 0 + chkerr $? "MFS mount on /etc" + /bin/chmod 755 /etc + + /bin/cp -Rp /conf/default/etc/* /etc + chkerr $? "cp /conf/default/etc to /etc MFS" +fi + +# Allow for override files to replace files in /etc. Use /conf/*/etc to find +# the override files. First choice is default files that # always override, +# then files that from the directory that matches the client's broadcast +# address, finally followed by overrides that match the client's IP address. +# +# This way we have some flexibility to handle clusters of machines on +# separate subnets. + +for i in ${bootp_ipbca} ${bootp_ipa} ${hostname} ; do + if [ -d /conf/${i}/etc ]; then + cp -Rp /conf/${i}/etc/* /etc + fi +done + +# +# if the info is available via dhcp/kenv +# build the resolv.conf +# +if [ ! -e /etc/resolv.conf ]; then + echo domain `kenv dhcp.domain-name` > /etc/resolv.conf + + set `kenv dhcp.domain-name-servers` + for ns in `IFS=','; echo $*`; do + echo nameserver $ns >> /etc/resolv.conf; + done +fi diff --git a/etc/rc.d/initrandom b/etc/rc.d/initrandom new file mode 100644 index 0000000..318d83f --- /dev/null +++ b/etc/rc.d/initrandom @@ -0,0 +1,73 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: initrandom +# REQUIRE: initdiskless +# BEFORE: disks +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="initrandom" +start_cmd="initrandom_start" +stop_cmd=":" + +feed_dev_random() +{ + if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then + cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null + fi +} + +initrandom_start() +{ + echo -n 'Entropy harvesting:' + + if checkyesno harvest_interrupt; then + if [ -w /dev/random ]; then + ${SYSCTL_W} kern.random.sys.harvest.interrupt=1 >/dev/null + echo -n ' interrupts' + fi + fi + + if checkyesno harvest_ethernet; then + if [ -w /dev/random ]; then + ${SYSCTL_W} kern.random.sys.harvest.ethernet=1 >/dev/null + echo -n ' ethernet' + fi + fi + + if checkyesno harvest_p_to_p; then + if [ -w /dev/random ]; then + ${SYSCTL_W} kern.random.sys.harvest.point_to_point=1 >/dev/null + echo -n ' point_to_point' + fi + fi + + echo '.' + + # First pass at reseeding /dev/random. + # + case ${entropy_file} in + [Nn][Oo] | '') + ;; + *) + if [ -w /dev/random ]; then + feed_dev_random "${entropy_file}" + fi + ;; + esac + + # XXX temporary until we can get the entropy + # harvesting rate up + # Entropy below is not great, + # but better than nothing. + ( ps -fauxww; sysctl -a; date; df -ib; dmesg; ps -fauxww; ) \ + | dd of=/dev/random bs=8k 2>/dev/null + cat /bin/ls | dd of=/dev/random bs=8k 2>/dev/null +} + +load_rc_config random +run_rc_command "$1" diff --git a/etc/rc.d/ip6fw b/etc/rc.d/ip6fw new file mode 100644 index 0000000..4f37e26 --- /dev/null +++ b/etc/rc.d/ip6fw @@ -0,0 +1,58 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ip6fw +# REQUIRE: network2 +# BEFORE: network_ipv6 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ip6fw" +rcvar=`set_rcvar ipv6_firewall` +start_cmd="ip6fw_start" +start_precmd="ip6fw_prestart" +stop_cmd="${SYSCTL_W} net.inet6.ip6.fw.enable=0" + +ip6fw_prestart() +{ + # Load IPv6 firewall module, if not already loaded + if ! ${SYSCTL} net.inet6.ip6.fw.enable > /dev/null 2>&1; then + kldload ip6fw && { + debug 'Kernel IPv6 firewall module loaded.' + return 0 + } + warn 'IPv6 firewall kernel module failed to load.' + return 1 + fi +} + +ip6fw_start() +{ + # Specify default rules file if none provided + if [ -z "${ipv6_firewall_script}" ]; then + ipv6_firewall_script=/etc/rc.firewall6 + fi + + # Load rules + # + if [ -r "${ipv6_firewall_script}" ]; then + . "${ipv6_firewall_script}" + echo 'IPv6 Firewall rules loaded.' + elif [ "`ip6fw l 65535`" = "65535 deny ipv6 from any to any" ]; then + warn 'IPv6 firewall rules have not been loaded. Default' \ + ' to DENY all access.' + fi + + # Enable firewall logging + # + if checkyesno ipv6_firewall_logging ; then + echo 'IPv6 Firewall logging=YES' + sysctl net.inet6.ip6.fw.verbose=1 >/dev/null + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipfilter b/etc/rc.d/ipfilter new file mode 100755 index 0000000..2962551 --- /dev/null +++ b/etc/rc.d/ipfilter @@ -0,0 +1,153 @@ +#!/bin/sh +# +# $NetBSD: ipfilter,v 1.10 2001/02/28 17:03:50 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: ipfilter +# REQUIRE: root beforenetlkm mountcritlocal tty +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ipfilter" +rcvar=`set_rcvar` +load_rc_config $name + +case `${CMD_OSTYPE}` in +FreeBSD) + stop_precmd="test -f ${ipfilter_rules}" + ;; +NetBSD) + stop_precmd="test -f /etc/ipf.conf -o -f /etc/ipf6.conf" + ;; +esac + +start_precmd="ipfilter_prestart" +start_cmd="ipfilter_start" +stop_cmd="ipfilter_stop" +reload_precmd="$stop_precmd" +reload_cmd="ipfilter_reload" +resync_precmd="$stop_precmd" +resync_cmd="ipfilter_resync" +status_precmd="$stop_precmd" +status_cmd="ipfilter_status" +extra_commands="reload resync status" + +ipfilter_prestart() +{ +case `${CMD_OSTYPE}` in +FreeBSD) + # load ipfilter kernel module if needed + if ! sysctl net.inet.ipf.fr_pass > /dev/null 2>&1; then + if kldload ipl ; then + echo 'IP-filter module loaded.' + else + warn 'IP-filter module failed to load.' + return 1 + fi + fi + + # check for ipfilter rules + if [ ! -r "${ipfilter_rules}" ]; then + warn 'IP-filter: NO IPF RULES' + return 1 + fi + ;; +NetBSD) + if [ ! -f /etc/ipf.conf ] && [ ! -f /etc/ipf6.conf ]; then + warn "/etc/ipf*.conf not readable; ipfilter start aborted." + # + # If booting directly to multiuser, send SIGTERM to + # the parent (/etc/rc) to abort the boot + # + if [ "$autoboot" = yes ]; then + echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!" + kill -TERM $$ + exit 1 + fi + return 1 + fi + ;; +esac + return 0 +} + +ipfilter_start() +{ + echo "Enabling ipfilter." + case `${CMD_OSTYPE}` in + FreeBSD) + ${ipfilter_program:-/sbin/ipf} -Fa -f \ + "${ipfilter_rules}" ${ipfilter_flags} + ;; + NetBSD) + /sbin/ipf -E -Fa + if [ -f /etc/ipf.conf ]; then + /sbin/ipf -f /etc/ipf.conf + fi + if [ -f /etc/ipf6.conf ]; then + /sbin/ipf -6 -f /etc/ipf6.conf + fi + ;; + esac +} + +ipfilter_stop() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + echo "Saving firewall state tables" + ${ipfs_program:-/sbin/ipfs} -W ${ipfs_flags} + ;; + NetBSD) + ;; + esac + # XXX - The following command is not effective for 'lkm's + echo "Disabling ipfilter." + /sbin/ipf -D +} + +ipfilter_reload() +{ + echo "Reloading ipfilter rules." + + case `${CMD_OSTYPE}` in + FreeBSD) + ${ipfilter_program:-/sbin/ipf} -I -Fa -f \ + "${ipfilter_rules}" ${ipfilter_flags} + ;; + NetBSD) + /sbin/ipf -I -Fa + if [ -f /etc/ipf.conf ] && ! /sbin/ipf -I -f /etc/ipf.conf; then + err 1 "reload of ipf.conf failed; not swapping to" \ + " new ruleset." + fi + if [ -f /etc/ipf6.conf ] && \ + ! /sbin/ipf -I -6 -f /etc/ipf6.conf; then + err 1 "reload of ipf6.conf failed; not swapping to" \ + " new ruleset." + fi + /sbin/ipf -s + ;; + esac + +} + +ipfilter_resync() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + # Don't resync if ipfilter is not loaded + [ sysctl net.inet.ipf.fr_pass > /dev/null 2>&1 ] && return + ;; + esac + ${ipfilter_program:-/sbin/ipf} -y ${ipfilter_flags} +} + +ipfilter_status() +{ + ${ipfilter_program:-/sbin/ipf} -V +} + +run_rc_command "$1" diff --git a/etc/rc.d/ipfs b/etc/rc.d/ipfs new file mode 100755 index 0000000..0abdba0 --- /dev/null +++ b/etc/rc.d/ipfs @@ -0,0 +1,36 @@ +#!/bin/sh +# +# $NetBSD: ipfs,v 1.3 2002/02/11 13:55:42 lukem Exp $ +# + +# PROVIDE: ipfs +# REQUIRE: ipnat mountcritremote +# KEYWORD: shutdown + +. /etc/rc.subr + +name="ipfs" +rcvar=$name +start_cmd="ipfs_start" +stop_cmd="ipfs_stop" + +ipfs_start() +{ + if [ -r /var/db/ipf/ipstate.ipf -a -r /var/db/ipf/ipnat.ipf ]; then + /usr/sbin/ipfs -R ${rc_flags} + rm -f /var/db/ipf/ipstate.ipf /var/db/ipf/ipnat.ipf + fi +} + +ipfs_stop() +{ + if [ ! -d /var/db/ipf ]; then + mkdir /var/db/ipf + chmod 700 /var/db/ipf + chown root:wheel /var/db/ipf + fi + /usr/sbin/ipfs -W ${rc_flags} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipfw b/etc/rc.d/ipfw new file mode 100644 index 0000000..92c88e9 --- /dev/null +++ b/etc/rc.d/ipfw @@ -0,0 +1,70 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ipfw +# REQUIRE: ppp-user +# BEFORE: NETWORKING +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ipfw" +rcvar="firewall_enable" +start_cmd="ipfw_start" +start_precmd="ipfw_precmd" +stop_cmd="${SYSCTL_W} net.inet.ip.fw.enable=0" + +ipfw_precmd() +{ + if ! ${SYSCTL} net.inet.ip.fw.enable > /dev/null 2>&1 ; then + if ! kldload ipfw ; then + warn unable to load firewall module. + return 1 + fi + fi + + return 0 +} + +ipfw_start() +{ + # set the firewall rules script if none was specified + [ -z "${firewall_script}" ] && firewall_script=/etc/rc.firewall + + if [ -r "${firewall_script}" ]; then + . "${firewall_script}" + echo -n 'Firewall rules loaded, starting divert daemons:' + + # Network Address Translation daemon + # + if checkyesno natd_enable ; then + if [ -n "${natd_interface}" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + natd_flags="$natd_flags -a ${natd_interface}" + else + natd_flags="$natd_flags -n ${natd_interface}" + fi + echo -n ' natd' + ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg} + fi + fi + elif [ "`ipfw l 65535`" = "65535 deny ip from any to any" ]; then + echo 'Warning: kernel has firewall functionality, but' \ + ' firewall rules are not enabled.' + echo ' All ip services are disabled.' + fi + echo '.' + + # Firewall logging + # + ! checkyesno firewall_logging && return 0 + + echo 'Firewall logging=YES' + sysctl net.inet.ip.fw.verbose=1 >/dev/null +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipmon b/etc/rc.d/ipmon new file mode 100755 index 0000000..52e8400 --- /dev/null +++ b/etc/rc.d/ipmon @@ -0,0 +1,37 @@ +#!/bin/sh +# +# $NetBSD: ipmon,v 2002/04/18 05:02:01 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: ipmon +# REQUIRE: syslogd +# BEFORE: SERVERS +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ipmon" +rcvar=`set_rcvar` + +case `${CMD_OSTYPE}` in +FreeBSD) + command="/sbin/ipmon" + start_precmd="ipmon_precmd" + ;; +NetBSD) + command="/usr/sbin/${name}" + command_args="-D" +esac + +ipmon_precmd() +{ + # Make sure ipfilter is loaded before continuing + if ! sysctl net.inet.ipf.fr_pass >/dev/null 2>&1 ; then + return 1 + fi + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipnat b/etc/rc.d/ipnat new file mode 100755 index 0000000..6d4dd3a --- /dev/null +++ b/etc/rc.d/ipnat @@ -0,0 +1,85 @@ +#!/bin/sh +# +# $NetBSD: ipnat,v 1.6 2000/09/19 13:04:38 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: ipnat +# REQUIRE: ipfilter mountcritremote +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ipnat" +rcvar=`set_rcvar` + +case `${CMD_OSTYPE}` in +FreeBSD) + IPNATDIR="/sbin" + start_precmd="ipnat_precmd" + reload_cmd="ipnat_start" + ;; +NetBSD) + IPNATDIR="/usr/sbin" + config="/etc/ipnat.conf" + reload_cmd="/usr/sbin/ipnat -F -C -f ${config}" + start_precmd= + ;; +esac + +start_cmd="ipnat_start" +stop_cmd="${ipnat_program:-${IPNATDIR}/${name}} -F -C" +extra_commands="reload" + +ipnat_precmd() +{ + # Make sure ipfilter is loaded before continuing + if ! ${SYSCTL} net.inet.ipf.fr_pass >/dev/null 2>&1 ; then + err 'ipnat requires ipfilter be loaded' + return 1 + fi + return 0 +} + +ipnat_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + echo -n 'Installing NAT rules ... ' + if [ -r "${ipnat_rules}" ]; then + ${ipnat_program:-/sbin/ipnat} -CF -f \ + "${ipnat_rules}" ${ipnat_flags} + else + echo -n ' NO IPNAT RULES' + fi + echo '.' + + # restore filter/NAT state tables after loading the rules + if checkyesno ipfs_enable ; then + if [ -r "/var/db/ipf/ipstate.ipf" ]; then + echo -n ' ipfs' + ${ipfs_program:-/sbin/ipfs} -R ${ipfs_flags} + # remove files to avoid reloading old state + # after an ungraceful shutdown + rm -f /var/db/ipf/ipstate.ipf + rm -f /var/db/ipf/ipnat.ipf + fi + fi + ;; + NetBSD) + if [ ! -f ${config} ]; then + return 0 + fi + if ! checkyesno ipfilter || [ ! -f /etc/ipf.conf ]; then + echo "Enabling ipfilter for NAT." + /sbin/ipf -E -Fa + fi + echo -n "Installing NAT rules ... " + /usr/sbin/ipnat -F -f ${config} + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipsec b/etc/rc.d/ipsec new file mode 100755 index 0000000..fe8eb3a --- /dev/null +++ b/etc/rc.d/ipsec @@ -0,0 +1,81 @@ +#!/bin/sh +# +# $NetBSD: ipsec,v 1.7 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: ipsec +# REQUIRE: root beforenetlkm mountcritlocal tty +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +# it does not really require beforenetlkm. + +. /etc/rc.subr + +name="ipsec" +rcvar=`set_rcvar` +# This will be overiden from rc.conf on FreeBSD. +ipsec_file="/etc/ipsec.conf" +start_precmd="ipsec_prestart" +start_cmd="ipsec_start" +stop_precmd="test -f /etc/ipsec.conf" +stop_cmd="ipsec_stop" +reload_cmd="ipsec_reload" +extra_commands="reload" + +case `${CMD_OSTYPE}` in +FreeBSD) + ipsec_program="/usr/sbin/setkey" + ;; +NetBSD) + ipsec_program="/sbin/setkey" + ;; +esac + +ipsec_prestart() +{ + if [ ! -f "$ipsec_file" ]; then + warn "$ipsec_file not readable; ipsec start aborted." + # + # If booting directly to multiuser, send SIGTERM to + # the parent (/etc/rc) to abort the boot + # + if [ "$autoboot" = yes ]; then + echo "ERROR: ABORTING BOOT (sending SIGTERM to parent)!" + kill -TERM $$ + exit 1 + fi + return 1 + fi + return 0 +} + +ipsec_start() +{ + echo "Installing ipsec manual keys/policies." + ${ipsec_program} -f $ipsec_file +} + +ipsec_stop() +{ + echo "Clearing ipsec manual keys/policies." + + # still not 100% sure if we would like to do this. + # it is very questionable to do this during shutdown session, since + # it can hang any of remaining IPv4/v6 session. + # + ${ipsec_program} -F + ${ipsec_program} -FP +} + +ipsec_reload() +{ + echo "Reloading ipsec manual keys/policies." + ${ipsec_program} -F + ${ipsec_program} -FP + ${ipsec_program} -f "$ipsec_file" +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ipxrouted b/etc/rc.d/ipxrouted new file mode 100644 index 0000000..28691e3 --- /dev/null +++ b/etc/rc.d/ipxrouted @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ipxrouted +# REQUIRE: SERVERS +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ipxrouted" +rcvar=`set_rcvar` +command="/usr/sbin/IPXrouted" +command_args="> /dev/null 2>&1" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/isdnd b/etc/rc.d/isdnd new file mode 100644 index 0000000..4983256 --- /dev/null +++ b/etc/rc.d/isdnd @@ -0,0 +1,76 @@ +#!/bin/sh +# +# $NetBSD: isdnd,v 1.9 2002/04/10 23:37:13 martin Exp $ +# $FreeBSD$ +# +# Mostly based on original script (/etc/rc.isdn) written by Hellmuth Michaelis +# + +# PROVIDE: isdnd +# REQUIRE: NETWORKING syslogd mountcritremote +# BEFORE: SERVERS +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="isdnd" +rcvar=`set_rcvar isdn` +pidfile="/var/run/${name}.pid" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_cmd="isdnd_start" + ;; +NetBSD) + command="/usr/sbin/${name}" + required_files="/etc/isdn/${name}.rc" + ;; +esac + +isdnd_start() +{ + echo -n 'ISDN subsystem setup:' + + # Check for pcvt driver (VT100/VT220 emulator) + # + if [ -x /usr/sbin/ispcvt ]; then + if /usr/sbin/ispcvt; then + # No vidcontrol if we are using pcvt + # + isdn_screenflags=NO + fi + fi + + # Start isdnd + # + echo -n ' isdnd' + case ${isdn_fsdev} in + [Nn][Oo] | '') + /usr/sbin/isdnd ${isdn_flags} + ;; + *) + # Change vidmode of ${isdn_fsdev} + # + case ${isdn_screenflags} in + [Nn][Oo]) + ;; + *) + /usr/sbin/vidcontrol < ${isdn_fsdev} > ${isdn_fsdev} 2>&1 ${isdn_screenflags} + ;; + esac + + /usr/sbin/isdnd ${isdn_flags} -f -r ${isdn_fsdev} -t ${isdn_ttype} + ;; + esac + + # Start isdntrace + # + if checkyesno isdn_trace ; then + echo -n ' isdntrace' + nohup /usr/sbin/isdntrace ${isdn_traceflags} >/dev/null 2>&1 & + echo '.' + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/kadmind b/etc/rc.d/kadmind new file mode 100644 index 0000000..c6001c6 --- /dev/null +++ b/etc/rc.d/kadmind @@ -0,0 +1,30 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: kadmin +# REQUIRE: kerberos +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="kadmindIV" +load_rc_config $name +rcvar=`set_rcvar kadmind4_server` +checkyesno kerberos_stash && stash='-n' || stash= +start_cmd="( sleep 20; ${kadmind4_server} ${stash} > /dev/null 2>&1 & ) &" +required_vars="kerberos4_server_enable" + +run_rc_command "$1" + +name="kadmind5" +load_rc_config $name +rcvar="kadmind5_server_enable" +unset start_cmd +command="${kadmind5_server}" +command_args="&" +required_vars="kerberos5_server_enable" + +run_rc_command "$1" diff --git a/etc/rc.d/kdc b/etc/rc.d/kdc new file mode 100755 index 0000000..43a5005 --- /dev/null +++ b/etc/rc.d/kdc @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $NetBSD: kdc,v 1.5 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: kdc +# REQUIRE: NETWORKING +# BEFORE: SERVERS + +. /etc/rc.subr + +name="kdc" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/krb5.conf" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/kerberos b/etc/rc.d/kerberos new file mode 100644 index 0000000..fbd45ba --- /dev/null +++ b/etc/rc.d/kerberos @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: kerberos +# REQUIRE: NETWORKING +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="kerberosIV" +load_rc_config $name +rcvar="kerberos4_server_enable" +command="${kerberos4_server}" +checkyesno kerberos_stash && stash='-n' || stash= +command_args="${stash} >> /var/log/kerberos.log &" + +run_rc_command "$1" + +name="kerberos5" +load_rc_config $name +rcvar="kerberos5_server_enable" +command="${kerberos5_server}" +command_args="&" + +run_rc_command "$1" diff --git a/etc/rc.d/keyserv b/etc/rc.d/keyserv new file mode 100644 index 0000000..4419426 --- /dev/null +++ b/etc/rc.d/keyserv @@ -0,0 +1,33 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# Start keyserv if we are running Secure RPC +# + +# PROVIDE: keyserv +# REQUIRE: ypbind +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="keyserv" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +start_precmd="keyserv_prestart" + +keyserv_prestart() +{ + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ldconfig b/etc/rc.d/ldconfig new file mode 100755 index 0000000..97cd38b --- /dev/null +++ b/etc/rc.d/ldconfig @@ -0,0 +1,68 @@ +#!/bin/sh +# +# $NetBSD: ldconfig,v 1.5 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: ldconfig +# REQUIRE: mountall +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ldconfig" +ldconfig_command="/sbin/ldconfig" +start_cmd="ldconfig_start" +stop_cmd=":" + +ldconfig_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + ldconfig=${ldconfig_command} + checkyesno ldconfig_insecure && ldconfig="${ldconfig} -i" + if [ -x "${ldconfig_command}" ]; then + case `/usr/bin/objformat` in + elf) + _LDC=/usr/lib + for i in ${ldconfig_paths}; do + if [ -d "${i}" ]; then + _LDC="${_LDC} ${i}" + fi + done + echo 'ELF ldconfig path:' ${_LDC} + ${ldconfig} -elf ${_LDC} + ;; + esac + + # Legacy aout support for i386 only + case `sysctl -n hw.machine_arch` in + i386) + # Default the a.out ldconfig path. + : ${ldconfig_paths_aout=${ldconfig_paths}} + _LDC=/usr/lib/aout + for i in ${ldconfig_paths_aout}; do + if [ -d "${i}" ]; then + _LDC="${_LDC} ${i}" + fi + done + echo 'a.out ldconfig path:' ${_LDC} + ${ldconfig} -aout ${_LDC} + ;; + esac + fi + ;; + NetBSD) + if [ -f ${ldconfig_command} ]; then + echo "Creating a.out runtime link editor directory cache." + ${ldconfig_command} + fi + ;; + *) + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/lkm1 b/etc/rc.d/lkm1 new file mode 100755 index 0000000..e252909 --- /dev/null +++ b/etc/rc.d/lkm1 @@ -0,0 +1,40 @@ +#!/bin/sh +# +# $NetBSD: lkm1,v 1.6 2000/10/09 06:11:38 nisimura Exp $ +# $FreeBSD$ +# + +# PROVIDE: beforenetlkm +# REQUIRE: root bootconf + +. /etc/rc.subr + +name="lkm1" +rcvar="lkm" +start_cmd="lkm1_start" +stop_cmd="lkm1_stop" + +lkm1_start() +{ +# load kernel modules specified in /etc/lkm.conf if the /usr +# filesystem is already present with "/" or can be mounted now +# + if [ -f /etc/rc.lkm ]; then + mount /usr >/dev/null 2>&1 + if [ -x /usr/bin/ld ]; then + lkmstage=BEFORENET + set start ; . /etc/rc.lkm + fi + fi +} + +lkm1_stop() +{ + if [ -f /etc/rc.lkm ] && [ -x /usr/bin/ld ]; then + lkmstage=BEFORENET + set stop ; . /etc/rc.lkm + fi +} + +load_rc_config lkm +run_rc_command "$1" diff --git a/etc/rc.d/lkm2 b/etc/rc.d/lkm2 new file mode 100755 index 0000000..23608df --- /dev/null +++ b/etc/rc.d/lkm2 @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $NetBSD: lkm2,v 1.4 2000/09/19 13:04:38 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: beforemountlkm +# REQUIRE: syslogd + +. /etc/rc.subr + +name="lkm2" +rcvar="lkm" +start_cmd="lkm2_start" +stop_cmd="lkm2_stop" + +# load kernel modules specified in /etc/lkm.conf +# +lkm2_start() +{ + if [ -r /etc/rc.lkm ]; then + lkmstage=BEFOREMOUNT + set start ; . /etc/rc.lkm + else + warn "/etc/rc.lkm not found; LKMs not loaded." + fi +} + +lkm2_stop() +{ + if [ -r /etc/rc.lkm ]; then + lkmstage=BEFOREMOUNT + set stop ; . /etc/rc.lkm + fi +} + +load_rc_config lkm +run_rc_command "$1" diff --git a/etc/rc.d/lkm3 b/etc/rc.d/lkm3 new file mode 100755 index 0000000..a9d6efd --- /dev/null +++ b/etc/rc.d/lkm3 @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $NetBSD: lkm3,v 1.6 2002/03/22 04:33:58 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: aftermountlkm +# REQUIRE: mountall +# BEFORE: DAEMON + +. /etc/rc.subr + +name="lkm3" +rcvar="lkm" +start_cmd="do_lkm3 start" +stop_cmd="do_lkm3 stop" + +do_lkm3() +{ + # (un)load kernel modules specified in /etc/lkm.conf + # + if [ -f /etc/rc.lkm ]; then + lkmstage=AFTERMOUNT + set $1 ; . /etc/rc.lkm + fi +} + +load_rc_config lkm +run_rc_command "$1" diff --git a/etc/rc.d/local b/etc/rc.d/local new file mode 100755 index 0000000..42e96bf --- /dev/null +++ b/etc/rc.d/local @@ -0,0 +1,33 @@ +#!/bin/sh +# +# $NetBSD: local,v 1.6 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: local +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD shutdown + +. /etc/rc.subr + +name="local" +start_cmd="local_start" +stop_cmd="local_stop" + +local_start() +{ + if [ -f /etc/rc.local ]; then + . /etc/rc.local + fi +} + +local_stop() +{ + if [ -f /etc/rc.shutdown.local ]; then + . /etc/rc.shutdown.local + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/localdaemons b/etc/rc.d/localdaemons new file mode 100644 index 0000000..0ddd4ad --- /dev/null +++ b/etc/rc.d/localdaemons @@ -0,0 +1,89 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: localdaemons +# REQUIRE: abi +# KEYWORD: FreeBSD shutdown + +. /etc/rc.subr + +name="localdaemons" +start_cmd="locald_start" +stop_cmd="locald_stop" + +locald_start() +{ + # For each dir in $local_startup, search for init scripts matching *.sh + # + case ${local_startup} in + [Nn][Oo] | '') + ;; + *) + echo -n 'Local package initialization:' + slist="" + if [ -z "${script_name_sep}" ]; then + script_name_sep=" " + fi + for dir in ${local_startup}; do + if [ -d "${dir}" ]; then + for script in ${dir}/*.sh; do + slist="${slist}${script_name_sep}${script}" + done + fi + done + script_save_sep="$IFS" + IFS="${script_name_sep}" + for script in ${slist}; do + if [ -x "${script}" ]; then + (set -T + trap 'exit 1' 2 + ${script} start) + elif [ -f "${script}" -o -L "${script}" ]; then + echo -n " (skipping ${script##*/}, not executable)" + fi + done + IFS="${script_save_sep}" + echo '.' + ;; + esac +} + +locald_stop() +{ + echo -n 'Shutting down daemon processes:' + + # For each dir in $local_startup, search for init scripts matching *.sh + case ${local_startup} in + [Nn][Oo] | '') + ;; + *) + slist="" + if [ -z "${script_name_sep}" ]; then + script_name_sep=" " + fi + for dir in ${local_startup}; do + if [ -d "${dir}" ]; then + for script in ${dir}/*.sh; do + slist="${slist}${script_name_sep}${script}" + done + fi + done + script_save_sep="$IFS" + IFS="${script_name_sep}" + for script in `reverse_list ${slist}`; do + if [ -x "${script}" ]; then + (set -T + trap 'exit 1' 2 + ${script} stop) + fi + done + IFS="${script_save_sep}" + echo '.' + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/lockd b/etc/rc.d/lockd new file mode 100644 index 0000000..aa55bc3 --- /dev/null +++ b/etc/rc.d/lockd @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: nfslocking +# REQUIRE: nfsserver nfsclient nfsd +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +arg=$1 + +case `${CMD_OSTYPE}` in +FreeBSD) + RCVAR_SERVER="nfs_server_enable" + RCVAR_CLIENT="nfs_client_enable" + RCVAR_STATD="rpc_statd_enable" + RCVAR_LOCKD="rpc_lockd_enable" + ;; +NetBSD) + RCVAR_SERVER="nfs_server" + RCVAR_CLIENT="nfs_client" + RCVAR_STATD="statd" + RCVAR_LOCKD="lockd" + ;; +esac + +start_precmd="checkyesno ${RCVAR_SERVER} || checkyesno ${RCVAR_CLIENT} + [ -n "$rc_force" ]" +stop_precmd=$start_precmd +status_precmd=$start_precmd + +name="statd" +rcvar=${RCVAR_STATD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" + +name="lockd" +rcvar=${RCVAR_LOCKD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" diff --git a/etc/rc.d/lomac b/etc/rc.d/lomac new file mode 100644 index 0000000..9919ed0 --- /dev/null +++ b/etc/rc.d/lomac @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: lomac +# REQUIRE: mountcritremote +# BEFORE: syslogd +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="lomac" +rcvar=`set_rcvar` +start_cmd="kldload lomac >/dev/null 2>&1" +stop_cmd=":" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/lpd b/etc/rc.d/lpd new file mode 100755 index 0000000..83b051e --- /dev/null +++ b/etc/rc.d/lpd @@ -0,0 +1,28 @@ +#!/bin/sh +# +# $NetBSD: lpd,v 1.5 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: lpd +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="lpd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +required_files="/etc/printcap" + +case `${CMD_OSTYPE}` in +NetBSD) + pidfile="/var/run/${name}.pid" + ;; +*) + ;; +esac + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mixerctl b/etc/rc.d/mixerctl new file mode 100755 index 0000000..16fcbb9 --- /dev/null +++ b/etc/rc.d/mixerctl @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $NetBSD: mixerctl,v 1.2 2002/06/02 19:04:10 jmcneill Exp $ +# + +# PROVIDE: mixerctl +# REQUIRE: mountcritremote + +. /etc/rc.subr + +name="mixerctl" +start_cmd="mixerctl_start" +stop_cmd=":" + +mixerctl_start() +{ + if [ -r /etc/mixerctl.conf ]; then + echo "Setting mixerctl variables..." + while read setting; do + mixerctl -n -w $setting + done < /etc/mixerctl.conf + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mopd b/etc/rc.d/mopd new file mode 100755 index 0000000..f6a6710 --- /dev/null +++ b/etc/rc.d/mopd @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $NetBSD: mopd,v 1.5 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: mopd +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="mopd" +rcvar=$name +command="/usr/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/motd b/etc/rc.d/motd new file mode 100755 index 0000000..ca082ca --- /dev/null +++ b/etc/rc.d/motd @@ -0,0 +1,59 @@ +#!/bin/sh +# +# $NetBSD: motd,v 1.5 2000/09/19 13:04:38 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: motd +# REQUIRE: mountcritremote +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="motd" +rcvar="update_motd" +start_cmd="motd_start" +stop_cmd=":" + +case `${CMD_OSTYPE}` in +FreeBSD) + T=`mktemp /tmp/_motd.XXXXXX` + PERMS="644" + ;; +NetBSD) + T="/etc/_motd" + PERMS="664" + ;; +esac + +motd_start() +{ + # Update kernel info in /etc/motd + # Must be done *before* interactive logins are possible + # to prevent possible race conditions. + # + echo "Updating motd." + if [ ! -f /etc/motd ]; then + install -c -o root -g wheel -m ${PERMS} /dev/null /etc/motd + fi + + case `${CMD_OSTYPE}` in + FreeBSD) + uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T} + awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T} + ;; + NetBSD) + sysctl -n kern.version | while read i; do echo $i; break; done > $T + sed '1{/^NetBSD.*/{d;};};' < /etc/motd >> $T + ;; + esac + cmp -s $T /etc/motd || { + cp $T /etc/motd + chmod ${PERMS} /etc/motd + } + rm -f $T +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mountall b/etc/rc.d/mountall new file mode 100755 index 0000000..6ce01f7 --- /dev/null +++ b/etc/rc.d/mountall @@ -0,0 +1,17 @@ +#!/bin/sh +# +# $NetBSD: mountall,v 1.3 2000/05/13 08:45:07 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mountall +# REQUIRE: beforemountlkm + +. /etc/rc.subr + +name="mountall" +start_cmd="echo 'Mounting all filesystems...'; mount -a" +stop_cmd="echo 'Unmounting all filesystems...'; umount -a" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mountcritlocal b/etc/rc.d/mountcritlocal new file mode 100755 index 0000000..9598f13 --- /dev/null +++ b/etc/rc.d/mountcritlocal @@ -0,0 +1,68 @@ +#!/bin/sh +# +# $NetBSD: mountcritlocal,v 1.7 2002/04/29 12:29:53 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mountcritlocal +# REQUIRE: root +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="mountcritlocal" +start_cmd="mountcritlocal_start" +stop_cmd=":" + +mountcritlocal_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + # Set up the list of network filesystem types for which mounting + # should be delayed until after network initialization. + networkfs_types='nfs:NFS smbfs:SMB portalfs:PORTAL' + case ${extra_netfs_types} in + [Nn][Oo]) + ;; + *) + networkfs_types="${networkfs_types} ${extra_netfs_types}" + ;; + esac + + # Mount everything except nfs filesystems. + mount_excludes='no' + for i in ${networkfs_types}; do + fstype=${i%:*} + mount_excludes="${mount_excludes}${fstype}," + done + mount_excludes=${mount_excludes%,} + mount -a -t ${mount_excludes} + + case $? in + 0) + ;; + *) + echo 'Mounting /etc/fstab filesystems failed,' \ + ' startup aborted' + exit 1 + ;; + esac + ;; + NetBSD) + # Mount critical filesystems that are `local' + # (as specified in $critical_filesystems_local) + # This usually includes /var. + # + mount_critical_filesystems local + + # clean up left-over files. + # this could include the cleanup of lock files and /var/run, etc. + # + rm -f /etc/nologin /var/spool/lock/LCK.* /var/spool/uucp/STST/* + (cd /var/run && rm -rf -- *) + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mountcritremote b/etc/rc.d/mountcritremote new file mode 100755 index 0000000..919fe6d --- /dev/null +++ b/etc/rc.d/mountcritremote @@ -0,0 +1,89 @@ +#!/bin/sh +# +# $NetBSD: mountcritremote,v 1.7 2002/04/29 12:29:53 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mountcritremote +# REQUIRE: NETWORKING root mountcritlocal +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="mountcritremote" +stop_cmd=":" + +case `${CMD_OSTYPE}` in + FreeBSD) + start_cmd="mountcritremote_start" + start_precmd="mountcritremote_precmd" + ;; +NetBSD) + start_cmd="mountcritremote_start" + ;; +esac + +# Mount NFS filesystems if present in /etc/fstab +# +# XXX When the vfsload() issues with nfsclient support and related sysctls +# have been resolved, this block can be removed, and the condition that +# skips nfs in the following block (for "other network filesystems") can +# be removed. +# +mountcritremote_precmd() +{ + case "`mount -d -a -t nfs 2> /dev/null`" in + *mount_nfs*) + # Handle absent nfs client support + if ! sysctl vfs.nfs >/dev/null 2>&1 ; then + kldload nfsclient || warn 'nfs mount ' \ + 'requested, but no nfs client in kernel' \ + return 1 + fi + ;; + esac + return 0 +} + +mountcritremote_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + # Mount nfs filesystems. + # + echo -n 'Mounting NFS file systems:' + mount -a -t nfs + echo '.' + + # Mount other network filesystems if present in /etc/fstab + for i in ${networkfs_types}; do + fstype=${i%:*} + fsdecr=${i#*:} + + [ "${fstype}" = "nfs" ] && continue + + case "`mount -d -a -t ${fstype}`" in + *mount_${fstype}*) + echo -n "Mounting ${fsdecr} file systems:" + mount -a -t ${fstype} + echo '.' + ;; + esac + done + + # Cleanup /var again just in case it's a network mount + /etc/rc.d/cleanvar start + rm -f /var/run/clean_var /var/spool/lock/clean_var + ;; + NetBSD) + # Mount critical filesystems that may be `remote'. + # (as specified in $critical_filesystems_remote) + # This usually includes /usr. + # + mount_critical_filesystems remote + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mountd b/etc/rc.d/mountd new file mode 100755 index 0000000..7de831b --- /dev/null +++ b/etc/rc.d/mountd @@ -0,0 +1,51 @@ +#!/bin/sh +# +# $NetBSD: mountd,v 1.11 2002/01/31 01:26:06 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mountd +# REQUIRE: NETWORKING mountall beforemountlkm nfsserver rpcbind quota +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="mountd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +required_files="/etc/exports" +start_precmd="mountd_precmd" +extra_commands="reload" + +mountd_precmd() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + + # mountd flags will differ depending on rc.conf settings + # + case ${nfs_server_enable} in + [Yy][Ee][Ss]) + if checkyesno weak_mountd_authentication ; then + mountd_flags="${mountd_flags} -n" + fi + ;; + *) + if checkyesno single_mountd_enable ; then + checkyesno weak_mountd_authentication && mountd_flags="-n" + fi + esac + ;; + esac + rm -f /var/db/mountdtab + ( umask 022 ; > /var/db/mountdtab ) + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/moused b/etc/rc.d/moused new file mode 100644 index 0000000..bd42e9f --- /dev/null +++ b/etc/rc.d/moused @@ -0,0 +1,47 @@ +#!/bin/sh +# +# $NetBSD: moused,v 1.1 2001/10/29 23:25:01 augustss Exp $ +# $FreeBSD$ +# + +# PROVIDE: moused +# REQUIRE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name=moused +rcvar=`set_rcvar` + +case `${CMD_OSTYPE}` in +FreeBSD) + start_cmd="moused_start" + ;; +NetBSD) + command="/usr/sbin/${name}" + ;; +esac + +moused_start() +{ + echo -n 'Starting moused:' + /usr/sbin/moused ${moused_flags} -p ${moused_port} -t ${moused_type} + + _mousechar_arg= + case ${mousechar_start} in + [Nn][Oo] | '') + ;; + *) + echo -n ' mousechar_start' + _mousechar_arg="-M ${mousechar_start}" + ;; + esac + + for ttyv in /dev/ttyv* ; do + vidcontrol < ${ttyv} ${_mousechar_arg} -m on + done + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mroute6d b/etc/rc.d/mroute6d new file mode 100644 index 0000000..7ae71f0 --- /dev/null +++ b/etc/rc.d/mroute6d @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: mroute6d +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="mroute6d" +rcvar=`set_rcvar` +command="/usr/local/sbin/pim6dd" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/mrouted b/etc/rc.d/mrouted new file mode 100755 index 0000000..b1409e1 --- /dev/null +++ b/etc/rc.d/mrouted @@ -0,0 +1,22 @@ +#!/bin/sh +# +# $NetBSD: mrouted,v 1.6 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: mrouted +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="mrouted" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/${name}.conf" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/msgs b/etc/rc.d/msgs new file mode 100644 index 0000000..64e73cf --- /dev/null +++ b/etc/rc.d/msgs @@ -0,0 +1,14 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: msgs +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +# Make a bounds file for msgs(1) if there isn't one already +# +if [ -d /var/msgs -a ! -f /var/msgs/bounds -a ! -L /var/msgs/bounds ]; then + echo 0 > /var/msgs/bounds +fi diff --git a/etc/rc.d/named b/etc/rc.d/named new file mode 100755 index 0000000..11cf225 --- /dev/null +++ b/etc/rc.d/named @@ -0,0 +1,124 @@ +#!/bin/sh +# +# $NetBSD: named,v 1.10 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: named +# REQUIRE: SERVERS +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="named" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +start_precmd="named_precmd" +required_dirs="$named_chrootdir" # if it is set, it must exist +extra_commands="reload" + +case `${CMD_OSTYPE}` in +FreeBSD) + nuser=bind + ngroup=bind + ;; +NetBSD) + nuser=named + ngroup=named + ;; +esac + +# If running in a chroot cage, ensure that the appropriate files +# exist inside the cage, as well as helper symlinks into the cage +# from outside. +# +# As this is called after the is_running and required_dir checks +# are made in run_rc_command(), we can safely assume ${named_chrootdir} +# exists and named isn't running at this point (unless forcestart +# is used). +# +chroot_autoupdate() +{ + # If the named-xfer in the system is newer than the one in the + # chroot directory or if it (in the chrootdir) doesn't exist + # copy it over + # + if [ ! -x "${named_chrootdir}/usr/libexec/named-xfer" -o \ + "${named_chrootdir}/usr/libexec/named-xfer" -ot \ + /usr/libexec/named-xfer ]; then + rm -f "${named_chrootdir}/usr/libexec/named-xfer" + cp -p /usr/libexec/named-xfer "${named_chrootdir}/usr/libexec" + fi + + # Copy /dev/null over, if neccessary. Preserve everything (perms, + # ownership, mod times). + # + if [ ! -c "${named_chrootdir}/dev/null" ]; then + rm -f "${named_chrootdir}/dev/null" + ( cd /dev ; /bin/pax -rw -pe null "${named_chrootdir}/dev" ) + fi + + # Copy local timezone information if it's not up-to-date. + # + if [ -f /etc/localtime ]; then + cmp -s /etc/localtime "${named_chrootdir}/etc/localtime" || \ + cp -p /etc/localtime "${named_chrootdir}/etc/localtime" + fi +} + +# Make symlinks to the correct pid and ndc socket files +# +make_symlinks() +{ + ln -fs "${named_chrootdir}/var/run/named.pid" /var/run/named.pid + ln -fs "${named_chrootdir}/var/run/ndc" /var/run/ndc + +} + +named_precmd() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + ! checkyesno named_rcng && return 0 + # Is the user using a sandbox? + if [ -z "$named_chrootdir" ]; then + rc_flags="-u $nuser -g $ngroup $rc_flags" + return 0 + fi + + # Do the following checks only if the user wants them done + checkyesno named_chroot_autoupdate && chroot_autoupdate + ;; + NetBSD) + chroot_autoupdate + ;; + esac + + case `${CMD_OSTYPE}` in + FreeBSD) + # Make the symlinks only if the user wants them done. + checkyesno named_symlink_enable && make_symlinks + ;; + NetBSD) + make_symlinks + ;; + esac + + # Change run_rc_commands()'s internal copy of $named_flags + # + case `${CMD_OSTYPE}` in + FreeBSD) + ! checkyesno named_rcng && return + ;; + esac + rc_flags="-u $nuser -g $ngroup -t ${named_chrootdir} $rc_flags" +} + +load_rc_config $name +# The following variable requires that rc.conf be loaded first +# +required_dirs="$named_chrootdir" # if it is set, it must exist + +run_rc_command "$1" diff --git a/etc/rc.d/ndbootd b/etc/rc.d/ndbootd new file mode 100755 index 0000000..e24f8fc --- /dev/null +++ b/etc/rc.d/ndbootd @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $NetBSD$ +# + +# PROVIDE: ndbootd +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="ndbootd" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/ethers" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/netoptions b/etc/rc.d/netoptions new file mode 100644 index 0000000..a79aa5f --- /dev/null +++ b/etc/rc.d/netoptions @@ -0,0 +1,35 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: network3 +# REQUIRE: localdaemons +# KEYWORD: FreeBSD + +. /etc/rc.subr + +load_rc_config 'XXX' + +echo -n 'Additional TCP options:' +case ${log_in_vain} in +[Nn][Oo] | '') + log_in_vain=0 + ;; +[Yy][Ee][Ss]) + log_in_vain=1 + ;; +[0-9]*) + ;; +*) + echo " invalid log_in_vain setting: ${log_in_vain}" + log_in_vain=0 + ;; +esac + +[ "${log_in_vain}" -ne 0 ] && ( + echo -n " log_in_vain=${log_in_vain}" + sysctl net.inet.tcp.log_in_vain="${log_in_vain}" >/dev/null + sysctl net.inet.udp.log_in_vain="${log_in_vain}" >/dev/null +) +echo '.' diff --git a/etc/rc.d/network b/etc/rc.d/network new file mode 100755 index 0000000..7fcb5b2 --- /dev/null +++ b/etc/rc.d/network @@ -0,0 +1,387 @@ +#!/bin/sh +# +# $NetBSD: network,v 1.29 2001/01/11 17:56:16 itojun Exp $ +# $FreeBSD$ + +# PROVIDE: network +# REQUIRE: ipfilter ipsec mountcritlocal root tty sysctl + +. /etc/rc.subr + +name="network" +start_cmd="network_start" +stop_cmd="network_stop" + +network_start() +{ + # set hostname, turn on network + # + echo "Starting network." + + # If $hostname is set, use it for my Internet name, + # otherwise use /etc/myname + # + if [ -z "$hostname" ] && [ -f /etc/myname ]; then + hostname=`cat /etc/myname` + fi + if [ -n "$hostname" ]; then + echo "Hostname: $hostname" + hostname $hostname + else + # Don't warn about it if we're going to run + # DHCP later, as we will probably get the + # hostname at that time. + # + if ! checkyesno dhclient && [ -z "`hostname`" ]; then + warn "\$hostname not set." + fi + fi + + # Check $domainname first, then /etc/defaultdomain, + # for NIS/YP domain name + # + if [ -z "$domainname" ] && [ -f /etc/defaultdomain ]; then + domainname=`cat /etc/defaultdomain` + fi + if [ -n "$domainname" ]; then + echo "NIS domainname: $domainname" + domainname $domainname + fi + + # Flush all routes just to make sure it is clean + if checkyesno flushroutes; then + route -n flush + fi + + # Set the address for the first loopback interface, so that the + # auto-route from a newly configured interface's address to lo0 + # works correctly. + # + # NOTE: obscure networking problems may occur if lo0 isn't configured... + # + ifconfig lo0 inet 127.0.0.1 + + # According to RFC1122, 127.0.0.0/8 should not leave the node. + # + route add -inet 127.0.0.0 -netmask 0xff000000 127.0.0.1 -reject + + # IPv6 routing setups, and host/router mode selection. + # + if ifconfig lo0 inet6 >/dev/null 2>&1; then + # We have IPv6 support in kernel. + + # disallow link-local unicast dest without outgoing scope + # identifiers. + # + route add -inet6 fe80:: -prefixlen 10 ::1 -reject + + # disallow site-local unicast dest without outgoing scope + # identifiers. + # If you configure site-locals without scope id (it is + # permissible config for routers that are not on scope + # boundary), you may want to comment the following one out. + # + if ! checkyesno ip6sitelocal; then + route add -inet6 fec0:: -prefixlen 10 ::1 -reject + fi + + # disallow "internal" addresses to appear on the wire. + # + route add -inet6 ::ffff:0.0.0.0 -prefixlen 96 ::1 -reject + + # disallow packets to malicious IPv4 compatible prefix + # + route add -inet6 ::224.0.0.0 -prefixlen 100 ::1 -reject + route add -inet6 ::127.0.0.0 -prefixlen 104 ::1 -reject + route add -inet6 ::0.0.0.0 -prefixlen 104 ::1 -reject + route add -inet6 ::255.0.0.0 -prefixlen 104 ::1 -reject + + # disallow packets to malicious 6to4 prefix + # + route add -inet6 2002:e000:: -prefixlen 20 ::1 -reject + route add -inet6 2002:7f00:: -prefixlen 24 ::1 -reject + route add -inet6 2002:0000:: -prefixlen 24 ::1 -reject + route add -inet6 2002:ff00:: -prefixlen 24 ::1 -reject + + # Completely disallow packets to IPv4 compatible prefix. + # This may conflict with RFC1933 under following circumstances: + # (1) An IPv6-only KAME node tries to originate packets to IPv4 + # compatible destination. The KAME node has no IPv4 + # compatible support. Under RFC1933, it should transmit + # native IPv6 packets toward IPv4 compatible destination, + # hoping it would reach a router that forwards the packet + # toward auto-tunnel interface. + # (2) An IPv6-only node originates a packet to IPv4 compatible + # destination. A KAME node is acting as an IPv6 router, and + # asked to forward it. + # Due to rare use of IPv4 compatible address, and security + # issues with it, we disable it by default. + # + route add -inet6 ::0.0.0.0 -prefixlen 96 ::1 -reject + + sysctl net.inet6.ip6.forwarding=0 >/dev/null + sysctl net.inet6.ip6.accept_rtadv=0 >/dev/null + + # backward compatibility + # + if [ -z "$ip6mode" ] && [ -n "$ip6forwarding" ]; then + warn 'Please migrate to newer rc.conf' \ + '(use ip6mode, not ip6forwarding)' + if checkyesno ip6forwarding; then + ip6mode=router + elif checkyesno rtsol; then + ip6mode=autohost + else + ip6mode=host + fi + fi + + case $ip6mode in + router) + echo 'IPv6 mode: router' + sysctl net.inet6.ip6.forwarding=1 >/dev/null + ;; + + autohost) + echo 'IPv6 mode: autoconfigured host' + sysctl net.inet6.ip6.accept_rtadv=1 >/dev/null + ;; + + host) + echo 'IPv6 mode: host' + ;; + + *) echo 'WARNING: invalid value in ip6mode' + ;; + + esac + fi + + # Configure all of the network interfaces listed in $net_interfaces; + # if $auto_ifconfig is YES, grab all interfaces from ifconfig. + # In the following, "xxN" stands in for interface names, like "le0". + # For any interfaces that has an $ifconfig_xxN variable associated, + # we do "ifconfig xxN $ifconfig_xxN". + # If there is no such variable, we take the contents of the file + # /etc/ifconfig.xxN, and run "ifconfig xxN" repeatedly, using each + # line of the file as the arguments for a separate "ifconfig" + # invocation. + # + # In order to configure an interface reasonably, you at the very least + # need to specify "[addr_family] [hostname]" (e.g "inet my.domain.org"), + # and probably a netmask (as in "netmask 0xffffffe0"). You will + # frequently need to specify a media type, as in "media UTP", for + # interface cards with multiple media connections that do not + # autoconfigure. See the ifconfig manual page for details. + # + # Note that /etc/ifconfig.xxN takes multiple lines. The following + # configuration is possible: + # inet 10.1.1.1 netmask 0xffffff00 + # inet 10.1.1.2 netmask 0xffffff00 alias + # inet6 fec0::1 prefixlen 64 alias + # + # You can put shell script fragment into /etc/ifconfig.xxN by + # starting a line with "!". Refer to ifconfig.if(5) for details. + # + if [ "$net_interfaces" != NO ]; then + if checkyesno auto_ifconfig; then + tmp=`ifconfig -l` + for cloner in `ifconfig -C 2>/dev/null`; do + for int in /etc/ifconfig.${cloner}[0-9]*; do + [ ! -f $int ] && break + tmp="$tmp ${int##*.}" + done + done + else + tmp="$net_interfaces" + fi + echo -n 'Configuring network interfaces:' + for int in $tmp; do + eval args=\$ifconfig_$int + if [ -n "$args" ]; then + echo -n " $int" + ifconfig $int $args + elif [ -f /etc/ifconfig.$int ]; then + echo -n " $int" + while read args; do + [ -z "$args" ] && continue + case "$args" in + "#"*) + ;; + "!"*) + eval ${args#*!} + ;; + *) + ifconfig $int $args + ;; + esac + done < /etc/ifconfig.$int + else + if ! checkyesno auto_ifconfig; then + echo + warn \ + "/etc/ifconfig.$int missing and ifconfig_$int not set;" + warn "interface $int not configured." + fi + continue + fi + configured_interfaces="$configured_interfaces $int" + done + echo "." + fi + + # Check $defaultroute, then /etc/mygate, for the name of my gateway + # host. That name must be in /etc/hosts. + # + if [ -z "$defaultroute" ] && [ -f /etc/mygate ]; then + defaultroute=`cat /etc/mygate` + fi + if [ -n "$defaultroute" ]; then + route add default $defaultroute + fi + + # Check if each configured interface xxN has an $ifaliases_xxN variable + # associated, then configure additional IP addresses for that interface. + # The variable contains a list of "address netmask" pairs, with + # "netmask" set to "-" if the interface default netmask is to be used. + # + # Note that $ifaliases_xxN works only with certain configurations and + # considered not recommended. Use /etc/ifconfig.xxN if possible. + # + # + if [ -n "$configured_interfaces" ]; then + echo "Adding interface aliases:" + done_aliases_message=yes + fi + for int in $configured_interfaces; do + eval args=\$ifaliases_$int + if [ -n "$args" ]; then + set -- $args + while [ $# -ge 2 ]; do + addr=$1 ; net=$2 ; shift 2 + if [ "$net" = "-" ]; then + # for compatibility only, obsolete + ifconfig $int inet alias $addr + else + ifconfig $int inet alias $addr \ + netmask $net + fi + # Use loopback, not the wire + route add $addr 127.0.0.1 + done + fi + done + + # /etc/ifaliases, if it exists, contains the names of additional IP + # addresses for each interface. It is formatted as a series of lines + # that contain + # address interface netmask + # + # Note that /etc/ifaliases works only with certain cases only and its + # use is not recommended. Use /etc/ifconfig.xxN instead. + # + # + if [ -f /etc/ifaliases ]; then + if [ "$done_aliases_message" != yes ]; then + echo "Adding interface aliases:" + fi + while read addr int net; do + if [ -z "$net" ]; then + # for compatibility only, obsolete + ifconfig $int inet alias $addr + else + ifconfig $int inet alias $addr netmask $net + fi + # use loopback, not the wire + route add $addr 127.0.0.1 + done < /etc/ifaliases + fi + + # IPv6 interface autoconfiguration. + # + if ifconfig lo0 inet6 >/dev/null 2>&1; then + # wait till DAD is completed. always invoke it in case + # if are configured manually by ifconfig + # + dadcount=`sysctl -n net.inet6.ip6.dad_count 2>/dev/null` + sleep $dadcount + sleep 1 + + if checkyesno rtsol; then + if [ "$ip6mode" = "autohost" ]; then + echo 'Sending router solicitation...' + rtsol $rtsol_flags + else + echo + warn \ + "ip6mode must be set to 'autohost' to use rtsol." + fi + + # wait till DAD is completed, for global addresses + # configured by router advert message. + # + sleep $dadcount + sleep 1 + fi + fi + + # XXX this must die + if [ -s /etc/netstart.local ]; then + sh /etc/netstart.local start + fi +} + +network_stop() +{ + echo "Stopping network." + + # XXX this must die + if [ -s /etc/netstart.local ]; then + sh /etc/netstart.local stop + fi + + echo "Deleting aliases." + if [ -f /etc/ifaliases ]; then + while read addr int net; do + ifconfig $int inet delete $addr + done < /etc/ifaliases + fi + + for int in `ifconfig -lu`; do + eval args=\$ifaliases_$int + if [ -n "$args" ]; then + set -- $args + while [ $# -ge 2 ]; do + addr=$1 ; net=$2 ; shift 2 + ifconfig $int inet delete $addr + done + fi + done + + # down interfaces + # + echo -n 'Downing network interfaces:' + if [ "$net_interfaces" != NO ]; then + if checkyesno auto_ifconfig; then + tmp=`ifconfig -l` + else + tmp="$net_interfaces" + fi + for int in $tmp; do + eval args=\$ifconfig_$int + if [ -n "$args" ] || [ -f /etc/ifconfig.$int ]; then + echo -n " $int" + ifconfig $int down + fi + done + echo "." + fi + + # flush routes + # + route -n flush + +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/network1 b/etc/rc.d/network1 new file mode 100644 index 0000000..7b2f40f --- /dev/null +++ b/etc/rc.d/network1 @@ -0,0 +1,225 @@ +#!/bin/sh -x +# +# $FreeBSD$ +# + +# PROVIDE: network1 +# REQUIRE: atm1 ipfilter mountcritlocal pccard serial sppp sysctl tty +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="network1" +start_cmd="network_start" +stop_cmd="network_stop" + +convert_host_conf() +{ + host_conf=$1; shift; + nsswitch_conf=$1; shift; + awk ' \ + /^[:blank:]*#/ { next } \ + /(hosts|local|file)/ { nsswitch[c] = "files"; c++; next } \ + /(dns|bind)/ { nsswitch[c] = "dns"; c++; next } \ + /nis/ { nsswitch[c] = "nis"; c++; next } \ + { printf "Warning: unrecognized line [%s]", $0 > "/dev/stderr" } \ + END { \ + printf "hosts: "; \ + for (i in nsswitch) printf "%s ", nsswitch[i]; \ + printf "\n"; \ + }' < $host_conf > $nsswitch_conf +} + +generate_host_conf() +{ + nsswitch_conf=$1; shift; + host_conf=$1; shift; + + awk ' +BEGIN { + xlat["files"] = "hosts"; + xlat["dns"] = "bind"; + xlat["nis"] = "nis"; + cont = 0; +} +sub(/^[\t ]*hosts:/, "") || cont { + if (!cont) + srcs = "" + sub(/#.*/, "") + gsub(/[][]/, " & ") + cont = sub(/\\$/, "") + srcs = srcs " " $0 +} +END { + print "# Auto-generated from nsswitch.conf, do not edit" + ns = split(srcs, s) + for (n = 1; n <= ns; ++n) { + if (s[n] in xlat) + print xlat[s[n]] + } +} +' <$nsswitch_conf >$host_conf +} + +network_gif_setup() { + case ${gif_interfaces} in + [Nn][Oo] | '') + ;; + *) + for i in ${gif_interfaces}; do + eval peers=\$gifconfig_$i + case ${peers} in + '') + continue + ;; + *) + ifconfig $i create >/dev/null 2>&1 + ifconfig $i tunnel ${peers} + ;; + esac + done + ;; + esac +} + +network_start() +{ + # set hostname, turn on network + # + echo -n "Doing initial network setup:" + + # Generate host.conf for compatibility + # + if [ -f "/etc/nsswitch.conf" ]; then + echo -n ' host.conf' + generate_host_conf /etc/nsswitch.conf /etc/host.conf + fi + + # Convert host.conf to nsswitch.conf if necessary + # + if [ -f "/etc/host.conf" -a ! -f "/etc/nsswitch.conf" ]; then + echo '' + echo 'Warning: /etc/host.conf is no longer used' + echo ' /etc/nsswitch.conf will be created for you' + convert_host_conf /etc/host.conf /etc/nsswitch.conf + fi + + # Set the host name if it is not already set + # + if [ -z "`hostname -s`" ]; then + hostname ${hostname} + echo -n ' hostname' + fi + + # Set the domainname if we're using NIS + # + case ${nisdomainname} in + [Nn][Oo]|'') + ;; + *) + domainname ${nisdomainname} + echo -n ' domain' + ;; + esac + + echo '.' + + # Attempt to create cloned interfaces. + for ifn in ${cloned_interfaces}; do + ifconfig ${ifn} create + done + + # gifconfig + network_gif_setup + + # Set up all the network interfaces, calling startup scripts if needed + # + case ${network_interfaces} in + [Aa][Uu][Tt][Oo]) + network_interfaces="`ifconfig -l`" + ;; + *) + network_interfaces="${network_interfaces} ${cloned_interfaces}" + ;; + esac + + dhcp_interfaces="" + for ifn in ${network_interfaces}; do + if [ -r /etc/start_if.${ifn} ]; then + . /etc/start_if.${ifn} + eval showstat_$ifn=1 + fi + + # Do the primary ifconfig if specified + # + eval ifconfig_args=\$ifconfig_${ifn} + + case ${ifconfig_args} in + '') + ;; + [Dd][Hh][Cc][Pp]) + # DHCP inits are done all in one go below + dhcp_interfaces="$dhcp_interfaces $ifn" + eval showstat_$ifn=1 + ;; + *) + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + ;; + esac + done + + if [ ! -z "${dhcp_interfaces}" ]; then + ${dhcp_program:-/sbin/dhclient} ${dhcp_flags} ${dhcp_interfaces} + fi + + for ifn in ${network_interfaces}; do + # Check to see if aliases need to be added + # + alias=0 + while : ; do + eval ifconfig_args=\$ifconfig_${ifn}_alias${alias} + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} alias + eval showstat_$ifn=1 + alias=$((${alias} + 1)) + else + break; + fi + done + + # Do ipx address if specified + # + eval ifconfig_args=\$ifconfig_${ifn}_ipx + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + fi + done + + # Display ifconfiged interfaces + for ifn in ${network_interfaces}; do + eval showstat=\$showstat_${ifn} + if [ ! -z ${showstat} ]; then + ifconfig ${ifn} + fi + done + + # Resync ipfilter + /etc/rc.d/ipfilter resync +} + +network_stop() +{ + echo -n "Stopping network:" + + # flush routes + # + echo -n " flush routes" + route -n flush + + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/network2 b/etc/rc.d/network2 new file mode 100644 index 0000000..abeea16 --- /dev/null +++ b/etc/rc.d/network2 @@ -0,0 +1,140 @@ +#!/bin/sh +# +# Configure routing and miscellaneous network tunables +# +# $FreeBSD$ +# + +# PROVIDE: network2 +# REQUIRE: network1 ppp-user +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="network2" +start_cmd="network2_start" +stop_cmd=":" + +network2_start() +{ + case ${defaultrouter} in + [Nn][Oo] | '') + ;; + *) + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + ;; + esac + + # Setup static routes. This should be done before router discovery. + # + if [ -n "${static_routes}" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + + echo -n 'Additional routing options:' + case ${tcp_extensions} in + [Yy][Ee][Ss] | '') + ;; + *) + echo -n ' tcp extensions=NO' + sysctl net.inet.tcp.rfc1323=0 >/dev/null + ;; + esac + + case ${icmp_bmcastecho} in + [Yy][Ee][Ss]) + echo -n ' broadcast ping responses=YES' + sysctl net.inet.icmp.bmcastecho=1 >/dev/null + ;; + esac + + case ${icmp_drop_redirect} in + [Yy][Ee][Ss]) + echo -n ' ignore ICMP redirect=YES' + sysctl net.inet.icmp.drop_redirect=1 >/dev/null + ;; + esac + + case ${icmp_log_redirect} in + [Yy][Ee][Ss]) + echo -n ' log ICMP redirect=YES' + sysctl net.inet.icmp.log_redirect=1 >/dev/null + ;; + esac + + case ${gateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IP gateway=YES' + sysctl net.inet.ip.forwarding=1 >/dev/null + ;; + esac + + case ${forward_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' do source routing=YES' + sysctl net.inet.ip.sourceroute=1 >/dev/null + ;; + esac + + case ${accept_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' accept source routing=YES' + sysctl net.inet.ip.accept_sourceroute=1 >/dev/null + ;; + esac + + case ${tcp_keepalive} in + [Nn][Oo]) + echo -n ' TCP keepalive=NO' + sysctl net.inet.tcp.always_keepalive=0 >/dev/null + ;; + esac + + case ${tcp_drop_synfin} in + [Yy][Ee][Ss]) + echo -n ' drop SYN+FIN packets=YES' + sysctl net.inet.tcp.drop_synfin=1 >/dev/null + ;; + esac + + case ${ipxgateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IPX gateway=YES' + sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null + ;; + esac + + case ${arpproxy_all} in + [Yy][Ee][Ss]) + echo -n ' ARP proxyall=YES' + sysctl net.link.ether.inet.proxyall=1 >/dev/null + ;; + esac + + case ${ip_portrange_first} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_first=$ip_portrange_first" + sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null + ;; + esac + + case ${ip_portrange_last} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_last=$ip_portrange_last" + sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null + ;; + esac + + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/network3 b/etc/rc.d/network3 new file mode 100644 index 0000000..a79aa5f --- /dev/null +++ b/etc/rc.d/network3 @@ -0,0 +1,35 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: network3 +# REQUIRE: localdaemons +# KEYWORD: FreeBSD + +. /etc/rc.subr + +load_rc_config 'XXX' + +echo -n 'Additional TCP options:' +case ${log_in_vain} in +[Nn][Oo] | '') + log_in_vain=0 + ;; +[Yy][Ee][Ss]) + log_in_vain=1 + ;; +[0-9]*) + ;; +*) + echo " invalid log_in_vain setting: ${log_in_vain}" + log_in_vain=0 + ;; +esac + +[ "${log_in_vain}" -ne 0 ] && ( + echo -n " log_in_vain=${log_in_vain}" + sysctl net.inet.tcp.log_in_vain="${log_in_vain}" >/dev/null + sysctl net.inet.udp.log_in_vain="${log_in_vain}" >/dev/null +) +echo '.' diff --git a/etc/rc.d/network_ipv6 b/etc/rc.d/network_ipv6 new file mode 100644 index 0000000..31ed76d --- /dev/null +++ b/etc/rc.d/network_ipv6 @@ -0,0 +1,414 @@ +#!/bin/sh +# +# Copyright (c) 2000 The KAME Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# From: src/etc/rc.network6,v 1.29 2002/04/06 15:15:43 +# + +# PROVIDE: network_ipv6 +# REQUIRE: network2 +# KEYWORD: FreeBSD + +name="network_ipv6" +rcvar=`set_rcvar ipv6` +start_cmd="network_ipv6_start" +#required_files="/etc/rc.network6" + +hexdigit() +{ + if [ $1 -lt 10 ]; then + echo $1 + else + case $1 in + 10) echo a ;; + 11) echo b ;; + 12) echo c ;; + 13) echo d ;; + 14) echo e ;; + 15) echo f ;; + esac + fi +} + +hexprint() +{ + val=$1 + str='' + + dig=`hexdigit $((${val} & 15))` + str=${dig}${str} + val=$((${val} >> 4)) + while [ ${val} -gt 0 ]; do + dig=`hexdigit $((${val} & 15))` + str=${dig}${str} + val=$((${val} >> 4)) + done + + echo ${str} +} + +network6_interface_setup() +{ + interfaces=$* + rtsol_interfaces='' + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + rtsol_available=no + ;; + *) + rtsol_available=yes + ;; + esac + for i in $interfaces; do + rtsol_interface=yes + eval prefix=\$ipv6_prefix_$i + if [ -n "${prefix}" ]; then + rtsol_available=no + rtsol_interface=no + laddr=`network6_getladdr $i` + hostid=`expr "${laddr}" : 'fe80::\(.*\)%\(.*\)'` + for j in ${prefix}; do + address=$j\:${hostid} + ifconfig $i inet6 ${address} prefixlen 64 alias + + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + # subnet-router anycast address + # (rfc2373) + ifconfig $i inet6 $j:: prefixlen 64 \ + alias anycast + ;; + esac + done + fi + eval ipv6_ifconfig=\$ipv6_ifconfig_$i + if [ -n "${ipv6_ifconfig}" ]; then + rtsol_available=no + rtsol_interface=no + ifconfig $i inet6 ${ipv6_ifconfig} alias + fi + + if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] + then + case ${i} in + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + ;; + *) + rtsol_interfaces="${rtsol_interfaces} ${i}" + ;; + esac + else + ifconfig $i inet6 + fi + done + + if [ ${rtsol_available} = yes -a -n "${rtsol_interfaces}" ]; then + # Act as endhost - automatically configured. + # You can configure only single interface, as + # specification assumes that autoconfigured host has + # single interface only. + sysctl net.inet6.ip6.accept_rtadv=1 + set ${rtsol_interfaces} + ifconfig $1 up + rtsol $1 + fi + + for i in $interfaces; do + alias=0 + while : ; do + eval ipv6_ifconfig=\$ipv6_ifconfig_${i}_alias${alias} + if [ -z "${ipv6_ifconfig}" ]; then + break; + fi + ifconfig $i inet6 ${ipv6_ifconfig} alias + alias=$((${alias} + 1)) + done + done +} + +network6_stf_setup() +{ + case ${stf_interface_ipv4addr} in + [Nn][Oo] | '') + ;; + *) + # assign IPv6 addr and interface route for 6to4 interface + stf_prefixlen=$((16+${stf_interface_ipv4plen:-0})) + OIFS="$IFS" + IFS=".$IFS" + set ${stf_interface_ipv4addr} + IFS="$OIFS" + hexfrag1=`hexprint $(($1*256 + $2))` + hexfrag2=`hexprint $(($3*256 + $4))` + ipv4_in_hexformat="${hexfrag1}:${hexfrag2}" + case ${stf_interface_ipv6_ifid} in + [Aa][Uu][Tt][Oo] | '') + for i in ${ipv6_network_interfaces}; do + laddr=`network6_getladdr ${i}` + case ${laddr} in + '') + ;; + *) + break + ;; + esac + done + stf_interface_ipv6_ifid=`expr "${laddr}" : \ + 'fe80::\(.*\)%\(.*\)'` + case ${stf_interface_ipv6_ifid} in + '') + stf_interface_ipv6_ifid=0:0:0:1 + ;; + esac + ;; + esac + ifconfig stf0 create >/dev/null 2>&1 + ifconfig stf0 inet6 2002:${ipv4_in_hexformat}:${stf_interface_ipv6_slaid:-0}:${stf_interface_ipv6_ifid} \ + prefixlen ${stf_prefixlen} + # disallow packets to malicious 6to4 prefix + route add -inet6 2002:e000:: -prefixlen 20 ::1 -reject + route add -inet6 2002:7f00:: -prefixlen 24 ::1 -reject + route add -inet6 2002:0000:: -prefixlen 24 ::1 -reject + route add -inet6 2002:ff00:: -prefixlen 24 ::1 -reject + ;; + esac +} + +network6_static_routes_setup() +{ + # Set up any static routes. + case ${ipv6_defaultrouter} in + [Nn][Oo] | '') + ;; + *) + ipv6_static_routes="default ${ipv6_static_routes}" + ipv6_route_default="default ${ipv6_defaultrouter}" + ;; + esac + case ${ipv6_static_routes} in + [Nn][Oo] | '') + ;; + *) + for i in ${ipv6_static_routes}; do + eval ipv6_route_args=\$ipv6_route_${i} + route add -inet6 ${ipv6_route_args} + done + ;; + esac +} + +network6_faith_setup() +{ + case ${ipv6_faith_prefix} in + [Nn][Oo] | '') + ;; + *) + sysctl net.inet6.ip6.keepfaith=1 + ifconfig faith0 create >/dev/null 2>&1 + ifconfig faith0 up + for prefix in ${ipv6_faith_prefix}; do + prefixlen=`expr "${prefix}" : ".*/\(.*\)"` + case ${prefixlen} in + '') + prefixlen=96 + ;; + *) + prefix=`expr "${prefix}" : \ + "\(.*\)/${prefixlen}"` + ;; + esac + route add -inet6 ${prefix} -prefixlen ${prefixlen} ::1 + route change -inet6 ${prefix} -prefixlen ${prefixlen} \ + -ifp faith0 + done + ;; + esac +} + +network6_default_interface_setup() +{ + # Choose IPv6 default interface if it is not clearly specified. + case ${ipv6_default_interface} in + '') + for i in ${ipv6_network_interfaces}; do + case $i in + lo0|faith[0-9]*) + continue + ;; + esac + laddr=`network6_getladdr $i exclude_tentative` + case ${laddr} in + '') + ;; + *) + ipv6_default_interface=$i + break + ;; + esac + done + ;; + esac + + # Disallow unicast packets without outgoing scope identifiers, + # or route such packets to a "default" interface, if it is specified. + route add -inet6 fe80:: -prefixlen 10 ::1 -reject + case ${ipv6_default_interface} in + [Nn][Oo] | '') + route add -inet6 ff02:: -prefixlen 16 ::1 -reject + ;; + *) + laddr=`network6_getladdr ${ipv6_default_interface}` + route add -inet6 ff02:: ${laddr} -prefixlen 16 -interface \ + -cloning + + # Disable installing the default interface with the + # case net.inet6.ip6.forwarding=0 and + # net.inet6.ip6.accept_rtadv=0, due to avoid conflict + # between the default router list and the manual + # configured default route. + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + ;; + *) + if [ `sysctl -n net.inet6.ip6.accept_rtadv` -eq 1 ] + then + ndp -I ${ipv6_default_interface} + fi + ;; + esac + ;; + esac +} + +network6_getladdr() +{ + ifconfig $1 2>/dev/null | while read proto addr rest; do + case ${proto} in + inet6) + case ${addr} in + fe80::*) + if [ -z "$2" ]; then + echo ${addr} + return + fi + case ${rest} in + *tentative*) + continue + ;; + *) + echo ${addr} + return + esac + esac + esac + done +} + +network_ipv6_start() +{ + # disallow "internal" addresses to appear on the wire + route add -inet6 ::ffff:0.0.0.0 -prefixlen 96 ::1 -reject + route add -inet6 ::0.0.0.0 -prefixlen 96 ::1 -reject + + case ${ipv6_network_interfaces} in + [Aa][Uu][Tt][Oo]) + # Get a list of network interfaces + ipv6_network_interfaces="`ifconfig -l`" + ;; + [Nn][Oo][Nn][Ee]) + ipv6_network_interfaces='' + ;; + esac + + if checkyesno ipv6_gateway_enable ; then + # act as a router + ${SYSCTL_W} net.inet6.ip6.forwarding=1 + ${SYSCTL_W} net.inet6.ip6.accept_rtadv=0 + + # wait for DAD + for i in $ipv6_network_interfaces; do + ifconfig $i up + done + sleep `${SYSCTL_N} net.inet6.ip6.dad_count` + sleep 1 + else + # act as endhost - start with manual configuration + # Setup of net.inet6.ip6.accept_rtadv is done later by + # network6_interface_setup. + ${SYSCTL_W} net.inet6.ip6.forwarding=0 + fi + + if [ -n "${ipv6_network_interfaces}" ]; then + # Setup the interfaces + network6_interface_setup $ipv6_network_interfaces + + # wait for DAD's completion (for global addrs) + sleep `${SYSCTL_N} net.inet6.ip6.dad_count` + sleep 1 + fi + + # Filter out interfaces on which IPv6 initialization failed. + if checkyesno ipv6_gateway_enable ; then + ipv6_working_interfaces="" + for i in ${ipv6_network_interfaces}; do + laddr=`network6_getladdr $i exclude_tentative` + case ${laddr} in + '') + ;; + *) + ipv6_working_interfaces="$i \ + ${ipv6_working_interfaces}" + ;; + esac + done + ipv6_network_interfaces=${ipv6_working_interfaces} + fi + + # Setup IPv6 to IPv4 mapping + network6_stf_setup + + # Install the "default interface" to kernel, which will be used + # as the default route when there's no router. + network6_default_interface_setup + + # Setup static routes + network6_static_routes_setup + + # Setup faith + network6_faith_setup + + # Support for IPv4 address tacked onto an IPv6 address + if checkyesno ipv6_ipv4mapping ; then + echo 'IPv4 mapped IPv6 address support=YES' + ${SYSCTL_W} net.inet6.ip6.v6only=0 >/dev/null + else + echo 'IPv4 mapped IPv6 address support=NO' + ${SYSCTL_W} net.inet6.ip6.v6only=1 >/dev/null + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/newsyslog b/etc/rc.d/newsyslog new file mode 100755 index 0000000..5a3927e --- /dev/null +++ b/etc/rc.d/newsyslog @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $NetBSD: newsyslog,v 1.5 2002/03/24 15:51:26 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: newsyslog +# REQUIRE: mountcritremote sysdb +# BEFORE: syslogd SERVERS + +. /etc/rc.subr + +name="newsyslog" +rcvar=$name +required_files="/etc/newsyslog.conf" +start_cmd="newsyslog_start" +stop_cmd=":" + +newsyslog_start() +{ + echo -n "Trimming log files:" + /usr/bin/newsyslog -s $rc_flags + echo " done." +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/nfsclient b/etc/rc.d/nfsclient new file mode 100644 index 0000000..9327748 --- /dev/null +++ b/etc/rc.d/nfsclient @@ -0,0 +1,57 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: nfsclient +# REQUIRE: NETWORKING mountcritremote rpcbind +# KEYWORD: FreeBSD shutdown + +. /etc/rc.subr + +name="nfsclient" +rcvar="nfs_client_enable" +start_cmd="nfsclient_start" +start_precmd="nfsclient_precmd" +stop_cmd="unmount_all" + +# Load nfs module if it was not compiled into the kernel +nfsclient_precmd() +{ + if ! sysctl vfs.nfs >/dev/null 2>&1; then + if ! kldload nfsclient ; then + warn 'Could not load nfs client module' + return 1 + fi + fi + return 0 +} + +nfsclient_start() +{ + # + # Set some nfs client related sysctls + # + + if [ -n "${nfs_access_cache}" ]; then + echo -n " NFS access cache time=${nfs_access_cache}" + sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null + fi + if [ -n "${nfs_bufpackets}" ]; then + sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null + fi + + unmount_all +} + +unmount_all() +{ + # If /var/db/mounttab exists, some nfs-server has not been + # successfully notified about a previous client shutdown. + # If there is no /var/db/mounttab, we do nothing. + if [ -f /var/db/mounttab ]; then + rpc.umntall -k + fi +} +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/nfsd b/etc/rc.d/nfsd new file mode 100755 index 0000000..b44bfe6 --- /dev/null +++ b/etc/rc.d/nfsd @@ -0,0 +1,54 @@ +#!/bin/sh +# +# $NetBSD: nfsd,v 1.4 2001/06/16 06:13:10 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: nfsd +# REQUIRE: mountd +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="nfsd" +rcvar=`set_rcvar nfs_server` +command="/usr/sbin/${name}" + +case `${CMD_OSTYPE}` in +FreeBSD) + command_args="${nfs_server_flags}" + start_precmd="nfsd_precmd" + ;; +NetBSD) + required_vars="mountd rpcbind" + start_precmd= + ;; +esac + +nfsd_precmd() +{ + if ! sysctl vfs.nfsrv >/dev/null 2>&1; then + force_depend nfsserver || return 1 + fi + + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + + if ! checkyesno mountd_enable && \ + ! /etc/rc.d/mountd forcestatus 1>/dev/null 2>&1 + then + force_depend mountd || return 1 + fi + + if checkyesno nfs_reserved_port_only ; then + echo 'NFS on reserved port only=YES' + sysctl vfs.nfsrv.nfs_privport=1 > /dev/null + fi + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/nfslocking b/etc/rc.d/nfslocking new file mode 100755 index 0000000..aa55bc3 --- /dev/null +++ b/etc/rc.d/nfslocking @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: nfslocking +# REQUIRE: nfsserver nfsclient nfsd +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +arg=$1 + +case `${CMD_OSTYPE}` in +FreeBSD) + RCVAR_SERVER="nfs_server_enable" + RCVAR_CLIENT="nfs_client_enable" + RCVAR_STATD="rpc_statd_enable" + RCVAR_LOCKD="rpc_lockd_enable" + ;; +NetBSD) + RCVAR_SERVER="nfs_server" + RCVAR_CLIENT="nfs_client" + RCVAR_STATD="statd" + RCVAR_LOCKD="lockd" + ;; +esac + +start_precmd="checkyesno ${RCVAR_SERVER} || checkyesno ${RCVAR_CLIENT} + [ -n "$rc_force" ]" +stop_precmd=$start_precmd +status_precmd=$start_precmd + +name="statd" +rcvar=${RCVAR_STATD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" + +name="lockd" +rcvar=${RCVAR_LOCKD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" diff --git a/etc/rc.d/nfsserver b/etc/rc.d/nfsserver new file mode 100644 index 0000000..f62029e --- /dev/null +++ b/etc/rc.d/nfsserver @@ -0,0 +1,30 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: nfsserver +# REQUIRE: NETWORKING mountcritremote +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="nfsserver" +rcvar="nfs_server_enable" +start_cmd="nfsserver_start" +stop_cmd=":" + +# Load nfs modules if they were not compiled into the kernel +nfsserver_start() +{ + if ! sysctl vfs.nfsrv >/dev/null 2>&1; then + if ! kldload nfsserver ; then + warn 'Could not load NFS server module' + return 1 + fi + fi + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ntpd b/etc/rc.d/ntpd new file mode 100755 index 0000000..fa1726e --- /dev/null +++ b/etc/rc.d/ntpd @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $NetBSD: ntpd,v 1.6 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: ntpd +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name=ntpd +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/ntp.conf" + +case `${CMD_OSTYPE}` in +NetBSD) + start_precmd="ntpd_precmd" + ;; +esac + +ntpd_precmd() +{ + if [ -z "$ntpd_chrootdir" ]; then + return 0; + fi + + # If running in a chroot cage, ensure that the appropriate files + # exist inside the cage, as well as helper symlinks into the cage + # from outside. + # + # As this is called after the is_running and required_dir checks + # are made in run_rc_command(), we can safely assume ${ntpd_chrootdir} + # exists and ntpd isn't running at this point (unless forcestart + # is used). + # + if [ ! -c "${ntpd_chrootdir}/dev/clockctl" ]; then + rm -f "${ntpd_chrootdir}/dev/clockctl" + ( cd /dev ; /bin/pax -rw -pe clockctl "${ntpd_chrootdir}/dev" ) + fi + ln -fs "${ntpd_chrootdir}/var/db/ntp.drift" /var/db/ntp.drift + + # Change run_rc_commands()'s internal copy of $ntpd_flags + # + rc_flags="-u ntpd:ntpd -i ${ntpd_chrootdir} $rc_flags" +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ntpdate b/etc/rc.d/ntpdate new file mode 100755 index 0000000..37b1d07 --- /dev/null +++ b/etc/rc.d/ntpdate @@ -0,0 +1,43 @@ +#!/bin/sh +# +# $NetBSD: ntpdate,v 1.8 2002/03/22 04:16:39 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: ntpdate +# REQUIRE: NETWORKING syslogd +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ntpdate" +rcvar=`set_rcvar` + +case `${CMD_OSTYPE}` in +FreeBSD) + command="/usr/sbin/${name}" + command_args=">/dev/null 2>&1" + pidfile="/var/run/${name}.pid" + ;; +NetBSD) + start_cmd="ntpdate_start" + stop_cmd=":" + ;; +esac + +ntpdate_start() +{ + if [ -z "$ntpdate_hosts" ]; then + ntpdate_hosts=`awk ' + /^server[ \t]*127.127/ {next} + /^(server|peer)/ {print $2} + ' </etc/ntp.conf` + fi + if [ -n "$ntpdate_hosts" ]; then + echo "Setting date via ntp." + ntpdate $rc_flags $ntpdate_hosts + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/othermta b/etc/rc.d/othermta new file mode 100644 index 0000000..05236a8 --- /dev/null +++ b/etc/rc.d/othermta @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: mail +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +# XXX - TEMPORARY SCRIPT UNTIL YOU WRITE YOUR OWN REPLACEMENT. +# +. /etc/rc.subr + +load_rc_config 'XXX' + +if [ -n "${mta_start_script}" ]; then + [ "${mta_start_script}" != "/etc/rc.sendmail" ] && \ + sh ${mta_start_script} "$1" +fi diff --git a/etc/rc.d/pccard b/etc/rc.d/pccard new file mode 100644 index 0000000..92e052c --- /dev/null +++ b/etc/rc.d/pccard @@ -0,0 +1,68 @@ +#!/bin/sh +# +# Copyright (c) 1996 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: pccard +# REQUIRE: mountcritlocal +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="pccard" +start_cmd="pccard_start" +stop_cmd=":" + +pccard_start() +{ + if checkyesno pccard_enable ; then + echo -n 'Setup PC-CARD:' + + case ${pccard_mem} in + [Dd][Ee][Ff][Aa][Uu][Ll][Tt]) + pccardc pccardmem 0xd0000 1>/dev/null && echo -n ' memory' + ;; + *) + pccardc pccardmem ${pccard_mem} 1>/dev/null && echo -n ' memory' + ;; + esac + + if [ -n "${pccard_beep}" ] ; then + pccardc beep ${pccard_beep} && echo -n ' beep' + fi + + if [ -n "${pccard_conf}" ]; then + pccardd_flags="${pccardd_flags} -f ${pccard_conf}" + fi + + pccardd ${pccardd_flags} && echo -n ' pccardd' + echo '.' + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/pcvt b/etc/rc.d/pcvt new file mode 100644 index 0000000..4f71abc --- /dev/null +++ b/etc/rc.d/pcvt @@ -0,0 +1,226 @@ +#!/bin/sh - +# +# Copyright (c) 2002 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: pcvt +# REQUIRE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="pcvt" +start_precmd="/usr/sbin/ispcvt -d /dev/ttyv0" +start_cmd="pcvt_start" + +pcvt_echo() +{ + if checkyesno pcvt_verbose; then + echo $1 "$2" + fi +} + +pcvt_start() +{ + # path for pcvt's EGA/VGA download fonts + FONTP=/usr/share/misc/pcvtfonts + + if checkyesno pcvt_verbose; then + echo "Configuring pcvt console driver:" + else + echo "-n" "Configuring pcvt" + fi + + # video adapter type + + adapter=`/usr/sbin/scon -d /dev/ttyv0 -a` + + pcvt_echo "-n" " video adapter type is $adapter, " + + # monitor type (mono/color) + + monitor=`/usr/sbin/scon -d /dev/ttyv0 -m` + + pcvt_echo "" "monitor type is $monitor" + + # load fonts into VGA + + if [ $adapter = VGA ] ; then + pcvt_echo "-n" " loading fonts: 8x16:0," + loadfont -d /dev/ttyv0 -c0 -f $FONTP/vt220l.816 + + pcvt_echo "-n" "1 " + loadfont -d /dev/ttyv0 -c1 -f $FONTP/vt220h.816 + + pcvt_echo "-n" " 8x14:0," + loadfont -d /dev/ttyv0 -c2 -f $FONTP/vt220l.814 + + pcvt_echo "-n" "1 " + loadfont -d /dev/ttyv0 -c3 -f $FONTP/vt220h.814 + + pcvt_echo "-n" " 8x10:0," + loadfont -d /dev/ttyv0 -c4 -f $FONTP/vt220l.810 + + pcvt_echo "-n" "1 " + loadfont -d /dev/ttyv0 -c5 -f $FONTP/vt220h.810 + + pcvt_echo "-n" " 8x8:0," + loadfont -d /dev/ttyv0 -c6 -f $FONTP/vt220l.808 + + pcvt_echo "" "1 " + loadfont -d /dev/ttyv0 -c7 -f $FONTP/vt220h.808 + + # setting screen sizes + + case ${pcvt_lines} in + 28) + size=-s28 + pcvt_echo "" " switching to 28 lines" + ;; + 40) + size=-s40 + pcvt_echo "" " switching to 40 lines" + ;; + 50) + size=-s50 + pcvt_echo "" " switching to 50 lines" + ;; + *) + size=-s25 + pcvt_echo "" " switching to 25 lines" + ;; + esac + fi + + # use HP extensions to VT220 or plain VT220 ? + + if checkyesno pcvt_hpext; then + emulation=-H + pcvt_echo "" " setting emulation to VT220 with HP extensions" + else + emulation=-V + pcvt_echo "" " setting emulation to VT220" + fi + + # for all screens do + + for device in /dev/ttyv* + do + # set emulation + + /usr/sbin/scon -d$device $size $emulation >/dev/null 2>&1 + if [ $? != 0 ] ; then + break 1 + fi + + # set cursor shape + + case ${pcvt_cursorh} in + [Nn][Oo] | '') + ;; + *) + case ${pcvt_cursorl} in + [Nn][Oo] | '') + ;; + *) + /usr/sbin/cursor -d$device -s$pcvt_cursorh -e$pcvt_cursorl + ;; + esac + ;; + esac + + + # on monochrome monitor, set color palette to use a higher intensity + + if checkyesno pcvt_monohigh && \ + [ $monitor = MONO -a $adapter = VGA ] + then + /usr/sbin/scon -d$device -p8,60,60,60 + fi + done + + # switch to screen 0 + + pcvt_echo "" " switching to screen 0" + + /usr/sbin/scon -d /dev/ttyv0 + + # screensaver timeout + + case ${pcvt_blanktime} in + [Nn][Oo] | '') + ;; + *) + pcvt_echo "" " setting screensaver timeout to $pcvt_blanktime seconds" + /usr/sbin/scon -d /dev/ttyv0 -t$pcvt_blanktime + ;; + esac + + # national keyboard layout + + case ${pcvt_keymap} in + [Nn][Oo] | '') + ;; + *) + pcvt_echo "" " switching national keyboard layout to $pcvt_keymap" + /usr/sbin/kcon -m $pcvt_keymap + ;; + esac + + # keyboard repeat delay value + + case ${pcvt_keydel} in + [Nn][Oo] | '') + ;; + *) + pcvt_echo "" " setting keyboard delay to $pcvt_keydel" + /usr/sbin/kcon -d$pcvt_keydel + ;; + esac + + # keyboard repeat rate value + + case ${pcvt_keyrate} in + [Nn][Oo] | '') + ;; + *) + pcvt_echo "" " setting keyboard repeat rate to $pcvt_keyrate" + /usr/sbin/kcon -r$pcvt_keyrate + ;; + esac + + # done + + if checkyesno pcvt_verbose; then + echo "Finished configuring pcvt console driver." + else + echo "." + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/poffd b/etc/rc.d/poffd new file mode 100644 index 0000000..5b5668a --- /dev/null +++ b/etc/rc.d/poffd @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $NetBSD: poffd,v 1.1 2001/01/14 15:37:22 minoura Exp $ +# $FreeBSD$ +# + +# PROVIDE: poffd +# REQUIRE: DAEMON + +. /etc/rc.subr + +name="poffd" +rcvar=$name +command="/usr/sbin/${name}" +start_precmd="test -c /dev/pow0" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/postfix b/etc/rc.d/postfix new file mode 100755 index 0000000..807072b --- /dev/null +++ b/etc/rc.d/postfix @@ -0,0 +1,42 @@ +#!/bin/sh +# +# $NetBSD: postfix,v 1.6 2002/02/12 02:19:27 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mail +# REQUIRE: LOGIN +# we make mail start late, so that things like .forward's are not +# processed until the system is fully operational + +. /etc/rc.subr + +name="postfix" +rcvar=$name +required_files="/etc/${name}/main.cf" +start_precmd="postfix_precmd" +start_cmd="${name} start" +stop_cmd="${name} stop" +reload_cmd="${name} reload" +extra_commands="reload" +spooletcdir="/var/spool/${name}/etc" +required_dirs=$spooletcdir + +postfix_precmd() +{ + # As this is called after the is_running and required_dir checks + # are made in run_rc_command(), we can safely assume ${spooletcdir} + # exists and postfix isn't running at this point (unless forcestart + # is used). + # + + for f in localtime resolv.conf services; do + if [ -f /etc/$f ]; then + cmp -s /etc/$f ${spooletcdir}/$f || \ + cp -p /etc/$f ${spooletcdir}/$f + fi + done +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ppp b/etc/rc.d/ppp new file mode 100644 index 0000000..67638cb --- /dev/null +++ b/etc/rc.d/ppp @@ -0,0 +1,48 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ppp-user +# REQUIRE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ppp" +rcvar="ppp_enable" +start_cmd="ppp_start" +stop_cmd=":" + +ppp_start() +{ + # Establish ppp mode. + # + if [ "${ppp_mode}" != "ddial" -a "${ppp_mode}" != "direct" \ + -a "${ppp_mode}" != "dedicated" \ + -a "${ppp_mode}" != "background" ]; then + ppp_mode="auto" + fi + + ppp_command="/usr/sbin/ppp -quiet -${ppp_mode}" + + # Switch on NAT mode? + # + case ${ppp_nat} in + [Yy][Ee][Ss]) + ppp_command="${ppp_command} -nat" + ;; + esac + + ppp_command="${ppp_command} ${ppp_profile}" + + echo "Starting ppp as \"${ppp_user}\"" + su -m ${ppp_user} -c "exec ${ppp_command}" + + # Re-Sync ipfilter so it picks up any new network interfaces + # + /etc/rc.d/ipfilter resync +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ppp-user b/etc/rc.d/ppp-user new file mode 100644 index 0000000..67638cb --- /dev/null +++ b/etc/rc.d/ppp-user @@ -0,0 +1,48 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ppp-user +# REQUIRE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ppp" +rcvar="ppp_enable" +start_cmd="ppp_start" +stop_cmd=":" + +ppp_start() +{ + # Establish ppp mode. + # + if [ "${ppp_mode}" != "ddial" -a "${ppp_mode}" != "direct" \ + -a "${ppp_mode}" != "dedicated" \ + -a "${ppp_mode}" != "background" ]; then + ppp_mode="auto" + fi + + ppp_command="/usr/sbin/ppp -quiet -${ppp_mode}" + + # Switch on NAT mode? + # + case ${ppp_nat} in + [Yy][Ee][Ss]) + ppp_command="${ppp_command} -nat" + ;; + esac + + ppp_command="${ppp_command} ${ppp_profile}" + + echo "Starting ppp as \"${ppp_user}\"" + su -m ${ppp_user} -c "exec ${ppp_command}" + + # Re-Sync ipfilter so it picks up any new network interfaces + # + /etc/rc.d/ipfilter resync +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/pppoed b/etc/rc.d/pppoed new file mode 100644 index 0000000..e9376d2 --- /dev/null +++ b/etc/rc.d/pppoed @@ -0,0 +1,31 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: pppoed +# REQUIRE: NETWORKING +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="pppoed" +rcvar="`set_rcvar`" +start_cmd="pppoed_start" +# XXX stop_cmd will not be straightforward +stop_cmd=":" + +pppoed_start() +{ + if [ -n "${pppoed_provider}" ]; then + pppoed_flags="${pppoed_flags} -p ${pppoed_provider}" + fi + echo 'Starting pppoed' + _opts=$-; set -f + /usr/libexec/pppoed ${pppoed_flags} ${pppoed_interface} + set +f; set -${_opts} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/pwcheck b/etc/rc.d/pwcheck new file mode 100755 index 0000000..c57e27e --- /dev/null +++ b/etc/rc.d/pwcheck @@ -0,0 +1,29 @@ +#!/bin/sh +# +# $NetBSD: pwcheck,v 1.4 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: pwcheck +# REQUIRE: mountcritremote syslogd +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="pwcheck" +start_cmd="pwcheck_start" +stop_cmd=":" + +pwcheck_start() +{ + # check the password temp/lock file + # + if [ -f /etc/ptmp ]; then + logger -s -p auth.err \ + "password file may be incorrect -- /etc/ptmp exists" + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/quota b/etc/rc.d/quota new file mode 100755 index 0000000..a225880 --- /dev/null +++ b/etc/rc.d/quota @@ -0,0 +1,35 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# Enable/Check the quotas (must be after ypbind if using NIS) +# + +# PROVIDE: quota +# REQUIRE: mountcritremote +# BEFORE: DAEMON +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="quota" +rcvar="enable_quotas" +start_cmd="quota_start" +stop_cmd="/usr/sbin/quotaoff -a" + +quota_start() +{ + if checkyesno check_quotas ; then + echo -n 'Checking quotas:' + quotacheck -a + echo ' done.' + fi + + echo -n 'Enabling quotas:' + quotaon -a + echo ' done.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/racoon b/etc/rc.d/racoon new file mode 100755 index 0000000..aaa264a --- /dev/null +++ b/etc/rc.d/racoon @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $NetBSD: racoon,v 1.3 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: ike +# REQUIRE: isdnd kdc ppp +# BEFORE: SERVERS + +. /etc/rc.subr + +name="racoon" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/racoon/racoon.conf" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/raidframe b/etc/rc.d/raidframe new file mode 100755 index 0000000..53156dc --- /dev/null +++ b/etc/rc.d/raidframe @@ -0,0 +1,41 @@ +#!/bin/sh +# +# $NetBSD: raidframe,v 1.6 2002/01/27 14:16:33 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: disks + +. /etc/rc.subr + +name="raidframe" +start_cmd="raidframe_start" +stop_cmd=":" + +raidframe_start() +{ + # Configure non-auto-configured raid devices. + # Ensure order by globbing raid[0-9].conf before raid[0-9][0-9].conf. + # + for cfg in /etc/raid[0-9].conf /etc/raid[0-9][0-9].conf ; do + [ ! -f $cfg ] && continue + dev=${cfg##*/} + dev=${dev%%.conf} + raidctl -c $cfg $dev + done + + # Initiate parity/mirror reconstruction as needed, in the background. + # + ( + for dev in `sysctl -n hw.disknames`; do + case $dev in + raid[0-9]*) + raidctl -P $dev + ;; + esac + done + ) & +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/random b/etc/rc.d/random new file mode 100644 index 0000000..1450b93 --- /dev/null +++ b/etc/rc.d/random @@ -0,0 +1,93 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: random +# REQUIRE: diskless mountcritlocal initrandom +# BEFORE: network1 +# KEYWORD: FreeBSD shutdown + +. /etc/rc.subr + +name="random" +start_cmd="random_start" +stop_cmd="random_stop" + +feed_dev_random() +{ + if [ -f "${1}" -a -r "${1}" -a -s "${1}" ]; then + cat "${1}" | dd of=/dev/random bs=8k 2>/dev/null + fi +} + +random_start() +{ + # Reseed /dev/random with previously stored entropy. + case ${entropy_dir} in + [Nn][Oo]) + ;; + *) + entropy_dir=${entropy_dir:-/var/db/entropy} + if [ -d "${entropy_dir}" ]; then + if [ -w /dev/random ]; then + for seedfile in ${entropy_dir}/*; do + feed_dev_random "${seedfile}" + done + fi + fi + ;; + esac + + case ${entropy_file} in + [Nn][Oo] | '') + ;; + *) + if [ -w /dev/random ]; then + feed_dev_random "${entropy_file}" + fi + ;; + esac +} + +random_stop() +{ + # Write some entropy so when the machine reebots /dev/random + # can be reseeded + # + case ${entropy_file} in + [Nn][Oo] | '') + ;; + *) + echo -n 'Writing entropy file:' + rm -f ${entropy_file} + oumask=`umask` + umask 077 + if touch ${entropy_file} ; then + entropy_file_confirmed="${entropy_file}" + else + # Try this as a reasonable alternative for read-only + # roots, diskless workstations, etc. + rm -f /var/db/entropy + if touch /var/db/entropy ; then + entropy_file_confirmed=/var/db/entropy + fi + fi + case ${entropy_file_confirmed} in + '') + err 1 '${entropy_file_confirmed}:' \ + ' entropy file write failed.' + ;; + *) + dd if=/dev/random of=${entropy_file_confirmed} \ + bs=4096 count=1 2> /dev/null + echo '.' + ;; + esac + umask ${oumask} + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rarpd b/etc/rc.d/rarpd new file mode 100755 index 0000000..63e0bfc --- /dev/null +++ b/etc/rc.d/rarpd @@ -0,0 +1,21 @@ +#!/bin/sh +# +# $NetBSD: rarpd,v 1.5 2002/03/22 04:33:59 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: rarpd +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="rarpd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/ethers" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rbootd b/etc/rc.d/rbootd new file mode 100755 index 0000000..423c5c0 --- /dev/null +++ b/etc/rc.d/rbootd @@ -0,0 +1,21 @@ +#!/bin/sh +# +# $NetBSD: rbootd,v 1.6 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: rbootd +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="rbootd" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/${name}.conf" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/resolv b/etc/rc.d/resolv new file mode 100644 index 0000000..c5cffb0 --- /dev/null +++ b/etc/rc.d/resolv @@ -0,0 +1,122 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: diskless +# REQUIRE: initdiskless mountcritlocal +# BEFORE: addswap random +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +name="diskless2" + +# Provide a function for normalizing the mounting of memory +# filesystems. This should allow the rest of the code here to remain +# as close as possible between 5-current and 4-stable. +# $1 = size +# $2 = mount point +# $3 = md unit number (ignored in pre 5.0 systems) +# $4 = (optional) bytes-per-inode +mount_md() +{ + if [ -n "$4" ]; then + bpi="-i $4" + fi + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs $bpi /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/rc.subr ]; then + . /etc/rc.subr + load_rc_config $name +elif [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +echo "+++ mount_md of /var" +mount_md ${varsize:=32m} /var 1 + +echo "+++ populate /var using /etc/mtree/BSD.var.dist" +/usr/sbin/mtree -deU -f /etc/mtree/BSD.var.dist -p /var +case ${sendmail_enable} in +[Nn][Oo][Nn][Ee]) + ;; +*) + /usr/sbin/mtree -deU -f /etc/mtree/BSD.sendmail.dist -p / + ;; +esac + +echo "+++ create log files based on the contents of /etc/newsyslog.conf" +LOGFILES=`/usr/bin/awk '$1 != "#" { printf "%s ", $1 } ' /etc/newsyslog.conf` +if [ -n "$LOGFILES" ]; then + /usr/bin/touch $LOGFILES +fi + +echo "+++ create lastlog" +/usr/bin/touch /var/log/lastlog + +mount -a # chown and chgrp are in /usr + +# Since we are starting with a very fresh /etc on an MFS: +if [ -d /conf/default/etc ]; then + newaliases +fi + +# +# XXX make sure to create one dir for each printer as requested by lpd +# + +# If /tmp is a symlink, assume it points to somewhere writable, like +# /var/tmp, otherwise, use a small memory filesystem for /tmp. +# +# XXX: mtree runs too early to create any directories needed in /tmp, +# so if /var/tmp == /tmp, then you don't get a vi.recover. +# +if [ ! -h /tmp ]; then + mount_md ${tmpsize:=64m} /tmp 2 + chmod 01777 /tmp +fi + +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + # we have DEVFS, no worries... + true +else + # extract a list of device entries, then copy them to a writable fs + (cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp + mount_md 4096 /dev 3 512 + (cd /; cpio -i -H newc -d < /tmp/dev.tmp) +fi diff --git a/etc/rc.d/root b/etc/rc.d/root new file mode 100755 index 0000000..d1c0783 --- /dev/null +++ b/etc/rc.d/root @@ -0,0 +1,51 @@ +#!/bin/sh +# +# $NetBSD: root,v 1.2 2000/05/13 08:45:09 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: root +# REQUIRE: fsck +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="root" +start_cmd="root_start" +stop_cmd=":" + +root_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + # root normally must be read/write, but if this is a BOOTP NFS + # diskless boot it does not have to be. + # + case ${root_rw_mount} in + [Nn][Oo] | '') + ;; + *) + if ! mount -u -o rw / ; then + echo 'Mounting root filesystem rw failed, startup aborted' + exit 1 + fi + ;; + esac + + umount -a >/dev/null 2>&1 + mount / + + # If we booted a special kernel remove the record + # so we will boot the default kernel next time. + [ -e /boot/nextkernel ] && rm -f /boot/nextkernel + ;; + NetBSD) + umount -a >/dev/null 2>&1 + mount / + rm -f /fastboot + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/route6d b/etc/rc.d/route6d new file mode 100755 index 0000000..5eb4407 --- /dev/null +++ b/etc/rc.d/route6d @@ -0,0 +1,35 @@ +#!/bin/sh +# +# $NetBSD: route6d,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: route6d +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="route6d" + +# XXX - Executable may be in a different location. The $name variable +# is different from the variable in rc.conf(5) so the +# subroutines in rc.subr won't catch it. In this case, it +# is also needed by the eval statement in the FreeBSD conditional. +# +load_rc_config $name + +case `${CMD_OSTYPE}` in +FreeBSD) + rcvar="ipv6_router_enable" + command="${ipv6_router:-/usr/sbin/${name}}" + eval ${name}_flags=\"${ipv6_router_flags}\" + ;; +NetBSD) + rcvar=$name + command="/usr/sbin/${name}" + ;; +esac + +run_rc_command "$1" diff --git a/etc/rc.d/routed b/etc/rc.d/routed new file mode 100755 index 0000000..0d58ee8 --- /dev/null +++ b/etc/rc.d/routed @@ -0,0 +1,44 @@ +#!/bin/sh +# +# $NetBSD: routed,v 1.7 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: routed +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="routed" + +# XXX - Executable may be in a different location. The $name variable +# is different from the variable in rc.conf(5) so the +# subroutines in rc.subr won't catch it. +# +load_rc_config $name + +case `${CMD_OSTYPE}` in +FreeBSD) + rcvar="router_enable" + command="${router:-/sbin/${name}}" + eval ${name}_flags=${router_flags} + start_precmd= + ;; +NetBSD) + rcvar=${name} + command="/sbin/${name}" + start_precmd="routed_precmd" + ;; +esac + +routed_precmd() +{ + if checkyesno gated && checkyesno routed; then + warn "gated and routed both requested to be run: only running gated." + return 1 + fi +} + +run_rc_command "$1" diff --git a/etc/rc.d/routing b/etc/rc.d/routing new file mode 100644 index 0000000..abeea16 --- /dev/null +++ b/etc/rc.d/routing @@ -0,0 +1,140 @@ +#!/bin/sh +# +# Configure routing and miscellaneous network tunables +# +# $FreeBSD$ +# + +# PROVIDE: network2 +# REQUIRE: network1 ppp-user +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="network2" +start_cmd="network2_start" +stop_cmd=":" + +network2_start() +{ + case ${defaultrouter} in + [Nn][Oo] | '') + ;; + *) + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + ;; + esac + + # Setup static routes. This should be done before router discovery. + # + if [ -n "${static_routes}" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + + echo -n 'Additional routing options:' + case ${tcp_extensions} in + [Yy][Ee][Ss] | '') + ;; + *) + echo -n ' tcp extensions=NO' + sysctl net.inet.tcp.rfc1323=0 >/dev/null + ;; + esac + + case ${icmp_bmcastecho} in + [Yy][Ee][Ss]) + echo -n ' broadcast ping responses=YES' + sysctl net.inet.icmp.bmcastecho=1 >/dev/null + ;; + esac + + case ${icmp_drop_redirect} in + [Yy][Ee][Ss]) + echo -n ' ignore ICMP redirect=YES' + sysctl net.inet.icmp.drop_redirect=1 >/dev/null + ;; + esac + + case ${icmp_log_redirect} in + [Yy][Ee][Ss]) + echo -n ' log ICMP redirect=YES' + sysctl net.inet.icmp.log_redirect=1 >/dev/null + ;; + esac + + case ${gateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IP gateway=YES' + sysctl net.inet.ip.forwarding=1 >/dev/null + ;; + esac + + case ${forward_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' do source routing=YES' + sysctl net.inet.ip.sourceroute=1 >/dev/null + ;; + esac + + case ${accept_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' accept source routing=YES' + sysctl net.inet.ip.accept_sourceroute=1 >/dev/null + ;; + esac + + case ${tcp_keepalive} in + [Nn][Oo]) + echo -n ' TCP keepalive=NO' + sysctl net.inet.tcp.always_keepalive=0 >/dev/null + ;; + esac + + case ${tcp_drop_synfin} in + [Yy][Ee][Ss]) + echo -n ' drop SYN+FIN packets=YES' + sysctl net.inet.tcp.drop_synfin=1 >/dev/null + ;; + esac + + case ${ipxgateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IPX gateway=YES' + sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null + ;; + esac + + case ${arpproxy_all} in + [Yy][Ee][Ss]) + echo -n ' ARP proxyall=YES' + sysctl net.link.ether.inet.proxyall=1 >/dev/null + ;; + esac + + case ${ip_portrange_first} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_first=$ip_portrange_first" + sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null + ;; + esac + + case ${ip_portrange_last} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_last=$ip_portrange_last" + sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null + ;; + esac + + echo '.' +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rpcbind b/etc/rc.d/rpcbind new file mode 100755 index 0000000..a11da1f --- /dev/null +++ b/etc/rc.d/rpcbind @@ -0,0 +1,24 @@ +#!/bin/sh +# +# $NetBSD: rpcbind,v 1.6 2002/01/31 01:26:06 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: rpcbind +# REQUIRE: NETWORKING ntpdate syslogd named ppp +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="rpcbind" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" + +case `${CMD_OSTYPE}` in +NetBSD) + pidfile="/var/run/${name}.pid" + ;; +esac + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rtadvd b/etc/rc.d/rtadvd new file mode 100755 index 0000000..8317e33 --- /dev/null +++ b/etc/rc.d/rtadvd @@ -0,0 +1,82 @@ +#!/bin/sh +# +# $NetBSD: rtadvd,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: rtadvd +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="rtadvd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +start_precmd="rtadvd_precmd" + +case `${CMD_OSTYPE}` in +FreeBSD) + IS_GATEWAY="checkyesno ipv6_gateway_enable" + ;; +NetBSD) + IS_GATEWAY="eval [ \"$ip6mode\" = \"router\" ]" + ;; +esac + +rtadvd_precmd() +{ + if ! ${IS_GATEWAY} ; then + warn \ + "${name} cannot be used on IPv6 host, only on an IPv6 router." + return 1 + fi + + # This should be enabled with a great care. + # You may want to fine-tune /etc/rtadvd.conf. + # + # And if you wish your rtadvd to receive and process + # router renumbering messages, specify your Router Renumbering + # security policy by -R option. + # + # See `man 3 ipsec_set_policy` for IPsec policy specification + # details. + # (CAUTION: This enables your routers prefix renumbering + # from another machine, so if you enable this, do it with + # enough care.) + # + case `${CMD_OSTYPE}` in + FreeBSD) + # If specific interfaces haven't been specified, + # get a list of interfaces and enable it on them + # + case ${rtadvd_interfaces} in + '') + for i in `ifconfig -l` ; do + case $i in + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + continue + ;; + *) + rtadvd_interfaces="${rtadvd_interfaces} ${i}" + ;; + esac + done + ;; + esac + command_args="${rtadvd_interfaces}" + + # Enable Router Renumbering, unicast case + # (use correct src/dst addr) + # rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" ${ipv6_network_interfaces} + # Enable Router Renumbering, multicast case + # (use correct src addr) + # rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" ${ipv6_network_interfaces} + ;; + esac + return 0 +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rtsold b/etc/rc.d/rtsold new file mode 100755 index 0000000..8645816 --- /dev/null +++ b/etc/rc.d/rtsold @@ -0,0 +1,27 @@ +#!/bin/sh +# +# $NetBSD: rtsold,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: rtsold +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="rtsold" +rcvar=$name +command="/usr/sbin/${name}" +start_precmd="rtsold_precmd" + +rtsold_precmd() +{ + if [ "$ip6mode" != "autohost" ]; then + warn "\$ip6mode must be set to 'autohost' to use ${name}." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/rwho b/etc/rc.d/rwho new file mode 100755 index 0000000..4a01ac1 --- /dev/null +++ b/etc/rc.d/rwho @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: rwho,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: rwho +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="rwhod" +rcvar="`set_rcvar`" +command="/usr/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/savecore b/etc/rc.d/savecore new file mode 100755 index 0000000..21a6a4b --- /dev/null +++ b/etc/rc.d/savecore @@ -0,0 +1,74 @@ +#!/bin/sh +# +# $NetBSD: savecore,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: savecore +# REQUIRE: syslogd +# BEFORE: SERVERS +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="savecore" +start_cmd="savecore_start" +start_precmd="savecore_prestart" +stop_cmd=":" + +case `${CMD_OSTYPE}` in +NetBSD) + rcvar=$name + ;; +esac + +savecore_prestart() +{ + # ${DUMPDIR} should be a directory or a symbolic link + # to the crash directory if core dumps are to be saved. + # + DUMPDIR="${dumpdir:-/var/crash}" + + case `${CMD_OSTYPE}` in + FreeBSD) + # Quit if we have no dump device + case ${dumpdev} in + [Nn][Oo] | '') + debug 'No dump device. Quitting.' + return 1 + ;; + esac + + # If there is no crash directory set it now + case ${dumpdir} in + '') + dumpdir='/var/crash' + ;; + [Nn][Oo]) + dumpdir='NO' + ;; + esac + + if [ ! -e "${dumpdev}" -o ! -d "${dumpdir}" ]; then + warn "Wrong dump device or directory. Savecore not run." + return 1 + fi + ;; + NetBSD) + if [ ! -d "${dumpdir}" ]; then + warn "No /var/crash directory; savecore not run." + return 1 + fi + ;; + esac + return 0 +} + +savecore_start() +{ + echo "Checking for core dump..." + savecore ${savecore_flags} ${DUMPDIR} +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/screenblank b/etc/rc.d/screenblank new file mode 100755 index 0000000..de2af4f --- /dev/null +++ b/etc/rc.d/screenblank @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: screenblank,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: screenblank +# REQUIRE: DAEMON +# BEFORE: LOGIN + +. /etc/rc.subr + +name="screenblank" +rcvar=$name +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/securelevel b/etc/rc.d/securelevel new file mode 100755 index 0000000..dce65e5 --- /dev/null +++ b/etc/rc.d/securelevel @@ -0,0 +1,56 @@ +#!/bin/sh +# +# $NetBSD: securelevel,v 1.4 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: securelevel +# REQUIRE: aftermountlkm ipnat mountd +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="securelevel" +start_cmd="securelevel_start" +stop_cmd=":" + +securelevel_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + case ${kern_securelevel_enable} in + [Yy][Ee][Ss]) + if [ ${kern_securelevel} -ge 0 ]; then + echo 'Raising kernel security level: ' + ${SYSCTL_W} kern.securelevel=${kern_securelevel} + fi + ;; + esac + ;; + NetBSD) + # if $securelevel is set higher, change it here, else if + # it is 0, change it to 1 here, before we start daemons + # or login services. + # + osecurelevel=`sysctl -n kern.securelevel` + if [ -n "$securelevel" -a "$securelevel" != "$osecurelevel" ]; then + if [ "$securelevel" -lt "$osecurelevel" ]; then + echo "Can't lower securelevel." + exit 1 + else + echo -n "Setting securelevel: " + ${SYSCTL_W} kern.securelevel=$securelevel + fi + else + if [ "$osecurelevel" = 0 ]; then + echo -n "Setting securelevel: " + ${SYSCTL_W} kern.securelevel=1 + fi + fi + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/sendmail b/etc/rc.d/sendmail new file mode 100755 index 0000000..0e717d4 --- /dev/null +++ b/etc/rc.d/sendmail @@ -0,0 +1,102 @@ +#!/bin/sh +# +# $NetBSD: sendmail,v 1.14 2002/02/12 01:26:36 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: mail +# REQUIRE: LOGIN +# KEYWORD: FreeBSD NetBSD +# we make mail start late, so that things like .forward's are not +# processed until the system is fully operational + +# XXX - Get together with sendmail mantainer to figure out how to +# better handle SENDMAIL_ENABLE and 3rd party MTAs. +# +. /etc/rc.subr + +name="sendmail" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/etc/mail/${name}.cf" +start_precmd="sendmail_precmd" + +sendmail_precmd() +{ + # Die if there's pre-8.10 custom configuration file. This check is + # mandatory for smooth upgrade. See NetBSD PR 10100 for details. + # + if checkyesno ${rcvar} && [ -f "/etc/${name}.cf" ]; then + if ! cmp -s "/etc/mail/${name}.cf" "/etc/${name}.cf"; then + warn \ + "${name} was not started; you have multiple copies of sendmail.cf." + return 1 + fi + fi + + # check modifications on /etc/mail/aliases + if [ -f "/etc/mail/aliases.db" ]; then + if [ "/etc/mail/aliases" -nt "/etc/mail/aliases.db" ]; then + echo \ + "${name}: /etc/mail/aliases newer than /etc/mail/aliases.db, regenerating" + /usr/bin/newaliases + fi + else + echo \ + "${name}: /etc/mail/aliases.db not present, generating" + /usr/bin/newaliases + fi + + # check couple of common db files, too + for f in genericstable virtusertable domaintable mailertable; do + if [ -r "/etc/mail/$f" -a \ + "/etc/mail/$f" -nt "/etc/mail/$f.db" ]; then + echo \ + "${name}: /etc/mail/$f newer than /etc/mail/$f.db, regenerating" + /usr/sbin/makemap hash /etc/mail/$f < /etc/mail/$f + fi + done +} + +load_rc_config $name +run_rc_command "$1" + +case `${CMD_OSTYPE}` in +FreeBSD) + case $sendmail_enable in + NONE) + exit + ;; + esac + pid_file= + required_files= + start_precmd= + + name="sendmail_outbound" + rcvar=`set_rcvar` + start_cmd="/usr/sbin/sendmail $sendmail_outbound_flags" + #command="/usr/sbin/sendmail" + + load_rc_config $name + run_rc_command "$1" + + name="sendmail_submit" + rcvar=`set_rcvar` + start_cmd="/usr/sbin/sendmail $sendmail_submit_flags" + #command="/usr/sbin/sendmail" + + load_rc_config $name + run_rc_command "$1" + + name="sendmail_clientmqueue" + rcvar="sendmail_msp_queue_enable" + start_cmd="/usr/sbin/sendmail $sendmail_msp_queue_flags" + #command="/usr/sbin/sendmail" + #command_args="${sendmail_msp_queue_flags}" + required_files="/etc/mail/submit.cf" + + load_rc_config $name + run_rc_command "$1" + ;; +esac diff --git a/etc/rc.d/serial b/etc/rc.d/serial new file mode 100644 index 0000000..8b030d6 --- /dev/null +++ b/etc/rc.d/serial @@ -0,0 +1,157 @@ +#!/bin/sh +# +# Copyright (c) 1996 Andrey A. Chernov +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: serial +# REQUIRE: root +# KEYWORD: FreeBSD + +# Change some defaults for serial devices. +# Standard defaults are: +# dtrwait 300 drainwait 0 +# initial cflag from <sys/ttydefaults.h> = cread cs8 hupcl +# initial iflag, lflag and oflag all 0 +# speed 9600 +# special chars from <sys/ttydefaults.h> +# nothing locked +# except for serial consoles the initial iflag, lflag and oflag are from +# <sys/ttydefaults.h> and clocal is locked on. + +default() { + # Reset everything changed by the other functions to initial defaults. + + ci=$1; shift # call in device identifier + co=$1; shift # call out device identifier + + for i in $* + do + comcontrol /dev/tty${ci}${i} dtrwait 300 drainwait 300 + stty < /dev/ttyi${ci}${i} -clocal crtscts hupcl 9600 reprint ^R + stty < /dev/ttyl${ci}${i} -clocal -crtscts -hupcl 0 + stty < /dev/cuai${co}${i} -clocal crtscts hupcl 9600 reprint ^R + stty < /dev/cual${co}${i} -clocal -crtscts -hupcl 0 + done +} + +maybe() { + # Special settings. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # Don't use ^R; it breaks bash's ^R when typed ahead. + stty < /dev/ttyi${ci}${i} reprint undef + stty < /dev/cuai${co}${i} reprint undef + # Lock clocal off on dialin device for security. + stty < /dev/ttyl${ci}${i} clocal + # Lock the speeds to use old binaries that don't support them. + # Any legal speed works to lock the initial speed. + stty < /dev/ttyl${ci}${i} 300 + stty < /dev/cual${co}${i} 300 + done +} + +modem() { + # Modem that supports CTS and perhaps RTS handshaking. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # may depend on modem + comcontrol /dev/tty${ci}${i} dtrwait 100 drainwait 180 + # Lock crtscts on. + # Speed reasonable for V42bis. + stty < /dev/ttyi${ci}${i} crtscts 57600 + stty < /dev/ttyl${ci}${i} crtscts + stty < /dev/cuai${co}${i} crtscts 57600 + stty < /dev/cual${co}${i} crtscts + done +} + +mouse() { + # Mouse on either callin or callout port. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # Lock clocal on, hupcl off. + # Standard speed for Microsoft mouse. + stty < /dev/ttyi${ci}${i} clocal -hupcl 1200 + stty < /dev/ttyl${ci}${i} clocal hupcl + stty < /dev/cuai${co}${i} clocal -hupcl 1200 + stty < /dev/cual${co}${i} clocal hupcl + done +} + +terminal() { + # Terminal that supports CTS and perhaps RTS handshaking + # with the cable or terminal arranged so that DCD is on + # at least while the terminal is on. + # Also works for bidirectional communications to another pc + # provided at most one side runs getty. + # Same as modem() except we want a faster speed and no dtrwait. + + ci=$1; shift + co=$1; shift + + modem ${ci} ${co} $* + for i in $* + do + comcontrol /dev/tty${ci}${i} dtrwait 0 + stty < /dev/ttyi${ci}${i} 115200 + stty < /dev/cuai${co}${i} 115200 + done +} + +# Don't use anything from this file unless you have some buggy programs +# that require it. + +# Edit the functions and the examples to suit your system. +# $1 is the call in device identifier, $2 is the call out device identifier +# and the remainder of the line lists the device numbers. + +# Initialize assorted 8250-16550 (sio) ports. +# maybe d a 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v +# mouse d a 2 +# modem d a 1 +# terminal d a 0 + +# Initialize all ports on a Cyclades-8yo. +# modem c c 00 01 02 03 04 05 06 07 + +# Initialize all ports on a Cyclades-16ye. +# modem c c 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f + +# Initialize all ports on a Digiboard 8. +# modem D D 00 01 02 03 04 05 06 07 diff --git a/etc/rc.d/sppp b/etc/rc.d/sppp new file mode 100644 index 0000000..0080fc7 --- /dev/null +++ b/etc/rc.d/sppp @@ -0,0 +1,36 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: sppp +# REQUIRE: root +# BEFORE: network1 +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="sppp" +start_cmd="sppp_start" +stop_cmd=":" + +sppp_start() +{ + # Special options for sppp(4) interfaces go here. These need + # to go _before_ the general ifconfig since in the case + # of hardwired (no link1 flag) but required authentication, you + # cannot pass auth parameters down to the already running interface. + # + for ifn in ${sppp_interfaces}; do + eval spppcontrol_args=\$spppconfig_${ifn} + if [ -n "${spppcontrol_args}" ]; then + # The auth secrets might contain spaces; in order + # to retain the quotation, we need to eval them + # here. + eval spppcontrol ${ifn} ${spppcontrol_args} + fi + done +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/sshd b/etc/rc.d/sshd new file mode 100755 index 0000000..416ab7f --- /dev/null +++ b/etc/rc.d/sshd @@ -0,0 +1,70 @@ +#!/bin/sh +# +# $NetBSD: sshd,v 1.18 2002/04/29 08:23:34 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: sshd +# REQUIRE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="sshd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +keygen_cmd="sshd_keygen" +start_precmd="sshd_precmd" +pidfile="/var/run/${name}.pid" +required_files="/etc/ssh/sshd_config" +extra_commands="keygen reload" + +sshd_keygen() +{ + ( + umask 022 + + # Can't do anything if ssh is not installed + [ -x /usr/bin/ssh-keygen ] || { + warn "/usr/bin/ssh-keygen does not exist." + return 1 + } + + if [ -f /etc/ssh/ssh_host_key ]; then + echo "You already have an RSA host key" \ + "in /etc/ssh/ssh_host_key" + echo "Skipping protocol version 1 RSA Key Generation" + else + /usr/bin/ssh-keygen -t rsa1 -b 1024 \ + -f /etc/ssh/ssh_host_key -N '' + fi + + if [ -f /etc/ssh/ssh_host_dsa_key ]; then + echo "You already have a DSA host key" \ + "in /etc/ssh/ssh_host_dsa_key" + echo "Skipping protocol version 2 DSA Key Generation" + else + /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' + fi + + if [ -f /etc/ssh/ssh_host_rsa_key ]; then + echo "You already have a RSA host key" \ + "in /etc/ssh/ssh_host_rsa_key" + echo "Skipping protocol version 2 RSA Key Generation" + else + /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' + fi + ) +} + +sshd_precmd() +{ + if [ ! -f /etc/ssh/ssh_host_key -o \ + ! -f /etc/ssh/ssh_host_dsa_key -o \ + ! -f /etc/ssh/ssh_host_rsa_key ]; then + run_rc_command keygen + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/statd b/etc/rc.d/statd new file mode 100644 index 0000000..aa55bc3 --- /dev/null +++ b/etc/rc.d/statd @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: nfslocking +# REQUIRE: nfsserver nfsclient nfsd +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +arg=$1 + +case `${CMD_OSTYPE}` in +FreeBSD) + RCVAR_SERVER="nfs_server_enable" + RCVAR_CLIENT="nfs_client_enable" + RCVAR_STATD="rpc_statd_enable" + RCVAR_LOCKD="rpc_lockd_enable" + ;; +NetBSD) + RCVAR_SERVER="nfs_server" + RCVAR_CLIENT="nfs_client" + RCVAR_STATD="statd" + RCVAR_LOCKD="lockd" + ;; +esac + +start_precmd="checkyesno ${RCVAR_SERVER} || checkyesno ${RCVAR_CLIENT} + [ -n "$rc_force" ]" +stop_precmd=$start_precmd +status_precmd=$start_precmd + +name="statd" +rcvar=${RCVAR_STATD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" + +name="lockd" +rcvar=${RCVAR_LOCKD} +command="/usr/sbin/rpc.${name}" +load_rc_config $name +run_rc_command "$arg" diff --git a/etc/rc.d/swap1 b/etc/rc.d/swap1 new file mode 100755 index 0000000..9281107 --- /dev/null +++ b/etc/rc.d/swap1 @@ -0,0 +1,50 @@ +#!/bin/sh +# +# $NetBSD: swap1,v 1.8 2002/03/24 15:52:41 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: localswap +# REQUIRE: disks +# KEYWORD: FreeBSD NetBSD shutdown + +. /etc/rc.subr + +name="swap1" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_cmd='swapon -a' + stop_cmd=':' + ;; +NetBSD) + # Add all block-type swap devices; these might be necessary + # during disk checks. + # + start_cmd="swap1_start" + stop_cmd="swap1_stop" + ;; +esac + +# Add all block-type swap devices; these might be necessary +# during disk checks. +# +swap1_start() +{ + if ! checkyesno no_swap; then + swapctl -A -t blk + fi +} + +# Remove all block-type swap devices +# +swap1_stop() +{ + if checkyesno swapoff || [ -n "$rc_force" ]; then + echo "Removing block-type swap devices" + swapctl -U -t blk + fi +} + +load_rc_config swap +run_rc_command "$1" diff --git a/etc/rc.d/swap2 b/etc/rc.d/swap2 new file mode 100755 index 0000000..5f3bd6f --- /dev/null +++ b/etc/rc.d/swap2 @@ -0,0 +1,37 @@ +#!/bin/sh +# +# $NetBSD: swap2,v 1.6 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: nonlocalswap +# REQUIRE: mountcritremote +# BEFORE: DAEMON + +. /etc/rc.subr + +name="swap2" +start_cmd="swap2_start" + +swap2_start() +{ + # "Critical" file systems are now mounted. Go ahead and swap + # to files now, since they will be residing in the critical file + # systems (or, at least, they should be...). + # Check for no swap, and warn about it unless that is desired. + # + swapctl -A -t noblk; + if ! checkyesno no_swap; then + if swapctl -s | grep "no swap devices configured" > /dev/null; + then + warn "No swap space configured!" + fi + fi +} + +# Remove all non-block-type swap devices +# +stop_cmd="swapctl -U -t noblk" + +load_rc_config swap +run_rc_command "$1" diff --git a/etc/rc.d/syscons b/etc/rc.d/syscons new file mode 100644 index 0000000..32bf5bf --- /dev/null +++ b/etc/rc.d/syscons @@ -0,0 +1,183 @@ +#!/bin/sh - +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: syscons +# REQUIRE: LOGIN usbd +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="syscons" +load_rc_config $name + +# stdin must be redirected because it might be for a serial console +# +kbddev=/dev/ttyv0 +viddev=/dev/ttyv0 + +echo -n 'Configuring syscons:' + +# keymap +# +case ${keymap} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keymap'; kbdcontrol < ${kbddev} -l ${keymap} + ;; +esac + +# keyrate +# +case ${keyrate} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keyrate'; kbdcontrol < ${kbddev} -r ${keyrate} + ;; +esac + +# keybell +# +case ${keybell} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keybell'; kbdcontrol < ${kbddev} -b ${keybell} + ;; +esac + +# change function keys +# +case ${keychange} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keychange' + set - ${keychange} + while [ $# -gt 0 ]; do + kbdcontrol <${kbddev} -f "$1" "$2" + shift; shift + done + ;; +esac + +# cursor type +# +case ${cursor} in +[Nn][Oo] | '') + ;; +*) + echo -n ' cursor'; vidcontrol < ${viddev} -c ${cursor} + ;; +esac + +# screen mapping +# +case ${scrnmap} in +[Nn][Oo] | '') + ;; +*) + echo -n ' scrnmap'; vidcontrol < ${viddev} -l ${scrnmap} + ;; +esac + +# font 8x16 +# +case ${font8x16} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} + ;; +esac + +# font 8x14 +# +case ${font8x14} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} + ;; +esac + +# font 8x8 +# +case ${font8x8} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} + ;; +esac + +# blank time +# +case ${blanktime} in +[Nn][Oo] | '') + ;; +*) + echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} + ;; +esac + +# screen saver +# +case ${saver} in +[Nn][Oo] | '') + ;; +*) + echo -n ' screensaver' + for i in `kldstat | awk '$5 ~ "^splash_.*$" { print $5 }'`; do + kldunload ${i} + done + kldstat -v | grep -q _saver || kldload ${saver}_saver + ;; +esac + +# set this mode for all virtual screens +# +if [ -n "${allscreens_flags}" ]; then + echo -n ' allscreens' + for ttyv in /dev/ttyv*; do + vidcontrol ${allscreens_flags} < ${ttyv} > ${ttyv} 2>&1 + done +fi + +# set this keyboard mode for all virtual terminals +# +if [ -n "${allscreens_kbdflags}" ]; then + echo -n ' allscreens_kbd' + for ttyv in /dev/ttyv*; do + kbdcontrol ${allscreens_kbdflags} < ${ttyv} > ${ttyv} 2>&1 + done +fi + +echo '.' diff --git a/etc/rc.d/sysctl b/etc/rc.d/sysctl new file mode 100644 index 0000000..c478828 --- /dev/null +++ b/etc/rc.d/sysctl @@ -0,0 +1,70 @@ +#!/bin/sh +# +# $NetBSD: sysctl,v 1.12 2002/04/29 12:10:23 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: sysctl +# REQUIRE: root ipfilter ipsec +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="sysctl" +stop_cmd=":" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_cmd="FreeBSD_start" + extra_commands="reload lastload" + reload_cmd="FreeBSD_start" + lastload_cmd="FreeBSD_start last" + ;; +NetBSD) + start_cmd="NetBSD_start" + ;; +esac + +FreeBSD_start() +{ + # + # Read in /etc/sysctl.conf and set things accordingly + # + if [ -f /etc/sysctl.conf ]; then + while read var comments + do + case ${var} in + \#*|'') + ;; + *) + mib=${var%=*} + val=${var#*=} + + if current_value=`${SYSCTL} -n ${mib} 2>/dev/null`; then + case ${current_value} in + ${val}) + ;; + *) + sysctl ${var} + ;; + esac + elif [ "$1" -eq "last" ]; then + warn "sysctl ${mib} does not exits." + fi + ;; + esac + done < /etc/sysctl.conf + fi +} + +NetBSD_start() +{ + if [ -r /etc/sysctl.conf ]; then + echo "Setting sysctl variables:" + ${SYSCTL} -f /etc/sysctl.conf + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/sysdb b/etc/rc.d/sysdb new file mode 100755 index 0000000..7d07235 --- /dev/null +++ b/etc/rc.d/sysdb @@ -0,0 +1,36 @@ +#!/bin/sh +# +# $NetBSD: sysdb,v 1.9 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: sysdb +# REQUIRE: mountcritremote +# BEFORE: DAEMON + +. /etc/rc.subr + +name="sysdb" +start_cmd="sysdb_start" +stop_cmd=":" + +sysdb_start() +{ + # Build ps databases. If this kernel supports + # machdep.booted_kernel, use that to build the KVM db so dmesg + # will run work when we boot /netbsd.new, etc. + # + echo "Building databases..." + booted_kernel=`sysctl -n machdep.booted_kernel 2>/dev/null` + kvm_mkdb "${booted_kernel:-/netbsd}" + dev_mkdb + + # Re-create /var/run/utmp, which is deleted by mountcritlocal + # but can't be recreated by it because install and chown may + # not be available then (possibly no /usr). + # + install -c -m 664 -g utmp /dev/null /var/run/utmp +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/syslogd b/etc/rc.d/syslogd new file mode 100755 index 0000000..07399b8 --- /dev/null +++ b/etc/rc.d/syslogd @@ -0,0 +1,80 @@ +#!/bin/sh +# +# $NetBSD: syslogd,v 1.12 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: syslogd +# REQUIRE: mountcritremote sysdb wscons +# BEFORE: SERVERS +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="syslogd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +required_files="/etc/syslog.conf" +start_precmd="syslogd_precmd" +extra_commands="reload" + +_sockfile="/var/run/syslogd.sockets" + +case `${CMD_OSTYPE}` in +FreeBSD) + pidfile="/var/run/syslog.pid" + evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\"" + altlog_proglist="named" + ;; +NetBSD) + pidfile="/var/run/${name}.pid" + evalargs="rc_flags=\"-P \$_sockfile \$rc_flags\"" + altlog_proglist="named ntpd" + ;; +esac + +syslogd_precmd() +{ + # Transitional symlink for old binaries + # + if [ ! -h /dev/log ]; then + ln -sf /var/run/log /dev/log + fi + rm -f /var/run/log + + # Create default list of syslog sockets to watch + # + ( umask 022 ; > $_sockfile ) + + # If running named(8) or ntpd(8) chrooted, added appropriate + # syslog socket to list of sockets to watch. + # + for _l in $altlog_proglist; do + eval _ldir=\$${_l}_chrootdir + if checkyesno `set_rcvar $_l` && [ -n "$_ldir" ]; then + echo "${_ldir}/var/run/log" >> $_sockfile + fi + done + + # If other sockets have been provided, change run_rc_command()'s + # internal copy of $syslogd_flags to force use of specific + # syslogd sockets. + # + if [ -s $_sockfile ]; then + echo "/var/run/log" >> $_sockfile + eval $evalargs + fi + + return 0 +} + +set_socketlist() +{ + _socketargs= + for _s in `cat $_sockfile | tr '\n' ' '` ; do + _socketargs="-l $_s $_socketargs" + done + echo $_socketargs +} +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/timed b/etc/rc.d/timed new file mode 100755 index 0000000..1c26e4a --- /dev/null +++ b/etc/rc.d/timed @@ -0,0 +1,19 @@ +#!/bin/sh +# +# $NetBSD: timed,v 1.5 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: timed +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="timed" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/tmp b/etc/rc.d/tmp new file mode 100644 index 0000000..c5cffb0 --- /dev/null +++ b/etc/rc.d/tmp @@ -0,0 +1,122 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: diskless +# REQUIRE: initdiskless mountcritlocal +# BEFORE: addswap random +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +name="diskless2" + +# Provide a function for normalizing the mounting of memory +# filesystems. This should allow the rest of the code here to remain +# as close as possible between 5-current and 4-stable. +# $1 = size +# $2 = mount point +# $3 = md unit number (ignored in pre 5.0 systems) +# $4 = (optional) bytes-per-inode +mount_md() +{ + if [ -n "$4" ]; then + bpi="-i $4" + fi + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs $bpi /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/rc.subr ]; then + . /etc/rc.subr + load_rc_config $name +elif [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +echo "+++ mount_md of /var" +mount_md ${varsize:=32m} /var 1 + +echo "+++ populate /var using /etc/mtree/BSD.var.dist" +/usr/sbin/mtree -deU -f /etc/mtree/BSD.var.dist -p /var +case ${sendmail_enable} in +[Nn][Oo][Nn][Ee]) + ;; +*) + /usr/sbin/mtree -deU -f /etc/mtree/BSD.sendmail.dist -p / + ;; +esac + +echo "+++ create log files based on the contents of /etc/newsyslog.conf" +LOGFILES=`/usr/bin/awk '$1 != "#" { printf "%s ", $1 } ' /etc/newsyslog.conf` +if [ -n "$LOGFILES" ]; then + /usr/bin/touch $LOGFILES +fi + +echo "+++ create lastlog" +/usr/bin/touch /var/log/lastlog + +mount -a # chown and chgrp are in /usr + +# Since we are starting with a very fresh /etc on an MFS: +if [ -d /conf/default/etc ]; then + newaliases +fi + +# +# XXX make sure to create one dir for each printer as requested by lpd +# + +# If /tmp is a symlink, assume it points to somewhere writable, like +# /var/tmp, otherwise, use a small memory filesystem for /tmp. +# +# XXX: mtree runs too early to create any directories needed in /tmp, +# so if /var/tmp == /tmp, then you don't get a vi.recover. +# +if [ ! -h /tmp ]; then + mount_md ${tmpsize:=64m} /tmp 2 + chmod 01777 /tmp +fi + +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + # we have DEVFS, no worries... + true +else + # extract a list of device entries, then copy them to a writable fs + (cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp + mount_md 4096 /dev 3 512 + (cd /; cpio -i -H newc -d < /tmp/dev.tmp) +fi diff --git a/etc/rc.d/ttys b/etc/rc.d/ttys new file mode 100755 index 0000000..d9073f8 --- /dev/null +++ b/etc/rc.d/ttys @@ -0,0 +1,50 @@ +#!/bin/sh +# +# $NetBSD: ttys,v 1.1.1.1 2000/03/10 11:53:24 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: tty +# REQUIRE: root +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ttyflags" +start_cmd="ttyflags_start" +stop_cmd=":" + +ttyflags_start() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + + # Whack the pty perms back into shape. + # XXX: there may be more ptys than this; maybe use + # sysctl to find out how many? + # + if ls /dev/tty[pqrsPQRS]* > /dev/null 2>&1; then + chflags 0 /dev/tty[pqrsPQRS]* + chmod 666 /dev/tty[pqrsPQRS]* + chown root:wheel /dev/tty[pqrsPQRS]* + fi + ;; + NetBSD) + # set flags on ttys. + # (do early, in case they use tty for SLIP in network) + # + echo "Setting tty flags." + ttyflags -a + + # setup ptys + # + # XXX: there may be more ptys than this; maybe use + # sysctl to find out how many? + # + chmod 666 /dev/tty[pqrs]* + ;; + esac +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/usbd b/etc/rc.d/usbd new file mode 100644 index 0000000..bed1a6d --- /dev/null +++ b/etc/rc.d/usbd @@ -0,0 +1,18 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: usbd +# REQUIRE: DAEMON +# BEFORE: LOGIN +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="usbd" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/var b/etc/rc.d/var new file mode 100644 index 0000000..c5cffb0 --- /dev/null +++ b/etc/rc.d/var @@ -0,0 +1,122 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: diskless +# REQUIRE: initdiskless mountcritlocal +# BEFORE: addswap random +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +name="diskless2" + +# Provide a function for normalizing the mounting of memory +# filesystems. This should allow the rest of the code here to remain +# as close as possible between 5-current and 4-stable. +# $1 = size +# $2 = mount point +# $3 = md unit number (ignored in pre 5.0 systems) +# $4 = (optional) bytes-per-inode +mount_md() +{ + if [ -n "$4" ]; then + bpi="-i $4" + fi + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs $bpi /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/rc.subr ]; then + . /etc/rc.subr + load_rc_config $name +elif [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +echo "+++ mount_md of /var" +mount_md ${varsize:=32m} /var 1 + +echo "+++ populate /var using /etc/mtree/BSD.var.dist" +/usr/sbin/mtree -deU -f /etc/mtree/BSD.var.dist -p /var +case ${sendmail_enable} in +[Nn][Oo][Nn][Ee]) + ;; +*) + /usr/sbin/mtree -deU -f /etc/mtree/BSD.sendmail.dist -p / + ;; +esac + +echo "+++ create log files based on the contents of /etc/newsyslog.conf" +LOGFILES=`/usr/bin/awk '$1 != "#" { printf "%s ", $1 } ' /etc/newsyslog.conf` +if [ -n "$LOGFILES" ]; then + /usr/bin/touch $LOGFILES +fi + +echo "+++ create lastlog" +/usr/bin/touch /var/log/lastlog + +mount -a # chown and chgrp are in /usr + +# Since we are starting with a very fresh /etc on an MFS: +if [ -d /conf/default/etc ]; then + newaliases +fi + +# +# XXX make sure to create one dir for each printer as requested by lpd +# + +# If /tmp is a symlink, assume it points to somewhere writable, like +# /var/tmp, otherwise, use a small memory filesystem for /tmp. +# +# XXX: mtree runs too early to create any directories needed in /tmp, +# so if /var/tmp == /tmp, then you don't get a vi.recover. +# +if [ ! -h /tmp ]; then + mount_md ${tmpsize:=64m} /tmp 2 + chmod 01777 /tmp +fi + +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + # we have DEVFS, no worries... + true +else + # extract a list of device entries, then copy them to a writable fs + (cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp + mount_md 4096 /dev 3 512 + (cd /; cpio -i -H newc -d < /tmp/dev.tmp) +fi diff --git a/etc/rc.d/vinum b/etc/rc.d/vinum new file mode 100644 index 0000000..706e7f0 --- /dev/null +++ b/etc/rc.d/vinum @@ -0,0 +1,17 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: disks +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="vinum" +rcvar="start_vinum" +start_cmd="vinum start" +stop_cmd=":" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/virecover b/etc/rc.d/virecover new file mode 100755 index 0000000..9ecdbf6 --- /dev/null +++ b/etc/rc.d/virecover @@ -0,0 +1,73 @@ +#!/bin/sh +# +# $NetBSD: virecover,v 1.6 2002/03/22 04:34:00 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: virecover +# REQUIRE: mountcritremote +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD +# +# XXX: should require `mail'! + +. /etc/rc.subr + +name="virecover" +stop_cmd=":" + +case `${CMD_OSTYPE}` in +FreeBSD) + start_cmd="virecover_start" + ;; +NetBSD) + command="/usr/libexec/${name}" + ;; +esac + +virecover_start() +{ + find /var/tmp/vi.recover ! -type f -a ! -type d -delete + vibackup=`echo /var/tmp/vi.recover/vi.*` + if [ "${vibackup}" != '/var/tmp/vi.recover/vi.*' ]; then + echo -n 'Recovering vi editor sessions:' + for i in /var/tmp/vi.recover/vi.*; do + # Only test files that are readable. + if [ ! -r "${i}" ]; then + continue + fi + + # Unmodified nvi editor backup files either have the + # execute bit set or are zero length. Delete them. + if [ -x "${i}" -o ! -s "${i}" ]; then + rm -f "${i}" + fi + done + + # It is possible to get incomplete recovery files, if the editor + # crashes at the right time. + virecovery=`echo /var/tmp/vi.recover/recover.*` + if [ "${virecovery}" != "/var/tmp/vi.recover/recover.*" ]; then + for i in /var/tmp/vi.recover/recover.*; do + # Only test files that are readable. + if [ ! -r "${i}" ]; then + continue + fi + + # Delete any recovery files that are zero length, + # corrupted, or that have no corresponding backup file. + # Else send mail to the user. + recfile=`awk '/^X-vi-recover-path:/{print $2}' < "${i}"` + if [ -n "${recfile}" -a -s "${recfile}" ]; then + sendmail -t < "${i}" + else + rm -f "${i}" + fi + done + fi + echo '.' + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/wscons b/etc/rc.d/wscons new file mode 100755 index 0000000..9bb6e11 --- /dev/null +++ b/etc/rc.d/wscons @@ -0,0 +1,170 @@ +#!/bin/sh +# +# $NetBSD: wscons,v 1.9 2002/04/26 00:06:54 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: wscons +# REQUIRE: mountcritremote +# BEFORE: LOGIN + +. /etc/rc.subr + +name="wscons" +rcvar=$name +start_cmd="wscons_start" +stop_cmd=":" + +wscons_start() +{ + wscfg=/usr/sbin/wsconscfg + wsfld=/usr/sbin/wsfontload + wsctl=/sbin/wsconsctl + config=/etc/wscons.conf + usage="Usage: wsconfig [-n] [-f configfile] [-font fontpgm] [-screen screenpgm]" + DOIT= + + while [ $# -gt 0 ]; do + case $1 in + -n) + DOIT=echo + ;; + -f) + config=$2 + shift + ;; + -font) + wsfld=$2 + shift + ;; + -screen) + wscfg=$2 + shift + ;; + *) + echo $usage + exit 1 + ;; + esac + shift + done + + + # args mean: + # screen idx scr emul + # font name width height enc file + ( while read type arg1 arg2 arg3 arg4 arg5; do + case "$type" in + \#*|"") + continue + ;; + + font) + name=$arg1 + width=$arg2 + height=$arg3 + enc=$arg4 + file=$arg5 + cmd=$wsfld + + case $width in + -) + ;; + *) + cmd="$cmd -w $width" + ;; + esac + case $height in + -) + ;; + *) + cmd="$cmd -h $height" + ;; + esac + case $enc in + -) + ;; + *) + cmd="$cmd -e $enc" + ;; + esac + cmd="$cmd -N $name $file" + eval $DOIT $cmd + ;; + + screen) + idx=$arg1 + scr=$arg2 + emul=$arg3 + cmd=$wscfg + + case $scr in + -) + ;; + *) + cmd="$cmd -t $scr" + ;; + esac + case $emul in + -) + ;; + *) + cmd="$cmd -e $emul" + ;; + esac + cmd="$cmd $idx" + eval $DOIT $cmd + ;; + + keyboard) + kbd=$arg1 + cmd=$wscfg + case $kbd in + -|auto) + cmd="$cmd -k" + ;; + *) + cmd="$cmd -k $kbd" + ;; + esac + eval $DOIT $cmd + ;; + + encoding) + map=$arg1 + cmd="$wsctl -w \"encoding=$map\"" + eval $DOIT $cmd + ;; + + mapfile) + mapfile=$arg1 + ( while read entry; do + case "$entry" in + \#*|"") + continue + ;; + *) + cmd="$wsctl -w \"map+=$entry\"" + cmd="$cmd >/dev/null" + eval $DOIT $cmd + ;; + esac + done ) < $mapfile + ;; + + mux) + cmd="$wscfg -m $arg1" + eval $DOIT $cmd + ;; + + setvar) + cmd="$wsctl -w $arg1" + eval $DOIT $cmd + ;; + + esac + done ) < $config +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/xdm b/etc/rc.d/xdm new file mode 100755 index 0000000..a5c6b76 --- /dev/null +++ b/etc/rc.d/xdm @@ -0,0 +1,20 @@ +#!/bin/sh +# +# $NetBSD: xdm,v 1.5 2000/07/17 15:24:48 lukem Exp $ +# + +# PROVIDE: xdm +# REQUIRE: DAEMON LOGIN wscons +# KEYWORD: shutdown + +. /etc/rc.subr + +name="xdm" +rcvar=$name +command="/usr/X11R6/bin/${name}" +pidfile="/var/run/${name}.pid" +required_files="/usr/X11R6/lib/X11/xdm/xdm-config" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/xfs b/etc/rc.d/xfs new file mode 100755 index 0000000..a0692fa --- /dev/null +++ b/etc/rc.d/xfs @@ -0,0 +1,21 @@ +#!/bin/sh +# +# $NetBSD: xfs,v 1.6 2002/03/22 04:34:01 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: xfs +# REQUIRE: mountall cleartmp +# BEFORE: LOGIN + +. /etc/rc.subr + +name="xfs" +rcvar=$name +command="/usr/X11R6/bin/${name}" +command_args="& sleep 2" +required_files="/usr/X11R6/lib/X11/fs/config" +extra_commands="reload" + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ypbind b/etc/rc.d/ypbind new file mode 100755 index 0000000..dfd87ec --- /dev/null +++ b/etc/rc.d/ypbind @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $NetBSD: ypbind,v 1.5 2002/03/22 04:34:01 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: ypbind +# REQUIRE: ypserv +# BEFORE: DAEMON +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ypbind" +command="/usr/sbin/${name}" +start_precmd="ypbind_precmd" + +case `${CMD_OSTYPE}` in +FreeBSD) + rcvar="nis_client_enable" + command_args="${nis_client_flags}" + ;; +NetBSD) + rcvar=$name + ;; +esac + +ypbind_precmd() +{ + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/yppasswdd b/etc/rc.d/yppasswdd new file mode 100755 index 0000000..13928f3 --- /dev/null +++ b/etc/rc.d/yppasswdd @@ -0,0 +1,54 @@ +#!/bin/sh +# +# $NetBSD: yppasswdd,v 1.6 2002/03/22 04:34:01 thorpej Exp $ +# $FreeBSD$ +# + +# PROVIDE: yppasswdd +# REQUIRE: ypserv ypbind +# BEFORE: LOGIN +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="yppasswdd" +command="/usr/sbin/rpc.{name}" +start_precmd="yppasswdd_precmd" + +case `${CMD_OSTYPE}` in +FreeBSD) + rcvar="nis_yppasswdd_enable" + command_args="${nis_yppasswdd_flags}" + ;; +NetBSD) + rcvar=$name + required_vars="rpcbind ypserv" + ;; +esac + +yppasswdd_precmd() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + if ! checkyesno nis_server_enable && \ + ! /etc/rc.d/ypserv forcestatus 1>/dev/null 2>&1 + then + force_depend ypserv || return 1 + fi + ;; + esac + + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ypserv b/etc/rc.d/ypserv new file mode 100755 index 0000000..29ec316 --- /dev/null +++ b/etc/rc.d/ypserv @@ -0,0 +1,53 @@ +#!/bin/sh +# +# $NetBSD: ypserv,v 1.5 2000/09/19 13:04:39 lukem Exp $ +# $FreeBSD$ +# + +# PROVIDE: ypserv +# REQUIRE: rpcbind +# KEYWORD: FreeBSD NetBSD + +. /etc/rc.subr + +name="ypserv" +command="/usr/sbin/${name}" +start_precmd="ypserv_precmd" + +case `${CMD_OSTYPE}` in +FreeBSD) + rcvar="nis_server_enable" + command_args="${nis_server_flags}" + ;; +NetBSD) + rcvar=${name} + required_vars="rpcbind" + ;; +esac + +ypserv_precmd() +{ + case `${CMD_OSTYPE}` in + FreeBSD) + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + ;; + esac + + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi + + if [ ! -d /var/yp/$_domain/. ]; then + warn "/var/yp/$_domain is not a directory." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ypset b/etc/rc.d/ypset new file mode 100644 index 0000000..577b545 --- /dev/null +++ b/etc/rc.d/ypset @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ypset +# REQUIRE: ypbind +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ypset" +rcvar="nis_ypset_enable" +command="/usr/sbin/${name}" +command_args="${nis_ypset_flags}" +start_precmd="ypset_precmd" + +ypset_precmd() +{ + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + if ! checkyesno nis_client_enable && \ + ! /etc/rc.d/ypbind forcestatus 1>/dev/null 2>&1 + then + force_depend ypbind || return 1 + fi + + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ypupdated b/etc/rc.d/ypupdated new file mode 100644 index 0000000..6e8b193 --- /dev/null +++ b/etc/rc.d/ypupdated @@ -0,0 +1,38 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ypupdated +# REQUIRE: rpcbind ypserv +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ypupdated" +rcvar="rpc_ypupdated_enable" +command="/usr/sbin/rpc.${name}" +start_precmd="rpc_ypupdated_precmd" + +rpc_ypupdated_precmd() +{ + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + if ! checkyesno nis_server_enable && \ + ! /etc/rc.d/ypserv forcestatus 1>/dev/null 2>&1 + then + force_depend ypserv || return 1 + fi + + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.d/ypxfrd b/etc/rc.d/ypxfrd new file mode 100644 index 0000000..cf873fb --- /dev/null +++ b/etc/rc.d/ypxfrd @@ -0,0 +1,39 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: ypxfrd +# REQUIRE: rpcbind +# KEYWORD: FreeBSD + +. /etc/rc.subr + +name="ypxfrd" +rcvar="nis_ypxfrd_enable" +command="/usr/sbin/rpc.${name}" +command_args="${nis_ypxfrd_flags}" +start_precmd="ypxfrd_precmd" + +ypxfrd_precmd() +{ + if ! checkyesno rpcbind_enable && \ + ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1 + then + force_depend rpcbind || return 1 + fi + if ! checkyesno nis_server_enable && \ + ! /etc/rc.d/ypserv forcestatus 1>/dev/null 2>&1 + then + force_depend ypserv || return 1 + fi + + _domain=`domainname` + if [ -z "$_domain" ]; then + warn "domainname(1) is not set." + return 1 + fi +} + +load_rc_config $name +run_rc_command "$1" diff --git a/etc/rc.devfs b/etc/rc.devfs new file mode 100644 index 0000000..52966e9 --- /dev/null +++ b/etc/rc.devfs @@ -0,0 +1,58 @@ +# Copyright (c) 1998 Søren Schmidt +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# If there is a global system configuration file, suck it in. + +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +# Setup DEVFS, ie permissions, links etc. +# +cd /dev + +# This isn't necessarily a good example, since we probably shouldn't need this. +# However, a lot of X software depends on it. +# +if [ -c ttyv0 -a ! -e vga ]; then + ln -fs ttyv0 vga +fi + +# Commonly used by many ports +# +#if [ -c acd0c -a ! -e cdrom ]; then +# ln -fs acd0c cdrom +#fi + +# Allow users to query the smb device +# +#if [ -c smb0 ]; then +# chmod 660 smb0 +#fi diff --git a/etc/rc.diskless1 b/etc/rc.diskless1 new file mode 100644 index 0000000..bdda6d8 --- /dev/null +++ b/etc/rc.diskless1 @@ -0,0 +1,144 @@ +# Copyright (c) 1999 Matt Dillion +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# +# /etc/rc.diskless1 - general BOOTP startup +# +# BOOTP has mounted / for us. Assume a read-only mount. We must then +# - figure out our IP by querying the interface +# - mount /etc as an MFS +# - populate /etc from /conf/default version +# - override files in /etc with files from /conf/*/etc where +# '*' is default, netmask of client, ip-address of client +# +# The operator is in charge of setting /conf/*/etc/* things as appropriate. +# Typically rc.conf and fstab need to be changed, but possibly also other +# files such as inetd.conf etc. + +# chkerr: +# +# Routine to check for error +# +# checks error code and drops into shell on failure. +# if shell exits, terminates script as well as /etc/rc. +# +chkerr() { + case $1 in + 0) + ;; + *) + echo "$2 failed: dropping into /bin/sh" + /bin/sh + # RESUME + ;; + esac +} + +mount_md() { + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs -i 4096 /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# DEBUGGING +# +# set -v + +# Figure out our interface and IP. +# +bootp_ifc="" +bootp_ipa="" +bootp_ipbca="" +iflist=`ifconfig -l` +for i in ${iflist} ; do + set `ifconfig ${i}` + while [ $# -ge 1 ] ; do + if [ "${bootp_ifc}" = "" -a "$1" = "inet" ] ; then + bootp_ifc=${i} ; bootp_ipa=${2} ; shift + fi + if [ "${bootp_ipbca}" = "" -a "$1" = "broadcast" ] ; then + bootp_ipbca=$2; shift + fi + shift + done + if [ "${bootp_ifc}" != "" ] ; then + break + fi +done +echo "Interface ${bootp_ifc} IP-Address ${bootp_ipa} Broadcast ${bootp_ipbca}" + +if [ -z "`hostname -s`" ]; then + hostname=`kenv dhcp.host-name` + hostname $hostname + echo "Hostname is $hostname" +fi + +if [ -d /conf/default/etc ]; then + mount_md 4096 /etc 0 + chkerr $? "MFS mount on /etc" + /bin/chmod 755 /etc + + /bin/cp -Rp /conf/default/etc/* /etc + chkerr $? "cp /conf/default/etc to /etc MFS" +fi + +# Allow for override files to replace files in /etc. Use /conf/*/etc to find +# the override files. First choice is default files that # always override, +# then files that from the directory that matches the client's broadcast +# address, finally followed by overrides that match the client's IP address. +# +# This way we have some flexibility to handle clusters of machines on +# separate subnets. + +for i in ${bootp_ipbca} ${bootp_ipa} ${hostname} ; do + if [ -d /conf/${i}/etc ]; then + cp -Rp /conf/${i}/etc/* /etc + fi +done + +# +# if the info is available via dhcp/kenv +# build the resolv.conf +# +if [ ! -e /etc/resolv.conf ]; then + echo domain `kenv dhcp.domain-name` > /etc/resolv.conf + + set `kenv dhcp.domain-name-servers` + for ns in `IFS=','; echo $*`; do + echo nameserver $ns >> /etc/resolv.conf; + done +fi + +# Tell /etc/rc to run the specified script after it does its mounts but +# before it does anything else. +# +# This script is responsible for setting up the diskless mount environment. +# This can be overriden by /conf/ME/rc.conf.local if, for example, you do not +# want to run the standard system /etc/rc.diskless2 + +diskless_mount="/etc/rc.diskless2" diff --git a/etc/rc.diskless2 b/etc/rc.diskless2 new file mode 100644 index 0000000..5c17585 --- /dev/null +++ b/etc/rc.diskless2 @@ -0,0 +1,110 @@ +# Copyright (c) 1999 Matt Dillon +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# +# rc.diskless2 +# + +# Provide a function for normalizing the mounting of memory +# filesystems. This should allow the rest of the code here to remain +# as close as possible between 5-current and 4-stable. +# $1 = size +# $2 = mount point +# $3 = md unit number (ignored in pre 5.0 systems) +# $4 = (optional) bytes-per-inode +mount_md() { + if [ -n "$4" ]; then + bpi="-i $4" + fi + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs $bpi /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# If there is a global system configuration file, suck it in. +# +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +echo "+++ mount_md of /var" +mount_md ${varsize:=32m} /var 1 + +echo "+++ populate /var using /etc/mtree/BSD.var.dist" +/usr/sbin/mtree -deU -f /etc/mtree/BSD.var.dist -p /var +case ${sendmail_enable} in +[Nn][Oo][Nn][Ee]) + ;; +*) + /usr/sbin/mtree -deU -f /etc/mtree/BSD.sendmail.dist -p / + ;; +esac + +echo "+++ create log files based on the contents of /etc/newsyslog.conf" +LOGFILES=`/usr/bin/awk '$1 != "#" { printf "%s ", $1 } ' /etc/newsyslog.conf` +if [ -n "$LOGFILES" ]; then + /usr/bin/touch $LOGFILES +fi + +echo "+++ create lastlog" +/usr/bin/touch /var/log/lastlog + +mount -a # chown and chgrp are in /usr + +# Since we are starting with a very fresh /etc on an MFS: +if [ -d /conf/default/etc ]; then + newaliases +fi + +# +# XXX make sure to create one dir for each printer as requested by lpd +# + +# If /tmp is a symlink, assume it points to somewhere writable, like +# /var/tmp, otherwise, use a small memory filesystem for /tmp. +# +# XXX: mtree runs too early to create any directories needed in /tmp, +# so if /var/tmp == /tmp, then you don't get a vi.recover. +# +if [ ! -h /tmp ]; then + mount_md ${tmpsize:=64m} /tmp 2 + chmod 01777 /tmp +fi + +if sysctl vfs.devfs.generation > /dev/null 2>&1 ; then + # we have DEVFS, no worries... + true +else + # extract a list of device entries, then copy them to a writable fs + (cd /; find -x dev | cpio -o -H newc) > /tmp/dev.tmp + mount_md 4096 /dev 3 512 + (cd /; cpio -i -H newc -d < /tmp/dev.tmp) +fi diff --git a/etc/rc.firewall b/etc/rc.firewall new file mode 100644 index 0000000..57ce6bf --- /dev/null +++ b/etc/rc.firewall @@ -0,0 +1,301 @@ +# Copyright (c) 1996 Poul-Henning Kamp +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# +# Setup system for firewall service. +# + +# Suck in the configuration variables. +if [ -z "${source_rc_confs_defined}" ]; then + if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs + elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf + fi +fi + +############ +# Define the firewall type in /etc/rc.conf. Valid values are: +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) +# +# For ``client'' and ``simple'' the entries below should be customized +# appropriately. + +############ +# +# If you don't know enough about packet filtering, we suggest that you +# take time to read this book: +# +# Building Internet Firewalls, 2nd Edition +# Brent Chapman and Elizabeth Zwicky +# +# O'Reilly & Associates, Inc +# ISBN 1-56592-871-7 +# http://www.ora.com/ +# http://www.oreilly.com/catalog/fire2/ +# +# For a more advanced treatment of Internet Security read: +# +# Firewalls & Internet Security +# Repelling the wily hacker +# William R. Cheswick, Steven M. Bellowin +# +# Addison-Wesley +# ISBN 0-201-63357-4 +# http://www.awl.com/ +# http://www.awlonline.com/product/0%2C2627%2C0201633574%2C00.html +# + +setup_loopback () { + ############ + # Only in rare cases do you want to change these rules + # + ${fwcmd} add 100 pass all from any to any via lo0 + ${fwcmd} add 200 deny all from any to 127.0.0.0/8 + ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any +} + +if [ -n "${1}" ]; then + firewall_type="${1}" +fi + +############ +# Set quiet mode if requested +# +case ${firewall_quiet} in +[Yy][Ee][Ss]) + fwcmd="/sbin/ipfw -q" + ;; +*) + fwcmd="/sbin/ipfw" + ;; +esac + +############ +# Flush out the list before we begin. +# +${fwcmd} -f flush + +############ +# Network Address Translation. All packets are passed to natd(8) +# before they encounter your remaining rules. The firewall rules +# will then be run again on each packet after translation by natd +# starting at the rule number following the divert rule. +# +# For ``simple'' firewall type the divert rule should be put to a +# different place to not interfere with address-checking rules. +# +case ${firewall_type} in +[Oo][Pp][Ee][Nn]|[Cc][Ll][Ii][Ee][Nn][Tt]) + case ${natd_enable} in + [Yy][Ee][Ss]) + if [ -n "${natd_interface}" ]; then + ${fwcmd} add 50 divert natd all from any to any via ${natd_interface} + fi + ;; + esac +esac + +############ +# If you just configured ipfw in the kernel as a tool to solve network +# problems or you just want to disallow some particular kinds of traffic +# then you will want to change the default policy to open. You can also +# do this as your only action by setting the firewall_type to ``open''. +# +# ${fwcmd} add 65000 pass all from any to any + + +# Prototype setups. +# +case ${firewall_type} in +[Oo][Pp][Ee][Nn]) + setup_loopback + ${fwcmd} add 65000 pass all from any to any + ;; + +[Cc][Ll][Ii][Ee][Nn][Tt]) + ############ + # This is a prototype setup that will protect your system somewhat + # against people from outside your own network. + ############ + + # set these to your network and netmask and ip + net="192.0.2.0" + mask="255.255.255.0" + ip="192.0.2.1" + + setup_loopback + + # Allow any traffic to or from my own net. + ${fwcmd} add pass all from ${ip} to ${net}:${mask} + ${fwcmd} add pass all from ${net}:${mask} to ${ip} + + # Allow TCP through if setup succeeded + ${fwcmd} add pass tcp from any to any established + + # Allow IP fragments to pass through + ${fwcmd} add pass all from any to any frag + + # Allow setup of incoming email + ${fwcmd} add pass tcp from any to ${ip} 25 setup + + # Allow setup of outgoing TCP connections only + ${fwcmd} add pass tcp from ${ip} to any setup + + # Disallow setup of all other TCP connections + ${fwcmd} add deny tcp from any to any setup + + # Allow DNS queries out in the world + ${fwcmd} add pass udp from ${ip} to any 53 keep-state + + # Allow NTP queries out in the world + ${fwcmd} add pass udp from ${ip} to any 123 keep-state + + # Everything else is denied by default, unless the + # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel + # config file. + ;; + +[Ss][Ii][Mm][Pp][Ll][Ee]) + ############ + # This is a prototype setup for a simple firewall. Configure this + # machine as a named server and ntp server, and point all the machines + # on the inside at this machine for those services. + ############ + + # set these to your outside interface network and netmask and ip + oif="ed0" + onet="192.0.2.0" + omask="255.255.255.240" + oip="192.0.2.1" + + # set these to your inside interface network and netmask and ip + iif="ed1" + inet="192.0.2.16" + imask="255.255.255.240" + iip="192.0.2.17" + + setup_loopback + + # Stop spoofing + ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif} + ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif} + + # Stop RFC1918 nets on the outside interface + ${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif} + ${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif} + ${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif} + + # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, + # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) + # on the outside interface + ${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif} + ${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif} + ${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif} + ${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif} + ${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif} + + # Network Address Translation. This rule is placed here deliberately + # so that it does not interfere with the surrounding address-checking + # rules. If for example one of your internal LAN machines had its IP + # address set to 192.0.2.1 then an incoming packet for it after being + # translated by natd(8) would match the `deny' rule above. Similarly + # an outgoing packet originated from it before being translated would + # match the `deny' rule below. + case ${natd_enable} in + [Yy][Ee][Ss]) + if [ -n "${natd_interface}" ]; then + ${fwcmd} add divert natd all from any to any via ${natd_interface} + fi + ;; + esac + + # Stop RFC1918 nets on the outside interface + ${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif} + ${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif} + ${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif} + + # Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1, + # DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E) + # on the outside interface + ${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif} + ${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif} + ${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif} + ${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif} + ${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif} + + # Allow TCP through if setup succeeded + ${fwcmd} add pass tcp from any to any established + + # Allow IP fragments to pass through + ${fwcmd} add pass all from any to any frag + + # Allow setup of incoming email + ${fwcmd} add pass tcp from any to ${oip} 25 setup + + # Allow access to our DNS + ${fwcmd} add pass tcp from any to ${oip} 53 setup + ${fwcmd} add pass udp from any to ${oip} 53 + ${fwcmd} add pass udp from ${oip} 53 to any + + # Allow access to our WWW + ${fwcmd} add pass tcp from any to ${oip} 80 setup + + # Reject&Log all setup of incoming connections from the outside + ${fwcmd} add deny log tcp from any to any in via ${oif} setup + + # Allow setup of any other TCP connection + ${fwcmd} add pass tcp from any to any setup + + # Allow DNS queries out in the world + ${fwcmd} add pass udp from ${oip} to any 53 keep-state + + # Allow NTP queries out in the world + ${fwcmd} add pass udp from ${oip} to any 123 keep-state + + # Everything else is denied by default, unless the + # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel + # config file. + ;; + +[Cc][Ll][Oo][Ss][Ee][Dd]) + setup_loopback + ;; +[Uu][Nn][Kk][Nn][Oo][Ww][Nn]) + ;; +*) + if [ -r "${firewall_type}" ]; then + ${fwcmd} ${firewall_flags} ${firewall_type} + fi + ;; +esac diff --git a/etc/rc.firewall6 b/etc/rc.firewall6 new file mode 100644 index 0000000..a8cd69c --- /dev/null +++ b/etc/rc.firewall6 @@ -0,0 +1,286 @@ +############ +# Setup system for IPv6 firewall service. +# $FreeBSD$ + +# Suck in the configuration variables. +if [ -z "${source_rc_confs_defined}" ]; then + if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs + elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf + fi +fi + +############ +# Define the firewall type in /etc/rc.conf. Valid values are: +# open - will allow anyone in +# client - will try to protect just this machine +# simple - will try to protect a whole network +# closed - totally disables IP services except via lo0 interface +# UNKNOWN - disables the loading of firewall rules. +# filename - will load the rules in the given filename (full path required) +# +# For ``client'' and ``simple'' the entries below should be customized +# appropriately. + +############ +# +# If you don't know enough about packet filtering, we suggest that you +# take time to read this book: +# +# Building Internet Firewalls, 2nd Edition +# Brent Chapman and Elizabeth Zwicky +# +# O'Reilly & Associates, Inc +# ISBN 1-56592-871-7 +# http://www.ora.com/ +# http://www.oreilly.com/catalog/fire2/ +# +# For a more advanced treatment of Internet Security read: +# +# Firewalls & Internet Security +# Repelling the wily hacker +# William R. Cheswick, Steven M. Bellowin +# +# Addison-Wesley +# ISBN 0-201-63357-4 +# http://www.awl.com/ +# http://www.awlonline.com/product/0%2C2627%2C0201633574%2C00.html +# + +setup_local () { + ############ + # Only in rare cases do you want to change these rules + # + ${fw6cmd} add 100 pass all from any to any via lo0 + # + # ND + # + # DAD + ${fw6cmd} add pass ipv6-icmp from :: to ff02::/16 + # RS, RA, NS, NA, redirect... + ${fw6cmd} add pass ipv6-icmp from fe80::/10 to fe80::/10 + ${fw6cmd} add pass ipv6-icmp from fe80::/10 to ff02::/16 +} + +if [ -n "${1}" ]; then + ipv6_firewall_type="${1}" +fi + +############ +# Set quiet mode if requested +# +case ${ipv6_firewall_quiet} in +[Yy][Ee][Ss]) + fw6cmd="/sbin/ip6fw -q" + ;; +*) + fw6cmd="/sbin/ip6fw" + ;; +esac + +############ +# Flush out the list before we begin. +# +${fw6cmd} -f flush + +############ +# If you just configured ipfw in the kernel as a tool to solve network +# problems or you just want to disallow some particular kinds of traffic +# then you will want to change the default policy to open. You can also +# do this as your only action by setting the ipv6_firewall_type to ``open''. +# +# ${fw6cmd} add 65000 pass all from any to any + + +# Prototype setups. +# +case ${ipv6_firewall_type} in +[Oo][Pp][Ee][Nn]) + setup_local + ${fw6cmd} add 65000 pass all from any to any + ;; + +[Cc][Ll][Ii][Ee][Nn][Tt]) + ############ + # This is a prototype setup that will protect your system somewhat + # against people from outside your own network. + ############ + + # set these to your network and prefixlen and ip + # + # This needs more work + # + net="3ffe:505:2:1::" + prefixlen="64" + ip="3ffe:505:2:1::1" + + setup_local + + # Allow any traffic to or from my own net. + ${fw6cmd} add pass all from ${ip} to ${net}/${prefixlen} + ${fw6cmd} add pass all from ${net}/${prefixlen} to ${ip} + + # Allow any link-local multicast traffic + ${fw6cmd} add pass all from fe80::/10 to ff02::/16 + ${fw6cmd} add pass all from ${net}/${prefixlen} to ff02::/16 + + # Allow TCP through if setup succeeded + ${fw6cmd} add pass tcp from any to any established + + # Allow IP fragments to pass through + ${fw6cmd} add pass all from any to any frag + + # Allow setup of incoming email + ${fw6cmd} add pass tcp from any to ${ip} 25 setup + + # Allow setup of outgoing TCP connections only + ${fw6cmd} add pass tcp from ${ip} to any setup + + # Disallow setup of all other TCP connections + ${fw6cmd} add deny tcp from any to any setup + + # Allow DNS queries out in the world + ${fw6cmd} add pass udp from any 53 to ${ip} + ${fw6cmd} add pass udp from ${ip} to any 53 + + # Allow NTP queries out in the world + ${fw6cmd} add pass udp from any 123 to ${ip} + ${fw6cmd} add pass udp from ${ip} to any 123 + + # Allow ICMPv6 destination unreach + ${fw6cmd} add pass ipv6-icmp from any to any icmptypes 1 + + # Allow NS/NA/toobig (don't filter it out) + ${fw6cmd} add pass ipv6-icmp from any to any icmptypes 2,135,136 + + # Everything else is denied by default, unless the + # IPV6FIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel + # config file. + ;; + +[Ss][Ii][Mm][Pp][Ll][Ee]) + ############ + # This is a prototype setup for a simple firewall. Configure this + # machine as a named server and ntp server, and point all the machines + # on the inside at this machine for those services. + ############ + + # set these to your outside interface network and prefixlen and ip + oif="ed0" + onet="3ffe:505:2:1::" + oprefixlen="64" + oip="3ffe:505:2:1::1" + + # set these to your inside interface network and prefixlen and ip + iif="ed1" + inet="3ffe:505:2:2::" + iprefixlen="64" + iip="3ffe:505:2:2::1" + + setup_local + + # Stop spoofing + ${fw6cmd} add deny all from ${inet}/${iprefixlen} to any in via ${oif} + ${fw6cmd} add deny all from ${onet}/${oprefixlen} to any in via ${iif} + + # Stop site-local on the outside interface + ${fw6cmd} add deny all from fec0::/10 to any via ${oif} + ${fw6cmd} add deny all from any to fec0::/10 via ${oif} + + # Disallow "internal" addresses to appear on the wire. + ${fw6cmd} add deny all from ::ffff:0.0.0.0/96 to any via ${oif} + ${fw6cmd} add deny all from any to ::ffff:0.0.0.0/96 via ${oif} + + # Disallow packets to malicious IPv4 compatible prefix. + ${fw6cmd} add deny all from ::224.0.0.0/100 to any via ${oif} + ${fw6cmd} add deny all from any to ::224.0.0.0/100 via ${oif} + ${fw6cmd} add deny all from ::127.0.0.0/104 to any via ${oif} + ${fw6cmd} add deny all from any to ::127.0.0.0/104 via ${oif} + ${fw6cmd} add deny all from ::0.0.0.0/104 to any via ${oif} + ${fw6cmd} add deny all from any to ::0.0.0.0/104 via ${oif} + ${fw6cmd} add deny all from ::255.0.0.0/104 to any via ${oif} + ${fw6cmd} add deny all from any to ::255.0.0.0/104 via ${oif} + + ${fw6cmd} add deny all from ::0.0.0.0/96 to any via ${oif} + ${fw6cmd} add deny all from any to ::0.0.0.0/96 via ${oif} + + # Disallow packets to malicious 6to4 prefix. + ${fw6cmd} add deny all from 2002:e000::/20 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:e000::/20 via ${oif} + ${fw6cmd} add deny all from 2002:7f00::/24 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:7f00::/24 via ${oif} + ${fw6cmd} add deny all from 2002:0000::/24 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:0000::/24 via ${oif} + ${fw6cmd} add deny all from 2002:ff00::/24 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:ff00::/24 via ${oif} + + ${fw6cmd} add deny all from 2002:0a00::/24 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:0a00::/24 via ${oif} + ${fw6cmd} add deny all from 2002:ac10::/28 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:ac10::/28 via ${oif} + ${fw6cmd} add deny all from 2002:c0a8::/32 to any via ${oif} + ${fw6cmd} add deny all from any to 2002:c0a8::/32 via ${oif} + + ${fw6cmd} add deny all from ff05::/16 to any via ${oif} + ${fw6cmd} add deny all from any to ff05::/16 via ${oif} + + # Allow TCP through if setup succeeded + ${fw6cmd} add pass tcp from any to any established + + # Allow IP fragments to pass through + ${fw6cmd} add pass all from any to any frag + + # Allow setup of incoming email + ${fw6cmd} add pass tcp from any to ${oip} 25 setup + + # Allow access to our DNS + ${fw6cmd} add pass tcp from any to ${oip} 53 setup + ${fw6cmd} add pass udp from any to ${oip} 53 + ${fw6cmd} add pass udp from ${oip} 53 to any + + # Allow access to our WWW + ${fw6cmd} add pass tcp from any to ${oip} 80 setup + + # Reject&Log all setup of incoming connections from the outside + ${fw6cmd} add deny log tcp from any to any in via ${oif} setup + + # Allow setup of any other TCP connection + ${fw6cmd} add pass tcp from any to any setup + + # Allow DNS queries out in the world + ${fw6cmd} add pass udp from any 53 to ${oip} + ${fw6cmd} add pass udp from ${oip} to any 53 + + # Allow NTP queries out in the world + ${fw6cmd} add pass udp from any 123 to ${oip} + ${fw6cmd} add pass udp from ${oip} to any 123 + + # Allow RIPng + #${fw6cmd} add pass udp from fe80::/10 521 to ff02::9 521 + #${fw6cmd} add pass udp from fe80::/10 521 to fe80::/10 521 + + # Allow ICMPv6 destination unreach + ${fw6cmd} add pass ipv6-icmp from any to any icmptypes 1 + + # Allow NS/NA/toobig (don't filter it out) + ${fw6cmd} add pass ipv6-icmp from any to any icmptypes 2,135,136 + + # Everything else is denied by default, unless the + # IPV6FIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel + # config file. + ;; + +[Cc][Ll][Oo][Ss][Ee][Dd]) + # Only enable the loopback interface + ${fw6cmd} add 100 pass all from any to any via lo0 + ;; +[Uu][Nn][Kk][Nn][Oo][Ww][Nn]) + ;; +*) + if [ -r "${ipv6_firewall_type}" ]; then + ${fw6cmd} ${ipv6_firewall_flags} ${ipv6_firewall_type} + fi + ;; +esac diff --git a/etc/rc.initdiskless b/etc/rc.initdiskless new file mode 100644 index 0000000..6e47bb9 --- /dev/null +++ b/etc/rc.initdiskless @@ -0,0 +1,143 @@ +#!/bin/sh +# +# Copyright (c) 1999 Matt Dillion +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PROVIDE: initdiskless +# KEYWORD: FreeBSD + +dlv=`/sbin/sysctl -n vfs.nfs.diskless_valid 2> /dev/null` +[ ${dlv:=0} -eq 0 ] && exit 0 + +# +# BOOTP has mounted / for us. Assume a read-only mount. We must then +# - figure out our IP by querying the interface +# - mount /etc as an MFS +# - populate /etc from /conf/default version +# - override files in /etc with files from /conf/*/etc where +# '*' is default, netmask of client, ip-address of client +# +# The operator is in charge of setting /conf/*/etc/* things as appropriate. +# Typically rc.conf and fstab need to be changed, but possibly also other +# files such as inetd.conf etc. + +# chkerr: +# +# Routine to check for error +# +# checks error code and drops into shell on failure. +# if shell exits, terminates script as well as /etc/rc. +# +chkerr() +{ + case $1 in + 0) + ;; + *) + echo "$2 failed: dropping into /bin/sh" + /bin/sh + # RESUME + ;; + esac +} + +mount_md() +{ + /sbin/mdconfig -a -t malloc -s $1 -u $3 + /sbin/disklabel -r -w md$3 auto + /sbin/newfs -i 4096 /dev/md$3c + /sbin/mount /dev/md$3c $2 +} + +# DEBUGGING +# +# set -v + +# Figure out our interface and IP. +# +bootp_ifc="" +bootp_ipa="" +bootp_ipbca="" +iflist=`ifconfig -l` +for i in ${iflist} ; do + set `ifconfig ${i}` + while [ $# -ge 1 ] ; do + if [ "${bootp_ifc}" = "" -a "$1" = "inet" ] ; then + bootp_ifc=${i} ; bootp_ipa=${2} ; shift + fi + if [ "${bootp_ipbca}" = "" -a "$1" = "broadcast" ] ; then + bootp_ipbca=$2; shift + fi + shift + done + if [ "${bootp_ifc}" != "" ] ; then + break + fi +done +echo "Interface ${bootp_ifc} IP-Address ${bootp_ipa} Broadcast ${bootp_ipbca}" + +if [ -z "`hostname -s`" ]; then + hostname=`kenv dhcp.host-name` + hostname $hostname + echo "Hostname is $hostname" +fi + +if [ -d /conf/default/etc ]; then + mount_md 4096 /etc 0 + chkerr $? "MFS mount on /etc" + /bin/chmod 755 /etc + + /bin/cp -Rp /conf/default/etc/* /etc + chkerr $? "cp /conf/default/etc to /etc MFS" +fi + +# Allow for override files to replace files in /etc. Use /conf/*/etc to find +# the override files. First choice is default files that # always override, +# then files that from the directory that matches the client's broadcast +# address, finally followed by overrides that match the client's IP address. +# +# This way we have some flexibility to handle clusters of machines on +# separate subnets. + +for i in ${bootp_ipbca} ${bootp_ipa} ${hostname} ; do + if [ -d /conf/${i}/etc ]; then + cp -Rp /conf/${i}/etc/* /etc + fi +done + +# +# if the info is available via dhcp/kenv +# build the resolv.conf +# +if [ ! -e /etc/resolv.conf ]; then + echo domain `kenv dhcp.domain-name` > /etc/resolv.conf + + set `kenv dhcp.domain-name-servers` + for ns in `IFS=','; echo $*`; do + echo nameserver $ns >> /etc/resolv.conf; + done +fi diff --git a/etc/rc.isdn b/etc/rc.isdn new file mode 100644 index 0000000..a3d3e54 --- /dev/null +++ b/etc/rc.isdn @@ -0,0 +1,96 @@ +#!/bin/sh +# +# Copyright (c) 1999 Hellmuth Michaelis +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +#--------------------------------------------------------------------------- +# +# /etc/rc.isdn - isdn4bsd startup script +# -------------------------------------- +# +#--------------------------------------------------------------------------- + +case ${isdn_enable} in +[Yy][Ee][Ss]) + echo -n 'ISDN subsystem setup:' + + # Check for pcvt driver (VT100/VT220 emulator) + # + if [ -x /usr/sbin/ispcvt ]; then + if /usr/sbin/ispcvt; then + # No vidcontrol if we are using pcvt + # + isdn_screenflags=NO + fi + fi + + case ${isdn_flags} in + [Nn][Oo]) + isdn_flags='' + ;; + esac + + # Start the isdn daemon + # + if [ -x /usr/sbin/isdnd ]; then + echo -n ' isdnd' + case ${isdn_fsdev} in + [Nn][Oo] | '') + /usr/sbin/isdnd ${isdn_flags} + ;; + *) + # Change vidmode of ${isdn_fsdev} + # + case ${isdn_screenflags} in + [Nn][Oo]) + ;; + *) + if [ -x /usr/sbin/vidcontrol ]; then + /usr/sbin/vidcontrol < ${isdn_fsdev} > ${isdn_fsdev} 2>&1 ${isdn_screenflags} + fi + ;; + esac + + /usr/sbin/isdnd ${isdn_flags} -f -r ${isdn_fsdev} -t ${isdn_ttype} + ;; + esac + fi + + # Start isdntrace + # + case ${isdn_trace} in + [Yy][Ee][Ss]) + if [ -x /usr/sbin/isdntrace ]; then + echo -n ' isdntrace' + nohup /usr/sbin/isdntrace ${isdn_traceflags} >/dev/null 2>&1 & + fi + ;; + esac + + echo '.' + ;; +esac diff --git a/etc/rc.network b/etc/rc.network new file mode 100644 index 0000000..b53e358 --- /dev/null +++ b/etc/rc.network @@ -0,0 +1,969 @@ +#!/bin/sh - +# +# Copyright (c) 1993 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# From: @(#)netstart 5.9 (Berkeley) 3/30/91 +# + +# Note that almost all of the user-configurable behavior is no longer in +# this file, but rather in /etc/defaults/rc.conf. Please check that file +# first before contemplating any changes here. If you do need to change +# this file for some reason, we would like to know about it. + +# First pass startup stuff. +# +network_pass1() { + echo -n 'Doing initial network setup:' + + # Generate host.conf for compatibility + # + if [ -f "/etc/nsswitch.conf" ]; then + echo -n ' host.conf' + generate_host_conf /etc/nsswitch.conf /etc/host.conf + fi + + # Convert host.conf to nsswitch.conf if necessary + # + if [ -f "/etc/host.conf" -a ! -f "/etc/nsswitch.conf" ]; then + echo '' + echo 'Warning: /etc/host.conf is no longer used' + echo ' /etc/nsswitch.conf will be created for you' + convert_host_conf /etc/host.conf /etc/nsswitch.conf + fi + + # Set the host name if it is not already set + # + if [ -z "`hostname -s`" ]; then + hostname ${hostname} + echo -n ' hostname' + fi + + # Establish ipfilter ruleset as early as possible (best in + # addition to IPFILTER_DEFAULT_BLOCK in the kernel config file) + + # check whether ipfilter and/or ipnat is enabled + ipfilter_active="NO" + case ${ipfilter_enable} in + [Yy][Ee][Ss]) + ipfilter_active="YES" + ;; + esac + case ${ipnat_enable} in + [Yy][Ee][Ss]) + ipfilter_active="YES" + ;; + esac + case ${ipfilter_active} in + [Yy][Ee][Ss]) + # load ipfilter kernel module if needed + if ! sysctl net.inet.ipf.fr_pass > /dev/null 2>&1; then + if kldload ipl; then + echo 'IP-filter module loaded.' + else + echo 'Warning: IP-filter module failed to load.' + # avoid further errors + ipfilter_active="NO" + ipmon_enable="NO" + ipfilter_enable="NO" + ipnat_enable="NO" + ipfs_enable="NO" + fi + fi + # start ipmon before loading any rules + case "${ipmon_enable}" in + [Yy][Ee][Ss]) + echo -n ' ipmon' + ${ipmon_program:-/sbin/ipmon} ${ipmon_flags} + ;; + esac + case "${ipfilter_enable}" in + [Yy][Ee][Ss]) + if [ -r "${ipfilter_rules}" ]; then + echo -n ' ipfilter' + ${ipfilter_program:-/sbin/ipf} -Fa -f \ + "${ipfilter_rules}" ${ipfilter_flags} + else + ipfilter_enable="NO" + echo -n ' NO IPF RULES' + fi + ;; + esac + case "${ipnat_enable}" in + [Yy][Ee][Ss]) + if [ -r "${ipnat_rules}" ]; then + echo -n ' ipnat' + eval ${ipnat_program:-/sbin/ipnat} -CF -f \ + "${ipnat_rules}" ${ipnat_flags} + else + ipnat_enable="NO" + echo -n ' NO IPNAT RULES' + fi + ;; + esac + # restore filter/NAT state tables after loading the rules + case "${ipfs_enable}" in + [Yy][Ee][Ss]) + if [ -r "/var/db/ipf/ipstate.ipf" ]; then + echo -n ' ipfs' + ${ipfs_program:-/sbin/ipfs} -R ${ipfs_flags} + # remove files to avoid reloading old state + # after an ungraceful shutdown + rm -f /var/db/ipf/ipstate.ipf + rm -f /var/db/ipf/ipnat.ipf + fi + ;; + esac + ;; + esac + + # Set the domainname if we're using NIS + # + case ${nisdomainname} in + [Nn][Oo] | '') + ;; + *) + domainname ${nisdomainname} + echo -n ' domain' + ;; + esac + + echo '.' + + # Initial ATM interface configuration + # + case ${atm_enable} in + [Yy][Ee][Ss]) + if [ -r /etc/rc.atm ]; then + . /etc/rc.atm + atm_pass1 + fi + ;; + esac + + # Attempt to create cloned interfaces. + for ifn in ${cloned_interfaces}; do + ifconfig ${ifn} create + done + + # Special options for sppp(4) interfaces go here. These need + # to go _before_ the general ifconfig section, since in the case + # of hardwired (no link1 flag) but required authentication, you + # cannot pass auth parameters down to the already running interface. + # + for ifn in ${sppp_interfaces}; do + eval spppcontrol_args=\$spppconfig_${ifn} + if [ -n "${spppcontrol_args}" ]; then + # The auth secrets might contain spaces; in order + # to retain the quotation, we need to eval them + # here. + eval spppcontrol ${ifn} ${spppcontrol_args} + fi + done + + # gifconfig + network_gif_setup + + # Set up all the network interfaces, calling startup scripts if needed + # + case ${network_interfaces} in + [Aa][Uu][Tt][Oo]) + network_interfaces="`ifconfig -l`" + ;; + *) + network_interfaces="${network_interfaces} ${cloned_interfaces}" + ;; + esac + + dhcp_interfaces="" + for ifn in ${network_interfaces}; do + if [ -r /etc/start_if.${ifn} ]; then + . /etc/start_if.${ifn} + eval showstat_$ifn=1 + fi + + # Do the primary ifconfig if specified + # + eval ifconfig_args=\$ifconfig_${ifn} + + case ${ifconfig_args} in + '') + ;; + [Dd][Hh][Cc][Pp]) + # DHCP inits are done all in one go below + dhcp_interfaces="$dhcp_interfaces $ifn" + eval showstat_$ifn=1 + ;; + *) + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + ;; + esac + done + + if [ ! -z "${dhcp_interfaces}" ]; then + ${dhcp_program:-/sbin/dhclient} ${dhcp_flags} ${dhcp_interfaces} + fi + + for ifn in ${network_interfaces}; do + # Check to see if aliases need to be added + # + alias=0 + while : ; do + eval ifconfig_args=\$ifconfig_${ifn}_alias${alias} + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} alias + eval showstat_$ifn=1 + alias=$((${alias} + 1)) + else + break; + fi + done + + # Do ipx address if specified + # + eval ifconfig_args=\$ifconfig_${ifn}_ipx + if [ -n "${ifconfig_args}" ]; then + ifconfig ${ifn} ${ifconfig_args} + eval showstat_$ifn=1 + fi + done + + for ifn in ${network_interfaces}; do + eval showstat=\$showstat_${ifn} + if [ ! -z ${showstat} ]; then + ifconfig ${ifn} + fi + done + + # ISDN subsystem startup + # + case ${isdn_enable} in + [Yy][Ee][Ss]) + if [ -r /etc/rc.isdn ]; then + . /etc/rc.isdn + fi + ;; + esac + + # Start user ppp if required. This must happen before natd. + # + case ${ppp_enable} in + [Yy][Ee][Ss]) + # Establish ppp mode. + # + if [ "${ppp_mode}" != "ddial" -a "${ppp_mode}" != "direct" \ + -a "${ppp_mode}" != "dedicated" \ + -a "${ppp_mode}" != "background" ]; then + ppp_mode="auto" + fi + + ppp_command="/usr/sbin/ppp -quiet -${ppp_mode}" + + # Switch on NAT mode? + # + case ${ppp_nat} in + [Yy][Ee][Ss]) + ppp_command="${ppp_command} -nat" + ;; + esac + + ppp_command="${ppp_command} ${ppp_profile}" + + echo "Starting ppp as \"${ppp_user}\"" + su -m ${ppp_user} -c "exec ${ppp_command}" + ;; + esac + + # Re-Sync ipfilter so it picks up any new network interfaces + # + case ${ipfilter_active} in + [Yy][Ee][Ss]) + ${ipfilter_program:-/sbin/ipf} -y ${ipfilter_flags} >/dev/null + ;; + esac + unset ipfilter_active + + # Initialize IP filtering using ipfw + # + if /sbin/ipfw -q flush > /dev/null 2>&1; then + firewall_in_kernel=1 + else + firewall_in_kernel=0 + fi + + case ${firewall_enable} in + [Yy][Ee][Ss]) + if [ "${firewall_in_kernel}" -eq 0 ] && kldload ipfw; then + firewall_in_kernel=1 + echo 'Kernel firewall module loaded' + elif [ "${firewall_in_kernel}" -eq 0 ]; then + echo 'Warning: firewall kernel module failed to load' + fi + ;; + esac + + # Load the filters if required + # + case ${firewall_in_kernel} in + 1) + if [ -z "${firewall_script}" ]; then + firewall_script=/etc/rc.firewall + fi + + case ${firewall_enable} in + [Yy][Ee][Ss]) + if [ -r "${firewall_script}" ]; then + . "${firewall_script}" + echo -n 'Firewall rules loaded, starting divert daemons:' + + # Network Address Translation daemon + # + case ${natd_enable} in + [Yy][Ee][Ss]) + if [ -n "${natd_interface}" ]; then + if echo ${natd_interface} | \ + grep -q -E '^[0-9]+(\.[0-9]+){0,3}$'; then + natd_flags="$natd_flags -a ${natd_interface}" + else + natd_flags="$natd_flags -n ${natd_interface}" + fi + fi + echo -n ' natd'; ${natd_program:-/sbin/natd} ${natd_flags} + ;; + esac + + echo '.' + + elif [ "`ipfw l 65535`" = "65535 deny ip from any to any" ]; then + echo 'Warning: kernel has firewall functionality,' \ + 'but firewall rules are not enabled.' + echo ' All ip services are disabled.' + fi + + case ${firewall_logging} in + [Yy][Ee][Ss] | '') + echo 'Firewall logging=YES' + sysctl net.inet.ip.fw.verbose=1 >/dev/null + ;; + *) + ;; + esac + + ;; + esac + ;; + esac + + # Additional ATM interface configuration + # + if [ -n "${atm_pass1_done}" ]; then + atm_pass2 + fi + + # Configure routing + # + case ${defaultrouter} in + [Nn][Oo] | '') + ;; + *) + static_routes="default ${static_routes}" + route_default="default ${defaultrouter}" + ;; + esac + + # Set up any static routes. This should be done before router discovery. + # + if [ -n "${static_routes}" ]; then + for i in ${static_routes}; do + eval route_args=\$route_${i} + route add ${route_args} + done + fi + + echo -n 'Additional routing options:' + case ${tcp_extensions} in + [Yy][Ee][Ss] | '') + ;; + *) + echo -n ' tcp extensions=NO' + sysctl net.inet.tcp.rfc1323=0 >/dev/null + ;; + esac + + case ${icmp_bmcastecho} in + [Yy][Ee][Ss]) + echo -n ' broadcast ping responses=YES' + sysctl net.inet.icmp.bmcastecho=1 >/dev/null + ;; + esac + + case ${icmp_drop_redirect} in + [Yy][Ee][Ss]) + echo -n ' ignore ICMP redirect=YES' + sysctl net.inet.icmp.drop_redirect=1 >/dev/null + ;; + esac + + case ${icmp_log_redirect} in + [Yy][Ee][Ss]) + echo -n ' log ICMP redirect=YES' + sysctl net.inet.icmp.log_redirect=1 >/dev/null + ;; + esac + + case ${gateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IP gateway=YES' + sysctl net.inet.ip.forwarding=1 >/dev/null + ;; + esac + + case ${forward_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' do source routing=YES' + sysctl net.inet.ip.sourceroute=1 >/dev/null + ;; + esac + + case ${accept_sourceroute} in + [Yy][Ee][Ss]) + echo -n ' accept source routing=YES' + sysctl net.inet.ip.accept_sourceroute=1 >/dev/null + ;; + esac + + case ${tcp_keepalive} in + [Nn][Oo]) + echo -n ' TCP keepalive=NO' + sysctl net.inet.tcp.always_keepalive=0 >/dev/null + ;; + esac + + case ${tcp_drop_synfin} in + [Yy][Ee][Ss]) + echo -n ' drop SYN+FIN packets=YES' + sysctl net.inet.tcp.drop_synfin=1 >/dev/null + ;; + esac + + case ${ipxgateway_enable} in + [Yy][Ee][Ss]) + echo -n ' IPX gateway=YES' + sysctl net.ipx.ipx.ipxforwarding=1 >/dev/null + ;; + esac + + case ${arpproxy_all} in + [Yy][Ee][Ss]) + echo -n ' ARP proxyall=YES' + sysctl net.link.ether.inet.proxyall=1 >/dev/null + ;; + esac + + case ${ip_portrange_first} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_first=$ip_portrange_first" + sysctl net.inet.ip.portrange.first=$ip_portrange_first >/dev/null + ;; + esac + + case ${ip_portrange_last} in + [Nn][Oo] | '') + ;; + *) + echo -n " ip_portrange_last=$ip_portrange_last" + sysctl net.inet.ip.portrange.last=$ip_portrange_last >/dev/null + ;; + esac + + echo '.' + + case ${ipsec_enable} in + [Yy][Ee][Ss]) + if [ -f ${ipsec_file} ]; then + echo ' ipsec: enabled' + setkey -f ${ipsec_file} + else + echo ' ipsec: file not found' + fi + ;; + esac + + echo -n 'Routing daemons:' + case ${router_enable} in + [Yy][Ee][Ss]) + echo -n " ${router}"; ${router} ${router_flags} + ;; + esac + + case ${ipxrouted_enable} in + [Yy][Ee][Ss]) + echo -n ' IPXrouted' + IPXrouted ${ipxrouted_flags} > /dev/null 2>&1 + ;; + esac + + case ${mrouted_enable} in + [Yy][Ee][Ss]) + echo -n ' mrouted'; mrouted ${mrouted_flags} + ;; + esac + + case ${rarpd_enable} in + [Yy][Ee][Ss]) + echo -n ' rarpd'; rarpd ${rarpd_flags} + ;; + esac + echo '.' + + # Let future generations know we made it. + # + network_pass1_done=YES +} + +network_pass2() { + echo -n 'Doing additional network setup:' + case ${named_enable} in + [Yy][Ee][Ss]) + echo -n ' named'; ${named_program:-named} ${named_flags} + ;; + esac + + case ${ntpdate_enable} in + [Yy][Ee][Ss]) + echo -n ' ntpdate' + ${ntpdate_program:-ntpdate} ${ntpdate_flags} >/dev/null 2>&1 + ;; + esac + + case ${ntpd_enable} in + [Yy][Ee][Ss]) + echo -n ' ntpd'; ${ntpd_program:-ntpd} ${ntpd_flags} + ;; + esac + + case ${timed_enable} in + [Yy][Ee][Ss]) + echo -n ' timed'; timed ${timed_flags} + ;; + esac + + case ${rpcbind_enable} in + [Yy][Ee][Ss]) + echo -n ' rpcbind'; ${rpcbind_program:-/usr/sbin/rpcbind} \ + ${rpcbind_flags} + + # Start ypserv if we're an NIS server. + # Run rpc.ypxfrd and rpc.yppasswdd only on the NIS master server. + # + case ${nis_server_enable} in + [Yy][Ee][Ss]) + echo -n ' ypserv'; ypserv ${nis_server_flags} + + case ${nis_ypxfrd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.ypxfrd' + rpc.ypxfrd ${nis_ypxfrd_flags} + ;; + esac + + case ${nis_yppasswdd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.yppasswdd' + rpc.yppasswdd ${nis_yppasswdd_flags} + ;; + esac + ;; + esac + + # Start ypbind if we're an NIS client + # + case ${nis_client_enable} in + [Yy][Ee][Ss]) + echo -n ' ypbind'; ypbind ${nis_client_flags} + case ${nis_ypset_enable} in + [Yy][Ee][Ss]) + echo -n ' ypset'; ypset ${nis_ypset_flags} + ;; + esac + ;; + esac + + # Start keyserv if we are running Secure RPC + # + case ${keyserv_enable} in + [Yy][Ee][Ss]) + echo -n ' keyserv'; keyserv ${keyserv_flags} + ;; + esac + + # Start ypupdated if we are running Secure RPC + # and we are NIS master + # + case ${rpc_ypupdated_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.ypupdated'; rpc.ypupdated + ;; + esac + ;; + esac + + # Start ATM daemons + if [ -n "${atm_pass2_done}" ]; then + atm_pass3 + fi + + echo '.' + network_pass2_done=YES +} + +network_pass3() { + echo -n 'Starting final network daemons:' + + case ${rpcbind_enable} in + [Yy][Ee][Ss]) + case ${nfs_server_enable} in + [Yy][Ee][Ss]) + # Handle absent nfs server support + nfsserver_in_kernel=0 + if sysctl vfs.nfsrv >/dev/null 2>&1; then + nfsserver_in_kernel=1 + else + kldload nfsserver && nfsserver_in_kernel=1 + fi + + if [ -r /etc/exports -a \ + ${nfsserver_in_kernel} -eq 1 ]; then + echo -n ' mountd' + + case ${weak_mountd_authentication} in + [Yy][Ee][Ss]) + mountd_flags="${mountd_flags} -n" + ;; + esac + + mountd ${mountd_flags} + + case ${nfs_reserved_port_only} in + [Yy][Ee][Ss]) + echo -n ' NFS on reserved port only=YES' + sysctl vfs.nfsrv.nfs_privport=1 > /dev/null + ;; + esac + + echo -n ' nfsd'; nfsd ${nfs_server_flags} + + case ${rpc_statd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.statd'; rpc.statd + ;; + esac + + case ${rpc_lockd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.lockd'; rpc.lockd + ;; + esac + else + echo -n ' Warning: nfs server failed' + fi + ;; + *) + case ${mountd_enable} in + [Yy][Ee][Ss]) + if [ -r /etc/exports ]; then + echo -n ' mountd' + + case ${weak_mountd_authentication} in + [Yy][Ee][Ss]) + mountd_flags="-n" + ;; + esac + + mountd ${mountd_flags} + fi + ;; + esac + ;; + esac + + case ${nfs_client_enable} in + [Yy][Ee][Ss]) + nfsclient_in_kernel=0 + # Handle absent nfs client support + if sysctl vfs.nfs >/dev/null 2>&1; then + nfsclient_in_kernel=1 + else + kldload nfsclient && nfsclient_in_kernel=1 + fi + + if [ ${nfsclient_in_kernel} -eq 1 ] + then + if [ -n "${nfs_access_cache}" ]; then + echo -n " NFS access cache time=${nfs_access_cache}" + sysctl vfs.nfs.access_cache_timeout=${nfs_access_cache} >/dev/null + fi + if [ -n "${nfs_bufpackets}" ]; then + sysctl vfs.nfs.bufpackets=${nfs_bufpackets} > /dev/null + fi + case ${rpc_statd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.statd'; rpc.statd + ;; + esac + + case ${rpc_lockd_enable} in + [Yy][Ee][Ss]) + echo -n ' rpc.lockd'; rpc.lockd + ;; + esac + + case ${amd_enable} in + [Yy][Ee][Ss]) + echo -n ' amd' + case ${amd_map_program} in + [Nn][Oo] | '') + ;; + *) + amd_flags="${amd_flags} `eval\ + ${amd_map_program}`" + ;; + esac + + case "${amd_flags}" in + '') + if [ -r /etc/amd.conf ]; then + amd & + else + echo '' + echo 'Warning: amd will not load without arguments' + fi + ;; + *) + amd -p ${amd_flags} \ + >/var/run/amd.pid \ + 2>/dev/null & + ;; + esac + ;; + esac + else + echo 'Warning: NFS client kernel module failed to load' + nfs_client_enable=NO + fi + ;; + esac + + # If /var/db/mounttab exists, some nfs-server has not been + # successfully notified about a previous client shutdown. + # If there is no /var/db/mounttab, we do nothing. + if [ -f /var/db/mounttab ]; then + rpc.umntall -k + fi + + ;; + esac + + case ${rwhod_enable} in + [Yy][Ee][Ss]) + echo -n ' rwhod'; rwhod ${rwhod_flags} + ;; + esac + + # Kerberos servers run ONLY on the Kerberos server machine + case ${kerberos4_server_enable} in + [Yy][Ee][Ss]) + case ${kerberos_stash} in + [Yy][Ee][Ss]) + stash=-n + ;; + *) + stash= + ;; + esac + + echo -n ' kerberosIV' + ${kerberos4_server} ${stash} >> /var/log/kerberos.log & + + case ${kadmind4_server_enable} in + [Yy][Ee][Ss]) + echo -n ' kadmindIV' + ( + sleep 20; + ${kadmind4_server} ${stash} >/dev/null 2>&1 & + ) & + ;; + esac + unset stash_flag + ;; + esac + + case ${kerberos5_server_enable} in + [Yy][Ee][Ss]) + echo -n ' kerberos5' + ${kerberos5_server} & + + case ${kadmind5_server_enable} in + [Yy][Ee][Ss]) + echo -n ' kadmind5' + ${kadmind5_server} & + ;; + esac + ;; + esac + + case ${pppoed_enable} in + [Yy][Ee][Ss]) + if [ -n "${pppoed_provider}" ]; then + pppoed_flags="${pppoed_flags} -p ${pppoed_provider}" + fi + echo -n ' pppoed'; + _opts=$-; set -f + /usr/libexec/pppoed ${pppoed_flags} ${pppoed_interface} + set +f; set -${_opts} + ;; + esac + + case ${sshd_enable} in + [Yy][Ee][Ss]) + if [ -x /usr/bin/ssh-keygen ]; then + if [ ! -f /etc/ssh/ssh_host_key ]; then + echo ' creating ssh1 RSA host key'; + /usr/bin/ssh-keygen -t rsa1 -N "" \ + -f /etc/ssh/ssh_host_key + fi + if [ ! -f /etc/ssh/ssh_host_rsa_key ]; then + echo ' creating ssh2 RSA host key'; + /usr/bin/ssh-keygen -t rsa -N "" \ + -f /etc/ssh/ssh_host_rsa_key + fi + if [ ! -f /etc/ssh/ssh_host_dsa_key ]; then + echo ' creating ssh2 DSA host key'; + /usr/bin/ssh-keygen -t dsa -N "" \ + -f /etc/ssh/ssh_host_dsa_key + fi + fi + ;; + esac + + echo '.' + network_pass3_done=YES +} + +network_pass4() { + echo -n 'Additional TCP options:' + case ${log_in_vain} in + [Nn][Oo] | '') + log_in_vain=0 + ;; + [Yy][Ee][Ss]) + log_in_vain=1 + ;; + [0-9]*) + ;; + *) + echo " invalid log_in_vain setting: ${log_in_vain}" + log_in_vain=0 + ;; + esac + + [ "${log_in_vain}" -ne 0 ] && ( + echo -n " log_in_vain=${log_in_vain}" + sysctl net.inet.tcp.log_in_vain="${log_in_vain}" >/dev/null + sysctl net.inet.udp.log_in_vain="${log_in_vain}" >/dev/null + ) + echo '.' + network_pass4_done=YES +} + +network_gif_setup() { + case ${gif_interfaces} in + [Nn][Oo] | '') + ;; + *) + for i in ${gif_interfaces}; do + eval peers=\$gifconfig_$i + case ${peers} in + '') + continue + ;; + *) + ifconfig $i create >/dev/null 2>&1 + ifconfig $i tunnel ${peers} + ;; + esac + done + ;; + esac +} + +convert_host_conf() { + host_conf=$1; shift; + nsswitch_conf=$1; shift; + awk ' \ + /^[:blank:]*#/ { next } \ + /(hosts|local|file)/ { nsswitch[c] = "files"; c++; next } \ + /(dns|bind)/ { nsswitch[c] = "dns"; c++; next } \ + /nis/ { nsswitch[c] = "nis"; c++; next } \ + { printf "Warning: unrecognized line [%s]", $0 > "/dev/stderr" } \ + END { \ + printf "hosts: "; \ + for (i in nsswitch) printf "%s ", nsswitch[i]; \ + printf "\n"; \ + }' < $host_conf > $nsswitch_conf +} + +generate_host_conf() { + nsswitch_conf=$1; shift; + host_conf=$1; shift; + + awk ' +BEGIN { + xlat["files"] = "hosts"; + xlat["dns"] = "bind"; + xlat["nis"] = "nis"; + cont = 0; +} +sub(/^[\t ]*hosts:/, "") || cont { + if (!cont) + srcs = "" + sub(/#.*/, "") + gsub(/[][]/, " & ") + cont = sub(/\\$/, "") + srcs = srcs " " $0 +} +END { + print "# Auto-generated from nsswitch.conf, do not edit" + ns = split(srcs, s) + for (n = 1; n <= ns; ++n) { + if (s[n] in xlat) + print xlat[s[n]] + } +} +' <$nsswitch_conf >$host_conf +} diff --git a/etc/rc.network6 b/etc/rc.network6 new file mode 100644 index 0000000..3e9a7c3 --- /dev/null +++ b/etc/rc.network6 @@ -0,0 +1,540 @@ +#! /bin/sh +# +# Copyright (c) 2000 The KAME Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Note that almost all of the user-configurable behavior is not in this +# file, but rather in /etc/defaults/rc.conf. Please check that file +# first before contemplating any changes here. If you do need to change +# this file for some reason, we would like to know about it. + +hexdigit () { + if [ $1 -lt 10 ]; then + echo $1 + else + case $1 in + 10) echo a ;; + 11) echo b ;; + 12) echo c ;; + 13) echo d ;; + 14) echo e ;; + 15) echo f ;; + esac + fi +} + +hexprint () { + val=$1 + str='' + + dig=`hexdigit $((${val} & 15))` + str=${dig}${str} + val=$((${val} >> 4)) + while [ ${val} -gt 0 ]; do + dig=`hexdigit $((${val} & 15))` + str=${dig}${str} + val=$((${val} >> 4)) + done + + echo ${str} +} + +# IPv6 startup + +network6_pass1() { + echo -n 'Doing IPv6 network setup:' + + # Initialize IP filtering using ip6fw + # + if /sbin/ip6fw -q flush > /dev/null 2>&1; then + ipv6_firewall_in_kernel=1 + else + ipv6_firewall_in_kernel=0 + fi + + case ${ipv6_firewall_enable} in + [Yy][Ee][Ss]) + if [ "${ipv6_firewall_in_kernel}" -eq 0 ] && kldload ip6fw; then + ipv6_firewall_in_kernel=1 + echo "Kernel IPv6 firewall module loaded." + elif [ "${ipv6_firewall_in_kernel}" -eq 0 ]; then + echo "Warning: IPv6 firewall kernel module failed to load." + fi + ;; + esac + + # Load the filters if required + # + case ${ipv6_firewall_in_kernel} in + 1) + if [ -z "${ipv6_firewall_script}" ]; then + ipv6_firewall_script=/etc/rc.firewall6 + fi + + case ${ipv6_firewall_enable} in + [Yy][Ee][Ss]) + if [ -r "${ipv6_firewall_script}" ]; then + . "${ipv6_firewall_script}" + echo -n 'IPv6 Firewall rules loaded.' + elif [ "`ip6fw l 65535`" = "65535 deny ipv6 from any to any" ]; then + echo -n "Warning: kernel has IPv6 firewall functionality, " + echo "but IPv6 firewall rules are not enabled." + echo " All ipv6 services are disabled." + fi + + case ${ipv6_firewall_logging} in + [Yy][Ee][Ss] | '') + echo 'IPv6 Firewall logging=YES' + sysctl net.inet6.ip6.fw.verbose=1 >/dev/null + ;; + *) + ;; + esac + + ;; + esac + ;; + esac + + case ${ipv6_network_interfaces} in + [Aa][Uu][Tt][Oo]) + # + # list of interfaces, and prefix for interfaces + # + ipv6_network_interfaces="`ifconfig -l`" + ;; + [Nn][Oo][Nn][Ee]) + ipv6_network_interfaces='' + ;; + esac + + # just to make sure + ifconfig lo0 up + + # disallow "internal" addresses to appear on the wire + route add -inet6 ::ffff:0.0.0.0 -prefixlen 96 ::1 -reject + route add -inet6 ::0.0.0.0 -prefixlen 96 ::1 -reject + + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + # act as a router + sysctl net.inet6.ip6.forwarding=1 + sysctl net.inet6.ip6.accept_rtadv=0 + + # wait for DAD + for i in $ipv6_network_interfaces; do + ifconfig $i up + done + sleep `sysctl -n net.inet6.ip6.dad_count` + sleep 1 + ;; + *) + # act as endhost - start with manual configuration + # Setup of net.inet6.ip6.accept_rtadv is done later by + # network6_interface_setup. + sysctl net.inet6.ip6.forwarding=0 + ;; + esac + + if [ -n "${ipv6_network_interfaces}" ]; then + # setting up interfaces + network6_interface_setup $ipv6_network_interfaces + + # wait for DAD's completion (for global addrs) + sleep `sysctl -n net.inet6.ip6.dad_count` + sleep 1 + fi + + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + # Filter out interfaces on which IPv6 addr init failed. + ipv6_working_interfaces="" + for i in ${ipv6_network_interfaces}; do + laddr=`network6_getladdr $i exclude_tentative` + case ${laddr} in + '') + ;; + *) + ipv6_working_interfaces="$i \ + ${ipv6_working_interfaces}" + ;; + esac + done + ipv6_network_interfaces=${ipv6_working_interfaces} + ;; + esac + + # 6to4 setup + network6_stf_setup + + # install the "default interface" to kernel, which will be used + # as the default route when there's no router. + network6_default_interface_setup + + # setup static routes + network6_static_routes_setup + + # setup faith + network6_faith_setup + + # ipv6_router + case ${ipv6_router_enable} in + [Yy][Ee][Ss]) + if [ -x ${ipv6_router} ]; then + echo -n " ${ipv6_router}" + ${ipv6_router} ${ipv6_router_flags} + fi + ;; + esac + + + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + # rtadvd + # This should enabled with a great care. + # You may want to fine-tune /etc/rtadvd.conf. + # + # And if you wish your rtadvd to receive and process + # router renumbering messages, specify your Router Renumbering + # security policy by -R option. + # + # See `man 3 ipsec_set_policy` for IPsec policy specification + # details. + # (CAUTION: This enables your routers prefix renumbering + # from another machine, so if you enable this, do it with + # enough care.) + # + case ${rtadvd_enable} in + [Yy][Ee][Ss]) + # default + case ${rtadvd_interfaces} in + '') + for i in ${ipv6_network_interfaces}; do + case $i in + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + continue + ;; + *) + rtadvd_interfaces="${rtadvd_interfaces} ${i}" + ;; + esac + done + ;; + esac + rtadvd ${rtadvd_interfaces} + # + # Enable Router Renumbering, unicast case + # (use correct src/dst addr) + # rtadvd -R "in ipsec ah/transport/fec0:0:0:1::1-fec0:0:0:10::1/require" \ + # ${ipv6_network_interfaces} + # Enable Router Renumbering, multicast case + # (use correct src addr) + # rtadvd -R "in ipsec ah/transport/ff05::2-fec0:0:0:10::1/require" \ + # ${ipv6_network_interfaces} + ;; + esac + + # mroute6d + case ${mroute6d_enable} in + [Yy][Ee][Ss]) + if [ -x ${mroute6d_program} ]; then + echo -n " ${mroute6d_program}" + ${mroute6d_program} ${mroute6d_flags} + fi + ;; + esac + ;; + esac + + case ${ipv6_ipv4mapping} in + [Yy][Ee][Ss]) + echo -n ' IPv4 mapped IPv6 address support=YES' + sysctl net.inet6.ip6.v6only=0 >/dev/null + ;; + '' | *) + echo -n ' IPv4 mapped IPv6 address support=NO' + sysctl net.inet6.ip6.v6only=1 >/dev/null + ;; + esac + + echo '.' + + # Let future generations know we made it. + # + network6_pass1_done=YES +} + +network6_interface_setup() { + interfaces=$* + rtsol_interfaces='' + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + rtsol_available=no + ;; + *) + rtsol_available=yes + ;; + esac + for i in $interfaces; do + rtsol_interface=yes + eval prefix=\$ipv6_prefix_$i + if [ -n "${prefix}" ]; then + rtsol_available=no + rtsol_interface=no + laddr=`network6_getladdr $i` + hostid=`expr "${laddr}" : 'fe80::\(.*\)%\(.*\)'` + for j in ${prefix}; do + address=$j\:${hostid} + ifconfig $i inet6 ${address} prefixlen 64 alias + + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + # subnet-router anycast address + # (rfc2373) + ifconfig $i inet6 $j:: prefixlen 64 \ + alias anycast + ;; + esac + done + fi + eval ipv6_ifconfig=\$ipv6_ifconfig_$i + if [ -n "${ipv6_ifconfig}" ]; then + rtsol_available=no + rtsol_interface=no + ifconfig $i inet6 ${ipv6_ifconfig} alias + fi + + if [ ${rtsol_available} = yes -a ${rtsol_interface} = yes ] + then + case ${i} in + lo0|gif[0-9]*|stf[0-9]*|faith[0-9]*|lp[0-9]*|sl[0-9]*|tun[0-9]*) + ;; + *) + rtsol_interfaces="${rtsol_interfaces} ${i}" + ;; + esac + else + ifconfig $i inet6 + fi + done + + if [ ${rtsol_available} = yes -a -n "${rtsol_interfaces}" ]; then + # Act as endhost - automatically configured. + # You can configure only single interface, as + # specification assumes that autoconfigured host has + # single interface only. + sysctl net.inet6.ip6.accept_rtadv=1 + set ${rtsol_interfaces} + ifconfig $1 up + rtsol $1 + fi + + for i in $interfaces; do + alias=0 + while : ; do + eval ipv6_ifconfig=\$ipv6_ifconfig_${i}_alias${alias} + if [ -z "${ipv6_ifconfig}" ]; then + break; + fi + ifconfig $i inet6 ${ipv6_ifconfig} alias + alias=$((${alias} + 1)) + done + done +} + +network6_stf_setup() { + case ${stf_interface_ipv4addr} in + [Nn][Oo] | '') + ;; + *) + # assign IPv6 addr and interface route for 6to4 interface + stf_prefixlen=$((16+${stf_interface_ipv4plen:-0})) + OIFS="$IFS" + IFS=".$IFS" + set ${stf_interface_ipv4addr} + IFS="$OIFS" + hexfrag1=`hexprint $(($1*256 + $2))` + hexfrag2=`hexprint $(($3*256 + $4))` + ipv4_in_hexformat="${hexfrag1}:${hexfrag2}" + case ${stf_interface_ipv6_ifid} in + [Aa][Uu][Tt][Oo] | '') + for i in ${ipv6_network_interfaces}; do + laddr=`network6_getladdr ${i}` + case ${laddr} in + '') + ;; + *) + break + ;; + esac + done + stf_interface_ipv6_ifid=`expr "${laddr}" : \ + 'fe80::\(.*\)%\(.*\)'` + case ${stf_interface_ipv6_ifid} in + '') + stf_interface_ipv6_ifid=0:0:0:1 + ;; + esac + ;; + esac + ifconfig stf0 create >/dev/null 2>&1 + ifconfig stf0 inet6 2002:${ipv4_in_hexformat}:${stf_interface_ipv6_slaid:-0}:${stf_interface_ipv6_ifid} \ + prefixlen ${stf_prefixlen} + # disallow packets to malicious 6to4 prefix + route add -inet6 2002:e000:: -prefixlen 20 ::1 -reject + route add -inet6 2002:7f00:: -prefixlen 24 ::1 -reject + route add -inet6 2002:0000:: -prefixlen 24 ::1 -reject + route add -inet6 2002:ff00:: -prefixlen 24 ::1 -reject + ;; + esac +} + +network6_static_routes_setup() { + # Set up any static routes. + case ${ipv6_defaultrouter} in + [Nn][Oo] | '') + ;; + *) + ipv6_static_routes="default ${ipv6_static_routes}" + ipv6_route_default="default ${ipv6_defaultrouter}" + ;; + esac + case ${ipv6_static_routes} in + [Nn][Oo] | '') + ;; + *) + for i in ${ipv6_static_routes}; do + eval ipv6_route_args=\$ipv6_route_${i} + route add -inet6 ${ipv6_route_args} + done + ;; + esac +} + +network6_faith_setup() { + case ${ipv6_faith_prefix} in + [Nn][Oo] | '') + ;; + *) + sysctl net.inet6.ip6.keepfaith=1 + ifconfig faith0 create >/dev/null 2>&1 + ifconfig faith0 up + for prefix in ${ipv6_faith_prefix}; do + prefixlen=`expr "${prefix}" : ".*/\(.*\)"` + case ${prefixlen} in + '') + prefixlen=96 + ;; + *) + prefix=`expr "${prefix}" : \ + "\(.*\)/${prefixlen}"` + ;; + esac + route add -inet6 ${prefix} -prefixlen ${prefixlen} ::1 + route change -inet6 ${prefix} -prefixlen ${prefixlen} \ + -ifp faith0 + done + ;; + esac +} + +network6_default_interface_setup() { + # Choose IPv6 default interface if it is not clearly specified. + case ${ipv6_default_interface} in + '') + for i in ${ipv6_network_interfaces}; do + case $i in + lo0|faith[0-9]*) + continue + ;; + esac + laddr=`network6_getladdr $i exclude_tentative` + case ${laddr} in + '') + ;; + *) + ipv6_default_interface=$i + break + ;; + esac + done + ;; + esac + + # Disallow unicast packets without outgoing scope identifiers, + # or route such packets to a "default" interface, if it is specified. + route add -inet6 fe80:: -prefixlen 10 ::1 -reject + case ${ipv6_default_interface} in + [Nn][Oo] | '') + route add -inet6 ff02:: -prefixlen 16 ::1 -reject + ;; + *) + laddr=`network6_getladdr ${ipv6_default_interface}` + route add -inet6 ff02:: ${laddr} -prefixlen 16 -interface \ + -cloning + + # Disable installing the default interface with the + # case net.inet6.ip6.forwarding=0 and + # net.inet6.ip6.accept_rtadv=0, due to avoid conflict + # between the default router list and the manual + # configured default route. + case ${ipv6_gateway_enable} in + [Yy][Ee][Ss]) + ;; + *) + if [ `sysctl -n net.inet6.ip6.accept_rtadv` -eq 1 ] + then + ndp -I ${ipv6_default_interface} + fi + ;; + esac + ;; + esac +} + +network6_getladdr() { + ifconfig $1 2>/dev/null | while read proto addr rest; do + case ${proto} in + inet6) + case ${addr} in + fe80::*) + if [ -z "$2" ]; then + echo ${addr} + return + fi + case ${rest} in + *tentative*) + continue + ;; + *) + echo ${addr} + return + esac + esac + esac + done +} diff --git a/etc/rc.pccard b/etc/rc.pccard new file mode 100644 index 0000000..9152e82 --- /dev/null +++ b/etc/rc.pccard @@ -0,0 +1,56 @@ +#!/bin/sh - +# +# Copyright (c) 1996 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# PC-card startup script + +case ${pccard_enable} in +[Yy][Ee][Ss]) + echo -n 'Setup PC-CARD:' + + case ${pccard_mem} in + [Dd][Ee][Ff][Aa][Uu][Ll][Tt]) + pccardc pccardmem 0xd0000 1>/dev/null && echo -n ' memory' + ;; + *) + pccardc pccardmem ${pccard_mem} 1>/dev/null && echo -n ' memory' + ;; + esac + + if [ -n "${pccard_beep}" ] ; then + pccardc beep ${pccard_beep} && echo -n ' beep' + fi + + if [ -n "${pccard_conf}" ]; then + pccardd_flags="${pccardd_flags} -f ${pccard_conf}" + fi + + pccardd ${pccardd_flags} && echo -n ' pccardd' + echo '.' + ;; +esac diff --git a/etc/rc.resume b/etc/rc.resume new file mode 100755 index 0000000..ee1b82c --- /dev/null +++ b/etc/rc.resume @@ -0,0 +1,46 @@ +#!/bin/sh +# +# Copyright (c) 1999 Mitsuru IWASAKI +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# sample run command file for APM Resume Event + +if [ -r /var/run/rc.suspend.pid ]; then + kill -9 `cat /var/run/rc.suspend.pid` + rm -f /var/run/rc.suspend.pid + echo 'rc.suspend is killed' +fi + +# Turns on a power supply of a card in the slot inactivated. +# See also contrib/pccardq.c (only for PAO users). +# pccardq | awk -F '~' '$5 == "inactive" \ +# { printf("pccardc power %d 1", $1); }' | sh + +logger -t apmd resumed at `date +'%Y%m%d %H:%M:%S'` +sync && sync && sync + +exit 0 diff --git a/etc/rc.sendmail b/etc/rc.sendmail new file mode 100644 index 0000000..74dde31 --- /dev/null +++ b/etc/rc.sendmail @@ -0,0 +1,194 @@ +#!/bin/sh + +# +# Copyright (c) 2002 Gregory Neil Shapiro. All Rights Reserved. +# Copyright (c) 2000, 2002 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# This script is used by /etc/rc at boot time to start sendmail. It +# is meant to be sendmail specific and not a generic script for all +# MTAs. It is only called by /etc/rc if the rc.conf mta_start_script is +# set to /etc/rc.sendmail. This provides the opportunity for other MTAs +# to provide their own startup script. + +# The script is also used by /etc/mail/Makefile to enable the +# start/stop/restart targets. + +# The source for the script can be found in src/etc/sendmail/rc.sendmail. + +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +# The sendmail binary +sendmail_program=${sendmail_program:-/usr/sbin/sendmail} + +# The pid is used to stop and restart the running daemon(s). +sendmail_pidfile=${sendmail_pidfile:-/var/run/sendmail.pid} +sendmail_mspq_pidfile=${sendmail_mspq_pidfile:-/var/spool/clientmqueue/sm-client.pid} + +start_mta() +{ + case ${sendmail_enable} in + [Nn][Oo][Nn][Ee]) + ;; + [Yy][Ee][Ss]) + echo -n ' sendmail' + ${sendmail_program} ${sendmail_flags} + ;; + *) + case ${sendmail_submit_enable} in + [Yy][Ee][Ss]) + echo -n ' sendmail-submit' + ${sendmail_program} ${sendmail_submit_flags} + ;; + *) + case ${sendmail_outbound_enable} in + [Yy][Ee][Ss]) + echo -n ' sendmail-outbound' + ${sendmail_program} ${sendmail_outbound_flags} + ;; + esac + ;; + esac + ;; + esac +} + +stop_mta() +{ + if [ -r ${sendmail_pidfile} ]; then + echo -n ' sendmail' + kill -TERM `head -1 ${sendmail_pidfile}` + else + echo "$0: stop-mta: ${sendmail_pidfile} not found" + fi +} + +restart_mta() +{ + if [ -r ${sendmail_pidfile} ]; then + echo -n ' sendmail' + kill -HUP `head -1 ${sendmail_pidfile}` + else + echo "$0: restart-mta: ${sendmail_pidfile} not found" + fi +} + +start_mspq() +{ + case ${sendmail_enable} in + [Nn][Oo][Nn][Ee]) + ;; + *) + if [ -r /etc/mail/submit.cf ]; then + case ${sendmail_msp_queue_enable} in + [Yy][Ee][Ss]) + echo -n ' sendmail-clientmqueue' + ${sendmail_program} ${sendmail_msp_queue_flags} + ;; + esac + fi + ;; + esac +} + +stop_mspq() +{ + if [ -r ${sendmail_mspq_pidfile} ]; then + echo -n ' sendmail-clientmqueue' + kill -TERM `head -1 ${sendmail_mspq_pidfile}` + else + echo "$0: stop-mspq: ${sendmail_mspq_pidfile} not found" + fi +} + +restart_mspq() +{ + if [ -r ${sendmail_mspq_pidfile} ]; then + echo -n ' sendmail-clientmqueue' + kill -HUP `head -1 ${sendmail_mspq_pidfile}` + else + echo "$0: restart-mspq: ${sendmail_mspq_pidfile} not found" + fi +} + +# If no argument is given, assume we are being called at boot time. +_action=${1:-start} + +case ${_action} in +start) + start_mta + start_mspq + ;; + +stop) + stop_mta + stop_mspq + ;; + +restart) + restart_mta + restart_mspq + ;; + +start-mta) + start_mta + ;; + +stop-mta) + stop_mta + ;; + +restart-mta) + restart_mta + ;; + +start-mspq) + start_mspq + ;; + +stop-mspq) + stop_mspq + ;; + +restart-mspq) + restart_mspq + ;; + +*) + echo "usage: `basename $0` {start|stop|restart}" >&2 + echo " `basename $0` {start-mta|stop-mta|restart-mta}" >&2 + echo " `basename $0` {start-mspq|stop-mspq|restart-mspq}" >&2 + exit 64 + ;; + +esac +exit 0 diff --git a/etc/rc.serial b/etc/rc.serial new file mode 100644 index 0000000..13edd2a --- /dev/null +++ b/etc/rc.serial @@ -0,0 +1,153 @@ +#!/bin/sh +# +# Copyright (c) 1996 Andrey A. Chernov +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Change some defaults for serial devices. +# Standard defaults are: +# dtrwait 300 drainwait 0 +# initial cflag from <sys/ttydefaults.h> = cread cs8 hupcl +# initial iflag, lflag and oflag all 0 +# speed 9600 +# special chars from <sys/ttydefaults.h> +# nothing locked +# except for serial consoles the initial iflag, lflag and oflag are from +# <sys/ttydefaults.h> and clocal is locked on. + +default() { + # Reset everything changed by the other functions to initial defaults. + + ci=$1; shift # call in device identifier + co=$1; shift # call out device identifier + + for i in $* + do + comcontrol /dev/tty${ci}${i} dtrwait 300 drainwait 300 + stty < /dev/ttyi${ci}${i} -clocal crtscts hupcl 9600 reprint ^R + stty < /dev/ttyl${ci}${i} -clocal -crtscts -hupcl 0 + stty < /dev/cuai${co}${i} -clocal crtscts hupcl 9600 reprint ^R + stty < /dev/cual${co}${i} -clocal -crtscts -hupcl 0 + done +} + +maybe() { + # Special settings. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # Don't use ^R; it breaks bash's ^R when typed ahead. + stty < /dev/ttyi${ci}${i} reprint undef + stty < /dev/cuai${co}${i} reprint undef + # Lock clocal off on dialin device for security. + stty < /dev/ttyl${ci}${i} clocal + # Lock the speeds to use old binaries that don't support them. + # Any legal speed works to lock the initial speed. + stty < /dev/ttyl${ci}${i} 300 + stty < /dev/cual${co}${i} 300 + done +} + +modem() { + # Modem that supports CTS and perhaps RTS handshaking. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # may depend on modem + comcontrol /dev/tty${ci}${i} dtrwait 100 drainwait 180 + # Lock crtscts on. + # Speed reasonable for V42bis. + stty < /dev/ttyi${ci}${i} crtscts 57600 + stty < /dev/ttyl${ci}${i} crtscts + stty < /dev/cuai${co}${i} crtscts 57600 + stty < /dev/cual${co}${i} crtscts + done +} + +mouse() { + # Mouse on either callin or callout port. + + ci=$1; shift + co=$1; shift + + for i in $* + do + # Lock clocal on, hupcl off. + # Standard speed for Microsoft mouse. + stty < /dev/ttyi${ci}${i} clocal -hupcl 1200 + stty < /dev/ttyl${ci}${i} clocal hupcl + stty < /dev/cuai${co}${i} clocal -hupcl 1200 + stty < /dev/cual${co}${i} clocal hupcl + done +} + +terminal() { + # Terminal that supports CTS and perhaps RTS handshaking + # with the cable or terminal arranged so that DCD is on + # at least while the terminal is on. + # Also works for bidirectional communications to another pc + # provided at most one side runs getty. + # Same as modem() except we want a faster speed and no dtrwait. + + ci=$1; shift + co=$1; shift + + modem ${ci} ${co} $* + for i in $* + do + comcontrol /dev/tty${ci}${i} dtrwait 0 + stty < /dev/ttyi${ci}${i} 115200 + stty < /dev/cuai${co}${i} 115200 + done +} + +# Don't use anything from this file unless you have some buggy programs +# that require it. + +# Edit the functions and the examples to suit your system. +# $1 is the call in device identifier, $2 is the call out device identifier +# and the remainder of the line lists the device numbers. + +# Initialize assorted 8250-16550 (sio) ports. +# maybe d a 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v +# mouse d a 2 +# modem d a 1 +# terminal d a 0 + +# Initialize all ports on a Cyclades-8yo. +# modem c c 00 01 02 03 04 05 06 07 + +# Initialize all ports on a Cyclades-16ye. +# modem c c 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f + +# Initialize all ports on a Digiboard 8. +# modem D D 00 01 02 03 04 05 06 07 diff --git a/etc/rc.shutdown b/etc/rc.shutdown new file mode 100644 index 0000000..0f4bd3d --- /dev/null +++ b/etc/rc.shutdown @@ -0,0 +1,207 @@ +#!/bin/sh +# +# Copyright (c) 1997 Ollivier Robert +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# Site-specific closing actions for daemons run by init on shutdown, +# or before going single-user from multi-user. +# Output and errors are directed to console by init, and the +# console is the controlling terminal. + +stty status '^T' + +# Set shell to ignore SIGINT (2), but not children; +# shell catches SIGQUIT (3) and returns to single user after fsck. +trap : 2 +trap : 3 # shouldn't be needed + +HOME=/ +PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin +export HOME PATH + +# If there is a global system configuration file, suck it in. +# XXX - It's only purpose is to catch rc_ng="YES". +# +if [ -r /etc/defaults/rc.conf ]; then + . /etc/defaults/rc.conf + source_rc_confs +elif [ -r /etc/rc.conf ]; then + . /etc/rc.conf +fi + +case ${rc_ng} in +[Yy][Ee][Ss]) + . /etc/rc.subr + + load_rc_config 'XXX' + + # If requested, start a watchdog timer in the background which + # will terminate rc.shutdown if rc.shutdown doesn't complete + # within the specified time. + # + _rcshutdown_watchdog= + if [ -n "$rcshutdown_timeout" ]; then + debug "Initiating watchdog timer." + sleep $rcshutdown_timeout && ( + _msg="$rcshutdown_timeout second watchdog" \ + " timeout expired. Shutdown terminated." + logger -t rc.shutdown "$_msg" + echo "$_msg" + date + kill -KILL $$ >/dev/null 2>&1 + ) & + _rcshutdown_watchdog=$! + fi + + # Determine the shutdown order of the /etc/rc.d scripts, + # and perform the operation + # XXX - rcorder(8) with multiple -k switches works as a logical OR, + # so, we can't do this: rcorder -k shutdown -k FreeBSD. + # + files=`eval grep -l \'^# KEYWORD:.*FreeBSD\' \`rcorder -k shutdown /etc/rc.d/*\`` + + for _rc_elem in `reverse_list $files`; do + debug "run_rc_script $_rc_elem stop" + run_rc_script $_rc_elem stop + done + + # Terminate the background watchdog timer (if it is running) + # + if [ -n "$_rcshutdown_watchdog" ]; then + kill -TERM $_rcshutdown_watchdog >/dev/null 2>&1 + fi + + echo '.' + exit 0 + ;; +*) + # fall-through to the old rc scripts + ;; +esac + +# reverse_list list +# print the list in reverse order +# +reverse_list() +{ + _revlist= + for _revfile in $*; do + _revlist="$_revfile${script_name_sep}$_revlist" + done + echo $_revlist +} + +# Write some entropy so the rebooting /dev/random can reseed +# +case ${entropy_file} in +[Nn][Oo] | '') + ;; +*) + echo -n 'Writing entropy file:' + rm -f ${entropy_file} + oumask=`umask` + umask 077 + if touch ${entropy_file} ; then + entropy_file_confirmed="${entropy_file}" + else + # Try this as a reasonable alternative for read-only + # roots, diskless workstations, etc. + rm -f /var/db/entropy + if touch /var/db/entropy ; then + entropy_file_confirmed=/var/db/entropy + fi + fi + case ${entropy_file_confirmed} in + '') + echo ' ERROR - entropy file write failed' + ;; + *) + dd if=/dev/random of=${entropy_file_confirmed} \ + bs=4096 count=1 2> /dev/null + echo '.' + ;; + esac + umask ${oumask} + ;; +esac + +# Check if /var/db/mounttab is clean. +case $1 in +reboot) + if [ -f /var/db/mounttab ]; then + rpc.umntall + fi + ;; +esac + +echo -n 'Shutting down daemon processes:' + +# for each valid dir in $local_startup, search for init scripts matching *.sh +case ${local_startup} in +[Nn][Oo] | '') + ;; +*) + slist="" + if [ -z "${script_name_sep}" ]; then + script_name_sep=" " + fi + for dir in ${local_startup}; do + if [ -d "${dir}" ]; then + for script in ${dir}/*.sh; do + slist="${slist}${script_name_sep}${script}" + done + fi + done + script_save_sep="$IFS" + IFS="${script_name_sep}" + for script in `reverse_list ${slist}`; do + if [ -x "${script}" ]; then + (set -T + trap 'exit 1' 2 + ${script} stop) + fi + done + IFS="${script_save_sep}" + echo '.' + ;; +esac + +# Insert other shutdown procedures here + +# Saving firewall state tables should be done last +echo -n 'Saving firewall state tables:' + +# Save IP-filter state tables +case ${ipfs_enable} in +[Yy][Ee][Ss]) + echo -n ' ipfs' + ${ipfs_program:-/sbin/ipfs} -W ${ipfs_flags} + ;; +esac + +echo '.' +exit 0 diff --git a/etc/rc.subr b/etc/rc.subr new file mode 100644 index 0000000..d2b178d --- /dev/null +++ b/etc/rc.subr @@ -0,0 +1,1000 @@ +# $NetBSD: rc.subr,v 1.49 2002/05/21 12:31:01 lukem Exp $ +# $FreeBSD$ +# +# Copyright (c) 1997-2002 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Luke Mewburn. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the NetBSD +# Foundation, Inc. and its contributors. +# 4. Neither the name of The NetBSD Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# rc.subr +# functions used by various rc scripts +# + +# +# Operating System dependent/independent variables +# + +SYSCTL="/sbin/sysctl" +SYSCTL_N="${SYSCTL} -n" +CMD_OSTYPE="${SYSCTL_N} kern.ostype" + +case `${CMD_OSTYPE}` in +FreeBSD) + SYSCTL_W="${SYSCTL}" + ;; +NetBSD) + SYSCTL_W="${SYSCTL} -w" + ;; +esac + +# +# functions +# --------- + +# +# set_rcvar base_var +# Set the variable name enabling a specific service. +# FreeBSD uses ${service}_enable, while NetBSD uses +# just the name of the service. For example: +# FreeBSD: sendmail_enable="YES" +# NetBSD : sendmail="YES" +# $1 - if $name is not the base to work of off, specify +# a different one +# +set_rcvar() +{ + if [ -z "$1" ]; then + base_var=${name} + else + base_var="$1" + fi + + case `${CMD_OSTYPE}` in + FreeBSD) + echo ${base_var}_enable + ;; + NetBSD) + echo ${base_var} + ;; + *) + echo 'XXX' + ;; + esac +} + +# +# force_depend script +# Force a service to start. Intended for use by services +# to resolve dependency issues. It is assumed the caller +# has check to make sure this call is necessary +# $1 - filename of script, in /etc/rc.d, to run +# +force_depend() +{ + _depend="$1" + + info "${name} depends on ${_depend}, which will be forced to start." + if ! /etc/rc.d/${_depend} forcestart ; then + warn "Unable to force ${_depend}. It may already be running." + return 1 + fi + return 0 +} + +# +# checkyesno var +# Test $1 variable, and warn if not set to YES or NO. +# Return 0 if it's "yes" (et al), nonzero otherwise. +# +checkyesno() +{ + eval _value=\$${1} + debug "checkyesno: $1 is set to $_value." + case $_value in + + # "yes", "true", "on", or "1" + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + return 0 + ;; + + # "no", "false", "off", or "0" + [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) + return 1 + ;; + *) + warn "\$${1} is not set properly." + return 1 + ;; + esac +} + +# reverse_list list +# print the list in reverse order +# +reverse_list() +{ + _revlist= + for _revfile in $*; do + _revlist="$_revfile $_revlist" + done + echo $_revlist +} + +# +# mount_critical_filesystems type +# Go through the list of critical filesystems as provided in +# the rc.conf(5) variable $critical_filesystems_${type}, checking +# each one to see if it is mounted, and if it is not, mounting it. +# +mount_critical_filesystems() +{ + eval _fslist=\$critical_filesystems_${1} + for _fs in $_fslist; do + mount | ( + _ismounted=no + while read what _on on _type type; do + if [ $on = $_fs ]; then + _ismounted=yes + fi + done + if [ $_ismounted = no ]; then + mount $_fs >/dev/null 2>&1 + fi + ) + done +} + +# +# check_pidfile pidfile procname [interpreter] +# Parses the first line of pidfile for a PID, and ensures +# that the process is running and matches procname. +# Prints the matching PID upon success, nothing otherwise. +# interpreter is optional; see _find_processes() for details. +# +check_pidfile() +{ + _pidfile=$1 + _procname=$2 + _interpreter=$3 + if [ -z "$_pidfile" -o -z "$_procname" ]; then + err 3 'USAGE: check_pidfile pidfile procname [interpreter]' + fi + if [ ! -f $_pidfile ]; then + debug "pid file {$_pidfile): not readable." + return + fi + read _pid _junk < $_pidfile + if [ -z "$_pid" ]; then + debug "pid file {$_pidfile): no pid in file." + return + fi + _find_processes $_procname ${_interpreter:-.} '-p '"$_pid" +} + +# +# check_process procname [interpreter] +# Ensures that a process (or processes) named procname is running. +# Prints a list of matching PIDs. +# interpreter is optional; see _find_processes() for details. +# +check_process() +{ + _procname=$1 + _interpreter=$2 + if [ -z "$_procname" ]; then + err 3 'USAGE: check_process procname [interpreter]' + fi + _find_processes $_procname ${_interpreter:-.} '-ax' +} + +# +# _find_processes procname interpreter psargs +# Search for procname in the output of ps generated by psargs. +# Prints the PIDs of any matching processes, space separated. +# +# If interpreter == ".", check the following variations of procname +# against the first word of each command: +# procname +# `basename procname` +# `basename procname` + ":" +# "(" + `basename procname` + ")" +# +# If interpreter != ".", read the first line of procname, remove the +# leading #!, normalise whitespace, append procname, and attempt to +# match that against each command, either as is, or with extra words +# at the end. +# +_find_processes() +{ + if [ $# -ne 3 ]; then + err 3 'USAGE: _find_processes procname interpreter psargs' + fi + _procname=$1 + _interpreter=$2 + _psargs=$3 + + _pref= + if [ $_interpreter != "." ]; then # an interpreted script + read _interp < $_procname # read interpreter name + _interp=${_interp#\#!} # strip #! + set -- $_interp + if [ $_interpreter != $1 ]; then + warn "\$command_interpreter $_interpreter != $1" + fi + _interp="$* $_procname" # cleanup spaces, add _procname + _fp_args='_argv' + _fp_match='case "$_argv" in + ${_interp}|"${_interp} "*)' + else # a normal daemon + _procnamebn=${_procname##*/} + _fp_args='_arg0 _argv' + _fp_match='case "$_arg0" in + $_procname|$_procnamebn|${_procnamebn}:|"(${_procnamebn})")' + fi + + _proccheck=' + ps -o "pid,command" '"$_psargs"' | + while read _npid '"$_fp_args"'; do + case "$_npid" in + PID) + continue ;; + esac ; '"$_fp_match"' + echo -n "$_pref$_npid" ; + _pref=" " + ;; + esac + done' + + debug "in _find_processes: proccheck is ($_proccheck)." + eval $_proccheck +} + +# +# wait_for_pids pid [pid ...] +# spins until none of the pids exist +# +wait_for_pids() +{ + _list=$* + if [ -z "$_list" ]; then + return + fi + _prefix= + while true; do + _nlist=""; + for _j in $_list; do + if kill -0 $_j 2>/dev/null; then + _nlist="${_nlist}${_nlist:+ }$_j" + fi + done + if [ -z "$_nlist" ]; then + break + fi + _list=$_nlist + echo -n ${_prefix:-"Waiting for PIDS: "}$_list + _prefix=", " + sleep 2 + done + if [ -n "$_prefix" ]; then + echo "." + fi +} + +# +# run_rc_command argument +# Search for argument in the list of supported commands, which is: +# "start stop restart rcvar status poll ${extra_commands}" +# If there's a match, run ${argument}_cmd or the default method +# (see below). +# +# If argument has a given prefix, then change the operation as follows: +# Prefix Operation +# ------ --------- +# fast Skip the pid check, and set rc_fast=yes +# force Set ${rcvar} to YES, and set rc_force=yes +# +# The following globals are used: +# +# Name Needed Purpose +# ---- ------ ------- +# name y Name of script. +# +# command n Full path to command. +# Not needed if ${rc_arg}_cmd is set for +# each keyword. +# +# command_args n Optional args/shell directives for command. +# +# command_interpreter n If not empty, command is interpreted, so +# call check_{pidfile,process}() appropriately. +# +# extra_commands n List of extra commands supported. +# +# pidfile n If set, use check_pidfile $pidfile $command, +# otherwise use check_process $command. +# In either case, only check if $command is set. +# +# procname n Process name to check for instead of $command. +# +# rcvar n This is checked with checkyesno to determine +# if the action should be run. +# +# ${name}_chroot n Directory to chroot to before running ${command} +# Requires /usr to be mounted. +# +# ${name}_chdir n Directory to cd to before running ${command} +# (if not using ${name}_chroot). +# +# ${name}_flags n Arguments to call ${command} with. +# NOTE: $flags from the parent environment +# can be used to override this. +# +# ${name}_nice n Nice level to run ${command} at. +# +# ${name}_user n User to run ${command} as, using su(1) if not +# using ${name}_chroot. +# Requires /usr to be mounted. +# +# ${name}_group n Group to run chrooted ${command} as. +# Requires /usr to be mounted. +# +# ${name}_groups n Comma separated list of supplementary groups +# to run the chrooted ${command} with. +# Requires /usr to be mounted. +# +# ${rc_arg}_cmd n If set, use this as the method when invoked; +# Otherwise, use default command (see below) +# +# ${rc_arg}_precmd n If set, run just before performing the +# ${rc_arg}_cmd method in the default +# operation (i.e, after checking for required +# bits and process (non)existence). +# If this completes with a non-zero exit code, +# don't run ${rc_arg}_cmd. +# +# ${rc_arg}_postcmd n If set, run just after performing the +# ${rc_arg}_cmd method, if that method +# returned a zero exit code. +# +# required_dirs n If set, check for the existence of the given +# directories before running the default +# (re)start command. +# +# required_files n If set, check for the readability of the given +# files before running the default (re)start +# command. +# +# required_vars n If set, perform checkyesno on each of the +# listed variables before running the default +# (re)start command. +# +# Default behaviour for a given argument, if no override method is +# provided: +# +# Argument Default behaviour +# -------- ----------------- +# start if !running && checkyesno ${rcvar} +# ${command} +# +# stop if ${pidfile} +# rc_pid=$(check_pidfile $pidfile $command) +# else +# rc_pid=$(check_process $command) +# kill $sig_stop $rc_pid +# wait_for_pids $rc_pid +# ($sig_stop defaults to TERM.) +# +# reload Similar to stop, except use $sig_reload instead, +# and doesn't wait_for_pids. +# $sig_reload defaults to HUP. +# +# restart Run `stop' then `start'. +# +# status Show if ${command} is running, etc. +# +# poll Wait for ${command} to exit. +# +# rcvar Display what rc.conf variable is used (if any). +# +# Variables available to methods, and after run_rc_command() has +# completed: +# +# Variable Purpose +# -------- ------- +# rc_arg Argument to command, after fast/force processing +# performed +# +# rc_flags Flags to start the default command with. +# Defaults to ${name}_flags, unless overridden +# by $flags from the environment. +# This variable may be changed by the precmd method. +# +# rc_pid PID of command (if appropriate) +# +# rc_fast Not empty if "fast" was provided (q.v.) +# +# rc_force Not empty if "force" was provided (q.v.) +# +# +run_rc_command() +{ + rc_arg=$1 + if [ -z "$name" ]; then + err 3 'run_rc_command: $name is not set.' + fi + + case "$rc_arg" in + fast*) # "fast" prefix; don't check pid + rc_arg=${rc_arg#fast} + rc_fast=yes + ;; + force*) # "force prefix; always start + rc_arg=${rc_arg#force} + rc_force=yes + if [ -n "${rcvar}" ]; then + eval ${rcvar}=YES + fi + ;; + esac + + eval _overide_command=\$${name}_program + if [ -n "$_overide_command" ]; then + command=$_overide_command + fi + + _keywords="start stop restart rcvar $extra_commands" + rc_pid= + _pidcmd= + _procname=${procname:-${command}} + + # setup pid check command if not fast + if [ -z "$rc_fast" -a -n "$_procname" ]; then + if [ -n "$pidfile" ]; then + _pidcmd='rc_pid=$(check_pidfile '"$pidfile $_procname $command_interpreter"')' + else + _pidcmd='rc_pid=$(check_process '"$_procname $command_interpreter"')' + fi + if [ -n "$_pidcmd" ]; then + _keywords="${_keywords} status poll" + fi + fi + + if [ -z "$rc_arg" ]; then + rc_usage "$_keywords" + fi + + if [ -n "$flags" ]; then # allow override from environment + rc_flags=$flags + else + eval rc_flags=\$${name}_flags + fi + eval _chdir=\$${name}_chdir _chroot=\$${name}_chroot \ + _nice=\$${name}_nice _user=\$${name}_user \ + _group=\$${name}_group _groups=\$${name}_groups + + if [ -n "$_user" ]; then # unset $_user if running as that user + if [ "$_user" = "$(id -un)" ]; then + unset _user + fi + fi + + # if ${rcvar} is set, and $1 is not + # "rcvar", then run + # checkyesno ${rcvar} + # and return if that failed + # + if [ -n "${rcvar}" -a "$rc_arg" != "rcvar" ]; then + if ! checkyesno ${rcvar}; then + return 0 + fi + fi + + eval $_pidcmd # determine the pid if necessary + + for _elem in $_keywords; do + if [ "$_elem" != "$rc_arg" ]; then + continue + fi + + # if there's a custom ${XXX_cmd}, + # run that instead of the default + # + eval _cmd=\$${rc_arg}_cmd _precmd=\$${rc_arg}_precmd \ + _postcmd=\$${rc_arg}_postcmd + if [ -n "$_cmd" ]; then + debug "run_rc_command: using XXX_cmd functions." + # if the precmd failed and force + # isn't set, exit + # + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + + if ! eval $_cmd && [ -z "$rc_force" ]; then + return 1 + fi + eval $_postcmd + return 0 + fi + + case "$rc_arg" in # default operations... + + status) + if [ -n "$rc_pid" ]; then + echo "${name} is running as pid $rc_pid." + else + echo "${name} is not running." + return 1 + fi + ;; + + start) + if [ -n "$rc_pid" ]; then + echo "${name} already running? (pid=$rc_pid)." + exit 1 + fi + + if [ ! -x $command ]; then + info "run_rc_command: cannot run ($command)." + return 0 + fi + + # check for required variables, + # directories, and files + # + for _f in $required_vars; do + if ! checkyesno $_f; then + warn "\$${_f} is not set." + if [ -z "$rc_force" ]; then + return 1 + fi + fi + done + for _f in $required_dirs; do + if [ ! -d "${_f}/." ]; then + warn "${_f} is not a directory." + if [ -z "$rc_force" ]; then + return 1 + fi + fi + done + for _f in $required_files; do + if [ ! -r "${_f}" ]; then + warn "${_f} is not readable." + if [ -z "$rc_force" ]; then + return 1 + fi + fi + done + + # if the precmd failed and force + # isn't set, exit + # + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + + # setup the command to run, and run it + # + echo "Starting ${name}." + if [ -n "$_chroot" ]; then + _doit="\ +${_nice:+nice -n $_nice }\ +chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\ +$_chroot $command $rc_flags $command_args" + else + _doit="\ +${_chdir:+cd $_chdir; }\ +${_nice:+nice -n $_nice }\ +$command $rc_flags $command_args" + if [ -n "$_user" ]; then + _doit="su -m $_user -c 'sh -c \"$_doit\"'" + fi + fi + + # if the cmd failed and force + # isn't set, exit + # + debug "run_rc_command: _doit: $_doit" + if ! eval $_doit && [ -z "$rc_force" ]; then + return 1 + fi + + # finally, run postcmd + # + eval $_postcmd + ;; + + stop) + if [ -z "$rc_pid" ]; then + if [ -n "$pidfile" ]; then + echo \ + "${name} not running? (check $pidfile)." + else + echo "${name} not running?" + fi + exit 1 + fi + + # if the precmd failed and force + # isn't set, exit + # + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + + # send the signal to stop + # + echo "Stopping ${name}." + _doit="kill -${sig_stop:-TERM} $rc_pid" + if [ -n "$_user" ]; then + _doit="su -m $_user -c 'sh -c \"$_doit\"'" + fi + + # if the stop cmd failed and force + # isn't set, exit + # + if ! eval $_doit && [ -z "$rc_force" ]; then + return 1 + fi + + # wait for the command to exit, + # and run postcmd. + wait_for_pids $rc_pid + eval $_postcmd + ;; + + reload) + if [ -z "$rc_pid" ]; then + if [ -n "$pidfile" ]; then + echo \ + "${name} not running? (check $pidfile)." + else + echo "${name} not running?" + fi + exit 1 + fi + echo "Reloading ${name} config files." + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + _doit="kill -${sig_reload:-HUP} $rc_pid" + if [ -n "$_user" ]; then + _doit="su -m $_user -c 'sh -c \"$_doit\"'" + fi + if ! eval $_doit && [ -z "$rc_force" ]; then + return 1 + fi + eval $_postcmd + ;; + + restart) + if ! eval $_precmd && [ -z "$rc_force" ]; then + return 1 + fi + # prevent restart being called more + # than once by any given script + # + if [ -n "$_rc_restart_done" ]; then + return 0 + fi + _rc_restart_done=YES + + ( $0 ${rc_force:+force}stop ) + $0 ${rc_force:+force}start + + eval $_postcmd + ;; + + poll) + if [ -n "$rc_pid" ]; then + wait_for_pids $rc_pid + fi + ;; + + rcvar) + echo "# $name" + if [ -n "$rcvar" ]; then + if checkyesno ${rcvar}; then + echo "\$${rcvar}=YES" + else + echo "\$${rcvar}=NO" + fi + fi + ;; + + *) + rc_usage "$_keywords" + ;; + + esac + return 0 + done + + echo 1>&2 "$0: unknown directive '$rc_arg'." + rc_usage "$_keywords" + exit 1 +} + +# +# run_rc_script file arg +# Start the script `file' with `arg', and correctly handle the +# return value from the script. If `file' ends with `.sh', it's +# sourced into the current environment. If `file' appears to be +# a backup or scratch file, ignore it. Otherwise if it's +# executable run as a child process. +# +run_rc_script() +{ + _file=$1 + _arg=$2 + if [ -z "$_file" -o -z "$_arg" ]; then + err 3 'USAGE: run_rc_script file arg' + fi + + trap "echo 'Reboot interrupted'; exit 1" 3 + + unset name command command_args command_interpreter \ + extra_commands pidfile procname \ + rcvar required_dirs required_files required_vars + eval unset ${_arg}_cmd ${_arg}_precmd ${_arg}_postcmd + + case "$_file" in + *.sh) # run in current shell + set $_arg ; . $_file + ;; + *[~#]|*.OLD|*.orig) # scratch file; skip + warn "Ignoring scratch file $_file" + ;; + *) # run in subshell + if [ -x $_file ]; then + if [ -n "$rc_fast_and_loose" ]; then + set $_arg ; . $_file + else + ( trap "echo 'Reboot interrupted'; exit 1" 3 + set $_arg ; . $_file ) + fi + fi + ;; + esac +} + +# +# load_rc_config +# Source in the configuration file for a given command. +# +load_rc_config() +{ + _command=$1 + if [ -z "$_command" ]; then + err 3 'USAGE: load_rc_config command' + fi + + if [ -z "$_rc_conf_loaded" ]; then + if [ -r /etc/defaults/rc.conf ]; then + debug "Sourcing /etc/defaults/rc.conf" + . /etc/defaults/rc.conf + source_rc_confs + elif [ -r /etc/rc.conf ]; then + debug "Sourcing /etc/rc.conf (/etc/defaults/rc.conf doesn't exist)." + . /etc/rc.conf + fi + _rc_conf_loaded=YES + fi + if [ -f /etc/rc.conf.d/"$_command" ]; then + debug "Sourcing /etc/rc.conf.d/${_command}" + . /etc/rc.conf.d/"$_command" + fi + + # XXX - Deprecated variable name support + # + case `${CMD_OSTYPE}` in + FreeBSD) + [ -n "$portmap_enable" ] && rpcbind_enable="$portmap_enable" + [ -n "$portmap_program" ] && rpcbind_program="$portmap_program" + [ -n "$portmap_flags" ] && rpcbind_flags="$portmap_flags" + [ -n "$single_mountd_enable" ] && mountd_enable="$single_mountd_enable" + [ -n "$xntpd_enable" ] && ntpd_enable="$xntpd_enable" + [ -n "$xntpd_program" ] && ntpd_program="$xntpd_program" + [ -n "$xntpd_flags" ] && ntpd_flags="$xntpd_flags" + ;; + esac + +} + +# +# rc_usage commands +# Print a usage string for $0, with `commands' being a list of +# valid commands. +# +rc_usage() +{ + echo -n 1>&2 "usage: $0 [fast|force](" + + _sep= + for _elem in $*; do + echo -n 1>&2 "$_sep$_elem" + _sep="|" + done + echo 1>&2 ")" + exit 1 +} + +# +# _echo prefix message +# Display message preceded by "$prefix:". Log to syslog as well. +# XXX - syslogd may not be listening (especially if this subroutine +# is called at boot before syslogd has had a chance to startup). +# +_echo() +{ + [ -x /usr/bin/logger ] && /usr/bin/logger "$0: $1: $2" + echo "$0: $1: $2" +} + +# +# err exitval message +# Display message to stderr and log to the syslog, and exit with exitval. +# +err() +{ + exitval=$1 + shift + + _echo 1>&2 "ERROR" "$*" + exit $exitval +} + +# +# warn message +# Display message to stderr and log to the syslog. +# +warn() +{ + _echo 1>&2 "WARNING" "$*" +} + +# +# info message +# Display informational message to stdout and log to syslog. +# +info() +{ + _echo "INFO" "$*" +} + +# +# debug message +# If debugging is enabled in rc.conf output message to stderr and syslog. +# BEWARE that you don't call any subroutine that itself calls this +# function. +# +debug() +{ + # This subroutine is provided as a convenience to script writers, who + # should enable debugging in /etc/rc.conf. + # + [ -f /etc/rc.conf ] && . /etc/rc.conf + + case ${rc_debug} in + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) + _echo 1>&2 "DEBUG" "$*" + return + ;; + esac +} + +# +# backup_file action file cur backup +# Make a backup copy of `file' into `cur', and save the previous +# version of `cur' as `backup' or use rcs for archiving. +# +# This routine checks the value of the backup_uses_rcs variable, +# which can be either YES or NO. +# +# The `action' keyword can be one of the following: +# +# add `file' is now being backed up (and is possibly +# being reentered into the backups system). `cur' +# is created and RCS files, if necessary, are +# created as well. +# +# update `file' has changed and needs to be backed up. +# If `cur' exists, it is copied to to `back' or +# checked into RCS (if the repository file is old), +# and then `file' is copied to `cur'. Another RCS +# check in done here if RCS is being used. +# +# remove `file' is no longer being tracked by the backups +# system. If RCS is not being used, `cur' is moved +# to `back', otherwise an empty file is checked in, +# and then `cur' is removed. +# +# +backup_file() +{ + _action=$1 + _file=$2 + _cur=$3 + _back=$4 + + if checkyesno backup_uses_rcs; then + _msg0="backup archive" + _msg1="update" + + # ensure that history file is not locked + if [ -f $_cur,v ]; then + rcs -q -u -U -M $_cur + fi + + # ensure after switching to rcs that the + # current backup is not lost + if [ -f $_cur ]; then + # no archive, or current newer than archive + if [ ! -f $_cur,v -o $_cur -nt $_cur,v ]; then + ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur + rcs -q -kb -U $_cur + co -q -f -u $_cur + fi + fi + + case $_action in + add|update) + cp -p $_file $_cur + ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur + rcs -q -kb -U $_cur + co -q -f -u $_cur + chown root:wheel $_cur $_cur,v + ;; + remove) + cp /dev/null $_cur + ci -q -f -u -t-"$_msg0" -m"$_msg1" $_cur + rcs -q -kb -U $_cur + chown root:wheel $_cur $_cur,v + rm $_cur + ;; + esac + else + case $_action in + add|update) + if [ -f $_cur ]; then + cp -p $_cur $_back + fi + cp -p $_file $_cur + chown root:wheel $_cur + ;; + remove) + mv -f $_cur $_back + ;; + esac + fi +} diff --git a/etc/rc.suspend b/etc/rc.suspend new file mode 100755 index 0000000..8b3e4fa --- /dev/null +++ b/etc/rc.suspend @@ -0,0 +1,50 @@ +#!/bin/sh +# +# Copyright (c) 1999 Mitsuru IWASAKI +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# sample run command file for APM Suspend Event + +if [ -r /var/run/rc.suspend.pid ]; then + exit 1 +fi + +echo $$ > /var/run/rc.suspend.pid + +# If you have troubles on suspending with PC-CARD modem, try this. +# See also contrib/pccardq.c (Only for PAO users). +# pccardq | awk -F '~' '$5 == "filled" && $4 ~ /sio/ \ +# { printf("pccardc power %d 0", $1); }' | sh + +logger -t apmd suspend at `date +'%Y%m%d %H:%M:%S'` +sync && sync && sync +sleep 3 + +rm -f /var/run/rc.suspend.pid +zzz + +exit 0 diff --git a/etc/rc.syscons b/etc/rc.syscons new file mode 100644 index 0000000..6798b29 --- /dev/null +++ b/etc/rc.syscons @@ -0,0 +1,197 @@ +#!/bin/sh - +# +# Copyright (c) 2000 The FreeBSD Project +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# Do syscons configuration +# + +# stdin must be redirected because it might be for a serial console +# +kbddev=/dev/ttyv0 +viddev=/dev/ttyv0 + +# Handle diskless boots, and other situations where syscons is not present +# +if [ -c "${kbddev}" ]; then + +echo -n 'Configuring syscons:' + +# keymap +# +case ${keymap} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keymap'; kbdcontrol < ${kbddev} -l ${keymap} + ;; +esac + +# keyrate +# +case ${keyrate} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keyrate'; kbdcontrol < ${kbddev} -r ${keyrate} + ;; +esac + +# keybell +# +case ${keybell} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keybell'; kbdcontrol < ${kbddev} -b ${keybell} + ;; +esac + +# change function keys +# +case ${keychange} in +[Nn][Oo] | '') + ;; +*) + echo -n ' keychange' + set - ${keychange} + while [ $# -gt 0 ]; do + kbdcontrol <${kbddev} -f "$1" "$2" + shift; shift + done + ;; +esac + +# cursor type +# +case ${cursor} in +[Nn][Oo] | '') + ;; +*) + echo -n ' cursor'; vidcontrol < ${viddev} -c ${cursor} + ;; +esac + +# screen mapping +# +case ${scrnmap} in +[Nn][Oo] | '') + ;; +*) + echo -n ' scrnmap'; vidcontrol < ${viddev} -l ${scrnmap} + ;; +esac + +# font 8x16 +# +case ${font8x16} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x16'; vidcontrol < ${viddev} -f 8x16 ${font8x16} + ;; +esac + +# font 8x14 +# +case ${font8x14} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x14'; vidcontrol < ${viddev} -f 8x14 ${font8x14} + ;; +esac + +# font 8x8 +# +case ${font8x8} in +[Nn][Oo] | '') + ;; +*) + echo -n ' font8x8'; vidcontrol < ${viddev} -f 8x8 ${font8x8} + ;; +esac + +# blank time +# +case ${blanktime} in +[Nn][Oo] | '') + ;; +*) + echo -n ' blanktime'; vidcontrol < ${viddev} -t ${blanktime} + ;; +esac + +# screen saver +# +case ${saver} in +[Nn][Oo] | '') + ;; +*) + echo -n ' screensaver' + for i in `kldstat | awk '$5 ~ "^splash_.*$" { print $5 }'`; do + kldunload ${i} + done + kldstat -v | grep -q _saver || kldload ${saver}_saver + ;; +esac + +# mouse daemon +# +case ${moused_enable} in +[Yy][Ee][Ss]) + echo -n ' moused' + moused ${moused_flags} -p ${moused_port} -t ${moused_type} + case ${mousechar_start} in + [Nn][Oo] | '') + ;; + *) + echo -n ' mousechar_start'; vidcontrol < ${viddev} -M ${mousechar_start} + ;; + esac + vidcontrol < ${viddev} -m on + ;; +esac + +# set this mode for all virtual screens +# +if [ -n "${allscreens_flags}" ]; then + echo -n ' allscreens' + for ttyv in /dev/ttyv*; do + vidcontrol ${allscreens_flags} < ${ttyv} > ${ttyv} 2>&1 + done +fi + +# set this keyboard mode for all virtual terminals +# +if [ -n "${allscreens_kbdflags}" ]; then + echo -n ' allscreens_kbd' + for ttyv in /dev/ttyv*; do + kbdcontrol ${allscreens_kbdflags} < ${ttyv} > ${ttyv} 2>&1 + done +fi + +echo '.' +fi diff --git a/etc/rc.sysctl b/etc/rc.sysctl new file mode 100644 index 0000000..1e315f2 --- /dev/null +++ b/etc/rc.sysctl @@ -0,0 +1,61 @@ +#!/bin/sh +# +# Copyright (c) 1999 Warner Losh +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +# +# Read in /etc/sysctl.conf and set things accordingly +# + +if [ -f /etc/sysctl.conf ]; then + while read var comments + do + case ${var} in + \#*|'') + ;; + *) + mib=${var%=*} + val=${var#*=} + + if current_value=`sysctl -n ${mib} 2>/dev/null`; then + case ${current_value} in + ${val}) ;; + *) + sysctl ${var} + ;; + esac + else + case ${1} in + last) + echo "Warning: sysctl ${mib} does not exist" + ;; + esac + fi + ;; + esac + done < /etc/sysctl.conf +fi diff --git a/etc/remote b/etc/remote new file mode 100644 index 0000000..78c684c --- /dev/null +++ b/etc/remote @@ -0,0 +1,58 @@ +# $FreeBSD$ +# +# @(#)remote 5.2 (Berkeley) 6/30/90 +# +# remote -- remote host description file +# see tip(1), remote(5) +# +# dv device to use for the tty +# el EOL marks (default is NULL) +# du make a call flag (dial up) +# pn phone numbers (@ =>'s search phones file; possibly taken from +# PHONES environment variable) +# at ACU type +# ie input EOF marks (default is NULL) +# oe output EOF string (default is NULL) +# cu call unit (default is dv) +# br baud rate (defaults to 300) +# fs frame size (default is BUFSIZ) -- used in buffering writes on +# receive operations +# tc to continue a capability + +# Systems definitions +netcom|Netcom Unix Access:\ + :pn=\@:tc=unix1200: +omen|Omen BBS:\ + :pn=\@:tc=dos1200: + +# UNIX system definitions +unix1200|1200 Baud dial-out to a UNIX system:\ + :el=^U^C^R^O^D^S^Q:ie=%$:oe=^D:tc=dial1200: +unix300|300 Baud dial-out to a UNIX system:\ + :el=^U^C^R^O^D^S^Q:ie=%$:oe=^D:tc=dial300: + +# DOS system definitions +dos1200|1200 Baud dial-out to a DOS system:\ + :el=^U^C^R^O^D^S^Q:ie=%$:oe=^Z:pa=none:tc=dial1200: + +# General dialer definitions used below +# +# COURIER switch settings: +# switch: 1 2 3 4 5 6 7 8 9 10 +# setting: D U D U D D U D U U +# Rackmount: U U D U D U D D U D +# +dial2400|2400 Baud Hayes attributes:\ + :dv=/dev/cuaa0:br#2400:cu=/dev/cuaa0:at=hayes:du: +dial1200|1200 Baud Hayes attributes:\ + :dv=/dev/cuaa0:br#1200:cu=/dev/cuaa0:at=hayes:du: + +# Hardwired line +cuaa0b|cua0b:dv=/dev/cuaa0:br#2400:pa=none: +cuaa0c|cua0c:dv=/dev/cuaa0:br#9600:pa=none: + +# Finger friendly shortcuts +com1:dv=/dev/cuaa0:br#9600:pa=none: +com2:dv=/dev/cuaa1:br#9600:pa=none: +com3:dv=/dev/cuaa2:br#9600:pa=none: +com4:dv=/dev/cuaa3:br#9600:pa=none: diff --git a/etc/root/dot.cshrc b/etc/root/dot.cshrc new file mode 100644 index 0000000..8469eba --- /dev/null +++ b/etc/root/dot.cshrc @@ -0,0 +1,35 @@ +# $FreeBSD$ +# +# .cshrc - csh resource script, read at beginning of execution by each shell +# +# see also csh(1), environ(7). +# + +alias h history 25 +alias j jobs -l +alias la ls -a +alias lf ls -FA +alias ll ls -lA + +# A righteous umask +umask 22 + +set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin) + +setenv EDITOR vi +setenv PAGER more +setenv BLOCKSIZE K + +if ($?prompt) then + # An interactive shell -- set some stuff up + set prompt = "`hostname -s`# " + set filec + set history = 100 + set savehist = 100 + set mail = (/var/mail/$USER) + if ( $?tcsh ) then + bindkey "^W" backward-delete-word + bindkey -k up history-search-backward + bindkey -k down history-search-forward + endif +endif diff --git a/etc/root/dot.klogin b/etc/root/dot.klogin new file mode 100644 index 0000000..55e653a --- /dev/null +++ b/etc/root/dot.klogin @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +# user1.root@your.realm.wherever +# user2.root@your.realm.wherever diff --git a/etc/root/dot.login b/etc/root/dot.login new file mode 100644 index 0000000..3032ef9 --- /dev/null +++ b/etc/root/dot.login @@ -0,0 +1,9 @@ +# $FreeBSD$ +# +# .login - csh login script, read by login shell, after `.cshrc' at login. +# +# see also csh(1), environ(7). +# + +# Uncomment to display a random cookie each login: +# [ -x /usr/games/fortune ] && /usr/games/fortune -s diff --git a/etc/root/dot.profile b/etc/root/dot.profile new file mode 100644 index 0000000..bcf606d --- /dev/null +++ b/etc/root/dot.profile @@ -0,0 +1,10 @@ +# $FreeBSD$ +# +PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin +export PATH +HOME=/root +export HOME +TERM=${TERM:-cons25} +export TERM +PAGER=more +export PAGER @@ -0,0 +1,68 @@ +# +# $FreeBSD$ +# rpc 88/08/01 4.0 RPCSRC; from 1.12 99/07/25 SMI +# +rpcbind 100000 portmap sunrpc rpcbind +rstatd 100001 rstat rstat_svc rup perfmeter +rusersd 100002 rusers +nfs 100003 nfsprog +ypserv 100004 ypprog +mountd 100005 mount showmount +ypbind 100007 +walld 100008 rwall shutdown +yppasswdd 100009 yppasswd +etherstatd 100010 etherstat +rquotad 100011 rquotaprog quota rquota +sprayd 100012 spray +3270_mapper 100013 +rje_mapper 100014 +selection_svc 100015 selnsvc +database_svc 100016 +rexd 100017 rex +alis 100018 +sched 100019 +llockmgr 100020 +nlockmgr 100021 +x25.inr 100022 +statmon 100023 +status 100024 +bootparamd 100026 bootparam +ypupdated 100028 ypupdate +keyserv 100029 keyserver +sunlink_mapper 100033 +tfsd 100037 +nsed 100038 +nsemntd 100039 +showfhd 100043 showfh +ioadmd 100055 rpc.ioadmd +NETlicense 100062 +sunisamd 100065 +debug_svc 100066 dbsrv +cmsd 100068 +bugtraqd 100071 +kerbd 100078 +ttdbserver 100083 tooltalk +event 100101 na.event # SunNet Manager +logger 100102 na.logger # SunNet Manager +sync 100104 na.sync +hostperf 100107 na.hostperf +activity 100109 na.activity # SunNet Manager +hostmem 100112 na.hostmem +sample 100113 na.sample +x25 100114 na.x25 +ping 100115 na.ping +rpcnfs 100116 na.rpcnfs +hostif 100117 na.hostif +etherif 100118 na.etherif +iproutes 100120 na.iproutes +layers 100121 na.layers +snmp 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk +traffic 100123 na.traffic +nfs_acl 100227 +sadmind 100232 +nisd 100300 rpc.nisd +nispasswd 100303 rpc.nispasswdd +ufsd 100233 +pcnfsd 150001 pcnfs +amd 300019 +sgi_fam 391002 # file alteration monitor diff --git a/etc/sendmail/Makefile b/etc/sendmail/Makefile new file mode 100644 index 0000000..ca4443c --- /dev/null +++ b/etc/sendmail/Makefile @@ -0,0 +1,139 @@ +# @(#)Makefile 8.19 (Berkeley) 1/14/97 +# $FreeBSD$ + +M4= m4 +CHMOD= chmod +ROMODE= 444 +RM= rm -f + +SENDMAIL_DIR= ${.CURDIR}/../../contrib/sendmail +SMDIR= ${SENDMAIL_DIR}/src +CFDIR= ${SENDMAIL_DIR}/cf + +# this is overkill, but.... +M4FILES!= find ${CFDIR} -type f -name '*.m4' -print + +.SUFFIXES: .mc .cf + +.mc.cf: ${M4FILES} + ${RM} ${.TARGET} + (cd ${.CURDIR} && \ + ${M4} -D_CF_DIR_=${CFDIR}/ ${SENDMAIL_M4_FLAGS} \ + ${CFDIR}/m4/cf.m4 ${@:R}.mc) > ${.TARGET} + ${CHMOD} ${ROMODE} ${.TARGET} + +ALL= freebsd.cf +CLEANFILES+= freebsd.cf + +# Local SENDMAIL_MC or SENDMAIL_CF may be set in /etc/make.conf. +# Warning! If set, this causes 'make install' to always copy it +# over /etc/mail/sendmail.cf!!! +# Caveat emptor! Be sure you want this before you enable it. +.if defined(SENDMAIL_MC) +INSTALL_CF= ${SENDMAIL_MC:R}.cf +.else +.if defined(SENDMAIL_CF) +INSTALL_CF= ${SENDMAIL_CF} +.endif +.endif + +.ifndef SENDMAIL_SET_USER_ID +.if defined(SENDMAIL_SUBMIT_MC) +INSTALL_SUBMIT_CF=${SENDMAIL_SUBMIT_MC:R}.cf +.endif +.endif + +DEST_CF= ${DESTDIR}/etc/mail/sendmail.cf +DEST_SUBMIT_CF= ${DESTDIR}/etc/mail/submit.cf + +ALL+= ${INSTALL_CF} ${INSTALL_SUBMIT_CF} + +# Make sure we don't remove /etc/mail/sendmail.cf on make clean +# since this will break a running system during a buildworld. +.if defined(INSTALL_CF) +.if ${INSTALL_CF} != ${DEST_CF} +CLEANFILES+= ${INSTALL_CF} +.endif +.endif + +.if defined(INSTALL_SUBMIT_CF) +.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF} +CLEANFILES+= ${INSTALL_SUBMIT_CF} +.endif +.endif + +# Additional .cf files to build +.if defined(SENDMAIL_ADDITIONAL_MC) +SENDMAIL_ADDITIONAL_CF= ${SENDMAIL_ADDITIONAL_MC:S/.mc$/.cf/g} +ALL+= ${SENDMAIL_ADDITIONAL_CF} +CLEANFILES+= ${SENDMAIL_ADDITIONAL_CF} +.endif + +all: ${ALL} + +depend: + +install: ${INSTALL_CF} ${INSTALL_SUBMIT_CF} +.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF)) + @echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set" + @false +.endif +.if defined(INSTALL_CF) +.if ${INSTALL_CF} != ${DEST_CF} + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \ + ${DEST_CF} +.endif +.endif +.if defined(SENDMAIL_ADDITIONAL_CF) + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${SENDMAIL_ADDITIONAL_CF} ${DESTDIR}/etc/mail +.endif +.ifndef SENDMAIL_SET_USER_ID +.if defined(INSTALL_SUBMIT_CF) +.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF} + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF} +.endif +.endif +.endif + +# Helper for src/etc/Makefile +distribution: freebsd.cf freebsd.mc ${INSTALL_CF} ${INSTALL_SUBMIT_CF} +.if (defined(SENDMAIL_MC) && defined(SENDMAIL_CF)) + @echo ">>> ERROR: Both SENDMAIL_CF and SENDMAIL_MC can not be set" + @false +.endif + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${.CURDIR}/freebsd.mc \ + ${DESTDIR}/etc/mail/freebsd.mc + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \ + ${DESTDIR}/etc/mail/freebsd.cf +.if defined(INSTALL_CF) +.if ${INSTALL_CF} != ${DEST_CF} + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 ${INSTALL_CF} \ + ${DEST_CF} +.endif +.else + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 freebsd.cf \ + ${DEST_CF} +.endif + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.mc \ + ${DESTDIR}/etc/mail/freebsd.submit.mc + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \ + ${DESTDIR}/etc/mail/freebsd.submit.cf +.ifndef SENDMAIL_SET_USER_ID +.if defined(INSTALL_SUBMIT_CF) +.if ${INSTALL_SUBMIT_CF} != ${DEST_SUBMIT_CF} + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 644 \ + ${INSTALL_SUBMIT_CF} ${DEST_SUBMIT_CF} +.endif +.else + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${CFDIR}/cf/submit.cf \ + ${DEST_SUBMIT_CF} +.endif +.endif + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${SMDIR}/helpfile \ + ${DESTDIR}/etc/mail/helpfile + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 640 /dev/null \ + ${DESTDIR}/var/log/sendmail.st + +.include <bsd.prog.mk> diff --git a/etc/sendmail/freebsd.mc b/etc/sendmail/freebsd.mc new file mode 100644 index 0000000..9ed3774 --- /dev/null +++ b/etc/sendmail/freebsd.mc @@ -0,0 +1,92 @@ +divert(-1) +# +# Copyright (c) 1983 Eric P. Allman +# Copyright (c) 1988, 1993 +# The Regents of the University of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# +# This is a generic configuration file for FreeBSD 5.X and later systems. +# If you want to customize it, copy it to a name appropriate for your +# environment and do the modifications there. +# +# The best documentation for this .mc file is: +# /usr/share/sendmail/cf/README or +# /usr/src/contrib/sendmail/cf/README +# + +divert(0) +VERSIONID(`$FreeBSD$') +OSTYPE(freebsd5) +DOMAIN(generic) + +FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access') +FEATURE(blacklist_recipients) +FEATURE(local_lmtp) +FEATURE(mailertable, `hash -o /etc/mail/mailertable') +FEATURE(virtusertable, `hash -o /etc/mail/virtusertable') + +dnl Uncomment to allow relaying based on your MX records. +dnl NOTE: This can allow sites to use your server as a backup MX without +dnl your permission. +dnl FEATURE(relay_based_on_MX) + +dnl DNS based black hole lists +dnl -------------------------------- +dnl DNS based black hole lists come and go on a regular basis +dnl so this file will not serve as a database of the available servers. +dnl For that, visit http://dmoz.org/Computers/Internet/Abuse/Spam/Blacklists/ + +dnl Uncomment to activate Realtime Blackhole List +dnl information available at http://www.mail-abuse.com/ +dnl NOTE: This is a subscription service as of July 31, 2001 +dnl FEATURE(dnsbl) +dnl Alternatively, you can provide your own server and rejection message: +dnl FEATURE(dnsbl, `blackholes.mail-abuse.org', `"550 Mail from " $&{client_addr} " rejected, see http://mail-abuse.org/cgi-bin/lookup?" $&{client_addr}') + +dnl Dialup users should uncomment and define this appropriately +dnl define(`SMART_HOST', `your.isp.mail.server') + +dnl Uncomment the first line to change the location of the default +dnl /etc/mail/local-host-names and comment out the second line. +dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw') +define(`confCW_FILE', `-o /etc/mail/local-host-names') + +dnl Uncomment both of the following lines to listen on IPv6 as well as IPv4 +dnl DAEMON_OPTIONS(`Name=IPv4, Family=inet') +dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6') + +define(`confBIND_OPTS', `WorkAroundBrokenAAAA') +define(`confMAX_MIME_HEADER_LENGTH', `256/128') +define(`confNO_RCPT_ACTION', `add-to-undisclosed') +define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy') +MAILER(local) +MAILER(smtp) diff --git a/etc/sendmail/freefall.mc b/etc/sendmail/freefall.mc new file mode 100644 index 0000000..ffc29f8 --- /dev/null +++ b/etc/sendmail/freefall.mc @@ -0,0 +1,47 @@ +divert(-1) +# +# Copyright (c) 1983 Eric P. Allman +# Copyright (c) 1988, 1993 +# The Regents of the University of California. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +# +# This is the prototype for a "null client" -- that is, a client that +# does nothing except forward all mail to a mail hub, plus an extra +# line to make the email all appear as coming from "FreeBSD.org". +# + +divert(0)dnl +VERSIONID(`$FreeBSD$') + +OSTYPE(freebsd5) +FEATURE(nullclient, hub.$m) +MASQUERADE_AS(FreeBSD.org) diff --git a/etc/services b/etc/services new file mode 100644 index 0000000..15023a7 --- /dev/null +++ b/etc/services @@ -0,0 +1,2100 @@ +# +# Network services, Internet style +# +# Note that it is presently the policy of IANA to assign a single well-known +# port number for both TCP and UDP; hence, most entries here have two entries +# even if the protocol doesn't support UDP operations. +# +# The latest IANA port assignments can be gotten from +# +# http://www.iana.org/assignments/port-numbers +# +# The Well Known Ports are those from 0 through 1023. +# The Registered Ports are those from 1024 through 49151 +# The Dynamic and/or Private Ports are those from 49152 through 65535 +# +# Kerberos services are for Kerberos v4, and are unofficial. Sites running +# v5 should uncomment v5 entries and comment v4 entries. +# +# $FreeBSD$ +# From: @(#)services 5.8 (Berkeley) 5/9/91 +# +# WELL KNOWN PORT NUMBERS +# +rtmp 1/ddp #Routing Table Maintenance Protocol +tcpmux 1/tcp #TCP Port Service Multiplexer +tcpmux 1/udp #TCP Port Service Multiplexer +nbp 2/ddp #Name Binding Protocol +compressnet 2/tcp #Management Utility +compressnet 2/udp #Management Utility +compressnet 3/tcp #Compression Process +compressnet 3/udp #Compression Process +echo 4/ddp #AppleTalk Echo Protocol +rje 5/tcp #Remote Job Entry +rje 5/udp #Remote Job Entry +zip 6/ddp #Zone Information Protocol +echo 7/tcp +echo 7/udp +discard 9/tcp sink null +discard 9/udp sink null +systat 11/tcp users #Active Users +systat 11/udp users #Active Users +daytime 13/tcp +daytime 13/udp +qotd 17/tcp quote #Quote of the Day +qotd 17/udp quote #Quote of the Day +msp 18/tcp #Message Send Protocol +msp 18/udp #Message Send Protocol +chargen 19/tcp ttytst source #Character Generator +chargen 19/udp ttytst source #Character Generator +ftp-data 20/tcp #File Transfer [Default Data] +ftp-data 20/udp #File Transfer [Default Data] +ftp 21/tcp #File Transfer [Control] +ftp 21/udp #File Transfer [Control] +ssh 22/tcp #Secure Shell Login +ssh 22/udp #Secure Shell Login +telnet 23/tcp +telnet 23/udp +# 24/tcp any private mail system +# 24/udp any private mail system +smtp 25/tcp mail #Simple Mail Transfer +smtp 25/udp mail #Simple Mail Transfer +nsw-fe 27/tcp #NSW User System FE +nsw-fe 27/udp #NSW User System FE +msg-icp 29/tcp #MSG ICP +msg-icp 29/udp #MSG ICP +msg-auth 31/tcp #MSG Authentication +msg-auth 31/udp #MSG Authentication +dsp 33/tcp #Display Support Protocol +dsp 33/udp #Display Support Protocol +# 35/tcp any private printer server +# 35/udp any private printer server +time 37/tcp timserver +time 37/udp timserver +rap 38/tcp #Route Access Protocol +rap 38/udp #Route Access Protocol +rlp 39/tcp resource #Resource Location Protocol +rlp 39/udp resource #Resource Location Protocol +graphics 41/tcp +graphics 41/udp +nameserver 42/tcp name #Host Name Server +nameserver 42/udp name #Host Name Server +nicname 43/tcp whois +nicname 43/udp whois +mpm-flags 44/tcp #MPM FLAGS Protocol +mpm-flags 44/udp #MPM FLAGS Protocol +mpm 45/tcp #Message Processing Module [recv] +mpm 45/udp #Message Processing Module [recv] +mpm-snd 46/tcp #MPM [default send] +mpm-snd 46/udp #MPM [default send] +ni-ftp 47/tcp #NI FTP +ni-ftp 47/udp #NI FTP +auditd 48/tcp #Digital Audit Daemon +auditd 48/udp #Digital Audit Daemon +tacacs 49/tcp #Login Host Protocol (TACACS) +tacacs 49/udp #Login Host Protocol (TACACS) +re-mail-ck 50/tcp #Remote Mail Checking Protocol +re-mail-ck 50/udp #Remote Mail Checking Protocol +la-maint 51/tcp #IMP Logical Address Maintenance +la-maint 51/udp #IMP Logical Address Maintenance +xns-time 52/tcp #XNS Time Protocol +xns-time 52/udp #XNS Time Protocol +domain 53/tcp #Domain Name Server +domain 53/udp #Domain Name Server +xns-ch 54/tcp #XNS Clearinghouse +xns-ch 54/udp #XNS Clearinghouse +isi-gl 55/tcp #ISI Graphics Language +isi-gl 55/udp #ISI Graphics Language +xns-auth 56/tcp #XNS Authentication +xns-auth 56/udp #XNS Authentication +mtp 57/tcp # deprecated +#PROBLEMS!============================================================== +# 57/tcp any private terminal access +#PROBLEMS!============================================================== +# 57/udp any private terminal access +xns-mail 58/tcp #XNS Mail +xns-mail 58/udp #XNS Mail +# 59/tcp any private file service +# 59/udp any private file service +ni-mail 61/tcp #NI MAIL +ni-mail 61/udp #NI MAIL +acas 62/tcp #ACA Services +acas 62/udp #ACA Services +whois++ 63/tcp +whois++ 63/udp +covia 64/tcp #Communications Integrator (CI) +covia 64/udp #Communications Integrator (CI) +tacacs-ds 65/tcp #TACACS-Database Service +tacacs-ds 65/udp #TACACS-Database Service +sql*net 66/tcp #Oracle SQL*NET +sql*net 66/udp #Oracle SQL*NET +bootps 67/tcp dhcps #Bootstrap Protocol Server +bootps 67/udp dhcps #Bootstrap Protocol Server +bootpc 68/tcp dhcpc #Bootstrap Protocol Client +bootpc 68/udp dhcpc #Bootstrap Protocol Client +tftp 69/tcp #Trivial File Transfer +tftp 69/udp #Trivial File Transfer +gopher 70/tcp +gopher 70/udp +netrjs-1 71/tcp #Remote Job Service +netrjs-1 71/udp #Remote Job Service +netrjs-2 72/tcp #Remote Job Service +netrjs-2 72/udp #Remote Job Service +netrjs-3 73/tcp #Remote Job Service +netrjs-3 73/udp #Remote Job Service +netrjs-4 74/tcp #Remote Job Service +netrjs-4 74/udp #Remote Job Service +# 75/tcp any private dial out service +# 75/udp any private dial out service +deos 76/tcp #Distributed External Object Store +deos 76/udp #Distributed External Object Store +netrjs 77/tcp +#PROBLEMS!============================================================== +# 77/tcp any private RJE service +#PROBLEMS!============================================================== +# 77/udp any private RJE service +vettcp 78/tcp +vettcp 78/udp +finger 79/tcp +finger 79/udp +http 80/tcp www www-http #World Wide Web HTTP +http 80/udp www www-http #World Wide Web HTTP +hosts2-ns 81/tcp #HOSTS2 Name Server +hosts2-ns 81/udp #HOSTS2 Name Server +xfer 82/tcp #XFER Utility +xfer 82/udp #XFER Utility +mit-ml-dev 83/tcp #MIT ML Device +mit-ml-dev 83/udp #MIT ML Device +ctf 84/tcp #Common Trace Facility +ctf 84/udp #Common Trace Facility +mit-ml-dev 85/tcp #MIT ML Device +mit-ml-dev 85/udp #MIT ML Device +mfcobol 86/tcp #Micro Focus Cobol +mfcobol 86/udp #Micro Focus Cobol +ttylink 87/tcp +#PROBLEMS!=========================================================== +# 87/tcp any private terminal link +#PROBLEMS!=========================================================== +# 87/udp any private terminal link +kerberos-sec 88/tcp kerberos # krb5 # Kerberos (v5) +kerberos-sec 88/udp kerberos # krb5 # Kerberos (v5) +su-mit-tg 89/tcp #SU/MIT Telnet Gateway +su-mit-tg 89/udp #SU/MIT Telnet Gateway +dnsix 90/tcp #DNSIX Securit Attribute Token Map +dnsix 90/udp #DNSIX Securit Attribute Token Map +mit-dov 91/tcp #MIT Dover Spooler +mit-dov 91/udp #MIT Dover Spooler +npp 92/tcp #Network Printing Protocol +npp 92/udp #Network Printing Protocol +dcp 93/tcp #Device Control Protocol +dcp 93/udp #Device Control Protocol +objcall 94/tcp #Tivoli Object Dispatcher +objcall 94/udp #Tivoli Object Dispatcher +supdup 95/tcp +supdup 95/udp +dixie 96/tcp #DIXIE Protocol Specification +dixie 96/udp #DIXIE Protocol Specification +swift-rvf 97/tcp #Swift Remote Virtural File Protocol +swift-rvf 97/udp #Swift Remote Virtural File Protocol +tacnews 98/tcp #TAC News, Unofficial: Red Hat linuxconf +tacnews 98/udp #TAC News, Unofficial: Red Hat linuxconf +metagram 99/tcp #Metagram Relay +metagram 99/udp #Metagram Relay +newacct 100/tcp #[unauthorized use] +hostname 101/tcp hostnames #NIC Host Name Server +hostname 101/udp hostnames #NIC Host Name Server +iso-tsap 102/tcp tsap #ISO-TSAP Class 0 +iso-tsap 102/udp tsap #ISO-TSAP Class 0 +gppitnp 103/tcp #Genesis Point-to-Point Trans Net +gppitnp 103/udp #Genesis Point-to-Point Trans Net +acr-nema 104/tcp #ACR-NEMA Digital Imag. & Comm. 300 +acr-nema 104/udp #ACR-NEMA Digital Imag. & Comm. 300 +csnet-ns 105/tcp cso-ns cso #Mailbox Name Nameserver +csnet-ns 105/udp cso-ns cso #Mailbox Name Nameserver +pop3pw 106/tcp 3com-tsmux #Eudora compatible PW changer +3com-tsmux 106/udp +rtelnet 107/tcp #Remote Telnet Service +rtelnet 107/udp #Remote Telnet Service +snagas 108/tcp #SNA Gateway Access Server +snagas 108/udp #SNA Gateway Access Server +pop2 109/tcp postoffice #Post Office Protocol - Version 2 +pop2 109/udp postoffice #Post Office Protocol - Version 2 +pop3 110/tcp #Post Office Protocol - Version 3 +pop3 110/udp #Post Office Protocol - Version 3 +sunrpc 111/tcp rpcbind #SUN Remote Procedure Call +sunrpc 111/udp rpcbind #SUN Remote Procedure Call +mcidas 112/tcp #McIDAS Data Transmission Protocol +mcidas 112/udp #McIDAS Data Transmission Protocol +auth 113/tcp ident tap #Authentication Service +auth 113/udp ident tap #Authentication Service +audionews 114/tcp #Audio News Multicast +audionews 114/udp #Audio News Multicast +sftp 115/tcp #Simple File Transfer Protocol +sftp 115/udp #Simple File Transfer Protocol +ansanotify 116/tcp #ANSA REX Notify +ansanotify 116/udp #ANSA REX Notify +uucp-path 117/tcp #UUCP Path Service +uucp-path 117/udp #UUCP Path Service +sqlserv 118/tcp #SQL Services +sqlserv 118/udp #SQL Services +nntp 119/tcp usenet #Network News Transfer Protocol +nntp 119/udp usenet #Network News Transfer Protocol +cfdptkt 120/tcp +cfdptkt 120/udp +erpc 121/tcp #Encore Expedited Remote Pro.Call +erpc 121/udp #Encore Expedited Remote Pro.Call +smakynet 122/tcp +smakynet 122/udp +ntp 123/tcp #Network Time Protocol +ntp 123/udp #Network Time Protocol +ansatrader 124/tcp #ANSA REX Trader +ansatrader 124/udp #ANSA REX Trader +locus-map 125/tcp #Locus PC-Interface Net Map Ser +locus-map 125/udp #Locus PC-Interface Net Map Ser +unitary 126/tcp #Unisys Unitary Login +unitary 126/udp #Unisys Unitary Login +locus-con 127/tcp #Locus PC-Interface Conn Server +locus-con 127/udp #Locus PC-Interface Conn Server +gss-xlicen 128/tcp #GSS X License Verification +gss-xlicen 128/udp #GSS X License Verification +pwdgen 129/tcp #Password Generator Protocol +pwdgen 129/udp #Password Generator Protocol +cisco-fna 130/tcp #cisco FNATIVE +cisco-fna 130/udp #cisco FNATIVE +cisco-tna 131/tcp #cisco TNATIVE +cisco-tna 131/udp #cisco TNATIVE +cisco-sys 132/tcp #cisco SYSMAINT +cisco-sys 132/udp #cisco SYSMAINT +statsrv 133/tcp #Statistics Service +statsrv 133/udp #Statistics Service +ingres-net 134/tcp #INGRES-NET Service +ingres-net 134/udp #INGRES-NET Service +loc-srv 135/tcp epmap #Location Service +loc-srv 135/udp epmap #Location Service +profile 136/tcp #PROFILE Naming System +profile 136/udp #PROFILE Naming System +netbios-ns 137/tcp #NETBIOS Name Service +netbios-ns 137/udp #NETBIOS Name Service +netbios-dgm 138/tcp #NETBIOS Datagram Service +netbios-dgm 138/udp #NETBIOS Datagram Service +netbios-ssn 139/tcp #NETBIOS Session Service +netbios-ssn 139/udp #NETBIOS Session Service +emfis-data 140/tcp #EMFIS Data Service +emfis-data 140/udp #EMFIS Data Service +emfis-cntl 141/tcp #EMFIS Control Service +emfis-cntl 141/udp #EMFIS Control Service +bl-idm 142/tcp #Britton-Lee IDM +bl-idm 142/udp #Britton-Lee IDM +imap 143/tcp imap2 imap4 #Interim Mail Access Protocol v2 +imap 143/udp imap2 imap4 #Interim Mail Access Protocol v2 +NeWS 144/tcp # Window System +NeWS 144/udp # Window System +#PROBLEMS!============================================================== +#uma 144/tcp #Universal Management Architecture +#uma 144/udp #Universal Management Architecture +#PROBLEMS!============================================================== +uaac 145/tcp #UAAC Protocol +uaac 145/udp #UAAC Protocol +iso-tp0 146/tcp +iso-tp0 146/udp +iso-ip 147/tcp +iso-ip 147/udp +cronus 148/tcp jargon #CRONUS-SUPPORT +cronus 148/udp jargon #CRONUS-SUPPORT +aed-512 149/tcp #AED 512 Emulation Service +aed-512 149/udp #AED 512 Emulation Service +sql-net 150/tcp +sql-net 150/udp +hems 151/tcp +hems 151/udp +bftp 152/tcp #Background File Transfer Program +bftp 152/udp #Background File Transfer Program +sgmp 153/tcp +sgmp 153/udp +netsc-prod 154/tcp +netsc-prod 154/udp +netsc-dev 155/tcp +netsc-dev 155/udp +sqlsrv 156/tcp #SQL Service +sqlsrv 156/udp #SQL Service +knet-cmp 157/tcp #KNET/VM Command/Message Protocol +knet-cmp 157/udp #KNET/VM Command/Message Protocol +pcmail-srv 158/tcp #PCMail Server +pcmail-srv 158/udp #PCMail Server +nss-routing 159/tcp +nss-routing 159/udp +sgmp-traps 160/tcp +sgmp-traps 160/udp +snmp 161/tcp +snmp 161/udp +snmptrap 162/tcp snmp-trap +snmptrap 162/udp snmp-trap +cmip-man 163/tcp #CMIP/TCP Manager +cmip-man 163/udp #CMIP/TCP Manager +cmip-agent 164/tcp #CMIP/TCP Agent +smip-agent 164/udp #CMIP/TCP Agent +xns-courier 165/tcp #Xerox +xns-courier 165/udp #Xerox +s-net 166/tcp #Sirius Systems +s-net 166/udp #Sirius Systems +namp 167/tcp +namp 167/udp +rsvd 168/tcp +rsvd 168/udp +send 169/tcp +send 169/udp +print-srv 170/tcp #Network PostScript +print-srv 170/udp #Network PostScript +multiplex 171/tcp #Network Innovations Multiplex +multiplex 171/udp #Network Innovations Multiplex +cl/1 172/tcp #Network Innovations CL/1 +cl/1 172/udp #Network Innovations CL/1 +xyplex-mux 173/tcp +xyplex-mux 173/udp +mailq 174/tcp +mailq 174/udp +vmnet 175/tcp +vmnet 175/udp +genrad-mux 176/tcp +genrad-mux 176/udp +xdmcp 177/tcp #X Display Manager Control Protocol +xdmcp 177/udp #X Display Manager Control Protocol +NextStep 178/tcp nextstep NeXTStep #NextStep Window Server +NextStep 178/udp nextstep NeXTStep #NextStep Window Server +bgp 179/tcp #Border Gateway Protocol +bgp 179/udp #Border Gateway Protocol +ris 180/tcp #Intergraph +ris 180/udp #Intergraph +unify 181/tcp +unify 181/udp +audit 182/tcp #Unisys Audit SITP +audit 182/udp #Unisys Audit SITP +ocbinder 183/tcp +ocbinder 183/udp +ocserver 184/tcp +ocserver 184/udp +remote-kis 185/tcp +remote-kis 185/udp +kis 186/tcp #KIS Protocol +kis 186/udp #KIS Protocol +aci 187/tcp #Application Communication Interface +aci 187/udp #Application Communication Interface +mumps 188/tcp #Plus Five's MUMPS +mumps 188/udp #Plus Five's MUMPS +qft 189/tcp #Queued File Transport +qft 189/udp #Queued File Transport +gacp 190/tcp #Gateway Access Control Protocol +gacp 190/udp cacp #Gateway Access Control Protocol +prospero 191/tcp #Prospero Directory Service +prospero 191/udp #Prospero Directory Service +osu-nms 192/tcp #OSU Network Monitoring System +osu-nms 192/udp #OSU Network Monitoring System +srmp 193/tcp #Spider Remote Monitoring Protocol +srmp 193/udp #Spider Remote Monitoring Protocol +irc 194/tcp #Internet Relay Chat Protocol +irc 194/udp #Internet Relay Chat Protocol +dn6-nlm-aud 195/tcp #DNSIX Network Level Module Audit +dn6-nlm-aud 195/udp #DNSIX Network Level Module Audit +dn6-smm-red 196/tcp #DNSIX Session Mgt Module Audit Redir +dn6-smm-red 196/udp #DNSIX Session Mgt Module Audit Redir +dls 197/tcp #Directory Location Service +dls 197/udp #Directory Location Service +dls-mon 198/tcp #Directory Location Service Monitor +dls-mon 198/udp #Directory Location Service Monitor +smux 199/tcp +smux 199/udp +src 200/tcp #IBM System Resource Controller +src 200/udp #IBM System Resource Controller +at-rtmp 201/tcp #AppleTalk Routing Maintenance +at-rtmp 201/udp #AppleTalk Routing Maintenance +at-nbp 202/tcp #AppleTalk Name Binding +at-nbp 202/udp #AppleTalk Name Binding +at-3 203/tcp #AppleTalk Unused +at-3 203/udp #AppleTalk Unused +at-echo 204/tcp #AppleTalk Echo +at-echo 204/udp #AppleTalk Echo +at-5 205/tcp #AppleTalk Unused +at-5 205/udp #AppleTalk Unused +at-zis 206/tcp #AppleTalk Zone Information +at-zis 206/udp #AppleTalk Zone Information +at-7 207/tcp #AppleTalk Unused +at-7 207/udp #AppleTalk Unused +at-8 208/tcp #AppleTalk Unused +at-8 208/udp #AppleTalk Unused +qmtp 209/tcp #The Quick Mail Transfer Protocol +qmtp 209/udp #The Quick Mail Transfer Protocol +#PROBLEMS!============================================================== +#tam 209/tcp #Trivial Authenticated Mail Protocol +#tam 209/udp #Trivial Authenticated Mail Protocol +#PROBLEMS!============================================================== +z39.50 210/tcp wais #ANSI Z39.50 +z39.50 210/udp wais #ANSI Z39.50 +914c/g 211/tcp #Texas Instruments 914C/G Terminal +914c/g 211/udp #Texas Instruments 914C/G Terminal +anet 212/tcp #ATEXSSTR +anet 212/udp #ATEXSSTR +ipx 213/tcp +ipx 213/udp +vmpwscs 214/tcp +vmpwscs 214/udp +softpc 215/tcp #Insignia Solutions +softpc 215/udp #Insignia Solutions +CAIlic 216/tcp atls #Computer Associates Int'l License Server +CAIlic 216/udp atls #Computer Associates Int'l License Server +dbase 217/tcp #dBASE Unix +dbase 217/udp #dBASE Unix +mpp 218/tcp #Netix Message Posting Protocol +mpp 218/udp #Netix Message Posting Protocol +uarps 219/tcp #Unisys ARPs +uarps 219/udp #Unisys ARPs +imap3 220/tcp #Interactive Mail Access Protocol v3 +imap3 220/udp #Interactive Mail Access Protocol v3 +fln-spx 221/tcp #Berkeley rlogind with SPX auth +fln-spx 221/udp #Berkeley rlogind with SPX auth +rsh-spx 222/tcp #Berkeley rshd with SPX auth +rsh-spx 222/udp #Berkeley rshd with SPX auth +cdc 223/tcp #Certificate Distribution Center +cdc 223/udp #Certificate Distribution Center +direct 242/tcp +direct 242/udp +sur-meas 243/tcp #Survey Measurement +sur-meas 243/udp #Survey Measurement +dayna 244/tcp +dayna 244/udp +link 245/tcp +link 245/udp +dsp3270 246/tcp #Display Systems Protocol +dsp3270 246/udp #Display Systems Protocol + +subntbcst_tftp 247/tcp #subntbcst_tftp +subntbcst_tftp 247/udp #subntbcst_tftp +bhfhs 248/tcp +bhfhs 248/udp +# 249-255 reserved +rap 256/tcp +rap 256/udp +set 257/tcp #secure electronic transaction +set 257/udp #secure electronic transaction +yak-chat 258/tcp #yak winsock personal chat +yak-chat 258/udp #yak winsock personal chat +esro-gen 259/tcp #efficient short remote operations +esro-gen 259/udp #efficient short remote operations +openport 260/tcp +openport 260/udp +nsiiops 261/tcp #iiop name service over tls/ssl +nsiiops 261/udp #iiop name service over tls/ssl +arcisdms 262/tcp +arcisdms 262/udp +hdap 263/tcp +hdap 263/udp +bgmp 264/tcp +bgmp 264/udp +# 265-279 unassigned +http-mgmt 280/tcp +http-mgmt 280/udp +personal-link 281/tcp +personal-link 281/udp +cableport-ax 282/tcp #cable port a/x +cableport-ax 282/udp #cable port a/x +# 283-307 unassigned +novastorbakcup 308/tcp #novastor backup +novastorbakcup 308/udp #novastor backup +entrusttime 309/tcp +entrusttime 309/udp +bhmds 310/tcp +bhmds 310/udp +asip-webadmin 311/tcp #appleshare ip webadmin +asip-webadmin 311/udp #appleshare ip webadmin +vslmp 312/tcp +vslmp 312/udp +magenta-logic 313/tcp +magenta-logic 313/udp +opalis-robot 314/tcp +opalis-robot 314/udp +dpsi 315/tcp +dpsi 315/udp +decauth 316/tcp +decauth 316/udp +zannet 317/tcp +zannet 317/udp +# 318-320 #unassigned +pip 321/tcp +pip 321/udp +# 322-343 #unassigned +pdap 344/tcp #Prospero Data Access Protocol +pdap 344/udp #Prospero Data Access Protocol +pawserv 345/tcp #Perf Analysis Workbench +pawserv 345/udp #Perf Analysis Workbench +zserv 346/tcp #Zebra server +zserv 346/udp #Zebra server +fatserv 347/tcp #Fatmen Server +fatserv 347/udp #Fatmen Server +csi-sgwp 348/tcp #Cabletron Management Protocol +csi-sgwp 348/udp #Cabletron Management Protocol + + +mftp 349/tcp +mftp 349/udp +matip-type-a 350/tcp #MATIP Type A +matip-type-a 350/udp +matip-type-b 351/tcp #MATIP Type B +matip-type-b 351/udp +bhoetty 351/tcp #unassigned but widespread use +bhoetty 351/udp #unassigned but widespread use +dtag-ste-sb 352/tcp #DTAG +dtag-ste-sb 352/udp #DTAG +bhoedap4 352/tcp #unassigned but widespread use +bhoedap4 352/udp #unassigned but widespread use +ndsauth 353/tcp +ndsauth 353/udp +bh611 354/tcp +bh611 354/udp +datex-asn 355/tcp +datex-asn 355/udp +cloanto-net-1 356/tcp #Cloanto Net 1 +cloanto-net-1 356/udp +bhevent 357/tcp +bhevent 357/udp +shrinkwrap 358/tcp +shrinkwrap 358/udp +tenebris_nts 359/tcp #Tenebris Network Trace Service +tenebris_nts 359/udp #Tenebris Network Trace Service +scoi2odialog 360/tcp +scoi2odialog 360/udp +semantix 361/tcp +semantix 361/udp +srssend 362/tcp #SRS Send +srssend 362/udp #SRS Send +rsvp_tunnel 363/tcp +rsvp_tunnel 363/udp +aurora-cmgr 364/tcp +aurora-cmgr 364/udp +dtk 365/tcp #Deception Tool Kit - Fred Cohen <fc@all.net> +dtk 365/udp #Deception Tool Kit - Fred Cohen <fc@all.net> +odmr 366/tcp +odmr 366/udp +mortgageware 367/tcp +mortgageware 367/udp +qbikgdp 368/tcp #QbikGDP +qbikgdp 368/udp +rpc2portmap 369/tcp +rpc2portmap 369/udp +codaauth2 370/tcp +codaauth2 370/udp +clearcase 371/tcp +clearcase 371/udp +ulistserv 372/tcp ulistproc #Unix Listserv +ulistserv 372/udp ulistproc #Unix Listserv +legent-1 373/tcp #Legent Corporation (now Computer Associates Intl.) +legent-1 373/udp #Legent Corporation (now Computer Associates Intl.) +legent-2 374/tcp #Legent Corporation (now Computer Associates Intl.) +legent-2 374/udp #Legent Corporation (now Computer Associates Intl.) +hassle 375/tcp +hassle 375/udp +nip 376/tcp #Amiga Envoy Network Inquiry Proto +nip 376/udp #Amiga Envoy Network Inquiry Proto +tnETOS 377/tcp #NEC Corporation +tnETOS 377/udp #NEC Corporation +dsETOS 378/tcp #NEC Corporation +dsETOS 378/udp #NEC Corporation +is99c 379/tcp #TIA/EIA/IS-99 modem client +is99c 379/udp #TIA/EIA/IS-99 modem client +is99s 380/tcp #TIA/EIA/IS-99 modem server +is99s 380/udp #TIA/EIA/IS-99 modem server +hp-collector 381/tcp #hp performance data collector +hp-collector 381/udp #hp performance data collector +hp-managed-node 382/tcp #hp performance data managed node +hp-managed-node 382/udp #hp performance data managed node +hp-alarm-mgr 383/tcp #hp performance data alarm manager +hp-alarm-mgr 383/udp #hp performance data alarm manager +arns 384/tcp #A Remote Network Server System +arns 384/udp #A Remote Network Server System +ibm-app 385/tcp #IBM Application +ibm-app 385/udp #IBM Application +asa 386/tcp #ASA Message Router Object Def. +asa 386/udp #ASA Message Router Object Def. +aurp 387/tcp #Appletalk Update-Based Routing Pro. +aurp 387/udp #Appletalk Update-Based Routing Pro. +unidata-ldm 388/tcp #Unidata LDM Version 4 +unidata-ldm 388/udp #Unidata LDM Version 4 +ldap 389/tcp #Lightweight Directory Access Protocol +ldap 389/udp #Lightweight Directory Access Protocol +uis 390/tcp +uis 390/udp +synotics-relay 391/tcp #SynOptics SNMP Relay Port +synotics-relay 391/udp #SynOptics SNMP Relay Port +synotics-broker 392/tcp #SynOptics Port Broker Port +synotics-broker 392/udp #SynOptics Port Broker Port +dis 393/tcp #Data Interpretation System +dis 393/udp #Data Interpretation System +embl-ndt 394/tcp #EMBL Nucleic Data Transfer +embl-ndt 394/udp #EMBL Nucleic Data Transfer +netcp 395/tcp #NETscout Control Protocol +netcp 395/udp #NETscout Control Protocol +netware-ip 396/tcp #Novell Netware over IP +netware-ip 396/udp #Novell Netware over IP +mptn 397/tcp #Multi Protocol Trans. Net. +mptn 397/udp #Multi Protocol Trans. Net. +kryptolan 398/tcp +kryptolan 398/udp +iso-tsap-c2 399/tcp #ISO-TSAP Class 2 +iso-tsap-c2 399/udp #ISO-TSAP Class 2 +work-sol 400/tcp #Workstation Solutions +work-sol 400/udp #Workstation Solutions +ups 401/tcp #Uninterruptible Power Supply +ups 401/udp #Uninterruptible Power Supply +genie 402/tcp #Genie Protocol +genie 402/udp #Genie Protocol +decap 403/tcp +decap 403/udp +nced 404/tcp +nced 404/udp +ncld 405/tcp +ncld 405/udp +imsp 406/tcp #Interactive Mail Support Protocol +imsp 406/udp #Interactive Mail Support Protocol +timbuktu 407/tcp +timbuktu 407/udp +prm-sm 408/tcp #Prospero Resource Manager Sys. Man. +prm-sm 408/udp #Prospero Resource Manager Sys. Man. +prm-nm 409/tcp #Prospero Resource Manager Node Man. +prm-nm 409/udp #Prospero Resource Manager Node Man. +decladebug 410/tcp #DECLadebug Remote Debug Protocol +decladebug 410/udp #DECLadebug Remote Debug Protocol +rmt 411/tcp #Remote MT Protocol +rmt 411/udp #Remote MT Protocol +synoptics-trap 412/tcp #Trap Convention Port +synoptics-trap 412/udp #Trap Convention Port +smsp 413/tcp +smsp 413/udp +infoseek 414/tcp +infoseek 414/udp +bnet 415/tcp +bnet 415/udp +silverplatter 416/tcp +silverplatter 416/udp +onmux 417/tcp +onmux 417/udp +hyper-g 418/tcp +hyper-g 418/udp +ariel1 419/tcp +ariel1 419/udp +smpte 420/tcp +smpte 420/udp +ariel2 421/tcp +ariel2 421/udp +ariel3 422/tcp +ariel3 422/udp +opc-job-start 423/tcp #IBM Operations Planning and Control Start +opc-job-start 423/udp #IBM Operations Planning and Control Start +opc-job-track 424/tcp #IBM Operations Planning and Control Track +opc-job-track 424/udp #IBM Operations Planning and Control Track +icad-el 425/tcp +icad-el 425/udp +smartsdp 426/tcp +smartsdp 426/udp +svrloc 427/tcp #Server Location +svrloc 427/udp #Server Location +ocs_cmu 428/tcp +ocs_cmu 428/udp +ocs_amu 429/tcp +ocs_amu 429/udp +utmpsd 430/tcp +utmpsd 430/udp +utmpcd 431/tcp +utmpcd 431/udp +iasd 432/tcp +iasd 432/udp +nnsp 433/tcp +nnsp 433/udp +mobileip-agent 434/tcp +mobileip-agent 434/udp +mobilip-mn 435/tcp +mobilip-mn 435/udp +dna-cml 436/tcp +dna-cml 436/udp +comscm 437/tcp +comscm 437/udp +dsfgw 438/tcp +dsfgw 438/udp +dasp 439/tcp +dasp 439/udp +sgcp 440/tcp +sgcp 440/udp +decvms-sysmgt 441/tcp +decvms-sysmgt 441/udp +cvc_hostd 442/tcp +cvc_hostd 442/udp +https 443/tcp +https 443/udp +snpp 444/tcp #Simple Network Paging Protocol +snpp 444/udp #Simple Network Paging Protocol +# [RFC1568] +microsoft-ds 445/tcp +microsoft-ds 445/udp +ddm-rdb 446/tcp +ddm-rdb 446/udp +ddm-dfm 447/tcp +ddm-dfm 447/udp +ddm-ssl 448/tcp ddm-byte +ddm-ssl 448/udp ddm-byte +as-servermap 449/tcp #AS Server Mapper +as-servermap 449/udp #AS Server Mapper +tserver 450/tcp +tserver 450/udp +sfs-smp-net 451/tcp #Cray Network Semaphore server +sfs-smp-net 451/udp #Cray Network Semaphore server +sfs-config 452/tcp #Cray SFS config server +sfs-config 452/udp #Cray SFS config server +creativeserver 453/tcp #CreativeServer +creativeserver 453/udp #CreativeServer +contentserver 454/tcp #ContentServer +contentserver 454/udp #ContentServer +creativepartnr 455/tcp #CreativePartnr +creativepartnr 455/udp #CreativePartnr +macon-tcp 456/tcp +macon-udp 456/udp +scohelp 457/tcp +scohelp 457/udp +appleqtc 458/tcp #apple quick time +appleqtc 458/udp #apple quick time +ampr-rcmd 459/tcp +ampr-rcmd 459/udp +skronk 460/tcp +skronk 460/udp +datasurfsrv 461/tcp +datasurfsrv 461/udp +datasurfsrvsec 462/tcp +datasurfsrvsec 462/udp +alpes 463/tcp +alpes 463/udp +# +kpasswd5 464/tcp # Kerberos (v5) +kpasswd5 464/udp # Kerberos (v5) +#PROBLEMS!============================================================== +# IANA has offically assigned these two ports as ``kpasswd'' +#kpasswd 464/tcp # Kerberos (v5) +#kpasswd 464/udp # Kerberos (v5) +#PROBLEMS!============================================================== +smtps 465/tcp #smtp protocol over TLS/SSL (was ssmtp) +smtps 465/udp #smtp protocol over TLS/SSL (was ssmtp) +digital-vrc 466/tcp +digital-vrc 466/udp +mylex-mapd 467/tcp +mylex-mapd 467/udp +photuris 468/tcp +photuris 468/udp +rcp 469/tcp #Radio Control Protocol +rcp 469/udp #Radio Control Protocol +scx-proxy 470/tcp +scx-proxy 470/udp +mondex 471/tcp +mondex 471/udp +ljk-login 472/tcp +ljk-login 472/udp +hybrid-pop 473/tcp +hybrid-pop 473/udp +tn-tl-w1 474/tcp +tn-tl-w2 474/udp +tcpnethaspsrv 475/tcp +tcpnethaspsrv 475/udp +tn-tl-fd1 476/tcp +tn-tl-fd1 476/udp +ss7ns 477/tcp +ss7ns 477/udp +spsc 478/tcp +spsc 478/udp +iafserver 479/tcp +iafserver 479/udp +iafdbase 480/tcp +iafdbase 480/udp +ph 481/tcp +ph 481/udp +bgs-nsi 482/tcp +bgs-nsi 482/udp +ulpnet 483/tcp +ulpnet 483/udp +integra-sme 484/tcp #Integra Software Management Environment +integra-sme 484/udp #Integra Software Management Environment +powerburst 485/tcp #Air Soft Power Burst +powerburst 485/udp #Air Soft Power Burst +avian 486/tcp +avian 486/udp +saft 487/tcp #saft Simple Asynchronous File Transfer +saft 487/udp #saft Simple Asynchronous File Transfer +gss-http 488/tcp +gss-http 488/udp +nest-protocol 489/tcp +nest-protocol 489/udp +micom-pfs 490/tcp +micom-pfs 490/udp +go-login 491/tcp +go-login 491/udp +ticf-1 492/tcp #Transport Independent Convergence for FNA +ticf-1 492/udp #Transport Independent Convergence for FNA +ticf-2 493/tcp #Transport Independent Convergence for FNA +ticf-2 493/udp #Transport Independent Convergence for FNA +pov-ray 494/tcp +pov-ray 494/udp +intecourier 495/tcp +intecourier 495/udp +pim-rp-disc 496/tcp +pim-rp-disc 496/udp +dantz 497/tcp +dantz 497/udp +siam 498/tcp +siam 498/udp +iso-ill 499/tcp #ISO ILL Protocol +iso-ill 499/udp #ISO ILL Protocol +isakmp 500/tcp +isakmp 500/udp +stmf 501/tcp +stmf 501/udp +asa-appl-proto 502/tcp +asa-appl-proto 502/udp +intrinsa 503/tcp +intrinsa 503/udp +citadel 504/tcp +citadel 504/udp +mailbox-lm 505/tcp +mailbox-lm 505/udp +ohimsrv 506/tcp +ohimsrv 506/udp +crs 507/tcp +crs 507/udp +xvttp 508/tcp +xvttp 508/udp +snare 509/tcp +snare 509/udp +fcp 510/tcp #FirstClass Protocol +fcp 510/udp #FirstClass Protocol +passgo 511/tcp +passgo 511/udp +# +# Berkeley-specific services +# +exec 512/tcp #remote process execution; +# authentication performed using +# passwords and UNIX login names +biff 512/udp comsat #used by mail system to notify users +# of new mail received; currently +# receives messages only from +# processes on the same machine +login 513/tcp #remote login a la telnet; +# automatic authentication performed +# based on priviledged port numbers +# and distributed data bases which +# identify "authentication domains" +who 513/udp whod #maintains data bases showing who's +# logged in to machines on a local +# net and the load average of the +# machine +shell 514/tcp cmd #like exec, but automatic +# authentication is performed as for +# login server +syslog 514/udp +printer 515/tcp spooler +printer 515/udp spooler +videotex 516/tcp +videotex 516/udp +talk 517/tcp #like tenex link, but across +# machine - unfortunately, doesn't +# use link protocol (this is actually +# just a rendezvous port from which a +# tcp connection is established) +talk 517/udp #like tenex link, but across +# machine - unfortunately, doesn't +# use link protocol (this is actually +# just a rendezvous port from which a +# tcp connection is established) +ntalk 518/tcp +ntalk 518/udp +utime 519/tcp unixtime +utime 519/udp unixtime +efs 520/tcp #extended file name server +router 520/udp route routed #local routing process (on site); +# uses variant of Xerox NS routing +# information protocol +ripng 521/tcp +ripng 521/udp +ulp 522/tcp +ulp 522/udp +ibm-db2 523/tcp +ibm-db2 523/udp +ncp 524/tcp +ncp 524/udp +timed 525/tcp timeserver +timed 525/udp timeserver +tempo 526/tcp newdate +tempo 526/udp newdate +stx 527/tcp #Stock IXChange +stx 527/udp #Stock IXChange +custix 528/tcp #Customer IXChange +custix 528/udp #Customer IXChange +irc-serv 529/tcp +irc-serv 529/udp +courier 530/tcp rpc +courier 530/udp rpc +conference 531/tcp chat +conference 531/udp chat +netnews 532/tcp readnews +netnews 532/udp readnews +netwall 533/tcp #for emergency broadcasts +netwall 533/udp #for emergency broadcasts +mm-admin 534/tcp #MegaMedia Admin +mm-admin 534/udp #MegaMedia Admin +iiop 535/tcp +iiop 535/udp +opalis-rdv 536/tcp +opalis-rdv 536/udp +nmsp 537/tcp #Networked Media Streaming Protocol +nmsp 537/udp #Networked Media Streaming Protocol +gdomap 538/tcp +gdomap 538/udp +apertus-ldp 539/tcp #Apertus Technologies Load Determination +apertus-ldp 539/udp #Apertus Technologies Load Determination +uucp 540/tcp uucpd +uucp 540/udp uucpd +uucp-rlogin 541/tcp +uucp-rlogin 541/udp +commerce 542/tcp +commerce 542/udp +klogin 543/tcp # Kerberos (v4/v5) +klogin 543/udp # Kerberos (v4/v5) +kshell 544/tcp krcmd # Kerberos (v4/v5) +kshell 544/udp krcmd # Kerberos (v4/v5) +appleqtcsrvr 545/tcp +appleqtcsrvr 545/udp +dhcpv6-client 546/tcp #DHCPv6 Client +dhcpv6-client 546/udp #DHCPv6 Client +dhcpv6-server 547/tcp #DHCPv6 Server +dhcpv6-server 547/udp #DHCPv6 Server +afpovertcp 548/tcp #AFP over TCP +afpovertcp 548/udp #AFP over TCP +idfp 549/tcp +idfp 549/udp +new-rwho 550/tcp new-who +new-rwho 550/udp new-who +cybercash 551/tcp +cybercash 551/udp +deviceshare 552/tcp +deviceshare 552/udp +pirp 553/tcp +pirp 553/udp +rtsp 554/tcp #Real Time Stream Control Protocol +rtsp 554/udp #Real Time Stream Control Protocol +dsf 555/tcp +dsf 555/udp +remotefs 556/tcp rfs rfs_server # Brunhoff remote filesystem +remotefs 556/udp rfs rfs_server # Brunhoff remote filesystem +openvms-sysipc 557/tcp +openvms-sysipc 557/udp +sdnskmp 558/tcp +sdnskmp 558/udp +teedtap 559/tcp +teedtap 559/udp +rmonitor 560/tcp rmonitord +rmonitor 560/udp rmonitord +monitor 561/tcp +monitor 561/udp +chshell 562/tcp chcmd +chshell 562/udp chcmd +nntps 563/tcp snntp #nntp protocol over TLS/SSL +nntps 563/udp snntp #nntp protocol over TLS/SSL +9pfs 564/tcp #plan 9 file service +9pfs 564/udp #plan 9 file service +whoami 565/tcp +whoami 565/udp +streettalk 566/tcp +banyan-rpc 567/tcp +banyan-rpc 567/udp +ms-shuttle 568/tcp #Microsoft shuttle +ms-shuttle 568/udp #Microsoft shuttle +ms-rome 569/tcp #Microsoft rome +ms-rome 569/udp #Microsoft rome +meter 570/tcp #demon +meter 570/udp #demon +umeter 571/tcp #udemon +umeter 571/udp #udemon + + + +sonar 572/tcp +sonar 572/udp +banyan-vip 573/tcp +banyan-vip 573/udp +ftp-agent 574/tcp #FTP Software Agent System +ftp-agent 574/udp #FTP Software Agent System +vemmi 575/tcp +vemmi 575/udp +ipcd 576/tcp +ipcd 576/udp +vnas 577/tcp +vnas 577/udp +ipdd 578/tcp +ipdd 578/udp +decbsrv 579/tcp +decbsrv 579/udp +sntp-heartbeat 580/tcp +sntp-heartbeat 580/udp +bdp 581/tcp #Bundle Discovery Protocol +bdp 581/udp #Bundle Discovery Protocol +scc-security 582/tcp +scc-security 582/udp +philips-vc 583/tcp #Philips Video-Conferencing +philips-vc 583/udp #Philips Video-Conferencing +keyserver 584/tcp +keyserver 584/udp +imap4-ssl 585/tcp #IMAP4+SSL (use of 585 is not recommended, +imap4-ssl 585/udp # use 993 instead) +password-chg 586/tcp +password-chg 586/udp +submission 587/tcp +submission 587/udp +cal 588/tcp +cal 588/udp +eyelink 589/tcp +eyelink 589/udp +tns-cml 590/tcp +tns-cml 590/udp +http-alt 591/tcp #FileMaker, Inc. - HTTP Alternate (see Port 80) +http-alt 591/udp #FileMaker, Inc. - HTTP Alternate (see Port 80) +eudora-set 592/tcp +eudora-set 592/udp +http-rpc-epmap 593/tcp #HTTP RPC Ep Map +http-rpc-epmap 593/udp #HTTP RPC Ep Map +tpip 594/tcp +tpip 594/udp +cab-protocol 595/tcp +cab-protocol 595/udp +smsd 596/tcp +smsd 596/udp +ptcnameservice 597/tcp #PTC Name Service +ptcnameservice 597/udp #PTC Name Service +sco-websrvrmg3 598/tcp #SCO Web Server Manager 3 +sco-websrvrmg3 598/udp #SCO Web Server Manager 3 +acp 599/tcp #Aeolon Core Protocol +acp 599/udp #Aeolon Core Protocol +ipcserver 600/tcp #Sun IPC server +ipcserver 600/udp #Sun IPC server +nqs 607/tcp +nqs 607/udp +urm 606/tcp #Cray Unified Resource Manager +urm 606/udp #Cray Unified Resource Manager +sift-uft 608/tcp #Sender-Initiated/Unsolicited File Transfer +sift-uft 608/udp #Sender-Initiated/Unsolicited File Transfer +npmp-trap 609/tcp +npmp-trap 609/udp +npmp-local 610/tcp +npmp-local 610/udp +npmp-gui 611/tcp +npmp-gui 611/udp +sshell 614/tcp #SSLshell +sshell 614/udp +ginad 634/tcp +ginad 634/udp +ldaps 636/tcp sldap #ldap protocol over TLS/SSL +ldaps 636/udp sldap +mdqs 666/tcp +mdqs 666/udp +#PROBLEMS!=============================================== +doom 666/tcp #doom Id Software +doom 666/udp #doom Id Software +#PROBLEMS!=============================================== +acap 674/tcp #Application Configuration Access Protocol +acap 674/udp #Application Configuration Access Protocol +elcsd 704/tcp #errlog copy/server daemon +elcsd 704/udp #errlog copy/server daemon +entrustmanager 709/tcp #EntrustManager +entrustmanager 709/udp #EntrustManager +netviewdm1 729/tcp #IBM NetView DM/6000 Server/Client +netviewdm1 729/udp #IBM NetView DM/6000 Server/Client +netviewdm2 730/tcp #IBM NetView DM/6000 send/tcp +netviewdm2 730/udp #IBM NetView DM/6000 send/tcp +netviewdm3 731/tcp #IBM NetView DM/6000 receive/tcp +netviewdm3 731/udp #IBM NetView DM/6000 receive/tcp +netgw 741/tcp +netgw 741/udp +netrcs 742/tcp #Network based Rev. Cont. Sys. +netrcs 742/udp #Network based Rev. Cont. Sys. +flexlm 744/tcp #Flexible License Manager +flexlm 744/udp #Flexible License Manager +fujitsu-dev 747/tcp #Fujitsu Device Control +fujitsu-dev 747/udp #Fujitsu Device Control +ris-cm 748/tcp #Russell Info Sci Calendar Manager +ris-cm 748/udp #Russell Info Sci Calendar Manager +kerberos-adm 749/tcp #Kerberos administration (v5) +kerberos-adm 749/udp #Kerberos administration (v5) +kerberos-iv 750/udp kdc # Kerberos (v4) +kerberos-iv 750/tcp kdc # Kerberos (v4) +#PROBLEMS!======================================================== +#rfile 750/tcp +#loadav 750/udp +#PROBLEMS!======================================================== +kerberos_master 751/tcp # Kerberos `kadmin' (v4) +kerberos_master 751/udp # Kerberos `kadmin' (v4) +#PROBLEMS!======================================================== +pump 751/tcp +pump 751/udp +#PROBLEMS!======================================================== +qrh 752/tcp +qrh 752/udp +rrh 753/tcp +rrh 753/udp +krb_prop 754/tcp krb5_prop # kerberos/v5 server propagation +#PROBLEMS!======================================================== +tell 754/tcp #send +#PROBLEMS!======================================================== +tell 754/udp #send +nlogin 758/tcp +nlogin 758/udp +con 759/tcp +con 759/udp +krbupdate 760/tcp kreg # Kerberos (v4) registration +#PROBLEMS!======================================================== +ns 760/tcp +#PROBLEMS!======================================================== +ns 760/udp +kpasswd 761/tcp kpwd # Kerberos (v4) "passwd" +#PROBLEMS!======================================================== +rxe 761/tcp +#PROBLEMS!======================================================== +rxe 761/udp +quotad 762/tcp +quotad 762/udp +cycleserv 763/tcp +cycleserv 763/udp +omserv 764/tcp +omserv 764/udp +webster 765/tcp +webster 765/udp +phonebook 767/tcp #phone +phonebook 767/udp #phone +vid 769/tcp +vid 769/udp +cadlock 770/tcp +cadlock 770/udp +rtip 771/tcp +rtip 771/udp +cycleserv2 772/tcp +cycleserv2 772/udp +submit 773/tcp +notify 773/udp +rpasswd 774/tcp +acmaint_dbd 774/udp +entomb 775/tcp +acmaint_transd 775/udp +wpages 776/tcp +wpages 776/udp +wpgs 780/tcp +wpgs 780/udp +concert 786/tcp +concert 786/udp +mdbs_daemon 800/tcp +mdbs_daemon 800/udp +device 801/tcp +device 801/udp +supfilesrv 871/tcp # for SUP +rsync 873/tcp +rsync 873/udp +accessbuilder 888/tcp +accessbuilder 888/udp +swat 901/tcp # samba web configuration tool +ftps-data 989/tcp # ftp protocol, data, over TLS/SSL +ftps-data 989/udp +ftps 990/tcp # ftp protocol, control, over TLS/SSL +ftps 990/udp +telnets 992/tcp # telnet protocol over TLS/SSL +telnets 992/udp +imaps 993/tcp # imap4 protocol over TLS/SSL +imaps 993/udp +ircs 994/tcp # irc protocol over TLS/SSL +ircs 994/udp +pop3s 995/tcp spop3 # pop3 protocol over TLS/SSL +pop3s 995/udp spop3 +vsinet 996/tcp +vsinet 996/udp +maitrd 997/tcp +maitrd 997/udp +busboy 998/tcp +puparp 998/udp +garcon 999/tcp +applix 999/udp #Applix ac +puprouter 999/tcp +puprouter 999/udp +cadlock 1000/tcp +ock 1000/udp +# +# REGISTERED PORT NUMBERS +# +blackjack 1025/tcp #network blackjack +blackjack 1025/udp #network blackjack +iad1 1030/tcp #BBN IAD +iad1 1030/udp #BBN IAD +iad2 1031/tcp #BBN IAD +iad2 1031/udp #BBN IAD +iad3 1032/tcp #BBN IAD +iad3 1032/udp #BBN IAD +nim 1058/tcp +nim 1058/udp +nimreg 1059/tcp +nimreg 1059/udp +instl_boots 1067/tcp #Installation Bootstrap Proto. Serv. +instl_boots 1067/udp #Installation Bootstrap Proto. Serv. +instl_bootc 1068/tcp #Installation Bootstrap Proto. Cli. +instl_bootc 1068/udp #Installation Bootstrap Proto. Cli. +socks 1080/tcp +socks 1080/udp +ansoft-lm-1 1083/tcp #Anasoft License Manager +ansoft-lm-1 1083/udp #Anasoft License Manager +ansoft-lm-2 1084/tcp #Anasoft License Manager +ansoft-lm-2 1084/udp #Anasoft License Manager +kpop 1109/tcp #Unofficial +kpop 1109/udp #Unofficial +nfsd-status 1110/tcp #Cluster status info +nfsd-keepalive 1110/udp #Client status info +supfiledbg 1127/tcp # for SUP +nfa 1155/tcp #Network File Access +nfa 1155/udp #Network File Access +phone 1167/udp #conference calling +skkserv 1178/tcp #SKK (kanji input) +lupa 1212/tcp +lupa 1212/udp +nerv 1222/tcp #SNI R&D network +nerv 1222/udp #SNI R&D network +hermes 1248/tcp +hermes 1248/udp +healthd 1281/tcp #healthd +healthd 1281/udp #healthd +alta-ana-lm 1346/tcp #Alta Analytics License Manager +alta-ana-lm 1346/udp #Alta Analytics License Manager +bbn-mmc 1347/tcp #multi media conferencing +bbn-mmc 1347/udp #multi media conferencing +bbn-mmx 1348/tcp #multi media conferencing +bbn-mmx 1348/udp #multi media conferencing +sbook 1349/tcp #Registration Network Protocol +sbook 1349/udp #Registration Network Protocol +editbench 1350/tcp #Registration Network Protocol +editbench 1350/udp #Registration Network Protocol +equationbuilder 1351/tcp #Digital Tool Works (MIT) +equationbuilder 1351/udp #Digital Tool Works (MIT) +lotusnote 1352/tcp #Lotus Note +lotusnote 1352/udp #Lotus Note +relief 1353/tcp #Relief Consulting +relief 1353/udp #Relief Consulting +rightbrain 1354/tcp #RightBrain Software +rightbrain 1354/udp #RightBrain Software +intuitive-edge 1355/tcp #Intuitive Edge +intuitive-edge 1355/udp #Intuitive Edge +cuillamartin 1356/tcp #CuillaMartin Company +cuillamartin 1356/udp #CuillaMartin Company +pegboard 1357/tcp #Electronic PegBoard +pegboard 1357/udp #Electronic PegBoard +connlcli 1358/tcp +connlcli 1358/udp +ftsrv 1359/tcp +ftsrv 1359/udp +mimer 1360/tcp +mimer 1360/udp +linx 1361/tcp +linx 1361/udp +timeflies 1362/tcp +timeflies 1362/udp +ndm-requester 1363/tcp #Network DataMover Requester +ndm-requester 1363/udp #Network DataMover Requester +ndm-server 1364/tcp #Network DataMover Server +ndm-server 1364/udp #Network DataMover Server +adapt-sna 1365/tcp #Network Software Associates +adapt-sna 1365/udp #Network Software Associates +netware-csp 1366/tcp #Novell NetWare Comm Service Platform +netware-csp 1366/udp #Novell NetWare Comm Service Platform +dcs 1367/tcp +dcs 1367/udp +screencast 1368/tcp +screencast 1368/udp +gv-us 1369/tcp #GlobalView to Unix Shell +gv-us 1369/udp #GlobalView to Unix Shell +us-gv 1370/tcp #Unix Shell to GlobalView +us-gv 1370/udp #Unix Shell to GlobalView +fc-cli 1371/tcp #Fujitsu Config Protocol +fc-cli 1371/udp #Fujitsu Config Protocol +fc-ser 1372/tcp #Fujitsu Config Protocol +fc-ser 1372/udp #Fujitsu Config Protocol +chromagrafx 1373/tcp +chromagrafx 1373/udp +molly 1374/tcp #EPI Software Systems +molly 1374/udp #EPI Software Systems +bytex 1375/tcp +bytex 1375/udp +ibm-pps 1376/tcp #IBM Person to Person Software +ibm-pps 1376/udp #IBM Person to Person Software +cichlid 1377/tcp #Cichlid License Manager +cichlid 1377/udp #Cichlid License Manager +elan 1378/tcp #Elan License Manager +elan 1378/udp #Elan License Manager +dbreporter 1379/tcp #Integrity Solutions +dbreporter 1379/udp #Integrity Solutions +telesis-licman 1380/tcp #Telesis Network License Manager +telesis-licman 1380/udp #Telesis Network License Manager +apple-licman 1381/tcp #Apple Network License Manager +apple-licman 1381/udp #Apple Network License Manager +#udt_os 1382/tcp +#udt_os 1382/udp +gwha 1383/tcp #GW Hannaway Network License Manager +gwha 1383/udp #GW Hannaway Network License Manager +os-licman 1384/tcp #Objective Solutions License Manager +os-licman 1384/udp #Objective Solutions License Manager +atex_elmd 1385/tcp #Atex Publishing License Manager +atex_elmd 1385/udp #Atex Publishing License Manager +checksum 1386/tcp #CheckSum License Manager +checksum 1386/udp #CheckSum License Manager +cadsi-lm 1387/tcp #Computer Aided Design Software Inc LM +cadsi-lm 1387/udp #Computer Aided Design Software Inc LM +objective-dbc 1388/tcp #Objective Solutions DataBase Cache +objective-dbc 1388/udp #Objective Solutions DataBase Cache +iclpv-dm 1389/tcp #Document Manager +iclpv-dm 1389/udp #Document Manager +iclpv-sc 1390/tcp #Storage Controller +iclpv-sc 1390/udp #Storage Controller +iclpv-sas 1391/tcp #Storage Access Server +iclpv-sas 1391/udp #Storage Access Server +iclpv-pm 1392/tcp #Print Manager +iclpv-pm 1392/udp #Print Manager +iclpv-nls 1393/tcp #Network Log Server +iclpv-nls 1393/udp #Network Log Server +iclpv-nlc 1394/tcp #Network Log Client +iclpv-nlc 1394/udp #Network Log Client +iclpv-wsm 1395/tcp #PC Workstation Manager software +iclpv-wsm 1395/udp #PC Workstation Manager software +dvl-activemail 1396/tcp #DVL Active Mail +dvl-activemail 1396/udp #DVL Active Mail +audio-activmail 1397/tcp #Audio Active Mail +audio-activmail 1397/udp #Audio Active Mail +video-activmail 1398/tcp #Video Active Mail +video-activmail 1398/udp #Video Active Mail +cadkey-licman 1399/tcp #Cadkey License Manager +cadkey-licman 1399/udp #Cadkey License Manager +cadkey-tablet 1400/tcp #Cadkey Tablet Daemon +cadkey-tablet 1400/udp #Cadkey Tablet Daemon +goldleaf-licman 1401/tcp #Goldleaf License Manager +goldleaf-licman 1401/udp #Goldleaf License Manager +prm-sm-np 1402/tcp #Prospero Resource Manager +prm-sm-np 1402/udp #Prospero Resource Manager +prm-nm-np 1403/tcp #Prospero Resource Manager +prm-nm-np 1403/udp #Prospero Resource Manager +igi-lm 1404/tcp #Infinite Graphics License Manager +igi-lm 1404/udp #Infinite Graphics License Manager +ibm-res 1405/tcp #IBM Remote Execution Starter +ibm-res 1405/udp #IBM Remote Execution Starter +netlabs-lm 1406/tcp #NetLabs License Manager +netlabs-lm 1406/udp #NetLabs License Manager +dbsa-lm 1407/tcp #DBSA License Manager +dbsa-lm 1407/udp #DBSA License Manager +sophia-lm 1408/tcp #Sophia License Manager +sophia-lm 1408/udp #Sophia License Manager +here-lm 1409/tcp #Here License Manager +here-lm 1409/udp #Here License Manager +hiq 1410/tcp #HiQ License Manager +hiq 1410/udp #HiQ License Manager +af 1411/tcp #AudioFile +af 1411/udp #AudioFile +innosys 1412/tcp +innosys 1412/udp +innosys-acl 1413/tcp +innosys-acl 1413/udp +ibm-mqseries 1414/tcp #IBM MQSeries +ibm-mqseries 1414/udp #IBM MQSeries +dbstar 1415/tcp +dbstar 1415/udp +novell-lu6.2 1416/tcp #Novell LU6.2 +novell-lu6.2 1416/udp #Novell LU6.2 +timbuktu-srv1 1417/tcp #Timbuktu Service 1 Port +timbuktu-srv1 1417/udp #Timbuktu Service 1 Port +timbuktu-srv2 1418/tcp #Timbuktu Service 2 Port +timbuktu-srv2 1418/udp #Timbuktu Service 2 Port +timbuktu-srv3 1419/tcp #Timbuktu Service 3 Port +timbuktu-srv3 1419/udp #Timbuktu Service 3 Port +timbuktu-srv4 1420/tcp #Timbuktu Service 4 Port +timbuktu-srv4 1420/udp #Timbuktu Service 4 Port +gandalf-lm 1421/tcp #Gandalf License Manager +gandalf-lm 1421/udp #Gandalf License Manager +autodesk-lm 1422/tcp #Autodesk License Manager +autodesk-lm 1422/udp #Autodesk License Manager +essbase 1423/tcp #Essbase Arbor Software +essbase 1423/udp #Essbase Arbor Software +hybrid 1424/tcp #Hybrid Encryption Protocol +hybrid 1424/udp #Hybrid Encryption Protocol +zion-lm 1425/tcp #Zion Software License Manager +zion-lm 1425/udp #Zion Software License Manager +sas-1 1426/tcp #Satellite-data Acquisition System 1 +sas-1 1426/udp #Satellite-data Acquisition System 1 +mloadd 1427/tcp #mloadd monitoring tool +mloadd 1427/udp #mloadd monitoring tool +informatik-lm 1428/tcp #Informatik License Manager +informatik-lm 1428/udp #Informatik License Manager +nms 1429/tcp #Hypercom NMS +nms 1429/udp #Hypercom NMS +tpdu 1430/tcp #Hypercom TPDU +tpdu 1430/udp #Hypercom TPDU +rgtp 1431/tcp #Reverse Gossip Transport +rgtp 1431/udp #Reverse Gossip Transport +blueberry-lm 1432/tcp #Blueberry Software License Manager +blueberry-lm 1432/udp #Blueberry Software License Manager +ms-sql-s 1433/tcp #Microsoft-SQL-Server +ms-sql-s 1433/udp #Microsoft-SQL-Server +ms-sql-m 1434/tcp #Microsoft-SQL-Monitor +ms-sql-m 1434/udp #Microsoft-SQL-Monitor +ibm-cics 1435/tcp +ibm-cics 1435/udp +sas-2 1436/tcp #Satellite-data Acquisition System 2 +sas-2 1436/udp #Satellite-data Acquisition System 2 +tabula 1437/tcp +tabula 1437/udp +eicon-server 1438/tcp #Eicon Security Agent/Server +eicon-server 1438/udp #Eicon Security Agent/Server +eicon-x25 1439/tcp #Eicon X25/SNA Gateway +eicon-x25 1439/udp #Eicon X25/SNA Gateway +eicon-slp 1440/tcp #Eicon Service Location Protocol +eicon-slp 1440/udp #Eicon Service Location Protocol +cadis-1 1441/tcp #Cadis License Management +cadis-1 1441/udp #Cadis License Management +cadis-2 1442/tcp #Cadis License Management +cadis-2 1442/udp #Cadis License Management +ies-lm 1443/tcp #Integrated Engineering Software +ies-lm 1443/udp #Integrated Engineering Software +marcam-lm 1444/tcp #Marcam License Management +marcam-lm 1444/udp #Marcam License Management +proxima-lm 1445/tcp #Proxima License Manager +proxima-lm 1445/udp #Proxima License Manager +ora-lm 1446/tcp #Optical Research Associates License Manager +ora-lm 1446/udp #Optical Research Associates License Manager +apri-lm 1447/tcp #Applied Parallel Research LM +apri-lm 1447/udp #Applied Parallel Research LM +oc-lm 1448/tcp #OpenConnect License Manager +oc-lm 1448/udp #OpenConnect License Manager +peport 1449/tcp +peport 1449/udp +dwf 1450/tcp #Tandem Distributed Workbench Facility +dwf 1450/udp #Tandem Distributed Workbench Facility +infoman 1451/tcp #IBM Information Management +infoman 1451/udp #IBM Information Management +gtegsc-lm 1452/tcp #GTE Government Systems License Man +gtegsc-lm 1452/udp #GTE Government Systems License Man +genie-lm 1453/tcp #Genie License Manager +genie-lm 1453/udp #Genie License Manager +interhdl_elmd 1454/tcp #interHDL License Manager +interhdl_elmd 1454/udp #interHDL License Manager +esl-lm 1455/tcp #ESL License Manager +esl-lm 1455/udp #ESL License Manager +dca 1456/tcp +dca 1456/udp +valisys-lm 1457/tcp #Valisys License Manager +valisys-lm 1457/udp #Valisys License Manager +nrcabq-lm 1458/tcp #Nichols Research Corp. +nrcabq-lm 1458/udp #Nichols Research Corp. +proshare1 1459/tcp #Proshare Notebook Application +proshare1 1459/udp #Proshare Notebook Application +proshare2 1460/tcp #Proshare Notebook Application +proshare2 1460/udp #Proshare Notebook Application +ibm_wrless_lan 1461/tcp #IBM Wireless LAN +ibm_wrless_lan 1461/udp #IBM Wireless LAN +world-lm 1462/tcp #World License Manager +world-lm 1462/udp #World License Manager +nucleus 1463/tcp +nucleus 1463/udp +msl_lmd 1464/tcp #MSL License Manager +msl_lmd 1464/udp #MSL License Manager +pipes 1465/tcp #Pipes Platform +pipes 1465/udp #Pipes Platform mfarlin@peerlogic.com +oceansoft-lm 1466/tcp #Ocean Software License Manager +oceansoft-lm 1466/udp #Ocean Software License Manager +csdmbase 1467/tcp +csdmbase 1467/udp +csdm 1468/tcp +csdm 1468/udp +aal-lm 1469/tcp #Active Analysis Limited License Manager +aal-lm 1469/udp #Active Analysis Limited License Manager +uaiact 1470/tcp #Universal Analytics +uaiact 1470/udp #Universal Analytics +csdmbase 1471/tcp +csdmbase 1471/udp +csdm 1472/tcp +csdm 1472/udp +openmath 1473/tcp +openmath 1473/udp +telefinder 1474/tcp +telefinder 1474/udp +taligent-lm 1475/tcp #Taligent License Manager +taligent-lm 1475/udp #Taligent License Manager +clvm-cfg 1476/tcp +clvm-cfg 1476/udp +ms-sna-server 1477/tcp +ms-sna-server 1477/udp +ms-sna-base 1478/tcp +ms-sna-base 1478/udp +dberegister 1479/tcp +dberegister 1479/udp +pacerforum 1480/tcp +pacerforum 1480/udp +airs 1481/tcp +airs 1481/udp +miteksys-lm 1482/tcp #Miteksys License Manager +miteksys-lm 1482/udp #Miteksys License Manager +afs 1483/tcp #AFS License Manager +afs 1483/udp #AFS License Manager +confluent 1484/tcp #Confluent License Manager +confluent 1484/udp #Confluent License Manager +lansource 1485/tcp +lansource 1485/udp +nms_topo_serv 1486/tcp +nms_topo_serv 1486/udp +localinfosrvr 1487/tcp +localinfosrvr 1487/udp +docstor 1488/tcp +docstor 1488/udp +dmdocbroker 1489/tcp +dmdocbroker 1489/udp +insitu-conf 1490/tcp +insitu-conf 1490/udp +anynetgateway 1491/tcp +anynetgateway 1491/udp +stone-design-1 1492/tcp +stone-design-1 1492/udp +netmap_lm 1493/tcp +netmap_lm 1493/udp +ica 1494/tcp +ica 1494/udp +cvc 1495/tcp +cvc 1495/udp +liberty-lm 1496/tcp +liberty-lm 1496/udp +rfx-lm 1497/tcp +rfx-lm 1497/udp +watcom-sql 1498/tcp +watcom-sql 1498/udp +fhc 1499/tcp #Federico Heinz Consultora +fhc 1499/udp #Federico Heinz Consultora +vlsi-lm 1500/tcp #VLSI License Manager +vlsi-lm 1500/udp #VLSI License Manager +sas-3 1501/tcp #Satellite-data Acquisition System 3 +sas-3 1501/udp #Satellite-data Acquisition System 3 +shivadiscovery 1502/tcp #Shiva +shivadiscovery 1502/udp #Shiva +imtc-mcs 1503/tcp #Databeam +imtc-mcs 1503/udp #Databeam +evb-elm 1504/tcp #EVB Software Engineering License Manager +evb-elm 1504/udp #EVB Software Engineering License Manager +funkproxy 1505/tcp #Funk Software, Inc. +funkproxy 1505/udp #Funk Software, Inc. +utcd 1506/tcp #Universal Time daemon (utcd) +utcd 1506/udp #Universal Time daemon (utcd) +symplex 1507/tcp +symplex 1507/udp +diagmond 1508/tcp +diagmond 1508/udp +robcad-lm 1509/tcp #Robcad, Ltd. License Manager +robcad-lm 1509/udp #Robcad, Ltd. License Manager +mvx-lm 1510/tcp #Midland Valley Exploration Ltd. Lic. Man. +mvx-lm 1510/udp #Midland Valley Exploration Ltd. Lic. Man. +3l-l1 1511/tcp +3l-l1 1511/udp +wins 1512/tcp #Microsoft's Windows Internet Name Service +wins 1512/udp #Microsoft's Windows Internet Name Service +fujitsu-dtc 1513/tcp #Fujitsu Systems Business of America, Inc +fujitsu-dtc 1513/udp #Fujitsu Systems Business of America, Inc +fujitsu-dtcns 1514/tcp #Fujitsu Systems Business of America, Inc +fujitsu-dtcns 1514/udp #Fujitsu Systems Business of America, Inc +ifor-protocol 1515/tcp +ifor-protocol 1515/udp +vpad 1516/tcp #Virtual Places Audio data +vpad 1516/udp #Virtual Places Audio data +vpac 1517/tcp #Virtual Places Audio control +vpac 1517/udp #Virtual Places Audio control +vpvd 1518/tcp #Virtual Places Video data +vpvd 1518/udp #Virtual Places Video data +vpvc 1519/tcp #Virtual Places Video control +vpvc 1519/udp #Virtual Places Video control +atm-zip-office 1520/tcp #atm zip office +atm-zip-office 1520/udp #atm zip office +ncube-lm 1521/tcp #nCube License Manager +ncube-lm 1521/udp #nCube License Manager +rna-lm 1522/tcp #Ricardo North America License Manager +rna-lm 1522/udp #Ricardo North America License Manager +cichild-lm 1523/tcp +cichild-lm 1523/udp +ingreslock 1524/tcp #ingres +ingreslock 1524/udp #ingres +prospero-np 1525/tcp #Prospero Directory Service non-priv +prospero-np 1525/udp #Prospero Directory Service non-priv +#PROBLEMS!======================================================== +orasrv 1525/tcp #oracle +orasrv 1525/udp #oracle +#PROBLEMS!======================================================== +pdap-np 1526/tcp #Prospero Data Access Prot non-priv +pdap-np 1526/udp #Prospero Data Access Prot non-priv +tlisrv 1527/tcp #oracle +tlisrv 1527/udp #oracle +mciautoreg 1528/tcp +mciautoreg 1528/udp +support 1529/tcp prmsd gnatsd # cygnus bug tracker +coauthor 1529/tcp #oracle +coauthor 1529/udp #oracle +rap-service 1530/tcp +rap-service 1530/udp +rap-listen 1531/tcp +rap-listen 1531/udp +miroconnect 1532/tcp +miroconnect 1532/udp +virtual-places 1533/tcp #Virtual Places Software +virtual-places 1533/udp #Virtual Places Software +micromuse-lm 1534/tcp +micromuse-lm 1534/udp +ampr-info 1535/tcp +ampr-info 1535/udp +ampr-inter 1536/tcp +ampr-inter 1536/udp +sdsc-lm 1537/tcp +sdsc-lm 1537/udp +3ds-lm 1538/tcp +3ds-lm 1538/udp +intellistor-lm 1539/tcp #Intellistor License Manager +intellistor-lm 1539/udp #Intellistor License Manager +rds 1540/tcp +rds 1540/udp +rds2 1541/tcp +rds2 1541/udp +gridgen-elmd 1542/tcp +gridgen-elmd 1542/udp +simba-cs 1543/tcp +simba-cs 1543/udp +aspeclmd 1544/tcp +aspeclmd 1544/udp +vistium-share 1545/tcp +vistium-share 1545/udp +abbaccuray 1546/tcp +abbaccuray 1546/udp +laplink 1547/tcp +laplink 1547/udp +axon-lm 1548/tcp #Axon License Manager +axon-lm 1548/udp #Axon License Manager +shivahose 1549/tcp #Shiva Hose +shivasound 1549/udp #Shiva Sound +3m-image-lm 1550/tcp #Image Storage license manager 3M Company +3m-image-lm 1550/udp #Image Storage license manager 3M Company +hecmtl-db 1551/tcp +hecmtl-db 1551/udp +pciarray 1552/tcp +pciarray 1552/udp +issd 1600/tcp +issd 1600/udp +# IMPORTANT NOTE: Ports 1645/1646 are the traditional radius ports used by +# many vendors without obtaining official IANA assignment. The official +# assignment is now ports 1812/1813 and users are encouraged to migrate +# when possible to these new ports. +#radius 1645/udp #RADIUS authentication protocol (old) +#radacct 1646/udp #RADIUS accounting protocol (old) +nkd 1650/tcp +nkd 1650/udp +shiva_confsrvr 1651/tcp +shiva_confsrvr 1651/udp +xnmp 1652/tcp +xnmp 1652/udp +netview-aix-1 1661/tcp +netview-aix-1 1661/udp +netview-aix-2 1662/tcp +netview-aix-2 1662/udp +netview-aix-3 1663/tcp +netview-aix-3 1663/udp +netview-aix-4 1664/tcp +netview-aix-4 1664/udp +netview-aix-5 1665/tcp +netview-aix-5 1665/udp +netview-aix-6 1666/tcp +netview-aix-6 1666/udp +netview-aix-7 1667/tcp +netview-aix-7 1667/udp +netview-aix-8 1668/tcp +netview-aix-8 1668/udp +netview-aix-9 1669/tcp +netview-aix-9 1669/udp +netview-aix-10 1670/tcp +netview-aix-10 1670/udp +netview-aix-11 1671/tcp +netview-aix-11 1671/udp +netview-aix-12 1672/tcp +netview-aix-12 1672/udp +pptp 1723/tcp #Point-to-point tunnelling protocol +# IMPORTANT NOTE: See comments for ports 1645/1646 when using older equipment +radius 1812/udp #RADIUS authentication protocol (IANA sanctioned) +radacct 1813/udp #RADIUS accounting protocol (IANA sanctioned) +licensedaemon 1986/tcp #cisco license management +licensedaemon 1986/udp #cisco license management +tr-rsrb-p1 1987/tcp #cisco RSRB Priority 1 port +tr-rsrb-p1 1987/udp #cisco RSRB Priority 1 port +tr-rsrb-p2 1988/tcp #cisco RSRB Priority 2 port +tr-rsrb-p2 1988/udp #cisco RSRB Priority 2 port +tr-rsrb-p3 1989/tcp #cisco RSRB Priority 3 port +tr-rsrb-p3 1989/udp #cisco RSRB Priority 3 port +#PROBLEMS!=================================================== +mshnet 1989/tcp #MHSnet system +mshnet 1989/udp #MHSnet system +#PROBLEMS!=================================================== +stun-p1 1990/tcp #cisco STUN Priority 1 port +stun-p1 1990/udp #cisco STUN Priority 1 port +stun-p2 1991/tcp #cisco STUN Priority 2 port +stun-p2 1991/udp #cisco STUN Priority 2 port +stun-p3 1992/tcp #cisco STUN Priority 3 port +stun-p3 1992/udp #cisco STUN Priority 3 port +#PROBLEMS!=================================================== +ipsendmsg 1992/tcp +ipsendmsg 1992/udp +#PROBLEMS!=================================================== +snmp-tcp-port 1993/tcp #cisco SNMP TCP port +snmp-tcp-port 1993/udp #cisco SNMP TCP port +stun-port 1994/tcp #cisco serial tunnel port +stun-port 1994/udp #cisco serial tunnel port +perf-port 1995/tcp #cisco perf port +perf-port 1995/udp #cisco perf port +tr-rsrb-port 1996/tcp #cisco Remote SRB port +tr-rsrb-port 1996/udp #cisco Remote SRB port +gdp-port 1997/tcp #cisco Gateway Discovery Protocol +gdp-port 1997/udp #cisco Gateway Discovery Protocol +x25-svc-port 1998/tcp #cisco X.25 service (XOT) +x25-svc-port 1998/udp #cisco X.25 service (XOT) +tcp-id-port 1999/tcp #cisco identification port +tcp-id-port 1999/udp #cisco identification port +callbook 2000/tcp +callbook 2000/udp +dc 2001/tcp +wizard 2001/udp #curry +globe 2002/tcp +globe 2002/udp +cfingerd 2003/tcp #GNU finger +mailbox 2004/tcp +emce 2004/udp #CCWS mm conf +berknet 2005/tcp +oracle 2005/udp +invokator 2006/tcp +raid-cc 2006/udp #raid +dectalk 2007/tcp +raid-am 2007/udp +conf 2008/tcp +terminaldb 2008/udp +news 2009/tcp +whosockami 2009/udp +search 2010/tcp +pipe_server 2010/udp +raid-cc 2011/tcp #raid +servserv 2011/udp +ttyinfo 2012/tcp +raid-ac 2012/udp +raid-am 2013/tcp +raid-cd 2013/udp +troff 2014/tcp +raid-sf 2014/udp +cypress 2015/tcp +raid-cs 2015/udp +bootserver 2016/tcp +bootserver 2016/udp +cypress-stat 2017/tcp +bootclient 2017/udp +terminaldb 2018/tcp +rellpack 2018/udp +whosockami 2019/tcp +about 2019/udp +xinupageserver 2020/tcp +xinupageserver 2020/udp +servexec 2021/tcp +xinuexpansion1 2021/udp +down 2022/tcp +xinuexpansion2 2022/udp +xinuexpansion3 2023/tcp +xinuexpansion3 2023/udp +xinuexpansion4 2024/tcp +xinuexpansion4 2024/udp +ellpack 2025/tcp +xribs 2025/udp +scrabble 2026/tcp +scrabble 2026/udp +shadowserver 2027/tcp +shadowserver 2027/udp +submitserver 2028/tcp +submitserver 2028/udp +device2 2030/tcp +device2 2030/udp +blackboard 2032/tcp +blackboard 2032/udp +glogger 2033/tcp +glogger 2033/udp +scoremgr 2034/tcp +scoremgr 2034/udp +imsldoc 2035/tcp +imsldoc 2035/udp +objectmanager 2038/tcp +objectmanager 2038/udp +lam 2040/tcp +lam 2040/udp +interbase 2041/tcp +interbase 2041/udp +isis 2042/tcp +isis 2042/udp +isis-bcast 2043/tcp +isis-bcast 2043/udp +rimsl 2044/tcp +rimsl 2044/udp +cdfunc 2045/tcp +cdfunc 2045/udp +sdfunc 2046/tcp +sdfunc 2046/udp +#dls 2047/tcp +#dls 2047/udp +dls-monitor 2048/tcp +dls-monitor 2048/udp +nfsd 2049/tcp nfs # NFS server daemon +nfsd 2049/udp nfs # NFS server daemon +#PROBLEMS!============================================================= +#shilp 2049/tcp +#shilp 2049/udp +#PROBLEMS!============================================================= +dlsrpn 2065/tcp #Data Link Switch Read Port Number +dlsrpn 2065/udp #Data Link Switch Read Port Number +dlswpn 2067/tcp #Data Link Switch Write Port Number +dlswpn 2067/udp #Data Link Switch Write Port Number +zephyr-clt 2103/udp #Zephyr serv-hm connection +zephyr-hm 2104/udp #Zephyr hostmanager +#PROBLEMS!============================================================= +#zephyr-hm-srv 2105/udp #Zephyr hm-serv connection +#PROBLEMS!============================================================= +eklogin 2105/tcp #Kerberos (v4) encrypted rlogin +eklogin 2105/udp #Kerberos (v4) encrypted rlogin +ekshell 2106/tcp #Kerberos (v4) encrypted rshell +ekshell 2106/udp #Kerberos (v4) encrypted rshell +rkinit 2108/tcp #Kerberos (v4) remote initialization +rkinit 2108/udp #Kerberos (v4) remote initialization +ats 2201/tcp #Advanced Training System Program +ats 2201/udp #Advanced Training System Program +ivs-video 2232/tcp #IVS Video default +ivs-video 2232/udp #IVS Video default +ivsd 2241/tcp #IVS Daemon +ivsd 2241/udp #IVS Daemon +pehelp 2307/tcp +pehelp 2307/udp +cvspserver 2401/tcp #CVS network server +cvspserver 2401/udp #CVS network server +venus 2430/tcp #venus +venus 2430/udp #venus +venus-se 2431/tcp #venus-se +venus-se 2431/udp #venus-se +codasrv 2432/tcp #codasrv +codasrv 2432/udp #codasrv +codasrv-se 2433/tcp #codasrv-se +codasrv-se 2433/udp #codasrv-se +rtsserv 2500/tcp #Resource Tracking system server +rtsserv 2500/udp #Resource Tracking system server +rtsclient 2501/tcp #Resource Tracking system client +rtsclient 2501/udp #Resource Tracking system client +hp-3000-telnet 2564/tcp #HP 3000 NS/VT block mode telnet +zebrasrv 2600/tcp #zebra service +zebra 2601/tcp #zebra vty +ripd 2602/tcp #RIPd vty +ripngd 2603/tcp #RIPngd vty +ospfd 2604/tcp #OSPFd vty +bgpd 2605/tcp #BGPd vty +ospf6d 2606/tcp #OSPF6d vty +listen 2766/tcp #System V listener port +www-dev 2784/tcp #world wide web - development +www-dev 2784/udp #world wide web - development +dict 2628/tcp #RFC 2229 +dict 2628/udp #RFC 2229 +NSWS 3049/tcp +NSWS 3049/udp +sj3 3086/tcp #SJ3 (kanji input) +vmodem 3141/tcp +vmodem 3141/udp +ccmail 3264/tcp #cc:mail/lotus +ccmail 3264/udp #cc:mail/lotus +dec-notes 3333/tcp #DEC Notes +dec-notes 3333/udp #DEC Notes +rsvp-encap 3455/udp #RSVP encapsulated in UDP +mapper-nodemgr 3984/tcp #MAPPER network node manager +mapper-nodemgr 3984/udp #MAPPER network node manager +mapper-mapethd 3985/tcp #MAPPER TCP/IP server +mapper-mapethd 3985/udp #MAPPER TCP/IP server +mapper-ws_ethd 3986/tcp #MAPPER workstation server +mapper-ws_ethd 3986/udp #MAPPER workstation server +bmap 3421/tcp #Bull Apprise portmapper +bmap 3421/udp #Bull Apprise portmapper +prsvp 3455/tcp #RSVP Port +prsvp 3455/udp #RSVP Port +vat 3456/tcp #VAT default data +vat 3456/udp #VAT default data +vat-control 3457/tcp #VAT default control +vat-control 3457/udp #VAT default control +udt_os 3900/tcp #Unidata UDT OS +udt_os 3900/udp #Unidata UDT OS +netcheque 4008/tcp #NetCheque accounting +netcheque 4008/udp #NetCheque accounting +lockd 4045/udp # NFS lock daemon/manager +lockd 4045/tcp +nuts_dem 4132/tcp #NUTS Daemon +nuts_dem 4132/udp #NUTS Daemon +nuts_bootp 4133/tcp #NUTS Bootp Server +nuts_bootp 4133/udp #NUTS Bootp Server +rwhois 4321/tcp #Remote Who Is +rwhois 4321/udp #Remote Who Is +unicall 4343/tcp +unicall 4343/udp +krb524 4444/tcp +krb524 4444/udp +# PROBLEM krb524 assigned the port, +# PROBLEM nv used it without an assignment +nv-video 4444/tcp #NV Video default +nv-video 4444/udp #NV Video default +sae-urn 4500/tcp +sae-urn 4500/udp +fax 4557/tcp #FAX transmission service +hylafax 4559/tcp #HylaFAX client-server protocol +rfa 4672/tcp #remote file access server +rfa 4672/udp #remote file access server +commplex-main 5000/tcp +commplex-main 5000/udp +commplex-link 5001/tcp +commplex-link 5001/udp +rfe 5002/tcp #radio free ethernet +rfe 5002/udp #radio free ethernet +telelpathstart 5010/tcp +telelpathstart 5010/udp +telelpathattack 5011/tcp +telelpathattack 5011/udp +mmcc 5050/tcp #multimedia conference control tool +mmcc 5050/udp #multimedia conference control tool +rmonitor_secure 5145/tcp +rmonitor_secure 5145/udp +aol 5190/tcp #America-Online +aol 5190/udp #America-Online +aol-1 5191/tcp #AmericaOnline1 +aol-1 5191/udp #AmericaOnline1 +aol-2 5192/tcp #AmericaOnline2 +aol-2 5192/udp #AmericaOnline2 +aol-3 5193/tcp #AmericaOnline3 +aol-3 5193/udp #AmericaOnline3 +jabber-client 5222/tcp #Jabber Client Connection +jabber-client 5222/udp #Jabber Client Connection +padl2sim 5236/tcp +padl2sim 5236/udp +jabber-server 5269/tcp #Jabber Server Connection +jabber-server 5269/udp #Jabber Server Connection +hacl-hb 5300/tcp # HA cluster heartbeat +hacl-hb 5300/udp # HA cluster heartbeat +hacl-gs 5301/tcp # HA cluster general services +hacl-gs 5301/udp # HA cluster general services +hacl-cfg 5302/tcp # HA cluster configuration +hacl-cfg 5302/udp # HA cluster configuration +hacl-probe 5303/tcp # HA cluster probing +hacl-probe 5303/udp # HA cluster probing +hacl-local 5304/tcp +hacl-local 5304/udp +hacl-test 5305/tcp +hacl-test 5305/udp +cfengine 5308/tcp +cfengine 5308/udp +postgresql 5432/tcp #PostgreSQL Database +postgresql 5432/udp #PostgreSQL Database +rplay 5555/udp +canna 5680/tcp #Canna (Japanese Input) +proshareaudio 5713/tcp #proshare conf audio +proshareaudio 5713/udp #proshare conf audio +prosharevideo 5714/tcp #proshare conf video +prosharevideo 5714/udp #proshare conf video +prosharedata 5715/tcp #proshare conf data +prosharedata 5715/udp #proshare conf data +prosharerequest 5716/tcp #proshare conf request +prosharerequest 5716/udp #proshare conf request +prosharenotify 5717/tcp #proshare conf notify +prosharenotify 5717/udp #proshare conf notify +cvsup 5999/tcp #CVSup file transfer/John Polstra/FreeBSD +x11 6000/tcp #6000-6063 are assigned to X Window System +x11 6000/udp +x11-ssh 6010/tcp #Unofficial name, for convenience +x11-ssh 6010/udp +softcm 6110/tcp #HP SoftBench CM +softcm 6110/udp #HP SoftBench CM +spc 6111/tcp #HP SoftBench Sub-Process Control +spc 6111/udp #HP SoftBench Sub-Process Control +meta-corp 6141/tcp #Meta Corporation License Manager +meta-corp 6141/udp #Meta Corporation License Manager +aspentec-lm 6142/tcp #Aspen Technology License Manager +aspentec-lm 6142/udp #Aspen Technology License Manager +watershed-lm 6143/tcp #Watershed License Manager +watershed-lm 6143/udp #Watershed License Manager +statsci1-lm 6144/tcp #StatSci License Manager - 1 +statsci1-lm 6144/udp #StatSci License Manager - 1 +statsci2-lm 6145/tcp #StatSci License Manager - 2 +statsci2-lm 6145/udp #StatSci License Manager - 2 +lonewolf-lm 6146/tcp #Lone Wolf Systems License Manager +lonewolf-lm 6146/udp #Lone Wolf Systems License Manager +montage-lm 6147/tcp #Montage License Manager +montage-lm 6147/udp #Montage License Manager +ricardo-lm 6148/tcp #Ricardo North America License Manager +ricardo-lm 6148/udp #Ricardo North America License Manager +xdsxdm 6558/tcp +xdsxdm 6558/udp +ircd 6667/tcp #Internet Relay Chat (unoffical) +acmsoda 6969/tcp +acmsoda 6969/udp +afs3-fileserver 7000/tcp #file server itself +afs3-fileserver 7000/udp #file server itself +afs3-callback 7001/tcp #callbacks to cache managers +afs3-callback 7001/udp #callbacks to cache managers +afs3-prserver 7002/tcp #users & groups database +afs3-prserver 7002/udp #users & groups database +afs3-vlserver 7003/tcp #volume location database +afs3-vlserver 7003/udp #volume location database +afs3-kaserver 7004/tcp #AFS/Kerberos authentication service +afs3-kaserver 7004/udp #AFS/Kerberos authentication service +afs3-volser 7005/tcp #volume management server +afs3-volser 7005/udp #volume management server +afs3-errors 7006/tcp #error interpretation service +afs3-errors 7006/udp #error interpretation service +afs3-bos 7007/tcp #basic overseer process +afs3-bos 7007/udp #basic overseer process +afs3-update 7008/tcp #server-to-server updater +afs3-update 7008/udp #server-to-server updater +afs3-rmtsys 7009/tcp #remote cache manager service +afs3-rmtsys 7009/udp #remote cache manager service +afs3-resserver 7010/tcp #MR-AFS residence server +afs3-resserver 7010/udp #MR-AFS residence server +afs3-remio 7011/tcp #MR-AFS remote IO server +afs3-remio 7011/udp #MR-AFS remote IO server +ups-onlinet 7010/tcp #onlinet uninterruptable power supplies +ups-onlinet 7010/udp #onlinet uninterruptable power supplies +font-service 7100/tcp #X Font Service +font-service 7100/udp #X Font Service +fodms 7200/tcp #FODMS FLIP +fodms 7200/udp #FODMS FLIP +dlip 7201/tcp +dlip 7201/udp +natd 8668/divert # Network Address Translation +jetdirect 9100/tcp #HP JetDirect card +man 9535/tcp +man 9535/udp +sd 9876/tcp #Session Director +sd 9876/udp #Session Director +amanda 10080/udp #Dump server control +amandaidx 10082/tcp #Amanda indexing +amidxtape 10083/tcp #Amanda tape indexing +isode-dua 17007/tcp +isode-dua 17007/udp +biimenu 18000/tcp #Beckman Instruments, Inc. +biimenu 18000/udp #Beckman Instruments, Inc. +dbbrowse 47557/tcp #Databeam Corporation +dbbrowse 47557/udp #Databeam Corporation +wnn4 22273/tcp #Wnn4 (Japanese input) +wnn4_Cn 22289/tcp #Wnn4 (Chinese input) +wnn4_Tw 22321/tcp #Wnn4 (Taiwanse input) +wnn4_Kr 22305/tcp #Wnn4 (Korean input) +wnn6 22273/tcp #Wnn6 (Japanese input) +wnn6_Cn 22289/tcp #Wnn6 (Chinese input) +wnn6_Tw 22321/tcp #Wnn6 (Taiwanse input) +wnn6_Kr 22305/tcp #Wnn6 (Korean input) +wnn6_DS 26208/tcp #Wnn6 (Dserver) diff --git a/etc/shells b/etc/shells new file mode 100644 index 0000000..fe1e029 --- /dev/null +++ b/etc/shells @@ -0,0 +1,9 @@ +# $FreeBSD$ +# +# List of acceptable shells for chpass(1). +# Ftpd will not allow users to connect who are not using +# one of these shells. + +/bin/sh +/bin/csh +/bin/tcsh diff --git a/etc/sysctl.conf b/etc/sysctl.conf new file mode 100644 index 0000000..398ce27 --- /dev/null +++ b/etc/sysctl.conf @@ -0,0 +1,6 @@ +# $FreeBSD$ +# +# This file is read when going to multi-user and its contents piped thru +# ``sysctl'' to adjust kernel values. ``man 5 sysctl.conf'' for details. +# + diff --git a/etc/syslog.conf b/etc/syslog.conf new file mode 100644 index 0000000..18d0fc8 --- /dev/null +++ b/etc/syslog.conf @@ -0,0 +1,30 @@ +# $FreeBSD$ +# +# Spaces ARE valid field separators in this file. However, +# other *nix-like systems still insist on using tabs as field +# separators. If you are sharing this file between systems, you +# may want to use only tabs as field separators here. +# Consult the syslog.conf(5) manpage. +*.err;kern.debug;auth.notice;mail.crit /dev/console +*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages +security.* /var/log/security +auth.info;authpriv.info /var/log/auth.log +mail.info /var/log/maillog +lpr.info /var/log/lpd-errs +cron.* /var/log/cron +*.emerg * +# uncomment this to log all writes to /dev/console to /var/log/console.log +#console.info /var/log/console.log +# uncomment this to enable logging of all log messages to /var/log/all.log +# touch /var/log/all.log and chmod it to mode 600 before it will work +#*.* /var/log/all.log +# uncomment this to enable logging to a remote loghost named loghost +#*.* @loghost +# uncomment these if you're running inn +# news.crit /var/log/news/news.crit +# news.err /var/log/news/news.err +# news.notice /var/log/news/news.notice +!startslip +*.* /var/log/slip.log +!ppp +*.* /var/log/ppp.log diff --git a/etc/termcap.small b/etc/termcap.small new file mode 100644 index 0000000..1f2ecdc --- /dev/null +++ b/etc/termcap.small @@ -0,0 +1,250 @@ +# Copyright (c) 1980, 1985, 1989 The Regents of the University of California. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. All advertising materials mentioning features or use of this software +# must display the following acknowledgement: +# This product includes software developed by the University of +# California, Berkeley and its contributors. +# 4. Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# @(#)termcap.src 5.88 (Berkeley) 4/30/91 +# $FreeBSD$ +# +# for syscons +# common entry without semigraphics +cons25w|ansiw|ansi80x25-raw:\ + :am:bs:NP:ms:pt:AX:eo:bw:ut:km:\ + :co#80:li#25:pa#64:Co#8:it#8:\ + :al=\E[L:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:\ + :dc=\E[P:dl=\E[M:do=\E[B:bt=\E[Z:ho=\E[H:ic=\E[@:cb=\E[1K:\ + :nd=\E[C:rs=\Ec:so=\E[7m:se=\E[27m:up=\E[A:cr=^M:ta=^I:\ + :AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:sc=\E7:rc=\E8:\ + :k1=\E[M:k2=\E[N:k3=\E[O:k4=\E[P:k5=\E[Q:k6=\E[R:k7=\E[S:k8=\E[T:\ + :k9=\E[U:k;=\E[V:F1=\E[W:F2=\E[X:K2=\E[E:nw=\E[E:ec=\E[%dX:\ + :kb=^H:kh=\E[H:ku=\E[A:kd=\E[B:kl=\E[D:kr=\E[C:le=^H:sf=\E[S:sr=\E[T:\ + :kN=\E[G:kP=\E[I:@7=\E[F:kI=\E[L:kD=\177:kB=\E[Z:\ + :IC=\E[%d@:DC=\E[%dP:SF=\E[%dS:SR=\E[%dT:AL=\E[%dL:DL=\E[%dM:\ + :DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:cv=\E[%i%dd:ch=\E[%i%d`:\ + :mb=\E[5m:md=\E[1m:mr=\E[7m:me=\E[m:bl=^G:\ + :ve=\E[=S:vi=\E[=1S:vs=\E[=2S: +# CP437 FreeBSD console with ACS support +cons25|ansis|ansi80x25:\ + :ac=l\332m\300k\277j\331u\264t\303v\301w\302q\304x\263n\305`^Da\260f\370g\361~\371.^Y-^Xh\261i^U0\333y\363z\362:\ + :tc=cons25w: +cons25-m|ansis-mono|ansi80x25-mono:\ + :pa@:Co@:AF@:AB@:AX@:op@:us=\E[4m:ue=\E[24m:tc=cons25: +cons30|ansi80x30:\ + :li#30:tc=cons25: +cons30-m|ansi80x30-mono:\ + :li#30:tc=cons25-m: +cons43|ansi80x43:\ + :li#43:tc=cons25: +cons43-m|ansi80x43-mono:\ + :li#43:tc=cons25-m: +cons50|ansil|ansi80x50:\ + :li#50:tc=cons25: +cons50-m|ansil-mono|ansi80x50-mono:\ + :li#50:tc=cons25-m: +cons60|ansi80x60:\ + :li#60:tc=cons25: +cons60-m|ansi80x60-mono:\ + :li#60:tc=cons25-m: +# KOI8-R/KOI8-U FreeBSD console with ACS support +cons25r|cons25u|pc3r|ibmpc3r|cons25-koi8:\ + :ac=q\200x\201m\204v\211j\205t\206n\212u\207l\202w\210k\203y\230z\231f\234~\225a\220h\2210\215:\ + :tc=cons25w: +cons25r-m|cons25u-m|pc3r-m|ibmpc3r-mono|cons25-koi8-mono:\ + :pa@:Co@:AF@:AB@:AX@:op@:us=\E[4m:ue=\E[24m:tc=cons25r: +cons30r|cons30u|cons30-koi8:\ + :li#30:tc=cons25r: +cons30r-m|cons30u-m|cons30-koi8-mono:\ + :li#30:tc=cons25r-m: +cons43r|cons43u|cons43-koi8:\ + :li#43:tc=cons25r: +cons43r-m|cons43u-m|cons43-koi8-mono:\ + :li#43:tc=cons25r-m: +cons50r|cons50u|cons50-koi8:\ + :li#50:tc=cons25r: +cons50r-m|cons50u-m|cons50-koi8-mono:\ + :li#50:tc=cons25r-m: +cons60r|cons60u|cons60-koi8:\ + :li#60:tc=cons25r: +cons60r-m|cons60u-m|cons60-koi8-mono:\ + :li#60:tc=cons25r-m: +# ISO 8859-2 FreeBSD console with ACS support +cons25l2|cons25-iso8859-2:\ + :ac=f\260i\247:\ + :tc=cons25w: +cons25l2-m|cons25-iso8859-2-mono:\ + :pa@:Co@:AF@:AB@:AX@:op@:us=\E[4m:ue=\E[24m:tc=cons25l2: +cons30l2|cons30-iso8859-2:\ + :li#30:tc=cons25l2: +cons30l2-m|cons30-iso8859-2-mono:\ + :li#30:tc=cons25l2-m: +cons43l2|cons43-iso8859-2:\ + :li#43:tc=cons25l2: +cons43l2-m|cons43-iso8859-2-mono:\ + :li#43:tc=cons25l2-m: +cons50l2|cons50-iso8859-2:\ + :li#50:tc=cons25l2: +cons50l2-m|cons50-iso8859-2-mono:\ + :li#50:tc=cons25l2-m: +cons60l2|cons60-iso8859-2:\ + :li#60:tc=cons25l2: +cons60l2-m|cons60-iso8859-2-mono:\ + :li#60:tc=cons25l2-m: +# ISO 8859-1 FreeBSD console with ACS support +cons25l1|cons25-iso8859-1:\ + :ac=f\260g\261}\243+\253,\273i\247:\ + :tc=cons25w: +cons25l1-m|cons25-iso8859-1-mono:\ + :pa@:Co@:AF@:AB@:AX@:op@:us=\E[4m:ue=\E[24m:tc=cons25l1: +cons30l1|cons30-iso8859-1:\ + :li#30:tc=cons25l1: +cons30l1-m|cons30-iso8859-1-mono:\ + :li#30:tc=cons25l1-m: +cons43l1|cons43-iso8859-1:\ + :li#43:tc=cons25l1: +cons43l1-m|cons43-iso8859-1-mono:\ + :li#43:tc=cons25l1-m: +cons50l1|cons50-iso8859-1:\ + :li#50:tc=cons25l1: +cons50l1-m|cons50-iso8859-1-mono:\ + :li#50:tc=cons25l1-m: +cons60l1|cons60-iso8859-1:\ + :li#60:tc=cons25l1: +cons60l1-m|cons60-iso8859-1-mono:\ + :li#60:tc=cons25l1-m: +# ISO 8859-7 FreeBSD console with ACS support +cons25l7:cons25-iso8859-7:\ + :ac=f\260g\261{\360}\243+\253,\273i\247:\ + :tc=cons25w: +cons25l7-m|cons25-iso8859-7-mono:\ + :pa@:Co@:AF@:AB@:AX@:op@:us=\E[4m:ue=\E[24m:tc=cons25l7: +cons30l7|cons30-iso8859-7:\ + :li#30:tc=cons25l7: +cons30l7-m|cons30-iso8859-7-mono:\ + :li#30:tc=cons25l7-m: +cons43l7|cons43-iso8859-7:\ + :li#43:tc=cons25l7: +cons43l7-m|cons43-iso8859-7-mono:\ + :li#43:tc=cons25l7-m: +cons50l7|cons50-iso8859-7:\ + :li#50:tc=cons25l7: +cons50l7-m|cons50-iso8859-7-mono:\ + :li#50:tc=cons25l7-m: +cons60l7|cons60-iso8859-7:\ + :li#60:tc=cons25l7: +cons60l7-m|cons60-iso8859-7-mono:\ + :li#60:tc=cons25l7-m: +# +dosansi|ANSI.SYS standard crt:\ + :am:bs:ce=\E[K:cl=\E[2J:cm=\E[%i%d;%dH:co#80:\ + :do=\E[B:li#25:mi:nd=\E[C:\ + :se=\E[m:so=\E[7m:up=\E[A:us=\E[4m:ue=\E[m:\ + :md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:\ + :kh=\EG:kb=^h:ku=\EH:kd=\EP:kl=\EK:kr=\EM:\ + :k1=\E;:k2=\E<:k3=\E=:k4=\E>:k5=\E?:\ + :k6=\E@:k7=\EA:k8=\EB:k9=\EC:k0=\ED: + +# The following is a version of the ibm-pc entry distributed with PC/IX, +# (Interactive Systems' System 3 for the Big Blue), modified by Richard +# McIntosh at UCB/CSM. The :pt: and :uc: have been removed from the original, +# (the former is untrue, and the latter failed under UCB/man); standout and +# underline modes have been added. Note: this entry describes the "native" +# capabilities of the PC monochrome display, without ANY emulation; most +# communications packages (but NOT PC/IX connect) do some kind of emulation. +pc|ibmpc|ibm pc PC/IX:\ + :li#24:co#80:am:bs:bw:eo:\ + :cd=\E[J:ce=\E[K:cl=\Ec:cm=\E[%i%2;%2H:do=\E[B:ho=\E[;H:\ + :nd=\E[C:up=\E[A:so=\E[7m:se=\E[0m:us=\E[4m:ue=\E[0m: +pc3mono|IBM PC 386BSD Console with monochrome monitor:\ + :so=\E[0;1r\E[m:tc=pc3: +pc3|ibmpc3|IBM PC 386BSD Console:\ + :Co#8:\ + :DO=\E[%dB:\ + :F1=\E[W:\ + :F2=\E[X:\ + :K1=\E[H:\ + :K2=\E[I:\ + :K3=\E[E:\ + :K4=\E[F:\ + :K5=\E[G:\ + :LE=\E[%dD:\ + :RI=\E[%dC:\ + :Sb=\E[1;%dx:\ + :Sf=\E[2;%dx:\ + :UP=\E[%dA:\ + :ac=l\332m\300k\277j\331u\264t\303v\301w\302q\304x\263n\305`^Da\260f\370g\361~\371.^Y-^Xh\261I^U0\333y\363z\362:\ + :am:\ + :bl=^G:\ + :bs:\ + :cb=\E[1K:\ + :cd=\E[J:\ + :ce=\E[K:\ + :cl=\E[H\E[J:\ + :cm=\E[%i%d;%dH:\ + :co#80:\ + :cr=^M:\ + :do=\E[B:\ + :ho=\E[H:\ + :is=\E[m:\ + :it#8:\ + :k;=\E[V:\ + :k1=\E[M:\ + :k2=\E[N:\ + :k3=\E[O:\ + :k4=\E[P:\ + :k5=\E[Q:\ + :k6=\E[R:\ + :k7=\E[S:\ + :k8=\E[T:\ + :k9=\E[U:\ + :kD=\177:\ + :@7=\E[F:\ + :kN=\E[G:\ + :kP=\E[I:\ + :kb=\177:\ + :kd=\E[B:\ + :kh=\E[H:\ + :kl=\E[D:\ + :kr=\E[C:\ + :ku=\E[A:\ + :le=^H:\ + :li#25:\ + :ms:\ + :nd=\E[C:\ + :op=\E[x:\ + :pa#64:\ + :rs=\E[m:\ + :se=\E[m:\ + :sf=\E[S:\ + :so=\E[7;1r\E[7m:\ + :sr=\E[T:\ + :ta=^I:\ + :te=\E[m:\ + :ti=\E[m:\ + :up=\E[A:\ + :ut: diff --git a/etc/usbd.conf b/etc/usbd.conf new file mode 100644 index 0000000..550bd26 --- /dev/null +++ b/etc/usbd.conf @@ -0,0 +1,54 @@ +# Configuration file the USB daemon. +# +# See usbd.conf(5) for the description of the format of the file. +# +# $FreeBSD$ + +# Firmware download into the ActiveWire board. After the firmware download is +# done the device detaches and reappears as something new and shiny automatically. +# +device "ActiveWire board, firmware download" + vendor 0x0854 + product 0x0100 + release 0x0000 + attach "/usr/local/bin/ezdownload -f /usr/local/share/usb/firmware/0854.0100.0_01.hex ${DEVNAME}" + +# Firmware download for Entrega Serial DB25 adapter. +# +device "Entrega Serial with UART" + product 0x8001 + vendor 0x1645 + release 0x0101 + attach "if ! kldstat -n usio > /dev/null 2>&1 ; then kldload usio; fi" + attach "/usr/sbin/ezdownload -v -f /usr/share/usb/firmware/1645.8001.0101 /dev/${DEVNAME}" + +# The entry below starts and stops dhclient when an ethernet device is inserted +# Caveat: It does not support multiple interfaces (but neither does pccardd, +# it shouldn't be too big a deal :-) +# +device "USB ethernet" + devname "[ack]ue[0-9]+" + attach "/etc/pccard_ether ${DEVNAME} start" + detach "/etc/pccard_ether ${DEVNAME} stop" + +# This entry starts the ColdSync tool in daemon mode. Make sure you have an up +# to date /usr/local/etc/palms. We override the 'listen' settings for port and +# type in /usr/local/etc/coldsync.conf. +device "Handspring Visor" + devname "ugen[0-9]+" + vendor 0x082d + product 0x0100 + release 0x0100 + attach "/usr/local/bin/coldsync -md -p /dev/${DEVNAME} -t usb" + +# The entry below starts moused when a mouse is plugged in. Moused +# stops automatically (actually it bombs :) when the device disappears. +# +device "Mouse" + devname "ums[0-9]+" + attach "/usr/sbin/moused -p /dev/${DEVNAME} -I /var/run/moused.${DEVNAME}.pid ; /usr/sbin/vidcontrol -m on" + +# The fallthrough entry: Nothing is specified, nothing is done. And it isn't +# necessary at all :-). Just for pretty printing in debugging mode. +# +device "USB device" |