summaryrefslogtreecommitdiff
path: root/sbin/isakmpd
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1999-02-26 03:42:31 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1999-02-26 03:42:31 +0000
commit0e4212a5d63f1c8121acb13d058584f793e50889 (patch)
treeec255fa554c54030a89cdd33b8d9ebbf85651b4b /sbin/isakmpd
parent57b0583d7505f4234a0172e3147b5bad16f421b7 (diff)
Merge from the Ericsson repository
| revision 1.69 | date: 1999/02/25 11:39:04; author: niklas; state: Exp; lines: +3 -1 | include sysdep.h everywhere | ---------------------------- | revision 1.68 | date: 1999/02/25 11:09:36; author: niklas; state: Exp; lines: +7 -6 | Make conf_get_num take a default value to give back when tag does not exist | ---------------------------- | revision 1.67 | date: 1999/02/25 10:21:30; author: niklas; state: Exp; lines: +2 -2 | Replay window changes was done at the wrong level | ---------------------------- | revision 1.66 | date: 1999/02/25 09:30:23; author: niklas; state: Exp; lines: +5 -1 | Replay protection window configurable | ---------------------------- | revision 1.65 | date: 1999/02/14 00:07:24; author: niklas; state: Exp; lines: +4 -3 | Clarify which SPI we are setting up | ----------------------------
Diffstat (limited to 'sbin/isakmpd')
-rw-r--r--sbin/isakmpd/ike_quick_mode.c26
1 files changed, 17 insertions, 9 deletions
diff --git a/sbin/isakmpd/ike_quick_mode.c b/sbin/isakmpd/ike_quick_mode.c
index b5e5340aab8..c1e9804e747 100644
--- a/sbin/isakmpd/ike_quick_mode.c
+++ b/sbin/isakmpd/ike_quick_mode.c
@@ -1,5 +1,5 @@
-/* $OpenBSD: ike_quick_mode.c,v 1.5 1998/12/21 01:02:24 niklas Exp $ */
-/* $EOM: ike_quick_mode.c,v 1.64 1998/12/17 07:55:46 niklas Exp $ */
+/* $OpenBSD: ike_quick_mode.c,v 1.6 1999/02/26 03:42:30 niklas Exp $ */
+/* $EOM: ike_quick_mode.c,v 1.69 1999/02/25 11:39:04 niklas Exp $ */
/*
* Copyright (c) 1998 Niklas Hallqvist. All rights reserved.
@@ -37,6 +37,8 @@
#include <stdlib.h>
#include <string.h>
+#include "sysdep.h"
+
#include "attribute.h"
#include "conf.h"
#include "dh.h"
@@ -240,7 +242,7 @@ initiator_send_HASH_SA_NONCE (struct message *msg)
IPSEC_ATTR_SA_LIFE_TYPE, &attr);
/* XXX Does only handle 16-bit entities! */
- value = conf_get_num (life->field, "LIFE_DURATION");
+ value = conf_get_num (life->field, "LIFE_DURATION", 0);
if (value)
attr
= attribute_set_basic (attr,
@@ -262,24 +264,25 @@ initiator_send_HASH_SA_NONCE (struct message *msg)
ike_group_desc_cst,
IPSEC_ATTR_GROUP_DESCRIPTION, &attr);
- value = conf_get_num (xf->field, "KEY_LENGTH");
+ value = conf_get_num (xf->field, "KEY_LENGTH", 0);
if (value)
attr = attribute_set_basic (attr, IPSEC_ATTR_KEY_LENGTH,
value);
- value = conf_get_num (xf->field, "KEY_ROUNDS");
+ value = conf_get_num (xf->field, "KEY_ROUNDS", 0);
if (value)
attr = attribute_set_basic (attr, IPSEC_ATTR_KEY_ROUNDS,
value);
- value = conf_get_num (xf->field, "COMPRESS_DICTIONARY_SIZE");
+ value = conf_get_num (xf->field, "COMPRESS_DICTIONARY_SIZE", 0);
if (value)
attr
= attribute_set_basic (attr,
IPSEC_ATTR_COMPRESS_DICTIONARY_SIZE,
value);
- value = conf_get_num (xf->field, "COMPRESS_PRIVATE_ALGORITHM");
+ value
+ = conf_get_num (xf->field, "COMPRESS_PRIVATE_ALGORITHM", 0);
if (value)
attr
= attribute_set_basic (attr,
@@ -324,10 +327,15 @@ initiator_send_HASH_SA_NONCE (struct message *msg)
TAILQ_INSERT_TAIL (&TAILQ_FIRST (&exchange->sa_list)->protos, proto,
link);
+ /* Setup the incoming SPI. */
SET_ISAKMP_PROP_SPI_SZ (proposal[prop_no], spi_sz);
memcpy (proposal[prop_no] + ISAKMP_PROP_SPI_OFF, spi, spi_sz);
- proto->spi_sz[exchange->initiator] = spi_sz;
- proto->spi[exchange->initiator] = spi;
+ proto->spi_sz[1] = spi_sz;
+ proto->spi[1] = spi;
+
+ /* Let the DOI get at proto for initializing its own data. */
+ if (doi->proto_init)
+ doi->proto_init (proto, prot->field);
SET_ISAKMP_PROP_NTRANSFORMS (proposal[prop_no],
transform_cnt[prop_no]);