child-create: Add an option to set the DH group to be used
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2008-2017 Tobias Brunner
|
* Copyright (C) 2008-2018 Tobias Brunner
|
||||||
* Copyright (C) 2005-2008 Martin Willi
|
* Copyright (C) 2005-2008 Martin Willi
|
||||||
* Copyright (C) 2005 Jan Hutter
|
* Copyright (C) 2005 Jan Hutter
|
||||||
* HSR Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
@@ -1006,8 +1006,8 @@ METHOD(task_t, build_i, status_t,
|
|||||||
chunk_empty);
|
chunk_empty);
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
if (!this->retry)
|
if (!this->retry && this->dh_group == MODP_NONE)
|
||||||
{
|
{ /* during a rekeying the group might already be set */
|
||||||
this->dh_group = this->config->get_dh_group(this->config);
|
this->dh_group = this->config->get_dh_group(this->config);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1615,6 +1615,12 @@ METHOD(child_create_t, use_marks, void,
|
|||||||
this->mark_out = out;
|
this->mark_out = out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
METHOD(child_create_t, use_dh_group, void,
|
||||||
|
private_child_create_t *this, diffie_hellman_group_t dh_group)
|
||||||
|
{
|
||||||
|
this->dh_group = dh_group;
|
||||||
|
}
|
||||||
|
|
||||||
METHOD(child_create_t, get_child, child_sa_t*,
|
METHOD(child_create_t, get_child, child_sa_t*,
|
||||||
private_child_create_t *this)
|
private_child_create_t *this)
|
||||||
{
|
{
|
||||||
@@ -1736,6 +1742,7 @@ child_create_t *child_create_create(ike_sa_t *ike_sa,
|
|||||||
.get_lower_nonce = _get_lower_nonce,
|
.get_lower_nonce = _get_lower_nonce,
|
||||||
.use_reqid = _use_reqid,
|
.use_reqid = _use_reqid,
|
||||||
.use_marks = _use_marks,
|
.use_marks = _use_marks,
|
||||||
|
.use_dh_group = _use_dh_group,
|
||||||
.task = {
|
.task = {
|
||||||
.get_type = _get_type,
|
.get_type = _get_type,
|
||||||
.migrate = _migrate,
|
.migrate = _migrate,
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
|
* Copyright (C) 2018 Tobias Brunner
|
||||||
* Copyright (C) 2007 Martin Willi
|
* Copyright (C) 2007 Martin Willi
|
||||||
* Hochschule fuer Technik Rapperswil
|
* HSR Hochschule fuer Technik Rapperswil
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU General Public License as published by the
|
* under the terms of the GNU General Public License as published by the
|
||||||
@@ -59,6 +60,15 @@ struct child_create_t {
|
|||||||
*/
|
*/
|
||||||
void (*use_marks)(child_create_t *this, u_int in, u_int out);
|
void (*use_marks)(child_create_t *this, u_int in, u_int out);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initially propose a specific DH group to override configuration.
|
||||||
|
*
|
||||||
|
* This is used during rekeying to prefer the previously negotiated group.
|
||||||
|
*
|
||||||
|
* @param dh_group DH group to use
|
||||||
|
*/
|
||||||
|
void (*use_dh_group)(child_create_t *this, diffie_hellman_group_t dh_group);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the lower of the two nonces, used for rekey collisions.
|
* Get the lower of the two nonces, used for rekey collisions.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user