Basically rewrite the dofork() routine, to add more error-checking and
correct the error-checking that was there. With the old code, an error
return from getpwuid(daemon_user) could turn the lpd process into a very
effective fork-bomb...
Reviewed by: freebsd-audit freebsd-print (a little...)
MFC after: 6 days
output_data(), output_datalen() and netflush() didn't actually guarantee
to do what they are supposed to: under some circumstances output data would
be truncated, or the buffer would not actually be flushed (possibly leading
to overflows when the caller assumes the operation succeeded). Change the
semantics so that these functions ensure they complete the operation before
returning.
Comment out diagnostic code enabled by '-D reports' which causes an
infinite recursion and an eventual crash.
Patch developed with assistance from ru and assar.
You were knocked senseless by the Boomerang, spun around by the Cyclone,
blown over by the Hurricane and had a house dropped on you by the Tornado.
Now it's time to have your parade rained on by... the Typhoon!
This commit adds driver support for 3Com 3cR990 10/100 ethernet
adapters based on the Typhoon I and Typhoon II chipsets. This is actually
a port of the OpenBSD driver with many hacks by me.
No Virginia, there isn't any support for the hardware crypto yet. However
there is support for TCP/IP checksum offload and VLANs.
Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for
squeezing enough info out of 3Com to get this written, and for doing
most of the hard work.
Manual page is included. Compiled as a module and included in GENERIC.
change the default for isdn_fsdev to NO. specifying a device here
results in a potential conflict with a getty running on that device.
PR: 26818
Submitted by: Clement Ballabriga <clement@asso.ups-tlse.fr>
Break the list of parameter expansions into two lists so that
the paragraph introducing the prefix and suffix pattern expansions
does not appear as part of the explanation for the string length
expansion.
Add scripts and Makefile support for building ISO images automatically
as part of the release if MAKE_ISOS is set. Will also build the
first CD with packages (in addition to the "minimal" CD) if CD_EXTRA_BITS
points to them. This probably need a bit more work to get fully useful,
but it at least covers the basics for now.
If the user sets SENDMAIL_MC to /etc/mail/sendmail.mc, install is told to
install /etc/mail/sendmail.cf to /etc/mail/sendmail.cf and exits with an
error:
===> etc/sendmail
install -c -o root -g wheel -m 644 /etc/mail/sendmail.cf /etc/mail/sendmail.cf
install: /etc/mail/sendmail.cf and /etc/mail/sendmail.cf are the same file
*** Error code 64
Catch this in the Makefile and don't call install if the source and target
are the same file.
Reported by: Alexandr Listopad <laa@reis.zp.ua>
MFC after: 1 week
Fix a few more minor compile-time warnings, mainly by using size_t where
appropriate, and using '("%lu", (unsigned long)asizeval)' when printing
something of type size_t.
Remove an old hack that remembered if the card type was Linksys by
storing a flag in the global variable 'linksys' during the probe
routine and reading it during the attach routine. We now have the
ED_VENDOR_LINKSYS vendor code stored in sc->vendor, so check that
instead.
Attach the miibus for Linksys/Dlink cards from the attach routine,
not from the probe routine. This was an oversight when I originally
ported the miibus support to -current, though it was mostly harmless.
We now set the vendor code to the new value ED_VENDOR_LINKSYS in
ed_pccard_Linksys() at probe time. Then ed_pccard_attach() checks
the vendor code, and sets up the miibus if appropriate.
As per further discussions on hackers redo the SIGCHLD patch to not generate
an unexpected user-visible side effect with the sigaction flags. Also cleanup
a minor union issue.
Submitted by: Rudolf Cejka <cejkar@dcse.fee.vutbr.cz>
MFC addendum: MFC will be combined w/ original commit
MFC after: 3 days
- Fix "off by one" error in VT_WAITACTIVATE. Correctly accept
0 as meaning the requesting vty.
- Accept 0 as the requesting vty in VT_ACTIVATE as in VT_WAITACTIVE.
Fix some bugs and general brain damage in mounttab:
- Declare mtabhead as an extern in mounttab.h and define it only in
mounttab.c.
- Remove shared global `verbose' and instead pass it as a parameter.
- Remove the `mtabp' argument to read_mtab(). It served no purpose
whatsoever, although read_mtab() did use it as a temporary local
variable.
- Don't check for impossible conditions when parsing mounttab, and
do detect zero-length fields.
- Correctly test for strtoul() failures - just testing ERANGE is wrong.
- Include a field name in syslog errors, and avoid passing NULL to
a syslog %s field.
- Don't test if arrays are NULL.
- If there are duplicates when writing out mounttab, keep the last
entry instead of the first, as it will have a later timestamp.
- Fix a few formatting issues.
Update rpc.umntall and umount to match the mounttab interface changes.
Change the errx() example. Error messages passed to the err(3)
functions shouldn't have the first word capitalized, and shouldn't
have a period at the end. This is how most of our programs, and most
(all?) of the 4.4BSD programs, are. In the past, we've even done
sweeps to change things to comply to this.
Don't put a shell prompt in the example since none of the other man
pages do it. Also, don't use brackets to indicate optional options in
the example; instead, add a paragraph below the example explaining it.
Error messaging in ipfw(8) was out of hand, almost 50 lines of usage
information for any command line error, the actual error message
almost always (and sometimes irretrievably) lost scrolling off the top
of the screen. Now just print the error. Give ipfw(8) no arguments for
the old usage summary.
Thanks to Lyndon Nerenberg <lyndon@orthanc.ab.ca> for the patch and
PR, but I had already done this when ru pointed out the PR.
Fix a selection of bugs, and improve code layout:
- Remove unnecessary and unused local variables.
- Include useful information in error and warning messages.
- Fix the logic for expiring mounttab entries.
- Remove calls to getaddrinfo - the results were not used.
- Simplify some string handling by using snprintf.
- Fix usage.
Rename the -w option to be -W. The recently-added -w option is different
than the long-standing -w option in NetBSD, so change it before anyone in
FreeBSD gets used to it. For now, -w is still accepted, but prints out
some warnings via syslog.
Include the remote hostname in RPC-related warning messages. Exit
immediately if a host specified by the -h flag cannot be parsed
instead of attempting to unmount all NFS filesystems, which was
bad.
Add a missing return statement at the end of checkname(); this
could result in a non-zero exit status in some cases even if the
unmount succeeded.
Group two separate NFS-related operations into one block to make
it more obvious that a variable (hostp) is not dereferenced when
uninitialised. Initialise it to NULL anyway to avoid a warning.
Pass in the read_mtab()'s bogus argument as NULL instead of messing
with a local variable to achieve the same effect. A later commit
will clean up this mounttab interface.
- Allow link-local multicast traffic for client.
- Allow ICMPv6 destination unreach, packet too big and NS/NA.
- RIPng also uses link-local to link-local.
I think this is OK for PC98, someone please check.
As was done to i386/boot_crunch.conf:
+ Build with `lint' defined to cut out some of the `rcsid's (binaries' code
only, the libs will still have the `rcsid's in them).
+ mount_mfs is OBE.
+ Do not need libipx as I have conditionally diked that functional out of
ifconfig(8).
Fix the install kernel on a 1.44MB floppy again.
I had to be aggressively Draconian to succeed.
I diked out:
+ Multia, NoName, PC/EB 64, Aspen Alpine support.
+ SCSI tape support
+ AMI MegaRAID controller support
+ All parallel bus support (includes PLIP)
+ vx (3c590, 3c595), pcn (AMD Am79C97x PCI 10/100), sf (Adaptec AIC-6915),
sis (SiS 900/SiS 7016), ste (Sundance ST201 (D-Link DFE-550TX)),
wb (Winbond W89C840F) support.
If the removal of any of this support causes heartburn, please let me know.
+ Build with `lint' defined to cut out some of the `rcsid's (binaries' code
only, the libs will still have the `rcsid's in them).
+ mount_mfs is OBE.
+ Do not need libipx as I have conditionally diked that functional out of
ifconfig(8).
+ Build with `lint' defined to cut out some of the `rcsid's (binaries' code
only, the libs will still have the `rcsid's in them).
+ mount_mfs is OBE.
+ The Alpha install does not support SLIP, PCCARD or USB installs; so we do
not need the associated userland utils.
+ Do not need libipx as I have conditionally diked that functional out of
ifconfig(8).
Another hangup bugfix from Juha:
Problem 1 is that the config entry hangup flag is zeroed only at
CONNECT_ACTIVE_IND in msghdl.c. If any (other) call is disconnected
after EV_MDO and before CONNECT_ACTIVE_IND, the cleanup routine will
disconnect the in-progress dialout as well, if its hangup flag is
nonzero (which it is likely to be) after the previous incarnation of the
cfg entry. Patch-1 fixes this by clearing the hangup flag as soon as a
cfg entry is reserved for the call.
Fix hangup bug; Juha writes:
Problem 2 is that doing a local hangup (eg. by writing "H" to the
dialout device) to a call which is already disconnected results in isdnd
moving the cfg entry to an illegal state, from which there is no
recovery. This is tricky because there is no way to synchronize local
hangup with the remote end (ie. the callee can always hang up at an
inconvenient time)! Hence, patch-2 alters fsm.c's EV_DRQ state table
such that the local hangup request is processed or ignored in most
states, even for disconnected calls.