Commit Graph

233 Commits

Author SHA1 Message Date
gdrooid
bb863b7e17 Modify _msg function for new string format. 2014-09-01 09:28:32 +02:00
Jaromil
76248f2d66 documentation updates 2014-08-30 19:38:56 +02:00
Jaromil
e8aaf03b52 Completed refactoring of secret handling, all unit tests working.
This refactoring avoids writing of keys on filesystem, exception made
for the 'setkey' command. Loopfiles and tempfiles are automatically
wiped at exit, variable are filled with random data before unset.
2014-08-30 19:38:56 +02:00
Jaromil
16b319c256 More cleanup and refactoring.
Now most functions are stable. tomb open -k image.jpg can use images
directly as keys, works on tests, but needs more debugging.
2014-08-26 00:54:41 +02:00
Jaromil
5d9caf01e0 Cleanup and normalization of functions handling secrets
also now using a dash - after print and gettext options to avoid
parsing printed strings as options.
2014-08-25 23:32:32 +02:00
Jaromil
1d815a1f7e More refactoring of how keys, passwords and secrets are stored
includes a working loopback and tempfile cleanup in endgame()
and several changes in order to avoid saving anything on disk
WIP addressing #124 and #126
2014-08-25 21:07:47 +02:00
Jaromil
f794b78795 Merge pull request #123 from gdrooid/i18n
Install and use translations.
2014-08-19 18:48:49 +02:00
Jaromil
31ab169e2f Merge pull request #122 from gdrooid/master
Substitute /dev/null redirection with closing stdin/err. Cleanup some obsolete functions.
2014-08-17 21:10:18 +02:00
Jaromil
7bd21e4419 remove newline from decrypted key's secret, fixes #125 2014-08-17 21:05:22 +02:00
gdrooid
22f3ab09e5 Close std(out|err) instead of redirecting to /dev/null. 2014-08-15 01:43:52 +02:00
gdrooid
6c4bc38e6a Small fixes/Remove dead options 2014-08-15 01:43:52 +02:00
Jaromil
9d718d0ebb signal traps for endgame cleanups 2014-08-14 09:58:15 +02:00
gdrooid
7d434787b6 Install and use translations. 2014-08-11 23:01:58 +02:00
Jaromil
f7b83de6ca cleanup implicitly exhumed key and move get_lukskey() closer to caller funcs 2014-08-06 11:21:08 +02:00
Jaromil
5158c380fe refactoring of the way password and keys are handled internally
this change uses an hidden global variable within tomb to store the
decrypted key material, avoiding using one tempfile in RAM, avoiding
running the decryption more than once (which means sanity for KDF
usage) and overall simplifying the code also avoiding duplicates.
2014-08-06 07:43:25 +02:00
Jaromil
534476a849 fixes to piping keys stdin/out in image steganography
Also started refactoring code around key handling and
added some documentation.
2014-08-05 17:05:49 +02:00
Jaromil
b7e89e5246 fix to exhume key (steg) to correctly print on stdout when -k -
addressing issue #118
2014-08-03 19:54:43 +02:00
Jaromil
b425f82f99 Merge pull request #114 from gdrooid/master
Indent everything with spaces
2014-07-21 20:06:07 +02:00
Jaromil
da349afeda Security fix for use in multi-user environments
The tomb mount is now readable by the opening uid only (711 r-x--x--x);
directory access is preserved to allow sharing access to certain subdirs.

