From e2413014b196dffbd6ca458016a463ad1aae911a Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sat, 18 Jun 2005 22:43:43 -0700 Subject: [PATCH] --- yaml --- r: 2233 b: refs/heads/master c: 4f09f0bbc1cb3c74e8f2047ad4be201a059829ee h: refs/heads/master i: 2231: 806d04ae00c6dbf28792ed61913a94db8edf3555 v: v3 --- [refs] | 2 +- trunk/net/key/af_key.c | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 1f1187a08b6e..f6ef07f1b121 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4666faab095230ec8aa62da6c33391287f281154 +refs/heads/master: 4f09f0bbc1cb3c74e8f2047ad4be201a059829ee diff --git a/trunk/net/key/af_key.c b/trunk/net/key/af_key.c index d086c117f5f0..560c93c10890 100644 --- a/trunk/net/key/af_key.c +++ b/trunk/net/key/af_key.c @@ -656,13 +656,18 @@ static struct sk_buff * pfkey_xfrm_state2msg(struct xfrm_state *x, int add_keys, sa->sadb_sa_exttype = SADB_EXT_SA; sa->sadb_sa_spi = x->id.spi; sa->sadb_sa_replay = x->props.replay_window; - sa->sadb_sa_state = SADB_SASTATE_DYING; - if (x->km.state == XFRM_STATE_VALID && !x->km.dying) - sa->sadb_sa_state = SADB_SASTATE_MATURE; - else if (x->km.state == XFRM_STATE_ACQ) + switch (x->km.state) { + case XFRM_STATE_VALID: + sa->sadb_sa_state = x->km.dying ? + SADB_SASTATE_DYING : SADB_SASTATE_MATURE; + break; + case XFRM_STATE_ACQ: sa->sadb_sa_state = SADB_SASTATE_LARVAL; - else if (x->km.state == XFRM_STATE_EXPIRED) + break; + default: sa->sadb_sa_state = SADB_SASTATE_DEAD; + break; + } sa->sadb_sa_auth = 0; if (x->aalg) { struct xfrm_algo_desc *a = xfrm_aalg_get_byname(x->aalg->alg_name, 0);