openbsd
9 years agoThe free callback could end up being fired before the done callback
nicm [Tue, 21 Apr 2015 21:31:02 +0000 (21:31 +0000)]
The free callback could end up being fired before the done callback
(happens on Cygwin), so use a reference count instead of a single
flag. SF bug 188 reported by "iceboy".

9 years agoFix moving windows to nonexistent indexes when renumber-windows is
nicm [Tue, 21 Apr 2015 21:24:49 +0000 (21:24 +0000)]
Fix moving windows to nonexistent indexes when renumber-windows is
off. From Thomas Adam, reported by Daniel Levai and Theo Buehler.

9 years agoRemove an extra lcr3 that snuck into pmap_switch during yesterday's
mlarkin [Tue, 21 Apr 2015 18:47:57 +0000 (18:47 +0000)]
Remove an extra lcr3 that snuck into pmap_switch during yesterday's
cleanup, responsible for various reaper panics pointed out on bugs@ this
morning.

ok deraadt@

9 years agoImprove divert-to specification parsing w.r.t. rule address family.
mikeb [Tue, 21 Apr 2015 16:34:59 +0000 (16:34 +0000)]
Improve divert-to specification parsing w.r.t. rule address family.
ok henning

9 years agoAccording to RFC 4861 and the actuall implementation rltime may not
florian [Tue, 21 Apr 2015 16:32:24 +0000 (16:32 +0000)]
According to RFC 4861 and the actuall implementation rltime may not
exceed 9000 seconds.
Reported by Alexander Lobodzinski on bugs@, thanks!
OK benno@

9 years agoAvoid a use after free when the target node is deleted during validation.
schwarze [Tue, 21 Apr 2015 16:13:54 +0000 (16:13 +0000)]
Avoid a use after free when the target node is deleted during validation.
Bug reported by jsg@.

9 years agoBind mouse dragging so that it is passed through to applications if they
nicm [Tue, 21 Apr 2015 15:34:32 +0000 (15:34 +0000)]
Bind mouse dragging so that it is passed through to applications if they
want it rather than entering copy mode.

9 years agoDon't eat the mouse event that triggers a drag end because we may want
nicm [Tue, 21 Apr 2015 15:21:41 +0000 (15:21 +0000)]
Don't eat the mouse event that triggers a drag end because we may want
to pass it on to application inside the pane.

9 years agoPut mouse_any_flag back, don't know where it went to (still in man page).
nicm [Tue, 21 Apr 2015 15:18:38 +0000 (15:18 +0000)]
Put mouse_any_flag back, don't know where it went to (still in man page).

9 years agoPass mouse events through to commands for if-shell.
nicm [Tue, 21 Apr 2015 15:18:06 +0000 (15:18 +0000)]
Pass mouse events through to commands for if-shell.

9 years agocmd_mouse_pane can return NULL, check for that.
nicm [Tue, 21 Apr 2015 15:16:06 +0000 (15:16 +0000)]
cmd_mouse_pane can return NULL, check for that.

9 years agoSection 1, not section one: section numbers are always numerical.
schwarze [Tue, 21 Apr 2015 14:27:07 +0000 (14:27 +0000)]
Section 1, not section one: section numbers are always numerical.
For example, "man -s one" wouldn't work either.
Patch from Alex Greif <alex dot greif at greifdesign dot net>.

9 years agodisable *8 again for now. incoherent archs arent having much fun with it.
dlg [Tue, 21 Apr 2015 13:15:54 +0000 (13:15 +0000)]
disable *8 again for now. incoherent archs arent having much fun with it.

9 years agoappend the setdir ("5.7/amd64", "snapshots/vax") as get-parameter "path"
henning [Tue, 21 Apr 2015 10:58:28 +0000 (10:58 +0000)]
append the setdir ("5.7/amd64", "snapshots/vax") as get-parameter "path"
when fetching the autoinstall response file.
a webserver that serves static files doesn't give a damn. if I map that
to something that dynamically creates the response file, i can use that to
construct the sets path, or play other arch and/or version dependent
games.
ok krw uwe

9 years agoBack in January, Kaspars at Bankovskis dot net reported that the wc(1)
schwarze [Tue, 21 Apr 2015 10:46:48 +0000 (10:46 +0000)]
Back in January, Kaspars at Bankovskis dot net reported that the wc(1)
manual claims that -m would count characters, while our version of the
command actually doesn't, lacking POSIX multibyte support.  Since
nobody stood up to fix the code, sync the docs with reality for now.
OK jmc@

