openbsd
10 years agoSend and receive UDP syslog packets on the IPv6 socket.
bluhm [Thu, 21 Aug 2014 17:00:34 +0000 (17:00 +0000)]
Send and receive UDP syslog packets on the IPv6 socket.
OK henning@

10 years agoUnbreak when "SRCDIR=."
ajacoutot [Thu, 21 Aug 2014 16:50:11 +0000 (16:50 +0000)]
Unbreak when "SRCDIR=."

reported by phessler@

10 years agoFix double free. ok guenther@
jca [Thu, 21 Aug 2014 16:46:48 +0000 (16:46 +0000)]
Fix double free.  ok guenther@

10 years agolimit CGI process execution time to make REDoS attacks less effective;
schwarze [Thu, 21 Aug 2014 16:03:50 +0000 (16:03 +0000)]
limit CGI process execution time to make REDoS attacks less effective;
attack surface pointed out by Sebastien Marie

10 years agodeny "once" flags for match rules; ok henning
mikeb [Thu, 21 Aug 2014 15:09:27 +0000 (15:09 +0000)]
deny "once" flags for match rules;  ok henning

10 years agoNow that DVACT_DEACTIVATE is propagated to the children of a device when
mpi [Thu, 21 Aug 2014 14:52:55 +0000 (14:52 +0000)]
Now that DVACT_DEACTIVATE is propagated to the children of a device when
a driver does not implement a specific *_activate() handler and that our
USB stack sets the dying flag before detaching a device, these specific
handlers can die.

10 years agoFix a copy and pasto with the standard ring setup with calling if_rxr_init()
brad [Thu, 21 Aug 2014 14:30:21 +0000 (14:30 +0000)]
Fix a copy and pasto with the standard ring setup with calling if_rxr_init()
to use BGE_STD_RX_RING_CNT instead of BGE_JUMBO_RX_RING_CNT.

ok dlg@

10 years agoadd $OpenBSD$
jsg [Thu, 21 Aug 2014 14:26:16 +0000 (14:26 +0000)]
add $OpenBSD$

10 years agoKill the remaining <netinet/in_systm.h> inclusion!
mpi [Thu, 21 Aug 2014 14:24:08 +0000 (14:24 +0000)]
Kill the remaining <netinet/in_systm.h> inclusion!

10 years agoRight after .Fl, a middle delimiter triggers an empty scope,
schwarze [Thu, 21 Aug 2014 12:56:24 +0000 (12:56 +0000)]
Right after .Fl, a middle delimiter triggers an empty scope,
just like a closing delimiter.  This didn't work in groff-1.15,
but it now works in groff-1.22.

After being closed by delimiters, .Nm scopes do not reopen.

Do not suppress white space after .Fl if the next node is a text node
on the same input line; that can happen for middle delimiters.

Fixing an issue reported by jmc@.

10 years agoMake "rcctl status" output match rc.conf(8) format.
ajacoutot [Thu, 21 Aug 2014 12:47:22 +0000 (12:47 +0000)]
Make "rcctl status" output match rc.conf(8) format.

ok jasper@

10 years agoMisleading comments about splnet().
mpi [Thu, 21 Aug 2014 11:54:00 +0000 (11:54 +0000)]
Misleading comments about splnet().

10 years agoChange the output of arp(8) to match what ndp(8) does and include the
mpi [Thu, 21 Aug 2014 10:23:47 +0000 (10:23 +0000)]
Change the output of arp(8) to match what ndp(8) does and include the
expire timer.

This will makes it easier to add further information in a coherent way
between these tools for local and broadcast entries.

This new view displays either symbolic names (by default) or numerical
addresses (with "-n") for hosts but not both at the same time, just
like ndp(8), route(8) or netstat(1) do.

ok henning@

10 years agoNow that rc.conf(8) defines what a base system service, a base
schwarze [Thu, 21 Aug 2014 10:15:11 +0000 (10:15 +0000)]
Now that rc.conf(8) defines what a base system service, a base
system daemon, and a package daemon is, refer to it instead of
duplicating information.  While here, clean up wording.
OK ajacoutot@

