From patchwork Wed Nov 25 10:29:51 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Willi X-Patchwork-Id: 39303 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 8E6F21007D4 for ; Wed, 25 Nov 2009 21:53:55 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934064AbZKYKxj (ORCPT ); Wed, 25 Nov 2009 05:53:39 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758600AbZKYKxh (ORCPT ); Wed, 25 Nov 2009 05:53:37 -0500 Received: from zaes.ch ([213.133.111.41]:55420 "EHLO zaes.ch" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758607AbZKYKxg (ORCPT ); Wed, 25 Nov 2009 05:53:36 -0500 Received: from 193-180.60-188.cust.bluewin.ch ([188.60.180.193] helo=localhost.localdomain) by zaes.ch with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1NDFQW-0001Hm-Jv; Wed, 25 Nov 2009 11:48:48 +0100 From: Martin Willi To: Herbert Xu Cc: linux-crypto@vger.kernel.org, netdev@vger.kernel.org Subject: [PATCH 1/3] xfrm: Define new XFRM netlink auth attribute with specified truncation bits Date: Wed, 25 Nov 2009 11:29:51 +0100 Message-Id: <1d70ade2a447f1c43a78ca813f46222859f70b5a.1259142145.git.martin@strongswan.org> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: References: In-Reply-To: References: X-RPR-Rewrite: reverse-path rewritten by zaes.ch Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The new XFRMA_ALG_AUTH_TRUNC attribute taking a xfrm_algo_auth as argument allows the installation of authentication algorithms with a truncation length specified in userspace, i.e. SHA256 with 128 bit instead of 96 bit truncation. Signed-off-by: Martin Willi --- include/linux/xfrm.h | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/include/linux/xfrm.h b/include/linux/xfrm.h index 2d4ec15..d28e853 100644 --- a/include/linux/xfrm.h +++ b/include/linux/xfrm.h @@ -96,6 +96,13 @@ struct xfrm_algo { char alg_key[0]; }; +struct xfrm_algo_auth { + char alg_name[64]; + unsigned int alg_key_len; /* in bits */ + unsigned int alg_trunc_len; /* in bits */ + char alg_key[0]; +}; + struct xfrm_algo_aead { char alg_name[64]; unsigned int alg_key_len; /* in bits */ @@ -283,6 +290,7 @@ enum xfrm_attr_type_t { XFRMA_MIGRATE, XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ XFRMA_KMADDRESS, /* struct xfrm_user_kmaddress */ + XFRMA_ALG_AUTH_TRUNC, /* struct xfrm_algo_auth */ __XFRMA_MAX #define XFRMA_MAX (__XFRMA_MAX - 1)