mirror of
https://github.com/vgough/encfs.git
synced 2025-01-24 14:48:35 +01:00
Merge pull request #51 from rfjakob/next
Fix reverse tests on OSX, improve install documentation
This commit is contained in:
commit
a69075a901
@ -9,7 +9,8 @@ user-mode and acts as a transparent encrypted filesystem.
|
||||
Usage
|
||||
-----
|
||||
|
||||
- To see command line options, see the man page for encfs and encfsctl, or for
|
||||
- To see command line options, see the man page for [encfs](encfs/encfs.pod)
|
||||
and [encfsctl](encfs/encfsctl.pod), or for
|
||||
brief usage message, run the programs without an argument (or '-h'):
|
||||
% encfs -h
|
||||
% man encfs
|
||||
|
23
INSTALL
23
INSTALL
@ -1,23 +0,0 @@
|
||||
|
||||
|
||||
Encfs uses the GNU autoconf / automake toolchain to create makefiles.
|
||||
|
||||
The configure script is automatically generated, but is part of most EncFS
|
||||
distributions. If you have a distribution that does not contain the configure
|
||||
script, then you can generate it by running "autoreconf -if" or by running
|
||||
"make -f Makefile.dist".
|
||||
|
||||
To build encfs, run:
|
||||
|
||||
./configure
|
||||
make
|
||||
|
||||
This creates two executables, encfs and encfsctl in the encfs directory. You
|
||||
can install to in a system directory via "make install". If the default path
|
||||
(/usr/local) is not where you want things installed, then use the "--prefix"
|
||||
option to configure to specify the install prefix.
|
||||
|
||||
Encfs and encfsctl can also be installed by hand. They need no special
|
||||
permissions. You may also want the man pages encfs.1 and encfsctl.1.
|
||||
|
||||
|
54
INSTALL.md
Normal file
54
INSTALL.md
Normal file
@ -0,0 +1,54 @@
|
||||
This document provides generic information for compiling EncFS.
|
||||
|
||||
If you are looking for specific instructions for your distribution,
|
||||
take a look at the page
|
||||
**[Installing EncFS](https://github.com/vgough/encfs/wiki/Installing-Encfs)**
|
||||
in the wiki.
|
||||
|
||||
Compiling EncFS
|
||||
===============
|
||||
|
||||
EncFS uses the GNU autoconf / automake toolchain to create makefiles.
|
||||
Also, the configure script is automatically generated using autoreconf.
|
||||
|
||||
Compiling EncFS is a three-step process:
|
||||
|
||||
autoreconf -if
|
||||
./configure
|
||||
make
|
||||
|
||||
Optional, but strongly recommended, is running the test suite
|
||||
to verfify that the generated binaries work as expected
|
||||
(runtime: 20 seconds)
|
||||
|
||||
make test
|
||||
|
||||
The compilation process creates two executables, encfs and encfsctl in
|
||||
the encfs directory. You can install to in a system directory via
|
||||
|
||||
make install
|
||||
|
||||
. If the default path (`/usr/local`) is not where you want things
|
||||
installed, then use the `--prefix` option to `configure` to specify the
|
||||
install prefix.
|
||||
|
||||
Encfs and encfsctl can also be installed by hand. They need no special
|
||||
permissions. You may also want the man pages encfs.1 and encfsctl.1.
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
EncFS depends on a number of libraries:
|
||||
|
||||
openssl fuse boost-serialization gettext libtool libintl
|
||||
|
||||
Compiling on Debian and Ubuntu
|
||||
==============================
|
||||
|
||||
We use Travis CI to automatically build-test every commit:
|
||||
|
||||
[![Build Status](https://travis-ci.org/vgough/encfs.svg)](https://travis-ci.org/vgough/encfs)
|
||||
|
||||
The [Travis configuration file .travis.yml](.travis.yml) therefore
|
||||
always contains up-to-date instructions to build EncFS on Ubuntu
|
||||
(Travis uses Ubuntu build machines).
|
@ -17,7 +17,10 @@ EncFS encrypts individual files, by translating all requests for the virtual
|
||||
EncFS filesystem into the equivalent encrypted operations on the raw
|
||||
filesystem.
|
||||
|
||||
For more technical details and a usage overview, see [DESIGN.md](DESIGN.md).
|
||||
For more info, see:
|
||||
|
||||
- The excellent [encfs manpage](encfs/encfs.pod)
|
||||
- The technical overview in [DESIGN.md](DESIGN.md)
|
||||
|
||||
## Status
|
||||
|
||||
|
@ -14,6 +14,12 @@ dnl without this order in this file, automake will be confused!
|
||||
dnl
|
||||
AM_CONFIG_HEADER(config.h)
|
||||
|
||||
dnl If the string "PKG_CHECK_MODULES" appears in the output,
|
||||
dnl the macro was not substituted, probably because pkg-config is
|
||||
dnl not installed. Catch that right here instead of creating a
|
||||
dnl broken configure script.
|
||||
m4_pattern_forbid([PKG_CHECK_MODULES])
|
||||
|
||||
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
||||
unset CDPATH
|
||||
|
||||
|
@ -138,7 +138,7 @@ the encrypted data. You must also keep a copy of the file /home/me/.encfs5
|
||||
which contains the filesystem information. Together, the two can be used to
|
||||
reproduce the unencrypted data:
|
||||
|
||||
ENCFS5_CONFIG=/home/me/.encfs5 encfs /tmp/crypt-view /tmp/plain-view
|
||||
ENCFS6_CONFIG=/home/me/.encfs6.xml encfs /tmp/crypt-view /tmp/plain-view
|
||||
|
||||
Now /tmp/plain-view contains the same data as /home/me
|
||||
|
||||
@ -232,6 +232,24 @@ B<Warning>: Use this option at your own risk.
|
||||
|
||||
=back
|
||||
|
||||
=head1 ENVIRONMENT VARIABLES
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<ENCFS6_CONFIG>
|
||||
|
||||
Which config file (typically named .encfs6.xml) to use.
|
||||
By default, the config file is read from the encrypted directory.
|
||||
Using this option allows to store the config file separated from the
|
||||
encrypted files.
|
||||
|
||||
Warning: If you lose the config file, the encrypted file contents are
|
||||
irrecoverably lost. It contains the master key encrypted with your
|
||||
password. Without the master key, recovery is impossible, even if you
|
||||
know the password.
|
||||
|
||||
=back
|
||||
|
||||
=head1 EXAMPLES
|
||||
|
||||
Create a new encrypted filesystem. Store the raw (encrypted) data in
|
||||
|
@ -33,7 +33,7 @@
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 21
|
||||
#serial 22
|
||||
|
||||
AC_DEFUN([AX_BOOST_BASE],
|
||||
[
|
||||
@ -97,6 +97,12 @@ if test "x$want_boost" = "xyes"; then
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give
|
||||
dnl them priority over the other paths since, if libs are found there, they
|
||||
dnl are almost assuredly the ones desired.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs"
|
||||
|
||||
dnl first we check the system location for boost libraries
|
||||
dnl this location ist chosen if boost libraries are installed with the --layout=system option
|
||||
dnl or if you install boost with RPM
|
||||
|
@ -1,3 +1,16 @@
|
||||
# Portable FUSE unmount
|
||||
# works on Linux AND OSX
|
||||
sub portable_unmount {
|
||||
my $crypt = shift;
|
||||
my $fusermount = qx(which fusermount);
|
||||
chomp($fusermount);
|
||||
if(-f $fusermount) {
|
||||
qx($fusermount -u "$crypt");
|
||||
} else {
|
||||
qx(umount "$crypt");
|
||||
}
|
||||
}
|
||||
|
||||
# Helper function
|
||||
# Get the MD5 sum of the file open at the filehandle
|
||||
use Digest::MD5 qw(md5_hex);
|
||||
|
@ -316,15 +316,7 @@ sub mount
|
||||
# Unmount and delete mountpoint
|
||||
sub cleanup
|
||||
{
|
||||
my $fusermount = qx(which fusermount);
|
||||
chomp($fusermount);
|
||||
if(-f $fusermount)
|
||||
{
|
||||
qx($fusermount -u "$crypt");
|
||||
} else
|
||||
{
|
||||
qx(umount "$crypt");
|
||||
}
|
||||
portable_unmount($crypt);
|
||||
|
||||
rmdir $crypt;
|
||||
ok( ! -d $crypt, "unmount ok, mount point removed");
|
||||
|
@ -32,8 +32,8 @@ sub newWorkingDir
|
||||
# Unmount and delete mountpoint
|
||||
sub cleanup
|
||||
{
|
||||
system("fusermount -u $decrypted");
|
||||
system("fusermount -u $ciphertext");
|
||||
portable_unmount($decrypted);
|
||||
portable_unmount($ciphertext);
|
||||
our $workingDir;
|
||||
rmtree($workingDir);
|
||||
ok( ! -d $workingDir, "working dir removed");
|
||||
|
Loading…
Reference in New Issue
Block a user