10 years agoIf an ifa has as NULL ifp pointer then is should be considered as
mpi [Thu, 21 Aug 2014 10:07:07 +0000 (10:07 +0000)]
If an ifa has as NULL ifp pointer then is should be considered as
invalid.  When such thing happens, it means that the address is no
longer configured on the system but still referenced by some routes.
So do not return such ifa in ifa_ifwithroute().

Fix a panic reported by Pierre Bardou.

ok mikeb@, henning@

10 years agoDrop sanitation, _rc_parse_conf does this for us already.
ajacoutot [Thu, 21 Aug 2014 10:06:14 +0000 (10:06 +0000)]
Drop sanitation, _rc_parse_conf does this for us already.

ok schwarze@

10 years agoIf a service is disabled its flags are unconditionally set to "NO", so
ajacoutot [Thu, 21 Aug 2014 08:54:58 +0000 (08:54 +0000)]
If a service is disabled its flags are unconditionally set to "NO", so
there's not need to display "enabled" or "disabled" when calling "status",
we have the information already.

10 years agoFree resources on error in mkstemp and fdopen
doug [Thu, 21 Aug 2014 01:08:52 +0000 (01:08 +0000)]
Free resources on error in mkstemp and fdopen

ok djm@

10 years agoParse loghost in a separate function. Allow [] around hostname,
bluhm [Thu, 21 Aug 2014 00:04:58 +0000 (00:04 +0000)]
Parse loghost in a separate function.  Allow [] around hostname,
needed for IPv6 addresses.  Print full loghost specifier in case
of error or debug.  Make string sizes more precise.
input henning@; input and OK deraadt@

10 years agoafter allocating an mbuf and cluster you still need to init the length
dlg [Wed, 20 Aug 2014 23:56:57 +0000 (23:56 +0000)]
after allocating an mbuf and cluster you still need to init the length
fields.

found by steven roberts, who also tested this fix for me

10 years agoMove the examples to the EXAMPLES section and add some actual
schwarze [Wed, 20 Aug 2014 22:13:24 +0000 (22:13 +0000)]
Move the examples to the EXAMPLES section and add some actual
reference manual style documentation to the DESCRIPTION.
Feedback and OK rpe@ and ajacoutot@, also using feedback from deraadt@.

10 years agoLink ospfd and syslogd regression tests to the build.
bluhm [Wed, 20 Aug 2014 20:54:27 +0000 (20:54 +0000)]
Link ospfd and syslogd regression tests to the build.

10 years agoRun syslogd regressions tests. As only one syslogd can run per
bluhm [Wed, 20 Aug 2014 20:52:14 +0000 (20:52 +0000)]
Run syslogd regressions tests.  As only one syslogd can run per
machine, each test kills any syslogd first.  At the end the system's
syslogd gets restarted.
The test framework runs a client, and a server, and a syslogd.  The
messages are passed via the log socket or via UDP from the client
to syslogd.  From there UDP transport is used to reach the server.
All processes write log files where the message has to show up.
The test arguments are kept in the args-*.pl files.
The content of a log file, the data sent to a pipe process and what
the server received are checked.  The invocation of the sendsyslog(2)
syscall is checked with ktrace, the open file descriptors of syslogd
are checked with fstat.

10 years agoReplace gethostbyaddr(3) with getnameinfo(3). Remove the sigprocmask()
bluhm [Wed, 20 Aug 2014 20:10:17 +0000 (20:10 +0000)]
Replace gethostbyaddr(3) with getnameinfo(3).  Remove the sigprocmask()
that was necessary for gethostbyaddr() because the latter is not
signal safe.  Change the return code semantics of priv_getnameinfo()
to match getnameinfo(3).
input and OK jca@

10 years agoAdd missing OpenBSD RCS id.
bluhm [Wed, 20 Aug 2014 19:33:43 +0000 (19:33 +0000)]
Add missing OpenBSD RCS id.

