Commit Graph

703 Commits

Author SHA1 Message Date
Ian Lee
af64702dd0 Simplify FileNode Cache. Remove the need for PlaceHolder.
- Store std::shared_ptr's directly, no need for PlaceHolder wrapper
 - Use std::forward_list to store shared_ptr's, the shared_ptr
   is guaranteed to be unique hence a set is an unnecessary overhead
 - Refactor code to use FileNode * instead of PlaceHolder *
2016-05-10 16:32:34 +01:00
Valient Gough
282fe77ec7
replace getdir with readdir 2016-04-30 23:10:45 -07:00
Valient Gough
ba9b25a1d2
reformat 2016-04-26 22:56:03 -07:00
Valient Gough
057a5741e7
fix trivial memory leak 2016-04-26 22:55:56 -07:00
Valient Gough
19a49b7865 Merge pull request #158 from benrubson/issue156
Improve unmount
2016-04-26 22:25:04 -07:00
Valient Gough
aacce54f42
add encfs_create, fixes #162 2016-04-26 21:49:27 -07:00
benrubson
01cdc07f95 fixes a never ending unmounting case, and log if we still have opened files 2016-04-26 08:49:29 +02:00
Valient Gough
05a749d32f
replace INFO log level 2016-04-25 21:18:08 -07:00
Valient Gough
4326eed2ec
drop old TR1 test 2016-04-25 21:10:41 -07:00
Valient Gough
b70d4500bc Merge pull request #160 from vgough/glog
replace rlog with easylogging++
2016-04-24 23:21:16 -07:00
Valient Gough
e47ec3d8c5
move tinyxml2 to internal path 2016-04-24 23:15:43 -07:00
Valient Gough
8bf55774ac
add license text for included sources 2016-04-24 23:15:43 -07:00
Valient Gough
46a5c9f4f9
replace rlog with easylogging++ 2016-04-24 23:15:43 -07:00
Valient Gough
f345450abd vendor tinyxml2 (#159)
* vendor tinyxml2 and switch to static build by default
* drop tinyxml2 from CI requirements
2016-04-24 21:33:15 -07:00
Valient Gough
f7149eaf7a
correct return code, fixes #142 2016-04-23 22:19:07 -07:00
Valient Gough
671ff0e3f2 Merge pull request #154 from vgough/xml
replace boost serialization with tinyxml2
2016-04-15 16:05:03 -07:00
Valient Gough
e78d1659e3
replace boost serialization with tinyxml2 2016-04-14 23:56:59 -07:00
Valient Gough
bbf3d6f679 Merge pull request #150 from benrubson/issue81
Add method to check password
2016-04-10 21:24:42 -07:00
benrubson
252f15e33d Add method to check password 2016-03-26 17:20:33 +01:00
Valient Gough
0426051a3e Merge pull request #148 from jetwhiz/fork-master
Bugfix: Labels are backwards for "Block" and "Block32" encoding
Set default to Block32 on OSX and Windows.
2016-03-24 10:31:12 -07:00
Valient Gough
0602d89e03 Merge pull request #149 from jetwhiz/fork-origin-15
add buffer size assertions when handling names
2016-03-24 10:29:51 -07:00
Charles Munson
6db69c2b0a Consolidate rAssert statements in BlockNameIO
Whitespace cleanup
StreamNameIO rAssert statements should be the same
2016-03-24 16:34:52 +01:00
Charles Munson
80a2492b9f Fix whitespace issues
Replace tabs with spaces
2016-03-24 15:57:06 +01:00
Valient Gough
6ff6ee6cc8 Merge pull request #140 from Konubinix/master
Allow extpass option in encfsctl cat command
2016-03-23 22:32:05 -07:00
Charles Munson
a0e02cb3ea Bugfix: Possible Out of Bounds Write in StreamNameIO and BlockNameIO #15
Issue #15, the encodeName functions fail to verify buffer length can
  store encoded filenames
For good measure and interface consistency, also check decodeName fnc
2016-03-23 14:07:52 +01:00
Charles Munson
3d30e064ba Choose Block32 by default for Apple and Windows (Issue #8)
Default to Block32 when choosing standard or paranoid mode on
  case-insensitive systems (Apple and Windows)
2016-03-22 14:55:34 +01:00
Charles Munson
b015f0c294 Amend: Labels are backwards for "Block" and "Block32" (Issue #8)
Forgot to update header declaration for CurrentInterface
2016-03-22 14:55:02 +01:00
Charles Munson
aa08c382d9 Bugfix: Labels are backwards for "Block" and "Block32" encoding
Block32 should be used for case-insensitive systems (not Block)
2016-03-21 22:43:22 +01:00
Samuel Loury
cde0103a85 Allow to use extpass in encfsctl 2016-01-27 09:17:46 +01:00
Valient Gough
da03864538 add donation section 2016-01-03 17:21:48 -08:00
Valient Gough
34faaf417f Merge pull request #131 from brycv/master
Fix typo in man page
2015-12-13 22:07:39 -08:00
Bryan Vyhmeister
d84d46c21d Fix typo in man page 2015-11-30 13:51:38 -08:00
Valient Gough
f0fdbd8fb0 Merge pull request #130 from rfjakob/issue112
Remove open_readonly_workaround
2015-11-30 11:21:43 -08:00
Jakob Unterwurzacher
c2e046b694 Remove open_readonly_workaround
Since commit 82ceb88998 has removed
libfuse permissions checking, this function has caused read-only
files to writeable.

There seems to be no valid use case for writing to a read-only file (anymore?),
remove the function.

Fixes issue 112.
2015-11-30 08:43:41 +01:00
Jakob Unterwurzacher
ed058fabcd Handle getSize errors in BlockFileIO::write
getSize can return -1 if the file was deleted.
Just return an error to the user instead of
crashing in a segmentation fault.
2015-11-23 08:16:05 +01:00
Valient Gough
deba6064ac Merge pull request #128 from nckx/master
encfs.pod: remove duplicate full stops
2015-11-22 21:09:01 -08:00
Tobias Geerinckx-Rice
5803be109d encfs.pod: remove duplicate full stops 2015-11-18 00:43:25 +01:00
Valient Gough
52d5302eb9 Merge pull request #127 from rfjakob/repair-tests
Repair tests
2015-11-14 16:04:09 -08:00
Valient Gough
a461d88cc3 Merge pull request #125 from ossobv/wjd-refuse_descent_into_own_mountpoint
Perform checks to ensure that we're not descending into ourself.
2015-11-14 16:03:00 -08:00
Jakob Unterwurzacher
fe4b2a6345 Add "build.sh" helper script
Simplifies compiling encfs and is also used by test.sh
2015-11-12 19:18:35 +01:00
Jakob Unterwurzacher
a424a2155b tests: fix paths for new build path, add "test.sh" wrapper for usability
All tests pass at the moment.
2015-11-12 19:18:35 +01:00
Jakob Unterwurzacher
c3e63d7836 tests: fix "push on reference is experimental" warning
"tests/reverse.t.pl .. push on reference is experimental at tests/common.pl line 144."
2015-11-12 19:18:34 +01:00
Walter Doekes
07fb5b8990 Perform checks to ensure that we're not descending into ourself.
It's possible to mount this filesystem in a descendant of the real
(source) filesystem. For instance, one could do this:

    encfs --reverse / /home/encrypted/rootfs

At that point, all files in `/` (like `/root/.bashrc`) are also in
`/home/encrypted/rootfs` (like `/home/encrypted/rootfs/root/.bashrc`).

This can be useful when you want to export an encrypted copy of the
filesystem: the remote backup machine can fetch any file, but all files
will be encrypted.

However, the mountpoint itself is also there:

    /home/encrypted/rootfs/home/encrypted/rootfs

This would cause a `find /` of the filesystem to take infinite time. And
what's worse; trying to read files from there would cause the filesystem
to lock up:

    cat /home/encrypted/rootfs/home/encrypted/rootfs/root/.bashrc
    (infinite hang)

This patch adds an extra check so the filesystem refuses to descend into
itself.
2015-11-12 11:08:31 +01:00
Valient Gough
2d3780bb64 Merge pull request #113 from cloehle/patch-1
Fixed typo
2015-10-11 21:55:42 -07:00
Valient Gough
71cecd249b Merge pull request #117 from posita/posita/osx-encfssh
Use `umount` on systems where `fusermount` is not available.
2015-10-11 21:54:12 -07:00
Matt Bogosian
95d6ae8bec Use umount on systems where fusermount is not available. 2015-10-11 13:33:49 -07:00
Christian Loehle
1e52f2126c Fixed typo then -> than
Signed-off-by: Christian Loehle <cloehle@linutronix.de>
2015-09-18 12:20:04 +02:00
Valient Gough
340fefda32 Merge pull request #105 from vgough/cmake28
Lower CMAKE dependency to version 2.8
2015-08-20 20:21:37 -07:00
Valient Gough
05a445d65c use default cmake install for circle ci test 2015-08-19 20:13:14 -07:00
Valient Gough
4742699fdf lower required CMake version to 2.8 2015-08-19 20:11:40 -07:00