openbsd
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

9 years agoRemove unused ipsp_parse_headers that was supposed to parse packets
mikeb [Fri, 17 Apr 2015 10:08:07 +0000 (10:08 +0000)]
Remove unused ipsp_parse_headers that was supposed to parse packets
returned by IPsec-enabled NICs;  OK markus, hshoexer

9 years agoRemove unsupported SADB_X_IDENTTYPE_CONNECTION; OK markus, hshoexer
mikeb [Fri, 17 Apr 2015 10:04:37 +0000 (10:04 +0000)]
Remove unsupported SADB_X_IDENTTYPE_CONNECTION;  OK markus, hshoexer

9 years agoRemove superflous "::1" route, test currently failing but a fix is
mpi [Fri, 17 Apr 2015 08:20:24 +0000 (08:20 +0000)]
Remove superflous "::1" route, test currently failing but a fix is
in its way.

9 years agoLocal routes should be present in the routing table output.
mpi [Fri, 17 Apr 2015 08:19:27 +0000 (08:19 +0000)]
Local routes should be present in the routing table output.

9 years agoparse_prefix in parse.c got changed but the declaration in bgpctl.c
phessler [Fri, 17 Apr 2015 07:51:09 +0000 (07:51 +0000)]
parse_prefix in parse.c got changed but the declaration in bgpctl.c
wasn't updated, so we would crash when doing `bgpctl net bulk` commands.

Fix by moving parse_prefix into a header, since we use it in more than
one file.

crash found by henning@
underlying problem found by blambert@

OK sthen@ deraadt@ claudio@ henning@

9 years agoMatch -current output. Every configured address should have a local route
mpi [Fri, 17 Apr 2015 07:46:10 +0000 (07:46 +0000)]
Match -current output.  Every configured address should have a local route
and remove redundant loopback cloning route.

Note that tests using IPv6 still contain two routes to "::1" this should
cause no harm but is being investigated.

9 years agoCrank the timeout and decrease the buffer size to not end up dropping
mpi [Fri, 17 Apr 2015 07:17:51 +0000 (07:17 +0000)]
Crank the timeout and decrease the buffer size to not end up dropping
all the entropy provided by the device.

Also make sure we match the right endpoint.

From Sean Levy based on comments from Andreas Gustafsson who's behind
Alea.

9 years agooops, started expecting sockoptlevelname() to handle two arguments
guenther [Fri, 17 Apr 2015 06:33:30 +0000 (06:33 +0000)]
oops, started expecting sockoptlevelname() to handle two arguments
but never actually did so.  Fix that so that we stop losing the
second argument to {get,set}sockopt().  Handling of levels other than
SOL_SOCKET could be improved.

9 years agoThe first argument to socket/socketpair is an address family, not a protocol
guenther [Fri, 17 Apr 2015 06:14:36 +0000 (06:14 +0000)]
The first argument to socket/socketpair is an address family, not a protocol
family.  (sysctl(3) is practically the only place where PF_* is correct)

9 years agoTweaks utimensat/futimens handling to always update ctime, even when both
guenther [Fri, 17 Apr 2015 04:43:20 +0000 (04:43 +0000)]
Tweaks utimensat/futimens handling to always update ctime, even when both
atime and mtime are UTIME_OMIT (at least for ufs, tmpfs, and ext2fs), and
to correctly handle a timestamp of -1.

ok millert@

9 years agodon't call record_login() in monitor when UseLogin is enabled;
djm [Fri, 17 Apr 2015 04:32:31 +0000 (04:32 +0000)]
don't call record_login() in monitor when UseLogin is enabled;
bz#278 reported by drk AT sgi.com; ok dtucker

9 years agoAdd some missing options to sshd -T and fix the output of VersionAddendum
dtucker [Fri, 17 Apr 2015 04:12:35 +0000 (04:12 +0000)]
Add some missing options to sshd -T and fix the output of VersionAddendum
HostCertificate.  bz#2346, patch from jjelen at redhat com, ok djm.

9 years agoMake drm ioctls table driven. Further reduces the diff to linux.
jsg [Fri, 17 Apr 2015 00:54:41 +0000 (00:54 +0000)]
Make drm ioctls table driven.  Further reduces the diff to linux.
ok kettenis@

9 years agoDocument "none" for PidFile XAuthLocation TrustedUserCAKeys and RevokedKeys.
dtucker [Thu, 16 Apr 2015 23:25:50 +0000 (23:25 +0000)]
Document "none" for PidFile XAuthLocation TrustedUserCAKeys and RevokedKeys.
bz#2382, feedback from jmc@, ok djm@

9 years agoRestore the page headers and page footers that accidentally got lost
schwarze [Thu, 16 Apr 2015 20:21:08 +0000 (20:21 +0000)]
Restore the page headers and page footers that accidentally got lost
in rev. 1.225.  Regression reported by florian@.

9 years agofirmware, not firmwares;
jmc [Thu, 16 Apr 2015 20:01:39 +0000 (20:01 +0000)]
firmware, not firmwares;

9 years agotweak previous;
jmc [Thu, 16 Apr 2015 19:59:28 +0000 (19:59 +0000)]
tweak previous;

9 years agoipa_inp_next is unused; via mikeb@
markus [Thu, 16 Apr 2015 19:44:01 +0000 (19:44 +0000)]
ipa_inp_next is unused; via mikeb@

9 years agoremove unfinished/unused support for socket-attached ipsec-policies
markus [Thu, 16 Apr 2015 19:24:13 +0000 (19:24 +0000)]
remove unfinished/unused support for socket-attached ipsec-policies
ok mikeb

9 years agochange {import,export}_identity so it can be used for policies; ok mikeb
markus [Thu, 16 Apr 2015 19:18:10 +0000 (19:18 +0000)]
change {import,export}_identity so it can be used for policies; ok mikeb
(fixes sadb_ident_type conversion for policies)

9 years agoshorten "outdated mandoc.db" warning message; requested by deraadt@
schwarze [Thu, 16 Apr 2015 16:35:02 +0000 (16:35 +0000)]
shorten "outdated mandoc.db" warning message; requested by deraadt@