10 years agoRename priv_gethostserv() to priv_getaddrinfo() as this is what the
bluhm [Wed, 20 Aug 2014 19:16:27 +0000 (19:16 +0000)]
Rename priv_gethostserv() to priv_getaddrinfo() as this is what the
function does.  Change the return code semantics to match getaddrinfo(3).
OK deraadt@

10 years agoBetter explain what unbound is for.
florian [Wed, 20 Aug 2014 19:13:03 +0000 (19:13 +0000)]
Better explain what unbound is for.
While there fix some nits.
Problem pointed out by deraadt@
Input jmc@, schwarze@
wouter@ committed a slightly different diff upstream. Pull that on out
of svn and hand merge it.
OK schwarze@

10 years agoremove one more reference to crypto(4); ok mikeb
jmc [Wed, 20 Aug 2014 18:59:56 +0000 (18:59 +0000)]
remove one more reference to crypto(4); ok mikeb

10 years agoStore the positional args in vars with meaningful names which makes the arg
rpe [Wed, 20 Aug 2014 17:15:17 +0000 (17:15 +0000)]
Store the positional args in vars with meaningful names which makes the arg
checking block easier to comprehend.

OK ajacoutot@

10 years agoGreatly simplify get/set flags and status.
ajacoutot [Wed, 20 Aug 2014 15:04:14 +0000 (15:04 +0000)]
Greatly simplify get/set flags and status.

Provide a unified output for the status of disabled services/daemons:
foobar_flags will always be "NO" regardless of the type (pkg script,
base system daemon, special variable).

10 years agoDrop default values from rc.conf.local when we run "enable".
ajacoutot [Wed, 20 Aug 2014 13:23:56 +0000 (13:23 +0000)]
Drop default values from rc.conf.local when we run "enable".

10 years agoRemove userland bits related to the crypto(4) interface; ok deraadt
mikeb [Wed, 20 Aug 2014 11:23:40 +0000 (11:23 +0000)]
Remove userland bits related to the crypto(4) interface;  ok deraadt

10 years agoImplement rxrinfo ioctl for cluster usage statistics
mikeb [Wed, 20 Aug 2014 10:06:31 +0000 (10:06 +0000)]
Implement rxrinfo ioctl for cluster usage statistics

10 years agounify the declaration of functions.
rpointel [Wed, 20 Aug 2014 07:55:45 +0000 (07:55 +0000)]
unify the declaration of functions.
ok aja@

10 years agoCall audio_{pint,rint}() call-backs with the mutex held. Found by
ratchov [Wed, 20 Aug 2014 07:19:42 +0000 (07:19 +0000)]
Call audio_{pint,rint}() call-backs with the mutex held. Found by
Izumi Tsutsui, thanks!
ok miod@

10 years agoWhen doing Whole disk installs on macppc, blank the first 1 meg of the
phessler [Wed, 20 Aug 2014 06:52:21 +0000 (06:52 +0000)]
When doing Whole disk installs on macppc, blank the first 1 meg of the
disk, so we can successfully create our partitions including the
all important boot partition.

Reported by many, but last by /u/TheWalkingGlitch via reddit

OK krw@

10 years agoBye bye /dev/crypto
mikeb [Wed, 20 Aug 2014 06:31:22 +0000 (06:31 +0000)]
Bye bye /dev/crypto

The interface has been disabled by default for about 4 years and
currently there's not much value in having it around at all.

ok deraadt

10 years agoBye bye /dev/crypto
mikeb [Wed, 20 Aug 2014 06:23:03 +0000 (06:23 +0000)]
Bye bye /dev/crypto

The interface has been disabled by default for about 4 years and
currently there's not much value in having it around at all.

ok deraadt

10 years agounlink crypto(4) pseudo device from the architecture dependant character
mikeb [Wed, 20 Aug 2014 06:14:42 +0000 (06:14 +0000)]
unlink crypto(4) pseudo device from the architecture dependant character
device tables and kernel config files.  ok deraadt

10 years agoRelease CPU mutexes on EINVAL.
doug [Wed, 20 Aug 2014 06:03:20 +0000 (06:03 +0000)]
Release CPU mutexes on EINVAL.

