aboutsummaryrefslogtreecommitdiff
path: root/potpourri/application-x-rpki-mailcap-handler.sh
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2014-04-05 22:42:12 +0000
committerRob Austein <sra@hactrn.net>2014-04-05 22:42:12 +0000
commitfe0bf509f528dbdc50c7182f81057c6a4e15e4bd (patch)
tree07c9a923d4a0ccdfea11c49cd284f6d5757c5eda /potpourri/application-x-rpki-mailcap-handler.sh
parentaa28ef54c271fbe4d52860ff8cf13cab19e2207c (diff)
Source tree reorg, phase 1. Almost everything moved, no file contents changed.
svn path=/branches/tk685/; revision=5757
Diffstat (limited to 'potpourri/application-x-rpki-mailcap-handler.sh')
-rwxr-xr-xpotpourri/application-x-rpki-mailcap-handler.sh53
1 files changed, 53 insertions, 0 deletions
diff --git a/potpourri/application-x-rpki-mailcap-handler.sh b/potpourri/application-x-rpki-mailcap-handler.sh
new file mode 100755
index 00000000..891987d9
--- /dev/null
+++ b/potpourri/application-x-rpki-mailcap-handler.sh
@@ -0,0 +1,53 @@
+#!/bin/sh -
+# $Id$
+#
+# Copyright (C) 2010 Internet Systems Consortium ("ISC")
+#
+# Permission to use, copy, modify, and distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# Given the Maildir dump format, one can use Mutt as a viewer with two
+# tweaks:
+#
+# 1) Add to ~/.muttrc
+#
+# auto_view application/x-rpki
+#
+# 2) Add to ~/.mailcap
+#
+# application/x-rpki; /path/to/this/script.sh ; copiousoutput
+#
+# "copiousoutput" is required by mutt to enable auto_view (inline
+# display) behavior.
+#
+# This script could do fancier things (pretty XML formatting,
+# verification checks of the CMS, etcetera) if anybody cared.
+# For the moment the main use for this script is debugging.
+
+# We have to jump through some hoops to figure out where our OpenSSL
+# binary is. If you have already installed an OpenSSL binary that
+# understands CMS, feel free to use that instead.
+
+#exec 2>&1; set -x
+
+: ${AWK=/usr/bin/awk}
+: ${OPENSSL=$(/usr/bin/dirname $0)/../openssl/openssl/apps/openssl}
+: ${SPLITBASE64=$(/usr/bin/dirname $0)/splitbase64.xsl}
+: ${XMLINDENT=/usr/local/bin/xmlindent}
+: ${XMLLINT=/usr/local/bin/xmllint}
+: ${XSLTPROC=/usr/local/bin/xsltproc}
+
+# This produces prettier output, but also hangs sometimes, apparently some xmlindent bug dealing with really long XML attributes
+#OPENSSL_CONF=/dev/null $OPENSSL cms -verify -nosigs -noverify -inform DER 2>/dev/null | $XSLTPROC $SPLITBASE64 - | $XMLINDENT -i 2 | $AWK NF
+
+# So we do this instead
+OPENSSL_CONF=/dev/null $OPENSSL cms -verify -nosigs -noverify -inform DER 2>/dev/null | $XSLTPROC $SPLITBASE64 - | $XMLLINT -format -