9 years agoWhen diff(1) finds differences, it returns an exit status of 1.
schwarze [Tue, 21 Apr 2015 10:24:22 +0000 (10:24 +0000)]
When diff(1) finds differences, it returns an exit status of 1.
In that particular case, refrain from printing "diff: exit code 1"
because that exit status doesn't indicate an error condition.

Issue noticed by and patch OK'ed by ajacoutot@.
"I agree with the goal, and I suspect the diff actually achieves it" guenther@.

9 years agoRevert previous. Packets going through carp_input() but not destinated
mpi [Tue, 21 Apr 2015 09:35:32 +0000 (09:35 +0000)]
Revert previous.  Packets going through carp_input() but not destinated
to the carp interface would end up enqueued without being decapsulated.

Found the hard way by shten@

9 years agoAdd back a backslash removed in rev 1.42 so KEX_SERVER_ENCRYPT will
jsg [Tue, 21 Apr 2015 07:01:00 +0000 (07:01 +0000)]
Add back a backslash removed in rev 1.42 so KEX_SERVER_ENCRYPT will
include aes again.

ok deraadt@

9 years agoRemove a duplicate variable and #define that snuck in, in a previous
mlarkin [Tue, 21 Apr 2015 04:40:40 +0000 (04:40 +0000)]
Remove a duplicate variable and #define that snuck in, in a previous
commit.

ok deraadt@

9 years agofix a memory leak if tls_read() fails. ok henning@
jsg [Tue, 21 Apr 2015 01:49:19 +0000 (01:49 +0000)]
fix a memory leak if tls_read() fails.  ok henning@

9 years agofix a memory leak. ok blambert@
jsg [Tue, 21 Apr 2015 01:46:57 +0000 (01:46 +0000)]
fix a memory leak.  ok blambert@

9 years agoNo need to do "size = (size_t)sb.st_size" both before and after
jsg [Tue, 21 Apr 2015 01:44:47 +0000 (01:44 +0000)]
No need to do "size = (size_t)sb.st_size" both before and after
a fstat() call.
ok mikeb@ markus@

9 years agoinit both fds passed to pipe as -1 instead of initing one twice
jsg [Tue, 21 Apr 2015 01:41:42 +0000 (01:41 +0000)]
init both fds passed to pipe as -1 instead of initing one twice
ok deraadt@ guenther@ miod@ millert@

9 years agoThe ELF psABI for PPC specifies that the stack shall always be 16-byte aligned.
guenther [Tue, 21 Apr 2015 01:38:41 +0000 (01:38 +0000)]
The ELF psABI for PPC specifies that the stack shall always be 16-byte aligned.

ok mpi@ deraadt@

9 years agorework sgi mutexes to use the owner pointer as the lock.
dlg [Tue, 21 Apr 2015 01:31:51 +0000 (01:31 +0000)]
rework sgi mutexes to use the owner pointer as the lock.

this is like src/sys/arch/alpha/alpha/mutex.c r1.14.

this changes sgi mutexes so they record which cpu owns the lock
rather than just if the lock is held or not. the diagnostics compare
the owner to the current cpus curcpu() address so they can actually
tell if the current cpu holds the lock instead of whether any cpu
holds the lock.

instead of using custom asm to implement a cas this uses atomic_cas_ptr.

while im here i also shuffled the code. on MULTIPROCESSOR systems
instead of duplicating code between mtx_enter and mtx_enter_try,
mtx_enter simply loops on mtx_enter_try until it succeeds.

this also provides an alternative implementation of mutexes on
!MULTIPROCESSOR systems that avoids interlocking opcodes. mutexes
wont contend on UP boxes, theyre basically wrappers around spls.
we can just do the splraise, stash the owner as a guard value for
DIAGNOSTIC and return. similarly, mtx_enter_try on UP will never
fail, so we can just call mtx_enter and return 1.

tested by and ok miod@

9 years agoEliminate the last uses of *fork's second syscall return register; the pid
guenther [Tue, 21 Apr 2015 01:24:28 +0000 (01:24 +0000)]
Eliminate the last uses of *fork's second syscall return register; the pid
is zero in the child

ok deraadt@ miod@

9 years agoReduce differences between i386 pmap modes.
mlarkin [Tue, 21 Apr 2015 00:07:51 +0000 (00:07 +0000)]
Reduce differences between i386 pmap modes.

ok kettenis@