ok guenther@

10 years agoBackport support for i386/amd64 'rdtscp' instruction from binutils-2.17
guenther [Wed, 20 Aug 2014 04:12:30 +0000 (04:12 +0000)]
Backport support for i386/amd64 'rdtscp' instruction from binutils-2.17

Request and testing by krw@

10 years agobrad said i had some whitespace screwups in my previous diff. this cleans
dlg [Wed, 20 Aug 2014 03:29:35 +0000 (03:29 +0000)]
brad said i had some whitespace screwups in my previous diff. this cleans
them up and the others i found in this file.

no functional change.

10 years agodjm how did you make a typo like that...
deraadt [Wed, 20 Aug 2014 01:28:55 +0000 (01:28 +0000)]
djm how did you make a typo like that...

10 years agoremove the custom jumbo allocator. its never been enabled or used.
dlg [Wed, 20 Aug 2014 01:02:50 +0000 (01:02 +0000)]
remove the custom jumbo allocator. its never been enabled or used.

putting this into the tree to make it easier to test.

10 years agoreplace the custom jumbo allocator with MCLGETI.
dlg [Wed, 20 Aug 2014 01:02:02 +0000 (01:02 +0000)]
replace the custom jumbo allocator with MCLGETI.

putting this in the tree to make it easier for people to test.

10 years agoreplace the custom jumbo allocator with MCLGETI.
dlg [Wed, 20 Aug 2014 01:00:15 +0000 (01:00 +0000)]
replace the custom jumbo allocator with MCLGETI.

putting this in the tree to make it easier for people to test.

10 years agoreplace the custom jumbo allocator with MCLGETI.
dlg [Wed, 20 Aug 2014 00:59:56 +0000 (00:59 +0000)]
replace the custom jumbo allocator with MCLGETI.

putting this in the tree to make it easier for people to test.

10 years agoreplace sks jumbo allocator with MCLGETI. the system provides jumbos in
dlg [Wed, 20 Aug 2014 00:50:45 +0000 (00:50 +0000)]
replace sks jumbo allocator with MCLGETI. the system provides jumbos in
the right shape now, we dont have to do it by hand all over the place
any more.

rework the rxr ring management to use if_rxring while here.

largely based on if_sk.c r1.152 and if_skvar.h r1.4 by kettenis.
tested by me on:

skc0 at pci3 dev 11 function 0 "Schneider & Koch SK-98xx" rev 0x12, GEnesis (0x0): apic 3 int 5
sk0 at skc0 port A: address 00:00:5a:99:8a:ec
xmphy0 at sk0 phy 0: XMAC II Gigabit PHY, rev. 2

and this from ian mcwilliam

skc0 at pci0 dev 9 function 0 "D-Link DGE-530T B1" rev 0x11, Yukon Lite (0x9): apic 2 int 17
sk0 at skc0 port A: address 00:17:9a:ba:b5:39
eephy0 at sk0 phy 0: 88E1011 Gigabit PHY, rev. 5

tested by brad@ too

10 years agobring back r1.130:
dlg [Wed, 20 Aug 2014 00:00:46 +0000 (00:00 +0000)]
bring back r1.130:

add an explicit rwlock around the global state (the pool list and serial
number) rather than rely on implicit process exclusion, splhigh and splvm.

the only things touching the global state come from process context so we
can get away with an rwlock instead of a mutex. thankfully.

ok matthew@

10 years agoWhen dumping the server configuration (sshd -T), print correct KEX,
djm [Tue, 19 Aug 2014 23:58:28 +0000 (23:58 +0000)]
When dumping the server configuration (sshd -T), print correct KEX,
MAC and cipher defaults. Spotted by Iain Morgan

10 years ago~-expand lcd paths
djm [Tue, 19 Aug 2014 23:57:18 +0000 (23:57 +0000)]
~-expand lcd paths

10 years agoLet's talk about obstacles you face when trying to pull off a partial tedu@.
schwarze [Tue, 19 Aug 2014 23:35:28 +0000 (23:35 +0000)]
Let's talk about obstacles you face when trying to pull off a partial tedu@.

