Jakob Unterwurzacher
2b8cbd9441
Major refactoring: Split up "cryptfs" into several internal packages
...
"git status" for reference:
deleted: cryptfs/cryptfs.go
deleted: cryptfs/names_core.go
modified: integration_tests/cli_test.go
modified: integration_tests/helpers.go
renamed: cryptfs/config_file.go -> internal/configfile/config_file.go
renamed: cryptfs/config_test.go -> internal/configfile/config_test.go
renamed: cryptfs/config_test/.gitignore -> internal/configfile/config_test/.gitignore
renamed: cryptfs/config_test/PlaintextNames.conf -> internal/configfile/config_test/PlaintextNames.conf
renamed: cryptfs/config_test/StrangeFeature.conf -> internal/configfile/config_test/StrangeFeature.conf
renamed: cryptfs/config_test/v1.conf -> internal/configfile/config_test/v1.conf
renamed: cryptfs/config_test/v2.conf -> internal/configfile/config_test/v2.conf
renamed: cryptfs/kdf.go -> internal/configfile/kdf.go
renamed: cryptfs/kdf_test.go -> internal/configfile/kdf_test.go
renamed: cryptfs/cryptfs_content.go -> internal/contentenc/content.go
new file: internal/contentenc/content_api.go
renamed: cryptfs/content_test.go -> internal/contentenc/content_test.go
renamed: cryptfs/file_header.go -> internal/contentenc/file_header.go
renamed: cryptfs/intrablock.go -> internal/contentenc/intrablock.go
renamed: cryptfs/address_translation.go -> internal/contentenc/offsets.go
new file: internal/cryptocore/crypto_api.go
renamed: cryptfs/gcm_go1.4.go -> internal/cryptocore/gcm_go1.4.go
renamed: cryptfs/gcm_go1.5.go -> internal/cryptocore/gcm_go1.5.go
renamed: cryptfs/nonce.go -> internal/cryptocore/nonce.go
renamed: cryptfs/openssl_aead.go -> internal/cryptocore/openssl_aead.go
renamed: cryptfs/openssl_benchmark.bash -> internal/cryptocore/openssl_benchmark.bash
renamed: cryptfs/openssl_test.go -> internal/cryptocore/openssl_test.go
new file: internal/nametransform/name_api.go
new file: internal/nametransform/names_core.go
renamed: cryptfs/names_diriv.go -> internal/nametransform/names_diriv.go
renamed: cryptfs/names_noiv.go -> internal/nametransform/names_noiv.go
renamed: cryptfs/names_test.go -> internal/nametransform/names_test.go
new file: internal/nametransform/pad16.go
renamed: cryptfs/log.go -> internal/toggledlog/log.go
renamed: cryptfs/log_go1.4.go -> internal/toggledlog/log_go1.4.go
renamed: cryptfs/log_go1.5.go -> internal/toggledlog/log_go1.5.go
modified: main.go
modified: masterkey.go
modified: pathfs_frontend/file.go
modified: pathfs_frontend/file_holes.go
modified: pathfs_frontend/fs.go
modified: pathfs_frontend/fs_dir.go
modified: pathfs_frontend/names.go
modified: test.bash
2016-02-06 19:22:35 +01:00
Jakob Unterwurzacher
6454db68d9
Add new "-wpanic" option and enable it for the automated tests
2016-01-31 18:09:39 +01:00
Jakob Unterwurzacher
dac9f71089
tests: more helpful error message when the tmp dir cannot be cleared
2016-01-24 13:07:18 +01:00
Jakob Unterwurzacher
17f0eb1339
Convert logging to standard Go log.Logger
...
This is in preparation of logging to syslog.
2016-01-20 20:57:00 +01:00
Jakob Unterwurzacher
1caa925868
Increase GCM IV size from 96 to 128 bits
...
This pushes back the birthday bound for collisions to make it virtually
irrelevant.
2015-12-19 15:02:29 +01:00
Jakob Unterwurzacher
00a712b4d1
go fmt
...
...and minimal comment changes.
2015-12-13 20:24:13 +01:00
Jakob Unterwurzacher
b02ad12814
tests: overwrite directory with another directory
...
Testcase for issue #10 (currently failing)
2015-12-11 23:27:38 +01:00
Jakob Unterwurzacher
7758bdc61d
tests: add "gocryptfs -init -plaintextnames" cli testcase
2015-12-11 22:21:00 +01:00
Jakob Unterwurzacher
e99e841713
Rmdir: handle creating and removing unreadable directories
...
This patch also splits off Mkdir and Rmdir into its own file.
Fixes issue #8 , thanks to @diseq for the bug report.
2015-12-11 20:02:12 +01:00
Jakob Unterwurzacher
61ee2271c4
tests: test read-write directory operations on all example filesystems
2015-12-10 20:02:18 +01:00
Jakob Unterwurzacher
29336ba614
tests: add v0.6-plaintextnames example filesystem
2015-12-10 19:50:45 +01:00
Jakob Unterwurzacher
e3f35d38b5
tests: add v0.6 example filesystem with EME
2015-12-08 16:17:19 +01:00
Jakob Unterwurzacher
c6dacd6f91
Add EME filename encryption & enable it by default
2015-12-08 16:17:04 +01:00
Jakob Unterwurzacher
ff8c81f95b
go fmt
2015-12-08 13:51:06 +01:00
Jakob Unterwurzacher
7375d86ada
tests: add TestRename
2015-12-06 15:10:23 +01:00
Jakob Unterwurzacher
37c67393e6
tests: recreate v0.5 example filesystems with -scryptn=10
...
Cuts the mount time in half, from 0.788s to 0.321s.
2015-12-06 14:41:51 +01:00
Jakob Unterwurzacher
ce42a6f23d
Run go fmt
2015-11-29 21:55:20 +01:00
Jakob Unterwurzacher
bb116282b7
Add "-scryptn" option that sets the cost parameter for scrypt
...
Use that option to speed up the automated tests by 7 seconds.
Before:
ok github.com/rfjakob/gocryptfs/integration_tests 26.667s
After:
ok github.com/rfjakob/gocryptfs/integration_tests 19.534s
2015-11-29 18:53:40 +01:00
Jakob Unterwurzacher
eb38a36114
tests: add v0.5 example filesystem (with DirIV!)
2015-11-28 20:31:01 +01:00
Jakob Unterwurzacher
8766ab5472
tests: verify that symlinks work
2015-11-28 20:21:06 +01:00
Jakob Unterwurzacher
fe7355f9ee
diriv: use "DirIV" flag to discern and support mounting old filesystems
2015-11-28 18:38:06 +01:00
Jakob Unterwurzacher
a04a92cdab
Run go fmt
2015-11-27 22:20:01 +01:00
Jakob Unterwurzacher
798e5eb5e7
tests: create all-zero gocryptfs.diriv in resetTmpDir()
...
Tests were failing because this file was missing
2015-11-27 21:51:40 +01:00
Jakob Unterwurzacher
decfc1ab79
diriv: Convert filename encryption users to diriv
2015-11-27 00:03:10 +01:00
Jakob Unterwurzacher
b5bf59a31d
tests: check Mkdir and Rmdir
2015-11-25 22:08:07 +01:00
Jakob Unterwurzacher
2efd25eefe
Update README for v0.4
...
Also, add short comments to the top of main_test.go and
performance_test.go.
2015-11-15 16:06:19 +01:00
Jakob Unterwurzacher
40882c6e49
tests: add example_filesystems, test password and -masterkey mount
2015-11-15 15:05:15 +01:00
Jakob Unterwurzacher
7a2ab0b233
tests: add tests for "-config" option
2015-11-15 13:48:30 +01:00
Jakob Unterwurzacher
d95fc2333a
Add "-extpass" cli option and associated tests
2015-11-15 13:42:04 +01:00
Jakob Unterwurzacher
61aacb5c1b
Run go fmt and go vet
2015-11-14 17:16:17 +01:00
Jakob Unterwurzacher
f9c21e91aa
tests: Add file create benchmarks for different sizes
...
Example output on my machine:
~/src/github.com/rfjakob/gocryptfs$ ./benchmark.bash
gocryptfs v0.3.1-25-g2e33888-dirty; on-disk format 2
PASS
BenchmarkStreamWrite-2 100 12189867 ns/op 86.02 MB/s
BenchmarkStreamRead-2 200 9113262 ns/op 115.06 MB/s
BenchmarkCreate0B-2 10000 100249 ns/op
BenchmarkCreate1B-2 10000 177680 ns/op 0.01 MB/s
BenchmarkCreate100B-2 3000 431586 ns/op 0.23 MB/s
BenchmarkCreate4kB-2 3000 455204 ns/op 9.00 MB/s
BenchmarkCreate10kB-2 3000 594044 ns/op 17.24 MB/s
ok github.com/rfjakob/gocryptfs/integration_tests 15.176s
2015-11-14 16:49:59 +01:00
Jakob Unterwurzacher
2e3388800d
tests: replace linux kernel untar test with synthetic small file creation
2015-11-12 21:18:18 +01:00
Jakob Unterwurzacher
3664320fe5
tests: move integration tests to separate directory
...
Also, use new "-defaultonly" flag for benchmarks
(only tests with openssl=true plaintextnames=false)
2015-11-12 21:02:44 +01:00