mlarkin [Mon, 22 Dec 2014 23:59:43 +0000 (23:59 +0000)]
Move PD_MASK, PT_MASK and a couple macros into pmap.c. The only other
user of these was hibernate, which now gets its own PD_MASK (since
the resume time PD_MASK is essentially disjoint from the runtime
PD_MASK). No functional change, just moving the deck chairs around in
preparation for an upcoming change.
ok deraadt
schwarze [Mon, 22 Dec 2014 23:26:20 +0000 (23:26 +0000)]
The code already pays attention not to close the same block twice.
Similarly, avoid having the same block break two other blocks.
In some situations, this could lead to an endless loop in rew_sub()
found by jsg@ with afl.
Minimal example: .Po Ao Pc Bo Pc Ac Bc
mlarkin [Mon, 22 Dec 2014 22:33:51 +0000 (22:33 +0000)]
Clean up some weird spacing. No functional change.
mlarkin [Mon, 22 Dec 2014 22:22:35 +0000 (22:22 +0000)]
fix an error in piglet allocation when requesting an alignment < PAGE_SIZE
(which we never did, but it was a bug nonetheless).
ok kettenis, deraadt
kurt [Mon, 22 Dec 2014 21:59:18 +0000 (21:59 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.
kurt [Mon, 22 Dec 2014 21:58:25 +0000 (21:58 +0000)]
Self-relocation code for i386.
krw [Mon, 22 Dec 2014 20:08:05 +0000 (20:08 +0000)]
Replace switch workq with taskq, using the blambert@ method (tm).
Tested with non-drm and wsfb systems. ok kettenis@ miod@
kettenis [Mon, 22 Dec 2014 19:32:49 +0000 (19:32 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.
Based on a diff from kurt@
ok deraadt@
deraadt [Mon, 22 Dec 2014 19:18:26 +0000 (19:18 +0000)]
sync
deraadt [Mon, 22 Dec 2014 19:14:59 +0000 (19:14 +0000)]
Static PIE has been delayed for quite a while. By pushing hard with pascal
towards a wimpy (but sufficient) model, kurt and kettenis got upset enough
to do it the right way, right away before we got out of hand. Bravo!
We no longer need /sbin/ld.so on the new roadmap.
kettenis [Mon, 22 Dec 2014 19:04:24 +0000 (19:04 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.
Based on a diff for amd64 from kurt@
kettenis [Mon, 22 Dec 2014 19:02:58 +0000 (19:02 +0000)]
Self-relocation code for hppa.
tedu [Mon, 22 Dec 2014 18:21:10 +0000 (18:21 +0000)]
remove never used in openbsd tahoe support. and ns32k. and pmax.
ok deraadt millert
kettenis [Mon, 22 Dec 2014 16:04:35 +0000 (16:04 +0000)]
Link -static -pie executables with rcrt0.o instead of crt0.o such that they
self-relocate.
Based on a diff for amd64 from kurt@
deraadt [Mon, 22 Dec 2014 15:57:17 +0000 (15:57 +0000)]
sync
tedu [Mon, 22 Dec 2014 15:39:28 +0000 (15:39 +0000)]
dickman noticed /var/rwho keeps coming back. remove it.
kettenis [Mon, 22 Dec 2014 15:05:24 +0000 (15:05 +0000)]
Make it possible to execute PIE binaries that don't have an PT_INTERP segment
(and therefore no interpreter). Necessary to make self-relocating "static"
PIE working.
This will also allow execution of shared libraries that have the 'x' bit set.
Those shouldn't exist, but unfortunately people outside OpenBSD think
differently which means third-party software sometimes installs shared
libraries with the 'x' bit set.
ok kurt@, deraadt@
espie [Mon, 22 Dec 2014 14:24:56 +0000 (14:24 +0000)]
when we run into real errors, the progress meter is distracting, so have
a method ->disable that does something nice to the display, and stops
the progress meter right before we display our first real error.
kettenis [Mon, 22 Dec 2014 14:17:22 +0000 (14:17 +0000)]
Teach ld(1) not to add a PT_INTERP entry for -static -pie.
ok kurt@
kettenis [Mon, 22 Dec 2014 14:09:58 +0000 (14:09 +0000)]
Teach ld(1) not to add a PT_INTERP entry for -static -pie.
ok kurt@
kettenis [Mon, 22 Dec 2014 13:53:01 +0000 (13:53 +0000)]
Self-relocation code for sparc64.
kettenis [Mon, 22 Dec 2014 13:32:51 +0000 (13:32 +0000)]
When skipping a relocation because the referenced symbol is undefined, make
sure we move on to the next relocation entry.
While there, also skip relocations for REL architectures.
shadchin [Mon, 22 Dec 2014 11:21:49 +0000 (11:21 +0000)]
Now does not need to be initialized event.value.
This not used anymore.
ok deraadt@
mpi [Mon, 22 Dec 2014 11:17:20 +0000 (11:17 +0000)]
Operations on the global prefix or address lists should be done under
splsoftnet().
mpi [Mon, 22 Dec 2014 11:05:53 +0000 (11:05 +0000)]
Make sure rtrequest1(9) is called under splsoftnet().
jmc [Mon, 22 Dec 2014 09:26:31 +0000 (09:26 +0000)]
add fingerprinthash to the options list;
jmc [Mon, 22 Dec 2014 09:24:59 +0000 (09:24 +0000)]
tweak previous;
florian [Mon, 22 Dec 2014 09:13:35 +0000 (09:13 +0000)]
Out out you evil network daemon.
OK deraadt@ some time ago
djm [Mon, 22 Dec 2014 09:05:17 +0000 (09:05 +0000)]
mention ssh -Q feature to list supported { MAC, cipher, KEX, key }
algorithms in more places and include the query string used to
list the relevant information; bz#2288
jmc [Mon, 22 Dec 2014 08:24:17 +0000 (08:24 +0000)]
tweak previous;
djm [Mon, 22 Dec 2014 08:06:03 +0000 (08:06 +0000)]
regression test for multiple required pubkey authentication;
ok markus@
djm [Mon, 22 Dec 2014 08:04:23 +0000 (08:04 +0000)]
correct description of what will happen when a AuthorizedKeysCommand is
specified but AuthorizedKeysCommandUser is not (sshd will refuse to start)
djm [Mon, 22 Dec 2014 07:55:51 +0000 (07:55 +0000)]
make internal handling of filename arguments of "none" more consistent
with ssh. "none" arguments are now replaced with NULL when the
configuration is finalised.
Simplifies checking later on (just need to test not-NULL rather than
that + strcmp) and cleans up some inconsistencies. ok markus@
djm [Mon, 22 Dec 2014 07:51:30 +0000 (07:51 +0000)]
remember which public keys have been used for authentication and
refuse to accept previously-used keys.
This allows AuthenticationMethods=publickey,publickey to require
that users authenticate using two _different_ pubkeys.
ok markus@
djm [Mon, 22 Dec 2014 07:24:11 +0000 (07:24 +0000)]
fix passing of wildcard forward bind addresses when connection
multiplexing is in use; patch from Sami Hartikainen via bz#2324;
ok dtucker@
djm [Mon, 22 Dec 2014 06:14:29 +0000 (06:14 +0000)]
make this slightly easier to diff against portable
dlg [Mon, 22 Dec 2014 04:43:38 +0000 (04:43 +0000)]
add TIMEOUT_INITIALIZER for initting timeout declaractions.
similar to TASK_INITIALIZER and all the queue _INITIALIZER things.
ok deraadt@
kurt [Mon, 22 Dec 2014 03:51:08 +0000 (03:51 +0000)]
Introduce new csu0 variant for -static -pie binaries to use called
rcsu0.o where the initial 'r' is for relocatable. rcsu0.o performs
self-relocation on static pie binaries by calling a slightly modified
copy of ld.so's _dl_boot_bind() in boot.h.
The first arch implementatation is also included for amd64 where
__start calls _dl_boot_bind() and then calls ___start(). Includes
parts from kettenis@ to help get R_X86_64_64 relocations working
and proper handling for undefined weak symbols.
This is the first part of several to get static pie self-relocating
binaries working. binutils, gcc and kernel changes are forthcoming
to complete the solution, then per-arch implementations are needed
for MD_RCRT0_START in csu.
okay kettenis@ pascal@ deraadt@
tedu [Mon, 22 Dec 2014 03:38:01 +0000 (03:38 +0000)]
convert to using siphash
tedu [Mon, 22 Dec 2014 03:33:18 +0000 (03:33 +0000)]
fix docs for NOBROADCASTKILL
deraadt [Mon, 22 Dec 2014 03:14:59 +0000 (03:14 +0000)]
bcopy -> memcpy, as in amd64
deraadt [Mon, 22 Dec 2014 03:13:45 +0000 (03:13 +0000)]
bcopy -> memcpy; ok tedu
tedu [Mon, 22 Dec 2014 02:59:53 +0000 (02:59 +0000)]
remove some unused fields from pool. ok dlg
deraadt [Mon, 22 Dec 2014 02:55:48 +0000 (02:55 +0000)]
amd64 now also uses the ssyms mechanism.
ok guenther
tedu [Mon, 22 Dec 2014 02:28:51 +0000 (02:28 +0000)]
unifdef INET
tedu [Mon, 22 Dec 2014 02:26:53 +0000 (02:26 +0000)]
unifdef INET
djm [Mon, 22 Dec 2014 02:15:52 +0000 (02:15 +0000)]
adjust for new SHA256 key fingerprints and slightly-different MD5 hex
fingerprint format
djm [Mon, 22 Dec 2014 01:14:49 +0000 (01:14 +0000)]
poll changes to netcat (usr.bin/netcat.c r1.125) broke this test;
fix it by ensuring more stdio fds are sent to devnull
dlg [Mon, 22 Dec 2014 00:33:40 +0000 (00:33 +0000)]
if we're able to use large page allocators, try and place at least
8 items on a page. this reduces the number of allocator operations
we have to do per item on large items.
ok tedu@
jmc [Sun, 21 Dec 2014 23:35:14 +0000 (23:35 +0000)]
tweak previous;
djm [Sun, 21 Dec 2014 23:12:42 +0000 (23:12 +0000)]
document FingerprintHash here too
djm [Sun, 21 Dec 2014 22:27:55 +0000 (22:27 +0000)]
Add FingerprintHash option to control algorithm used for key
fingerprints. Default changes from MD5 to SHA256 and format
from hex to base64.
Feedback and ok naddy@ markus@
shadchin [Sun, 21 Dec 2014 18:25:07 +0000 (18:25 +0000)]
WSCONS_EVENT_WSMOUSED_SLEEP and WSCONS_EVENT_WSMOUSED_CLOSE not used anymore.
ok mpi@
shadchin [Sun, 21 Dec 2014 18:23:37 +0000 (18:23 +0000)]
Cleanup - remove event WSCONS_EVENT_WSMOUSED_SLEEP, WSCONS_EVENT_WSMOUSED_CLOSE.
Do not need it now.
ok mpi@
shadchin [Sun, 21 Dec 2014 18:16:07 +0000 (18:16 +0000)]
WSMOUSE_INPUT_WSMOUSED_CLOSE not used anymore.
ok mpi@
mlarkin [Sun, 21 Dec 2014 16:27:07 +0000 (16:27 +0000)]
Prevent writing to the kernel area via the direct map. We do this by padding
the end of the kernel area to 2MB, so that the direct map pages can then
have the W permission removed (X permission was already removed in a previous
diff). This creates a VA hole at the end of bss, so adjust for that since
that's where symbols get loaded by the bootloader (for now, map that region
RO until the boot loader can be updated to place the symbols at "end" instead
of "end of bss").
with help from and ok deraadt@
schwarze [Sun, 21 Dec 2014 14:49:00 +0000 (14:49 +0000)]
Use -m for macro set selection in mandoc(1) mode only, not in man(1)
and apropos(1) mode. While here, put a space character between
options and option arguments in error messages.
Both reported by Alessandro DE LAURENZIS <just22 dot adl at gmail dot com>.
mpi [Sun, 21 Dec 2014 12:04:01 +0000 (12:04 +0000)]
Always clear a port reset feature after setting it, or at least try to.
Otherwise we might leave a port in an unwanted state.
Found while investigating timeout issues on xhci(4).
mpi [Sun, 21 Dec 2014 11:46:53 +0000 (11:46 +0000)]
Various transfer improvements/fixes.
Chain TRBs when submitting bulk or interrupt transfers with a length
bigger than the Maxium Packet Size of the endpoint.
Append a supplementary TRB if a zero length packet is required.
While here, set the flags of each TRB at once. Even if this driver
implementation fills the first TRB of a chain last, be safe and make
sure the hardware wont miss any flag.
Note that with this change, DMA sync operations might not cover the
whole chain, just like for control transfers, if the ring is starting
over.
Previous version of this diff tested by Peter N. M. Hansteen, thanks!
mpi [Sun, 21 Dec 2014 11:20:24 +0000 (11:20 +0000)]
Use a bitmask when dumping TRB flags. No change in !XHCI_DEBUG.
espie [Sun, 21 Dec 2014 09:33:12 +0000 (09:33 +0000)]
fix test-redef2:
- introduce explicit STORAGE classes for the shadow stack entries
- delay freeing definitions if they're in-use, keep them in a simple array.
okay millert@
guenther [Sun, 21 Dec 2014 04:49:00 +0000 (04:49 +0000)]
<sys/endian.h> needs <sys/cdefs.h>
found previously by someone whose email I've lost; rediscovered by miod@
ok millert@ deraadt@
guenther [Sun, 21 Dec 2014 00:54:49 +0000 (00:54 +0000)]
Stop pulling in <arpa/inet.h> or <arpa/nameser.h> when unnecessary.
*Do* pull it in when in_{port,addr}_h is needed and <netinet/in.h> isn't.
ok reyk@
daniel [Sun, 21 Dec 2014 00:23:30 +0000 (00:23 +0000)]
Show the sign for NaN as per POSIX; from Elliott Hughes.
ok martynas@, millert@, doug@
daniel [Sun, 21 Dec 2014 00:17:24 +0000 (00:17 +0000)]
Fix build with -Werror -std=c99 -pedantic.
ok schwarze@
miod [Sat, 20 Dec 2014 18:15:29 +0000 (18:15 +0000)]
Replacing <machine/endian.h> with <sys/endian.h> does not imply removing
<sys/types.h>. kthxbye
krw [Sat, 20 Dec 2014 16:34:27 +0000 (16:34 +0000)]
Replace switch workq with taskq.
Diff from blambert@, double ok@ kettenis.
krw [Sat, 20 Dec 2014 15:54:48 +0000 (15:54 +0000)]
Zap a sneaky trailing blank that was hiding in plain view.
kettenis [Sat, 20 Dec 2014 13:45:15 +0000 (13:45 +0000)]
Zap local variable that shadows another local variable. Fixes a panic caused
by passing random stack garbage as the size to free(9).
From David Imhoff
krw [Sat, 20 Dec 2014 13:37:32 +0000 (13:37 +0000)]
Zap a bunch of leading/trailing whitespace.
reyk [Sat, 20 Dec 2014 11:27:18 +0000 (11:27 +0000)]
Cleanup vmt(4) by changing an ugly if statement for received commands
into a table of callbacks. Additionally, turn printfs into DPRINTFs
to make the driver less chatty by default.
OK deraadt@
tedu [Sat, 20 Dec 2014 06:04:39 +0000 (06:04 +0000)]
openbsd rcisd
guenther [Sat, 20 Dec 2014 05:43:26 +0000 (05:43 +0000)]
$OpenBSD for our rev here
schwarze [Sat, 20 Dec 2014 02:26:42 +0000 (02:26 +0000)]
Fix two issues causing a class of assertion failures found by jsg@ with afl.
1) rew_sub(): Make sure REWIND_MORE is acted upon even when followed by
REWIND_NONE. This prevents .It from ending up inside other children of .Bl.
2) blk_exp_close(): Only allow extension of .Bl when it has at least
one .It. Otherwise, a broken child block could be moved in front of
the .Bl, effectively resulting in a .Bl that ended before it began.
schwarze [Sat, 20 Dec 2014 00:19:54 +0000 (00:19 +0000)]
resolve some code duplication; no functional change
guenther [Fri, 19 Dec 2014 22:44:58 +0000 (22:44 +0000)]
Use <sys/endian.h> instead of <machine/endian.h>
ok dlg@ mpi@ bcook@ millert@ miod@
deraadt [Fri, 19 Dec 2014 22:30:47 +0000 (22:30 +0000)]
sync with libc, using brnz,pt instead, should be better
ok kettenis
bluhm [Fri, 19 Dec 2014 21:41:20 +0000 (21:41 +0000)]
Use a simpler expression to check the ether type in scapy. This
makes the fragment tests work on FreeBSD. From Ilya Bakulin.
tedu [Fri, 19 Dec 2014 20:18:15 +0000 (20:18 +0000)]
no need to kvm the palloc. the pgsize is more correctly accessed via pool.
deraadt [Fri, 19 Dec 2014 19:28:55 +0000 (19:28 +0000)]
Use reallocarray() where suitable
ok millert doug
bluhm [Fri, 19 Dec 2014 18:57:17 +0000 (18:57 +0000)]
Do not report an EDQUOT "Disk quota exceeded" error from the routing
code. Instead generate an ENOBUFS "No buffer space available" error
at the malloc(9) failure in rt_setgate(9) and propagate it.
OK mpi@
tedu [Fri, 19 Dec 2014 17:44:29 +0000 (17:44 +0000)]
multiline string literals aren't really a thing. just smush a few strings
together.
tedu [Fri, 19 Dec 2014 17:25:14 +0000 (17:25 +0000)]
remove ipw. it wasn't included in generic, but nobody complained,
indicating probably nobody has one of these in amd64 capable hardware.
spotted by krw. ok kettenis krw
tedu [Fri, 19 Dec 2014 17:16:57 +0000 (17:16 +0000)]
make the code look more like libc by changing Transform to take the state
ok millert
tedu [Fri, 19 Dec 2014 17:15:16 +0000 (17:15 +0000)]
bcopy to memcpy. ok deraadt millert
tedu [Fri, 19 Dec 2014 17:14:39 +0000 (17:14 +0000)]
unifdef INET in net code as a precursor to removing the pretend option.
long live the one true internet.
ok henning mikeb
schwarze [Fri, 19 Dec 2014 17:10:42 +0000 (17:10 +0000)]
Enforcing an arbitrary, implementation dependent, undocumented limit
by calling assert() when valid user input exceeds it is a bad idea.
Allocate the terminal font stack dynamically instead of crashing
above 10 entries. Issue found by jsg@ with afl.
krw [Fri, 19 Dec 2014 15:46:22 +0000 (15:46 +0000)]
Fix tree breakage due to unused variable after last commit.
krw [Fri, 19 Dec 2014 15:19:47 +0000 (15:19 +0000)]
Change scan and auth+assoc workq entries to taskq entries.
Identical diff originally and independently developed by blambert@.
reyk [Fri, 19 Dec 2014 15:14:48 +0000 (15:14 +0000)]
shuffle function declarations a bit; stylistic changes only.
tedu [Fri, 19 Dec 2014 15:14:04 +0000 (15:14 +0000)]
be like the kernel and only unroll if not small
reyk [Fri, 19 Dec 2014 15:07:33 +0000 (15:07 +0000)]
No need to include sys/types.h when sys/param.h is already included.
While here, sort includes a bit. No functional change.
deraadt [Fri, 19 Dec 2014 14:34:23 +0000 (14:34 +0000)]
sync
deraadt [Fri, 19 Dec 2014 14:30:44 +0000 (14:30 +0000)]
i386 unrolling blows up the media in a big way, due to -Os for
ramdisk libc builds. there has to be a better way without #ifdef's
in gross places, but I don't see it yet.
deraadt [Fri, 19 Dec 2014 14:23:58 +0000 (14:23 +0000)]
oops, forgot rndvar.h
ajacoutot [Fri, 19 Dec 2014 14:23:41 +0000 (14:23 +0000)]
Add rdp/rfb/vnc.
no objection from deraadt@
deraadt [Fri, 19 Dec 2014 14:19:41 +0000 (14:19 +0000)]
place the afterinstall: target correctly for static-only architectures
deraadt [Fri, 19 Dec 2014 14:15:50 +0000 (14:15 +0000)]
oops, forgot rndvar.h
tedu [Fri, 19 Dec 2014 14:12:00 +0000 (14:12 +0000)]
don't print vnodes if we didn't read them
tedu [Fri, 19 Dec 2014 14:08:20 +0000 (14:08 +0000)]
1. -T (totalflag) requires nlist too.
2. If we can't read a vnode, there's no way LIST_NEXT is going to be
meaningful.
3. set numvnodes before looping in case we return early.
getting better, but still not all fixed