10 years agoMore PIC programming magic, as well as a specific workaround for lost
miod [Tue, 19 Aug 2014 19:04:07 +0000 (19:04 +0000)]
More PIC programming magic, as well as a specific workaround for lost
interrupts in PIC rev 1; from IRIX via Linux 2.5.69.

This doesn't fix the lost SCSI interrupts jasper@ eventually experiences on
Origin 350 systems, but this can't hurt anyway.

10 years agoSet Eng. GFE has a 32-bit ID register, so put it in the 32-bit section.
miod [Tue, 19 Aug 2014 19:01:15 +0000 (19:01 +0000)]
Set Eng. GFE has a 32-bit ID register, so put it in the 32-bit section.
No change but ordering in the generated files, so I won't even bother to
regen them - this is only a `documentation' change.

10 years agoyet another typo
miod [Tue, 19 Aug 2014 18:02:48 +0000 (18:02 +0000)]
yet another typo

10 years agoEnable rts5227, as found in my new Thinkpad x240.
phessler [Tue, 19 Aug 2014 17:55:03 +0000 (17:55 +0000)]
Enable rts5227, as found in my new Thinkpad x240.

Shuffle the code around slightly, so we special case the 5209 chipset
instead of semi-randomly.

Tested on rts5227 by me, and rts5209 by stsp@

OK stsp@

10 years agoSync usage.
ajacoutot [Tue, 19 Aug 2014 17:51:05 +0000 (17:51 +0000)]
Sync usage.

10 years agoTo make it even more obvious which combinations are allowed,
schwarze [Tue, 19 Aug 2014 17:45:43 +0000 (17:45 +0000)]
To make it even more obvious which combinations are allowed,
provide sub-synopses for the various internal commands,
and make it explicit what applies to daemons only and what
applies to other services as well.
Feedback and OK ajacoutot@.

10 years agoDo not dereference a NULL pointer if a .Bl macro has
schwarze [Tue, 19 Aug 2014 17:28:57 +0000 (17:28 +0000)]
Do not dereference a NULL pointer if a .Bl macro has
no -type, -width, -offset or -compact arguments whatsoever;
this got broken in mdoc_validate.c rev. 1.156.
While here, sort headers.

10 years agoSimplify some checks
ajacoutot [Tue, 19 Aug 2014 16:47:18 +0000 (16:47 +0000)]
Simplify some checks
Return immediatly from add_flags() if we are already enabled and no flags
are (re)set; unbreak "enable" under some circumstances.

10 years agoThree independent typos for `independent' or `independently'.
miod [Tue, 19 Aug 2014 16:13:24 +0000 (16:13 +0000)]
Three independent typos for `independent' or `independently'.

10 years agomdoc(7) style: remove trailing whitespace and .Pp before non-compact .Bd/.Bl
schwarze [Tue, 19 Aug 2014 16:05:02 +0000 (16:05 +0000)]
mdoc(7) style: remove trailing whitespace and .Pp before non-compact .Bd/.Bl

10 years agoDrop commented code.
ajacoutot [Tue, 19 Aug 2014 15:26:18 +0000 (15:26 +0000)]
Drop commented code.

10 years agoIntroduce rcctl(8), a simple utility for maintaining rc.conf.local(8).
ajacoutot [Tue, 19 Aug 2014 14:08:20 +0000 (14:08 +0000)]
Introduce rcctl(8), a simple utility for maintaining rc.conf.local(8).

# rcctl
usage: rcctl enable|disable|status|action [service [flags [...]]]

Lots of man page improvement from the usual suspects (jmc@ and schwarze@)
not hooked up yet but committing now so work can continue in-tree
agreed by several

10 years agoWhen a local route entry is added for an ifa having a broadcast address,
mpi [Tue, 19 Aug 2014 12:49:41 +0000 (12:49 +0000)]
When a local route entry is added for an ifa having a broadcast address,
also adds a broadcast entry flagged with RTF_BROADCAST.

