{"push_id":1003153958,"size":22,"distinct_size":0,"ref":"refs/heads/master","head":"653d4a619cb7b937d81deab4f20d3c8d4baa4898","before":"dac9f71089b1f20493b29edcec848ab188944990","commits":[{"sha":"2f32114bd356c2124d75fb1879ff230fc1f0ca1b","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Add per-inode write mutex\n\nAt the moment, FUSE writes to a single file are serialized by the kernel.\nHowever, it is unclear if this is guaranteed behaviour or may change\nin the future.\n\nThis patch adds our own per-inode write lock to rule out races regardless\nof kernel behavoir.","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/2f32114bd356c2124d75fb1879ff230fc1f0ca1b"},{"sha":"523e43068504fde769de7caf446c110c1e4204b2","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Add \"-nosyslog\" options\n\nAlso, actually redirect Warn and Debug as well.","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/523e43068504fde769de7caf446c110c1e4204b2"},{"sha":"9ecb489c66d9b7e681debc9b23756d8d43820d68","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Allow \"-d\" as an alis for \"-debug\", and \"-quiet\" as an alias for \"-q\"","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/9ecb489c66d9b7e681debc9b23756d8d43820d68"},{"sha":"65b8d5bc46d76d0c200052dea9534947ff92fc6f","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Update MANPAGE with new options","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/65b8d5bc46d76d0c200052dea9534947ff92fc6f"},{"sha":"8fb32aab683959ca8aefac55090dbfa39f827682","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Downgrade \"gocryptfs.diriv not found\" warning if the directory was deleted\n\nThe directory may have been concurrently deleted or moved. Failure to\nread the diriv is not an error in that case.\n\nDowngrading the message to debug.","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/8fb32aab683959ca8aefac55090dbfa39f827682"},{"sha":"4259c8f7ebc9f5d167556ed142e82e8232706de6","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Only warn once for unsupported fallocate(2) and truncate(2)\n\nAlso, print the inode number in Ftruncate warnings.","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/4259c8f7ebc9f5d167556ed142e82e8232706de6"},{"sha":"4c9e249e3ac1fc2995e01eb1ed24799c3a3bc66b","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Convert fdLock to an RWMutex and protect the whole transaction\n\n...against concurrent closes.\n\nThe testcase\n\n\t(set -e; while true; do truncate -s $RANDOM b; done) &\n\t(set -e; while true; do truncate -s $RANDOM b; done) &\n\nuncovered lots of unnecessary RMW failures that were the result\nof concurrent closes.\n\nWith this patch, the only remaining error is \"Truncate on forgotten file\"\nthat is probably caused by a problem in the go-fuse lib\n( https://github.com/hanwen/go-fuse/issues/95 )","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/4c9e249e3ac1fc2995e01eb1ed24799c3a3bc66b"},{"sha":"6454db68d97667f90ec1f0f838c7da275c46d2b8","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Add new \"-wpanic\" option and enable it for the automated tests","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/6454db68d97667f90ec1f0f838c7da275c46d2b8"},{"sha":"1573efec98bd96a078afdf5d1584436b07dac165","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Don't print plain text directory name in \"Invalid name\" warning","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/1573efec98bd96a078afdf5d1584436b07dac165"},{"sha":"adcfbd79a8b8bb85cbee25996ab622a05de0dbc1","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Rename DirIVCacheEnc to just DirIVCache\n\n...and unexport dirIVCache","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/adcfbd79a8b8bb85cbee25996ab622a05de0dbc1"},{"sha":"2b8cbd944149afe51fadddbd67ee4499d1d86250","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Major refactoring: Split up \"cryptfs\" into several internal packages\n\n\"git status\" for reference:\n\ndeleted:    cryptfs/cryptfs.go\ndeleted:    cryptfs/names_core.go\nmodified:   integration_tests/cli_test.go\nmodified:   integration_tests/helpers.go\nrenamed:    cryptfs/config_file.go -> internal/configfile/config_file.go\nrenamed:    cryptfs/config_test.go -> internal/configfile/config_test.go\nrenamed:    cryptfs/config_test/.gitignore -> internal/configfile/config_test/.gitignore\nrenamed:    cryptfs/config_test/PlaintextNames.conf -> internal/configfile/config_test/PlaintextNames.conf\nrenamed:    cryptfs/config_test/StrangeFeature.conf -> internal/configfile/config_test/StrangeFeature.conf\nrenamed:    cryptfs/config_test/v1.conf -> internal/configfile/config_test/v1.conf\nrenamed:    cryptfs/config_test/v2.conf -> internal/configfile/config_test/v2.conf\nrenamed:    cryptfs/kdf.go -> internal/configfile/kdf.go\nrenamed:    cryptfs/kdf_test.go -> internal/configfile/kdf_test.go\nrenamed:    cryptfs/cryptfs_content.go -> internal/contentenc/content.go\nnew file:   internal/contentenc/content_api.go\nrenamed:    cryptfs/content_test.go -> internal/contentenc/content_test.go\nrenamed:    cryptfs/file_header.go -> internal/contentenc/file_header.go\nrenamed:    cryptfs/intrablock.go -> internal/contentenc/intrablock.go\nrenamed:    cryptfs/address_translation.go -> internal/contentenc/offsets.go\nnew file:   internal/cryptocore/crypto_api.go\nrenamed:    cryptfs/gcm_go1.4.go -> internal/cryptocore/gcm_go1.4.go\nrenamed:    cryptfs/gcm_go1.5.go -> internal/cryptocore/gcm_go1.5.go\nrenamed:    cryptfs/nonce.go -> internal/cryptocore/nonce.go\nrenamed:    cryptfs/openssl_aead.go -> internal/cryptocore/openssl_aead.go\nrenamed:    cryptfs/openssl_benchmark.bash -> internal/cryptocore/openssl_benchmark.bash\nrenamed:    cryptfs/openssl_test.go -> internal/cryptocore/openssl_test.go\nnew file:   internal/nametransform/name_api.go\nnew file:   internal/nametransform/names_core.go\nrenamed:    cryptfs/names_diriv.go -> internal/nametransform/names_diriv.go\nrenamed:    cryptfs/names_noiv.go -> internal/nametransform/names_noiv.go\nrenamed:    cryptfs/names_test.go -> internal/nametransform/names_test.go\nnew file:   internal/nametransform/pad16.go\nrenamed:    cryptfs/log.go -> internal/toggledlog/log.go\nrenamed:    cryptfs/log_go1.4.go -> internal/toggledlog/log_go1.4.go\nrenamed:    cryptfs/log_go1.5.go -> internal/toggledlog/log_go1.5.go\nmodified:   main.go\nmodified:   masterkey.go\nmodified:   pathfs_frontend/file.go\nmodified:   pathfs_frontend/file_holes.go\nmodified:   pathfs_frontend/fs.go\nmodified:   pathfs_frontend/fs_dir.go\nmodified:   pathfs_frontend/names.go\nmodified:   test.bash","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/2b8cbd944149afe51fadddbd67ee4499d1d86250"},{"sha":"9078a77850dd680bfa938d9ed7c83600a60c0e7b","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Move pathfs_frontend to internal/fusefrontend\n\n\"git status\" for reference:\n\nrenamed:    pathfs_frontend/args.go -> internal/fusefrontend/args.go\nrenamed:    pathfs_frontend/compat_darwin.go -> internal/fusefrontend/compat_darwin.go\nrenamed:    pathfs_frontend/compat_linux.go -> internal/fusefrontend/compat_linux.go\nrenamed:    pathfs_frontend/file.go -> internal/fusefrontend/file.go\nrenamed:    pathfs_frontend/file_holes.go -> internal/fusefrontend/file_holes.go\nrenamed:    pathfs_frontend/fs.go -> internal/fusefrontend/fs.go\nrenamed:    pathfs_frontend/fs_dir.go -> internal/fusefrontend/fs_dir.go\nrenamed:    pathfs_frontend/names.go -> internal/fusefrontend/names.go\nrenamed:    pathfs_frontend/write_lock.go -> internal/fusefrontend/write_lock.go\nmodified:   main.go","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/9078a77850dd680bfa938d9ed7c83600a60c0e7b"},{"sha":"b0ee5258b1ac60b9a672d9db0816b17ae12d0e55","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Fix tests - were broken by the refactoring","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/b0ee5258b1ac60b9a672d9db0816b17ae12d0e55"},{"sha":"c74772bc8d7348ced429e5ca6ef47a53a8f215ff","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Run go fmt","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/c74772bc8d7348ced429e5ca6ef47a53a8f215ff"},{"sha":"9b6894bdbfa19020c06947a2e0d598c594f298da","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"test.bash: Accept flags","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/9b6894bdbfa19020c06947a2e0d598c594f298da"},{"sha":"6b27b6a1e71e8cd7c4910192cc31e70d3d1b652d","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Move dirIVCache to its own file","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/6b27b6a1e71e8cd7c4910192cc31e70d3d1b652d"},{"sha":"5abd9cec136bfb981c728eb3bf0f92b2282601c6","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"travis: run all tests in \"internal\"","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/5abd9cec136bfb981c728eb3bf0f92b2282601c6"},{"sha":"e111e20649cfacd7b02dd454d75db879aa2ca53c","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"longnames part I: Create and OpenDir work with long filenames > 176 bytes\n\nTodo: Rename, Unlink, Rmdir, Mknod, Mkdir","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/e111e20649cfacd7b02dd454d75db879aa2ca53c"},{"sha":"3a4922b5d747d54c9cb62833c9d69acb96b072f6","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Add tests for long name creation and renaming (currently failing, obviously)","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/3a4922b5d747d54c9cb62833c9d69acb96b072f6"},{"sha":"6b5d977cce3a65f04f17c84aa9b2776b52487946","author":{"email":"7c7da871694b9103132154fbc0e628ed4ce0b34a@gmail.com","name":"Jakob Unterwurzacher"},"message":"Move OpenDir to fs_dir.go","distinct":false,"url":"https://api.github.com/repos/rfjakob/gocryptfs/commits/6b5d977cce3a65f04f17c84aa9b2776b52487946"}]}