* [Openswan dev] Re: [Openswan Users] Invalid argument NULL [not found] ` <E1BwINn-0000ZX-00@gondolin.me.apana.org.au> @ 2004-08-15 11:25 ` Herbert Xu 2004-08-16 2:53 ` David S. Miller 0 siblings, 1 reply; 6+ messages in thread From: Herbert Xu @ 2004-08-15 11:25 UTC (permalink / raw) To: Jiva DeVoe; +Cc: users, dev, David S. Miller, netdev, kuznet [-- Attachment #1: Type: text/plain, Size: 1723 bytes --] On Sun, Aug 15, 2004 at 08:36:59PM +1000, Herbert Xu wrote: > Jiva DeVoe <jiva@ixiacom.com> wrote: > > Am trying to set up a couple of crypto_NULL tunnels... (I know, insecure, > > that's ok... ) I have the module loaded, but I'm getting the following > > error in pluto's logs: > > > > ERROR: netlink response for Add SA esp.ff31fffb@<ip obscured> included errno > > 22: Invalid argument > > > > I presume this is something to do with setkey... Any suggestions on what I'm > > doing wrong? > > You aren't doing anything wrong. The IPsec stack is :) It turns out that xfrm_user isn't filling in x->props.ealgo or any of the other algo values! I guess no one ever noticed because we rely on the reqid to pick the right SA rather than the values in props. Unfortunately ESP's init_state function looks at x->props.ealgo to decide whether it's a NULL transform or not. That may be something that we want to fix in itself. However, for the moment we should probably fill in x->props.*algo since it is used elsewhere in the IPsec stack. For example, the user may create a template that has ealgos set which will require x->props.ealgo to be set properly. Come to think of it again, we only check/use aalgo anyway. Maybe I should forget about setting these values and just fix esp_init_state? In any case, here is a really ugly patch to fill in those values for xfrm_user. Please let me know of any clean-ups or better ways of doing this. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt [-- Attachment #2: p --] [-- Type: text/plain, Size: 1519 bytes --] ===== net/xfrm/xfrm_user.c 1.48 vs edited ===== --- 1.48/net/xfrm/xfrm_user.c 2004-08-12 19:59:52 +10:00 +++ edited/net/xfrm/xfrm_user.c 2004-08-15 21:07:03 +10:00 @@ -155,15 +155,24 @@ return err; } -static int attach_one_algo(struct xfrm_algo **algpp, struct rtattr *u_arg) +static int attach_one_algo(struct xfrm_algo **algpp, u8 *props, + struct xfrm_algo_desc *(*get_byname)(char *), + struct rtattr *u_arg) { struct rtattr *rta = u_arg; struct xfrm_algo *p, *ualg; + struct xfrm_algo_desc *algo; if (!rta) return 0; ualg = RTA_DATA(rta); + + algo = get_byname(ualg->alg_name); + if (!algo) + return -ENOSYS; + *props = algo->desc.sadb_alg_id; + p = kmalloc(sizeof(*ualg) + ualg->alg_key_len, GFP_KERNEL); if (!p) return -ENOMEM; @@ -216,11 +225,17 @@ copy_from_user_state(x, p); - if ((err = attach_one_algo(&x->aalg, xfrma[XFRMA_ALG_AUTH-1]))) + if ((err = attach_one_algo(&x->aalg, &x->props.aalgo, + xfrm_aalg_get_byname, + xfrma[XFRMA_ALG_AUTH-1]))) goto error; - if ((err = attach_one_algo(&x->ealg, xfrma[XFRMA_ALG_CRYPT-1]))) + if ((err = attach_one_algo(&x->ealg, &x->props.ealgo, + xfrm_ealg_get_byname, + xfrma[XFRMA_ALG_CRYPT-1]))) goto error; - if ((err = attach_one_algo(&x->calg, xfrma[XFRMA_ALG_COMP-1]))) + if ((err = attach_one_algo(&x->calg, &x->props.calgo, + xfrm_calg_get_byname, + xfrma[XFRMA_ALG_COMP-1]))) goto error; if ((err = attach_encap_tmpl(&x->encap, xfrma[XFRMA_ENCAP-1]))) goto error; [-- Attachment #3: Type: text/plain, Size: 135 bytes --] _______________________________________________ Dev mailing list Dev@lists.openswan.org http://lists.openswan.org/mailman/listinfo/dev ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Openswan Users] Invalid argument NULL 2004-08-15 11:25 ` [Openswan dev] Re: [Openswan Users] Invalid argument NULL Herbert Xu @ 2004-08-16 2:53 ` David S. Miller 2004-08-17 0:41 ` [Openswan dev] " Herbert Xu 0 siblings, 1 reply; 6+ messages in thread From: David S. Miller @ 2004-08-16 2:53 UTC (permalink / raw) To: Herbert Xu; +Cc: jiva, users, dev, kuznet, netdev On Sun, 15 Aug 2004 21:25:48 +1000 Herbert Xu <herbert@gondor.apana.org.au> wrote: > In any case, here is a really ugly patch to fill in those values for > xfrm_user. Please let me know of any clean-ups or better ways of doing > this. I've applied this for now. There is a lot of duplication around the xfrm structures of this kind of information. Thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Openswan dev] Re: [Openswan Users] Invalid argument NULL 2004-08-16 2:53 ` David S. Miller @ 2004-08-17 0:41 ` Herbert Xu 2004-08-17 1:03 ` David S. Miller 0 siblings, 1 reply; 6+ messages in thread From: Herbert Xu @ 2004-08-17 0:41 UTC (permalink / raw) To: David S. Miller; +Cc: users, kuznet, netdev, dev On Sun, Aug 15, 2004 at 07:53:13PM -0700, David S. Miller wrote: > > I've applied this for now. There is a lot of duplication around > the xfrm structures of this kind of information. Yes we've got the numbers in x->props and the names in the x->*algo structure. The question is do we go with the numbers of the names? On the face of it the names look like a good idea. However, we can't do sets of names as easily as we can do sets of numbers (the *algos mask in xfrm_tmpl). Further more, for the actual IKE negotiation, numbers are required anyway. So maybe we should keep the numbers? Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Openswan Users] Invalid argument NULL 2004-08-17 0:41 ` [Openswan dev] " Herbert Xu @ 2004-08-17 1:03 ` David S. Miller 2004-08-17 1:17 ` Herbert Xu 0 siblings, 1 reply; 6+ messages in thread From: David S. Miller @ 2004-08-17 1:03 UTC (permalink / raw) To: Herbert Xu; +Cc: jiva, users, dev, kuznet, netdev On Tue, 17 Aug 2004 10:41:41 +1000 Herbert Xu <herbert@gondor.apana.org.au> wrote: > So maybe we should keep the numbers? If we take out the names, won't this break xfrm_user apps that currently can receive them? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Openswan Users] Invalid argument NULL 2004-08-17 1:03 ` David S. Miller @ 2004-08-17 1:17 ` Herbert Xu 2004-08-17 1:17 ` David S. Miller 0 siblings, 1 reply; 6+ messages in thread From: Herbert Xu @ 2004-08-17 1:17 UTC (permalink / raw) To: David S. Miller; +Cc: users, kuznet, netdev, dev On Mon, Aug 16, 2004 at 06:03:50PM -0700, David S. Miller wrote: > On Tue, 17 Aug 2004 10:41:41 +1000 > Herbert Xu <herbert@gondor.apana.org.au> wrote: > > > So maybe we should keep the numbers? > > If we take out the names, won't this break xfrm_user apps > that currently can receive them? I mean that we should keep the numbers internally. So xfrm_user.c will translate the names given by existing applications into numbers as the patch that you've just applied does. We can then create a new NETLINK payload type that uses numbers if we wish. Cheers, -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Openswan Users] Invalid argument NULL 2004-08-17 1:17 ` Herbert Xu @ 2004-08-17 1:17 ` David S. Miller 0 siblings, 0 replies; 6+ messages in thread From: David S. Miller @ 2004-08-17 1:17 UTC (permalink / raw) To: Herbert Xu; +Cc: jiva, users, dev, kuznet, netdev On Tue, 17 Aug 2004 11:17:17 +1000 Herbert Xu <herbert@gondor.apana.org.au> wrote: > I mean that we should keep the numbers internally. So xfrm_user.c > will translate the names given by existing applications into numbers > as the patch that you've just applied does. Ok, that works. > We can then create a new NETLINK payload type that uses numbers if > we wish. I think that will just be bloat. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2004-08-17 1:17 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <BD428BAA.4BBE%jiva@ixiacom.com>
[not found] ` <E1BwINn-0000ZX-00@gondolin.me.apana.org.au>
2004-08-15 11:25 ` [Openswan dev] Re: [Openswan Users] Invalid argument NULL Herbert Xu
2004-08-16 2:53 ` David S. Miller
2004-08-17 0:41 ` [Openswan dev] " Herbert Xu
2004-08-17 1:03 ` David S. Miller
2004-08-17 1:17 ` Herbert Xu
2004-08-17 1:17 ` David S. Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).