9 years agoRemove most static, gives us much better ddb tracebacks from secondary
miod [Mon, 20 Apr 2015 19:08:52 +0000 (19:08 +0000)]
Remove most static, gives us much better ddb tracebacks from secondary
processors.

9 years agoLog if we refuse to continue the exchange when another one that corresponds
mikeb [Mon, 20 Apr 2015 17:22:18 +0000 (17:22 +0000)]
Log if we refuse to continue the exchange when another one that corresponds
to the same policy is already active.  OK markus, hshoexer

9 years agoRemove unused-but-set variables, from Thomas Adam.
nicm [Mon, 20 Apr 2015 15:41:32 +0000 (15:41 +0000)]
Remove unused-but-set variables, from Thomas Adam.

9 years agoSupport for multiple key tables to commands to be bound to sequences of
nicm [Mon, 20 Apr 2015 15:34:56 +0000 (15:34 +0000)]
Support for multiple key tables to commands to be bound to sequences of
keys. The default key bindings become the "prefix" table and -n the
"root" table. Keys may be bound in new tables with bind -T and
switch-client -T used to specify the table in which the next key should
be looked up. Based on a diff from Keith Amling.

9 years agoFix asking for list of http servers via '?'. The 'more' now used
krw [Mon, 20 Apr 2015 15:31:15 +0000 (15:31 +0000)]
Fix asking for list of http servers via '?'. The 'more' now used
on the install media does not (currently) support '-e' or other
posix nifties, but does exit after displaying the last line.

Should fix scanning for wireless networks too.

Reported by Adam Wolk on misc@.

ok deraadt@

9 years agoStyle nit - unnecessary brackets.
nicm [Mon, 20 Apr 2015 14:48:55 +0000 (14:48 +0000)]
Style nit - unnecessary brackets.

9 years agototally forgot about the !uid notation in newuser when adding the early
espie [Mon, 20 Apr 2015 13:10:54 +0000 (13:10 +0000)]
totally forgot about the !uid notation in newuser when adding the early
cache for pkg_create. Reminded by sthen@

9 years agoFix previous: Don't let man(1) warn twice about non-existant names.
schwarze [Mon, 20 Apr 2015 09:54:34 +0000 (09:54 +0000)]
Fix previous:  Don't let man(1) warn twice about non-existant names.
Again noticed by deraadt@.

9 years agoAvoid out-of-bounds read access before the beginning of the
schwarze [Mon, 20 Apr 2015 09:48:19 +0000 (09:48 +0000)]
Avoid out-of-bounds read access before the beginning of the
mdoc_macros[] array.  This sometimes prevented proper warnings
about text nodes preceding the first section header.

9 years agoMake jump-to-backward/jump-to-forward repeatable with
nicm [Mon, 20 Apr 2015 09:39:21 +0000 (09:39 +0000)]
Make jump-to-backward/jump-to-forward repeatable with
jump-reverse/jump-again, from Jacob Niehus.

9 years agoRemove a bad typo introduced in rev 1.185 and found by jsg@.
mpi [Mon, 20 Apr 2015 09:12:57 +0000 (09:12 +0000)]
Remove a bad typo introduced in rev 1.185 and found by jsg@.

Because of this semicolon, a local route was *always* created.  This
should have no impact except for IPv6 addresses on loopback interfaces
for which the IPv6 code was trying to create a route to "::1" twice.

This should now be fixed so we can fix the bug that was hidding a bug
who was hidding a bug... lalala...

ok henning@

9 years agoDo not treat loopback interfaces as p2p interfaces and create only
mpi [Mon, 20 Apr 2015 09:07:42 +0000 (09:07 +0000)]
Do not treat loopback interfaces as p2p interfaces and create only
one route to "::1".

Due to a clever BSD trick, the `ifa_dstaddr` field of addresses on
IFF_LOOPBACK ifps is set to the same value that `ifa_addr`.  That's
why filtering for broadcast addresses is so complicated, because
guess what, `ifa_broadaddr` is the same as `ifa_dstaddr`!

Sadly our IPv6 code was "only" checking for `ifa_dstaddr` without
looking if the ifa was attached to a IFF_POINTOTPOINT interface.
So it always tried to create two routes to "::1" and, with the
recent RTF_LOCAL work, succeed.

You should now have only one local route to "::1".

 ::1             ::1         UHl       14  0 32768     1 lo0
-::1             ::1         UH         0  0 32768     4 lo0

ok henning@

