Symbol: exchange
lib/libc/asr/asr_debug.c
94
print_dname(rr->rr.mx.exchange, tmp, sizeof tmp));
lib/libc/asr/asr_private.h
75
char exchange[MAXDNAME];
lib/libc/asr/asr_utils.c
313
unpack_dname(p, rr->rr.mx.exchange, sizeof(rr->rr.mx.exchange));
regress/lib/libc/asr/bin/common.c
603
unpack_dname(p, rr->rr.mx.exchange, sizeof(rr->rr.mx.exchange));
regress/lib/libc/asr/bin/common.h
103
char exchange[MAXDNAME];
regress/lib/libc/asr/bin/res_mkquery.c
227
print_dname(rr->rr.mx.exchange, tmp, sizeof tmp));
regress/lib/libc/asr/bin/res_query.c
263
print_dname(rr->rr.mx.exchange, tmp, sizeof tmp));
regress/sbin/iked/parser/common.c
219
struct iked_message *msg, uint8_t exchange)
regress/sbin/iked/parser/common.c
70
uint8_t firstpayload, uint8_t exchange, int response)
sbin/iked/dh.c
319
group->exchange = modp_create_exchange;
sbin/iked/dh.c
326
group->exchange = ec_create_exchange;
sbin/iked/dh.c
332
group->exchange = ec25519_create_exchange;
sbin/iked/dh.c
403
return (group->exchange(group, ibuf_data(buf)));
sbin/iked/dh.c
407
dh_create_shared(struct dh_group *group, struct ibuf **secretp, struct ibuf *exchange)
sbin/iked/dh.c
413
return (group->shared2(group, secretp, exchange));
sbin/iked/dh.c
414
if (exchange == NULL ||
sbin/iked/dh.c
415
(ssize_t)ibuf_size(exchange) != dh_getlen(group))
sbin/iked/dh.c
421
return (group->shared(group, ibuf_data(buf), ibuf_data(exchange)));
sbin/iked/dh.c
484
modp_create_shared(struct dh_group *group, uint8_t *secret, uint8_t *exchange)
sbin/iked/dh.c
491
if ((ex = BN_bin2bn(exchange, len, NULL)) == NULL)
sbin/iked/dh.c
556
ec_create_shared(struct dh_group *group, uint8_t *secret, uint8_t *exchange)
sbin/iked/dh.c
569
ec_raw2point(group, exchange, ec_getlen(group))) == NULL)
sbin/iked/dh.c
843
struct ibuf *exchange)
sbin/iked/dh.c
857
if (exchange == NULL)
sbin/iked/dh.c
860
have = ibuf_size(exchange);
sbin/iked/dh.c
861
cp = ibuf_data(exchange);
sbin/iked/dh.h
51
int (*exchange)(struct dh_group *, uint8_t *);
sbin/iked/ikev2.c
1913
uint8_t exchange, uint8_t flags)
sbin/iked/ikev2.c
1926
hdr->ike_exchange = exchange;
sbin/iked/ikev2.c
3533
int ret = -1, exchange, response;
sbin/iked/ikev2.c
3553
exchange = IKEV2_EXCHANGE_INFORMATIONAL;
sbin/iked/ikev2.c
3556
exchange = IKEV2_EXCHANGE_IKE_AUTH;
sbin/iked/ikev2.c
3560
exchange, response);
sbin/iked/ikev2.c
3561
if (exchange == IKEV2_EXCHANGE_INFORMATIONAL)
sbin/iked/ikev2.c
3684
struct iked_message *msg, uint8_t exchange)
sbin/iked/ikev2.c
3696
exchange, 1);
sbin/iked/ikev2.c
4086
uint8_t firstpayload, uint8_t exchange, int response)
sbin/iked/ikev2.c
4108
ret = ikev2_msg_send_encrypt(env, sa, &e, exchange, firstpayload,
sbin/iked/ikev2_msg.c
1265
struct iked_message *msg, uint8_t exchange)
sbin/iked/ikev2_msg.c
1272
TAILQ_FIRST(&mr->mrt_frags)->msg_exchange == exchange)
sbin/iked/ikev2_msg.c
278
uint8_t exchange, flags;
sbin/iked/ikev2_msg.c
288
exchange = hdr->ike_exchange;
sbin/iked/ikev2_msg.c
290
logit(exchange == IKEV2_EXCHANGE_INFORMATIONAL ? LOG_DEBUG : LOG_INFO,
sbin/iked/ikev2_msg.c
293
print_map(exchange, ikev2_exchange_map),
sbin/iked/ikev2_msg.c
338
m->msg_exchange = exchange;
sbin/iked/ikev2_msg.c
750
uint8_t exchange, uint8_t firstpayload, int response)
sbin/iked/ikev2_msg.c
760
return ikev2_send_encrypted_fragments(env, sa, e, exchange,
sbin/iked/ikev2_msg.c
773
exchange, response ? IKEV2_FLAG_RESPONSE : 0)) == NULL)
sbin/iked/ikev2_msg.c
815
struct ibuf *in, uint8_t exchange, uint8_t firstpayload, int response) {
sbin/iked/ikev2_msg.c
864
IKEV2_PAYLOAD_SKF, exchange, response ? IKEV2_FLAG_RESPONSE
sbin/isakmpd/cookie.c
54
cookie_gen(struct transport *t, struct exchange *exchange, u_int8_t *buf,
sbin/isakmpd/cookie.c
66
if (exchange->initiator == 0)
sbin/isakmpd/cookie.c
67
hash->Update(hash->ctx, exchange->cookies +
sbin/isakmpd/cookie.h
38
struct exchange;
sbin/isakmpd/cookie.h
41
extern void cookie_gen(struct transport *, struct exchange *, u_int8_t *,
sbin/isakmpd/dh.c
278
group->exchange = modp_create_exchange;
sbin/isakmpd/dh.c
288
group->exchange = ec_create_exchange;
sbin/isakmpd/dh.c
328
return (group->exchange(group, buf));
sbin/isakmpd/dh.c
332
dh_create_shared(struct group *group, u_int8_t *secret, u_int8_t *exchange)
sbin/isakmpd/dh.c
334
return (group->shared(group, secret, exchange));
sbin/isakmpd/dh.c
395
modp_create_shared(struct group *group, u_int8_t *secret, u_int8_t *exchange)
sbin/isakmpd/dh.c
402
if ((ex = BN_bin2bn(exchange, len, NULL)) == NULL)
sbin/isakmpd/dh.c
467
ec_create_shared(struct group *group, u_int8_t *secret, u_int8_t *exchange)
sbin/isakmpd/dh.c
480
ec_raw2point(group, exchange, ec_getlen(group))) == NULL)
sbin/isakmpd/dh.h
47
int (*exchange)(struct group *, u_int8_t *);
sbin/isakmpd/dnssec.c
66
struct exchange *exchange = msg->exchange;
sbin/isakmpd/dnssec.c
96
id = exchange->initiator ? exchange->id_r : exchange->id_i;
sbin/isakmpd/dnssec.c
97
id_len = exchange->initiator ? exchange->id_r_len : exchange->id_i_len;
sbin/isakmpd/doi.h
38
struct exchange;
sbin/isakmpd/doi.h
83
u_int8_t *, size_t, struct exchange *);
sbin/isakmpd/dpd.c
103
if (msg->exchange->flags & EXCHANGE_FLAG_DPD_CAP_PEER) {
sbin/isakmpd/dpd.c
120
msg->exchange->flags |= EXCHANGE_FLAG_DPD_CAP_PEER;
sbin/isakmpd/exchange.c
1002
exchange = exchange_lookup_active(name, 1);
sbin/isakmpd/exchange.c
1003
if (exchange) {
sbin/isakmpd/exchange.c
1006
"exists as %p", name, exchange));
sbin/isakmpd/exchange.c
1061
exchange = exchange_create(1, 0, doi, type);
sbin/isakmpd/exchange.c
1062
if (!exchange)
sbin/isakmpd/exchange.c
1065
exchange->name = name ? strdup(name) : 0;
sbin/isakmpd/exchange.c
1066
if (name && !exchange->name) {
sbin/isakmpd/exchange.c
1068
exchange_free(exchange);
sbin/isakmpd/exchange.c
1071
exchange->policy = policy;
sbin/isakmpd/exchange.c
1084
exchange_free(exchange);
sbin/isakmpd/exchange.c
1094
exchange_add_finalization(exchange,
sbin/isakmpd/exchange.c
1101
cookie_gen(msg->transport, exchange, exchange->cookies +
sbin/isakmpd/exchange.c
1103
GET_ISAKMP_HDR_ICOOKIE(msg->iov[0].iov_base, exchange->cookies);
sbin/isakmpd/exchange.c
1104
exchange_enter(exchange);
sbin/isakmpd/exchange.c
1105
exchange_dump("exchange_setup_p1", exchange);
sbin/isakmpd/exchange.c
1106
return exchange;
sbin/isakmpd/exchange.c
1110
struct exchange *
sbin/isakmpd/exchange.c
1113
struct exchange *exchange;
sbin/isakmpd/exchange.c
1116
exchange = exchange_create(2, 0, doi, GET_ISAKMP_HDR_EXCH_TYPE(buf));
sbin/isakmpd/exchange.c
1117
if (!exchange)
sbin/isakmpd/exchange.c
1119
GET_ISAKMP_HDR_ICOOKIE(buf, exchange->cookies);
sbin/isakmpd/exchange.c
1121
exchange->cookies + ISAKMP_HDR_ICOOKIE_LEN);
sbin/isakmpd/exchange.c
1122
GET_ISAKMP_HDR_MESSAGE_ID(buf, exchange->message_id);
sbin/isakmpd/exchange.c
1124
exchange->flags |= EXCHANGE_FLAG_NAT_T_ENABLE;
sbin/isakmpd/exchange.c
1126
exchange->flags |= EXCHANGE_FLAG_NAT_T_KEEPALIVE;
sbin/isakmpd/exchange.c
1127
exchange_enter(exchange);
sbin/isakmpd/exchange.c
1128
exchange_dump("exchange_setup_p2", exchange);
sbin/isakmpd/exchange.c
1129
return exchange;
sbin/isakmpd/exchange.c
1134
exchange_dump_real(char *header, struct exchange *exchange, int class,
sbin/isakmpd/exchange.c
1144
header, exchange, exchange->name ? exchange->name : "<unnamed>",
sbin/isakmpd/exchange.c
1145
exchange->policy ? exchange->policy : "<no policy>",
sbin/isakmpd/exchange.c
1146
exchange->initiator ? "initiator" : "responder", exchange->phase,
sbin/isakmpd/exchange.c
1147
exchange->doi->id, exchange->type, exchange->step));
sbin/isakmpd/exchange.c
1149
decode_32(exchange->cookies), decode_32(exchange->cookies + 4),
sbin/isakmpd/exchange.c
1150
decode_32(exchange->cookies + 8),
sbin/isakmpd/exchange.c
1151
decode_32(exchange->cookies + 12)));
sbin/isakmpd/exchange.c
1154
if (exchange->phase == 2) {
sbin/isakmpd/exchange.c
1156
for (sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/exchange.c
1166
decode_32(exchange->message_id), buf));
sbin/isakmpd/exchange.c
1170
exchange_dump(char *header, struct exchange *exchange)
sbin/isakmpd/exchange.c
1172
exchange_dump_real(header, exchange, LOG_EXCHANGE, 10);
sbin/isakmpd/exchange.c
1178
struct exchange *exchange;
sbin/isakmpd/exchange.c
1182
for (exchange = LIST_FIRST(&exchange_tab[i]); exchange;
sbin/isakmpd/exchange.c
1183
exchange = LIST_NEXT(exchange, link))
sbin/isakmpd/exchange.c
1184
exchange_dump_real("exchange_report", exchange,
sbin/isakmpd/exchange.c
1196
struct exchange *exchange = v_exch;
sbin/isakmpd/exchange.c
1201
exchange));
sbin/isakmpd/exchange.c
1203
if (exchange->last_received)
sbin/isakmpd/exchange.c
1204
message_free(exchange->last_received);
sbin/isakmpd/exchange.c
1205
if (exchange->last_sent)
sbin/isakmpd/exchange.c
1206
message_free(exchange->last_sent);
sbin/isakmpd/exchange.c
1207
if (exchange->in_transit &&
sbin/isakmpd/exchange.c
1208
exchange->in_transit != exchange->last_sent)
sbin/isakmpd/exchange.c
1209
message_free(exchange->in_transit);
sbin/isakmpd/exchange.c
1210
freezero(exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/exchange.c
1211
freezero(exchange->nonce_r, exchange->nonce_r_len);
sbin/isakmpd/exchange.c
1212
free(exchange->id_i);
sbin/isakmpd/exchange.c
1213
free(exchange->id_r);
sbin/isakmpd/exchange.c
1214
freezero(exchange->keystate, sizeof(struct keystate));
sbin/isakmpd/exchange.c
1215
if (exchange->data) {
sbin/isakmpd/exchange.c
1216
if (exchange->doi && exchange->doi->free_exchange_data)
sbin/isakmpd/exchange.c
1217
exchange->doi->free_exchange_data(exchange->data);
sbin/isakmpd/exchange.c
1218
free(exchange->data);
sbin/isakmpd/exchange.c
1220
free(exchange->name);
sbin/isakmpd/exchange.c
1221
if (exchange->recv_cert) {
sbin/isakmpd/exchange.c
1222
handler = cert_get(exchange->recv_certtype);
sbin/isakmpd/exchange.c
1224
handler->cert_free(exchange->recv_cert);
sbin/isakmpd/exchange.c
1226
if (exchange->sent_cert) {
sbin/isakmpd/exchange.c
1227
handler = cert_get(exchange->sent_certtype);
sbin/isakmpd/exchange.c
1229
handler->cert_free(exchange->sent_cert);
sbin/isakmpd/exchange.c
1231
if (exchange->recv_key)
sbin/isakmpd/exchange.c
1232
key_free(exchange->recv_keytype, ISAKMP_KEYTYPE_PUBLIC,
sbin/isakmpd/exchange.c
1233
exchange->recv_key);
sbin/isakmpd/exchange.c
1234
free(exchange->keynote_key); /* This is just a string */
sbin/isakmpd/exchange.c
1236
if (exchange->policy_id != -1)
sbin/isakmpd/exchange.c
1237
kn_close(exchange->policy_id);
sbin/isakmpd/exchange.c
1239
exchange_free_aca_list(exchange);
sbin/isakmpd/exchange.c
1240
if (exchange->linked) {
sbin/isakmpd/exchange.c
1241
LIST_REMOVE(exchange, link);
sbin/isakmpd/exchange.c
1242
exchange->linked = 0;
sbin/isakmpd/exchange.c
1246
if (exchange->finalize)
sbin/isakmpd/exchange.c
1247
exchange->finalize(exchange, exchange->finalize_arg, 1);
sbin/isakmpd/exchange.c
1250
for (sa = TAILQ_FIRST(&exchange->sa_list); sa; sa = next_sa) {
sbin/isakmpd/exchange.c
1258
free(exchange);
sbin/isakmpd/exchange.c
1263
exchange_free(struct exchange *exchange)
sbin/isakmpd/exchange.c
1265
if (exchange->death)
sbin/isakmpd/exchange.c
1266
timer_remove_event(exchange->death);
sbin/isakmpd/exchange.c
1267
exchange_free_aux(exchange);
sbin/isakmpd/exchange.c
1277
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1279
LIST_REMOVE(exchange, link);
sbin/isakmpd/exchange.c
1280
exchange->linked = 0;
sbin/isakmpd/exchange.c
1281
GET_ISAKMP_HDR_RCOOKIE(msg->iov[0].iov_base, exchange->cookies +
sbin/isakmpd/exchange.c
1283
exchange_enter(exchange);
sbin/isakmpd/exchange.c
1284
if (!TAILQ_EMPTY(&exchange->sa_list))
sbin/isakmpd/exchange.c
1323
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1332
exchange_dump("exchange_finalize", exchange);
sbin/isakmpd/exchange.c
1336
if (exchange->id_i && exchange->id_r) {
sbin/isakmpd/exchange.c
1338
&msg->isakmp_sa->id_i_len, exchange->id_i,
sbin/isakmpd/exchange.c
1339
exchange->id_i_len);
sbin/isakmpd/exchange.c
1341
&msg->isakmp_sa->id_r_len, exchange->id_r,
sbin/isakmpd/exchange.c
1342
exchange->id_r_len);
sbin/isakmpd/exchange.c
1344
ipsec_clone_id(&exchange->id_i, &exchange->id_i_len,
sbin/isakmpd/exchange.c
1346
ipsec_clone_id(&exchange->id_r, &exchange->id_r_len,
sbin/isakmpd/exchange.c
1357
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/exchange.c
1360
sa->name = exchange->name ? strdup(exchange->name) : 0;
sbin/isakmpd/exchange.c
1362
if (exchange->flags & EXCHANGE_FLAG_I_COMMITTED) {
sbin/isakmpd/exchange.c
1366
message_send_notification(exchange->last_received,
sbin/isakmpd/exchange.c
1375
sa->initiator = exchange->initiator;
sbin/isakmpd/exchange.c
1381
if (exchange->name) {
sbin/isakmpd/exchange.c
1382
attrs = conf_get_list(exchange->name, "Flags");
sbin/isakmpd/exchange.c
1390
if (connection_exist(exchange->name)) {
sbin/isakmpd/exchange.c
1397
if (exchange->phase == 2 && msg->isakmp_sa)
sbin/isakmpd/exchange.c
1402
sa->seq = exchange->seq;
sbin/isakmpd/exchange.c
1403
sa->exch_type = exchange->type;
sbin/isakmpd/exchange.c
1412
if (exchange->phase == 1 && msg->isakmp_sa) {
sbin/isakmpd/exchange.c
1413
msg->isakmp_sa->keystate = exchange->keystate;
sbin/isakmpd/exchange.c
1414
exchange->keystate = 0;
sbin/isakmpd/exchange.c
1416
msg->isakmp_sa->recv_certtype = exchange->recv_certtype;
sbin/isakmpd/exchange.c
1417
msg->isakmp_sa->sent_certtype = exchange->sent_certtype;
sbin/isakmpd/exchange.c
1418
msg->isakmp_sa->recv_keytype = exchange->recv_keytype;
sbin/isakmpd/exchange.c
1419
msg->isakmp_sa->recv_key = exchange->recv_key;
sbin/isakmpd/exchange.c
1420
msg->isakmp_sa->keynote_key = exchange->keynote_key;
sbin/isakmpd/exchange.c
1422
exchange->recv_key = 0;
sbin/isakmpd/exchange.c
1423
exchange->keynote_key = 0;
sbin/isakmpd/exchange.c
1424
msg->isakmp_sa->policy_id = exchange->policy_id;
sbin/isakmpd/exchange.c
1425
exchange->policy_id = -1;
sbin/isakmpd/exchange.c
1426
msg->isakmp_sa->initiator = exchange->initiator;
sbin/isakmpd/exchange.c
1428
if (exchange->recv_certtype && exchange->recv_cert) {
sbin/isakmpd/exchange.c
1429
handler = cert_get(exchange->recv_certtype);
sbin/isakmpd/exchange.c
1432
handler->cert_dup(exchange->recv_cert);
sbin/isakmpd/exchange.c
1434
if (exchange->sent_certtype) {
sbin/isakmpd/exchange.c
1435
handler = cert_get(exchange->sent_certtype);
sbin/isakmpd/exchange.c
1438
handler->cert_dup(exchange->sent_cert);
sbin/isakmpd/exchange.c
1440
if (exchange->doi)
sbin/isakmpd/exchange.c
1441
id_doi = exchange->doi->decode_ids(
sbin/isakmpd/exchange.c
1443
exchange->id_i, exchange->id_i_len,
sbin/isakmpd/exchange.c
1444
exchange->id_r, exchange->id_r_len, 0);
sbin/isakmpd/exchange.c
1454
if (exchange->flags & EXCHANGE_FLAG_NAT_T_ENABLE)
sbin/isakmpd/exchange.c
1456
if (exchange->flags & EXCHANGE_FLAG_NAT_T_KEEPALIVE)
sbin/isakmpd/exchange.c
1464
(exchange->initiator == 0) ? " (as responder)" : "",
sbin/isakmpd/exchange.c
1467
exchange->doi->finalize_exchange(msg);
sbin/isakmpd/exchange.c
1468
if (exchange->finalize)
sbin/isakmpd/exchange.c
1469
exchange->finalize(exchange, exchange->finalize_arg, 0);
sbin/isakmpd/exchange.c
1470
exchange->finalize = 0;
sbin/isakmpd/exchange.c
1478
while (TAILQ_FIRST(&exchange->sa_list)) {
sbin/isakmpd/exchange.c
1479
sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/exchange.c
1481
if (exchange->id_i && exchange->id_r) {
sbin/isakmpd/exchange.c
1483
exchange->id_i, exchange->id_i_len);
sbin/isakmpd/exchange.c
1485
exchange->id_r, exchange->id_r_len);
sbin/isakmpd/exchange.c
1487
TAILQ_REMOVE(&exchange->sa_list, sa, next);
sbin/isakmpd/exchange.c
1495
if (exchange->phase == 1 && msg->isakmp_sa &&
sbin/isakmpd/exchange.c
1496
(exchange->flags & EXCHANGE_FLAG_DPD_CAP_PEER))
sbin/isakmpd/exchange.c
1500
if (!exchange->last_sent)
sbin/isakmpd/exchange.c
1501
exchange_free(exchange);
sbin/isakmpd/exchange.c
1506
exchange_nonce(struct exchange *exchange, int peer, size_t nonce_sz,
sbin/isakmpd/exchange.c
1511
int initiator = exchange->initiator ^ peer;
sbin/isakmpd/exchange.c
1526
nonce = initiator ? &exchange->nonce_i : &exchange->nonce_r;
sbin/isakmpd/exchange.c
1528
initiator ? &exchange->nonce_i_len : &exchange->nonce_r_len;
sbin/isakmpd/exchange.c
1548
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1563
return exchange_nonce(exchange, 0, nonce_sz,
sbin/isakmpd/exchange.c
1572
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1576
return exchange_nonce(exchange, 1, GET_ISAKMP_GEN_LENGTH(noncep->p) -
sbin/isakmpd/exchange.c
1585
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1594
TAILQ_INSERT_TAIL(&exchange->aca_list, aca, link);
sbin/isakmpd/exchange.c
1602
exchange_free_aca_list(struct exchange *exchange)
sbin/isakmpd/exchange.c
1606
for (aca = TAILQ_FIRST(&exchange->aca_list); aca;
sbin/isakmpd/exchange.c
1607
aca = TAILQ_FIRST(&exchange->aca_list)) {
sbin/isakmpd/exchange.c
1614
TAILQ_REMOVE(&exchange->aca_list, aca, link);
sbin/isakmpd/exchange.c
1623
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
1635
for (aca = TAILQ_FIRST(&exchange->aca_list); aca;
sbin/isakmpd/exchange.c
166
exchange_script(struct exchange *exchange)
sbin/isakmpd/exchange.c
1675
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
168
switch (exchange->type) {
sbin/isakmpd/exchange.c
1682
id = exchange->initiator ? exchange->id_r : exchange->id_i;
sbin/isakmpd/exchange.c
1683
id_len = exchange->initiator ? exchange->id_r_len : exchange->id_i_len;
sbin/isakmpd/exchange.c
1695
for (aca = TAILQ_FIRST(&exchange->aca_list); aca;
sbin/isakmpd/exchange.c
1730
exchange_free_aca_list(exchange);
sbin/isakmpd/exchange.c
1736
exchange_establish_finalize(struct exchange *exchange, void *arg, int fail)
sbin/isakmpd/exchange.c
1742
exchange, arg, name ? name : "<unnamed>", fail));
sbin/isakmpd/exchange.c
1754
exchange_establish(char *name, void (*finalize)(struct exchange *, void *,
sbin/isakmpd/exchange.c
1759
struct exchange *exchange;
sbin/isakmpd/exchange.c
1778
exchange = exchange_lookup_by_name(name, phase);
sbin/isakmpd/exchange.c
1779
if (exchange) {
sbin/isakmpd/exchange.c
1782
name, exchange));
sbin/isakmpd/exchange.c
1783
exchange_add_finalization(exchange, finalize, arg);
sbin/isakmpd/exchange.c
182
if (exchange->type >= ISAKMP_EXCH_DOI_MIN)
sbin/isakmpd/exchange.c
183
return exchange->doi->exchange_script(exchange->type);
sbin/isakmpd/exchange.c
1845
exchange = exchange_lookup_by_name(peer, 1);
sbin/isakmpd/exchange.c
1851
if (exchange)
sbin/isakmpd/exchange.c
1852
exchange_add_finalization(exchange, finalize,
sbin/isakmpd/exchange.c
196
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
197
int16_t *pc = exchange->exch_pc;
sbin/isakmpd/exchange.c
237
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
238
struct doi *doi = exchange->doi;
sbin/isakmpd/exchange.c
269
struct exchange *exchange = msg->exchange;
sbin/isakmpd/exchange.c
270
struct doi *doi = exchange->doi;
sbin/isakmpd/exchange.c
271
int (*handler)(struct message *) = exchange->initiator ?
sbin/isakmpd/exchange.c
280
if (exchange->initiator ^ (exchange->step % 2)) {
sbin/isakmpd/exchange.c
282
if (exchange->step) {
sbin/isakmpd/exchange.c
290
message_setup_header(msg, exchange->type, 0,
sbin/isakmpd/exchange.c
291
exchange->message_id);
sbin/isakmpd/exchange.c
304
exchange->initiator ? "initiator" :
sbin/isakmpd/exchange.c
319
if (exchange->step > 0) {
sbin/isakmpd/exchange.c
320
if (exchange->last_sent)
sbin/isakmpd/exchange.c
321
message_free(exchange->last_sent);
sbin/isakmpd/exchange.c
322
exchange->last_sent = msg;
sbin/isakmpd/exchange.c
341
if ((exchange->type == ISAKMP_EXCH_ID_PROT ||
sbin/isakmpd/exchange.c
342
exchange->type == ISAKMP_EXCH_AGGRESSIVE) &&
sbin/isakmpd/exchange.c
343
exchange->phase == 1 && exchange->step == 1)
sbin/isakmpd/exchange.c
353
exchange_free(exchange);
sbin/isakmpd/exchange.c
384
if (exchange->last_received)
sbin/isakmpd/exchange.c
385
message_free(exchange->last_received);
sbin/isakmpd/exchange.c
386
exchange->last_received = msg;
sbin/isakmpd/exchange.c
387
if (exchange->flags & EXCHANGE_FLAG_ENCRYPT)
sbin/isakmpd/exchange.c
388
crypto_update_iv(exchange->keystate);
sbin/isakmpd/exchange.c
411
exchange, exchange->step));
sbin/isakmpd/exchange.c
412
exchange->step++;
sbin/isakmpd/exchange.c
413
while (*exchange->exch_pc != EXCHANGE_SCRIPT_SWITCH &&
sbin/isakmpd/exchange.c
414
*exchange->exch_pc != EXCHANGE_SCRIPT_END)
sbin/isakmpd/exchange.c
415
exchange->exch_pc++;
sbin/isakmpd/exchange.c
416
exchange->exch_pc++;
sbin/isakmpd/exchange.c
434
struct exchange *
sbin/isakmpd/exchange.c
437
struct exchange *exchange;
sbin/isakmpd/exchange.c
441
for (exchange = LIST_FIRST(&exchange_tab[i]); exchange;
sbin/isakmpd/exchange.c
442
exchange = LIST_NEXT(exchange, link))
sbin/isakmpd/exchange.c
443
if (memcmp(exchange->cookies, cookie,
sbin/isakmpd/exchange.c
445
exchange->phase == 1)
sbin/isakmpd/exchange.c
446
return exchange;
sbin/isakmpd/exchange.c
451
struct exchange *
sbin/isakmpd/exchange.c
454
struct exchange *exchange;
sbin/isakmpd/exchange.c
462
for (exchange = LIST_FIRST(&exchange_tab[i]); exchange;
sbin/isakmpd/exchange.c
463
exchange = LIST_NEXT(exchange, link)) {
sbin/isakmpd/exchange.c
466
name, exchange->name ? exchange->name :
sbin/isakmpd/exchange.c
467
"<unnamed>", phase, exchange->phase));
sbin/isakmpd/exchange.c
473
if (exchange->name &&
sbin/isakmpd/exchange.c
474
strcasecmp(exchange->name, name) == 0 &&
sbin/isakmpd/exchange.c
475
exchange->phase == phase &&
sbin/isakmpd/exchange.c
476
(!exchange->last_sent ||
sbin/isakmpd/exchange.c
477
(exchange->last_sent->flags & MSG_LAST) == 0))
sbin/isakmpd/exchange.c
478
return exchange;
sbin/isakmpd/exchange.c
484
static struct exchange *
sbin/isakmpd/exchange.c
487
struct exchange *exchange;
sbin/isakmpd/exchange.c
496
for (exchange = LIST_FIRST(&exchange_tab[i]); exchange;
sbin/isakmpd/exchange.c
497
exchange = LIST_NEXT(exchange, link)) {
sbin/isakmpd/exchange.c
500
name, exchange->name ? exchange->name :
sbin/isakmpd/exchange.c
501
"<unnamed>", phase, exchange->phase));
sbin/isakmpd/exchange.c
502
if (exchange->name &&
sbin/isakmpd/exchange.c
503
strcasecmp(exchange->name, name) == 0 &&
sbin/isakmpd/exchange.c
504
exchange->phase == phase) {
sbin/isakmpd/exchange.c
505
if (exchange->step > 1)
sbin/isakmpd/exchange.c
506
return exchange;
sbin/isakmpd/exchange.c
511
exchange));
sbin/isakmpd/exchange.c
518
exchange_enter(struct exchange *exchange)
sbin/isakmpd/exchange.c
527
cp = exchange->cookies + i;
sbin/isakmpd/exchange.c
532
cp = exchange->message_id + i;
sbin/isakmpd/exchange.c
537
LIST_INSERT_HEAD(&exchange_tab[bucket], exchange, link);
sbin/isakmpd/exchange.c
538
exchange->linked = 1;
sbin/isakmpd/exchange.c
545
struct exchange *
sbin/isakmpd/exchange.c
548
struct exchange *exchange;
sbin/isakmpd/exchange.c
572
for (exchange = LIST_FIRST(&exchange_tab[bucket]);
sbin/isakmpd/exchange.c
573
exchange && (memcmp(msg + ISAKMP_HDR_COOKIES_OFF,
sbin/isakmpd/exchange.c
574
exchange->cookies, ISAKMP_HDR_COOKIES_LEN) != 0 ||
sbin/isakmpd/exchange.c
576
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN) != 0) ||
sbin/isakmpd/exchange.c
579
exchange = LIST_NEXT(exchange, link))
sbin/isakmpd/exchange.c
582
return exchange;
sbin/isakmpd/exchange.c
592
static struct exchange *
sbin/isakmpd/exchange.c
595
struct exchange *exchange;
sbin/isakmpd/exchange.c
603
exchange = calloc(1, sizeof *exchange);
sbin/isakmpd/exchange.c
604
if (!exchange) {
sbin/isakmpd/exchange.c
606
(unsigned long)sizeof *exchange);
sbin/isakmpd/exchange.c
609
exchange->phase = phase;
sbin/isakmpd/exchange.c
610
exchange->step = 0;
sbin/isakmpd/exchange.c
611
exchange->initiator = initiator;
sbin/isakmpd/exchange.c
612
bzero(exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/exchange.c
613
bzero(exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN);
sbin/isakmpd/exchange.c
614
exchange->doi = doi_lookup(doi);
sbin/isakmpd/exchange.c
615
exchange->type = type;
sbin/isakmpd/exchange.c
616
exchange->policy_id = -1;
sbin/isakmpd/exchange.c
617
exchange->exch_pc = exchange_script(exchange);
sbin/isakmpd/exchange.c
618
exchange->last_sent = exchange->last_received = 0;
sbin/isakmpd/exchange.c
619
TAILQ_INIT(&exchange->sa_list);
sbin/isakmpd/exchange.c
620
TAILQ_INIT(&exchange->aca_list);
sbin/isakmpd/exchange.c
623
if (exchange->doi->exchange_size) {
sbin/isakmpd/exchange.c
624
exchange->data = calloc(1, exchange->doi->exchange_size);
sbin/isakmpd/exchange.c
625
if (!exchange->data) {
sbin/isakmpd/exchange.c
627
(unsigned long)exchange->doi->exchange_size);
sbin/isakmpd/exchange.c
628
exchange_free(exchange);
sbin/isakmpd/exchange.c
636
exchange->death = timer_add_event("exchange_free_aux",
sbin/isakmpd/exchange.c
637
exchange_free_aux, exchange, &expiration);
sbin/isakmpd/exchange.c
638
if (!exchange->death) {
sbin/isakmpd/exchange.c
640
exchange_free_aux(exchange);
sbin/isakmpd/exchange.c
643
return exchange;
sbin/isakmpd/exchange.c
647
void (*first)(struct exchange *, void *, int);
sbin/isakmpd/exchange.c
649
void (*second)(struct exchange *, void *, int);
sbin/isakmpd/exchange.c
655
exchange_run_finalizations(struct exchange *exchange, void *arg, int fail)
sbin/isakmpd/exchange.c
659
node->first(exchange, node->first_arg, fail);
sbin/isakmpd/exchange.c
660
node->second(exchange, node->second_arg, fail);
sbin/isakmpd/exchange.c
669
exchange_add_finalization(struct exchange *exchange,
sbin/isakmpd/exchange.c
670
void (*finalize)(struct exchange *, void *, int), void *arg)
sbin/isakmpd/exchange.c
677
if (!exchange->finalize) {
sbin/isakmpd/exchange.c
678
exchange->finalize = finalize;
sbin/isakmpd/exchange.c
679
exchange->finalize_arg = arg;
sbin/isakmpd/exchange.c
689
node->first = exchange->finalize;
sbin/isakmpd/exchange.c
690
node->first_arg = exchange->finalize_arg;
sbin/isakmpd/exchange.c
693
exchange->finalize = exchange_run_finalizations;
sbin/isakmpd/exchange.c
694
exchange->finalize_arg = node;
sbin/isakmpd/exchange.c
698
exchange_establish_transaction(struct exchange *exchange, void *arg, int fail)
sbin/isakmpd/exchange.c
715
char *name, void *args, void (*finalize)(struct exchange *, void *, int),
sbin/isakmpd/exchange.c
718
struct exchange *exchange;
sbin/isakmpd/exchange.c
76
static void exchange_dump(char *, struct exchange *);
sbin/isakmpd/exchange.c
767
exchange = exchange_create(1, 1, doi, type);
sbin/isakmpd/exchange.c
768
if (!exchange) {
sbin/isakmpd/exchange.c
772
exchange->name = strdup(name);
sbin/isakmpd/exchange.c
773
if (!exchange->name) {
sbin/isakmpd/exchange.c
776
exchange_free(exchange);
sbin/isakmpd/exchange.c
78
static struct exchange *exchange_lookup_active(char *, int);
sbin/isakmpd/exchange.c
780
exchange->policy = name ? conf_get_str(name, "Configuration") : 0;
sbin/isakmpd/exchange.c
781
if (!exchange->policy && name)
sbin/isakmpd/exchange.c
782
exchange->policy = CONF_DFLT_TAG_PHASE1_CONFIG;
sbin/isakmpd/exchange.c
795
exchange_free(exchange);
sbin/isakmpd/exchange.c
805
exchange_add_finalization(exchange,
sbin/isakmpd/exchange.c
81
LIST_HEAD(exchange_list, exchange) *exchange_tab;
sbin/isakmpd/exchange.c
813
exchange_add_finalization(exchange, finalize, arg);
sbin/isakmpd/exchange.c
814
cookie_gen(t, exchange, exchange->cookies, ISAKMP_HDR_ICOOKIE_LEN);
sbin/isakmpd/exchange.c
815
exchange_enter(exchange);
sbin/isakmpd/exchange.c
816
exchange_dump("exchange_establish_p1", exchange);
sbin/isakmpd/exchange.c
821
exchange_free(exchange);
sbin/isakmpd/exchange.c
824
msg->exchange = exchange;
sbin/isakmpd/exchange.c
827
if (exchange->type != ISAKMP_EXCH_INFO &&
sbin/isakmpd/exchange.c
828
exchange->type != ISAKMP_EXCH_TRANSACTION) {
sbin/isakmpd/exchange.c
834
sa_create(exchange, 0);
sbin/isakmpd/exchange.c
835
msg->isakmp_sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/exchange.c
838
exchange_free(exchange);
sbin/isakmpd/exchange.c
855
void *args, void (*finalize)(struct exchange *, void *, int), void *arg)
sbin/isakmpd/exchange.c
857
struct exchange *exchange;
sbin/isakmpd/exchange.c
907
exchange = exchange_create(2, 1, doi, type);
sbin/isakmpd/exchange.c
908
if (!exchange) {
sbin/isakmpd/exchange.c
912
exchange->name = strdup(name);
sbin/isakmpd/exchange.c
913
if (!exchange->name) {
sbin/isakmpd/exchange.c
916
exchange_free(exchange);
sbin/isakmpd/exchange.c
920
exchange->policy = name ? conf_get_str(name, "Configuration") : 0;
sbin/isakmpd/exchange.c
921
exchange->finalize = finalize;
sbin/isakmpd/exchange.c
922
exchange->finalize_arg = arg;
sbin/isakmpd/exchange.c
923
exchange->seq = seq;
sbin/isakmpd/exchange.c
924
memcpy(exchange->cookies, isakmp_sa->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/exchange.c
925
arc4random_buf(exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN);
sbin/isakmpd/exchange.c
926
exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/exchange.c
928
exchange->flags |= EXCHANGE_FLAG_NAT_T_ENABLE;
sbin/isakmpd/exchange.c
930
exchange->flags |= EXCHANGE_FLAG_NAT_T_KEEPALIVE;
sbin/isakmpd/exchange.c
931
exchange_enter(exchange);
sbin/isakmpd/exchange.c
932
exchange_dump("exchange_establish_p2", exchange);
sbin/isakmpd/exchange.c
938
if (exchange->type != ISAKMP_EXCH_INFO &&
sbin/isakmpd/exchange.c
939
exchange->type != ISAKMP_EXCH_TRANSACTION) {
sbin/isakmpd/exchange.c
942
if (sa_create(exchange, isakmp_sa->transport)) {
sbin/isakmpd/exchange.c
943
exchange_free(exchange);
sbin/isakmpd/exchange.c
950
exchange_free(exchange);
sbin/isakmpd/exchange.c
959
msg->exchange = exchange;
sbin/isakmpd/exchange.c
967
struct exchange *
sbin/isakmpd/exchange.c
971
struct exchange *exchange;
sbin/isakmpd/exchange.h
231
extern void exchange_free(struct exchange *);
sbin/isakmpd/exchange.h
232
extern void exchange_free_aca_list(struct exchange *);
sbin/isakmpd/exchange.h
233
extern void exchange_establish(char *name, void (*)(struct exchange *,
sbin/isakmpd/exchange.h
236
char *, void *, void (*)(struct exchange *, void *, int),
sbin/isakmpd/exchange.h
239
void (*)(struct exchange *, void *, int), void *);
sbin/isakmpd/exchange.h
242
extern struct exchange *exchange_lookup(u_int8_t *, int);
sbin/isakmpd/exchange.h
243
extern struct exchange *exchange_lookup_by_name(char *, int);
sbin/isakmpd/exchange.h
244
extern struct exchange *exchange_lookup_from_icookie(u_int8_t *);
sbin/isakmpd/exchange.h
249
extern int16_t *exchange_script(struct exchange *);
sbin/isakmpd/exchange.h
250
extern struct exchange *exchange_setup_p1(struct message *, u_int32_t);
sbin/isakmpd/exchange.h
251
extern struct exchange *exchange_setup_p2(struct message *, u_int8_t);
sbin/isakmpd/exchange.h
56
LIST_ENTRY(exchange) link;
sbin/isakmpd/exchange.h
76
void (*finalize)(struct exchange *, void *, int);
sbin/isakmpd/ike_aggressive.c
108
msg->exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/ike_aggressive.c
154
if (ike_phase_1_send_KE_NONCE(msg, msg->exchange->nonce_i_len))
sbin/isakmpd/ike_aggressive.c
174
if (msg->exchange->flags & EXCHANGE_FLAG_NAT_T_CAP_PEER)
sbin/isakmpd/ike_auth.c
1012
sent_key = ike_auth_get_key(IKE_AUTH_RSA_SIG, exchange->name,
sbin/isakmpd/ike_auth.c
1038
if (ike_auth_hash(exchange, buf) == -1) {
sbin/isakmpd/ike_auth.c
1092
ike_auth_hash(struct exchange *exchange, u_int8_t *buf)
sbin/isakmpd/ike_auth.c
1094
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
1097
int initiator = exchange->initiator;
sbin/isakmpd/ike_auth.c
1102
id = initiator ? exchange->id_i : exchange->id_r;
sbin/isakmpd/ike_auth.c
1103
id_len = initiator ? exchange->id_i_len : exchange->id_r_len;
sbin/isakmpd/ike_auth.c
1113
prf->Update(prf->prfctx, exchange->cookies +
sbin/isakmpd/ike_auth.c
1116
prf->Update(prf->prfctx, exchange->cookies +
sbin/isakmpd/ike_auth.c
338
pre_shared_gen_skeyid(struct exchange *exchange, size_t *sz)
sbin/isakmpd/ike_auth.c
341
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
352
if (!exchange->initiator && exchange->id_i) {
sbin/isakmpd/ike_auth.c
353
switch (exchange->id_i[0]) {
sbin/isakmpd/ike_auth.c
357
exchange->id_i[0] == IPSEC_ID_IPV4_ADDR ? AF_INET :
sbin/isakmpd/ike_auth.c
358
AF_INET6, exchange->id_i + ISAKMP_ID_DATA_OFF -
sbin/isakmpd/ike_auth.c
366
buf = calloc(exchange->id_i_len - ISAKMP_ID_DATA_OFF +
sbin/isakmpd/ike_auth.c
371
(unsigned long)exchange->id_i_len -
sbin/isakmpd/ike_auth.c
376
exchange->id_i + ISAKMP_ID_DATA_OFF -
sbin/isakmpd/ike_auth.c
378
exchange->id_i_len - ISAKMP_ID_DATA_OFF +
sbin/isakmpd/ike_auth.c
391
key = ike_auth_get_key(IKE_AUTH_PRE_SHARED, exchange->name,
sbin/isakmpd/ike_auth.c
400
exchange->recv_key = calloc(keylen + 1, sizeof(char));
sbin/isakmpd/ike_auth.c
401
exchange->recv_keytype = ISAKMP_KEY_PASSPHRASE;
sbin/isakmpd/ike_auth.c
402
if (!exchange->recv_key) {
sbin/isakmpd/ike_auth.c
408
memcpy(exchange->recv_key, key, keylen);
sbin/isakmpd/ike_auth.c
409
exchange->recv_certtype = ISAKMP_CERTENC_NONE;
sbin/isakmpd/ike_auth.c
412
prf = prf_alloc(ie->prf_type, ie->hash->type, exchange->recv_key,
sbin/isakmpd/ike_auth.c
426
prf->Update(prf->prfctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_auth.c
427
prf->Update(prf->prfctx, exchange->nonce_r, exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
435
sig_gen_skeyid(struct exchange *exchange, size_t *sz)
sbin/isakmpd/ike_auth.c
438
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
442
key = malloc(exchange->nonce_i_len + exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
445
memcpy(key, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_auth.c
446
memcpy(key + exchange->nonce_i_len, exchange->nonce_r,
sbin/isakmpd/ike_auth.c
447
exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
453
(u_int8_t *)key, exchange->nonce_i_len + exchange->nonce_r_len));
sbin/isakmpd/ike_auth.c
456
exchange->nonce_i_len + exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
457
freezero(key, exchange->nonce_i_len + exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
487
enc_gen_skeyid(struct exchange *exchange, size_t *sz)
sbin/isakmpd/ike_auth.c
490
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
495
hash->Update(hash->ctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_auth.c
496
hash->Update(hash->ctx, exchange->nonce_r, exchange->nonce_r_len);
sbin/isakmpd/ike_auth.c
510
prf->Update(prf->prfctx, exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/ike_auth.c
520
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_auth.c
521
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
525
int initiator = exchange->initiator;
sbin/isakmpd/ike_auth.c
565
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_auth.c
566
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
575
int len, initiator = exchange->initiator;
sbin/isakmpd/ike_auth.c
585
id = initiator ? exchange->id_r : exchange->id_i;
sbin/isakmpd/ike_auth.c
586
id_len = initiator ? exchange->id_r_len : exchange->id_i_len;
sbin/isakmpd/ike_auth.c
611
exchange->policy_id = kn_init();
sbin/isakmpd/ike_auth.c
612
if (exchange->policy_id == -1) {
sbin/isakmpd/ike_auth.c
635
exchange->recv_cert = cert;
sbin/isakmpd/ike_auth.c
636
exchange->recv_certtype = handler->id;
sbin/isakmpd/ike_auth.c
637
x509_generate_kn(exchange->policy_id,
sbin/isakmpd/ike_auth.c
642
handler->cert_insert(exchange->policy_id, rawcert);
sbin/isakmpd/ike_auth.c
71
static u_int8_t *enc_gen_skeyid(struct exchange *, size_t *);
sbin/isakmpd/ike_auth.c
715
handler->cert_insert(exchange->policy_id, cert);
sbin/isakmpd/ike_auth.c
717
exchange->recv_cert = cert;
sbin/isakmpd/ike_auth.c
718
exchange->recv_certtype = GET_ISAKMP_CERT_ENCODING(p->p);
sbin/isakmpd/ike_auth.c
720
if (exchange->recv_certtype == ISAKMP_CERTENC_KEYNOTE) {
sbin/isakmpd/ike_auth.c
73
static u_int8_t *pre_shared_gen_skeyid(struct exchange *, size_t *);
sbin/isakmpd/ike_auth.c
735
if (asprintf(&exchange->keynote_key, "rsa-hex:%s",
sbin/isakmpd/ike_auth.c
78
static u_int8_t *sig_gen_skeyid(struct exchange *, size_t *);
sbin/isakmpd/ike_auth.c
809
exchange->recv_key = key;
sbin/isakmpd/ike_auth.c
810
exchange->recv_keytype = ISAKMP_KEY_RSA;
sbin/isakmpd/ike_auth.c
831
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_auth.c
832
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
835
int initiator = exchange->initiator;
sbin/isakmpd/ike_auth.c
84
static int ike_auth_hash(struct exchange *, u_int8_t *);
sbin/isakmpd/ike_auth.c
842
if (ike_auth_hash(exchange, buf + ISAKMP_HASH_DATA_OFF) == -1)
sbin/isakmpd/ike_auth.c
856
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_auth.c
857
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_auth.c
861
int initiator = exchange->initiator, idtype;
sbin/isakmpd/ike_auth.c
867
id = initiator ? exchange->id_i : exchange->id_r;
sbin/isakmpd/ike_auth.c
868
id_len = initiator ? exchange->id_i_len : exchange->id_r_len;
sbin/isakmpd/ike_auth.c
871
buf = (u_int8_t *)conf_get_str(exchange->name, "Credentials");
sbin/isakmpd/ike_auth.c
872
if (buf && (idtype = conf_get_num(exchange->name, "Credential_Type",
sbin/isakmpd/ike_auth.c
874
exchange->sent_certtype = idtype;
sbin/isakmpd/ike_auth.c
881
exchange->sent_cert =
sbin/isakmpd/ike_auth.c
883
if (!exchange->sent_cert) {
sbin/isakmpd/ike_auth.c
888
handler->cert_serialize(exchange->sent_cert, &data, &datalen);
sbin/isakmpd/ike_auth.c
934
exchange->sent_certtype = idtype;
sbin/isakmpd/ike_auth.c
935
exchange->sent_cert = handler->cert_get(data, datalen);
sbin/isakmpd/ike_auth.c
936
if (!exchange->sent_cert) {
sbin/isakmpd/ike_auth.c
961
buf = (u_int8_t *)conf_get_str(exchange->name, "PKAuthentication");
sbin/isakmpd/ike_auth.h
37
struct exchange;
sbin/isakmpd/ike_auth.h
41
u_int8_t *(*gen_skeyid) (struct exchange *, size_t *);
sbin/isakmpd/ike_main_mode.c
115
msg->exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/ike_main_mode.c
83
msg->exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/ike_main_mode.c
99
if (ike_phase_1_send_KE_NONCE(msg, msg->exchange->nonce_i_len))
sbin/isakmpd/ike_phase_1.c
1084
id = initiator ? &exchange->id_r : &exchange->id_i;
sbin/isakmpd/ike_phase_1.c
1085
id_len = initiator ? &exchange->id_r_len : &exchange->id_i_len;
sbin/isakmpd/ike_phase_1.c
1108
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
1109
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
1114
int initiator = exchange->initiator;
sbin/isakmpd/ike_phase_1.c
1120
id = initiator ? exchange->id_r : exchange->id_i;
sbin/isakmpd/ike_phase_1.c
1121
id_len = initiator ? exchange->id_r_len : exchange->id_i_len;
sbin/isakmpd/ike_phase_1.c
1138
prf->Update(prf->prfctx, exchange->cookies +
sbin/isakmpd/ike_phase_1.c
1141
prf->Update(prf->prfctx, exchange->cookies +
sbin/isakmpd/ike_phase_1.c
1177
ike_phase_1_validate_prop(struct exchange *exchange, struct sa *sa,
sbin/isakmpd/ike_phase_1.c
1187
conf = conf_get_list(exchange->policy, "Transforms");
sbin/isakmpd/ike_phase_1.c
225
if (exchange->type == ISAKMP_EXCH_AGGRESSIVE) {
sbin/isakmpd/ike_phase_1.c
250
exchange->doi->is_attribute_incompatible, msg)) {
sbin/isakmpd/ike_phase_1.c
259
if (exchange->type == ISAKMP_EXCH_AGGRESSIVE)
sbin/isakmpd/ike_phase_1.c
283
proto->sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/ike_phase_1.c
299
TAILQ_INSERT_TAIL(&TAILQ_FIRST(&exchange->sa_list)->protos, proto,
sbin/isakmpd/ike_phase_1.c
395
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
396
struct sa *sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/ike_phase_1.c
397
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
424
if (exchange->type != ISAKMP_EXCH_AGGRESSIVE)
sbin/isakmpd/ike_phase_1.c
437
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/ike_phase_1.c
462
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
463
struct sa *sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/ike_phase_1.c
467
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
496
if (!exchange->crypto || !ie->hash || !ie->ike_auth || !ie->group) {
sbin/isakmpd/ike_phase_1.c
560
if (msg->exchange->flags & EXCHANGE_FLAG_NAT_T_CAP_PEER)
sbin/isakmpd/ike_phase_1.c
588
if (msg->exchange->type == ISAKMP_EXCH_ID_PROT &&
sbin/isakmpd/ike_phase_1.c
589
msg->exchange->flags & EXCHANGE_FLAG_NAT_T_CAP_PEER)
sbin/isakmpd/ike_phase_1.c
602
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
603
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
618
exchange->initiator ? ie->g_xr : ie->g_xi)) {
sbin/isakmpd/ike_phase_1.c
628
ie->skeyid = ie->ike_auth->gen_skeyid(exchange, &ie->skeyid_len);
sbin/isakmpd/ike_phase_1.c
65
static int ike_phase_1_validate_prop(struct exchange *, struct sa *,
sbin/isakmpd/ike_phase_1.c
652
prf->Update(prf->prfctx, exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/ike_phase_1.c
670
prf->Update(prf->prfctx, exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/ike_phase_1.c
689
prf->Update(prf->prfctx, exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/ike_phase_1.c
698
if (!exchange->key_length)
sbin/isakmpd/ike_phase_1.c
699
exchange->key_length = exchange->crypto->keymax;
sbin/isakmpd/ike_phase_1.c
702
if (ie->skeyid_len < exchange->key_length) {
sbin/isakmpd/ike_phase_1.c
713
keylen = exchange->key_length;
sbin/isakmpd/ike_phase_1.c
72
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
729
for (len = prf->blocksize, p = key; len < exchange->key_length;
sbin/isakmpd/ike_phase_1.c
73
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
738
exchange->keystate = crypto_init(exchange->crypto, key,
sbin/isakmpd/ike_phase_1.c
739
exchange->key_length, &err);
sbin/isakmpd/ike_phase_1.c
744
exchange->keystate = crypto_init(exchange->crypto,
sbin/isakmpd/ike_phase_1.c
745
ie->skeyid_e, exchange->key_length, &err);
sbin/isakmpd/ike_phase_1.c
748
if (!exchange->keystate && err == EWEAKKEY &&
sbin/isakmpd/ike_phase_1.c
749
(exchange->key_length << 1) <= ie->skeyid_len) {
sbin/isakmpd/ike_phase_1.c
752
exchange->keystate = crypto_init(exchange->crypto,
sbin/isakmpd/ike_phase_1.c
753
ie->skeyid_e + exchange->key_length,
sbin/isakmpd/ike_phase_1.c
754
exchange->key_length, &err);
sbin/isakmpd/ike_phase_1.c
756
if (!exchange->keystate) {
sbin/isakmpd/ike_phase_1.c
771
crypto_init_iv(exchange->keystate, hash->digest,
sbin/isakmpd/ike_phase_1.c
772
exchange->crypto->blocksize);
sbin/isakmpd/ike_phase_1.c
788
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
793
int initiator = exchange->initiator;
sbin/isakmpd/ike_phase_1.c
801
id = initiator ? &exchange->id_i : &exchange->id_r;
sbin/isakmpd/ike_phase_1.c
802
id_len = initiator ? &exchange->id_i_len : &exchange->id_r_len;
sbin/isakmpd/ike_phase_1.c
804
if (exchange->name)
sbin/isakmpd/ike_phase_1.c
805
my_id = conf_get_str(exchange->name, "ID");
sbin/isakmpd/ike_phase_1.c
88
conf = conf_get_list(exchange->policy, "Transforms");
sbin/isakmpd/ike_phase_1.c
952
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
953
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_phase_1.c
964
if ((exchange->flags & EXCHANGE_FLAG_COMMITTED) == 0)
sbin/isakmpd/ike_phase_1.c
965
exchange->flags |= EXCHANGE_FLAG_I_COMMITTED;
sbin/isakmpd/ike_phase_1.c
985
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_phase_1.c
988
int initiator = exchange->initiator;
sbin/isakmpd/ike_phase_1.c
997
if (exchange->name)
sbin/isakmpd/ike_phase_1.c
998
rs = conf_get_str(exchange->name, "Remote-ID");
sbin/isakmpd/ike_quick_mode.c
1039
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1040
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1066
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ike_quick_mode.c
1067
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ike_quick_mode.c
1070
"NONCE_I_b", exchange->nonce_i, exchange->nonce_i_len));
sbin/isakmpd/ike_quick_mode.c
1071
prf->Update(prf->prfctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_quick_mode.c
1107
sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/ike_quick_mode.c
1252
if (sa_add_transform(sa, xf, exchange->initiator, &proto))
sbin/isakmpd/ike_quick_mode.c
1267
if (!check_policy(exchange, sa, msg->isakmp_sa)) {
sbin/isakmpd/ike_quick_mode.c
1297
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1298
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1330
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ike_quick_mode.c
1331
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ike_quick_mode.c
1334
exchange->nonce_i, exchange->nonce_i_len));
sbin/isakmpd/ike_quick_mode.c
1335
prf->Update(prf->prfctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_quick_mode.c
1337
exchange->nonce_r, exchange->nonce_r_len));
sbin/isakmpd/ike_quick_mode.c
1338
prf->Update(prf->prfctx, exchange->nonce_r, exchange->nonce_r_len);
sbin/isakmpd/ike_quick_mode.c
1357
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1358
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1370
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/ike_quick_mode.c
142
policy_exchange = exchange;
sbin/isakmpd/ike_quick_mode.c
1454
exchange->nonce_i,
sbin/isakmpd/ike_quick_mode.c
1455
exchange->nonce_i_len));
sbin/isakmpd/ike_quick_mode.c
1457
exchange->nonce_i,
sbin/isakmpd/ike_quick_mode.c
1458
exchange->nonce_i_len);
sbin/isakmpd/ike_quick_mode.c
1461
exchange->nonce_r,
sbin/isakmpd/ike_quick_mode.c
1462
exchange->nonce_r_len));
sbin/isakmpd/ike_quick_mode.c
1464
exchange->nonce_r,
sbin/isakmpd/ike_quick_mode.c
1465
exchange->nonce_r_len);
sbin/isakmpd/ike_quick_mode.c
1477
(exchange->initiator == 0) ? " (as responder)" : "",
sbin/isakmpd/ike_quick_mode.c
1495
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1496
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1537
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ike_quick_mode.c
1538
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ike_quick_mode.c
1690
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/ike_quick_mode.c
1777
exchange->name = strdup(name);
sbin/isakmpd/ike_quick_mode.c
1778
if (!exchange->name) {
sbin/isakmpd/ike_quick_mode.c
1788
(exchange->doi->decode_ids("initiator id %s, responder"
sbin/isakmpd/ike_quick_mode.c
1800
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/ike_quick_mode.c
1816
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1817
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1822
size_t nonce_sz = exchange->nonce_i_len;
sbin/isakmpd/ike_quick_mode.c
1824
int initiator = exchange->initiator;
sbin/isakmpd/ike_quick_mode.c
1903
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ike_quick_mode.c
1904
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ike_quick_mode.c
1907
"NONCE_I_b", exchange->nonce_i, exchange->nonce_i_len));
sbin/isakmpd/ike_quick_mode.c
1908
prf->Update(prf->prfctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_quick_mode.c
1937
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1938
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
1949
exchange->initiator ? ie->g_xr : ie->g_xi)) {
sbin/isakmpd/ike_quick_mode.c
1960
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
1991
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ike_quick_mode.c
1992
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ike_quick_mode.c
1995
exchange->nonce_i, exchange->nonce_i_len));
sbin/isakmpd/ike_quick_mode.c
1996
prf->Update(prf->prfctx, exchange->nonce_i, exchange->nonce_i_len);
sbin/isakmpd/ike_quick_mode.c
1998
exchange->nonce_r, exchange->nonce_r_len));
sbin/isakmpd/ike_quick_mode.c
1999
prf->Update(prf->prfctx, exchange->nonce_r, exchange->nonce_r_len);
sbin/isakmpd/ike_quick_mode.c
388
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ike_quick_mode.c
389
struct doi *doi = exchange->doi;
sbin/isakmpd/ike_quick_mode.c
390
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ike_quick_mode.c
420
suite_conf = conf_get_list(exchange->policy, "Suites");
sbin/isakmpd/ike_quick_mode.c
627
(exchange->flags &
sbin/isakmpd/ike_quick_mode.c
637
value = exchange->flags & EXCHANGE_FLAG_NAT_T_DRAFT ?
sbin/isakmpd/ike_quick_mode.c
642
value = exchange->flags & EXCHANGE_FLAG_NAT_T_DRAFT ?
sbin/isakmpd/ike_quick_mode.c
69
static int check_policy(struct exchange *, struct sa *, struct sa *);
sbin/isakmpd/ike_quick_mode.c
787
proto->sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/ike_quick_mode.c
809
TAILQ_INSERT_TAIL(&TAILQ_FIRST(&exchange->sa_list)->protos,
sbin/isakmpd/ike_quick_mode.c
907
local_id = conf_get_str(exchange->name, "Local-ID");
sbin/isakmpd/ike_quick_mode.c
908
remote_id = conf_get_str(exchange->name, "Remote-ID");
sbin/isakmpd/ike_quick_mode.c
91
check_policy(struct exchange *exchange, struct sa *sa, struct sa *isakmp_sa)
sbin/isakmpd/ike_quick_mode.c
933
exchange->name);
sbin/isakmpd/ike_quick_mode.c
944
exchange->name);
sbin/isakmpd/ipsec.c
1077
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1081
if (exchange->type != ISAKMP_EXCH_TRANSACTION &&
sbin/isakmpd/ipsec.c
1082
((exchange->phase == 1 && exchange->type != ISAKMP_EXCH_ID_PROT &&
sbin/isakmpd/ipsec.c
1083
exchange->type != ISAKMP_EXCH_AGGRESSIVE &&
sbin/isakmpd/ipsec.c
1084
exchange->type != ISAKMP_EXCH_INFO) ||
sbin/isakmpd/ipsec.c
1085
(exchange->phase == 2 && exchange->type != IKE_EXCH_QUICK_MODE &&
sbin/isakmpd/ipsec.c
1086
exchange->type != ISAKMP_EXCH_INFO))) {
sbin/isakmpd/ipsec.c
1088
"in phase %d", exchange->type, exchange->phase);
sbin/isakmpd/ipsec.c
1091
switch (exchange->type) {
sbin/isakmpd/ipsec.c
1108
exchange->type);
sbin/isakmpd/ipsec.c
1114
return script[exchange->step] (msg);
sbin/isakmpd/ipsec.c
1183
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1189
if (exchange->step == 0 && exchange->type != ISAKMP_EXCH_TRANSACTION &&
sbin/isakmpd/ipsec.c
1190
((exchange->phase == 1 && exchange->type != ISAKMP_EXCH_ID_PROT &&
sbin/isakmpd/ipsec.c
1191
exchange->type != ISAKMP_EXCH_AGGRESSIVE &&
sbin/isakmpd/ipsec.c
1192
exchange->type != ISAKMP_EXCH_INFO) ||
sbin/isakmpd/ipsec.c
1193
(exchange->phase == 2 && exchange->type != IKE_EXCH_QUICK_MODE &&
sbin/isakmpd/ipsec.c
1194
exchange->type != ISAKMP_EXCH_INFO))) {
sbin/isakmpd/ipsec.c
1200
exchange->phase, exchange->type, exchange->step));
sbin/isakmpd/ipsec.c
1201
switch (exchange->type) {
sbin/isakmpd/ipsec.c
1252
return script[exchange->step] (msg);
sbin/isakmpd/ipsec.c
126
size_t, struct exchange *);
sbin/isakmpd/ipsec.c
1306
if (msg->exchange->phase == 1) {
sbin/isakmpd/ipsec.c
134
static int ipsec_sa_tag(struct exchange *, struct sa *, struct sa *);
sbin/isakmpd/ipsec.c
135
static int ipsec_sa_iface(struct exchange *, struct sa *, struct sa *);
sbin/isakmpd/ipsec.c
1415
constant_name(msg->exchange->phase == 1 ? ike_attr_cst :
sbin/isakmpd/ipsec.c
1435
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1436
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ipsec.c
1441
!(exchange->phase == 1 && type == IKE_ATTR_LIFE_DURATION) &&
sbin/isakmpd/ipsec.c
1442
!(exchange->phase != 1 && type == IPSEC_ATTR_SA_LIFE_DURATION)) {
sbin/isakmpd/ipsec.c
1449
if (exchange->phase == 1) {
sbin/isakmpd/ipsec.c
1453
exchange->crypto = crypto_get(from_ike_crypto(
sbin/isakmpd/ipsec.c
1518
exchange->key_length = decode_16(value) / 8;
sbin/isakmpd/ipsec.c
1603
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/ipsec.c
1677
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1678
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ipsec.c
1680
int initiator = exchange->initiator ^ peer;
sbin/isakmpd/ipsec.c
1701
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1702
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ipsec.c
1728
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
1729
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ipsec.c
1755
if (msg->exchange->phase == 1) {
sbin/isakmpd/ipsec.c
1764
msg->exchange->seq);
sbin/isakmpd/ipsec.c
1843
if (msg->exchange->type == ISAKMP_EXCH_AGGRESSIVE) {
sbin/isakmpd/ipsec.c
1848
if ((msg->exchange->flags & EXCHANGE_FLAG_ENCRYPT)
sbin/isakmpd/ipsec.c
2461
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
2492
exchange->message_id, ISAKMP_HDR_MESSAGE_ID_LEN));
sbin/isakmpd/ipsec.c
2493
prf->Update(prf->prfctx, exchange->message_id,
sbin/isakmpd/ipsec.c
314
ipsec_sa_tag(struct exchange *exchange, struct sa *sa, struct sa *isakmp_sa)
sbin/isakmpd/ipsec.c
323
if (exchange->name == NULL ||
sbin/isakmpd/ipsec.c
324
(section = exchange->name) == NULL ||
sbin/isakmpd/ipsec.c
391
ipsec_sa_iface(struct exchange *exchange, struct sa *sa, struct sa *isakmp_sa)
sbin/isakmpd/ipsec.c
396
if (exchange->name == NULL ||
sbin/isakmpd/ipsec.c
397
(section = exchange->name) == NULL ||
sbin/isakmpd/ipsec.c
421
struct exchange *exchange = msg->exchange;
sbin/isakmpd/ipsec.c
422
struct ipsec_exch *ie = exchange->data;
sbin/isakmpd/ipsec.c
427
switch (exchange->phase) {
sbin/isakmpd/ipsec.c
429
switch (exchange->type) {
sbin/isakmpd/ipsec.c
455
switch (exchange->type) {
sbin/isakmpd/ipsec.c
461
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/ipsec.c
465
if (exchange->initiator) {
sbin/isakmpd/ipsec.c
493
if (ipsec_sa_tag(exchange, sa, isakmp_sa) == -1)
sbin/isakmpd/ipsec.c
496
if (ipsec_sa_iface(exchange, sa, isakmp_sa) == -1)
sbin/isakmpd/ipsec.c
859
if (msg->exchange && msg->exchange->keystate) {
sbin/isakmpd/ipsec.c
866
memcpy(ks, msg->exchange->keystate, sizeof *ks);
sbin/isakmpd/ipsec.c
924
if (msg->exchange->phase == 1 &&
sbin/isakmpd/ipsec.c
927
if (msg->exchange->phase == 2 &&
sbin/isakmpd/ipsec.c
941
size_t sz, struct exchange *exchange)
sbin/isakmpd/ipsec.c
991
if (exchange->phase == 1 &&
sbin/isakmpd/isakmp_cfg.c
108
if (msg->exchange->phase == 2) {
sbin/isakmpd/isakmp_cfg.c
340
if (msg->exchange->phase == 2)
sbin/isakmpd/isakmp_cfg.c
359
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/isakmp_cfg.c
366
if (msg->exchange->phase == 2)
sbin/isakmpd/isakmp_cfg.c
468
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/isakmp_cfg.c
474
if (msg->exchange->phase == 2)
sbin/isakmpd/isakmp_cfg.c
548
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/isakmp_cfg.c
554
if (msg->exchange->phase == 2) {
sbin/isakmpd/isakmp_cfg.c
583
if (msg->exchange->phase == 2)
sbin/isakmpd/isakmp_cfg.c
624
prf->Update(prf->prfctx, msg->exchange->message_id,
sbin/isakmpd/isakmp_cfg.c
663
prf->Update(prf->prfctx, msg->exchange->message_id,
sbin/isakmpd/isakmp_cfg.c
98
struct ipsec_exch *ie = msg->exchange->data;
sbin/isakmpd/isakmp_doi.c
165
size_t sz, struct exchange *exchange)
sbin/isakmpd/isakmp_doi.c
209
if (msg->exchange->type != ISAKMP_EXCH_INFO) {
sbin/isakmpd/isakmp_doi.c
211
"in phase %d", msg->exchange->type, msg->exchange->phase);
sbin/isakmpd/isakmp_doi.c
223
switch (msg->exchange->type) {
sbin/isakmpd/isakmp_doi.c
64
u_int8_t *, size_t, struct exchange *);
sbin/isakmpd/message.c
1002
msg->exchange->doi->validate_proto(proto)) {
sbin/isakmpd/message.c
1037
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
1052
if (!exchange) {
sbin/isakmpd/message.c
1055
exchange = exchange_setup_p1(msg, doi_id);
sbin/isakmpd/message.c
1058
exchange = exchange_setup_p2(msg, doi_id);
sbin/isakmpd/message.c
1064
if (!exchange) {
sbin/isakmpd/message.c
1070
msg->exchange = exchange;
sbin/isakmpd/message.c
1076
if (exchange->initiator) {
sbin/isakmpd/message.c
1078
} else if (sa_create(exchange, msg->transport)) {
sbin/isakmpd/message.c
1083
if (exchange->phase == 1) {
sbin/isakmpd/message.c
1084
msg->isakmp_sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/message.c
1092
if (exchange->doi->validate_situation(p->p + ISAKMP_SA_SIT_OFF, &len,
sbin/isakmpd/message.c
1121
if (!msg->exchange) {
sbin/isakmpd/message.c
1138
if (!msg->exchange) {
sbin/isakmpd/message.c
1145
if (msg->exchange->doi
sbin/isakmpd/message.c
1171
msg->exchange->doi->validate_attribute, msg)) {
sbin/isakmpd/message.c
1183
if (!msg->exchange) {
sbin/isakmpd/message.c
1190
if (msg->exchange->phase != 1) {
sbin/isakmpd/message.c
1341
msg->exchange = exchange_lookup_from_icookie(buf +
sbin/isakmpd/message.c
1343
if (msg->exchange && msg->exchange->phase == 1 &&
sbin/isakmpd/message.c
1344
zero_test(msg->exchange->cookies +
sbin/isakmpd/message.c
1371
msg->exchange = exchange_lookup(buf, 1);
sbin/isakmpd/message.c
1444
msg->exchange = exchange_lookup(buf, 0);
sbin/isakmpd/message.c
1445
if (!msg->exchange) {
sbin/isakmpd/message.c
1450
} else if (msg->exchange->last_sent) {
sbin/isakmpd/message.c
1453
message_send(msg->exchange->last_sent);
sbin/isakmpd/message.c
1507
if (!msg->exchange) {
sbin/isakmpd/message.c
1518
if (msg->isakmp_sa && msg->exchange->phase == 1) {
sbin/isakmpd/message.c
1530
msg->exchange->doi->validate_exchange(exch_type)) {
sbin/isakmpd/message.c
1540
if (!msg->exchange->keystate) {
sbin/isakmpd/message.c
1541
msg->exchange->keystate = ks;
sbin/isakmpd/message.c
1542
msg->exchange->crypto = ks->xf;
sbin/isakmpd/message.c
1548
msg->exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/message.c
1549
if ((msg->exchange->flags & EXCHANGE_FLAG_COMMITTED) == 0 &&
sbin/isakmpd/message.c
1551
msg->exchange->flags |= EXCHANGE_FLAG_HE_COMMITTED;
sbin/isakmpd/message.c
1558
(msg->exchange->phase == 2 ||
sbin/isakmpd/message.c
1559
(msg->exchange->keystate &&
sbin/isakmpd/message.c
1560
msg->exchange->type != ISAKMP_EXCH_AGGRESSIVE))) {
sbin/isakmpd/message.c
1562
msg->exchange->phase);
sbin/isakmpd/message.c
1585
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
1602
exchange->flags & EXCHANGE_FLAG_ENCRYPT) {
sbin/isakmpd/message.c
1603
if (!exchange->keystate) {
sbin/isakmpd/message.c
1604
exchange->keystate = exchange->doi->get_keystate(msg);
sbin/isakmpd/message.c
1605
if (!exchange->keystate)
sbin/isakmpd/message.c
1607
exchange->crypto = exchange->keystate->xf;
sbin/isakmpd/message.c
1608
exchange->flags |= EXCHANGE_FLAG_ENCRYPT;
sbin/isakmpd/message.c
1616
if (exchange->flags & EXCHANGE_FLAG_COMMITTED)
sbin/isakmpd/message.c
1623
exchange->in_transit = msg;
sbin/isakmpd/message.c
1646
message_setup_header(struct message *msg, u_int8_t exchange, u_int8_t flags,
sbin/isakmpd/message.c
1651
SET_ISAKMP_HDR_ICOOKIE(buf, msg->exchange->cookies);
sbin/isakmpd/message.c
1652
SET_ISAKMP_HDR_RCOOKIE(buf, msg->exchange->cookies +
sbin/isakmpd/message.c
1656
SET_ISAKMP_HDR_EXCH_TYPE(buf, exchange);
sbin/isakmpd/message.c
167
reply->exchange = msg->exchange;
sbin/isakmpd/message.c
1767
msg->exchange ? msg->exchange->doi->id : ISAKMP_DOI_ISAKMP,
sbin/isakmpd/message.c
1847
if (msg->exchange->doi->informational_pre_hook)
sbin/isakmpd/message.c
1848
if (msg->exchange->doi->informational_pre_hook(msg))
sbin/isakmpd/message.c
1907
if (msg->exchange->doi->informational_post_hook)
sbin/isakmpd/message.c
1908
if (msg->exchange->doi->informational_post_hook(msg)) {
sbin/isakmpd/message.c
2000
if (msg->exchange && msg->exchange->flags & EXCHANGE_FLAG_NAT_T_ENABLE)
sbin/isakmpd/message.c
2004
if (msg->exchange &&
sbin/isakmpd/message.c
2005
msg->exchange->initiator ^ (msg->exchange->step % 2)) {
sbin/isakmpd/message.c
2025
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
2040
sz = ((sz + exchange->crypto->blocksize - 1) /
sbin/isakmpd/message.c
2041
exchange->crypto->blocksize) * exchange->crypto->blocksize;
sbin/isakmpd/message.c
2064
crypto_encrypt(exchange->keystate, buf, msg->iov[1].iov_len);
sbin/isakmpd/message.c
2068
crypto_update_iv(exchange->keystate);
sbin/isakmpd/message.c
2080
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
2085
if (!exchange)
sbin/isakmpd/message.c
2089
exchange->last_received));
sbin/isakmpd/message.c
2090
if (exchange->last_received) {
sbin/isakmpd/message.c
2093
exchange->last_received->orig,
sbin/isakmpd/message.c
2094
exchange->last_received->orig_sz));
sbin/isakmpd/message.c
2096
if (sz == exchange->last_received->orig_sz &&
sbin/isakmpd/message.c
2097
memcmp(pkt, exchange->last_received->orig, sz) == 0) {
sbin/isakmpd/message.c
2106
if (exchange->last_sent && (exchange->last_sent->flags
sbin/isakmpd/message.c
2108
message_send(exchange->last_sent);
sbin/isakmpd/message.c
2117
if (exchange->last_sent) {
sbin/isakmpd/message.c
2118
if (exchange->last_sent == exchange->in_transit) {
sbin/isakmpd/message.c
2119
struct message *m = exchange->in_transit;
sbin/isakmpd/message.c
2122
exchange->in_transit = 0;
sbin/isakmpd/message.c
2124
message_free(exchange->last_sent);
sbin/isakmpd/message.c
2125
exchange->last_sent = 0;
sbin/isakmpd/message.c
2148
message_negotiate_sa(struct message *msg, int (*validate)(struct exchange *,
sbin/isakmpd/message.c
2156
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
2179
sa = TAILQ_FIRST(&exchange->sa_list);
sbin/isakmpd/message.c
2191
exchange->doi->is_attribute_incompatible, msg)) {
sbin/isakmpd/message.c
2197
if (sa_add_transform(sa, tp, exchange->initiator,
sbin/isakmpd/message.c
2257
if (!validate || validate(exchange, sa,
sbin/isakmpd/message.c
2329
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
2337
struct doi *doi = exchange->doi;
sbin/isakmpd/message.c
2344
for (sa = TAILQ_FIRST(&exchange->sa_list); sa;
sbin/isakmpd/message.c
396
msg->exchange->doi->debug_attribute, msg);
sbin/isakmpd/message.c
557
if (!msg->exchange) {
sbin/isakmpd/message.c
560
msg->exchange = exchange_setup_p1(msg,
sbin/isakmpd/message.c
563
msg->exchange = exchange_setup_p2(msg,
sbin/isakmpd/message.c
565
if (!msg->exchange) {
sbin/isakmpd/message.c
646
if (!msg->exchange) {
sbin/isakmpd/message.c
649
msg->exchange = exchange_setup_p1(msg, doi->id);
sbin/isakmpd/message.c
651
msg->exchange = exchange_setup_p2(msg, doi->id);
sbin/isakmpd/message.c
652
if (!msg->exchange) {
sbin/isakmpd/message.c
660
if (msg->exchange->type != ISAKMP_EXCH_INFO) {
sbin/isakmpd/message.c
663
msg->exchange->type));
sbin/isakmpd/message.c
755
if (msg->exchange && (msg->exchange->type != ISAKMP_EXCH_INFO))
sbin/isakmpd/message.c
817
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
820
if (!exchange) {
sbin/isakmpd/message.c
826
if (exchange->doi &&
sbin/isakmpd/message.c
827
exchange->doi->validate_id_information(GET_ISAKMP_ID_TYPE(p->p),
sbin/isakmpd/message.c
829
len - ISAKMP_ID_DATA_OFF, exchange)) {
sbin/isakmpd/message.c
841
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
844
if (!exchange) {
sbin/isakmpd/message.c
851
if (exchange->doi && exchange->doi->validate_key_information(p->p +
sbin/isakmpd/message.c
864
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
866
if (!exchange) {
sbin/isakmpd/message.c
873
if (exchange->phase != 1) {
sbin/isakmpd/message.c
890
struct exchange *exchange = msg->exchange;
sbin/isakmpd/message.c
892
if (!exchange) {
sbin/isakmpd/message.c
911
if (!msg->exchange) {
sbin/isakmpd/message.c
939
if (!msg->exchange) {
sbin/isakmpd/message.c
942
msg->exchange = exchange_setup_p1(msg, doi->id);
sbin/isakmpd/message.c
944
msg->exchange = exchange_setup_p2(msg, doi->id);
sbin/isakmpd/message.c
945
if (!msg->exchange) {
sbin/isakmpd/message.c
994
if (!msg->exchange) {
sbin/isakmpd/message.h
103
struct exchange *exchange;
sbin/isakmpd/message.h
186
int (*)(struct exchange *, struct sa *, struct sa *));
sbin/isakmpd/nat_traversal.c
200
msg->exchange->flags |= EXCHANGE_FLAG_NAT_T_CAP_PEER;
sbin/isakmpd/nat_traversal.c
201
msg->exchange->flags |= isakmp_nat_t_cap[i].flags;
sbin/isakmpd/nat_traversal.c
217
struct ipsec_exch *ie = (struct ipsec_exch *)msg->exchange->data;
sbin/isakmpd/nat_traversal.c
242
hash->Update(hash->ctx, msg->exchange->cookies,
sbin/isakmpd/nat_traversal.c
243
sizeof msg->exchange->cookies);
sbin/isakmpd/nat_traversal.c
277
if (msg->exchange->flags & EXCHANGE_FLAG_NAT_T_RFC)
sbin/isakmpd/nat_traversal.c
280
else if (msg->exchange->flags & EXCHANGE_FLAG_NAT_T_DRAFT)
sbin/isakmpd/nat_traversal.c
373
msg->exchange->flags |= EXCHANGE_FLAG_NAT_T_ENABLE;
sbin/isakmpd/nat_traversal.c
376
msg->exchange->flags |= EXCHANGE_FLAG_NAT_T_KEEPALIVE;
sbin/isakmpd/pf_key_v2.c
2144
pf_key_v2_stayalive(struct exchange *exchange, void *vconn, int fail)
sbin/isakmpd/pf_key_v2.c
2158
if (fail && (!exchange || exchange->name)) {
sbin/isakmpd/policy.c
69
struct exchange *policy_exchange = 0;
sbin/isakmpd/policy.h
42
extern struct exchange *policy_exchange;
sbin/isakmpd/sa.c
408
sa_create(struct exchange *exchange, struct transport *t)
sbin/isakmpd/sa.c
425
sa->phase = exchange->phase;
sbin/isakmpd/sa.c
426
memcpy(sa->cookies, exchange->cookies, ISAKMP_HDR_COOKIES_LEN);
sbin/isakmpd/sa.c
427
memcpy(sa->message_id, exchange->message_id,
sbin/isakmpd/sa.c
429
sa->doi = exchange->doi;
sbin/isakmpd/sa.c
448
TAILQ_INSERT_TAIL(&exchange->sa_list, sa, next);
sbin/isakmpd/sa.c
453
sa->phase, exchange,
sbin/isakmpd/sa.c
454
exchange->name ? exchange->name : "<unnamed>"));
sbin/isakmpd/sa.c
928
struct sa *sa = TAILQ_FIRST(&msg->exchange->sa_list);
sbin/isakmpd/sa.h
256
extern int sa_create(struct exchange *, struct transport *);
sbin/isakmpd/sa.h
48
struct exchange;
sbin/isakmpd/transport.c
258
struct exchange *exchange;
sbin/isakmpd/transport.c
289
exchange = msg->exchange;
sbin/isakmpd/transport.c
290
exchange->in_transit = 0;
sbin/isakmpd/transport.c
315
exchange->last_sent = 0;
sbin/isakmpd/transport.c
328
exchange->name ? exchange->name :
sbin/isakmpd/transport.c
331
exchange->last_sent = 0;
sbin/isakmpd/transport.c
333
exchange_free(exchange);
sbin/isakmpd/transport.c
334
exchange = 0;
sbin/isakmpd/transport.c
361
exchange->last_sent =
sbin/isakmpd/transport.c
365
exchange->last_sent =
sbin/isakmpd/transport.c
366
exchange->last_received ? msg : 0;
sbin/isakmpd/transport.c
375
ok_to_drop_message = exchange->last_sent == 0;
sbin/isakmpd/vendor.c
116
if (msg->exchange->flags & EXCHANGE_FLAG_OPENBSD) {
sbin/isakmpd/vendor.c
133
msg->exchange->flags |= EXCHANGE_FLAG_OPENBSD;
sbin/isakmpd/virtual.c
677
msg->exchange->flags |= EXCHANGE_FLAG_NAT_T_ENABLE;
sbin/isakmpd/virtual.c
678
msg->exchange->flags |= EXCHANGE_FLAG_NAT_T_CAP_PEER;
sbin/isakmpd/virtual.c
682
(msg->exchange->flags & EXCHANGE_FLAG_NAT_T_ENABLE) &&
sbin/isakmpd/virtual.c
683
(msg->exchange->type != ISAKMP_EXCH_ID_PROT ||
sbin/isakmpd/virtual.c
684
msg->exchange->step > 4)) || (msg->flags & MSG_NATT)) {
usr.sbin/nsd/rdata.c
1667
struct dname_buffer exchange;
usr.sbin/nsd/rdata.c
1675
if (!dname_make_from_packet_buffered(&exchange, packet, 1, 1))
usr.sbin/nsd/rdata.c
1682
domain = domain_table_insert(domains, (void*)&exchange);
usr.sbin/smtpd/dns.c
264
print_dname(rr.rr.mx.exchange, buf, sizeof(buf));
usr.sbin/smtpd/dns.c
322
print_dname(rr.rr.mx.exchange, buf, sizeof(buf));
usr.sbin/smtpd/spfwalk.c
280
print_dname(rr->rr.mx.exchange, buf, sizeof(buf));
usr.sbin/smtpd/unpack_dns.c
94
unpack_dname(p, rr->rr.mx.exchange, sizeof(rr->rr.mx.exchange));
usr.sbin/smtpd/unpack_dns.h
58
char exchange[MAXDNAME];