- Implement ether_hostton()
- Implement ether_aton()
- Modify ether_aton() and ether_ntoa() to match the semantics of the
SunOS versions of these functions.
- Neaten up ether_hostton() and ether_ntohost() a little.
- Get rid of ether_print() since it isn't needed for rarpd and it isn't
documented as a standard ethers(5) function.
rarpd.8:
- Make it clear that the 'ipaddr' that rarpd looks for in /tftpboot
is actually in hexadecimal (as in /tftpboot/803B4032) since those who
are not versed in the black art of system administration are not likely
to know this.
table; arptab.c is really a hacked up version of arp.c that only
supports adding temporary entries. (This stuff is nasty -- I wish I
knew what was so wrong with SIOCSARP/SIOCGARP/etc... that made the
BSD developers decide to take it out.) The idea here is that the
client issuing the rarp is expected to be in the middle of booting
and would therefore be unable to answer arp queries from other machines
on the wire. Having rarpd stuff a temporary entry for the booting
host into the local arp table helps keep arp requests from going unanswered.
Also added ether_print() and ether_ntoa() to the ether_addr.c module.
Eventually I'll get ether_aton() and ether_hostton() written and
then this file can be dropped straight into libc. (Assuming no one
objects, of course. :)
"Yes Virginia, there is a rarpd."
(Before anyone asks, this *not* the rarpd from NetBSD. It did come from
the same place as theirs, however.)
This is a port of the rarpd program included with the tcpdump-2.0
source code (which I finally unearthed after scrounging around
some of the darker corners of the Internet). It's as close to the
original as I could keep it except for the following changes:
- The original program was based on an older version of the Berkeley
Packet Filter which used different filter programming instructions.
Fortunately, an updated RARP packet filter is available right in the
BPF man page so this was easy to fix.
- The old code didn't know how to deal with variable length addresses
in ifreq buffers. This has been fixed.
- Some byte order weirdness had to be fixed. The sanity checks in
rarp_check() needed some htons()es, and the rarp_reply() function
needed to properly set the ether_type field in the ethernet header
to ETHERTYPE_REVARP before transmitting the packet, otherwise
the bytes in ether_type would wind up reversed. It is important to note
that using htons(ETHERTYPE_REVARP) will not work. This is odd, because
the NetBSD rarpd uses htons(ETHERTYPE_REVARP). (Praise be to tcpdump:
I would never have been able to track this silliness down without it.)
- The update_arptab() function has been castrated. It depends on
SIOCSARP which has been deprecated in 4.4BSD. The NetBSD people
don't seem to be using this function either. It wouldn't be too
hard to replace this with equivalent code from arp.c, but it
might not be necessary.
- I put together an ether_ntohost() support function that allows
both local (/etc/ethers) and NIS lookups. This stuff should go
in libc at some point, but nothing else seems to need it for now,
so it can wait a while.
As you may have guessed, you need to have the Berkeley Packet Filter in
your kernel in order to use this program. The good news is that together
with the recently added bootparamd, you can use finally use a FreeBSD
box to boot Sun boxes over the network. (This was my whole motivation
for getting this stuff to work: I have this one subnet that has a whole
bunch of Sun3 X-terminals on it with only two Sun4 workstations, both
of which are locked in peoples' offices. If those two machines crash
(and they do every so often) then none of the X-terms will boot. Now I
can use a spare PC that I have as a boot server. :)
thinking that it would work :( The install program never get a destination
directory. Here is another patch that should also be added. I think this
should be the last one for these makefiles :)
[Note: I realize that there are more things wrong than this, but this should
at least get the tree compiling again! -jkh]
Submitted by: John Hay <jhay@mikom.csir.co.za>
work if you don't have the obj link. Here is a patch for it. It will still
work if you don't have an obj link:)
(I stuck a ${DESTDIR} in front of the absolute path to /usr/include... /phk)
Reviewed by: phk
Submitted by: John Hay <jhay@mikom.csir.co.za>
I hope I'm doing this right.
This is an initial version of bootparamd for FreeBSD based on a public
domain rpc.bootparamd implementation by a gentleman named Klas Heggemann.
This program has apparently been around for a while. The README explicitly
lists the code as public domain, so I guess it's safe to use.
This program is needed for booting diskless SunOS and Solaris machines.
rarpd is also required, but that's in the works too.
I have made two changes to this code:
- Implemented NIS lookups. If /etc/bootparams contains a '+' then the
bootparams map is consulted.
- Allow 0.0.0.0 as a user-specified router address. The SunOS rpc.bootparamd
returns this value in many cases.
o Supporting SYNC SIO device (But need a device driver)
- add "set speed sync"
o Fixing bug for Predictor-1 function.
o Add new parameter that re-sent interval for set timeout commands.
o Improving RTT (Round Trip Time) and reducing processor time.
- Previous Timer service was using polling, and now using
SIGALRM ;-)
- A 0.94beta2 will not work correctly....
-- Follows are additinal feature not including 0.94beta2
o Support Proxy ARP
- add "enable/disable proxy" commands
o Marging common routine in CHAP/PAP.
o Enhancing LCP/IPCP log information.
o Support local Authfication connection on port 300x and tty.
- You can set up pair of your "hostname -s" and
password in ppp.secret. if either ppp.secret file nor
your hostname line don't exist, It will notify a message
and working as same as previous version.(Backword compatibility)
- If you did set up them, It's allow connection but nothing to do
except help and passwd command.
- add "passwd yourpasswd" commands
o Support afilter - keep Alive filter that a packet can send/receiving
according to ifilter/ofilter but doesn't count it as preventing idle
timer expires.
- Same syntax of other filters.
o Fixing bugs reported by current user for previous one. Thanks !!
Reviewed by: Atsushi Murai (amurai@spec.co.jp)
Fixes to ypbind:
- Correctly report the fact that we've bound to a new server when
logging the 'server OK' message.
- Report 'server not responding' just once instead of every
5 seconds while searching for a new server. (Prevents overstuffing
the syslog.)
- Apply patch from Sebstian Strollo to implement '-s' (secure) flag.
ypbind will reject connections from servers that do not originate
from a reserved TCP port.
- Apply patch from Sebastian Strollo to detect when a YP server has
crashed and come back up on a different port number.
This patch fixes the concurrency problem, and adds a possibly useful -f switch
(which you can read about in the man page :-) ). It also removes the absolute
path from the invocation of ctm. I'll write a note about how to use a script
with sendmail and procmail or some such, and people can fix their PATH there.
BTW, this patch changes ctm_rmail.1, ctm_rmail.c and error.c in the ctm_rmail
directory.
Stephen.
Reviewed by: phk
Submitted by: Stephen McKay <syssgm@devetir.qld.gov.au>
I'm never going to generate one, so this is a guard against hackers mostly.
Reviewed by: phk
Submitted by: Stephen McKay <syssgm@devetir.qld.gov.au>
Obtained from:
Now I know that there was talk of moving it to the release/Makefile or the
etc/Makefile, but I don't think it was ever decided where.
Reviewed by: phk
Submitted by: John Hay <jhay@mikom.csir.co.za>
If you invoke config with the `-n' flag or have NO_CONFIG_CLOBBER in
your environment, config will behave the same way it used to. This is
now _documented_ as well. Rip out all the CONFIG_DONT_CLOBBER cruft;
some of it wasn't even correct anyway.
Removed screensavers from syscons, they are now LKM's. This makes it
possible to do some really "interesting" screensavers...
Fixed bug that sometimes caused garbage to appear when leaving
"scroll-lock" history.
Reformattet indentation, it got too deep for a normal 80 pos screen.
Split up in syscons.c & syscons.h for use with the saver-lkm's.
Temporarily removed -s option from vidcontrol, savers should now
be loaded with modload.
IP addresses and/or protocol+port, but in the case where both are
supplied, it happily accepts the command but ignores the proto+port
It also attempts to handle the case where the second IP address
is omitted, but this doesn't work.
Reviewed by: amurai@spec.co.jp
Submitted by: Andrew.Gordon@net-tel.co.uk
via sysctl(8). The initial value of maxprocperuid is maxproc-1,
that of maxfilesperproc is maxfiles (untill maxfile will disappear)
Now it is at least possible to prohibit one user opening maxfiles
-Guido
Submitted by:
Obtained from:
just thinking about it.
Two changes need to be made to allow 'config kernel swap generic' to
work properly without requiring any compile-time flags:
/usr/src/usr.sbin/config/mkswapconf.c: we need to define a dummy stub
for the setconf() function to replace the one in swapgeneric.c that
isn't available in non-generic configurations.
/usr/src/sys/i386/i386/autoconf.c: the -a boot flag causes setroot()
to be skipped and lets setconf() prompt the user for a root device.
If you skip setroot() in a non-generic kernel, you could get severely
hosed. To avoid this, we silently ignore the -a flag if rootdev != NODEV.
(rootdev is always initialized to NODEV in swapgeneric.c, so if
we find that rootdev is something other than NODEV, we know we're
not using a generic configuration.)
Support slice numbers in device names. The syntax is `<driver name>
[<unit number>] ['s' <slice number>] [<partition letter>]'. Only
`['s' <slice number>]' is new here. The slice number defaults to 0
so that there is no change in the output from config if this new
feature is not used.
Replace some magic disk numbers by `dk' slice and label macros.
mkswapconf.c:
Improve the output formatting:
Generate <> style includes.
Print minor numbers in hex so that slice numbers are easy to see and edit.
Print the rootdev and dumpdev names in comments like the swapdev names.
The existing ypbind exhibits some truly anti-social behavior. After
initially establishing a binding with an NIS server, the following events
take place:
- ypbind waits for 60 seconds before trying to broadcast a ping again
- after the 60 seconds expires, ypbind sends out broadcasts every 5 seconds
come hell or high water.
These broadcasts travel far and wide, even to NIS servers in other domains
which dutifully log the packets even though they don't respond to them.
This leads to lots of unnecessary traffic and bloated log files.
This behavior has been fixed/changed. Here's what happens now:
- We still broadcast every 5 seconds at startup, just like before.
- Once bound, we send out packets once every 60 seconds to the server
we're bound to AND NO ONE ELSE.
- If we fail to receive a reply from our server within FAIL_THRESHOLD
seconds, we assume our server has croaked and go back to broadcasting
everywhere every 5 seconds again until somebody answers. FAIL_THRESHOLD
is currently set to 20 seconds.
Other fixes/improvements:
- ypbind now logs 'server not responding' and 'server OK' messages where
appropriate.
Thanks to Thomas Graichen <graichen@omega.physik.fu-berlin.de> for
reporting the problem and guilt-tripping me into fixing it. :)
in the script. The result is the following :
203 [23:47] root@keltia:/build/cvs-1.4A2# manctl
/usr/sbin/manctl: 165: Syntax error: ";" unexpected
Here is the fix :
Submitted by: Ollivier Robert <Ollivier.Robert@keltia.frmug.fr.net>
in here that just made it a heck of a lot more confusing to maintain.
Somebody like Joerg can reality-check this at some point, when they have more
time. For now, it works.
Display update method changed, now allways write in memory buffer,
then periodically update physical display.
Speed improvements (now > 5 times faster than the old syscons).
History now circular buffer, with changeable size.
History scroll by up/down line, up/down page, home and end.
Backtab proberly implemented.
Now space for 96 function keys, 63 allocated standard, default now
SCO/SYSV compat again as in the old days.
New keyboard definition files ~share/syscons/keymaps/*
Misc fixes for old "hacks" that broke SCO/SYSV compat.
More that I forgot before writing this...
> So, the problem is hostnamebyanyaddr() assumes that _res is already
> initialized to proper values, but this is no longer true as of BIND
> 4.9.3. Here is a patch for sendmail 8.6.9 which changes
> hostnamebyanyaddr() to make sure res_init() has been called before using
> _res.retry.
Submitted by: Matt Day <mday@artisoft.com> via Terry Lambert
This command is required to exist in terms of compatibility with the
Posix 1003.2 specification. It actually invokes the lpr service with
the proper options.
No kernel config options anymore besides keyboard language layout.
Virtual consoles are now dynamically allocated, no NCONS anymore.
Software cursor blinking/nonblinking.
Visual bell for laptops (don't beep at meetings :-).
Cursor/bell default type setable via config "flags" instead of as defines.
Cursor/bell type setable via ioctl's.
New video modes 80x30 80x60 for some laptops, and those with multisync monitors.
Scroll-lock history (length currently fixed at 100 lines).
Lots of cleanups, some only commented out for now (will goaway soon).
Support for new features in vidcontrol/kbdcontrol.
Updated manpages.
Index descriptions are limited to MAXINDEXSIZE (60) chars. Any description
beyond that is truncated. Also, only the first line is displayed as well.
This allows pkg_info -a -I to be formated in two columns with one line
per package for easy reading.
Reviewed by: jkh
Bogus pstat usage message from pstat:
usage: pstat -Tfnstv [system] [-M core] [-N system]
[system] is not mentioned in the man page and I don't
see where it is used in the code either.
Added also a [] around the first options to show them as optional, ATS.
for ioconf.c with the current and suppress the generation if they are
equal. This now prevents all the warnings from the c-compiler about
sio or snd or two adaptecs. This works only if the sio lines are grouped
together in the config files, but it is better than nothing.
in getting mirror-2.3 to work with FreeBSD, i found that timelocal.pl has
a bug. a patch is included below. this needs to be applied to both
src/gnu/usr.bin/perl/lib/timelocal.pl and
src/usr.sbin/xntpd/scripts/monitoring/timelocal.pl
Reviewed by:
Submitted by:
Obtained from:
/*
* filename [ standard | optional ] [ config-dependent ]
* [ dev* | profiling-routine ] [ device-driver] [ no-obj ]
* [ compile-with "compile rule" [no-implicit-rule] ]
* [ dependancy "dependancy-list"]
*/
I added
no-obj - This entry does not create anything linkable to the kernel.
dependancy - Add additional dependancy rules to a target.
no-implicit-rule - Don't assume .c -> .o type rules. Config is really
dumb in this area and assumes that everything is a .c file
irregarless of extention. This was the best choice really
since there may even be .c file that you don't want to follow
the standard rules.
This was all done so that the building to the aic7770 assembler and using
the aic7770 assembler in the building of the aic7770 driver could be config
dependant. I can now have an entry like this for the driver:
aic7770 optional ahc device-driver \
compile-with "${CC} $> -o $@" \
dependancy "$S/gnu/misc/aic7770/aic7770.c" \
no-obj no-implicit-rule
aic7770_seq.h optional ahc device-driver \
compile-with "${.CURDIR}/aic7770 -o $@ $S/gnu/misc/aic7770/aic7770.seq"\
dependancy "$S/gnu/misc/aic7770/aic7770.seq aic7770" \
no-obj no-implicit-rule
i386/isa/aic7770.c optional ahc device-driver \
dependancy "aic7770_seq.h"
I also added '\' escaping to newlines so that this doesn't look as gross as
it could have.
Reviewed by: jkh
I know that many of these entries are bogus and need to be revisited,
but let's get the tree working again for now and then do a pass through
looking at all the __FreeBSD__ entries, shall we?
Also initialize some fields that were never initialized before, and
simply defaulted to 0. I've never looked at this code before, now
I know why. Config needs to die. Horribly.
most common cd9660 and nfs options like God intended them. (It is now
possible to say
mount -o ro,soft,bg,intr there:/foo/bar /foo/bar
again.) This whole getmntopt() business is an incredible botch;
it never should have been anything more than a wrapper around
getsubopt(3). Because if the way the current hackaround is implemented,
options which take arguments (like the old `rsize' and `wsize') are still
unavailable, and must be accessed the new, broken way.
(It's unimaginable how Berkeley managed to screw up one of the few things
about NFS that Sun actually got right to begin with!)
Could you please commit this patch to usr.sbin/crunch/examples ?
This should make fixit.conf compilable again.
VI needs some hacks.
[Note: I'm not sure how relevant this example is anymore, but then it's only
an example]
Submitted by: mr
Make swapinfo use libc functions for obtaining device information.
Note: swapinfo should actually be deprecated, not fixed. pstat -s performs
the same function.
Submitted by: jhay
1) malloc.h doesn't exits in 2.0.
2) Makefile.inc wasn't picked up so one of the build steps (install?)
failed.
3) LIBMD wasn't depended on.
4) "ctm foo" dumped core because "foo" doesn't have a '.' in it.
Bruce
I updated the mkCTM stuff while I was at it anyway. /phk
Reviewed by: phk
Submitted by: bde
which is enabled by default (use `-c' to get the old format). The new
format looks like this (only the values are correct; this was taken on my
machine with a slightly old kernel):
Device St Parent Description
---------- -- ---------- --------------------------------------------------
isa0 NC -
sc0 NC isa0 Parallel printer adapter
ed0 NC isa0 SMC8216/SMC8216C
sio0 NC isa0 RS-232 serial port
sio1 NC isa0 RS-232 serial port
fdc0 NC isa0 floppy disk/tape controller
fd0 NC fdc0 floppy disk
wdc0 NC isa0 ST506/ESDI/IDE disk controller
wd0 NC wdc0 ST506/ESDI/IDE disk
npx0 NC isa0 Floating-point unit
Note that many of these fields could be made more informative; I tried to make
my changes as unintrusive as possible. See the `mcd' driver for an example
of one which actually does something with the `state' field.
managed by kern_devconf.c. A useful feature is that the following
script generates almost well-formed config-file lines for all ISA devices
in the system:
lsdev -t isa | awk '{ print "device $0" }'
lsdev -t disk | awk '{ print "disk $0" }'
vidcontrol out of machine-independance into the I386 & clean
dependant sections. Also move 'timed' out of machine-dependace into
machine-independance
Reviewed by: rgrimes
For one thing, the handling of arch-specific utilities is broken, and
things like apm and apmconf (and fdformat, kbdcontrol, vidcontrol, etc)
shouldn't be built for all arch's.
time. This caused differences in the nanosecond portion of the time to
screwup the logic and made mtree think it should compare the modtime even
though "time" wasn't specified. The end result is that mtree couldn't deal
with procfs because procfs sets the mtime with high accuracy via microtime().
DANGER WILL ROBINSON!
_PATH_UNIX is currently defined as the literal string "don't use this".
I am of two minds about this myself, but wanted to get something into the
tree as quickly as possible.
!!!!!!!!
NB
!!!!!!!!
You MUST pwd_mkdb /etc/master.passwd before attempting to use the new
libc, or things may go wrong. (I doubt anything actually /will/ go
wrong, but the actual behavior is undefined. YOU HAVE BEEN WARNED.)
The database format is, however, backwards-compatible, so old executables
will still work.
subscriptions yet. Wait for the announcement.
CTM is my humble attempt to get -current out to people beyond TCP/IP
connections. This is for people with dial-up connections and such.
CTM can make a delta from one version to another of a source-tree, in
a efficient and verified way. Even if there are binary files in the
tree. It will even try to make the delta as small as possible.
It is OK with me if you yell "Bloating!" but I'll just forward your email
to some of the happy customers from CTM version 1, and let them tell you
what they think.
I will not put ctm into "make world" yet. For now it is just the logical
way to get the sources out to people who helps me test this.
Poul-Henning
2. Clean up code so it compiles -Wall (except for sccsid's and copyright).
This included fixing several printf formats that where not correct,
and changing the data types of a few things.
3. Implement new option -i that produces indented mtree output files.
4. Implement new option -n that turns off directory comments.
5. Only emit /set records if something has changed since the last one.
it onto a bunch of floppies in a semi-intelligent way.
Useful for things like: tar cf - . | gzip -9 | fdwrite -d /dev/rfd0.1720 -v
Where it will keep asking for floppies until tar is done.
- Makefile changes (manual installation)
- (hwaddr.c rtmsg.c) Do setting of arp cache entries by writing to
routing socket, rather than by calling arp(8).
place.
Removed mount_pcfs until we have a replacement.
Removed fdisk until it is ported and/or replaced.
Now have to include many more libraries due to /bin/sh changes.
conditional did it backwards, thus flipping the behavior back off
again by default (and only re-enableable through a very counter-intuitive
option setting!). I'm glad I caught this and would merely like to state
again for the record that if you're going to go and modify my changes then
you should at least:
1. Do it correctly, since to do otherwise is kind of a slap in the
face.
2. TELL me.
This is not me just being compulsive, this is simple courtesy.
I'm speaking just of my own preferences here, not necessarily trying
to impose my standards on the group at large (e.g. some other folks might
not even care).
Submitted by: jkh
actually have a printer connected or online:
- MAKEDEV: remove all signs of lpa
add lpctl? devices (minor # = unit + 128)
- usr.sbin/Makefile add lptcontrol
- sys/i386/isa/lpt.c implement the LP_BYPASS flag: when a unit is
opened with this flag set, the printer is
not primed, and no check is made to see that
the printer is online. This can only be used
to pass ioctls. (giving us /dev/lpctl?)
- lptcontrol.c use /dev/lpctl? (LP_BYPASS)
-f flag removed, -u flag added
- lptcontrol.8 document changes in lptcontrol
rewrite using mandoc macros
Submitted by: Geoff.
and recreate any previous ../../compile/<blah> directory before laying
down new files. The depends just aren't smart enough to save
us from the grief that config's old behavior has always caused.
Submitted by: jkh
automagically. -lfoo has to be right to work, but ${LIBFO0} is too
easy to forget or misspell; nothing checks it and it should be
different for shared libraries.
/usr/src/usr.sbin.config:
o -DSTATCLOCK gives kludges to support the rtc non-device as well as
old kludges to support the clk non-device.
/usr/src/usr.sbin/config.8:
o Document the trivialness of the new vector.h.
/usr/src/usr.sbin/mkglue.c:
o Only print DEVICE_NAMES and NR_DEVICES in vector.h. These are
only required to support vmstat. The vmstat interface will need
to be improved for dynamic loading.
/usr/src/usr.sbin/mkioconf.c:
o Print device ids to be used as indexes into DEVICE_NAMES.
o Print secondary interrupt handler entry points (xxxintr()) instead
of primary ones (VdevU()). Primary ones are now XintrI() and
XfastintrI() and are independent of the config so they are not
handled here.
o Minor cleanups.
Submitted by: Bruce Evans
kernel a.out file, meaning that this is where the kernel starts.
(not at KERNBASE) - KERNBASE is 0xf0000000, while the kernel loads at
0xf0100000
Reviewed by:
Back out my earlier change. Note that this is just for the 1.1.5R floppies;
the 1.1.5A ones still have the work-around method (which works fine and
doesn't hurt anything, it's just kludge!).
called `-' lying around on the users system forever) login shells will fail.
Just special-case the handling of `-' for now until/unless I find a more
palatable solution.
in the packing list, or the argument to -p if it is specified, before
the requirements/installation/deinstallation scripts are called. This
enables the scripts to be written to work on the final installation
destination, even if the user uses -p to override the package's default.
compresses man pages
uncompresses man pages
purges old formatted man pages (not implemented yet)
currently still under development, but worth trying out (IMHO)
a man page ;-) must still be written for manctl - to follow shortly
This version still doesn't talk to the kernel PLL code, but you should be
able to convince it to do so relatively easily. Also deleted some junk
files and fixed all compilation warnings.
Message-Id: <9402201119.AA06430@login.dkuug.dk>
Subject: bug in fdformat.c
There is a bug in fdformat.c: the number of heads are hardcoded in two places.
This is quite inconsequencial at present, but a bug nontheless.
the fix is to import the structures from protocols/routed.h and change
the sockaddr to osockaddr. We can't change the generic include file
because too many other things rely on this in order to deal with the
kernel routing socket (which is sockaddr format).
are used or not.
Add .verions to the CLEANFILES+= on those Makefiles that create a version.c
file.
Remove reference to nonexistent file ref_omega.c in one Makefile.
Fix copy of authdes.c.expot so that it works with or without obj directories.
No compiles both with and without obj directories.
-q turns on "quiet" mode, where informational headers and such are not
dumped, just the information.
-L Shows full pathnames of files comprising a package. With -q,
this can be useful for doing fileset operations, such as
"du -s `pkg_info -q -L foo_bin`" to see how much space package
"foo_bin" is taking up.
Made pkg_add -n less bitchy.
Made -p in pkg_add override "default" package location in pkg_create.
Added concept of "slave" and "master" modes, allowing many different things
to be done to packing lists on the fly. This is really something for
front-end drivers to use, but also something for the more expert user.
rename()'ing files before trying to copy them, thus saving
considerable time when targets and staging area are on same filesystem.