tedu [Wed, 7 May 2014 13:45:29 +0000 (13:45 +0000)]
revert, thanks sthen
pelikan [Wed, 7 May 2014 13:20:47 +0000 (13:20 +0000)]
back out the previous ICMP simplifying diff, it caused livelocks.
reported by Mikolaj Kucharski, thanks!
ok krw
markus [Wed, 7 May 2014 13:09:43 +0000 (13:09 +0000)]
try postponed requests first, so we do in-order processing; ok mikeb@
markus [Wed, 7 May 2014 13:04:01 +0000 (13:04 +0000)]
print msgid for debugging; ok reyk & mikeb
markus [Wed, 7 May 2014 12:57:13 +0000 (12:57 +0000)]
make authentication work with X509 certificates that don't have a
subject-altname, i.e. support IKEV2_ID_ASN1_DN correctly;
feedback & ok mikeb@
schwarze [Wed, 7 May 2014 12:37:04 +0000 (12:37 +0000)]
Remove the undocumented and ineffective -F option (force hard link
to directory). This doesn't reduce functionality but merely results
in a better error message when trying to use the option,
and it simplifies the code.
The -f option first appeared in AT&T Version 7 UNIX (1979), and Keith
Bostic renamed it to -F for 4.3BSD-Reno in 1990 because it conflicted
with System V and POSIX. Meanwhile, NetBSD, FreeBSD, and DragonFly
removed it, too.
From Tristan Le Guern <tleguern at bouledef dot eu>.
OK guenther@ krw@
markus [Wed, 7 May 2014 10:52:47 +0000 (10:52 +0000)]
factor out ikev2_ike_auth() (state machine; used multiple times via callbacks)
from ikev2_ike_auth_recv() code (message parsing; used once); ok mikeb@
jsg [Wed, 7 May 2014 08:31:30 +0000 (08:31 +0000)]
add additional includes from eng_cryptodev.c
makes this compile with OPENSSL_NO_DEPRECATED defined.
ok deraadt@
mpi [Wed, 7 May 2014 08:26:38 +0000 (08:26 +0000)]
Remove the last hacks concerning the global list of IPv4 addresses in the
source address selection logic.
These hacks were only relevant for the NFS diskless boot code in order to
pick the local broadcast address of the only configured interface. So, be
explicit and set this address directly.
Tested by florian@, ok henning@, beck@, chrisz@
mpi [Wed, 7 May 2014 08:17:21 +0000 (08:17 +0000)]
Make sure to call uhidev_close() upon detach for every HID driver calling
uhidev_open() at attach time. This plugs up to 3 xfer leaks and a buffer
one.
ok yuo@
mpi [Wed, 7 May 2014 08:14:59 +0000 (08:14 +0000)]
Kill the {nd6_,}useloopback buttons, using the loopback interface for
local traffic is not optional.
ok mikeb@, stsp@, jca@
mpi [Wed, 7 May 2014 08:09:33 +0000 (08:09 +0000)]
Remove some m->m_pkthdr.rcvif dereference to help for upcoming
receiving pointer -> index conversion. No functional change.
ok chrisz@, jca@, mikeb@, lteo@
yasuoka [Wed, 7 May 2014 08:07:53 +0000 (08:07 +0000)]
Initialize struct iface by zero. Without this, npppd had used random
configuration.
from Anders Berggren.
guenther [Wed, 7 May 2014 02:57:41 +0000 (02:57 +0000)]
Fix ext2fs atime and mtime handling that I broke from an airport
lounge after n2k14.
Prototype patch from zhuk@
ok zhuk@ krw@ tedu@
sthen [Wed, 7 May 2014 02:46:05 +0000 (02:46 +0000)]
pass daemon_flags to nsd-control when used to check/reload/stop nsd,
the only useful option here is to specify an alternative config path,
which must be used for these operations as well as for startup.
tedu [Wed, 7 May 2014 01:49:36 +0000 (01:49 +0000)]
missing word in error message. ok millert
tedu [Wed, 7 May 2014 01:41:18 +0000 (01:41 +0000)]
delete some crusty casts
tedu [Wed, 7 May 2014 01:31:25 +0000 (01:31 +0000)]
convert calloc to use reallocarray instead. ok millert
tedu [Wed, 7 May 2014 01:27:42 +0000 (01:27 +0000)]
calloc, from peter malone
tedu [Wed, 7 May 2014 01:23:52 +0000 (01:23 +0000)]
use calloc. from peter malone
tedu [Wed, 7 May 2014 01:20:53 +0000 (01:20 +0000)]
calloc is simpler. suggested by Peter Malone and halex
tedu [Wed, 7 May 2014 01:14:21 +0000 (01:14 +0000)]
use calloc. from Peter Malone
deraadt [Wed, 7 May 2014 00:04:14 +0000 (00:04 +0000)]
miod forgot about fcrypt_b.c being needed, before he went off to get his
beauty sleep. He's probably having a nightmare about this right now....
ok tedu
tedu [Tue, 6 May 2014 23:50:53 +0000 (23:50 +0000)]
temp variable for a bit of clarity
tedu [Tue, 6 May 2014 23:33:04 +0000 (23:33 +0000)]
remove unneeded variable
martynas [Tue, 6 May 2014 23:32:34 +0000 (23:32 +0000)]
When the stack protector heuristics doesn't cover a function, leave
a little pointer-sized gap before the return value. This protects
from common off-by-one type of bugs and costs nothing: the attacker
won't be able to overwrite return pointer. Developed at m2k14,
thanks for the hackathon!
tedu [Tue, 6 May 2014 23:27:50 +0000 (23:27 +0000)]
factor out the safepath
tedu [Tue, 6 May 2014 23:24:19 +0000 (23:24 +0000)]
be more explicit about what's a string
martynas [Tue, 6 May 2014 23:22:33 +0000 (23:22 +0000)]
Introduce -fstack-shuffle, which randomizes local stack variables.
This will make the environment more hostile and help detect bugs
that depend on overrunning one variable into another, with almost
no performance cost.
Discussed with Theo at m2k14 hackathon. "oh god yes" tedu@, "oh nice" djm@
tedu [Tue, 6 May 2014 23:19:46 +0000 (23:19 +0000)]
better alloc idiom
tedu [Tue, 6 May 2014 23:17:13 +0000 (23:17 +0000)]
factor max message size
tedu [Tue, 6 May 2014 23:05:51 +0000 (23:05 +0000)]
don't give people bad ideas about pool_debug
millert [Tue, 6 May 2014 22:55:27 +0000 (22:55 +0000)]
We don't really need uniform distribution for mktemp(3) so use
arc4random_buf() to avoid lots of arc4random() calls with a getpid()
syscall for each one. We fetch 32 bytes of random data at a time
which can handle up to 16 Xs. 16 Xs should be enough for anyone.
Requested and OK deraadt@
tedu [Tue, 6 May 2014 21:52:40 +0000 (21:52 +0000)]
small fix from mancha1. currently unused file, but no harm fixing it.
tedu [Tue, 6 May 2014 20:55:10 +0000 (20:55 +0000)]
reallocarray
tedu [Tue, 6 May 2014 20:50:42 +0000 (20:50 +0000)]
spell NULL as NULL
miod [Tue, 6 May 2014 20:40:26 +0000 (20:40 +0000)]
Make sure the stdout output is check, to confirm proper sorting.
miod [Tue, 6 May 2014 20:32:11 +0000 (20:32 +0000)]
Assorted cleanups:
- replace hardcoded sizes with sizeof()
- pqueue_find() apparently used to need to keep track of the previous node
when iterating, which causes its logic to be complicated. However, nowadays
it only needs to iterate, so replace with a straightforward, much
readable logic.
- remove #if 0'ed code
From ``sin'' from 2f30 dot org on tech@, thanks!
miod [Tue, 6 May 2014 20:27:17 +0000 (20:27 +0000)]
Add a fixed (read: non-SIGSEGV'ing) pq_test.
miod [Tue, 6 May 2014 20:25:40 +0000 (20:25 +0000)]
Remove broken-by-design test
miod [Tue, 6 May 2014 20:17:16 +0000 (20:17 +0000)]
Make sure PKCS7_get_octet_string() return values are checked for NULL.
Reported by David Ramos (and simultaneously to OpenSSL as PR#3339).
ok beck@ logan@
miod [Tue, 6 May 2014 20:00:06 +0000 (20:00 +0000)]
Remove the ``addressable'' argument to search_string_def(). Turned out to be
a bad idea, for it causes false positives, which then can cause ICE trying
to protect narrower-than-int incoming arguments, if building with
-fstack-protector-all.
From etoh@'s gcc 3.4 tree, unbreaks -fstack-protector-all on m88k (well, maybe
not completely, but it makes it compile more files, such as pf.c which contains
functions receiving uint16_t arguments pushed on the stack due to the
exhaustion of caller-saved registers).
miod [Tue, 6 May 2014 19:55:06 +0000 (19:55 +0000)]
Sort CFLAGS, SRC and SSLASM stanzas by the directories they apply to, to make
these files similar in layout to the other md Makefile.inc; no functional
change.
deraadt [Tue, 6 May 2014 18:58:15 +0000 (18:58 +0000)]
sync
pirofti [Tue, 6 May 2014 17:20:39 +0000 (17:20 +0000)]
Add brswphy(4) manual page.
pirofti [Tue, 6 May 2014 17:11:16 +0000 (17:11 +0000)]
Enable brswphy(4) on the Octeon platform.
Needed for proper networking on my DSR-500.
pirofti [Tue, 6 May 2014 17:09:02 +0000 (17:09 +0000)]
Add support for the Broadcom PHY found on the Octeon-based DSR-500.
This is an MI driver currently targeting only the BCM53115 model,
but other Broadcom devices (specially from the 53XX family) can make use
of it as well.
The driver currently accounts just for the CPU port. The switch is left
in dumb-mode. Further advanced switch control is in the works.
Parts of this was inspired by looking at the b53 driver from the
OpenWrt project. Thanks!
Okay miod@
pirofti [Tue, 6 May 2014 16:59:32 +0000 (16:59 +0000)]
Regen after Broadcom 53115 addition.
pirofti [Tue, 6 May 2014 16:59:03 +0000 (16:59 +0000)]
Add an entry for the Broadcom 53115 model found on the DSR-500.
Okay miod@
tedu [Tue, 6 May 2014 16:06:33 +0000 (16:06 +0000)]
missing NULL checks to see if init is needed. found hard way by deraadt.
tedu [Tue, 6 May 2014 15:59:24 +0000 (15:59 +0000)]
fix stupid commit
tedu [Tue, 6 May 2014 15:49:45 +0000 (15:49 +0000)]
enh@google reported a warning in crufty y2k code. just delete it.
ok deraadt stsp
tedu [Tue, 6 May 2014 15:48:38 +0000 (15:48 +0000)]
reallocarray for things which are arrays. ok deraadt
tedu [Tue, 6 May 2014 15:38:49 +0000 (15:38 +0000)]
use explicit_bzero
tedu [Tue, 6 May 2014 15:37:57 +0000 (15:37 +0000)]
clear a stack buffer with explicit_bzero
jasper [Tue, 6 May 2014 14:44:08 +0000 (14:44 +0000)]
remove cpsw_{read,write}_4 wrapper functions and just use the real
bus_space_{read,write}_4 instead.
tested by nick@, ok bmercer@
markus [Tue, 6 May 2014 14:10:53 +0000 (14:10 +0000)]
change the create-child-sa responder code, so it does not store any
state in the ikesa structure. this way we can initiate a create-child-sa
and process requests for the peer at the same time. ok mikeb@
jmc [Tue, 6 May 2014 13:09:18 +0000 (13:09 +0000)]
zap stray word; ok markus
mpi [Tue, 6 May 2014 11:50:13 +0000 (11:50 +0000)]
Include <sys/vmmeter.h> directly instead of relying on it being
pulled by <uvm/uvm_extern.h> and turn uvm_total() into a private
function.
The preferred way to get memory stats is through the VM_UVMEXP
sysctl(3) since VM_METER is just a wrapper on top of it. In the
kernel, use `uvmexp' directly instead of uvm_total().
This change does not remove <sys/vmmeter.h> from <uvm/uvm_extern.h>
to give some more time to port maintainers to fix their ports.
ok guenther@ as part of a larger diff.
reyk [Tue, 6 May 2014 11:11:14 +0000 (11:11 +0000)]
Explicitly zero out the ibufs before releasing the memory to make sure
that included crypto parameters are cleaned.
ok mikeb@ markus@
reyk [Tue, 6 May 2014 11:03:02 +0000 (11:03 +0000)]
Fix two memory leaks: EVP_PKEY_get1_RSA() returns a referenced key
that requires to call RSA_free() to dereference it after use. Also
free a temporary key that was read by PEM_read_PrivateKey() and
immediately written into a bio.
ok markus@
markus [Tue, 6 May 2014 10:24:22 +0000 (10:24 +0000)]
initiate ike sa rekeying (ikesalifetime keyword), re-queue pfkey
events while we are busy initiating child-SAs; ok mikeb@
gerhard [Tue, 6 May 2014 09:49:58 +0000 (09:49 +0000)]
Fix a memleak when lookup of SA fails during forwarding of encrypted IPv6
pakets.
ok mpi@ markus@ mikeb@
markus [Tue, 6 May 2014 09:48:40 +0000 (09:48 +0000)]
cleanup IKE-SA tree handling (fixes repeated-insert & double-remove)
sa_new() always re-inserts an SA into the SA tree. in case of a key
collision it would try to free the new SA. While doing that it would
accidentially free the existing SA, since config_free_sa() does
RB_REMOVE() uncoditionally. This change fixes this by:
a) moving the responsibility for RB_REMOVE() to CALLER of config_free_sa() and
b) by calling config_free_sa() instead of sa_free() from sa_new()
It also changes to code to NEVER re-add an SA to the tree. So
RB_INSERT() is ONLY called once per SA. The code also makes sure
that there is always a KEY defined for this tree (ispi).
ok mikeb@
mpi [Tue, 6 May 2014 09:44:31 +0000 (09:44 +0000)]
Plug two xfer leaks and a buffer one.
markus [Tue, 6 May 2014 09:21:50 +0000 (09:21 +0000)]
don't sa_free() in the receive path (prevents use-after-free); ok mikeb@
markus [Tue, 6 May 2014 08:17:58 +0000 (08:17 +0000)]
send the delete with the locally allocated SPI in ikev2_init_create_child_sa()
markus [Tue, 6 May 2014 07:45:17 +0000 (07:45 +0000)]
make sure some notify payloads are encrypted; ok mikeb@
markus [Tue, 6 May 2014 07:24:37 +0000 (07:24 +0000)]
initial support for PFS; ok reyk@
markus [Tue, 6 May 2014 07:08:10 +0000 (07:08 +0000)]
retire IKED_REQ_DELETE and fix delete parsing; ok reyk@
jsg [Tue, 6 May 2014 06:40:03 +0000 (06:40 +0000)]
no need to include rand.h now the RAND_seed() calls are gone.
ok reyk@
tedu [Tue, 6 May 2014 03:56:27 +0000 (03:56 +0000)]
knf approximation
tedu [Tue, 6 May 2014 02:31:45 +0000 (02:31 +0000)]
move chacha context and buffer out of bss and allow mmap to place them
wherever it decides it would like them. first step. ok deraadt dlg djm
tedu [Tue, 6 May 2014 02:05:38 +0000 (02:05 +0000)]
"stay backwards-compatible with 0.9.5; this should go away soon"
it's your lucky day!
tedu [Tue, 6 May 2014 01:54:42 +0000 (01:54 +0000)]
remove Kerberos
tedu [Tue, 6 May 2014 01:53:53 +0000 (01:53 +0000)]
move a comment to make unifdef happier
tedu [Tue, 6 May 2014 01:52:07 +0000 (01:52 +0000)]
bye bye SRP
mpi [Mon, 5 May 2014 21:25:00 +0000 (21:25 +0000)]
Plug a memory leak, free the keymap's memory on detach.
ok miod@
markus [Mon, 5 May 2014 18:56:42 +0000 (18:56 +0000)]
ca_x509_serialize: don't leak the bio buffer; ok reyk@
markus [Mon, 5 May 2014 18:54:17 +0000 (18:54 +0000)]
make the ca_pubkey_serialize() code similar to the private key code, and
fixes a leak of the rsa object in the error case. from hshoexer@; ok reyk@
markus [Mon, 5 May 2014 18:50:36 +0000 (18:50 +0000)]
pfkey is unreliable, so add a select-timeout before MSG_PEEK;
similar code is in isakmpd; ok reyk@
tedu [Mon, 5 May 2014 18:38:42 +0000 (18:38 +0000)]
inspired by a cloudflare diff, cleanse old memory when expanding a bignum.
however, instead of trying to audit all the places where a secret bignum
is used, apply the big hammer and clear all bignums when freed.
ok deraadt miod
pelikan [Mon, 5 May 2014 18:30:44 +0000 (18:30 +0000)]
Don't call the BOOTP handler indirectly.
ok krw
pelikan [Mon, 5 May 2014 18:27:57 +0000 (18:27 +0000)]
Don't call the ICMP handler indirectly + clean up a bit.
ok krw
krw [Mon, 5 May 2014 18:02:49 +0000 (18:02 +0000)]
Zap trailing whitespace. Started by pointed comments from andre@.
miod [Mon, 5 May 2014 17:18:08 +0000 (17:18 +0000)]
Ugly workaround for an overoptimistic alignment expectation of dos_partition
fields, found the hard way on landisk, to allow the tree to build until a
proper fix is devised.
ok deraadt@
krw [Mon, 5 May 2014 16:33:34 +0000 (16:33 +0000)]
Enhance reading of saved ascii labels (-R) to process mountpoint
information if present. Can be used with -F/-f options to create
an fstab from the saved label.
ok otto@
espie [Mon, 5 May 2014 16:29:32 +0000 (16:29 +0000)]
work-around the same location being reinstalled thru a different path
later... no need to do anything on sets consisting purely of "kept" handles
This is not fully satisfying, I expect I need to tie some "done already" to
locations as we do with sets, so that we can wipe update_info properly and
be done once and for all...
Issue found by stsp@ while trying to use FETCH_PACKAGES, which is still not
100% in good shape with this.
jsing [Mon, 5 May 2014 16:19:23 +0000 (16:19 +0000)]
Sort and group includes.
jsing [Mon, 5 May 2014 16:16:37 +0000 (16:16 +0000)]
Repair BIO_socket_nbio operation.
ok miod@
jsing [Mon, 5 May 2014 16:14:45 +0000 (16:14 +0000)]
During the great e_os.h nukathon we stopped pulling in <sys/filio.h> via
the ifdef maze, meaning that FIONBIO was no longer defined. This removes
non-blocking I/O support from s_{client,server,time}.
Remove all FIONBIO ifdefs and import <sys/ioctl.h>, renabling -nbio.
ok miod@
markus [Mon, 5 May 2014 16:14:37 +0000 (16:14 +0000)]
the caller of ikev2_msg_retransmit_response already frees the sa; ok mikeb
markus [Mon, 5 May 2014 16:13:12 +0000 (16:13 +0000)]
don't leak on pid mismatch; ok mikeb
jsing [Mon, 5 May 2014 16:08:15 +0000 (16:08 +0000)]
Kill memory debug calls that are now noops. While here, nuke an #if 0 and
a unnecessary NULL check before free.
ok miod@
jsing [Mon, 5 May 2014 16:06:55 +0000 (16:06 +0000)]
OpenBSD has_SC_CLK_TCK.
ok miod@
markus [Mon, 5 May 2014 15:21:20 +0000 (15:21 +0000)]
validate the attribute length, too; from hshoexer; ok mikeb
tedu [Mon, 5 May 2014 15:08:37 +0000 (15:08 +0000)]
convert select to poll. from peter malone
krw [Mon, 5 May 2014 15:04:05 +0000 (15:04 +0000)]
"new file systemsize is" -> "new filesystem size is".
From David Vasek.
tedu [Mon, 5 May 2014 15:03:22 +0000 (15:03 +0000)]
Remove SRP and Kerberos support from libssl. These are complex protocols
all on their own and we can't effectively maintain them without using them,
which we don't. If the need arises, the code can be resurrected.
krw [Mon, 5 May 2014 14:44:18 +0000 (14:44 +0000)]
A couple of malloc()+memset(0) -> calloc.