deraadt [Tue, 2 May 2017 03:59:44 +0000 (03:59 +0000)]
use freezero() instead of memset/explicit_bzero + free. Substantially
reduces conditional logic (-218, +82).
MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH cache alignment calculation bn/bn_exp.c
wasn'tt quite right. Two other tricky bits with ASN1_STRING_FLAG_NDEF and
BN_FLG_STATIC_DATA where the condition cannot be collapsed completely.
Passes regress. ok beck
mlarkin [Tue, 2 May 2017 02:58:24 +0000 (02:58 +0000)]
Matching vmd(8) part of previous diff (first part of vmctl send/receive).
ok kettenis
mlarkin [Tue, 2 May 2017 02:57:46 +0000 (02:57 +0000)]
Allow setting of guest MSRs from vmd(8). This change is the first part of
a larger effort to implement vmctl send/vmctl receive (snapshot and VM
migration).
From Pratik Vyas, Siri Chandana, Harshada Mone and Ashwin Agrawal, a
group of students I am supervising.
ok kettenis
schwarze [Mon, 1 May 2017 23:27:23 +0000 (23:27 +0000)]
A few days ago, a patch from <G dot Branden dot Robinson at gmail dot com>
got committed to groff which changed .TP from using .it to using .itc,
such that groff now supports more than one man(7) macro line in the .TP
head if all but the last line in the head end with \c.
Of course, relying on that behaviour is utterly non-portable, but if
authors are reckless enough to use that idiom, let's do what they want.
djm [Mon, 1 May 2017 22:09:48 +0000 (22:09 +0000)]
when freeing a bitmap, zero all it bytes; spotted by Ilya Kaliman
schwarze [Mon, 1 May 2017 20:53:58 +0000 (20:53 +0000)]
When trying to expand some columns in a table where the sum of the
widths of the remaining columns is already wider than the line
length, underflowing size_t and dying from ENOMEM is the wrong plan.
Instead, simply refrain from expanding anything in such a situation,
avoiding a crash that tb@ found with afl.
millert [Mon, 1 May 2017 19:05:49 +0000 (19:05 +0000)]
Quiet an "implicit conversion from 'int' to 'char' changes value"
warning from clang.
rpe [Mon, 1 May 2017 16:23:42 +0000 (16:23 +0000)]
Revert r1.170 and remove the id==0 check.
The id binary is not available in nfs diskless setups at this point.
reported by Andreas Kusalananda, thanks.
discussed with deraadt@
jsg [Mon, 1 May 2017 14:43:46 +0000 (14:43 +0000)]
move some binutils files from gcc sets back to md sets
ok deraadt@
rpe [Mon, 1 May 2017 14:29:39 +0000 (14:29 +0000)]
Apply same change of defaultroute handling as in r1.179 of netstart.
Now that routes are automatically G/C with the address they are
attached to there's no reason to duplicate the kernel's job.
rpe [Mon, 1 May 2017 14:23:29 +0000 (14:23 +0000)]
Remove last remnants of rtsol. IPv6 autoconfiguration of interfaces is now
done in ifstart(). Remove ipv6autoconf() and replace rtsolif with a boolean
variable V6_AUTOCONF. Replace dhcpif with a boolean variable V4_DHCPCONF.
Both are later used in defaultroute() to decide whether or not to configre
defaultroutes from /etc/mygate.
OK krw@
rpe [Mon, 1 May 2017 14:22:36 +0000 (14:22 +0000)]
Remove last remnants of rtsol. IPv6 autoconfiguration of interfaces
is now done in ifstart(). Replace rtsolif with a boolean variable
V6_AUTOCONF. Replace dhcpif with a boolean variable V4_DHCPCONF.
Both are later used to decide whether or not to configre defaultroutes
from /etc/mygate.
OK krw@
djm [Mon, 1 May 2017 14:08:26 +0000 (14:08 +0000)]
this one I did forget to "cvs rm"
rpe [Mon, 1 May 2017 14:01:47 +0000 (14:01 +0000)]
Comments and spacing.
jsg [Mon, 1 May 2017 13:44:59 +0000 (13:44 +0000)]
move more gcc files to gcc sets
ok deraadt@
nicm [Mon, 1 May 2017 12:20:55 +0000 (12:20 +0000)]
In order that people can use formats like #D in #() in the status line
and not have to wait for an update when they change pane, we allow
commands to run more than once a second if the expanded form
changes. Unfortunately this can mean them being run far too often
(pretty much continually) when multiple clients exist, because some
formats (including #D) will always differ between clients.
To avoid this, give each client its own tree of jobs which means that
the same command will be different instances for each client - similar
to how we have the tag to separate commands for different panes.
GitHub issue 889; test case reported by Paul Johnson.
gilles [Mon, 1 May 2017 09:29:07 +0000 (09:29 +0000)]
in function used for tracing, display unknown lookup types as "???"
diff from Wolf480pl
djm [Mon, 1 May 2017 09:27:45 +0000 (09:27 +0000)]
don't know why cvs didn't exterminate these the first time around,
I use rm -f and everuthing...
pointed out by sobrado@
mpi [Mon, 1 May 2017 06:39:25 +0000 (06:39 +0000)]
Fewer kgdb(7) references and fix previous.
Pointed by jmc@
jmc [Mon, 1 May 2017 06:23:59 +0000 (06:23 +0000)]
update currency exchange rates;
djm [Mon, 1 May 2017 02:27:11 +0000 (02:27 +0000)]
remove unused variable
millert [Mon, 1 May 2017 00:08:31 +0000 (00:08 +0000)]
Document that wait3/waitpid can receive SIGCHILD when wpid does
not exist or is not a child of the calling process.
Document what happens when SIGCHLD is ignored or SA_NOCLDWAIT is
set in sa_flags (this part from FreeBSD).
OK guenther@
djm [Mon, 1 May 2017 00:03:18 +0000 (00:03 +0000)]
fixup setting ciphercontext->plaintext (lost in SSHv1 purge), though
it isn't really used for much anymore.
deraadt [Sun, 30 Apr 2017 23:54:43 +0000 (23:54 +0000)]
sync
djm [Sun, 30 Apr 2017 23:34:55 +0000 (23:34 +0000)]
eliminate explicit specification of protocol in tests and loops over
protocol. We only support SSHv2 now.
djm [Sun, 30 Apr 2017 23:33:48 +0000 (23:33 +0000)]
remove SSHv1 support from unit tests
djm [Sun, 30 Apr 2017 23:29:10 +0000 (23:29 +0000)]
flense SSHv1 support from ssh-agent, considerably simplifying it
ok markus
djm [Sun, 30 Apr 2017 23:28:41 +0000 (23:28 +0000)]
obliterate ssh1.h and some dead code that used it
ok markus@
djm [Sun, 30 Apr 2017 23:28:12 +0000 (23:28 +0000)]
exterminate the -1 flag from scp
ok markus@
djm [Sun, 30 Apr 2017 23:26:54 +0000 (23:26 +0000)]
purge the last traces of SSHv1 from the TTY modes handling code
ok markus
djm [Sun, 30 Apr 2017 23:26:16 +0000 (23:26 +0000)]
remove the (in)famous SSHv1 CRC compensation attack detector.
Despite your cameo in The Matrix movies, you will not be missed.
ok markus
djm [Sun, 30 Apr 2017 23:25:03 +0000 (23:25 +0000)]
undo some local debugging stuff that I committed by accident
djm [Sun, 30 Apr 2017 23:23:54 +0000 (23:23 +0000)]
remove SSHv1 support from packet and buffer APIs
ok markus@
djm [Sun, 30 Apr 2017 23:21:54 +0000 (23:21 +0000)]
remove SSHv1-related buffers from client code
djm [Sun, 30 Apr 2017 23:18:44 +0000 (23:18 +0000)]
remove KEY_RSA1
ok markus@
djm [Sun, 30 Apr 2017 23:18:22 +0000 (23:18 +0000)]
remove SSHv1 configuration options and man pages bits
ok markus@
djm [Sun, 30 Apr 2017 23:17:37 +0000 (23:17 +0000)]
remove SSH1 make flag and associated files
ok markus@
djm [Sun, 30 Apr 2017 23:15:04 +0000 (23:15 +0000)]
remove SSHv1 ciphers; ok markus@
djm [Sun, 30 Apr 2017 23:13:25 +0000 (23:13 +0000)]
remove compat20/compat13/compat15 variables
ok markus@
djm [Sun, 30 Apr 2017 23:11:45 +0000 (23:11 +0000)]
remove options.protocol and client Protocol configuration knob
ok markus@
djm [Sun, 30 Apr 2017 23:10:43 +0000 (23:10 +0000)]
unifdef WITH_SSH1
ok markus@
kettenis [Sun, 30 Apr 2017 22:35:33 +0000 (22:35 +0000)]
Make early attrbute work here as well. Remove unreachable panic while there.
ok visa@, patrick@, drahn@
kettenis [Sun, 30 Apr 2017 21:52:40 +0000 (21:52 +0000)]
Fix priority handling. The interrupt priority registers expose the full range
of priorities available in secure mode (minimally 32). For non-secure
interrupts we need to make sure the top bit is set and shift our interrupt
priority level into the remaining bits. The priority mask register on the
other hand only exposes the priority levels available to the mode from which
it is accessed. So when accessed from non-secure mode, we need to shift our
interrupt priority level by a different amount.
Also set the binary point register to zero to make sure the maximum number of
available bits are used for the priority group and priority masking actually
works as expected.
This makes the FireFly-RK3399 boot multi-user with the root filesystem on USB.
ok drahn@
mikeb [Sun, 30 Apr 2017 21:34:45 +0000 (21:34 +0000)]
Switch AES testcase to the new implementation
OK djm@
mikeb [Sun, 30 Apr 2017 21:33:02 +0000 (21:33 +0000)]
Constant time AES implementation
This introduces a 32-bit constant time AES implementation from
Thomas Pornin originally for BearSSL and then adjusted by Thomas
and myself to fit OpenBSD kernel. One of the additional features
is an API for encryption and decryption subkey expansion in the
format specified by NIST in FIPS 197.
Tested by myself and naddy@, ok djm@
deraadt [Sun, 30 Apr 2017 21:15:46 +0000 (21:15 +0000)]
sync
millert [Sun, 30 Apr 2017 20:30:39 +0000 (20:30 +0000)]
Move FlexLexer.h from /usr/include/g++ to /usr/include. It is not
a g++-specific header and this matches most other systems. Needed
to use flex++ with clang. OK espie@ kettenis@
mpi [Sun, 30 Apr 2017 20:09:27 +0000 (20:09 +0000)]
Remove KGDB references.
mpi [Sun, 30 Apr 2017 20:04:42 +0000 (20:04 +0000)]
Remove some KGDB leftovers.
From Amit Kulkarni.
mpi [Sun, 30 Apr 2017 19:37:13 +0000 (19:37 +0000)]
Do not try to delete a default route before adding it.
Now that route are automatically G/C with the address they are attached
to there's no reason to duplicate the kernel's job.
Fix a regression introduced with multipath default routes.
ok deraadt@
beck [Sun, 30 Apr 2017 17:54:11 +0000 (17:54 +0000)]
No original OpenSSL code remains in this file. Relicense
beck [Sun, 30 Apr 2017 17:46:27 +0000 (17:46 +0000)]
whitespace
kettenis [Sun, 30 Apr 2017 17:42:32 +0000 (17:42 +0000)]
Add rkclock(4), a driver for the Rockchip RK3399 clocks.
mpi [Sun, 30 Apr 2017 16:45:45 +0000 (16:45 +0000)]
Rename Debugger() into db_enter().
Using a name with the 'db_' prefix makes it invisible from the dynamic
profiler.
ok deraadt@, kettenis@, visa@
deraadt [Sun, 30 Apr 2017 15:17:28 +0000 (15:17 +0000)]
sync
schwarze [Sun, 30 Apr 2017 15:05:27 +0000 (15:05 +0000)]
Mention that escaping "^" as "\(ha" in source code samples improves
portability, in particular when rendering to formats such as PDF
with real typesetters such as groff.
While here, make it even more explicit that the rendering of raw
ASCII accents ( ` ' ~ ^ ) found in the input is kind of a mess and
varies among implementations, software versions, macro sets, and
output devices.
Issue noticed when reading the groff_char(7) manual, and confirmed
by testing with current groff.
OK bentley@, "certainly no objection" jmc@
N.B.: Nobody will get scolded for ignoring this subtlety.
kettenis [Sun, 30 Apr 2017 14:03:44 +0000 (14:03 +0000)]
Add xhci@fdt, and move ehci(4) from the sunxi block to the generic block.
kettenis [Sun, 30 Apr 2017 14:00:06 +0000 (14:00 +0000)]
Add rkgrf(4), a driver that makes the "generic register file" of the Rockchip
RK3399 available to other drivers through the regmap interface.
kettenis [Sun, 30 Apr 2017 13:54:00 +0000 (13:54 +0000)]
Make early attrbute work here as well. Remove unreachable panic while there.
ok visa@
ajacoutot [Sun, 30 Apr 2017 13:41:10 +0000 (13:41 +0000)]
Tweak error message when running on an unsupported release.
mpi [Sun, 30 Apr 2017 13:04:49 +0000 (13:04 +0000)]
Unifdef KGDB.
It doesn't compile und hasn't been working during the last decade.
ok kettenis@, deraadt@
mpi [Sun, 30 Apr 2017 10:11:03 +0000 (10:11 +0000)]
Check that unsupported operation returns ENOSYS.
mpi [Sun, 30 Apr 2017 10:10:21 +0000 (10:10 +0000)]
Return ENOSYS for unsupported operation.
mpi [Sun, 30 Apr 2017 09:03:58 +0000 (09:03 +0000)]
Regression tests for futex(2).
mpi [Sun, 30 Apr 2017 09:01:14 +0000 (09:01 +0000)]
Add futex(2) shim, bump minor.
Inputs from guenther@, ok kettenis@, visa@
beck [Sun, 30 Apr 2017 05:43:05 +0000 (05:43 +0000)]
Make BIO_get_host_ip just yet another getaddrinfo wrapper
beck [Sun, 30 Apr 2017 05:09:22 +0000 (05:09 +0000)]
Rework BIO_accept to be more like modern code.
ok jsing@
jsing [Sun, 30 Apr 2017 04:44:58 +0000 (04:44 +0000)]
Only enable -Werror on libcrypto/libssl/libtls if we are building with
gcc4. This should avoid failed builds while transitioning compilers.
While here also make the CFLAGS blocks consistent across makefiles.
Discussed with deraadt@, ok beck@
visa [Sun, 30 Apr 2017 04:32:58 +0000 (04:32 +0000)]
Remove unused POW status functions. Makes clang happier.
jsing [Sun, 30 Apr 2017 04:21:53 +0000 (04:21 +0000)]
Switch back to freezero() and explicitly initialise data_len to zero. The
previous code was safe since data would always be NULL if data_len was
uninitialised, however compilers cannot know this.
beck [Sun, 30 Apr 2017 04:18:58 +0000 (04:18 +0000)]
Microsoft Windows hates BIO_get_accept_socket in portable. Fix it to
not be awful or have any claims on supporting ipv6 when it does so
very badly
ok jsing@
jsing [Sun, 30 Apr 2017 03:53:31 +0000 (03:53 +0000)]
Add missing tls_init() and tls_free() calls.
jsing [Sun, 30 Apr 2017 02:10:22 +0000 (02:10 +0000)]
Add a tls_keypair_clear_key() function that uses freezero() to make key
material inaccessible, then call it from the appropriate places.
ok beck@
jsing [Sat, 29 Apr 2017 23:38:49 +0000 (23:38 +0000)]
Fix a bug caused by the return value being set early to signal successful
DTLS cookie validation. This can mask a later failure and result in a
positive return value being returned from ssl3_get_client_hello(), when
it should return a negative value to propagate the error.
Ironically this was introduced in OpenSSL
2e9802b7a7b with the commit
message "Fix DTLS cookie management bugs".
Fix based on OpenSSL.
Issue reported by Nicolas Bouliane <nbouliane at jive dot com>.
ok beck@
beck [Sat, 29 Apr 2017 22:31:42 +0000 (22:31 +0000)]
Revert previous - we still want to do this, but I forgot about the installer
and want to avoid the wrath of theo when he arrives home in a couple
of hours :)
beck [Sat, 29 Apr 2017 22:22:24 +0000 (22:22 +0000)]
We now require you to have a working libpthread
beck [Sat, 29 Apr 2017 21:54:54 +0000 (21:54 +0000)]
Make it safe to call SSL_library_init more than once.
We are basically admitting that pthread is everywhere, and
we will be using it for other things too.
ok jsing@
jsing [Sat, 29 Apr 2017 21:48:43 +0000 (21:48 +0000)]
Stop calling OPENSSL_init() internally, since it is a no-op. Also place
it under #ifndef LIBRESSL_INTERNAL.
ok beck@
nicm [Sat, 29 Apr 2017 21:27:46 +0000 (21:27 +0000)]
Fix UTF-8 combining characters in column 0, based on a diff from Keith
Winstein.
kettenis [Sat, 29 Apr 2017 20:49:09 +0000 (20:49 +0000)]
Replace sxiehci.c with more generic glue in ehci_fdt.c that is similiar in
spirit to the xhci_fdt.c glue. The new code sets up any attached USB PHYs
based on their "compatible" property. All the hardware supported by sxiehci.c
should be supported by this new code. In addition to that this adds support
for the EHCI controllers found on various Rockchip hardware such as the
RK3288 and RK3399 SoCs.
ok patrick@
jung [Sat, 29 Apr 2017 19:03:45 +0000 (19:03 +0000)]
fix argument check, this should never trigger because it is a libexec called by
smtpd, but for the sake of correctness
from Edgar Pettijohn
ok gilles@
beck [Sat, 29 Apr 2017 18:43:31 +0000 (18:43 +0000)]
Switch Linux getrandom() usage to non-blocking mode, continuing to
use fallback mechanims if unsuccessful.
The design of Linux getrandom is broken. It has an
uninitialized phase coupled with blocking behaviour, which
is unacceptable from within a library at boot time without
possible recovery.
ok deraadt@ jsing@
kettenis [Sat, 29 Apr 2017 18:13:25 +0000 (18:13 +0000)]
Decrement ci_idepth on all returns from agintc_irq_handler().
kettenis [Sat, 29 Apr 2017 17:24:41 +0000 (17:24 +0000)]
Add agintc(4), a driver for interrupt controllers conforming to ARM's
generic interrupt controller architecture specification v3/4.
The hard work was done by drahn@, I just cleaned it up a bit and fixed
a couple of bugs.
ok patrick@, drahn@
kettenis [Sat, 29 Apr 2017 17:10:43 +0000 (17:10 +0000)]
Move the userret() call out of data_abort() and simply call it just before we
return from do_el0_sync(). Prevents future mistakes.
kettenis [Sat, 29 Apr 2017 17:07:09 +0000 (17:07 +0000)]
Call refreshcreds() in ast() since we may get there without going through
do_el0_sync() or mi_syscall().
jsg [Sat, 29 Apr 2017 14:28:21 +0000 (14:28 +0000)]
put clang headers into clang sets
ok deraadt@
schwarze [Sat, 29 Apr 2017 12:43:55 +0000 (12:43 +0000)]
Parser unification: use nice ohashes for all three request and macro tables;
no functional change, minus two source files, minus 200 lines of code.
jsg [Sat, 29 Apr 2017 10:05:49 +0000 (10:05 +0000)]
store cpu model information in the buffer used by the hw.model sysctl
ok kettenis@
mpi [Sat, 29 Apr 2017 08:02:56 +0000 (08:02 +0000)]
Mark futex(2) as PLEDGE_STDIO like all other thread-related syscalls.
From semarie@, ok deraadt@
jmc [Sat, 29 Apr 2017 06:06:01 +0000 (06:06 +0000)]
tweak previous;
djm [Sat, 29 Apr 2017 04:12:25 +0000 (04:12 +0000)]
allow ssh-keygen to include arbitrary string or flag certificate
extensions and critical options. ok markus@ dtucker@
bluhm [Sat, 29 Apr 2017 01:57:04 +0000 (01:57 +0000)]
Test that suslogd's UDP sockets bound to *.514 do not receive packets
if the -u insecure mode is not selected.
deraadt [Sat, 29 Apr 2017 00:32:21 +0000 (00:32 +0000)]
sync
krw [Fri, 28 Apr 2017 23:33:07 +0000 (23:33 +0000)]
Restore calculation of volume size. Accidentally removed in
r1.25. Fixes creation of concat volumes.
Noticed by and diff from Thordur I. Bjornsson via tech@
ok jsing@
beck [Fri, 28 Apr 2017 23:03:58 +0000 (23:03 +0000)]
Revert previous change that forced consistency between return value and
error code, since this breaks the documented API. Under certain circumstances
this will result in incorrect successful certiticate verification (where
a user supplied callback always returns 1, and later code checks the error
code to potentially abort post verification)
beck [Fri, 28 Apr 2017 22:46:40 +0000 (22:46 +0000)]
revert previous accidental commit
beck [Fri, 28 Apr 2017 22:38:51 +0000 (22:38 +0000)]
*** empty log message ***
millert [Fri, 28 Apr 2017 22:16:43 +0000 (22:16 +0000)]
Quiet a clang warning from -Wstring-plus-int. OK naddy@
nicm [Fri, 28 Apr 2017 19:13:55 +0000 (19:13 +0000)]
Log what is happening with window and session reference counts much more
obviously.