From patchwork Fri Jan 4 23:19:10 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benedict Wong X-Patchwork-Id: 1020927 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="V4CmuW6Q"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43Wgj41TGTz9s4s for ; Sat, 5 Jan 2019 10:19:20 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726176AbfADXTT (ORCPT ); Fri, 4 Jan 2019 18:19:19 -0500 Received: from mail-pl1-f201.google.com ([209.85.214.201]:36296 "EHLO mail-pl1-f201.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726009AbfADXTS (ORCPT ); Fri, 4 Jan 2019 18:19:18 -0500 Received: by mail-pl1-f201.google.com with SMTP id e68so28061283plb.3 for ; Fri, 04 Jan 2019 15:19:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=0wx9NsaPW5J0KFmbUlwRFkRkluspRuq6fLEilOYDbDY=; b=V4CmuW6Q/cz08FYpph7nyZ3aUD0BXZL5+Fq3jyf0I4gcXuT8WbryZkQa6/qeO6Flj9 QYg6Hny438HFx4bIFIrtuU2/hCUymaZkPyDY7W1qGU3ve/hATuqWDfqPOnZekECs6vR5 r69PriOWoIX8bsD0a4LyomecpkuDMR2ZGfrISYSeQ2rCkLzvNw6BAgb8zyJJJ5YXbm4h QI/JKezsIlTJEUuydgLO51Wi5n/qGBR4O+Qai6ckx0ATgEx37o7iH0NN2vKP4n89vhO1 GL68TxW/LcUJCbAPjKCZeVJ+7xZdujrZVW5yjbvCjISZh36VAKqv18RKVjXmkQ2IaymK RSYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=0wx9NsaPW5J0KFmbUlwRFkRkluspRuq6fLEilOYDbDY=; b=kvKq8fSagmTeIgsDI+btcGsSzn4oBnJuwoJHOlDyqhkvN4bOrK/njRnqlAvBiCr5VH 7Sbfkzpeh/afc6UpgSEN2Z4wBR+j/jQKv3uTu1v/EYysQVZTqTlm+fy8NnYdUkx2Y7a8 THFrYpbc/wNLm1xGBZewQ/WKiXNBisqZTViHAjifx1wOJV+YOl2/oBuOdVydzzNtq5wS V4hnTyOwusw7aFbkv2j6FHuBga9ohlVNS8RE59KrRFWdig/CrUzwDZURD2ooliNQFOSg mQmwIoU2gZY4bdVQonN/xu+t7c7yPZ6ltdMbqN+Q7ypcXz/0FZ+0dOMBLTTIF7hKf4BT RE7w== X-Gm-Message-State: AJcUukfzZHUbfpJYWd72dGXoUlMoZ9BL5tPeCM7JAovYV4PpKJKTI3k/ 6C03jnhsgQUf4eQT0u15WfcXVIMqSDKmUULKnjbRnuK9RI6WrHZd0BrdvO8AA2K2RrFFbOqjfW6 LehGqpEXTg4m3l5Tqt1Ckw23sFA8bnTn/3fOXeuZns7CXwZAHhAeoGk9eUsWg8nr1ph6MDhHCff HZ2w== X-Google-Smtp-Source: AFSGD/XQQ32xuXGd0eKSW+bdUHLlv1rPumAschGFh35iiLbc3rybeu4rEvGGLlND+U+yI+v8jJgz54ak6pxSxXjozOg= X-Received: by 2002:a62:464c:: with SMTP id t73mr24032009pfa.140.1546643957542; Fri, 04 Jan 2019 15:19:17 -0800 (PST) Date: Fri, 4 Jan 2019 15:19:10 -0800 Message-Id: <20190104231910.54517-1-benedictwong@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.20.1.97.g81188d93c3-goog Subject: [RFC iproute2] xfrm: add option to hide keys in state output From: Benedict Wong To: netdev@vger.kernel.org Cc: nharold@google.com, benedictwong@google.com, lorenzo@google.com, maze@google.com Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org ip xfrm state show currently dumps keys unconditionally. This limits its use in logging, as security information can be leaked. This patch adds a nokeys option to ip xfrm ( state show | monitor ), which prevents the printing of keys. This allows ip xfrm state show to be used in logging without exposing keys. Signed-off-by: Benedict Wong --- ip/ipxfrm.c | 45 +++++++++++++++++++++++++-------------------- ip/xfrm.h | 5 +++-- ip/xfrm_monitor.c | 7 +++++-- ip/xfrm_state.c | 27 ++++++++++++++++++++++----- man/man8/ip-xfrm.8 | 15 ++++++++++++++- 5 files changed, 69 insertions(+), 30 deletions(-) diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c index 2dea4e37..1334ca9f 100644 --- a/ip/ipxfrm.c +++ b/ip/ipxfrm.c @@ -497,7 +497,8 @@ void xfrm_selector_print(struct xfrm_selector *sel, __u16 family, } static void __xfrm_algo_print(struct xfrm_algo *algo, int type, int len, - FILE *fp, const char *prefix, int newline) + FILE *fp, const char *prefix, int newline, + bool nokeys) { int keylen; int i; @@ -521,7 +522,9 @@ static void __xfrm_algo_print(struct xfrm_algo *algo, int type, int len, goto fin; } - if (keylen > 0) { + if (nokeys) + fprintf(fp, "<