mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
Add gpg-zip, a la PGP Zip.
This commit is contained in:
parent
cd4c621017
commit
c058bd6632
7 changed files with 193 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-08-04 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* gpg-zip.in: New. Script wrapper to work with encrypted tar
|
||||
files, a la PGP Zip.
|
||||
|
||||
* Makefile.am: Use it if we have a USTAR compatible tar.
|
||||
|
||||
2004-12-18 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* Makefile.am: Link with readline where needed.
|
||||
|
|
|
@ -27,6 +27,10 @@ other_libs = $(LIBICONV) $(LIBINTL) $(CAPLIBS)
|
|||
bin_PROGRAMS = gpgsplit
|
||||
noinst_PROGRAMS = mpicalc bftest clean-sat mk-tdata shmtest
|
||||
|
||||
if HAVE_USTAR
|
||||
bin_SCRIPTS = gpg-zip
|
||||
endif
|
||||
|
||||
gpgsplit_LDADD = $(needed_libs) $(other_libs) @ZLIBS@
|
||||
mpicalc_LDADD = $(needed_libs) $(other_libs) @W32LIBS@
|
||||
bftest_LDADD = $(needed_libs) $(other_libs) @W32LIBS@ @DLLIBS@ @NETLIBS@ @LIBREADLINE@
|
||||
|
|
128
tools/gpg-zip.in
Normal file
128
tools/gpg-zip.in
Normal file
|
@ -0,0 +1,128 @@
|
|||
#!/bin/sh
|
||||
|
||||
# gpg-archive - gpg-ized tar using the same format as PGP's PGP Zip.
|
||||
# Copyright (C) 2005 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is part of GnuPG.
|
||||
#
|
||||
# GnuPG is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GnuPG is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
|
||||
# Despite the name, PGP Zip format is actually an OpenPGP-wrapped tar
|
||||
# file. To be compatible with PGP itself, this must be a USTAR format
|
||||
# tar file. Unclear on whether there is a distinction here between
|
||||
# the GNU or POSIX variant of USTAR.
|
||||
|
||||
VERSION=@VERSION@
|
||||
TAR=@TAR@
|
||||
GPG=gpg
|
||||
|
||||
usage="\
|
||||
Usage: gpg-zip [--help] [--version] [--encrypt] [--symmetric]
|
||||
[--list-archive] [--output FILE] [--gpg GPG] [--gpg-args ARGS]
|
||||
[--tar TAR] [--tar-args ARGS] filename1 [filename2, ...]
|
||||
directory1 [directory2, ...]
|
||||
|
||||
Encrypt or sign files into an archive."
|
||||
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*)
|
||||
echo "$usage"
|
||||
exit 0
|
||||
;;
|
||||
--list-archive)
|
||||
list=yes
|
||||
create=no
|
||||
shift
|
||||
;;
|
||||
--encrypt | -e)
|
||||
gpg_args="$gpg_args --encrypt"
|
||||
list=no
|
||||
create=yes
|
||||
shift
|
||||
;;
|
||||
--symmetric | -c)
|
||||
gpg_args="$gpg_args --symmetric"
|
||||
list=no
|
||||
create=yes
|
||||
shift
|
||||
;;
|
||||
--sign | -s)
|
||||
gpg_args="$gpg_args --sign"
|
||||
list=no
|
||||
create=yes
|
||||
shift
|
||||
;;
|
||||
--recipient | -r)
|
||||
gpg_args="$gpg_args --recipient $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--local-user | -u)
|
||||
gpg_args="$gpg_args --local-user $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--output | -o)
|
||||
gpg_args="$gpg_args --output $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "gpg-zip (GnuPG) $VERSION"
|
||||
exit 0
|
||||
;;
|
||||
--gpg)
|
||||
GPG=$1
|
||||
shift
|
||||
;;
|
||||
--gpg-args)
|
||||
gpg_args="$gpg_args $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--tar)
|
||||
TAR=$1
|
||||
shift
|
||||
;;
|
||||
--tar-args)
|
||||
tar_args="$tar_args $2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*)
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test x$create = xyes ; then
|
||||
# echo "$TAR -cf - $* | $GPG --set-filename x.tar $gpg_args" >&2
|
||||
$TAR -cf - $* | $GPG --set-filename x.tar $gpg_args
|
||||
elif test x$list = xyes ; then
|
||||
# echo "cat $1 | $GPG $gpg_args | $TAR $tar_args -tf -" >&2
|
||||
cat $1 | $GPG $gpg_args | $TAR $tar_args -tf -
|
||||
else
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue