constant width of the main screen (works for mozilla/ff and ie55/60
refresh link for logs feature change default setting of UseConfigPartition to "0" README file rewritten README.samba added README.davfs added README.Debian rewritten event scripts for samba and apach2_dav improved do not redirect to "disks overview" after successful plugin execution (e.g. date, ...) unclean web dataset fixed removed some non-translateable strings from po and pot files automatically update the cryptobox version according to the debian package version number
This commit is contained in:
parent
f6ddb82f4c
commit
3500b67a40
|
@ -1,4 +1,6 @@
|
|||
include README
|
||||
include README.samba
|
||||
include README.davfs
|
||||
include LICENSE
|
||||
include changelog
|
||||
include copyright
|
||||
|
|
175
README
175
README
|
@ -1,24 +1,167 @@
|
|||
********************************************
|
||||
* CryptoBox v0.2.99 *
|
||||
********************************************
|
||||
|
||||
$Id$
|
||||
CryptoBox version 0.3
|
||||
|
||||
1) Documentation
|
||||
The documentation is available at https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser
|
||||
This file describes the webserver CryptoBox.
|
||||
The CryptoBox enables you to control the plaintext or encrypted harddisks of
|
||||
your server via a webinterface.
|
||||
Read on if you want to install the CryptoBox-server package on your computer.
|
||||
|
||||
2) Building a LiveCD
|
||||
try: "scripts/cbox-build.sh release"
|
||||
or look at the developer's documentation: https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxDev
|
||||
For more information, see the website:
|
||||
http://cryptobox.org
|
||||
|
||||
3) Bug reporting
|
||||
Use our issue tracker at https://systemausfall.org/trac/cryptobox/newticket
|
||||
Table of contents:
|
||||
1) Requirements
|
||||
2) Installation
|
||||
3) Setup
|
||||
4) Usage
|
||||
5) Development
|
||||
6) Acknowledgements
|
||||
7) Licence
|
||||
|
||||
4) Licence
|
||||
--------------------------------------------
|
||||
|
||||
1) Requirements
|
||||
- Linux 2.6
|
||||
- super (to selectively gain root privileges)
|
||||
- Python 2.4
|
||||
- some python packages:
|
||||
clearsilver 0.10 for python
|
||||
python-configobj 4.x
|
||||
cherrypy 2.x
|
||||
|
||||
|
||||
2) Installation
|
||||
For Debian, Ubuntu and other derivates you should use the debian package:
|
||||
see https://systemausfall.org/toolforge/debian/
|
||||
|
||||
There are currently no official rpm packages of the CryptoBox.
|
||||
|
||||
For source installation follow these steps:
|
||||
Get the source:
|
||||
http://cryptobox.org/download
|
||||
|
||||
Extract tarball and change to the new directory:
|
||||
tar xzf cryptobox-0.?.?.tar.gz
|
||||
|
||||
Install the program:
|
||||
python setup.by install
|
||||
|
||||
The installed files can be found in your local python installation directory.
|
||||
The default location should be:
|
||||
/usr/lib/python2.4/site-packages/cryptobox
|
||||
|
||||
As some actions of the cryptobox require root privileges, you have to add the
|
||||
following line to /etc/super.tab:
|
||||
CryptoBoxRootActions /usr/bin/CryptoBoxRootActions cryptobox
|
||||
The script /usr/bin/CryptoBoxRootActions is used to execute all actions
|
||||
requiring root privileges. Please check it to make sure, that your system will
|
||||
not get compromised.
|
||||
|
||||
|
||||
3) Setup
|
||||
|
||||
a) Start at bootup
|
||||
Set NO_START in /etc/default/cryptobox-server to "0".
|
||||
The CryptoBox webserver will get started by its runlevel control script
|
||||
after during booting.
|
||||
|
||||
b) Define managed devices
|
||||
You may restrict which blockdevices should be accessible to the CryptoBox.
|
||||
Simply set [Main]->AllowedDevices in /etc/cryptobox-server/cryptobox.conf
|
||||
to a comma separated list of device prefixes: e.g. /dev/sd gives access to
|
||||
all SCSI devices, while /dev/hda3 restricts it to this single partition.
|
||||
The user executing the webserver (by default: 'cryptobox') must have write
|
||||
access to these devices. Usually the cryptobox user is member of the 'disk'
|
||||
group. This gives control over most devices.
|
||||
Be careful with this setting, as you may expose important data to public
|
||||
read and write access.
|
||||
|
||||
c) Listening port and interface
|
||||
By default, the CryptoBox webserver listens to tcp port 8080 on all network
|
||||
interfaces. You can change this setting in /etc/default/cryptobox-server.
|
||||
Also take a look at your firewall settings.
|
||||
|
||||
d) Disable plugins
|
||||
The CryptoBox contains a lot of plugins. As some of them could expose
|
||||
unwanted features to your users, you should carefully select which plugins
|
||||
to disable.
|
||||
Quite likely candidates for disabling are:
|
||||
- shutdown: poweroff or reboot the computer
|
||||
- network: change IP, gateway or dns settings of the server
|
||||
- partition: partition blockdevices
|
||||
- volume_format_fs: format a disk/partition (plaintext/encrypted)
|
||||
Take a look at /usr/share/cryptobox-server/plugins for the list of
|
||||
other plugins.
|
||||
The setting [Main]->DisabledPlugins in /etc/cryptobox-server/cryptobox.conf
|
||||
is a comma separated list of plugin names. Capitalization is important!
|
||||
|
||||
e) Separate configuration partition
|
||||
The CryptoBox webserver requires a writeable directory for proper
|
||||
operation. If your root filesystem is not writeable (e.g. booting from a
|
||||
cdrom, read-only mounted flash memory, ...) you may use a seperated
|
||||
partition to store runtime settings. The CryptoBox will automatically
|
||||
creates it, when you use partition one of your disks with its interface.
|
||||
The setting [Main]->UseConfigPartition (see
|
||||
/etc/cryptobox-server/cryptobox.conf) defines, whether you want to use a
|
||||
separate partition (value "1") or if you want to store your runtime
|
||||
settings in the root filesystem (typically below
|
||||
/var/cache/cryptobox-server).
|
||||
|
||||
f) Samba/WebDAV/NFS/??? integration (aka. event script handling)
|
||||
The CryptoBox allows you to add event handling scripts for most of the
|
||||
interesting events: bootup/shutdown of the webserver and mount/umount
|
||||
of single volumes.
|
||||
If you want to automatically publish your mounted volumes with samba
|
||||
or similar fileservers, then you should take a closer look at the
|
||||
example scripts for samba and apache-webdav in
|
||||
/usr/share/doc/cryptobox-server/event-scripts.
|
||||
You may also just publish the mount directory of the CryptoBox. This
|
||||
will expose all mounted volumes very easily. Review the configuration
|
||||
file for the setting [Locations]->MountParentDir.
|
||||
|
||||
g) Take a close look at the configuration file to check all other options
|
||||
before you start the CryptoBox webserver.
|
||||
|
||||
|
||||
4) Usage
|
||||
Use your favourite web browser to go to http://localhost:8080 and browse the
|
||||
webinterface of the CryptoBox.
|
||||
Some parts of the interface are restricted to administrative access. The
|
||||
default access combination is the user 'admin' and the password 'admin'. Please
|
||||
change this setting immediately.
|
||||
The plugin 'user_manager' allows you to add users and to change passwords.
|
||||
The plugin 'plugin_manager' lets you configure, which plugins require
|
||||
administrative authentication.
|
||||
|
||||
The user manual (available via the 'help' plugin) should give you exhaustive
|
||||
usage information.
|
||||
The current version of the online manual is available at:
|
||||
https://systemausfall.org/trac/cryptobox/wiki/CryptoBoxUser
|
||||
|
||||
|
||||
5) Development
|
||||
bug reports: please use our issue tracker
|
||||
https://systemausfall.org/trac/cryptobox/newticket
|
||||
|
||||
email:
|
||||
cryptobox@systemausfall.org
|
||||
|
||||
The CryptoBox project is mainly driven by sense.lab (http://senselab.org).
|
||||
|
||||
|
||||
6) Acknowledgements
|
||||
Besides the core development team, these people helped a lot:
|
||||
Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation
|
||||
rike - french translation
|
||||
|
||||
We also want to thank the numerous developers of the Free Software, the
|
||||
CryptoBox depends on and that was used in development.
|
||||
|
||||
|
||||
7) Licence
|
||||
All scripts are GPL code (v2.0 or above).
|
||||
The documentation is licenced under "Creative Commons 2.5 share-alike" (http://creativecommons.org/licenses/by-sa/2.5/).
|
||||
|
||||
5) Contributors
|
||||
Clavdia Horvat, Tadej Brce & Dušan Rebolj - slovenian translation
|
||||
|
||||
6) Contact
|
||||
email: cryptobox@systemausfall.org
|
||||
|
||||
The CryptoBox project is mainly driven by sense.lab (https://systemausfall.org/senselab).
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
Integration of apach2 as a (Web)DAV server into the CryptoBox
|
||||
|
||||
This file describes how to expose the volumes that are managed by the CryptoBox
|
||||
through WebDAV shares.
|
||||
Apache2 including the dav_fs module is the most common server for the WebDAV
|
||||
filesystem. The following description will focus on this server.
|
||||
|
||||
First you have to install apache2 and the dav_fs module.
|
||||
Use your favourite package manager to install them.
|
||||
(Note for debian: the dav_fs module is part of the apache2-common package.
|
||||
Just activate the module via 'a2enmod dav_fs'.)
|
||||
|
||||
There are two different ways to do use dav shares:
|
||||
|
||||
|
||||
A) one share for all volumes together
|
||||
|
||||
Just create a file with the following lines to your /etc/apache2/conf.d directory:
|
||||
Alias "/cryptobox" "/var/cache/cryptobox-server/mnt"
|
||||
<Location "/cryptobox">
|
||||
Dav filesystem
|
||||
</Location>
|
||||
|
||||
Reload the new apache2 configuration by calling:
|
||||
invoke-rc.d apache2 reload
|
||||
|
||||
|
||||
|
||||
B) one share for each volume
|
||||
|
||||
Copy the example event script
|
||||
/usr/share/doc/cryptobox-server/event-script/apache2_dav to
|
||||
/etc/cryptobox-server/events.d/apache2_dav. This event handler will add and remove
|
||||
shares whenever a volume is mounted or unmounted via the CryptoBox webinterface.
|
||||
|
||||
Copy the file /usr/share/doc/cryptobox-server/conf-examples/apache2_dav.conf to
|
||||
/etc/apache2/conf.d/apache2_dav.
|
||||
|
||||
Create a directory for the apache share config files:
|
||||
mkdir -p /var/cache/cryptobox-server/apache2_dav.conf.d
|
||||
|
||||
Chown it to the cryptobox user:
|
||||
chown cryptobox /var/cache/cryptobox-server/apache2_dav.conf.d
|
||||
|
||||
Reload the new apache2 configuration by calling:
|
||||
invoke-rc.d apache2 reload
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
Integration of samba into the CryptoBox
|
||||
|
||||
This file describes how to expose the volumes that are managed by the CryptoBox
|
||||
through samba shares.
|
||||
|
||||
There are two different ways to do this:
|
||||
|
||||
|
||||
A) one share for all volumes together
|
||||
|
||||
Just add the following lines to your /etc/samba/smb.conf:
|
||||
[cryptobox]
|
||||
path = /var/cache/cryptobox-server/mnt
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
|
||||
Reload the new samba configuration by calling:
|
||||
invoke-rc.d samba reload
|
||||
|
||||
|
||||
|
||||
B) one share for each volume
|
||||
|
||||
Copy the example event script /usr/share/doc/cryptobox-server/event-script/samba
|
||||
to /etc/cryptobox-server/events.d/samba. This event handler will add and remove
|
||||
shares whenever a volume is mounted or unmounted via the CryptoBox webinterface.
|
||||
|
||||
Add the following line to your /etc/samba/smb.conf:
|
||||
include = /var/cache/cryptobox-server/samba-include.conf
|
||||
|
||||
Create this file:
|
||||
touch /var/cache/cryptobox-server/samba-include.conf
|
||||
|
||||
Chown it to the cryptobox user:
|
||||
chown cryptobox /var/cache/cryptobox-server/samba-include.conf
|
||||
|
||||
Reload the new samba configuration by calling:
|
||||
invoke-rc.d samba reload
|
||||
|
|
@ -50,7 +50,7 @@ allowedProgs = {
|
|||
|
||||
|
||||
DEV_TYPES = { "pipe":1, "char":2, "dir":4, "block":6, "file":8, "link":10, "socket":12}
|
||||
EVENT_MARKER = '_event_marker_'
|
||||
EVENT_MARKER = '_event_scripts_'
|
||||
|
||||
|
||||
def checkIfFileIsSafe(fname):
|
||||
|
|
|
@ -204,7 +204,9 @@ def parseOptions():
|
|||
## we do not expect any remaining arguments
|
||||
if len(args) != 0:
|
||||
parser.error("unknown argument: %s" % str(args[0]))
|
||||
if not os.access(options.logfile, os.W_OK):
|
||||
if not ((not os.path.exists(options.logfile) \
|
||||
and os.access(os.path.dirname(options.logfile), os.W_OK)) \
|
||||
or os.access(options.logfile, os.W_OK)):
|
||||
parser.error("could not write to logfile (%s)" % options.logfile)
|
||||
if not os.path.isdir(options.datadir) or not os.access(options.datadir,os.X_OK):
|
||||
parser.error("could not access the data directory (%s)" % options.datadir)
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
# this file is part of the CryptoBox
|
||||
# put it into /etc/cryptobox/apache2_dav-share.conf-template
|
||||
|
||||
Alias "/cryptobox/_VOLUME_NAME_" "_SHARE_DIR_"
|
||||
|
||||
<Location "/cryptobox/_VOLUME_NAME_">
|
||||
Dav filesystem
|
||||
</Location>
|
||||
|
|
@ -1,11 +1,13 @@
|
|||
# this file is part of the CryptoBox
|
||||
# put it into /etc/apache2/conf.d/
|
||||
# you MUST create the directory given below - otherwise apache will not like it :(
|
||||
# do not forget to chown the directory to the cryptobox user
|
||||
|
||||
<IfModule mod_dav_fs.c>
|
||||
# include the dynamically managed configuration directory - IT MUST EXIST
|
||||
Include /var/cache/cryptobox-server/settings/apache2_dav.conf.d/
|
||||
# lock database - should be writeable for www-data
|
||||
DavLockDB /tmp/dav_lock.db
|
||||
# a longer value than the default (120) help for high-latency networks
|
||||
DavMinTimeout 600
|
||||
# include the configuration file, that will contain "include" lines for every share
|
||||
Include /etc/cryptobox/apache2-include.conf
|
||||
</IfModule>
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
|
||||
# comma separated list of possible prefixes for accesible devices
|
||||
# beware: .e.g "/dev/hd" grants access to _all_ harddisks
|
||||
# take care, that the user 'cryptobox' has write access to these devices
|
||||
AllowedDevices = /dev/loop, /dev/ubdb
|
||||
|
||||
# use separate config partition? (1=yes / 0=no)
|
||||
UseConfigPartition = 1
|
||||
UseConfigPartition = 0
|
||||
|
||||
# the default name prefix of not unnamed containers
|
||||
DefaultVolumePrefix = "Disk "
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
[_VOLUME_NAME_]
|
||||
comment = CryptoBox share
|
||||
path = _SHARE_DIR_
|
||||
read only = yes
|
||||
guest ok = yes
|
||||
|
|
@ -1,2 +1,3 @@
|
|||
# adapt the following line to your local setup and add it to /etc/super.tab
|
||||
# 'yourUserName' is typically 'cryptobox'
|
||||
CryptoBoxRootActions /your/local/path/to/CryptoBoxRootActions.py yourUserName
|
||||
|
|
|
@ -1,5 +1,30 @@
|
|||
CryptoBox for Debian - installation notes
|
||||
|
||||
be aware of one thing:
|
||||
1) you need cryptsetup with luks support (for now only in testing)
|
||||
The main configuration file of the CryptoBox webserver is:
|
||||
/etc/cryptobox-server/cryptobox.conf
|
||||
All settings named [Foo]->Bar are defined in this file.
|
||||
|
||||
1) Configure startup and network settings in /etc/default/cryptobox-server.
|
||||
Set 'NO_START' to "0" if the CryptoBox should start at every bootup.
|
||||
|
||||
2) Define [Main]->AllowedDevices according to the devices that you want to
|
||||
publish via the cryptobox webinterface.
|
||||
|
||||
3) Choose a list of plugins to disable in [Main]->DisabledPlugins.
|
||||
|
||||
4) Use the username 'admin' and the password 'admin' to access protected
|
||||
parts of the CryptoBox. Please change the password soon in the 'user_manager'.
|
||||
You can use the 'plugin_manager' to define which parts of the CryptoBox should
|
||||
be restricted to administrative access.
|
||||
|
||||
5) Read /usr/share/doc/cryptobox-server/event-scripts/README for information
|
||||
about event handlers. They can be used to integrate fileservers (samba,
|
||||
apache2-dav, nfs, ...) into the CryptoBox. Detailed information about
|
||||
integration with samba and apach2-dav can be found in README.samba and
|
||||
README.davfs.
|
||||
|
||||
6) A line was automatically added to /etc/super.tab.
|
||||
This is necessary to gain root privileges for certain actions.
|
||||
Please inspect /usr/sbin/CryptoBoxRootActions carefully to make sure, that your
|
||||
system can not get compromised by this.
|
||||
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
cryptobox (0.2.53-1) unstable; urgency=low
|
||||
|
||||
* constant screen width
|
||||
* improved documentation
|
||||
* improved event scripts
|
||||
* changed default setting of 'UseConfigPartition'
|
||||
|
||||
-- Lars Kruse <devel@sumpfralle.de> Thu, 7 Dec 2006 05:10:43 +0100
|
||||
|
||||
cryptobox (0.2.52-1) unstable; urgency=low
|
||||
|
||||
* format partitions in background
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
README
|
||||
README.samba
|
||||
README.davfs
|
||||
copyright
|
||||
changelog
|
||||
doc/html
|
||||
|
|
|
@ -27,7 +27,7 @@ create_user_home()
|
|||
mkdir -p "$USER_HOME/settings"
|
||||
chown -R ${CRYPTOBOX_USER}: "$USER_HOME"
|
||||
# only members of the cryptobox group may access the user directory
|
||||
chmod 750 "$USER_HOME"
|
||||
chmod 755 "$USER_HOME"
|
||||
}
|
||||
|
||||
create_add_super_permission()
|
||||
|
|
|
@ -22,5 +22,5 @@ Every event script has to fulfill the following conditions:
|
|||
- be executable (for the cryptobox user and for root)
|
||||
- be writeable for root only
|
||||
- its parent directories must be writeable for root only
|
||||
- the directory of the script must contain a file called '_event_script_' (to prevent abuse)
|
||||
- the directory of the script must contain a file called '_event_scripts_' (to prevent abuse)
|
||||
|
||||
|
|
|
@ -20,13 +20,31 @@
|
|||
|
||||
set -eu
|
||||
|
||||
# ------------=-=-=- some settings -=-=-=-----------------
|
||||
# adapt this part of the file to your setup
|
||||
|
||||
APACHE_SCRIPT=/etc/init.d/apache2
|
||||
APACHE_CONF_DIR=/var/cache/cryptobox/apache2_dav.conf.d
|
||||
TEMPLATE_CONF_FILE=/etc/cryptobox/apache2_dav-share.conf-template
|
||||
MAIN_APACHE_CONF_FILE=/etc/cryptobox/apache2-include.conf
|
||||
|
||||
# this apache config snippet is used for every published volume
|
||||
# _VOLUME_NAME_ and _SHARE_DIR_ are replaced by their actual values
|
||||
APACHE_SHARE_TEMPLATE=$(cat - <<-"EOF"
|
||||
# this file is part of the CryptoBox
|
||||
Alias "/cryptobox/_VOLUME_NAME_" "_SHARE_DIR_"
|
||||
<Location "/cryptobox/_VOLUME_NAME_">
|
||||
Dav filesystem
|
||||
</Location>
|
||||
EOF
|
||||
)
|
||||
|
||||
# -----=-=-=- check arguments and the environment -=-=-=----
|
||||
|
||||
# exit if apache2 is not installed
|
||||
test -e "$APACHE_SCRIPT" || exit 0
|
||||
if test -x "$APACHE_SCRIPT"
|
||||
then true
|
||||
else echo "apache2 is not installed ('$APACHE_SCRIPT' not found)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# create include-file directory
|
||||
mkdir -p "$APACHE_CONF_DIR"
|
||||
|
@ -39,16 +57,20 @@ if test "$#" -eq 0
|
|||
|
||||
event=$1
|
||||
|
||||
|
||||
# ------------=-=-=- some functions -=-=-=-----------------
|
||||
|
||||
update_include_conf_file()
|
||||
# remove invalid config files
|
||||
update_include_conf_dir()
|
||||
{
|
||||
( echo "# this file was automatically generated by the CryptoBox"
|
||||
echo "# DO NOT EDIT - all changes will get lost!"
|
||||
find "$APACHE_CONF_DIR" -type f -name "*.conf" | while read fname
|
||||
do echo "Include '$fname'"
|
||||
done ) >"$MAIN_APACHE_CONF_FILE"
|
||||
find "$APACHE_CONF_DIR" -type f -name "*.conf" | while read fname
|
||||
do mdir=$(head -1 "$fname" | cut -f 4 -d '"')
|
||||
test ! -d "$mdir" && rm "$fname"
|
||||
done
|
||||
}
|
||||
|
||||
empty_conf_dir()
|
||||
{
|
||||
find "$APACHE_CONF_DIR" -type f -name "*.conf" -print0 | xargs -0 rm
|
||||
}
|
||||
|
||||
send_reload_command()
|
||||
|
@ -65,16 +87,19 @@ case "$event" in
|
|||
postmount )
|
||||
vol_name=$3
|
||||
mount_dir=$5
|
||||
sed "s#_SHARE_DIR_#$mount_dir#g; s#_VOLUME_NAME_#$vol_name#g" "$TEMPLATE_CONF_FILE" >"$APACHE_CONF_DIR/${vol_name}.conf"
|
||||
update_include_conf_file
|
||||
echo "$APACHE_SHARE_TEMPLATE" | sed "s#_SHARE_DIR_#$mount_dir#g; s#_VOLUME_NAME_#$vol_name#g" >"$APACHE_CONF_DIR/${vol_name}.conf"
|
||||
update_include_conf_dir
|
||||
send_reload_command
|
||||
;;
|
||||
preumount )
|
||||
vol_name=$3
|
||||
rm "$APACHE_CONF_DIR/${vol_name}.conf" || true
|
||||
update_include_conf_file
|
||||
update_include_conf_dir
|
||||
send_reload_command
|
||||
;;
|
||||
shutdown | bootup )
|
||||
empty_conf_dir
|
||||
;;
|
||||
* )
|
||||
# ignore all events that we do not support
|
||||
exit 0
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
# - before umounting: disable and remove the samba share
|
||||
#
|
||||
# The following line _must_ be added to your /etc/samba/smb.conf:
|
||||
# include = /etc/cryptobox/samba-include.conf
|
||||
# include = /var/cache/cryptobox-server/samba-include.conf
|
||||
# and you should create this file and chown it to the cryptobox user:
|
||||
# touch /var/cache/cryptobox-server/samba-include.conf
|
||||
#
|
||||
#
|
||||
# Params: $event $volume_name $volume_type $mount_dir
|
||||
|
@ -19,17 +21,41 @@
|
|||
|
||||
set -eu
|
||||
|
||||
# --------------=-=-=- some settings -=-=-=----------------
|
||||
# adapt this part of the file to your needs
|
||||
|
||||
SAMBA_CONTROL=smbcontrol
|
||||
SAMBA_CONF_DIR=/var/cache/cryptobox/samba.conf.d
|
||||
TEMPLATE_CONF_FILE=/etc/cryptobox/samba-share.conf-template
|
||||
MAIN_SAMBA_CONF_FILE=/etc/cryptobox/samba-include.conf
|
||||
SAMBA_CONF_DIR=/var/cache/cryptobox-server/samba.conf.d
|
||||
MAIN_SAMBA_CONF_FILE=/var/cache/cryptobox-server/samba-include.conf
|
||||
|
||||
# this smb.conf snippet will get used for every published share
|
||||
# _VOLUME_NAME and _SHARE_DIR_ are replaced by their actual values
|
||||
# TODO: improve the later parsing of _SHARE_DIR_ in update_include_conf_file
|
||||
# for now it depends on non existing whitespaces around the dirname
|
||||
SAMBA_SHARE_TEMPLATE=$(cat - <<-"EOF"
|
||||
[_VOLUME_NAME_]
|
||||
comment = CryptoBox share
|
||||
path =_SHARE_DIR_
|
||||
read only = no
|
||||
guest ok = yes
|
||||
EOF
|
||||
)
|
||||
|
||||
# -----=-=-=- check environment and parameters -=-=-=------
|
||||
|
||||
# check if samba is installed
|
||||
test -z "$(which $SAMBA_CONTROL)" && exit 0
|
||||
if which "$SAMBA_CONTROL"
|
||||
then true
|
||||
else echo "samba not installed ('$SAMBA_CONTROL' not found)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# create include-file directory
|
||||
mkdir -p "$SAMBA_CONF_DIR"
|
||||
|
||||
# create the main include file
|
||||
touch "$MAIN_SAMBA_CONF_FILE"
|
||||
|
||||
# check event argument
|
||||
if test "$#" -eq 0
|
||||
then echo "Syntax: $(basename $0) EVENT [EVENT_INFORMATION]" >&2
|
||||
|
@ -38,7 +64,6 @@ if test "$#" -eq 0
|
|||
|
||||
event=$1
|
||||
|
||||
|
||||
# ------------=-=-=- some functions -=-=-=-----------------
|
||||
|
||||
update_include_conf_file()
|
||||
|
@ -46,7 +71,12 @@ update_include_conf_file()
|
|||
( echo "# this file was automatically generated by the CryptoBox"
|
||||
echo "# DO NOT EDIT - all changes will get lost!"
|
||||
find "$SAMBA_CONF_DIR" -type f -name "*.conf" | while read fname
|
||||
do echo "include = $fname"
|
||||
do mdir=$(cat "$fname" | grep "path.*=" | cut -f 2 -d "=")
|
||||
# check if the mount directory still exists
|
||||
if test -d "$mdir"
|
||||
then echo "include = $fname"
|
||||
else rm "$fname"
|
||||
fi
|
||||
done ) >"$MAIN_SAMBA_CONF_FILE"
|
||||
}
|
||||
|
||||
|
@ -56,6 +86,11 @@ send_reload_command()
|
|||
"$SAMBA_CONTROL" smbd reload-config
|
||||
}
|
||||
|
||||
empty_conf_dir()
|
||||
{
|
||||
find "$SAMBA_CONF_DIR" -type f -name "*.conf" -print0 | xargs -0 rm
|
||||
}
|
||||
|
||||
send_close_share_command()
|
||||
{
|
||||
# close all connections and deny further requests
|
||||
|
@ -70,7 +105,7 @@ case "$event" in
|
|||
postmount )
|
||||
vol_name=$3
|
||||
mount_dir=$5
|
||||
sed "s#_SHARE_DIR_#$mount_dir#g; s#_VOLUME_NAME_#$vol_name#g" "$TEMPLATE_CONF_FILE" >"$SAMBA_CONF_DIR/${vol_name}.conf"
|
||||
echo "$SAMBA_SHARE_TEMPLATE" | sed "s#_SHARE_DIR_#$mount_dir#g; s#_VOLUME_NAME_#$vol_name#g" >"$SAMBA_CONF_DIR/${vol_name}.conf"
|
||||
update_include_conf_file
|
||||
send_reload_command
|
||||
;;
|
||||
|
@ -81,8 +116,11 @@ case "$event" in
|
|||
update_include_conf_file
|
||||
send_reload_command
|
||||
;;
|
||||
shutdown|bootup )
|
||||
empty_conf_dir
|
||||
;;
|
||||
* )
|
||||
# ignore all events that we do not support
|
||||
# ignore all unsupported events
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -152,18 +152,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||
|
@ -11,7 +10,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Pootle 0.10.1\n"
|
||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
||||
|
||||
#: Name
|
||||
msgid "English"
|
||||
|
@ -153,18 +152,42 @@ msgstr "Unverschlüsselte Netzwerk-Verbindung - Passworte können derzeit leicht
|
|||
msgid "Use encrypted connection"
|
||||
msgstr "Verschlüsselte Verbindung"
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
msgstr "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
msgstr "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
msgstr "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
msgstr "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "volume_mount"
|
||||
#~ msgstr "volume_mount"
|
||||
|
||||
#~ msgid "logs"
|
||||
#~ msgstr "logs"
|
||||
|
||||
#~ msgid "partition"
|
||||
#~ msgstr "partition"
|
||||
|
||||
#~ msgid "https"
|
||||
#~ msgstr "https"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -12,7 +11,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Pootle 0.10.1\n"
|
||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
||||
|
||||
#: Name
|
||||
msgid "English"
|
||||
|
@ -111,12 +110,8 @@ msgid "The container is mounted"
|
|||
msgstr "The container is mounted"
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Text
|
||||
msgid ""
|
||||
"This action is not available while the container is active. Please turn it "
|
||||
"off first."
|
||||
msgstr ""
|
||||
"This action is not available while the container is active. Please turn it "
|
||||
"off first."
|
||||
msgid "This action is not available while the container is active. Please turn it off first."
|
||||
msgstr "This action is not available while the container is active. Please turn it off first."
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Text
|
||||
msgid "Deactivate volume"
|
||||
|
@ -127,14 +122,8 @@ msgid "Invalid request"
|
|||
msgstr "Invalid request"
|
||||
|
||||
#: WarningMessage.InvalidAction.Text
|
||||
msgid ""
|
||||
"Sorry - I do not know how to handle this request. If you think, that this is "
|
||||
"a bug, then you should send the most recent part of the CryptoBox log to "
|
||||
"info@cryptobox.org."
|
||||
msgstr ""
|
||||
"Sorry - I do not know how to handle this request. If you think, that this is "
|
||||
"a bug, then you should send the most recent part of the CryptoBox log to "
|
||||
"info@cryptobox.org."
|
||||
msgid "Sorry - I do not know how to handle this request. If you think, that this is a bug, then you should send the most recent part of the CryptoBox log to info@cryptobox.org."
|
||||
msgstr "Sorry - I do not know how to handle this request. If you think, that this is a bug, then you should send the most recent part of the CryptoBox log to info@cryptobox.org."
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Text
|
||||
msgid "View log"
|
||||
|
@ -145,22 +134,12 @@ msgid "Something weird happened"
|
|||
msgstr "Something weird happened"
|
||||
|
||||
#: WarningMessage.RuntimeError.Text
|
||||
msgid ""
|
||||
"We (the developer of the CryptoBox) would like to fix this problem for you "
|
||||
"and others. Please send the most recent part of the CryptoBox log to "
|
||||
"info@cryptobox.org. Thanks for your contribution!"
|
||||
msgstr ""
|
||||
"We (the developer of the CryptoBox) would like to fix this problem for you "
|
||||
"and others. Please send the most recent part of the CryptoBox log to "
|
||||
"info@cryptobox.org. Thanks for your contribution!"
|
||||
msgid "We (the developer of the CryptoBox) would like to fix this problem for you and others. Please send the most recent part of the CryptoBox log to info@cryptobox.org. Thanks for your contribution!"
|
||||
msgstr "We (the developer of the CryptoBox) would like to fix this problem for you and others. Please send the most recent part of the CryptoBox log to info@cryptobox.org. Thanks for your contribution!"
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Text
|
||||
msgid ""
|
||||
"Read-only setup detected - probably you should create a configuration "
|
||||
"partition."
|
||||
msgstr ""
|
||||
"Read-only setup detected - probably you should create a configuration "
|
||||
"partition."
|
||||
msgid "Read-only setup detected - probably you should create a configuration partition."
|
||||
msgstr "Read-only setup detected - probably you should create a configuration partition."
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Text
|
||||
msgid "Initialize partition"
|
||||
|
@ -174,18 +153,42 @@ msgstr "The connection is not encrypted - passwords can be easily intercepted."
|
|||
msgid "Use encrypted connection"
|
||||
msgstr "Use encrypted connection"
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
msgstr "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
msgstr "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
msgstr "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
msgstr "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "volume_mount"
|
||||
#~ msgstr "volume_mount"
|
||||
|
||||
#~ msgid "logs"
|
||||
#~ msgstr "logs"
|
||||
|
||||
#~ msgid "partition"
|
||||
#~ msgstr "partition"
|
||||
|
||||
#~ msgid "https"
|
||||
#~ msgstr "https"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||
|
@ -11,7 +10,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Pootle 0.10.1\n"
|
||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
||||
|
||||
#: Name
|
||||
msgid "English"
|
||||
|
@ -153,18 +152,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: CryptoBox-Server 0.3\n"
|
||||
|
@ -11,7 +10,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"X-Generator: Pootle 0.10.1\n"
|
||||
"X-Generator: Translate Toolkit 0.10.1\n"
|
||||
|
||||
#: Name
|
||||
msgid "English"
|
||||
|
@ -153,18 +152,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Maybe try the default setting: username=>'admin' / password=>'admin'.)"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
|
@ -154,18 +153,30 @@ msgstr ""
|
|||
msgid "Use encrypted connection"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.VolumeMayNotBeMounted.Link.Rel
|
||||
msgid "volume_mount"
|
||||
#: AdviceMessage.VolumeIsBusy.Title
|
||||
msgid "Disk is busy"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.InvalidAction.Link.Rel
|
||||
msgid "logs"
|
||||
#: AdviceMessage.VolumeIsBusy.Text
|
||||
msgid "This disk is currently busy. Please wait for a moment."
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.ReadOnlyConfig.Link.Rel
|
||||
msgid "partition"
|
||||
#: AdviceMessage.VolumeIsBusy.Link.Text
|
||||
msgid "Show all disks"
|
||||
msgstr ""
|
||||
|
||||
#: EnvironmentWarning.NoSSL.Link.Prot
|
||||
msgid "https"
|
||||
#: WarningMessage.AccessDenied.Text
|
||||
msgid "Sorry - you did not enter the right credentials! (Try user 'admin' and password 'admin' and change this setting soon.)"
|
||||
msgstr ""
|
||||
|
||||
#: WarningMessage.AccessDenied.Link.Text
|
||||
msgid "Change password now"
|
||||
msgstr ""
|
||||
|
||||
#: Text.ContainerName
|
||||
msgid "Volume's name"
|
||||
msgstr ""
|
||||
|
||||