From patchwork Mon Mar 25 14:23:17 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ward X-Patchwork-Id: 230728 X-Patchwork-Delegate: shemminger@vyatta.com 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.180.67]) by ozlabs.org (Postfix) with ESMTP id A49482C00A5 for ; Tue, 26 Mar 2013 01:23:52 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758349Ab3CYOXp (ORCPT ); Mon, 25 Mar 2013 10:23:45 -0400 Received: from MX2.LL.MIT.EDU ([129.55.12.46]:42077 "EHLO mx2.ll.mit.edu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758257Ab3CYOX3 (ORCPT ); Mon, 25 Mar 2013 10:23:29 -0400 Received: from LLE2K7-HUB01.mitll.ad.local (LLE2K7-HUB01.mitll.ad.local) by mx2.ll.mit.edu (unknown) with ESMTP id r2PEN2cw023593 for ; Mon, 25 Mar 2013 10:23:28 -0400 From: David Ward To: CC: David Ward Subject: [PATCH iproute2 5/7] ip/xfrm: Command syntax should not expect a key for compression Date: Mon, 25 Mar 2013 10:23:17 -0400 Message-ID: <1364221399-1024-5-git-send-email-david.ward@ll.mit.edu> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1364221399-1024-1-git-send-email-david.ward@ll.mit.edu> References: <1364221399-1024-1-git-send-email-david.ward@ll.mit.edu> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.10.8626, 1.0.431, 0.0.0000 definitions=2013-03-25_03:2013-03-25, 2013-03-25, 1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=4 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1211240000 definitions=main-1303250108 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Compression algorithms do not use a key. Signed-off-by: David Ward --- ip/xfrm_state.c | 26 +++++++++++++++++--------- man/man8/ip-xfrm.8 | 13 ++++++++----- 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/ip/xfrm_state.c b/ip/xfrm_state.c index 08a4980..9b374ee 100644 --- a/ip/xfrm_state.c +++ b/ip/xfrm_state.c @@ -78,13 +78,14 @@ static void usage(void) fprintf(stderr, "ALGO-LIST := [ ALGO-LIST ] ALGO\n"); fprintf(stderr, "ALGO := { "); fprintf(stderr, "%s | ", strxf_algotype(XFRMA_ALG_CRYPT)); - fprintf(stderr, "%s | ", strxf_algotype(XFRMA_ALG_AUTH)); - fprintf(stderr, "%s", strxf_algotype(XFRMA_ALG_COMP)); + fprintf(stderr, "%s", strxf_algotype(XFRMA_ALG_AUTH)); fprintf(stderr, " } ALGO-NAME ALGO-KEY |\n"); + fprintf(stderr, " %s", strxf_algotype(XFRMA_ALG_AUTH_TRUNC)); + fprintf(stderr, " ALGO-NAME ALGO-KEY ALGO-TRUNC-LEN |\n"); fprintf(stderr, " %s", strxf_algotype(XFRMA_ALG_AEAD)); fprintf(stderr, " ALGO-NAME ALGO-KEY ALGO-ICV-LEN |\n"); - fprintf(stderr, " %s", strxf_algotype(XFRMA_ALG_AUTH_TRUNC)); - fprintf(stderr, " ALGO-NAME ALGO-KEY ALGO-TRUNC-LEN\n"); + fprintf(stderr, " %s", strxf_algotype(XFRMA_ALG_COMP)); + fprintf(stderr, " ALGO-NAME\n"); fprintf(stderr, "MODE := transport | tunnel | ro | in_trigger | beet\n"); fprintf(stderr, "FLAG-LIST := [ FLAG-LIST ] FLAG\n"); fprintf(stderr, "FLAG := noecn | decap-dscp | nopmtudisc | wildrecv | icmp | af-unspec | align4\n"); @@ -374,7 +375,7 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) int len; __u32 icvlen, trunclen; char *name; - char *key; + char *key = ""; char *buf; switch (type) { @@ -409,10 +410,17 @@ static int xfrm_state_modify(int cmd, unsigned flags, int argc, char **argv) NEXT_ARG(); name = *argv; - if (!NEXT_ARG_OK()) - missarg("ALGO-KEY"); - NEXT_ARG(); - key = *argv; + switch (type) { + case XFRMA_ALG_AEAD: + case XFRMA_ALG_CRYPT: + case XFRMA_ALG_AUTH: + case XFRMA_ALG_AUTH_TRUNC: + if (!NEXT_ARG_OK()) + missarg("ALGO-KEY"); + NEXT_ARG(); + key = *argv; + break; + } buf = alg.u.alg.alg_key; len = sizeof(alg.u.alg); diff --git a/man/man8/ip-xfrm.8 b/man/man8/ip-xfrm.8 index f359773..6017bc2 100644 --- a/man/man8/ip-xfrm.8 +++ b/man/man8/ip-xfrm.8 @@ -117,14 +117,17 @@ ip-xfrm \- transform configuration .ti -8 .IR ALGO " :=" -.RB "{ " enc " | " auth " | " comp " } " +.RB "{ " enc " | " auth " } " .IR ALGO-NAME " " ALGO-KEY " |" .br -.B aead -.IR ALGO-NAME " " ALGO-KEY " " ALGO-ICV-LEN " |" -.br .B auth-trunc -.IR ALGO-NAME " " ALGO-KEY " " ALGO-TRUNC-LEN +.IR ALGO-NAME " " ALGO-KEY " " ALGO-TRUNC-LEN " |" +.br +.B aead +.IR ALGO-NAME " " ALGO-KEY " " ALGO-ICV-LEN " |" +.br +.B comp +.IR ALGO-NAME .ti -8 .IR MODE " := "