Review and fix contributed by Morten Langlo
2014-07-14 18:58:09 +02:00
gdrooid
79fdca5342 Align everything with spaces. 2014-07-13 17:35:28 +02:00
gdrooid
2282782bc2 Remove trailing spaces. 2014-07-13 16:51:13 +02:00
Jaromil
f6885729ac documentation updates for release 2014-06-09 12:22:33 +02:00
Jaromil
9bc0bd762b Merge pull request #112 from reiven/master
fixed 'non interactive' e2fsck on resize, proposal for #111
2014-06-08 20:37:07 +02:00
Jaromil
108a4c00fc setkey now works also in dev-mode
includes some minor code refactoring mostly around setkey
2014-06-08 20:30:35 +02:00
Federico Reiven
d2982307a8 fixed 'non interactive' e2fsck on resize, proposal for #111 2014-06-08 15:05:25 -03:00
Jaromil
052a86de0c fixes to key password handling
refactoring of the code using ask_key_password for better support
of dev-mode password supplied from CLI. This also fixes all uses of
passwd command to change a key's password.
2014-06-08 19:33:35 +02:00
Jaromil
ba9d7e03fc make sure sbin is in PATH
this helps find cryptsetup
2014-06-01 22:19:49 +02:00
Jaromil
85fe8fdc01 Merge pull request #107 from gdrooid/master
Message formatting inconsistencies
2014-05-11 09:28:01 +02:00
gdrooid
47d13addb2 message formatting fix 2014-05-06 08:12:19 +02:00
reiven
ff1ee165c2 fixed incorrect help for dig command 2014-05-05 13:12:42 -03:00
gdrooid
ee3caecafd message formatting fix 2014-04-30 17:31:28 +02:00
gdrooid
c49606f2dc documentation fix 2014-04-28 14:56:21 +02:00
Jaromil
9009fba9f5 re-fix for .gnupg home dir 2014-04-25 23:16:47 +02:00
Jaromil
cf66907fa2 fixes a nasty bug on forge when run without /home/jrml/.gnupg
thanks to Giuliana Dieni for debbugging
2014-04-04 14:52:40 +02:00
Jaromil
db42a8fd3f documentation for a new minor release 2014-02-24 16:09:28 +01:00
Jaromil
12f49bf2ff another fix to key handling
ultimately removing the case in which we guess if the key is near
the tomb: that is not anymore in documentation and we stop encouraging
to keep the key near the tomb.
2014-02-21 22:40:06 +01:00
Jaromil
7fb404d97c documentation update for minor bugfix release 2014-02-20 11:12:21 +01:00
Jaromil
a7d330997e fixed correct handling and deletion of keys when taken from stdin 2014-02-19 12:08:26 +01:00
Jaromil
10baee25a6 Resize now appends directly to tomb file
this avoids creating a delta file in ram, filling it eventually.
fixes #99
2014-01-13 00:17:24 +01:00
Jaromil
9991405124 sanitized the way key filenames are set
there was some inconsistency in the way load_keys was accepting
different parameters or guessing from the tomb filename.

fixes #98
2014-01-13 00:09:37 +01:00
Jaromil
325633d2fb correct documentation on -s option
somewhere mentioned as --size, but the option is really just -s
fixes #100
2014-01-12 23:40:45 +01:00
Jaromil
f9805731f1 Merge pull request #101 from hellekin/swap
Better support for multiple swap partitions, avoids warning if swap is encrypted.
2014-01-12 14:35:17 -08:00
Jaromil
39bfce25f8 Change default cipher specification
new default is "aes-xts-plain64:sha256"
manpage now includes note on how to tune it
fixes #102
2014-01-12 23:32:23 +01:00
hellekin
42a51c53fc Support encrypted swaps 2013-12-16 18:23:10 -03:00
hellekin
15517e0141 Support multiple swaps 2013-12-16 18:20:52 -03:00
hellekin
7f2fd4d60c Support encrypted swap 2013-12-16 17:41:49 -03:00
hellekin
0e49dfc7a0 Detect non-partition swaps 2013-12-16 16:34:39 -03:00
Jaromil
8e9cc7d5c2 more post-hooks documentation and second argument passed with mountpoint 2013-09-19 15:37:21 +02:00
Jaromil
0ca70509cf fix to engrave usage of qrencode 2013-09-18 02:19:14 +02:00
Jaromil
8f25001f57 fixed versioning and extras reorganization 2013-09-08 16:10:19 +02:00
Jaromil
fa75d0f7bc check if loop mount is possible
if not abort gracefully with an explanation
(10x to Bucciarati and sdonk)
2013-09-05 12:45:40 +02:00
Jaromil
914ac9594e last fixes and documentation for release
manual page updates and improvements to kdf argument handling
2013-06-20 12:46:20 +02:00
Jaromil
064b9c964c Improved swish indexing
swish-e usage for indexing of file contents is stable
2013-06-20 10:30:54 +02:00
Jaromil
f3c18819d2 documentation and test improvements
also renamed 'backup' command into 'engrave'
2013-06-20 10:26:12 +02:00
Jaromil
551a7839f5 important fix for backward compatibility to 1.2
a grave bug has been affecting 1.3 and 1.3.1 releases, which makes keys
created with those versions incompatible with other Tomb versions.
This bug is now fixed and Tomb should be able again to open old tombs.
A script to sanitize keys will be released soon.
2013-06-20 00:45:23 +02:00
Jaromil
8d46ff46e1 new backup command to save keys on paper
Backup simply encodes a QRCode that can be print on paper and
hidden in books or so, to keep phisical backups of keys.
The QR can be simply scanned with any smartphone, saved into a file
and reused as a key.
2013-06-19 20:52:21 +02:00
Jaromil
8f4b0c6567 improvements to key handling
added a new 'change' command to change a Tomb's key
it replaces the same LUKS slot using luksChangeKey
2013-06-19 20:20:17 +02:00
Jaromil
9706ef1ab1 Index/Search support over file contents (Swish-e) 2013-06-12 18:15:55 +02:00
Jaromil
5c70938b67 create command deprecation 2013-06-12 15:39:46 +02:00
Jaromil
8e9fc7e803 Major fixes to KDF and steganography
With the advent of a proper test suite many bugs were found and
squashed both in the way KDF and steghide were used.

