Commit Graph

466 Commits

Author SHA1 Message Date
Jakob Unterwurzacher
64b01a0869 tests: check if the second mount works as well
Should prevent things like https://github.com/vgough/encfs/issues/343
from happening again.
2017-07-19 22:57:35 +02:00
Jakob Unterwurzacher
c8ff1f94e8 Add a canary value to FileNode
Adds a uint32 value to FileNode that is initialized to an
arbitrary value (CANARY_OK) in the constructor, and reset
when the reference is dropped (CANARY_RELEASED,
CANARY_DESTROYED).

The canary is checked on each withFileNode call.

Makes it much easier to trigger the bug seen in
https://github.com/vgough/encfs/issues/214 .
2017-07-19 22:57:35 +02:00
Jakob Unterwurzacher
319f7b4525 tests: circleci: drop fuse tests
circleci does not support fuse. Just run checkops.
2017-06-25 18:37:08 +02:00
Maya Rashish
d75851d339 Accept netbsd's librefuse as a FUSE library 2017-06-25 13:47:26 +02:00
benrubson
8d8506f2eb Correctly detect attr binary during tests 2017-06-25 13:22:45 +02:00
benrubson
d216cc4208 Improve auto unmount 2017-06-10 18:51:15 +02:00
benrubson
8cc6639f64 Make CircleCI run make check 2017-05-28 17:45:24 +02:00
Johannes Bornhold
ea67ef11f5 Add check for reading the configuration from a pipe 2017-05-28 16:24:35 +02:00
Johannes Bornhold
59378ae7fe Read config into memory and pass its content to tinyxml2 (#253)
tinyxml2 does not support to read from a named pipe, since it uses seek to
figure out the file size. In the case of a pipe this is not possible.

Reading the file content into memory and passing the content to tinyxml2 allows
to mitigate this problem.
2017-05-28 16:24:35 +02:00
Ben RUBSON
f75854cd31 Update cmake (#309)
* Update cmake

* Update cmake, make Travis use it

* Enable all tests in a single command : make check

* Make cmake flawlessly run with Debian jessie cmake 3.0.2

* Make Travis use our own cmake 3.0.2 compiled version

* Typo in preferred version

* Be sure travis will have gettext
2017-05-28 16:20:21 +02:00
benrubson
c270963df8 Use INITIALIZE_EASYLOGGINGPP in Error.cpp 2017-04-23 14:21:36 +02:00
benrubson
fc39c4dd20 Delete grow() test file
so that next tests do not depend on it
2017-04-13 20:20:57 +02:00
benrubson
c68c130724 Add option 't' to set syslog tag 2017-04-02 23:52:29 +02:00
benrubson
b1a7e0ff5e Remove timestamp from loglines
when syslog is used
2017-04-02 23:52:29 +02:00
benrubson
42ef6ee0c7 Update easylogging++ to v9.94.1 2017-04-02 19:31:05 +02:00
Ben RUBSON
7295b3369b Check that llistxattr exists (#307)
This PR solves
https://github.com/vgough/encfs/issues/305 "llistxattr breaks compilation on Mac OS X"
checking whether llistxattr exists or not.
2017-04-01 19:58:05 +02:00
Ben RUBSON
7cc6efa60c Display default yes/no choice when creating initial directories
Currently the text displayed is

    The directory "..." does not exist. Should it be created? (y,n)

This patch changes it to

    The directory "..." does not exist. Should it be created? (y,N)
2017-03-25 13:55:53 +01:00
Aikhjarto
e4d1679c10 Fixed Typo (#304) 2017-03-25 13:50:56 +01:00
Charles Duffy
a17f7366c2 Fix up encfssh (#258)
* Fix up encfssh

The original implementation of encfssh had several issues:

- Could not safely handle directory names with spaces
- Could not safely handle paths starting with a dash (`-`)
- Option strings could not be passed with spaces
- Could print incorrect help based on filenames in current directory
- Used `test` syntax deprecated in current POSIX.2 standard
- Had shell injection vulnerabilities based on both current working directory
  and mount-point directory names.
- Failures of the canonicalize function could silently return the current
  directory rather than the target.

In this version, shell injection is only permitted through the (explicitly
defined) `FUSE_UMOUNT` mechanism.

This version also adds support for the GNU-style "--help" argument.
2017-03-16 22:21:02 +01:00
Ben RUBSON
618db2374c Get idle counters at once (#294)
to avoid a race with usage==0 & openCount>0
2017-03-10 08:47:04 +01:00
Ben RUBSON
efbdd29716 Allow read/write in standard reverse mode (#301) 2017-03-09 22:56:37 +01:00
rfjakob
62505fa240 Merge pull request #287 from dinoboy197/resolve_extattrs_for_symlinks
Resolve xattrs for symlinks (resolves #247, resolves #283)
2017-02-20 21:35:18 +01:00
rfjakob
544275f24b Merge pull request #289 from antcc/master
Change Spanish initials to English in es_ES.po
2017-02-17 10:32:05 +01:00
Antonio CC
4d51bafb5e Change Spanish initials to English in es_ES.po
Change 's' to 'y' when asked to create a directory if it does not already exist.
2017-02-17 10:13:33 +01:00
Taylor Raack
10e26bf488 Resolve xattrs for symlinks (resolves #247, resolves #283) 2017-02-13 22:03:43 -08:00
rfjakob
424275208c Merge pull request #285 from dinoboy197/turn_on_all_integration_tests
Turn on all integration tests in Travis build
2017-02-12 12:11:45 +01:00
Taylor Raack
693d7f94aa Turn on all integration tests in Travis build 2017-02-11 21:38:48 -08:00
rfjakob
3b1b07fc14 Merge pull request #282 from rfjakob/issue280
Revert "-S" ABI change

Revert c3a7da5eff and enforce empty password ban.

Context:
https://github.com/tomm/cryptkeeper/issues/23
https://github.com/vgough/encfs/issues/280
2017-02-06 22:37:44 +01:00
Jakob Unterwurzacher
5994b28542 Exit with a fatal error on empty password
The requirement that the password is not empty was not enforced
properly in all getUserKey() variants. Add the check to makeKey()
instead that is called in every code path.

This also fixes the crash desribed at https://github.com/vgough/encfs/issues/241 .
2017-02-05 14:06:19 +01:00
Jakob Unterwurzacher
e9592fade4 Revert "Fix a segfault when password is zero length."
The change intended to fix a segfault when encfs is passed a zero-length
password (https://github.com/vgough/encfs/issues/241).

However, it also changed the CLI ABI which caused breakage in Cryptkeeper
(https://github.com/tomm/cryptkeeper/issues/23) and other third-party
projects that call EncFS.

Fixes https://github.com/vgough/encfs/issues/280 .

This reverts commit c3a7da5eff.
2017-02-05 14:05:36 +01:00
Valient Gough
ac87a8ba0e Merge pull request #257 from charles-dyfis-net/shell-pedantry
Suggest "$@", not $*, in documentation
2017-01-07 22:55:37 -08:00
Charles Duffy
ecc364df0d Suggest "$@", not $*, in documentation
`$*` operates by:

- Concatenating all arguments with the first character in `IFS` (by default a space) into a single string
- Splitting that string on all characters found in `IFS` to join a list of words
- Expanding each of those words as a glob character

Thus, using `$*` in a wrapper means that an argument such as `"one word"` becomes two arguments, `one` and `word`, and an argument `'*.txt'` can be replaced with an entirely unknown number of arguments (`one.txt`, `two.txt`) despite its quoting.

Use `"$@"` to pass an argument vector through literally without any kind of expansion.
2016-12-22 16:37:15 -06:00
Valient Gough
2be5bc7a11 Merge pull request #248 from Code7R/master
Declare minimum cmake version to have the Intl module
2016-12-15 15:08:01 -08:00
Valient Gough
d9bd3d260e Merge pull request #251 from enodata/master
Fix misplaced namespace closing brace
2016-12-15 12:49:38 -08:00
Dmitri Goutnik
afe67ab9a0 fix misplaced namespace closing brace 2016-12-10 09:59:03 -05:00
Eduard Bloch
8509f26db8 Declare minimum cmake version to have the Intl module
Also mention Debian Backports where one can get a recent version and
also ninja-build as alternative to make (fixes #226)
2016-11-15 20:17:12 +01:00
Valient Gough
559c30d01e Merge pull request #235 from rogeliodh/remove_deprecated_RAND_pseudo_bytes
remove usage of deprecated RAND_pseudo_bytes
2016-10-31 14:36:40 -07:00
Valient Gough
2e41664562 Merge pull request #243 from ial0/ial_passwd_fix
Fix a segfault when password is zero length.
2016-10-31 14:36:01 -07:00
Ian Lee
c3a7da5eff Fix a segfault when password is zero length.
if useStdin and configMode == Config_Prompt, default to Config_Standard,
otherwise we might read the password input at the wrong place.
2016-10-31 16:56:35 +00:00
Rogelio Domínguez Hernández
b7fc9d09d9 remove usage of deprecated RAND_pseudo_bytes
Ignore the @strongRandom in SSL_Cipher::randomize because OpenSSL does not offer a "weak" random generator
2016-10-26 12:33:36 -05:00
Valient Gough
bf3b31cb8e Merge pull request #233 from nckx/nckx/misc
Miscellaneous small man page fixes (mostly typos)
2016-10-23 13:28:26 -07:00
Tobias Geerinckx-Rice
8d7ce724c9
Miscellaneous small man page fixes (mostly typos) 2016-10-20 17:24:59 +02:00
Valient Gough
441fa20ed6 Merge pull request #230 from rogeliodh/openssl_1.1
build with openssl 1.1.0b
2016-10-17 15:46:21 -07:00
Rogelio Domínguez Hernández
0573bc500c create OpenSSL < 1.1 compat header 2016-10-16 08:37:22 -05:00
rfjakob
323d57c53c Merge pull request #229 from rogeliodh/make_encfssh_executable
Obviously-good change, merging.
2016-10-16 15:17:57 +02:00
Rogelio Domínguez Hernández
2574a77536 build with openssl 1.1.0b 2016-10-15 12:37:12 -05:00
Rogelio Domínguez Hernández
0ae1d81b5e make encfssh script executable 2016-10-15 11:55:27 -05:00
Valient Gough
656423f03f Merge pull request #223 from mtausig/fix/tmpfile_warning
Replace tmpnam with secure alternative.
2016-10-06 09:48:50 -07:00
Mathias Tausig
65fa9f863b Replace tmpnam with secure alternative. (Issue #200) 2016-10-06 14:11:11 +02:00
Valient Gough
644a0b2d78 Merge pull request #222 from thejinx0r/patch-1
CMakeList uses CMAKE_CURRENT_LIST_DIR
2016-10-03 10:52:26 -07:00