OpenBSD CVS

CVS log for src/sbin/iked/iked.c


[BACK] Up to [local] / src / sbin / iked

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.70 / (download) - annotate - [select for diffs], Thu Feb 15 20:10:45 2024 UTC (3 months, 3 weeks ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, HEAD
Changes since 1.69: +12 -5 lines
Diff to previous 1.69 (colored)

Introduce new IMSG_CTL_PROCREADY which is used to signal that all pipes
are set up by child processes. The parent sends a ping to all children
and only starts once it has received an acknowledgement from all of them.
This fixes a race condition on process startup when the parent starts
running before all children are ready.

From markus@

Revision 1.69 / (download) - annotate - [select for diffs], Thu Feb 15 19:04:12 2024 UTC (3 months, 3 weeks ago) by tobhe
Branch: MAIN
Changes since 1.68: +1 -2 lines
Diff to previous 1.68 (colored)

Remove unused control_socks queue.

from markus@

Revision 1.68 / (download) - annotate - [select for diffs], Tue Feb 13 12:25:11 2024 UTC (3 months, 3 weeks ago) by tobhe
Branch: MAIN
Changes since 1.67: +5 -1 lines
Diff to previous 1.67 (colored)

Control startup of PROC_CERT and PROC_IKEV2.
Currenly PROC_PARENT sends the configuration to both PROC_CERT and
PROC_IKEV2 and finishes by sending IMSG_CTL_ACTIVE to PROC_IKEV2.

However, when PROC_IKEV2 receives IMSG_CTL_ACTIVE it does not know
the state of PROC_CERT: PROC_CERT might not have processed the
initial configuration while PROC_IKEV2 already sends requests to
PROC_CERT, causing failed requests, or even crashes (NULL deref of
ca_certs).

In order to make sure that PROC_CERT is ready before
IMSG_CTL_ACTIVE is sent to PROC_IKEV2 that startup protocol
is changed as follows:

(1) PROC_PARENT sends configuration to both PROC_CERT and PROC_IKEV2
(2) PROC_PARENT sends IMSG_CTL_ACTIVE to PROC_CERT
(3) PROC_CERT acks IMSG_CTL_ACTIVE by sending it back to PROC_PARENT
(4) PROC_PARENT now knows that PROC_CERT is ready and has processed
    all messages from step (1)
(5) PROC_PARENT sends IMSG_CTL_ACTIVE to PROC_IKEV2 and knows that
    IMSG_CTL_ACTIVE will be processed by PROC_IKEV2 after all
    messages from step (1)
(6) PROC_IKEV2 can now assume that PROC_CERT is ready because it has
    already processed IMSG_CTL_ACTIVE

from markus@

Revision 1.67 / (download) - annotate - [select for diffs], Mon Jan 15 15:29:00 2024 UTC (4 months, 3 weeks ago) by tobhe
Branch: MAIN
Changes since 1.66: +1 -3 lines
Diff to previous 1.66 (colored)

Include cert_partial_chain in iked_static instead of sending a separate
message.

from markus@

Revision 1.66 / (download) - annotate - [select for diffs], Wed Jun 28 12:31:19 2023 UTC (11 months, 1 week ago) by gerhard
Branch: MAIN
CVS Tags: OPENBSD_7_4_BASE, OPENBSD_7_4
Changes since 1.65: +1 -3 lines
Diff to previous 1.65 (colored)

Don't call daemon() after proc_init(), otherwise the child processes
would lose their parent.

ok tobhe@

Revision 1.65 / (download) - annotate - [select for diffs], Sun Jun 25 08:07:04 2023 UTC (11 months, 2 weeks ago) by op
Branch: MAIN
Changes since 1.64: +1 -2 lines
Diff to previous 1.64 (colored)

remove ca_sslinit()

it's a noop; nowadays both LibreSSL and OpenSSL libcrypto and libssl
initialize themselves automatically before doing anything.

spotted by tb, ok tb tobhe

Revision 1.64 / (download) - annotate - [select for diffs], Sun Mar 5 22:17:22 2023 UTC (15 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.63: +7 -4 lines
Diff to previous 1.63 (colored)

Fix clean process shutdown by storing env globally like vmd and httpd do
instead of getting it from p_ps.  The old approach does not work anymore
after the recent fork + exec update.

ok patrick@

Revision 1.63 / (download) - annotate - [select for diffs], Sat Mar 4 22:22:50 2023 UTC (15 months, 1 week ago) by tobhe
Branch: MAIN
Changes since 1.62: +39 -20 lines
Diff to previous 1.62 (colored)

Sync proc.c from vmd(8) to enabled fork + exec for all processes. This gives
each process a fresh and unique address space to further improve randomization
of ASLR and stack protector.

ok bluhm@ patrick@

Revision 1.62 / (download) - annotate - [select for diffs], Wed Dec 1 16:42:12 2021 UTC (2 years, 6 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.61: +2 -2 lines
Diff to previous 1.61 (colored)

whitespace cleanup during review read

Revision 1.61 / (download) - annotate - [select for diffs], Mon Nov 29 13:20:24 2021 UTC (2 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.60: +2 -2 lines
Diff to previous 1.60 (colored)

add -V to usage(), and list it before -v in both SYNOPSIS and the
options list;

Revision 1.60 / (download) - annotate - [select for diffs], Mon Nov 29 12:27:18 2021 UTC (2 years, 6 months ago) by tobhe
Branch: MAIN
Changes since 1.59: +6 -2 lines
Diff to previous 1.59 (colored)

Add command line option to show the version

ok patrick@

Revision 1.59 / (download) - annotate - [select for diffs], Thu Nov 25 18:28:51 2021 UTC (2 years, 6 months ago) by tobhe
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 (colored)

Silence unitialized variable warnings.

Revision 1.58 / (download) - annotate - [select for diffs], Wed Sep 1 15:30:06 2021 UTC (2 years, 9 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.57: +4 -1 lines
Diff to previous 1.57 (colored)

Add client side support for DNS configuration. Use RTM_PROPOSAL_STATIC
route messages to propose the name server to resolvd(8).
For now, iked will only propose a single name server from the first
established connection.

Automatic name server configuration is enabled by default for policies using
the 'iface' option.

discussed with deraadt@
ok for the DNS parts florian@
ok for the rest patrick@

Revision 1.57 / (download) - annotate - [select for diffs], Thu May 13 15:20:48 2021 UTC (3 years ago) by tobhe
Branch: MAIN
Changes since 1.56: +5 -7 lines
Diff to previous 1.56 (colored)

Refactor iked process shutdown and cleanup. Remember configured
addresses and routes in iked_vroute_sc to not depend on ikev2
process for cleanup.

This makes sure that all flows, routes and addresses are deleted
no matter which process is killed first.

ok patrick@

Revision 1.56 / (download) - annotate - [select for diffs], Wed Mar 3 22:18:00 2021 UTC (3 years, 3 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.55: +2 -1 lines
Diff to previous 1.55 (colored)

Free sc_vroute on shutdown.

Revision 1.55 / (download) - annotate - [select for diffs], Mon Feb 22 21:58:12 2021 UTC (3 years, 3 months ago) by tobhe
Branch: MAIN
Changes since 1.54: +2 -2 lines
Diff to previous 1.54 (colored)

Don't pass 'id' as argument to make function signature match similar
functions.  config_setpfkey() is always called with id PROC_IKEV2.

Revision 1.54 / (download) - annotate - [select for diffs], Sat Feb 13 16:14:12 2021 UTC (3 years, 3 months ago) by tobhe
Branch: MAIN
Changes since 1.53: +13 -2 lines
Diff to previous 1.53 (colored)

Add dynamic address configuration for roadwarrior clients.
The new 'iface' config option can be used to specify an interface
for the virtual addresses received from the peer.
Routes are automatically added based on the configured flows.

Input from sthen@ and claudio@
ok patrick@

Revision 1.53 / (download) - annotate - [select for diffs], Mon Feb 8 16:13:58 2021 UTC (3 years, 4 months ago) by tobhe
Branch: MAIN
Changes since 1.52: +22 -4 lines
Diff to previous 1.52 (colored)

Clean up kernel IPsec flows and security associations on shutdown.

Discussed with sthen@
ok patrick@

Revision 1.52 / (download) - annotate - [select for diffs], Thu Dec 17 20:43:07 2020 UTC (3 years, 5 months ago) by tobhe
Branch: MAIN
Changes since 1.51: +5 -2 lines
Diff to previous 1.51 (colored)

Use strtonum() instead of atoi() to parse port option.

Revision 1.51 / (download) - annotate - [select for diffs], Thu Dec 17 20:32:21 2020 UTC (3 years, 5 months ago) by tobhe
Branch: MAIN
Changes since 1.50: +18 -18 lines
Diff to previous 1.50 (colored)

Sort command line options.

ok bluhm@

Revision 1.50 / (download) - annotate - [select for diffs], Fri Nov 20 13:03:00 2020 UTC (3 years, 6 months ago) by jmc
Branch: MAIN
Changes since 1.49: +2 -2 lines
Diff to previous 1.49 (colored)

add -s to synopsis and usage; -S before -s in options list;

Revision 1.49 / (download) - annotate - [select for diffs], Fri Nov 20 12:38:26 2020 UTC (3 years, 6 months ago) by tobhe
Branch: MAIN
Changes since 1.48: +7 -3 lines
Diff to previous 1.48 (colored)

Add -s socket option to specify control socket.  This can be useful if
multiple iked instances running in different rdomains are used.

ok patrick@

Revision 1.48 / (download) - annotate - [select for diffs], Wed Sep 23 14:25:55 2020 UTC (3 years, 8 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8
Changes since 1.47: +3 -1 lines
Diff to previous 1.47 (colored)

Add new 'set cert_partial_chain' config option to allow verification of
partial certificate chains if a trusted intermediate CA is found in
/etc/iked/ca/.

ok patrick@

Revision 1.47 / (download) - annotate - [select for diffs], Mon Aug 24 21:00:21 2020 UTC (3 years, 9 months ago) by tobhe
Branch: MAIN
Changes since 1.46: +3 -9 lines
Diff to previous 1.46 (colored)

Reduce the amount of boilerplate code and imsgs for config options by
grouping fixed-size values in 'struct iked_static' which is sent in
a single message.

ok patrick@

Revision 1.46 / (download) - annotate - [select for diffs], Sun Aug 23 19:16:07 2020 UTC (3 years, 9 months ago) by tobhe
Branch: MAIN
Changes since 1.45: +3 -1 lines
Diff to previous 1.45 (colored)

Add a new configuration option to limit the number of connections for
each peer (identified by their 'dstid').  When 'set enforcesingleikesa'
is enabled, each peer can only have one active IKE SA at a time.
On successful authentication of a new connection, the old IKE SA is
automatically deleted.

ok patrick@

Revision 1.45 / (download) - annotate - [select for diffs], Sun Aug 23 15:14:25 2020 UTC (3 years, 9 months ago) by tobhe
Branch: MAIN
Changes since 1.44: +6 -6 lines
Diff to previous 1.44 (colored)

Rename natt_mode to sc_nattmode for consistency.

Revision 1.44 / (download) - annotate - [select for diffs], Fri Aug 21 14:30:17 2020 UTC (3 years, 9 months ago) by tobhe
Branch: MAIN
Changes since 1.43: +2 -2 lines
Diff to previous 1.43 (colored)

Use trusted CA from /etc/iked/ca/ as OCSP issuer to get rid of
/etc/iked/ocsp/issuer.crt.
Try to get the OCSP url from the CA/issuer certificate, otherwise
use the URL configured in 'set ocsp' in iked.conf.

ok patrick@

Revision 1.43 / (download) - annotate - [select for diffs], Thu Apr 9 19:55:19 2020 UTC (4 years, 2 months ago) by tobhe
Branch: MAIN
CVS Tags: OPENBSD_6_7_BASE, OPENBSD_6_7
Changes since 1.42: +17 -12 lines
Diff to previous 1.42 (colored)

Simplify socket creation logic. Normally iked needs two sockets, one
for normal operation (UDP port 500) and one for NAT traversal (UDP 4500).
There are several command line options resulting in only one of the sockets
being created (-T, -t and -p).  Add a new 'enum natt_mode' to make the
logic for those somewhat less complicated as well as some comments where
it makes sense.

From Wataru Ashihara <wataash (at) wataash (dot) com>
ok patrick@

Revision 1.42 / (download) - annotate - [select for diffs], Fri Apr 3 09:11:23 2020 UTC (4 years, 2 months ago) by tobhe
Branch: MAIN
Changes since 1.41: +5 -5 lines
Diff to previous 1.41 (colored)

Port set in 'sin_port' should be htons() not ntohs().

Found by Wataru Ashihara <wsh (at) iij (dot) ad (dot) jp>
ok patrick@

Revision 1.41 / (download) - annotate - [select for diffs], Thu Jan 16 20:05:00 2020 UTC (4 years, 4 months ago) by tobhe
Branch: MAIN
Changes since 1.40: +15 -7 lines
Diff to previous 1.40 (colored)

Add '-p' command line option which allows to configure
the UDP encapsulation port, similar to isakmpd's '-N' flag.
Being able to change the UDP encapsulation port is useful in cases
where ESP and UDP ports 500 and 4500 are blocked or rate limited.

ok sthen@

Revision 1.40 / (download) - annotate - [select for diffs], Wed Jan 15 20:30:32 2020 UTC (4 years, 4 months ago) by sthen
Branch: MAIN
Changes since 1.39: +2 -2 lines
Diff to previous 1.39 (colored)

s/deprecated/ignored/ in the warning message if -6 is used; the option
is ignored (the behaviour previously behind -6 is now the default so if
this flag was used, it can happily be removed.

Revision 1.39 / (download) - annotate - [select for diffs], Tue Jan 14 22:28:29 2020 UTC (4 years, 4 months ago) by tobhe
Branch: MAIN
Changes since 1.38: +4 -3 lines
Diff to previous 1.38 (colored)

Remove IPsec flow blocking unencrypted IPv6 traffic which was
meant to prevent VPN leakage but repeatedly broke people's
setups. The -6 flag which used to disable the blocking flow is
now ignored and prints a deprecation warning.

ok kn@ bluhm@ phessler@

Revision 1.38 / (download) - annotate - [select for diffs], Sat Nov 30 16:07:12 2019 UTC (4 years, 6 months ago) by tobhe
Branch: MAIN
Changes since 1.37: +5 -3 lines
Diff to previous 1.37 (colored)

The message sent in config_setmode starts the handshake in the ikev2 process
and thus must be sent last.

ok reyk@

Revision 1.37 / (download) - annotate - [select for diffs], Sat May 11 16:30:23 2019 UTC (5 years, 1 month ago) by patrick
Branch: MAIN
CVS Tags: OPENBSD_6_6_BASE, OPENBSD_6_6
Changes since 1.36: +4 -1 lines
Diff to previous 1.36 (colored)

Add support for IKEv2 Message Fragmentation as defined in RFC 7383.

ok sthen@

Revision 1.36 / (download) - annotate - [select for diffs], Mon Nov 27 18:39:35 2017 UTC (6 years, 6 months ago) by patrick
Branch: MAIN
CVS Tags: OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4, OPENBSD_6_3_BASE, OPENBSD_6_3
Changes since 1.35: +3 -1 lines
Diff to previous 1.35 (colored)

Implement MOBIKE (RFC 4555) support in iked(8), with us acting as
responder.  In practice this support means that clients like iPhones
can roam in different networks (LTE, WiFi) and change their external
addresses without having to re-do the whole handshake.  It allows the
client to choose how and when to change the external tunnel endpoint
addresses on demand, depending on which network is better or even is
connected at all.

ok sthen@
tweaks from jmc@
tested by a handful

Revision 1.35 / (download) - annotate - [select for diffs], Wed Nov 8 16:57:41 2017 UTC (6 years, 7 months ago) by patrick
Branch: MAIN
Changes since 1.34: +6 -1 lines
Diff to previous 1.34 (colored)

Do not accept superfluous arguments.

From Klemens Nanni.

ok markus@

Revision 1.34 / (download) - annotate - [select for diffs], Thu Mar 23 05:29:48 2017 UTC (7 years, 2 months ago) by jsg
Branch: MAIN
CVS Tags: OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.33: +4 -1 lines
Diff to previous 1.33 (colored)

set ps_noaction to not fork uneeded children when checking config with -n

ok mikeb@ reyk@

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jan 9 14:49:21 2017 UTC (7 years, 5 months ago) by reyk
Branch: MAIN
Changes since 1.32: +2 -2 lines
Diff to previous 1.32 (colored)

Stop accessing verbose and debug variables from log.c directly.

This replaces log_verbose() and "extern int verbose" with the two functions
log_setverbose() and log_getverbose().

Pointed out by benno@
OK krw@ eric@ gilles@ (OK gilles@ for the snmpd bits as well)

Revision 1.32 / (download) - annotate - [select for diffs], Tue Jan 3 17:51:38 2017 UTC (7 years, 5 months ago) by reyk
Branch: MAIN
Changes since 1.31: +8 -1 lines
Diff to previous 1.31 (colored)

Fix pledge of the ca process by calling the right function on startup.
As a related change, load the local.pub and local.key keys after
privsep and reload them on SIGHUP/reload.

OK mikeb@

Revision 1.31 / (download) - annotate - [select for diffs], Sun Sep 4 16:55:43 2016 UTC (7 years, 9 months ago) by reyk
Branch: MAIN
Changes since 1.30: +7 -1 lines
Diff to previous 1.30 (colored)

Forward IMSG_CTL_VERBOSE via the parent; this fixes a crash when doing
"ikectl log verbose" and keeps the control process separated from the
cert process.

Thanks for the bug report to Wouter Clarie

OK vgross@

Revision 1.30 / (download) - annotate - [select for diffs], Mon Dec 7 12:46:37 2015 UTC (8 years, 6 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.29: +2 -3 lines
Diff to previous 1.29 (colored)

Sync proc.c, use shorter proc_compose[v]()

Revision 1.29 / (download) - annotate - [select for diffs], Sun Nov 22 13:27:13 2015 UTC (8 years, 6 months ago) by reyk
Branch: MAIN
Changes since 1.28: +5 -3 lines
Diff to previous 1.28 (colored)

Update log.c: change fatal() and fatalx() into variadic functions,
include the process name, and replace all calls of fatal*(NULL) with
fatal(__func__) for better debugging.

OK benno@

Revision 1.28 / (download) - annotate - [select for diffs], Thu Oct 22 15:55:18 2015 UTC (8 years, 7 months ago) by reyk
Branch: MAIN
Changes since 1.27: +32 -11 lines
Diff to previous 1.27 (colored)

iked hereby pledges that it will run with restricted system
operations.  This adds pledge(2) too all processes, including the iked
parent process; the existing privsep design has been improved for
better pledgeability.  There haven't been any serious problems as it
was already sane (eg. by receiving the PFKEYv2 and UDP sockets via fd
passing).  The control socket moved to an independent process to
remove some abilities from the cert process.

Committed in agreement with many but nobody was brave enough to OK it.

Better testing will happen with having it in the tree.
"It's the truth" deraadt@
"Let's see what happens" benno@

Revision 1.27 / (download) - annotate - [select for diffs], Mon Oct 19 11:25:35 2015 UTC (8 years, 7 months ago) by reyk
Branch: MAIN
Changes since 1.26: +1 -20 lines
Diff to previous 1.26 (colored)

Remove the ikev1 stub - Since I started iked, it has an empty privsep
process for ISAKMP+IKEv1.  I kept it to let somebody either contribute
the old protocol one day, I never intended to implement IKEv1 myself,
or to add a new kind of pipe to isakmpd to hand off IKEv1 messages.
As IKEv2 is widely supported by all major OS and networking vendors
now, I'm happy to scrap the idea of supporting ISAKMP+IKEv1.  It is
still possible to use isakmpd for legacy VPNs.

OK mikeb@

Revision 1.26 / (download) - annotate - [select for diffs], Thu Oct 15 18:40:38 2015 UTC (8 years, 7 months ago) by mmcc
Branch: MAIN
Changes since 1.25: +2 -3 lines
Diff to previous 1.25 (colored)

Remove some unnecessary NULL-checks before free(). Change two bzero()
calls on pf data to explicit_bzero().

ok mikeb@

Revision 1.25 / (download) - annotate - [select for diffs], Fri Aug 21 11:59:27 2015 UTC (8 years, 9 months ago) by reyk
Branch: MAIN
Changes since 1.24: +2 -2 lines
Diff to previous 1.24 (colored)

Switch iked to C99-style fixed-width integer types.

OK mikeb@

Revision 1.24 / (download) - annotate - [select for diffs], Wed Jun 3 02:24:36 2015 UTC (9 years ago) by millert
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8
Changes since 1.23: +10 -4 lines
Diff to previous 1.23 (colored)

Do not assume that asprintf() clears the pointer on failure, which
is non-portable.  Also add missing asprintf() return value checks.
OK deraadt@ guenther@ doug@

Revision 1.23 / (download) - annotate - [select for diffs], Fri Jan 16 06:39:58 2015 UTC (9 years, 4 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.22: +3 -4 lines
Diff to previous 1.22 (colored)

Replace <sys/param.h> with <limits.h> and other less dirty headers where
possible.  Annotate <sys/param.h> lines with their current reasons.  Switch
to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc.  Change
MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where
sensible to avoid pulling in the pollution.  These are the files confirmed
through binary verification.
ok guenther, millert, doug (helped with the verification protocol)

Revision 1.22 / (download) - annotate - [select for diffs], Mon Aug 18 09:43:02 2014 UTC (9 years, 9 months ago) by reyk
Branch: MAIN
Changes since 1.21: +6 -1 lines
Diff to previous 1.21 (colored)

Sync proc.c with httpd.  httpd needs SIGUSR1 but iked will ignore it
now instead of terminating the process.

ok mikeb@

Revision 1.21 / (download) - annotate - [select for diffs], Thu May 8 13:11:16 2014 UTC (10 years, 1 month ago) by blambert
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.20: +2 -1 lines
Diff to previous 1.20 (colored)

match iked proc.c infrastructure with proc.c

ok reyk@

Revision 1.20 / (download) - annotate - [select for diffs], Tue Apr 22 12:00:03 2014 UTC (10 years, 1 month ago) by reyk
Branch: MAIN
Changes since 1.19: +8 -4 lines
Diff to previous 1.19 (colored)

Update iked to use the same proc.c that relayd uses.
Less differences, less code to audit.

ok mikeb@

Revision 1.19 / (download) - annotate - [select for diffs], Mon Feb 17 15:07:23 2014 UTC (10 years, 3 months ago) by markus
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.18: +6 -1 lines
Diff to previous 1.18 (colored)

basic OCSP support. enable with 'set ocsp "http://10.0.0.10:8888/"'
ok mikeb@

Revision 1.18 / (download) - annotate - [select for diffs], Thu Oct 24 02:55:50 2013 UTC (10 years, 7 months ago) by deraadt
Branch: MAIN
Changes since 1.17: +1 -8 lines
Diff to previous 1.17 (colored)

no need for netinet/ip_var.h (and friends)

Revision 1.17 / (download) - annotate - [select for diffs], Thu Mar 21 04:30:14 2013 UTC (11 years, 2 months ago) by deraadt
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4
Changes since 1.16: +1 -2 lines
Diff to previous 1.16 (colored)

remove excessive includes

Revision 1.16 / (download) - annotate - [select for diffs], Tue Jan 8 10:38:19 2013 UTC (11 years, 5 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_5_3_BASE, OPENBSD_5_3
Changes since 1.15: +2 -3 lines
Diff to previous 1.15 (colored)

Remove private CVS tag from an obsolete repository and bump copyright
to 2013 while I'm here... this is my way of saying "happy new year!".

Revision 1.15 / (download) - annotate - [select for diffs], Sat Dec 15 23:19:35 2012 UTC (11 years, 5 months ago) by reyk
Branch: MAIN
Changes since 1.14: +4 -6 lines
Diff to previous 1.14 (colored)

Don't print an error if the process exited normally.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Nov 29 15:08:08 2012 UTC (11 years, 6 months ago) by reyk
Branch: MAIN
Changes since 1.13: +6 -3 lines
Diff to previous 1.13 (colored)

Prevent VPN traffic leakages in dual-stack hosts/networks.
See http://tools.ietf.org/html/draft-gont-opsec-vpn-leakages.

We forcibly block IPv6 traffic by loading a "flow esp out from ::/0 to
::/0 type deny" unless the protocol is used in any of the flows.  Note
that this will block any IPv6 traffic, superseding routes and pf, on
the host by default when iked is running with IPv4 flows only.  This
auto-blocking feature can be disabled by specifying the "-6" command
line flag to iked.

Thanks to Fernando Gont.

ok mikeb@

Revision 1.13 / (download) - annotate - [select for diffs], Mon Oct 22 10:25:17 2012 UTC (11 years, 7 months ago) by reyk
Branch: MAIN
Changes since 1.12: +18 -7 lines
Diff to previous 1.12 (colored)

Fix NAT-T support in iked, both on the initiator and the responder
side.  Also add a new command line option -t to optionally enforce
NAT-T with UDP encapsulation on port 4500.

Tested by mikeb@ and me
ok mikeb@

Revision 1.12 / (download) - annotate - [select for diffs], Tue Sep 18 12:07:59 2012 UTC (11 years, 8 months ago) by reyk
Branch: MAIN
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

update email addresses to match reality.
sure jsg@ mikeb@

Revision 1.11 / (download) - annotate - [select for diffs], Mon May 9 11:15:18 2011 UTC (13 years, 1 month ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_5_2_BASE, OPENBSD_5_2, OPENBSD_5_1_BASE, OPENBSD_5_1, OPENBSD_5_0_BASE, OPENBSD_5_0
Changes since 1.10: +9 -18 lines
Diff to previous 1.10 (colored)

rename functions in proc.c to proc_* and move some code from imsg_util.c to
proc.c.  this is the first sync to what i did for relayd but does not include
the multi-instance handling - so no functional change.

Revision 1.10 / (download) - annotate - [select for diffs], Thu May 5 12:55:52 2011 UTC (13 years, 1 month ago) by reyk
Branch: MAIN
Changes since 1.9: +31 -27 lines
Diff to previous 1.9 (colored)

Move the proc.c-specific runtime state out of struct iked into a sub-struct.
This removes iked-specific stuff from proc.c.

Revision 1.9 / (download) - annotate - [select for diffs], Thu May 5 12:17:10 2011 UTC (13 years, 1 month ago) by reyk
Branch: MAIN
Changes since 1.8: +8 -8 lines
Diff to previous 1.8 (colored)

rename iked_proc* to privsep_proc*.  no functional change.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Jan 21 11:56:00 2011 UTC (13 years, 4 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_4_9_BASE, OPENBSD_4_9
Changes since 1.7: +9 -1 lines
Diff to previous 1.7 (colored)

Reimplement the iked(8) policy evaluation for incoming connections to
use the last matching semantics of PF.  The previous rbtree-based
implementation was broken and tried to do a longest prefix match.  But
instead of prefix match and using radix-trees to fix it I decided with
mikeb@ to implement it as last matching policy evaluation.  The last
matching policy wins; the "quick" keyword can enforce first matching;
additional keywords like "skip" are specific to iked(8).  See
iked.conf(5) for more details.

The implementation also uses skip steps based on PF's code.  It
significantly speeds up the evaluation of many policies but also adds
a little delay when loading them (only noticeable with thousands of
policies).  This allows iked(8) to scale well with thousands of
configured policies but I also liked the fact to have skip steps in
another piece of code.

ok dhartmei@ for using his skip step code under the ISC license in policy.c
ok mikeb@, jmc@

Revision 1.7 / (download) - annotate - [select for diffs], Wed Nov 17 16:43:45 2010 UTC (13 years, 6 months ago) by ckuethe
Branch: MAIN
Changes since 1.6: +1 -3 lines
Diff to previous 1.6 (colored)

Allow the -D command line flag to actually define macros.
ok mikeb@ reyk@

Revision 1.6 / (download) - annotate - [select for diffs], Thu Jun 24 20:15:30 2010 UTC (13 years, 11 months ago) by reyk
Branch: MAIN
CVS Tags: OPENBSD_4_8_BASE, OPENBSD_4_8
Changes since 1.5: +6 -6 lines
Diff to previous 1.5 (colored)

unbreak the ikectl log verbose/brief commands.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Jun 10 14:18:26 2010 UTC (14 years ago) by reyk
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4 (colored)

update usage()

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jun 10 14:17:48 2010 UTC (14 years ago) by reyk
Branch: MAIN
Changes since 1.3: +5 -2 lines
Diff to previous 1.3 (colored)

Add the -S flag which does the same as "set passive" but matches the
isakmpd flag.

Revision 1.3 / (download) - annotate - [select for diffs], Thu Jun 10 14:08:37 2010 UTC (14 years ago) by reyk
Branch: MAIN
Changes since 1.2: +16 -2 lines
Diff to previous 1.2 (colored)

add new commands: the couple/decouple commands will set loading of the
learned flows and SAs to the kernel which is useful for testing and
debugging. the active/passive commands are required to use iked
with sasyncd(8);  sasyncd just needs to call "ikectl active/passive" or
send the appropriate imsg to support iked but this is not implemented yet.

Revision 1.2 / (download) - annotate - [select for diffs], Mon Jun 7 10:07:44 2010 UTC (14 years ago) by jmc
Branch: MAIN
Changes since 1.1: +2 -2 lines
Diff to previous 1.1 (colored)

various small tweaks; ok reyk

Revision 1.1 / (download) - annotate - [select for diffs], Thu Jun 3 16:41:12 2010 UTC (14 years ago) by reyk
Branch: MAIN

Import iked, a new implementation of the IKEv2 protocol.

iked(8) is an automatic keying daemon for IPsec, like isakmpd(8), that
IPsec creates flows and SAs automatically.  Unlike isakmpd, iked(8)
implements the newer IKEv2 protocol instead of IKEv1/ISAKMP.  The
daemon is still work-in-progress and not enabled in the builds, but is
already able to establish IKEv2 sessions with some other IKEv2
implementations as a responder.

with lots of help and debugging by jsg@
ok deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.