9 years agoAlways call rt_ifa_dellocal(9) when removing an IPv6 address.
mpi [Mon, 20 Apr 2015 08:53:36 +0000 (08:53 +0000)]
Always call rt_ifa_dellocal(9) when removing an IPv6 address.

The routing layer already check for the correct ifa when asked
to delete a local route, so do not try to be clever here.

This change also prevent having a NULL ifp pointer in your routing
table when you delete loopback interfaces having the same address.

ok henning@

9 years agoUse a more sensible buffer size for flags string.
nicm [Mon, 20 Apr 2015 07:50:49 +0000 (07:50 +0000)]
Use a more sensible buffer size for flags string.

9 years agoport src/sbin/ping/ping.c r1.119 and r1.121 to ping6:
dlg [Mon, 20 Apr 2015 00:46:32 +0000 (00:46 +0000)]
port src/sbin/ping/ping.c r1.119 and r1.121 to ping6:

> add a mac to the timestamp payload and calculate it with siphash.
>
> this lets us have some confidence that the timestamp hasnt been
> damaged or tampered with in transit.
>
> discussed with jp aumasson
> ok florian@

9 years agofold the icmp seq number into the mac.
dlg [Mon, 20 Apr 2015 00:36:51 +0000 (00:36 +0000)]
fold the icmp seq number into the mac.

i dont know why i missed this before.

9 years agotweak previous;
jmc [Sun, 19 Apr 2015 22:10:30 +0000 (22:10 +0000)]
tweak previous;

9 years agoHonour renumber-windows when unlinking a window, from Thomas Adam.
nicm [Sun, 19 Apr 2015 21:46:52 +0000 (21:46 +0000)]
Honour renumber-windows when unlinking a window, from Thomas Adam.

9 years agoRewrite of tmux mouse support which was a mess. Instead of having
nicm [Sun, 19 Apr 2015 21:34:21 +0000 (21:34 +0000)]
Rewrite of tmux mouse support which was a mess. Instead of having
options for "mouse-this" and "mouse-that", mouse events may be bound as
keys and there is one option "mouse" that turns on mouse support
entirely (set -g mouse on).

See the new MOUSE SUPPORT section of the man page for description of the
key names and new flags (-t= to specify the pane or window under mouse
as a target, and send-keys -M to pass through a mouse event).

The default builtin bindings for the mouse are:

    bind -n   MouseDown1Pane select-pane -t=; send-keys -M
    bind -n MouseDown1Status select-window -t=
    bind -n   MouseDrag1Pane copy-mode -M
    bind -n MouseDrag1Border resize-pane -M

To get the effect of turning mode-mouse off, do:

    unbind -n MouseDrag1Pane
    unbind -temacs-copy MouseDrag1Pane

The old mouse options are now gone, set-option -q may be used to
suppress warnings if mixing configuration files.

9 years agoSupport setting the default window and pane background colours (window
nicm [Sun, 19 Apr 2015 21:05:27 +0000 (21:05 +0000)]
Support setting the default window and pane background colours (window
and active pane via window-style and window-active-style options, an
individual pane by a new select-pane -P flag). From J Raynor.

9 years agoMore than one data field may follow T} on the same input line.
schwarze [Sun, 19 Apr 2015 20:34:56 +0000 (20:34 +0000)]
More than one data field may follow T} on the same input line.
Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
in the socket(2) manual on Linux.
Also fixes major rendering bugs (including partial loss of content)
in XkbChangeControls(3), XkbFreeClientMap(3), XkbGetMap(3),
XkbKeyNumGroups(3), and XkbSetMap(3).

9 years agoIncorrect logic in smtpd(8) can lead to unexpected client disconnect, invalid
gilles [Sun, 19 Apr 2015 20:29:12 +0000 (20:29 +0000)]
Incorrect logic in smtpd(8) can lead to unexpected client disconnect, invalid
certificate in SNI negotiation or server crash.

spotted by Edwin Torok

9 years agoAdd support for x2apic mode
sf [Sun, 19 Apr 2015 19:45:21 +0000 (19:45 +0000)]
Add support for x2apic mode

This is currently only enabled on hypervisors because on real hardware, it
requires interrupt remapping which we don't support yet. But on virtualization
it reduces the number of vmexits required per IPI from 4 to 1, causing a
significant speed-up for MP guests.

ok kettenis@