Key validation func is_valid_key() now attempts recovery for keys
that have broken headers or are naked text (back-compat to old exhume).

KDF and steg now work correctly.
2013-06-12 13:33:54 +02:00
Jaromil
bc3177141d fix to tomb resize
also included into test script
2013-06-12 03:01:28 +02:00
Jaromil
8f9e9f9d2a fixes to --tomb-pwd and new test script 2013-06-12 00:59:41 +02:00
Jaromil
61362ce34e forge and create refuse to overwrite existing files 2013-06-11 23:37:20 +02:00
Jaromil
28a52f5851 fixes to the way paths are handled in load_keys
should fix issue #97
2013-06-11 18:34:17 +00:00
Jaromil
6e51d166be search/index fixes
warning if mlocate not found and better search string handling
searches through all open tombs. mlocate seems to not support multiple strings well.
2013-06-11 16:49:58 +00:00
Jaromil
f43ab33872 Merge branch 'gpgfix' for gnupg result parsing and stdin keys 2013-06-11 15:57:20 +00:00
Jaromil
9e820f3de6 Fixes to GnuPG 1.4.11/1.4.12 result parsing
GnuPG 1 changes behaviour across 1.4.11 and 12 minor versions
when it comes to --status-fd and messaging on stderr/stdout.

This is a fix to make sure that gpg output is parsed correctly
2013-06-11 15:56:59 +00:00
Jaromil
772b731e5f small fixes to tmpfile handling for key from stdin 2013-06-11 15:05:15 +00:00
gdrooid
d4b5d652f5 Fixed "tomb search" for real
Makes `tomb search` work as expected.
`tomb search tombname pattern` will search `pattern` in `tombname`.
2013-05-31 14:18:20 +03:00
gdrooid
778bca3864 Fixed "tomb search"
This way you can't specify a tomb to search in, but at least it will search for the patterns.
2013-05-30 20:24:51 +02:00
gdrooid
88b24de30a Fixed 2 typos
changed a <tab> for a space
and corrected "sndexing"
2013-05-30 11:42:22 +03:00
Jaromil
c72ea9e52e last cosmetics for release
pdf rendering of manpage, images and copyright to foundation
2013-05-29 23:12:47 +02:00
Jaromil
361a194700 fix to key password verification
last minute bug slipped in: it doesn't recognizes correct passwords
in some strange situations where gnupg doesn't returns correctly
(for instance when a .gnupg dir is not found in home)
2013-05-29 21:05:30 +00:00
Jaromil
2601dccb27 Temporary key from stdin
fix to temp dir and docu in help
2013-05-28 13:00:54 +02:00
Jaromil
917d8e8c6c Literate programming documentation links 2013-05-28 12:53:26 +02:00
Jaromil
671350585e Massive code cleanup
This commit doesn't changes anything substantial in the code,
but reorganizes it in foldable units (we use folding.el) and
fixes its markup for literate code documentation using our own
fork of shocco.
2013-05-28 11:57:58 +02:00
Jaromil
110ae83cd1 Relevant improvements to key password handling
now keys are verified in load_key() honoring commanline args
ask_key_password() will challenge user verifying using gnupg
drop_key() should be called after key has been used

this commit removes quite som duplicate code in password handling.
2013-05-27 22:49:44 +02:00
Jaromil
f37f7dd51d Tomb size lower limit
Most filesystems can't deal with less than 10 MiB space
closes issue #68
2013-05-27 21:35:28 +02:00
Jaromil
568cc43ab6 Size unit is now MiB
More precise megabyte calculation as in IEC 2000 mebibyte
Cleans up use of dd/dcfldd
Solves issue #87
2013-05-27 21:24:17 +02:00
Jaromil
ad59dec3da documentation updates 2013-05-25 16:29:19 +02:00
Jaromil
c20ca3a920 whitespace cleanup 2013-05-25 15:05:21 +02:00
Jaromil
37792ffdc5 cleanup of the main script
improved binary check, made resize optional
and set aside old install command (was already unused)
2013-05-25 15:04:16 +02:00
Jaromil
3eb93acc18 Directory reorganization
This commit re-organizes all the source distribution contents to
present users with the simple script, while moving the rest in extras.
Also autoconf/automake scripts were removed, back to minimalism.

The rationale of this change is that Tomb really only consists of a
script and users with no extra needs should just be presented with
it with no need for anything else. Any other thing on top of the Tomb
script is an extra and can be even distributed separately or integrated
in distributions.
2013-05-18 17:29:37 +02:00