Skip to content

Commit f988bfa

Browse files
committed
adding baseline
1 parent 1aeb824 commit f988bfa

File tree

219 files changed

+33383
-12
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

219 files changed

+33383
-12
lines changed

CREDITS

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
Per Ronny Westin
2+
- Found PLAINTEXT vs. DECRYPTION_OKAY return code bug for GnuPG 1.2.6.
3+
- Reported directory decryption bug in gpgdir-1.6. The result was the
4+
addition of the gpgdir test suite.
5+
6+
Kai Raven
7+
- Bugfix in man page for file compression/decompression wording.
8+
9+
Craig Needs
10+
- Suggested --gnupg-dir option, testing help.
11+
12+
Chris P
13+
- Found bug where gpgdir would not decrypt files that contained spaces.
14+
15+
Ian Scott
16+
- Reported "protocol error: expected SHM_GET_XXX got GOOD_PASSPHRASE"
17+
bug in GnuPG module.
18+
19+
Mate Wierdl
20+
- Contributed patch (originally for the psad project) for building the
21+
RPM on x86_64 platforms.
22+
23+
pyllyukko
24+
- Added the gpgdir.SlackBuild script (adapted from the psad project).
25+
26+
Anthony Chivetta
27+
- Submitted patch to fix a bug where files named "0.gpg" could not be
28+
decrypted.
29+
- Submitted patch to implement the --overwrite-encrypted command line
30+
argument to allow previously encrypted files to be overwritten. This
31+
is useful for updating an encrypted directory with new versions of
32+
the previously encrypted files.
33+
34+
Fermin Manzanedo
35+
- Suggested the --Symmetric option so that files can be encrypted/
36+
decrypted via a symmetric cipher (GnuPG supports CAST5 by default).
37+
38+
Franck Joncourt
39+
- Performed analysis of locale settings for fwknop installer and suggested
40+
using the LC_ALL environmental variable instead of the LANG variable
41+
(which is superseded by LC_* vars).
42+
- Suggested moving perl modules to the deps/ directory. This is to
43+
support the integration of the Cipherdyne projects with Debian.
44+
- Added Short description to the gpgdir man page. This fixes the
45+
following lintian warning:
46+
47+
http://lintian.debian.org/tags/manpage-has-bad-whatis-entry.html
48+
- Suggested the appropriate bugfix to interface non-interactively with the
49+
wipe program (-f instead of -I in later versions).
50+
51+
Lars Wilke
52+
- Reported a bug in missing the proper handling of files with spaces when
53+
using the --Wipe secure deletion mode.
54+
- Suggested the ability to encrypt/decrypt hidden files, and --Force now
55+
supports this.
56+
57+
Ben Staude
58+
- Submitted a patch to allow multiple --Exclude patterns to be specified
59+
directly from the command line.