9 years agoIf an explicit line break request (.br or .sp) occurs within an .HP block,
schwarze [Sun, 19 Apr 2015 19:43:50 +0000 (19:43 +0000)]
If an explicit line break request (.br or .sp) occurs within an .HP block,
the next line doesn't hang, but is simply indented.
Issue found by Christian Neukirchen <chneukirchen at gmail dot com>
in the dmsetup(8) manual on Linux.
This patch also improves the indentation of XDGA(3) and XrmGetResource(3).

9 years agosync
deraadt [Sun, 19 Apr 2015 15:55:10 +0000 (15:55 +0000)]
sync

9 years agoIf apropos(1) finds no match, print "nothing appropriate" to stderr
schwarze [Sun, 19 Apr 2015 15:10:04 +0000 (15:10 +0000)]
If apropos(1) finds no match, print "nothing appropriate" to stderr
similar to what the old apropos did.
Requested by and OK deraadt@.

9 years agoUnify trickier node handling functions.
schwarze [Sun, 19 Apr 2015 14:57:16 +0000 (14:57 +0000)]
Unify trickier node handling functions.
* man_elem_alloc() -> roff_elem_alloc()
* man_block_alloc() -> roff_block_alloc()
The functions mdoc_elem_alloc() and mdoc_block_alloc() remain for
now because they need to do mdoc(7)-specific argument processing.

9 years agoBump minor, regen .pc and header
jturner [Sun, 19 Apr 2015 14:26:27 +0000 (14:26 +0000)]
Bump minor, regen .pc and header

9 years agoMerge conflicts
jturner [Sun, 19 Apr 2015 14:25:05 +0000 (14:25 +0000)]
Merge conflicts

9 years agoUnify some node handling functions that use TOKEN_NONE.
schwarze [Sun, 19 Apr 2015 14:25:05 +0000 (14:25 +0000)]
Unify some node handling functions that use TOKEN_NONE.
* mdoc_word_alloc(), man_word_alloc() -> roff_word_alloc()
* mdoc_word_append(), man_word_append() -> roff_word_append()
* mdoc_addspan(), man_addspan() -> roff_addtbl()
* mdoc_addeqn(), man_addeqn() -> roff_addeqn()
Minus 50 lines of code, no functional change.

9 years agoMerge conflicts
jturner [Sun, 19 Apr 2015 14:23:41 +0000 (14:23 +0000)]
Merge conflicts

9 years agoUpdate sqlite3 to 3.8.9. Changes available here:
jturner [Sun, 19 Apr 2015 14:21:33 +0000 (14:21 +0000)]
Update sqlite3 to 3.8.9. Changes available here:
http://sqlite.org/releaselog/3_8_9.html

Tested in bulk and ok landry@

9 years agoDecouple the token code for "no request or macro" from the individual
schwarze [Sun, 19 Apr 2015 13:59:37 +0000 (13:59 +0000)]
Decouple the token code for "no request or macro" from the individual
high-level parsers to allow further unification of functions that
only need to recognize this code, but that don't care about different
high-level macrosets beyond that.

9 years agoUnify node handling functions:
schwarze [Sun, 19 Apr 2015 13:50:10 +0000 (13:50 +0000)]
Unify node handling functions:
* node_alloc() for mdoc and man_node_alloc() -> roff_node_alloc()
* node_append() for mdoc and man_node_append() -> roff_node_append()
* mdoc_head_alloc() and man_head_alloc() -> roff_head_alloc()
* mdoc_body_alloc() and man_body_alloc() -> roff_body_alloc()
* mdoc_node_unlink() and man_node_unlink() -> roff_node_unlink()
* mdoc_node_free() and man_node_free() -> roff_node_free()
* mdoc_node_delete() and man_node_delete() -> roff_node_delete()
Minus 130 lines of code, no functional change.

9 years agoby default fill the ping payload with a chacha stream instead of
dlg [Sun, 19 Apr 2015 12:56:42 +0000 (12:56 +0000)]
by default fill the ping payload with a chacha stream instead of
an unvarying payload.

each ping process generates a random key, and each packet then uses
the timestamps mac as the IV for the stream.

this allows us to have a different payload per packet that we can
recalculate and compare in the same was as the static payload was
checked before. by aggressively varying the payload we hope to
generate more opportunities for dodgy network equipment to show
errors.

note that we do siphash before chacha because we want to be strict
about the timestamp payload, but we want to be able to recognise
errors in the rest of the payload and where those errors were. doing
chacha before siphash would have us than fail the whole packet if
a checksum doesnt match.

discussed with jp aumasson
ok florian@

9 years agoadd a mac to the timestamp payload and calculate it with siphash.
dlg [Sun, 19 Apr 2015 12:45:37 +0000 (12:45 +0000)]
add a mac to the timestamp payload and calculate it with siphash.

this lets us have some confidence that the timestamp hasnt been
damaged or tampered with in transit.

discussed with jp aumasson
ok florian@

9 years agoDo not truncate possible remaining transfer length.
mpi [Sun, 19 Apr 2015 11:12:58 +0000 (11:12 +0000)]
Do not truncate possible remaining transfer length.

Reported by Takahiro HAYASHI on bugs@, thanks!

9 years agoRemove reference to oss audio emulation,
ratchov [Sun, 19 Apr 2015 08:58:02 +0000 (08:58 +0000)]
Remove reference to oss audio emulation,
from Scarlett <scarlett at entering.space>. Thanks!

9 years agoMake SNDCLT_DSP_* ioctls return ENOTTY, and remove the corresponding
ratchov [Sun, 19 Apr 2015 08:42:19 +0000 (08:42 +0000)]
Make SNDCLT_DSP_* ioctls return ENOTTY, and remove the corresponding
code. No ABI change.

ok armani@, guenther@, sthen@

9 years agoRemove emulation of oss audio ioctls from linux emulation.
ratchov [Sun, 19 Apr 2015 08:37:32 +0000 (08:37 +0000)]
Remove emulation of oss audio ioctls from linux emulation.

ok armani, guenther, sthen

9 years agoAdd a missing pmap_kremove
sf [Sun, 19 Apr 2015 06:30:20 +0000 (06:30 +0000)]
Add a missing pmap_kremove

Noticed by mlarkin@

9 years agoBinary code patching on i386
sf [Sun, 19 Apr 2015 06:27:17 +0000 (06:27 +0000)]
Binary code patching on i386

This commit ports the infrastructure to do binary code patching from amd64.
The existing code patching for SMAP is converted to the new infrastruture.

ok kettenis@
"should go in" deraadt@

9 years agoEnable the REG_READ ioctl. A whitelist is used to allow
jsg [Sun, 19 Apr 2015 02:55:52 +0000 (02:55 +0000)]
Enable the REG_READ ioctl.  A whitelist is used to allow
reading a timestamp off the render ring for the Mesa i965 driver.
ok kettenis@

9 years agoDon't lock the file for "vi -R" or "view". OK deraadt@
millert [Sun, 19 Apr 2015 01:10:59 +0000 (01:10 +0000)]
Don't lock the file for "vi -R" or "view".  OK deraadt@

9 years agoForce the boot partition to ext2fs, rathern than leaving it as it was.
deraadt [Sun, 19 Apr 2015 00:37:36 +0000 (00:37 +0000)]
Force the boot partition to ext2fs, rathern than leaving it as it was.
Found by inspection while curious... not though actual experience...
ok miod

9 years agoIt seems that the CPUID lies about the monitor-line size, or at least our
kettenis [Sat, 18 Apr 2015 22:16:21 +0000 (22:16 +0000)]
It seems that the CPUID lies about the monitor-line size, or at least our
interpretation of it isn't quite right.  So instead of allocating memory
and slicing it based on the parameters returned by CPUID, simply use a member
in struct cpu_info like basically all other OSes out there do.  Our struct
cpu_info is large enough to never cause any overlap.  This makes the
mwait-based idle loop actually work.  We still execute the CPUID instruction
to make sure monitor/mwait is properly supported by the hardware we're
running on.

ok sthen@, deraadt@, guenther@

9 years agoConvert many atoi() calls to strtonum(), adding range checks and failure
deraadt [Sat, 18 Apr 2015 18:28:36 +0000 (18:28 +0000)]
Convert many atoi() calls to strtonum(), adding range checks and failure
handling along the way.
Reviews by Brendan MacDonell, Jeremy Devenport, florian, doug, millert

9 years agoDelete the wrapper functions mdoc_meta(), man_meta(), mdoc_node(),
schwarze [Sat, 18 Apr 2015 17:50:02 +0000 (17:50 +0000)]
Delete the wrapper functions mdoc_meta(), man_meta(), mdoc_node(),
man_node() from the mandoc(3) semi-public interface and the internal
wrapper functions print_mdoc() and print_man() from the HTML formatters.
Minus 60 lines of code, no functional change.