Prior to this change broadcast entries were simple clonned ARP entries,
that would be deleted once their timer expired since they would always
be incomplete.

With this change they are now persistant and identifiable with a new flag.

Committing early to be able to deal with any potential fallout before we
start relying on this.

ok florian@, mikeb@, henning@

10 years agoEntries for broadcast addresses should also be ignored, just like local
mpi [Tue, 19 Aug 2014 12:39:36 +0000 (12:39 +0000)]
Entries for broadcast addresses should also be ignored, just like local
entries.

ok florian@, mikeb@, henning@

10 years agoKeep pim code under #ifdef PIM to be coherent with what's in netinet/.
mpi [Tue, 19 Aug 2014 12:28:03 +0000 (12:28 +0000)]
Keep pim code under #ifdef PIM to be coherent with what's in netinet/.

10 years agoMake sure state changes are properly serialized.
mpi [Tue, 19 Aug 2014 12:24:04 +0000 (12:24 +0000)]
Make sure state changes are properly serialized.

When pms(4) is attached to a touchpad it generally presents two different
wsmouse(4) devices: one for the touchpad itself and one for the clitpad
and/or some interleaved packets.  But since both devices are writing to
the same pckbc slot, a race can occur if they try to change the state at
the same time.

So prevent two process opening the two /dev/wsmouse* node at the same time
to corrupt the magic sequences needed to enable/disable the touchpad.

ok schadchin@

10 years agoin myx_start, replace
dlg [Tue, 19 Aug 2014 11:13:16 +0000 (11:13 +0000)]
in myx_start, replace

while (space) {
IFQ_POLL;
myx_dequeue(free descr);
IFQ_DEQUEUE;
etc;
}

with

while (space && myx_dequeue(free descr)) {
IFQ_DEQUEUE;
etc;
}

10 years agold.so(1): Missing stack var initialization
uebayasi [Tue, 19 Aug 2014 10:01:50 +0000 (10:01 +0000)]
ld.so(1): Missing stack var initialization

Explicitly zero-clear stack array to read dynamic segments.  This code has
been working because stack is mapped as anon and zero'ed right after execve(2).

Found by work-in-progress Valgrind port for OpenBSD/amd64.

OK millert@ guenther@

10 years agopppx(4): Correct pppx_dev_lookup() and pppx_dev2pxd() local declarations
uebayasi [Tue, 19 Aug 2014 08:04:51 +0000 (08:04 +0000)]
pppx(4): Correct pppx_dev_lookup() and pppx_dev2pxd() local declarations

Those two functions take one dev_t argument, not int.  Match declarations
with reality.  No functional changes.

10 years agolibroff depends on libmandoc and so libmandoc should be included first.
daniel [Tue, 19 Aug 2014 05:18:16 +0000 (05:18 +0000)]
libroff depends on libmandoc and so libmandoc should be included first.

this change makes the code slightly more portable by removing a gcc
extension (incomplete enum types) which is not part of ISO C.

ok schwarze@

10 years agoadd -4 and -6 flags for saying if you want to force ipv4 or ipv6
dlg [Tue, 19 Aug 2014 03:28:53 +0000 (03:28 +0000)]
add -4 and -6 flags for saying if you want to force ipv4 or ipv6
respectively.

tweaks from jmc@
ok djm@

10 years agoThe _exit codes in syslogd privsep.c were the wrong way around.
bluhm [Tue, 19 Aug 2014 00:53:01 +0000 (00:53 +0000)]
The _exit codes in syslogd privsep.c were the wrong way around.
Fatal errors should exit with 1, and regular shutdown should result
in exit with 0.
OK deraadt@

10 years agoReplace manually written function names with __func__.
bluhm [Tue, 19 Aug 2014 00:28:48 +0000 (00:28 +0000)]
Replace manually written function names with __func__.
OK sthen@

10 years agoFix trailing white spaces.
bluhm [Tue, 19 Aug 2014 00:24:00 +0000 (00:24 +0000)]
Fix trailing white spaces.
OK sthen@