ChangeLog

Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
gpgdir-1.9.6 (01/05/2015):
2+
- In --Obfuscate-filenames mode, added support for also obfuscating
3+
directories. Each directory is obfuscated similarly to files, so
4+
/some/directory/path/ becomes /some/directory/gpgdir_dN where "N" is
5+
an integer that is incremented for each directory at the same relative
6+
path level. The original directory names are stored in an encrypted
7+
file ".gpgdir_dir_map_file.gpg" for each original directory. The top
8+
level directory path is not obfuscated.
9+
- (Ben Staude) Submitted a patch to allow multiple --Exclude patterns to
10+
be specified directly from the command line.
11+
- Better pid file handling so that the <dir>/.gpgdir.pid file is removed
12+
at gpgdir shutdown even if various error conditions exist.
13+
- (Test suite): Added more rigorous test suite support for ensuring that
14+
the shape of a directory is preserved across the encrypt/decrypt cycle.
15+
There was already code to verify MD5 sums across the cycle, but now an
16+
error will be thrown if any file is lost or a new file is created by
17+
gpgdir inappropriately.
18+
19+
gpgdir-1.9.5 (09/05/2009):
20+
- Added support for the decryption of PGP encrypted files (to round out
21+
the support of GnuPG).
22+
23+
gpgdir-1.9.4 (02/12/2009):
24+
- Fixed a bug in missing the proper handling of files with spaces when
25+
using the --Wipe secure deletion mode (reported by Lars Wilke).
26+
- The --Force option now supports the ability to encrypt/decrypt hidden
27+
files (suggested by Lars Wilke).
28+
29+
gpgdir-1.9.3 (11/05/2008):
30+
- Bugfix for using -f instead of -I for non-interactive file erasure
31+
(Franck Joncourt).
32+
- Simplified test suite code by creating a set of default arguments for
33+
the gpgdir command line as each test is executed.
34+
35+
gpgdir-1.9.2 (08/31/2008):
36+
- Added new modes '--sign <dir>' and '--verify <dir>' to allow all files
37+
in the specified directory to be signed or verified instead of encrypted
38+
or decrypted. All GnuPG signatures are created as "<file>.asc", and the
39+
original file is not removed in --sign mode. In --verify mode, if any
40+
file does not match the expected .asc signature, then a warning like the
41+
following will be generated:
42+
43+
[+] Verifying: /home/mbr/src/gpgdir/test/data-dir/multi-line-ascii.asc
44+
[GNUPG:] BADSIG 9EDEEEEBA742EEEF Some User <[email protected]>
45+
46+
- Bugfix to not die() when files that are encrypted with a different GnuPG
47+
key are encountered in a directory that is being decrypted. A warning
48+
message (see below) is now generated and the file is skipped:
49+
50+
[+] Decrypting: /home/mbr/tmp/gpgdir/a.gpg
51+
[GNUPG:] BAD_PASSPHRASE CF16F0FCFFF3FF4F
52+
[-] Skipping file encrypted with different GnuPG key: a.gpg
53+
54+
- Updated to use the status output from GnuPG::Interface to detect a bad
55+
passphrase and whether a file is encrypted with the expected GnuPG key.
56+
- Moved the GnuPG::Interface, Class::MethodMaker, and Term::ReadKey
57+
modules to the deps/ directory, and updated the installer and RPM spec
58+
file to account for the path change. This change was suggested by
59+
Franck Joncourt for the other cipherdyne.org projects.
60+
- Updated the test suite to generate files in the output/ directory
61+
according to test number and append the result of each test within each
62+
file. This makes it easy to tell which tests have failed with a simple
63+
'grep fail output/*test'.
64+
- Added the gpgdir-nodeps.spec file to allow an RPM to be built that does
65+
not contain any perl modules dependencies.
66+
- Updated gpgdir to import perl modules via 'require' statements instead
67+
of 'use' statements so that the path to the modules directory can be
68+
changed via the --Lib-dir command line argument. Also updated to use
69+
the 'auto' heuristic (first implemented in the fwknop project) to detect
70+
perl module directories that should be used in the --Lib-dir directory
71+
to import perl modules from.
72+
73+
gpgdir-1.9.1 (06/07/2008):
74+
- Updated to Class::MethodMaker 2.11 from CPAN. This helps with systems
75+
running perl-5.10.0 and greater (such as Fedora 9).
76+
- Updated to always set the LC_ALL environmental variable to the "C"
77+
locale. This can be set to other locales with a new argument --locale,
78+
or the default locale can be used by using --no-locale argument.
79+
80+
gpgdir-1.9 (05/31/2008):
81+
- Changed --Obfuscate-filenames format to not include the gpgdir PID.
82+
This allows directories to be encrypted/decrypted under -O multiple
83+
times without creating new filenames (which would pollute encrypted
84+
directories under rsync to other systems). The new -O encrypted
85+
filename format is just "gpgdir_<num>.gpg".
86+
- Added PID locking against directories so that multiple gpgdir processes
87+
cannot operate against the same top-level directory simultaneously.
88+
This is useful for users that typically operate with multiple shells
89+
and might launch gpgdir from any of them.
90+
91+
gpgdir-1.8 (04/04/2008):
92+
- Updated the test suite to validate the gpgdir --Obfuscate-filenames
93+
mode to ensure that files are encrypted as "gpgdir_<pid>_<num>.gpg".
94+
- Minor bug fix to remove the .gpgdir_map_file in --Obfuscate-filenames
95+
mode after a successful decryption cycle.
96+
- Updated to version 0.36 of CPAN GnuPG::Interface module.
97+
98+
gpgdir-1.7 (02/18/2008):
99+
- Bugfix to ensure that encrypted directories can actually be decrypted.
100+
This bug was reported by Per Ronny Westin.
101+
- Updated to use the ".asc" extension for encrypted files in --Plain-ascii
102+
mode.
103+
- Added gpgdir test suite. All future gpgdir releases (and including this
104+
1.7 release) require that all gpgdir tests pass on the systems where
105+
gpgdir is developed.
106+
107+
gpgdir-1.6 (02/17/2008):
108+
- Bugfix to not include previously encrypted files (i.e. those with a .gpg
109+
extension) in the encryption/decryption file list. This bug was
110+
introduced in gpgdir-1.5 when a change was made to ignore ascii-armored
111+
files.
112+
- Added added LC_ALL=C locale setting for the install.pl script (this
113+
should help to ensure gpgdir is properly installed on most systems). Two
114+
new command line arguments --LC_ALL and --no-LC_ALL also allow the
115+
locale setting to be changed or not used at all.
116+
- Added --Exclude-mod-regex option to the install.pl script so that it is
117+
possible to force the exclusion of perl modules that gpgdir would
118+
normally install. This is useful for ensuring that gpgdir references
119+
perl modules that are already installed in the system perl library tree
120+
instead of using those that are installed in /usr/lib/gpgdir.
121+
- Updated to display command line usage warnings without automatically
122+
displaying the entire usage() page (which is quite long).
123+
124+
gpgdir-1.5 (08/31/2007):
125+
- Added the --Symmetric option so that files can be encrypted/decrypted
126+
via a symmetric encryption algorithm (GnuPG commonly uses CAST5 for
127+
this).
128+
- Added the --Plain-ascii option so that GnuPG is invoked with the -a
129+
option so that encrypted files are ascii armored instead of encrypted in
130+
binary form.
131+
- Bugfix to ensure not to delete zero-size files if a bad password is
132+
given (gpgdir now just throws a warning and exits in this case).
133+
- Minor code enhancements to provide a consistent hash_init() invocation
134+
with the same options hash.
135+
- Updated to exclude .asc files from the encryption/decryption process.
136+
137+
gpgdir-1.4 (07/20/2007):
138+
- (Anthony Chivetta) Submitted patch to implement the
139+
--overwrite-encrypted command line argument to allow previously
140+
encrypted files to be overwritten. This is useful for updating an
141+
encrypted directory with new versions of the previously encrypted files.
142+
Also added the --overwrite-decrypted command line argument to perform
143+
the same function for previously decrypted files.
144+
- (Anthony Chivetta) Submitted patch to fix a bug where a filename of
145+
"0.gpg" could not be decrypted because "0" does not evaluate to a true
146+
value.
147+
148+
gpgdir-1.3 (06/09/2007):
149+
- Added --Obfuscate mode so that the files within a directory can be
150+
altered into unrecognizable names (which are stored within the file
151+
.gpgdir_map_file within each sub-directory, and this file is itself
152+
encrypted). The obfuscated file names are reversed when a directory
153+
is decrypted.
154+
- Added the --Agent-info command line argument so that the value of the
155+
GPG_AGENT_INFO environment variable can be specified on the gpgdir
156+
command line.
157+
158+
gpgdir-1.2 (05/28/2007):
159+
- Added support for installing gpgdir on Windows under Cygwin (via the
160+
install.pl script). Installing gpgdir on FreeBSD systems also works.
161+
- Added support for installing gpgdir within a user home directory without
162+
the need for root access (this requires installing gpgdir with the
163+
install.pl script).
164+
- Added --agent to have gpgdir acquire gpg key password from a running
165+
gpg-agent instance.
166+
- Added --no-password so gpgdir can use a gpg key with no associated
167+
password (this is not common). The user is not prompted for a password
168+
in this case.
169+
170+
gpgdir-1.1 (05/21/2007):
171+
- Added the ability to securely delete the original versions of files with
172+
the 'wipe' program (after they have been successfully encrypted). Also
173+
added --wipe-path to specify a path to the wipe binary (the default is
174+
/usr/bin/wipe), --wipe-interactive to force the wipe program to prompt
175+
the user before a file is deleted, and --wipe-cmdline to allow the user
176+
to build a set of command line arguments that are passed to the wipe
177+
program.
178+
- Added --Force to have gpgdir skip over the error condition where a file
179+
cannot be deleted (because of a permissions issue for example).
180+
- Added --Trial-run to allow the user to see what actions gpgdir would
181+
take to encrypt or decrypt files, but no files are actually modified.
182+
- Added --Interactive to have gpgdir prompt the user before every file is
183+
encrypted, decrypted.
184+
- Added the gpgdir.SlackBuild script (contributed by pyllyukko originally
185+
for the psad project) for building gpgdir on Slackware systems.
186+
187+
gpgdir-1.0.3 (09/17/2006):
188+
- Minor bugfix to correct 1.0.1 version number (which should have been set
189+
to 1.0.2) in the gpgdir RPM spec file.
190+
191+
gpgdir-1.0.2 (09/17/2006):
192+
- Minor bugfix to correct 1.0 version number (which should have been set
193+
to 1.0.1). The result is the 1.0.2 release.
194+
195+
gpgdir-1.0.1 (09/16/2006):
196+
- Added --quiet option to have gpgdir print as little as possible to the
197+
screen when encrypting or decrypting a directory.
198+
- Added x86_64 RPM (original patch from Mate Wierdl adapted for gpgdir).
199+
200+
gpgdir-1.0 (09/13/2006):
201+
- Added --Key-id command line argument so that use_key can be overridden
202+
from the command line
203+
- Made the argument to use_key not have to strictly be a keyID since GnuPG
204+
allows a unique string match on keys in the key ring
205+
- Added --Default-key to allow the user to have gpgdir use the default
206+
key that is defined by GnuPG within the ~/.gnupg/options file.
207+
- Updated the .gpgdirrc file to include the line "default_key" to allow
208+
the user to have gpgdir prefer to use the GnuPG default key.
209+
- Added the ChangeLog.svn file to show exactly which files have been
210+
changed from release to release, and what the corresponding Subversion
211+
log messages are.
212+
- Minor documentation updates.
213+
214+
gpgdir-0.9.9 (09/07/2006):
215+
- Added RPM .spec file to build gpgdir as an RPM.
216+
- Added the --Skip-mod-install command line argument to install.pl to
217+
allow all perl module installs to be skipped.
218+
- Added the --force-mod-regex command line argument to install.pl to allow
219+
a regex match on perl module names to force matching modules to be
220+
installed.
221+
- Updated to TermReadKey-2.30 from 2.21.
222+
223+
gpgdir-0.9.8 (07/03/2006):
224+
- Updated to use GnuPG::Interface instead of GnuPG module. This should
225+
fix the incompatibility issues seen between the GnuPG module and some
226+
GnuPG installations.
227+
- Added perl module installation code from fwknop (see
228+
http://www.cipherdyne.org/fwknop/). This allows gpgdir to
229+
preferentially use any perl modules that are already be installed on the
230+
system.
231+
232+
gpgdir-0.9.4 (10/12/2005):
233+
- Updated test mode to encrypt and decrypt a testing file within the
234+
directory to be encrypted or decrypted. This file is located at
235+
<dir>/gpgdir_test, and is removed after the test is completed.
236+
- Bugfix for "protocol error: expected SHM_GET_XXX got GOOD_PASSPHRASE"
237+
error in GnuPG module.
238+
239+
gpgdir-0.9.3 (02/20/2005):
240+
- Added --Include and --Include-from options to allow inclusion
241+
regular expressions to be specified.
242+
- Bugfix for not decrypting filesnames that contain spaces.
243+
244+
gpgdir-0.9.2 (01/05/2005):
245+
- Added preservation of file mtime and atime values (may be disabled
246+
with the --no-preserve-times option).
247+
- Added testing encryption and decryption of dummy file (may be
248+
disabled with --skip-test) by default for both encrypt and decrypt
249+
modes.
250+
- Added --test-mode to run encrypt -> decrypt test and exit.
251+
- Removed unnecessary compression options.
252+
- Updated get_homedir() to reference HOME environmental variable if
253+
the /etc/passwd file does not exist (OS X being a good example).
254+
- Added --verbose mode.
255+
- Updated output to generate errors on a per-file basis instead of
256+
dumping them at the end of an encrypt/decrypt operation.
257+
258+
gpgdir-0.9.1 (11/11/2004):
259+
- Updated GnuPG.pm perl module to handle return code of PLAINTEXT
260+
which seems to be returned by GunPG now (as of version 1.2.6)
261+
instead of DECRYPTION_OKAY upon a successful decryption.
262+
263+
gpgdir-0.9 (09/12/2004):
264+
- Added --gnupg-dir option to allow a user to specify a different
265+
user's .gnupg directory for encryption keys.
266+
- Switched to "[+]" (and related) message prefixes.
267+
268+
gpgdir-0.8 (05/29/2004):
269+
- Added --Exclude and --Exclude-from options to allow files to be
270+
excluded based on regex matches.
271+
- Reworked error messages so they contain the filename associated
272+
with each error.
273+
274+
gpgdir-0.4 (04/23/2004):
275+
- Added --pw-file option so that a decryption password can be
276+
read out of a file.
277+
- Better directory validation (filesystem -e and -d checks).
278+
- Added INSTALL file.
279+
- Updated man page and README file.
280+
281+
gpgdir-0.3 (09/27/2003):
282+
- Bundled perl modules GnuPG and TermReadKey with gpgdir.
283+
- Modified install.pl and gpgdir to install and use GnuPG and
284+
TermReadKey modules from the /usr/lib/gpgdir directory.
285+
- Added check_commands() subroutine from psad.

INSTALL

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
Installation notes:
2+
3+
QUICK AND EASY INSTALLATION INSTRUCTIONS:
4+
5+
Just run the gpgdir installation script "install.pl" from the gpgdir
6+
sources directory:
7+
8+
# ./install.pl
9+
10+
If you are not installing as root, the install.pl script will install gpgdir
11+
along with required perl modules within your home directory. If you are
12+
installing as root, required perl modules will be installed in /usr/lib/gpgdir
13+
so as to not pollute the system perl library tree. The required perl modules
14+
are GnuPG::Interface, Class::MethodMaker, and Term::ReadKey, and these modules
15+
are placed in the deps/ directory.

0 commit comments

Comments
 (0)