9 years agoUnify {mdoc,man}_{alloc,reset,free}() into roff_man_{alloc,reset,free}().
schwarze [Sat, 18 Apr 2015 17:28:08 +0000 (17:28 +0000)]
Unify {mdoc,man}_{alloc,reset,free}() into roff_man_{alloc,reset,free}().
Minus 80 lines of code, no functional change.
Written on the train from Koeln to Wolfsburg returning from p2k15.

9 years agoMove mdoc_hash_init() and man_hash_init() to libmandoc.h
schwarze [Sat, 18 Apr 2015 17:01:28 +0000 (17:01 +0000)]
Move mdoc_hash_init() and man_hash_init() to libmandoc.h
and call them from mparse_alloc() and choose_parser(),
preparing unified allocation of struct roff_man.

9 years agoProfit from the unified struct roff_man and reduce the number of
schwarze [Sat, 18 Apr 2015 16:34:03 +0000 (16:34 +0000)]
Profit from the unified struct roff_man and reduce the number of
arguments of mparse_result() by one.  No functional change.
Written on the ICE Bruxelles-Koeln on the way back from p2k15.

9 years agoReplace the structs mdoc and man by a unified struct roff_man.
schwarze [Sat, 18 Apr 2015 16:04:40 +0000 (16:04 +0000)]
Replace the structs mdoc and man by a unified struct roff_man.
Almost completely mechanical, no functional change.
Written on the train from Exeter to London returning from p2k15.

9 years agoanother round of reducing the diff to linux
jsg [Sat, 18 Apr 2015 14:47:34 +0000 (14:47 +0000)]
another round of reducing the diff to linux

9 years agoSimplify vio_encap() a bit.
sf [Sat, 18 Apr 2015 14:38:38 +0000 (14:38 +0000)]
Simplify vio_encap() a bit.

From brad@

9 years agofrom brad:
jmc [Sat, 18 Apr 2015 12:04:59 +0000 (12:04 +0000)]
from brad:
don;t try to list all generations in ciss's Nd;
do not use all caps for "array"

9 years agodefine and use trace macros
jsg [Sat, 18 Apr 2015 11:41:28 +0000 (11:41 +0000)]
define and use trace macros
discussed with kettenis

9 years agoRemove some unused debug functions. If we're interested in
jsg [Sat, 18 Apr 2015 11:21:12 +0000 (11:21 +0000)]
Remove some unused debug functions.  If we're interested in
these in future we should add i915_debugfs.c

9 years agoreplace the hand rolled lists of mbufs in hfsc_classq with an
dlg [Sat, 18 Apr 2015 11:12:33 +0000 (11:12 +0000)]
replace the hand rolled lists of mbufs in hfsc_classq with an
mbuf_list.

hfsc lists are very clever because they manage a fifo with a single
pointer by abusing the m_next pointer of the tail mbuf to point to
the head. clever but hard to read.

mbuf_lists are slightly bigger because they explicitely track the
head mbuf, but i got us that space back by inlining hfsc_classq
into hfsc_class and removing the unnecessary classq field.

ok henning@

9 years agoadd and use module param macros
jsg [Sat, 18 Apr 2015 11:05:32 +0000 (11:05 +0000)]
add and use module param macros

9 years agoAvoid calling freeifaddrs() with an uninitialised pointer in an
jsg [Sat, 18 Apr 2015 09:32:59 +0000 (09:32 +0000)]
Avoid calling freeifaddrs() with an uninitialised pointer in an
error path.

9 years agoRegis Leroy reported that httpd does not strictly accept CRLF for
jsg [Sat, 18 Apr 2015 09:27:54 +0000 (09:27 +0000)]
Regis Leroy reported that httpd does not strictly accept CRLF for
newlines which could lead to http response splitting/smuggling
if a badly behaved proxy is in front of httpd.

Switch from evbuffer_readline() to evbuffer_readln() with
EVBUFFER_EOL_CRLF_STRICT to avoid this.

ok florian@

9 years agoi386 and amd64 have only one syscall entry point now, so simply the
guenther [Sat, 18 Apr 2015 05:14:05 +0000 (05:14 +0000)]
i386 and amd64 have only one syscall entry point now, so simply the
EIP/RIP adjustment for ERESTART

ok mlarkin@

9 years agoUse futimens() to preserve timestamps with subsec precision.
guenther [Sat, 18 Apr 2015 03:15:46 +0000 (03:15 +0000)]
Use futimens() to preserve timestamps with subsec precision.
Don't cast file sizes to size_t when comparing file contents for the -C option

ok deraadt@

9 years agoUse getint() instead of intval() for parsing the columns variable,
deraadt [Fri, 17 Apr 2015 17:20:41 +0000 (17:20 +0000)]
Use getint() instead of intval() for parsing the columns variable,
allowing the addition of more accurate bounds and garbage checks.
ok millert

9 years agoFALLTHROUGH in getopt is incorrect. While here use strtonum
deraadt [Fri, 17 Apr 2015 16:47:47 +0000 (16:47 +0000)]
FALLTHROUGH in getopt is incorrect.  While here use strtonum
to parse tz_minuteswest.
ok millert

9 years agoOn Ethernet packets have a minimal length, so very short packets
bluhm [Fri, 17 Apr 2015 16:42:50 +0000 (16:42 +0000)]
On Ethernet packets have a minimal length, so very short packets
get padding appended to them.  This padding is not stripped off in
ip6_input() (due to support for IPv6 Jumbograms, RFC2675).  That
means PF needs to be careful when reassembling fragmented packets
to not include the padding in the reassembled packet.
from FreeBSD; via Kristof Provost; OK henning@

9 years agos/recommended/required/ that private keys be og-r
djm [Fri, 17 Apr 2015 13:32:09 +0000 (13:32 +0000)]
s/recommended/required/ that private keys be og-r
this wording change was made a while ago but got accidentally reverted

9 years agodon't try to cleanup NULL KEX proposals in kex_prop_free();
djm [Fri, 17 Apr 2015 13:25:52 +0000 (13:25 +0000)]
don't try to cleanup NULL KEX proposals in kex_prop_free();
found by Jukka Taimisto and Markus Hietava

9 years agouse error/logit/fatal instead of fprintf(stderr, ...) and exit(0),
djm [Fri, 17 Apr 2015 13:19:22 +0000 (13:19 +0000)]
use error/logit/fatal instead of fprintf(stderr, ...) and exit(0),
fix a few errors that were being printed to stdout instead of stderr
and a few non-errors that were going to stderr instead of stdout
bz#2325; ok dtucker

9 years agodebug log missing DISPLAY environment when X11 forwarding
djm [Fri, 17 Apr 2015 13:16:48 +0000 (13:16 +0000)]
debug log missing DISPLAY environment when X11 forwarding
requested; bz#1682 ok dtucker@

9 years agowhile trying to reproduce lockups on mp alpha i hit an
dlg [Fri, 17 Apr 2015 12:38:54 +0000 (12:38 +0000)]
while trying to reproduce lockups on mp alpha i hit an
MUTEX_ASSERT_UNLOCKED, but it turns out alpha mutexes arent very
friendly to diagnostics on smp systems.

alpha mutexes contained an mtx_lock member. when 0 the mutex was
unlocked, and when 1 it was locked. the MUTEX_ASSERT_UNLOCKED checked
if mtx_lock was 1 to see if the current cpu owned the mutex, but
in an mp system another cpu may have set mtx_lock to 1, which causes
the assert to fire.

this changes alpha mutexes so they record which cpu owns the lock
rather than just if the lock is held or not. the diagnostics compare
the owner to the current cpus curcpu() address so they can actually
tell if the current cpu holds the lock instead of whether any cpu
holds the lock.

instead of using custom asm to implement a cas this uses atomic_cas_ptr,
which on alpha uses gcc cas code. miod says he has far more confidence
in the gcc cas than the code that was there before.

while im here i also shuffled the code. on MULTIPROCESSOR systems
instead of duplicating code between mtx_enter and mtx_enter_try,
mtx_enter simply loops on mtx_enter_try until it succeeds.

this also provides an alternative implementation of mutexes on
!MULTIPROCESSOR systems that avoids interlocking opcodes. mutexes
wont contend on UP boxes, theyre basically wrappers around spls.
we can just do the splraise, stash the owner as a guard value for
DIAGNOSTIC and return. similarly, mtx_enter_try on UP will never
fail, so we can just call mtx_enter and return 1.

ok miod@

9 years agoIPSEC_IN_CRYPTO_DONE and OUT_CRYPTO_NEEDED are gone
mikeb [Fri, 17 Apr 2015 11:06:39 +0000 (11:06 +0000)]
IPSEC_IN_CRYPTO_DONE and OUT_CRYPTO_NEEDED are gone

9 years agoStubs and support code for NIC-enabled IPsec bite the dust.
mikeb [Fri, 17 Apr 2015 11:04:01 +0000 (11:04 +0000)]
Stubs and support code for NIC-enabled IPsec bite the dust.
No objection from reyk@, OK markus, hshoexer