10 years agoMake the perl modules consistent for the multiple regression tests.
bluhm [Mon, 18 Aug 2014 22:58:19 +0000 (22:58 +0000)]
Make the perl modules consistent for the multiple regression tests.
This includes coding style, better error messages and variable
naming.

10 years agoFix read access to uninitialized memory found by kristaps@ with valgrind,
schwarze [Mon, 18 Aug 2014 22:21:52 +0000 (22:21 +0000)]
Fix read access to uninitialized memory found by kristaps@ with valgrind,
patch from kristaps@.
Theoretically, this could lead to a buffer overrun and segfault,
but only for very long output lines (about 1000 charecters) of
exactly the right length or if by ill chance, the complete unused,
uninitialized tail of the line output buffer (at least 1000 characters
total length) would contain all blank characters.  Anyway, the
uninitialized data read wasn't used for anything.

10 years agoAdd a description of what the relayd and sosplice regression tests
bluhm [Mon, 18 Aug 2014 22:05:08 +0000 (22:05 +0000)]
Add a description of what the relayd and sosplice regression tests
do.  Also explain the optional environment variables.

10 years agoMake out of band data tests more reliable. As multiple tcp urgent
bluhm [Mon, 18 Aug 2014 21:53:40 +0000 (21:53 +0000)]
Make out of band data tests more reliable.  As multiple tcp urgent
bytes cannot be handled correctly, allow another variation.

10 years agoMake the forking tests more reliable. During copy the read(2)
bluhm [Mon, 18 Aug 2014 21:51:45 +0000 (21:51 +0000)]
Make the forking tests more reliable.  During copy the read(2)
system call might fail with EAGAIN when the other forked process
has already read the data.

10 years agoMake the multiple UDP packet test more reliable. The receive buffer
bluhm [Mon, 18 Aug 2014 21:49:17 +0000 (21:49 +0000)]
Make the multiple UDP packet test more reliable.  The receive buffer
limit also counts the mbufs in it, so packets could be dropped.
Increase both send and receive socket buffer size.

10 years agoAdd test cases for multiple small HTTP requests. Many PUT requests
bluhm [Mon, 18 Aug 2014 21:43:45 +0000 (21:43 +0000)]
Add test cases for multiple small HTTP requests.  Many PUT requests
with ony byte content length triggered relayd to hang.  This has
been fixed already.

10 years agoVariables to count seen packets should be unsigned.
tobias [Mon, 18 Aug 2014 20:58:56 +0000 (20:58 +0000)]
Variables to count seen packets should be unsigned.

ok krw@

10 years agosync
deraadt [Mon, 18 Aug 2014 19:41:18 +0000 (19:41 +0000)]
sync

10 years agoreplace more ROTATE macros with plain-old C code.
bcook [Mon, 18 Aug 2014 19:15:34 +0000 (19:15 +0000)]
replace more ROTATE macros with plain-old C code.

Let the compiler optimize these. Even older versions of gcc generate
equal or better quality code than the inline asm.

ok miod@

10 years agoremove return value from HOST_c2l/l2c macros
bcook [Mon, 18 Aug 2014 19:11:48 +0000 (19:11 +0000)]
remove return value from HOST_c2l/l2c macros

These macros and asm inlines simulate a function returning a value, but
nothing ever uses this return value. Remove the pseudo-returns and
(void) casts discarding the unused values.

This, maybe unsurprisingly, speeds things up a bit. It also removes the
GCC 4.9 warnings about unused values.

ok miod@ deraadt@

10 years agoExplicitely need <sys/pool.h> now.
miod [Mon, 18 Aug 2014 17:56:45 +0000 (17:56 +0000)]
Explicitely need <sys/pool.h> now.

10 years agoSigh, ignoring instruction fetch bus errors for the kernel code should not
miod [Mon, 18 Aug 2014 17:23:06 +0000 (17:23 +0000)]
Sigh, ignoring instruction fetch bus errors for the kernel code should not
depend upon the address being at the beginning of a cache line, for we may
arrive in the middle of a line thanks to a branch. Noticed the hard way...

