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.
mpi [Mon, 5 May 2014 13:48:11 +0000 (13:48 +0000)]
Plug a memory leak related to HID descriptor parsing.
ok jsg@
krw [Mon, 5 May 2014 13:32:15 +0000 (13:32 +0000)]
Tweak comment on struct _partitionv0. It's no longer the partition
table.
Suggested by David Vasek.
andre [Mon, 5 May 2014 12:31:56 +0000 (12:31 +0000)]
Replacing test files from previous commit to the right directory. There is no
trigger to run tests from relayd directory, so previous had no practical
effect.
mpi [Mon, 5 May 2014 11:44:33 +0000 (11:44 +0000)]
Use a custom ifa_rtrequest function for point-to-point interfaces
instead of relying on hacks in nd6_rtrequest() to add a route to
loopback for each address configured on such interfaces.
While here document that abusing lo0 for local traffic is not safe
for interfaces in a non-default rdomain.
Tested by claudio@, jca@ and sthen@, ok sthen@
andre [Mon, 5 May 2014 11:02:29 +0000 (11:02 +0000)]
Add two more regression tests to relayd, these cover "digest" and "file"
keywords.
ok reyk
henning [Mon, 5 May 2014 10:00:45 +0000 (10:00 +0000)]
remove dead code: calling ether_attach which sets if_type to IFT_ETHER,
just to set it to IFT_L2VLAN right afterwards, just to set if_type
to the parent's if_type which can be anything as long as it is IFT_ETHER
at config time doesn't make any sense and has zero effect. stop fiddling
with if_type alltogether.
also remove a question in a comment that has been answered by the last 14
years.
from Marrakesh airport, ok reyk
blambert [Mon, 5 May 2014 08:23:57 +0000 (08:23 +0000)]
change surprisingly consistent mispelling of length ("lenght")
no change in md5 of resulting object file
ok markus@, reyk@
logan [Mon, 5 May 2014 07:02:30 +0000 (07:02 +0000)]
Zap extra whitespace.
OK from djm@ and dtucker@
yasuoka [Mon, 5 May 2014 04:58:23 +0000 (04:58 +0000)]
Delete duplicated "mppe" entry in keywords[].
miod [Mon, 5 May 2014 04:44:54 +0000 (04:44 +0000)]
Enable assembler code for DES. Assembler code for BN is commented out as it
uses the `umul' and `udiv' instructions directly, which are not supported
on v7 processors.
bluhm [Mon, 5 May 2014 00:09:16 +0000 (00:09 +0000)]
Redirecting stderr to /dev/null suppresses all errors. Instead use
the new status=none feature to make dd quiet.
OK krw@ deraadt@
jim [Sun, 4 May 2014 22:26:32 +0000 (22:26 +0000)]
Improve line wrapping for lines exceeding 80 chars.
ok jmc@
jim [Sun, 4 May 2014 22:23:15 +0000 (22:23 +0000)]
Add missing SEE ALSO section header.
yup jmc@
jim [Sun, 4 May 2014 21:46:35 +0000 (21:46 +0000)]
Remove trailing whitespace.
fine jmc@
jim [Sun, 4 May 2014 21:20:10 +0000 (21:20 +0000)]
Remove a leading whitespace.
ok jmc@
jim [Sun, 4 May 2014 21:15:12 +0000 (21:15 +0000)]
Add missing SEE ALSO section header.
ok jmc@
jim [Sun, 4 May 2014 21:13:41 +0000 (21:13 +0000)]
Improve line wrapping for lines exceeding 80 chars.
ok jmc@
jim [Sun, 4 May 2014 21:08:16 +0000 (21:08 +0000)]
Remove trailing whitespace.
ok jmc@
krw [Sun, 4 May 2014 21:07:50 +0000 (21:07 +0000)]
Factor out the code to set the expiry, renewal and rebinding times for
a lease. Will be reused in upcoming diff. No intentional behaviour
change.
deraadt [Sun, 4 May 2014 20:40:08 +0000 (20:40 +0000)]
delete useless test code
jim [Sun, 4 May 2014 20:31:33 +0000 (20:31 +0000)]
Remove trailing whitespace.
no objection jmc@
sf [Sun, 4 May 2014 20:09:15 +0000 (20:09 +0000)]
format string fixes for bus_addr_t and bus_size_t
bus_addr_t and bus_size_t are u_long everywhere
ok kettenis@
sf [Sun, 4 May 2014 19:27:08 +0000 (19:27 +0000)]
remove some hh and h format specifiers
gcc does not like hh in kprintf and it does not make any difference due
to integer promotion rules. While there, remove some h's, too.
suggested by kettenis@