Sascha Wildner [Sat, 17 Nov 2012 01:59:23 +0000 (02:59 +0100)]
Remove an unused header.
Sascha Wildner [Fri, 16 Nov 2012 23:49:42 +0000 (00:49 +0100)]
Clean up references to some obsolete functions in manual pages.
sigpause(2) -> sigsuspend(2)
sigsetmask(2)/sigblock(2) -> sigprocmask(2)
sigvec(2) -> sigaction(2)
alarm(3) -> setitimer(2)
pause(3) -> sigsuspend(2)
Based on similar changes in FreeBSD.
Sascha Wildner [Fri, 16 Nov 2012 17:19:02 +0000 (18:19 +0100)]
vfork.2: Document that vfork(2) returns pid_t.
Also adjust syscalls.master but it actually doesn't matter. These
adjustments are merely of a cosmetic nature.
Sascha Wildner [Fri, 16 Nov 2012 13:51:11 +0000 (14:51 +0100)]
nrelease/Makefile.usr: Relocate the git gc for pkgsrc to nrelease.
Since it was only meant for keeping the LiveDVD smaller, put it into
its build and don't force everyone to sit through it. The time it
takes seems to increase significantly on virtual machines with just
1G of RAM, for example. It seems to be quite memory hungry.
Reported-by: many
Sascha Wildner [Fri, 16 Nov 2012 12:19:38 +0000 (13:19 +0100)]
cp(1)/mv(1): Bring back a number of cleanups we did previously.
People (including myself) have put their time and thought into
this in the past, so we don't want this simply papered over with
the previous state.
Sascha Wildner [Fri, 16 Nov 2012 12:13:45 +0000 (13:13 +0100)]
Fix buildworld.
mv(1) is a bootstrap tool, hence it needs to build with host includes.
Sascha Wildner [Fri, 16 Nov 2012 10:42:05 +0000 (11:42 +0100)]
Update the pciconf(8) database.
November 14, 2012 snapshot from http://pciids.sourceforge.net/
John Marino [Fri, 16 Nov 2012 09:21:09 +0000 (10:21 +0100)]
/bin/mv: Sync with FreeBSD
1. Utilize central <paths.h> header
2. Meet posix spec for moving directory to existing non-empty directory
3. Meet posix spec for not moving directory over a file
4. Don't chop IO into pieces, use MAXPHYS
5. Add -h flag (similar to ln -h flag)
6. Test for input_is_terminal
7. Regression test added.
DETAILS
==========================================================================
1. remove pathnames.h file and add _PATH_RM to paths.h
2. Moving a directory to an existing non-empty directory will now fail as
required.
3. Prior to change this test past, but after change it failed on
cross-link devices. Original code added to check for case and return
-1 for the cross-link case.
4. Read files in one block and improve warn messages.
5. Using -h flag will force mv to treat a symbolic link to a directory
for the target as a symbolic link instead of a directory. This makes
it possible to atomically update a symbolic link using rename().
6. POSIX requires this behavior:
if (exists and (NOT f_options) AND
((not_writable AND input_is_terminal) OR i_option)) then
prompt
This behavior was implemented.
7. Passes all tests in suite. Prior to change it failed 2 of 32 tests.
Sepherosa Ziehau [Fri, 16 Nov 2012 08:59:53 +0000 (16:59 +0800)]
UPDATING: Mention DEVICE_POLLING is replaced by IFPOLL_ENABLE
Sepherosa Ziehau [Fri, 16 Nov 2012 08:56:19 +0000 (16:56 +0800)]
polling: Remove device_polling remainder
DEVICE_POLLING has no effect since this commit and will be nuked
after next release.
Sepherosa Ziehau [Fri, 16 Nov 2012 08:36:05 +0000 (16:36 +0800)]
polling: Remove device_polling support
Sepherosa Ziehau [Fri, 16 Nov 2012 08:35:32 +0000 (16:35 +0800)]
firewire: Mention IFPOLL_ENABLE instead of DEVICE_POLLING
Sepherosa Ziehau [Fri, 16 Nov 2012 07:50:46 +0000 (15:50 +0800)]
config: Remove device_polling from stock configures
Sepherosa Ziehau [Fri, 16 Nov 2012 07:46:01 +0000 (15:46 +0800)]
polling: Update manpage for device_polling to ifpoll switching
Sepherosa Ziehau [Fri, 16 Nov 2012 06:05:59 +0000 (14:05 +0800)]
wpi: This driver never supported polling
Sepherosa Ziehau [Fri, 16 Nov 2012 06:05:33 +0000 (14:05 +0800)]
iwn: This driver never supported polling
John Marino [Thu, 15 Nov 2012 23:31:35 +0000 (00:31 +0100)]
/bin/rm: fix removing symlinks with uchg/uappnd set
One error case described in FreeBSD PR bin/111226:
/bin/rm when running as super user and failing to unlink a
UF_APPEND|UF_IMMUTABLE protected symbolic link will reset the
UF_APPEND and UF_IMMUTABLE flags on the symbolic link's target (if
that target exists) - an object that /bin/rm should not touch! (Quote
from SUSv3: "The rm utility removes symbolic links themselves, not
the files they refer to, as a consequence of the dependence on the
unlink() functionality").
There was a failure case for /usr/bin/find as well, but swildner
recently synchronized find with FreeBSD and fixed that one.
Taken-from: FreeBSD SVN 193087 (30 MAY 2009)
John Marino [Thu, 15 Nov 2012 21:46:29 +0000 (22:46 +0100)]
libc/fts: Use O_CLOEXEC for internal file descriptors
Because fts keeps internal file descriptors open across calls, making such
descriptors close-on-exec helps not only multi-threaded applications but
also single-threaded applications.
In particular, this prevents passing a temporary file descriptor for saving
the current directory to processes created via find -exec.
Taken-from: FreeBSD SVN 241010 (27 SEP 2012)
John Marino [Thu, 15 Nov 2012 20:57:01 +0000 (21:57 +0100)]
bug 2443: bin/cp: sync with FreeBSD (bug fixes + new options)
* Fix FTS_NOCHDIR behavior on empty directory.
* Add -a option (archive mode, equivalent to -RpP)
* Add -l option (create hard links instead of copying)
* Add -x option (FS mount points are not traversed)
* Preserve file flags on symlinks on cp -Rp
* Don't copy socket anyway after "xxx is a socket (not copied)"
* Avoid division-by-zero situations
* make -r synonym for -R but maintain -r behavior with -L
Taken-from: FreeBSD (multiple commits)
https://bugs.dragonflybsd.org/issues/2443
Matthew Dillon [Thu, 15 Nov 2012 20:30:51 +0000 (12:30 -0800)]
kernel - Fix off-by-1 error in semexit
* Fix an off-by-1 error that was preventing semexit from properly undoing
all the semaphores controlled by the exiting process.
Reported-by: lentferj, vsrinivas, others
Antonio Huete Jimenez [Thu, 15 Nov 2012 19:13:03 +0000 (20:13 +0100)]
share/misc/gdbinit - New function lstdtok
- List tokens for a specified thread.
Sascha Wildner [Wed, 14 Nov 2012 22:57:04 +0000 (23:57 +0100)]
init(8): Resurrect kern.shutdown_timeout as kern.init_shutdown_timeout.
Taken from FreeBSD. Quoting their commit msg:
Fix system shutdown timeout handling by again supporting longer running
shutdown procedures (which have a duration of more than 120 seconds).
We have two user-space affecting shutdown timeouts: a "soft" one in
/etc/rc.shutdown and a "hard" one in init(8). The first one can be
configured via /etc/rc.conf variable "rcshutdown_timeout" and defaults
to 30 seconds. The second one was originally (in 1998) intended to be
configured via sysctl(8) variable "kern.shutdown_timeout" and defaults
to 120 seconds.
Unfortunately, the "kern.shutdown_timeout" was declared "unused" in 1999
(as it obviously is actually not used within the kernel itself) and
hence was intentionally but misleadingly removed in revision 1.107 from
init_main.c. Kernel sysctl(8) variables are certainly a wrong way to
control user-space processes in general, but in this particular case the
sysctl(8) variable should have remained as it supports init(8), which
isn't passed command line flags (which in turn could have been set via
/etc/rc.conf), etc.
As there is already a similar "kern.init_path" sysctl(8) variable which
directly affects init(8), resurrect the init(8) shutdown timeout under
sysctl(8) variable "kern.init_shutdown_timeout". But this time document
it as being intentionally unused within the kernel and used by init(8).
Also document it in the manpages init(8) and rc.conf(5).
Sascha Wildner [Wed, 14 Nov 2012 22:14:32 +0000 (23:14 +0100)]
libk{core,info}: The kern.ccpu sysctl is gone, so remove *get_sched_ccpu().
Interestingly, kcore_get_sched_ccpu() seems to never have returned ccpu,
but instead tk_nin, which is not related.
Sascha Wildner [Wed, 14 Nov 2012 21:24:23 +0000 (22:24 +0100)]
top(1): Remove some code that is unused after the UP removal.
Sascha Wildner [Wed, 24 Oct 2012 19:20:36 +0000 (21:20 +0200)]
<sys/proc.h>: Adjust the names of two unused bits to use bit numbering.
Sascha Wildner [Wed, 14 Nov 2012 10:06:26 +0000 (11:06 +0100)]
mount{,_ufs}: Fix wrong mountctl(2) error check.
mountctl(2) returns the number of copied bytes when successful, and -1
if there was an error. This prevented ", local" from being printed in
mount output.
Reported-by: YONETANI Tomokazu
Sascha Wildner [Tue, 13 Nov 2012 18:41:51 +0000 (19:41 +0100)]
Sync zoneinfo database with tzdata2012j from ftp://ftp.iana.org/tz/releases
* africa: Lybia set their time one hour back at 02:00 on November 10
(last Saturday).
* Additional miscellaneous fixes in various comments.
Sascha Wildner [Tue, 13 Nov 2012 18:39:40 +0000 (19:39 +0100)]
tzfile.5: Little wording fix (from tzcode2012j).
Sascha Wildner [Tue, 13 Nov 2012 17:35:17 +0000 (18:35 +0100)]
ipcs(1): Fix the "ipcs: kvm_nlist: No such file or directory" error.
The "semu" variable was removed in
79757ed082, causing this breakage.
Strangely, even before its removal it wasn't used for anything in
ipcs(1).
Reported-by: beket
Sascha Wildner [Tue, 13 Nov 2012 17:13:30 +0000 (18:13 +0100)]
ipcs(8): Raise WARNS to 6.
Sascha Wildner [Mon, 12 Nov 2012 20:59:30 +0000 (21:59 +0100)]
Really fix systat(1).
Sepherosa Ziehau [Mon, 12 Nov 2012 12:34:39 +0000 (20:34 +0800)]
ifconfig: Deprecate "pollcpu" and make "polling" same as "polling"
Sepherosa Ziehau [Mon, 12 Nov 2012 12:21:31 +0000 (20:21 +0800)]
fwe: Switch from device_polling to ifpoll
Antonio Huete Jimenez [Sun, 11 Nov 2012 23:18:01 +0000 (00:18 +0100)]
systat - Do not use ccpu for %cpu calculation in pigs view.
- ccpu went away after the new scheduler work so sync with
the current status of the kernel.
- Also remove all the unused kvm* stuff and get fscale via sysctl.
Reported-by: tpchin <tpchin@telstra.com>
Dragonfly-bug: <http://bugs.dragonflybsd.org/issues/2245>
Sascha Wildner [Sun, 11 Nov 2012 20:51:34 +0000 (21:51 +0100)]
Remove an ancient file that is no longer used.
Sascha Wildner [Sun, 11 Nov 2012 11:30:20 +0000 (12:30 +0100)]
loader: Detect SMBIOS and export its information into the environment.
Useful to check motherboard vendor/version, BIOS version and so forth.
Use kenv(1) for viewing the information.
This information can be accessed from the kernel but should only be
as a last resort.
Might also help in the future to better detect virtual machine types.
Taken-from: FreeBSD
Sepherosa Ziehau [Sun, 11 Nov 2012 11:10:50 +0000 (19:10 +0800)]
vge: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 11 Nov 2012 10:20:17 +0000 (18:20 +0800)]
nge: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 11 Nov 2012 09:44:04 +0000 (17:44 +0800)]
dc: Add missing ifpoll_compat_setup
Sepherosa Ziehau [Sun, 11 Nov 2012 09:29:24 +0000 (17:29 +0800)]
dc: Switch from device_polling to ifpoll
Sascha Wildner [Sun, 11 Nov 2012 09:26:17 +0000 (10:26 +0100)]
hammer.8: Add back an .El that was removed by mistake.
Sascha Wildner [Sat, 10 Nov 2012 10:03:17 +0000 (11:03 +0100)]
rpc.statd(8): Remove a duplicate function.
By now, xdr_stat_chge() is in librpcsvc, unlike what the comments suggest.
Adam Sakareassen [Thu, 8 Nov 2012 15:46:00 +0000 (02:46 +1100)]
Fix INVARIANT build issue
François Tigeot [Fri, 9 Nov 2012 23:07:51 +0000 (00:07 +0100)]
vquota(8): size information is expressed in bytes
Sascha Wildner [Fri, 9 Nov 2012 23:19:30 +0000 (00:19 +0100)]
Mark some functions in userland __printflike.
Sascha Wildner [Fri, 9 Nov 2012 23:19:05 +0000 (00:19 +0100)]
ndis_events(8): Remove a bogus argument.
John Marino [Thu, 8 Nov 2012 10:46:55 +0000 (11:46 +0100)]
bsd.init.mk: Establish compatibility with FreeBSD makefiles
FreeBSD changed NOMAN to NO_MAN and NOSHARED to NO_SHARED. Rather than
follow suit, establish NO_MAN and NO_SHARED as aliases for the DragonFly
versions. If both are defined, the DragonFly version takes precedence.
These were put in bsd.init.mk because they have to be loaded after the
makefile being processed but before bsd.prog.mk, bsd.lib.mk, etc.
Antonio Huete Jimenez [Thu, 8 Nov 2012 15:17:32 +0000 (16:17 +0100)]
debug - Add a basic Makefile
- Sync wildcardinfo with current state of affairs.
Stathis Kamperis [Thu, 8 Nov 2012 16:18:29 +0000 (18:18 +0200)]
objcache.9: cluster_limit is no longer changed
Sascha Wildner [Thu, 8 Nov 2012 08:50:27 +0000 (09:50 +0100)]
kernel: Mark two more functions __printflike.
Sascha Wildner [Thu, 8 Nov 2012 08:28:04 +0000 (09:28 +0100)]
mpt(4): Mark two functions __printflike.
John Marino [Wed, 7 Nov 2012 20:15:35 +0000 (21:15 +0100)]
getline(3): Fix segfault caused by NULL pointer
This fixes a segfault seen with pkg's audit function, and effectively syncs
getdelim with FreeBSD.
Taken-from: FreeBSD SVN 197752 (04 OCT 2009)
- Tolerate applications that pass a NULL pointer for the buffer and
claim that the capacity of the buffer is nonzero.
- If an application passes in a non-NULL buffer pointer and claims the
buffer has zero capacity, we should free (well, realloc) it anyway.
It could have been obtained from malloc(0), so failing to free it
would be a small memory leak.
Sascha Wildner [Wed, 7 Nov 2012 21:10:51 +0000 (22:10 +0100)]
mfi(4): Don't assert lock holding when dumping or during a panic.
FreeBSD's mtx_assert() does it the same way, but we usually translate
mtx_assert() into a KKASSERT(lockstatus(&lock, curthread) != 0).
For now, replace all of these assertions in mfi(4) with a function that
mimics the mtx_assert() behavior of FreeBSD, since some of the asserting
functions are used by the dumping code.
We might think about a real lockassert() function in the future that
has this exception too.
This commit fixes dumping on most supported adapters. Thunderbolt series
adapters still have an (unrelated) command timeout issue which I'm
looking at.
Reported and tested (on a PERC 5/i) by Tim Howe <tim@130collective.org>.
Sepherosa Ziehau [Wed, 7 Nov 2012 13:47:59 +0000 (21:47 +0800)]
igb: Configure TX head write back before turn enable bit in TXDCTL
The original configure sequence works on 82575 and 82576. However,
it does not work on i350 and probably will not work on 82580. For
these two chips TX head write back _must_ be configured before
turning on enable bit in TXDCTL according to their datasheet.
Reported-by: ftigeot@
Tested-by: ftigeot@ (i350), me w/ (82575, 82576)
Sepherosa Ziehau [Tue, 6 Nov 2012 14:19:10 +0000 (22:19 +0800)]
vr: Switch from device_polling to ifpoll
Sepherosa Ziehau [Tue, 6 Nov 2012 11:58:19 +0000 (19:58 +0800)]
fxp: Switch device_polling to ifpoll
Sepherosa Ziehau [Mon, 5 Nov 2012 13:31:43 +0000 (21:31 +0800)]
rl: Switch from device_polling to ifpoll
Optimize the RX path a little bit by reading the RL_CURRXADDR and
RL_CURRXBUF only if necessary; reading these two registers is quite
time consuming
Sepherosa Ziehau [Mon, 5 Nov 2012 13:30:19 +0000 (21:30 +0800)]
ifpoll: Closely follow the old status polling fraction in the compat code
Sascha Wildner [Tue, 6 Nov 2012 06:06:41 +0000 (07:06 +0100)]
ndiscvt(8): Add a missing space.
Submitted-by: Eitan Adler <lists@eitanadler.com>
Sascha Wildner [Tue, 6 Nov 2012 06:05:14 +0000 (07:05 +0100)]
hptrr(4): Add missing intrhook description.
Sascha Wildner [Tue, 6 Nov 2012 06:04:59 +0000 (07:04 +0100)]
hpt27xx(4): Add missing bootverbose and intrhook description.
Sascha Wildner [Tue, 6 Nov 2012 02:44:40 +0000 (03:44 +0100)]
Fix some typos in user visible messages, etc.
Sascha Wildner [Mon, 5 Nov 2012 08:27:54 +0000 (09:27 +0100)]
hexdump.3: Add missing .Sh LIBRARY and bump .Dd to when it was imported.
Sascha Wildner [Mon, 5 Nov 2012 05:28:03 +0000 (06:28 +0100)]
bsd-family-tree: Sync with FreeBSD (adds DragonFly 3.2 and OpenBSD 5.2).
Sascha Wildner [Mon, 5 Nov 2012 04:35:26 +0000 (05:35 +0100)]
sysctl.9: Fix another typo. frequence -> frequency
Found-with: igor
Sascha Wildner [Mon, 5 Nov 2012 04:18:45 +0000 (05:18 +0100)]
kernel: Remove unneeded #include <sys/devicestat.h> in disk/RAID drivers.
Justin C. Sherrill [Sun, 4 Nov 2012 21:27:44 +0000 (16:27 -0500)]
git gc --aggressive only cleaned up 4 mb of disk and took 7 minutes to run.
It doesn't seem to be worth the (admittedly small) time penalty.
Alex Hornung [Sun, 4 Nov 2012 15:53:22 +0000 (15:53 +0000)]
boot - some VIA processors also have long mode!
Sascha Wildner [Sun, 4 Nov 2012 15:38:04 +0000 (16:38 +0100)]
Fix some typos in the manpages.
Sascha Wildner [Sun, 4 Nov 2012 15:05:07 +0000 (16:05 +0100)]
kgdb.1: Fix macro ordering.
Sascha Wildner [Sun, 4 Nov 2012 13:53:29 +0000 (14:53 +0100)]
Remove word duplicates in some manual pages.
Sascha Wildner [Sun, 4 Nov 2012 13:36:49 +0000 (14:36 +0100)]
colldef.1: Do the last commit a bit better.
Sascha Wildner [Sun, 4 Nov 2012 13:00:36 +0000 (14:00 +0100)]
Sync zoneinfo database with tzdata2012i from ftp://ftp.iana.org/tz/releases
* asia: Comment typo fix.
* northamerica: Cuba switched back to standard time on 2012-11-04, 01:00.
Sepherosa Ziehau [Sun, 4 Nov 2012 12:19:20 +0000 (20:19 +0800)]
sis: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 11:02:07 +0000 (19:02 +0800)]
xl: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 10:25:49 +0000 (18:25 +0800)]
stge: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 10:04:03 +0000 (18:04 +0800)]
nfe: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 08:44:44 +0000 (16:44 +0800)]
re: Swicth from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 06:54:00 +0000 (14:54 +0800)]
bce: Switch from device_polling to ifpoll
Sepherosa Ziehau [Sun, 4 Nov 2012 06:52:38 +0000 (14:52 +0800)]
ifpoll: Also check sysctl_tree in compat code setup
John Marino [Sat, 3 Nov 2012 17:06:18 +0000 (18:06 +0100)]
elf_common.h: Add EM_AMD64 as alias to EM_X86_64
John Marino [Sat, 3 Nov 2012 15:32:51 +0000 (16:32 +0100)]
libutil: Implement hexdump(3)
Similar to hexdump(9) but available to userland.
Taken-from:
FreeBSD SVN 180161 (01 JUL 2008)
FreeBSD SVN 185729 (06 DEC 2008)
John Marino [Sat, 3 Nov 2012 15:19:12 +0000 (16:19 +0100)]
libutil: Implement group file utilities
Taken from FreeBSD's libutil
Sepherosa Ziehau [Sat, 3 Nov 2012 14:36:01 +0000 (22:36 +0800)]
bge: Switch from device_polling to ifpoll
Also fix a bug in the polling code when status tag is used:
status tag always needs to be written even if interrupt is not enabled.
Sepherosa Ziehau [Sat, 3 Nov 2012 14:26:12 +0000 (22:26 +0800)]
Revert "bge: Always configure MII mode register"
This reverts commit
dda43ff2bc5975a3cbd91838e7a46332039962f4.
Forcefully configure seems to break at least BCM5761 NIC auto-negotiation
Eitan Adler [Sat, 3 Nov 2012 04:00:25 +0000 (00:00 -0400)]
Bring in recent mktemp(1) changes from FreeBSD
Support the Sun/GNU/FreeBSD extension of mktemp
returning a file1 in /tmp when called without a path.
This also minimizes the difference between the DragonflyBSD
and FreeBSD version of the man page.
Sascha Wildner [Sat, 3 Nov 2012 11:23:14 +0000 (12:23 +0100)]
kernel: Simplify simq releasing in some RAID drivers.
Sascha Wildner [Sat, 3 Nov 2012 11:08:13 +0000 (12:08 +0100)]
kernel: Fix some wrong cam_simq_release() calls.
Our (refcounted) simq can be released right after allocating the sim.
These drivers were not doing it correctly.
Justin C. Sherrill [Sat, 3 Nov 2012 03:38:44 +0000 (23:38 -0400)]
Remove duplicate word.
Contributed-by: "eadler" <lists@eitanadler.com>
Matthew Dillon [Fri, 2 Nov 2012 21:07:10 +0000 (14:07 -0700)]
kernel - Force word-writes in syscons code (Intel hw character mode emulation)
* Observed on the Intel D2500HN. The system console in character map mode
fails utterly when a normal bcopy() is used to move stuff around. Employ
a specialized bcopy that uses 16-bit writes to work around the problem.
* Just do this generally, we don't care about syscons performance.
* This is possibly due to a hardware/text-mode emulation in the Intel D2500HN
and it will probably show up in the future as well. This could be related
to complaints about UEFI BIOSs (which the D2500HN mobo from Intel supports)
not handling text mode, but it handles it just fine if we only use 16-bit
writes.
Matthew Dillon [Fri, 2 Nov 2012 21:06:58 +0000 (14:06 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
John Marino [Fri, 2 Nov 2012 19:56:28 +0000 (20:56 +0100)]
libfetch: Implement HTTP digest authentication, HTTP 305, and HTTP 308
Implement HTTP status 305: Use proxy
Implement HTTP status 308: Permanent redirect
Implement HTTP Digest Authentication
Taken-from:
FreeBSD SVN 202613 (19 JAN 2010)
FreeBSD SVN 202623 (19 JAN 2010)
FreeBSD SVN 203028 (26 JAN 2010)
FreeBSD SVN 209632 (01 JUL 2010)
FreeBSD SVN 210563 (28 JUL 2010)
FreeBSD SVN 221820 (12 MAY 2011)
FreeBSD SVN 221821 (12 MAY 2011)
FreeBSD SVN 221822 (12 MAY 2011)
FreeBSD SVN 221823 (12 MAY 2011)
FreeBSD SVN 234838 (30 APR 2012)
FreeBSD SVN 240496 (14 SEP 2012)
FreeBSD SVN 241840 (21 OCT 2012)
FreeBSD SVN 241841 (21 OCT 2012)
John Marino [Fri, 2 Nov 2012 18:46:13 +0000 (19:46 +0100)]
libfetch: Use select(2) as a consequence of switching to non-blocking
Since the socket is non-blocking, it is necessary to use select(2) even
when there is no timeout, because read(2) will return immediately if there
is no data waiting in the TCP buffer, causing fetch_read() to busy-loop on
slow connections.
Taken-from: FreeBSD SVN 234837 (30 APR 2012)
John Marino [Fri, 2 Nov 2012 17:59:00 +0000 (18:59 +0100)]
libfetch: Change FTP default to passive mode
1. The caller can select active mode using "P" flag.
2. If the "p" passive flag is also present, it takes precedence over "P"
so the connection will be attempted in passive mode.
Taken-from: FreeBSD SVN 225810 (27 SEP 2011)
Taken-from: FreeBSD SVN 225812 (27 SEP 2011)
John Marino [Fri, 2 Nov 2012 17:37:42 +0000 (18:37 +0100)]
libfetch: what happened to ftp-cached commit?
I thought I committed this fix last night. I don't know how it
disappeared. It's the fix documented in FreeBSD PR Kern/153748
where a ftp-cached connection will close the connection too early
when sending a request.
Matthew Dillon [Fri, 2 Nov 2012 00:46:03 +0000 (17:46 -0700)]
usb4bsd - Change M_NOWAIT to M_WAITOK
* M_NOWAIT really needs to be M_WAITOK in these places. It is unclear
why FreeBSD invites random device failures by using M_NOWAIT all over
the place.
John Marino [Fri, 2 Nov 2012 00:26:34 +0000 (01:26 +0100)]
libfetch: Avoid SIGPIPE on network connections
To avoid unexpected process termination from SIGPIPE when writing to a
closed network connection, enable SO_NOSIGPIPE on all network connections.
The POSIX standard MSG_NOSIGNAL is not used since it requires modifying all
send calls to add this flag. This is particularly nasty for SSL connections.
Taken-from: FreeBSD SVN 236193 (28 May 2012)
John Marino [Thu, 1 Nov 2012 22:54:16 +0000 (23:54 +0100)]
Implement SO_NOSIGPIPE
The SO_NOSIGPIPE socket option allows a user process to mark a socket so
that the socket does not generate SIGPIPE, only EPIPE, when a write is
attempted after socket shutdown.
Regression test added: tools/regression/sockets/sigpipe
John Marino [Thu, 1 Nov 2012 21:21:52 +0000 (22:21 +0100)]
fetch: Fix infinite loop on display progress
As reported by FreeBSD PR bin/153240, fetch can loop forever if it is
interrupted by a signal at just the right time.
Verbatim from FreeBSD SVN 230307 (18 JAN 2012):
Fix two issues related to the use of SIGINFO in fetch(1) to display
progress information. The first is that fetch_read() (used in the HTTP
code but not the FTP code) can enter an infinite loop if it has previously
been interrupted by a signal. The second is that when it is interrupted,
fetch_read() will discard any data it may have read up to that point.
Luckily, both bugs are extremely timing-sensitive and therefore difficult
to trigger.
John Marino [Thu, 1 Nov 2012 20:51:30 +0000 (21:51 +0100)]
libfetch: Change maximum redirect from 5 to 20
Libfetch gives up a little too soon. Chrome and Firefox allow 20
redirects with IE stops after 8.
Taken-from: FreeBSD SVN 241839 (21 OCT 2012)