10 years agoWhen the first child of the node being validated gets deleted during
schwarze [Mon, 18 Aug 2014 16:26:13 +0000 (16:26 +0000)]
When the first child of the node being validated gets deleted during
validation, man_node_unlink() switches to MAN_NEXT_CHILD.  After
that, we have to switch back to MAN_NEXT_SIBLING after completing
validation, or subsequent parsing would add content into an already
closed node, clobbering potentially existing children, causing
information loss and a memory leak.  Bug found by kristaps@ with
valgrind in groff(7) on Mac OS X.

Note that the switch back must be conditional, for if the node being
validated itself gets deleted, we must *not* go to MAN_NEXT_SIBLING,
which would not only yield wrong results in general but also crash
in malformed manuals having an empty paragraph before the first .SH,
for example OpenBSD c++filt(1).

While here, add the missing <sys/types.h> as required before mandoc.h.

10 years agopool debug back on
tedu [Mon, 18 Aug 2014 14:35:37 +0000 (14:35 +0000)]
pool debug back on

10 years agoa small tweak to improve malloc in multithreaded programs. we don't need
tedu [Mon, 18 Aug 2014 14:34:58 +0000 (14:34 +0000)]
a small tweak to improve malloc in multithreaded programs. we don't need
to hold the malloc lock across mmap syscalls in all cases. dropping it
allows another thread to access the existing chunk cache if necessary.
could be improved to be a bit more aggressive, but i've been testing this
simple diff for some time now with good results.

10 years agothis uses pools, but relied on mbuf.h to provide them.
dlg [Mon, 18 Aug 2014 13:29:13 +0000 (13:29 +0000)]
this uses pools, but relied on mbuf.h to provide them.

found by benoit@

10 years agokristaps@ found this with valgrind, merge his patch from bsd.lv:
schwarze [Mon, 18 Aug 2014 13:25:54 +0000 (13:25 +0000)]
kristaps@ found this with valgrind, merge his patch from bsd.lv:
Fix a corner case where \H<nil> (where <nil> is the \0 character) would
cause mandoc_escape() to read past the end of an allocated string.
Found when a script scanning of all Mac OSX manuals accidentally also
scanned binary (gzip'd) files, discussed with schwarze@ on tech@mdocml.

10 years agoSync proc.c with httpd. httpd needs SIGUSR1 but snmpd will ignore it
reyk [Mon, 18 Aug 2014 13:13:42 +0000 (13:13 +0000)]
Sync proc.c with httpd.  httpd needs SIGUSR1 but snmpd will ignore it
now instead of terminating the process.

ok blambert@

10 years agoSync proc.c with httpd. httpd needs SIGUSR1 but relayd will ignore it
reyk [Mon, 18 Aug 2014 12:59:00 +0000 (12:59 +0000)]
Sync proc.c with httpd.  httpd needs SIGUSR1 but relayd will ignore it
now instead of terminating the process.

ok florian@

10 years agoSync proc.c with httpd. httpd needs SIGUSR1 but iked will ignore it
reyk [Mon, 18 Aug 2014 09:43:02 +0000 (09:43 +0000)]
Sync proc.c with httpd.  httpd needs SIGUSR1 but iked will ignore it
now instead of terminating the process.

ok mikeb@

10 years agodont rely on mbuf.h to provide pool.h.
dlg [Mon, 18 Aug 2014 05:11:03 +0000 (05:11 +0000)]
dont rely on mbuf.h to provide pool.h.

ok miod@, who has offerred to help with any MD fallout
ok guenther@

10 years agoAdd mention of execvpe() setting errno on failure.
guenther [Mon, 18 Aug 2014 04:48:22 +0000 (04:48 +0000)]
Add mention of execvpe() setting errno on failure.

from Justus Baumgartner (meddev50 (at) gmail.com)

10 years agoits a bit silly to include mbuf.h to get to malloc.h. just include
dlg [Mon, 18 Aug 2014 04:23:11 +0000 (04:23 +0000)]
its a bit silly to include mbuf.h to get to malloc.h. just include
malloc.h instead.