Remove support for Coda
This commit is contained in:
parent
2c7e88f6c5
commit
d61383d148
@ -1,21 +1,33 @@
|
|||||||
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software, distributed under the terms of the GNU
|
# This file is free software; you can redistribute it and/or modify
|
||||||
# General Public License. As a special exception to the GNU General
|
# it under the terms of the GNU General Public License as published by
|
||||||
# Public License, this file may be distributed as part of a program
|
# the Free Software Foundation; either version 3 of the License, or
|
||||||
# that contains a configuration script generated by Autoconf, under
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This file is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this file. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# As a special exception to the GNU General Public License,
|
||||||
|
# this file may be distributed as part of a program that
|
||||||
|
# contains a configuration script generated by Autoconf, under
|
||||||
# the same distribution terms as the rest of that program.
|
# the same distribution terms as the rest of that program.
|
||||||
#
|
#
|
||||||
# Generated by gnulib-tool.
|
# Generated by gnulib-tool.
|
||||||
#
|
#
|
||||||
# This file represents the specification of how gnulib-tool is used.
|
# This file represents the specification of how gnulib-tool is used.
|
||||||
# It acts as a cache: It is written and read by gnulib-tool.
|
# It acts as a cache: It is written and read by gnulib-tool.
|
||||||
# In projects using CVS, this file is meant to be stored in CVS,
|
# In projects that use version control, this file is meant to be put under
|
||||||
# like the configure.ac and various Makefile.am files.
|
# version control, like the configure.ac and various Makefile.am files.
|
||||||
|
|
||||||
|
|
||||||
# Specification in the form of a command-line invocation:
|
# Specification in the form of a command-line invocation:
|
||||||
# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=config --po-base=glpo --doc-base=doc --tests-base=tests --aux-dir=config --no-libtool --macro-prefix=gl --po-domain=davfs2 canonicalize iconv_open rpmatch xalloc xstrndup xvasprintf
|
# gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=config --po-base=glpo --doc-base=doc --tests-base=tests --aux-dir=config --no-conditional-dependencies --no-libtool --macro-prefix=gl --po-domain=davfs2 canonicalize iconv_open rpmatch xalloc xstrndup xvasprintf
|
||||||
|
|
||||||
# Specification in the form of a few gnulib-tool.m4 macro invocations:
|
# Specification in the form of a few gnulib-tool.m4 macro invocations:
|
||||||
gl_LOCAL_DIR([])
|
gl_LOCAL_DIR([])
|
||||||
@ -37,3 +49,4 @@ gl_LIB([libgnu])
|
|||||||
gl_MAKEFILE_NAME([])
|
gl_MAKEFILE_NAME([])
|
||||||
gl_MACRO_PREFIX([gl])
|
gl_MACRO_PREFIX([gl])
|
||||||
gl_PO_DOMAIN([davfs2])
|
gl_PO_DOMAIN([davfs2])
|
||||||
|
gl_WITNESS_C_DOMAIN([])
|
||||||
|
@ -104,13 +104,6 @@ Default: @GROUP@
|
|||||||
.br
|
.br
|
||||||
\fBOnly allowed in the system wide configuration file.\fR
|
\fBOnly allowed in the system wide configuration file.\fR
|
||||||
|
|
||||||
.TP
|
|
||||||
.B kernel_fs
|
|
||||||
Which kernel file system to use, to integrate into the virtual file system.
|
|
||||||
Possible values are \fIfuse\fP and \fIcoda\fP.
|
|
||||||
.br
|
|
||||||
Default: fuse
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B buf_size
|
.B buf_size
|
||||||
Size in KiByte of the buffer used to communicate with the kernel file system.
|
Size in KiByte of the buffer used to communicate with the kernel file system.
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2012-02-01 18:51+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:15+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -212,7 +212,7 @@ msgid "Default: @USER@"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:96 davfs2.conf.5:106 davfs2.conf.5:135 davfs2.conf.5:144
|
#: davfs2.conf.5:96 davfs2.conf.5:106 davfs2.conf.5:128 davfs2.conf.5:137
|
||||||
msgid "B<Only allowed in the system wide configuration file.>"
|
msgid "B<Only allowed in the system wide configuration file.>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -238,29 +238,11 @@ msgstr ""
|
|||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:107
|
#: davfs2.conf.5:107
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<kernel_fs>"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. type: Plain text
|
|
||||||
#: davfs2.conf.5:111
|
|
||||||
msgid ""
|
|
||||||
"Which kernel file system to use, to integrate into the virtual file system. "
|
|
||||||
"Possible values are I<fuse> and I<coda>."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. type: Plain text
|
|
||||||
#: davfs2.conf.5:113
|
|
||||||
msgid "Default: fuse"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. type: TP
|
|
||||||
#: davfs2.conf.5:114
|
|
||||||
#, no-wrap
|
|
||||||
msgid "B<buf_size>"
|
msgid "B<buf_size>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:119
|
#: davfs2.conf.5:112
|
||||||
msgid ""
|
msgid ""
|
||||||
"Size in KiByte of the buffer used to communicate with the kernel file "
|
"Size in KiByte of the buffer used to communicate with the kernel file "
|
||||||
"system. Only usefull with I<fuse>, where read and write operations may "
|
"system. Only usefull with I<fuse>, where read and write operations may "
|
||||||
@ -268,24 +250,24 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:121
|
#: davfs2.conf.5:114
|
||||||
msgid "Default: 16"
|
msgid "Default: 16"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:123
|
#: davfs2.conf.5:116
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "WebDAV Related Options"
|
msgid "WebDAV Related Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:125
|
#: davfs2.conf.5:118
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<use_proxy>"
|
msgid "B<use_proxy>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:131
|
#: davfs2.conf.5:124
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to use a proxy to connect to the WebDAV server. 0 = no, 1 = yes. If "
|
"Whether to use a proxy to connect to the WebDAV server. 0 = no, 1 = yes. If "
|
||||||
"no proxy is defined in the configration file or the environment variables "
|
"no proxy is defined in the configration file or the environment variables "
|
||||||
@ -293,19 +275,19 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:133 davfs2.conf.5:212 davfs2.conf.5:219 davfs2.conf.5:297
|
#: davfs2.conf.5:126 davfs2.conf.5:205 davfs2.conf.5:212 davfs2.conf.5:290
|
||||||
#: davfs2.conf.5:438
|
#: davfs2.conf.5:431
|
||||||
msgid "Default: 1"
|
msgid "Default: 1"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:136
|
#: davfs2.conf.5:129
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<proxy>"
|
msgid "B<proxy>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:142
|
#: davfs2.conf.5:135
|
||||||
msgid ""
|
msgid ""
|
||||||
"Name of the proxy. The name must be the fully qualified domain name (no "
|
"Name of the proxy. The name must be the fully qualified domain name (no "
|
||||||
"scheme). If the proxy port differs from the default of 8080, it must be "
|
"scheme). If the proxy port differs from the default of 8080, it must be "
|
||||||
@ -313,13 +295,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:145
|
#: davfs2.conf.5:138
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<trust_ca_cert>"
|
msgid "B<trust_ca_cert>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:151 davfs2.conf.5:175
|
#: davfs2.conf.5:144 davfs2.conf.5:168
|
||||||
msgid ""
|
msgid ""
|
||||||
"Name of a certificate file in PEM format. The name of the file may be given "
|
"Name of a certificate file in PEM format. The name of the file may be given "
|
||||||
"as absolute path or as file name only. In the latter case the directories "
|
"as absolute path or as file name only. In the latter case the directories "
|
||||||
@ -328,7 +310,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:157
|
#: davfs2.conf.5:150
|
||||||
msgid ""
|
msgid ""
|
||||||
"This option is useful when the certificate presented by the server cannot be "
|
"This option is useful when the certificate presented by the server cannot be "
|
||||||
"verified using the system's data base of trusted certificate authorities "
|
"verified using the system's data base of trusted certificate authorities "
|
||||||
@ -338,7 +320,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:162
|
#: davfs2.conf.5:155
|
||||||
msgid ""
|
msgid ""
|
||||||
"B<Note:> Even if the server's certificate is trusted that does not mean it "
|
"B<Note:> Even if the server's certificate is trusted that does not mean it "
|
||||||
"is accepted. Additionally the certificate's date must be valid and either "
|
"is accepted. Additionally the certificate's date must be valid and either "
|
||||||
@ -346,29 +328,29 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:163
|
#: davfs2.conf.5:156
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<servercert>"
|
msgid "B<servercert>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:166
|
#: davfs2.conf.5:159
|
||||||
msgid "Same as B<trust_ca_cert> but badly named."
|
msgid "Same as B<trust_ca_cert> but badly named."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:168
|
#: davfs2.conf.5:161
|
||||||
msgid "B<Deprecated>"
|
msgid "B<Deprecated>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:169
|
#: davfs2.conf.5:162
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<trust_server_cert>"
|
msgid "B<trust_server_cert>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:181
|
#: davfs2.conf.5:174
|
||||||
msgid ""
|
msgid ""
|
||||||
"Usefull when the server's certificate can't be verified or is even invalid, "
|
"Usefull when the server's certificate can't be verified or is even invalid, "
|
||||||
"but B<you know> that you can trust this certificate. When the server "
|
"but B<you know> that you can trust this certificate. When the server "
|
||||||
@ -378,25 +360,25 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:183
|
#: davfs2.conf.5:176
|
||||||
msgid "This is the preferred option for self signed server certificates."
|
msgid "This is the preferred option for self signed server certificates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:186
|
#: davfs2.conf.5:179
|
||||||
msgid ""
|
msgid ""
|
||||||
"No other ways to verify the certificate will be tried and the certificate "
|
"No other ways to verify the certificate will be tried and the certificate "
|
||||||
"will not be checked for validity."
|
"will not be checked for validity."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:187
|
#: davfs2.conf.5:180
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<clientcert>"
|
msgid "B<clientcert>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:194
|
#: davfs2.conf.5:187
|
||||||
msgid ""
|
msgid ""
|
||||||
"Name of a certificate in PKCS#12 format that will be used to authenticate "
|
"Name of a certificate in PKCS#12 format that will be used to authenticate "
|
||||||
"with the server. The name of the file may be given as absolute path or as "
|
"with the server. The name of the file may be given as absolute path or as "
|
||||||
@ -406,13 +388,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:195 davfs2.conf.5:509
|
#: davfs2.conf.5:188 davfs2.conf.5:502
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<secrets>"
|
msgid "B<secrets>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:200
|
#: davfs2.conf.5:193
|
||||||
msgid ""
|
msgid ""
|
||||||
"Name of a file that holds the credentials for servers and the proxy, and "
|
"Name of a file that holds the credentials for servers and the proxy, and "
|
||||||
"passwords to decrypt the client certificate. The name must be an absolute "
|
"passwords to decrypt the client certificate. The name must be an absolute "
|
||||||
@ -420,25 +402,25 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:202
|
#: davfs2.conf.5:195
|
||||||
msgid "Default: ~/.@PACKAGE@/@SECRETSFILE@"
|
msgid "Default: ~/.@PACKAGE@/@SECRETSFILE@"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:205
|
#: davfs2.conf.5:198
|
||||||
msgid ""
|
msgid ""
|
||||||
"B<Only allowed in the user configuration file.> The system wide secrets file "
|
"B<Only allowed in the user configuration file.> The system wide secrets file "
|
||||||
"is allways I<@SYS_CONF_DIR@/@SECRETSFILE@>."
|
"is allways I<@SYS_CONF_DIR@/@SECRETSFILE@>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:206
|
#: davfs2.conf.5:199
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<ask_auth>"
|
msgid "B<ask_auth>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:210
|
#: davfs2.conf.5:203
|
||||||
msgid ""
|
msgid ""
|
||||||
"Ask the user interactively for credentials and passwords if not found in the "
|
"Ask the user interactively for credentials and passwords if not found in the "
|
||||||
"secretsfile. Ask the user if a servercert cannot be verified. 0 = no, 1 = "
|
"secretsfile. Ask the user if a servercert cannot be verified. 0 = no, 1 = "
|
||||||
@ -446,26 +428,26 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:213
|
#: davfs2.conf.5:206
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<use_locks>"
|
msgid "B<use_locks>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:217
|
#: davfs2.conf.5:210
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to lock files on the server when they are opened for writing. 0 = "
|
"Whether to lock files on the server when they are opened for writing. 0 = "
|
||||||
"no, 1 = yes."
|
"no, 1 = yes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:220
|
#: davfs2.conf.5:213
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<lock_owner>"
|
msgid "B<lock_owner>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:225
|
#: davfs2.conf.5:218
|
||||||
msgid ""
|
msgid ""
|
||||||
"A string send to the server to identify the owner of a lock. If a WebDAV "
|
"A string send to the server to identify the owner of a lock. If a WebDAV "
|
||||||
"resource is used at the same time by different clients using the same "
|
"resource is used at the same time by different clients using the same "
|
||||||
@ -473,36 +455,36 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:227
|
#: davfs2.conf.5:220
|
||||||
msgid "Default: the username from the credentials"
|
msgid "Default: the username from the credentials"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:228
|
#: davfs2.conf.5:221
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<lock_timeout>"
|
msgid "B<lock_timeout>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:232
|
#: davfs2.conf.5:225
|
||||||
msgid ""
|
msgid ""
|
||||||
"How long in seconds locks should be valid, before the server removes them. "
|
"How long in seconds locks should be valid, before the server removes them. "
|
||||||
"The server may ignore this and set its own timeout value."
|
"The server may ignore this and set its own timeout value."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:234
|
#: davfs2.conf.5:227
|
||||||
msgid "Default: 1800"
|
msgid "Default: 1800"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:235
|
#: davfs2.conf.5:228
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<lock_refresh>"
|
msgid "B<lock_refresh>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:240
|
#: davfs2.conf.5:233
|
||||||
msgid ""
|
msgid ""
|
||||||
"That many seconds before the lock times out, B<@PROGRAM_NAME@> will try to "
|
"That many seconds before the lock times out, B<@PROGRAM_NAME@> will try to "
|
||||||
"refresh the lock. The value should be substantially greater than "
|
"refresh the lock. The value should be substantially greater than "
|
||||||
@ -510,18 +492,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:242 davfs2.conf.5:428
|
#: davfs2.conf.5:235 davfs2.conf.5:421
|
||||||
msgid "Default: 60"
|
msgid "Default: 60"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:243
|
#: davfs2.conf.5:236
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<use_expect100>"
|
msgid "B<use_expect100>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:249
|
#: davfs2.conf.5:242
|
||||||
msgid ""
|
msgid ""
|
||||||
"To avoid uploading big files that will be refused by the server, "
|
"To avoid uploading big files that will be refused by the server, "
|
||||||
"B<@PROGRAM_NAME@> uses the header I<expect: 100-continue> to get the o.k. "
|
"B<@PROGRAM_NAME@> uses the header I<expect: 100-continue> to get the o.k. "
|
||||||
@ -530,19 +512,19 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:251 davfs2.conf.5:259 davfs2.conf.5:277 davfs2.conf.5:287
|
#: davfs2.conf.5:244 davfs2.conf.5:252 davfs2.conf.5:270 davfs2.conf.5:280
|
||||||
#: davfs2.conf.5:304 davfs2.conf.5:458
|
#: davfs2.conf.5:297 davfs2.conf.5:451
|
||||||
msgid "Default: 0"
|
msgid "Default: 0"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:252
|
#: davfs2.conf.5:245
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<if_match_bug>"
|
msgid "B<if_match_bug>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:257
|
#: davfs2.conf.5:250
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some servers do not handle If-Match and If-None-Match-headers correctly. "
|
"Some servers do not handle If-Match and If-None-Match-headers correctly. "
|
||||||
"This otion tells B<@PROGRAM_NAME@> to use HEAD instead of thes headers. 0 = "
|
"This otion tells B<@PROGRAM_NAME@> to use HEAD instead of thes headers. 0 = "
|
||||||
@ -550,13 +532,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:260
|
#: davfs2.conf.5:253
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<drop_weak_etags>"
|
msgid "B<drop_weak_etags>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:269
|
#: davfs2.conf.5:262
|
||||||
msgid ""
|
msgid ""
|
||||||
"Popular servers send a weak etag whenever they are not able to calculate a "
|
"Popular servers send a weak etag whenever they are not able to calculate a "
|
||||||
"strong one. This weak etag will never be valid, but after one second it is "
|
"strong one. This weak etag will never be valid, but after one second it is "
|
||||||
@ -568,7 +550,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:273
|
#: davfs2.conf.5:266
|
||||||
msgid ""
|
msgid ""
|
||||||
"You should turn this on, when you can't use locks and there is the danger of "
|
"You should turn this on, when you can't use locks and there is the danger of "
|
||||||
"concurrent access to the same resource. In this case the etag is not used at "
|
"concurrent access to the same resource. In this case the etag is not used at "
|
||||||
@ -576,18 +558,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:275
|
#: davfs2.conf.5:268
|
||||||
msgid "0 = no, 1 = yes."
|
msgid "0 = no, 1 = yes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:278
|
#: davfs2.conf.5:271
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<allow_cookie>"
|
msgid "B<allow_cookie>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:285
|
#: davfs2.conf.5:278
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some servers will only work when they are allowed to set a cookie and this "
|
"Some servers will only work when they are allowed to set a cookie and this "
|
||||||
"cookie is returned in subsequent requests. This option adds very simple "
|
"cookie is returned in subsequent requests. This option adds very simple "
|
||||||
@ -596,13 +578,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:288
|
#: davfs2.conf.5:281
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<precheck>"
|
msgid "B<precheck>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:295
|
#: davfs2.conf.5:288
|
||||||
msgid ""
|
msgid ""
|
||||||
"If option B<if_match_bug> is set: use HEAD-requests to check for existence "
|
"If option B<if_match_bug> is set: use HEAD-requests to check for existence "
|
||||||
"or modification of a file to avoid unintended overwriting what somebody else "
|
"or modification of a file to avoid unintended overwriting what somebody else "
|
||||||
@ -611,26 +593,26 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:298
|
#: davfs2.conf.5:291
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<ignore_dav_header>"
|
msgid "B<ignore_dav_header>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:302
|
#: davfs2.conf.5:295
|
||||||
msgid ""
|
msgid ""
|
||||||
"Some servers send wrong information about their capabilities in the DAV-"
|
"Some servers send wrong information about their capabilities in the DAV-"
|
||||||
"header. In this case the header should be ignored."
|
"header. In this case the header should be ignored."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:305
|
#: davfs2.conf.5:298
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<server_charset>"
|
msgid "B<server_charset>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:311
|
#: davfs2.conf.5:304
|
||||||
msgid ""
|
msgid ""
|
||||||
"When extracting file names from the path component of the URL, "
|
"When extracting file names from the path component of the URL, "
|
||||||
"B<@PROGRAM_NAME@> will assume they are encoded using this character set and "
|
"B<@PROGRAM_NAME@> will assume they are encoded using this character set and "
|
||||||
@ -639,7 +621,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:319
|
#: davfs2.conf.5:312
|
||||||
msgid ""
|
msgid ""
|
||||||
"There is no means in HTTP to know the character encoding of the path "
|
"There is no means in HTTP to know the character encoding of the path "
|
||||||
"component. There may be even different encodings within the same path, as "
|
"component. There may be even different encodings within the same path, as "
|
||||||
@ -651,18 +633,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:321
|
#: davfs2.conf.5:314
|
||||||
msgid "Default: no character set conversion"
|
msgid "Default: no character set conversion"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:322
|
#: davfs2.conf.5:315
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<connect_timeout>"
|
msgid "B<connect_timeout>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:328
|
#: davfs2.conf.5:321
|
||||||
msgid ""
|
msgid ""
|
||||||
"When creating a TCP connection to the server B<@PROGRAM_NAME@> will wait "
|
"When creating a TCP connection to the server B<@PROGRAM_NAME@> will wait "
|
||||||
"that many seconds for an answer before assuming an error. If a value of '0' "
|
"that many seconds for an answer before assuming an error. If a value of '0' "
|
||||||
@ -671,43 +653,43 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:331
|
#: davfs2.conf.5:324
|
||||||
msgid ""
|
msgid ""
|
||||||
"This parameter only takes effect if the version of neon in use (neon version "
|
"This parameter only takes effect if the version of neon in use (neon version "
|
||||||
"E<gt> 0.26) and the OS support non-blocking I/O."
|
"E<gt> 0.26) and the OS support non-blocking I/O."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:333 davfs2.conf.5:448
|
#: davfs2.conf.5:326 davfs2.conf.5:441
|
||||||
msgid "Default: 10"
|
msgid "Default: 10"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:334
|
#: davfs2.conf.5:327
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<read_timeout>"
|
msgid "B<read_timeout>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:338
|
#: davfs2.conf.5:331
|
||||||
msgid ""
|
msgid ""
|
||||||
"How long in seconds B<@PROGRAM_NAME@> will wait for an answer from the "
|
"How long in seconds B<@PROGRAM_NAME@> will wait for an answer from the "
|
||||||
"server before assuming an error."
|
"server before assuming an error."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:340 davfs2.conf.5:348
|
#: davfs2.conf.5:333 davfs2.conf.5:341
|
||||||
msgid "Default: 30"
|
msgid "Default: 30"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:341
|
#: davfs2.conf.5:334
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<retry>"
|
msgid "B<retry>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:346
|
#: davfs2.conf.5:339
|
||||||
msgid ""
|
msgid ""
|
||||||
"When B<@PROGRAM_NAME@> can not reach the server it will try again after "
|
"When B<@PROGRAM_NAME@> can not reach the server it will try again after "
|
||||||
"B<retry> seconds. For subsequent retries the interval will be increased up "
|
"B<retry> seconds. For subsequent retries the interval will be increased up "
|
||||||
@ -715,36 +697,36 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:349
|
#: davfs2.conf.5:342
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<max_retry>"
|
msgid "B<max_retry>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:352
|
#: davfs2.conf.5:345
|
||||||
msgid "Maximum value of the retry interval."
|
msgid "Maximum value of the retry interval."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:354
|
#: davfs2.conf.5:347
|
||||||
msgid "Default: 300"
|
msgid "Default: 300"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:355
|
#: davfs2.conf.5:348
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<max_upload_attempts>"
|
msgid "B<max_upload_attempts>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:359
|
#: davfs2.conf.5:352
|
||||||
msgid ""
|
msgid ""
|
||||||
"When uploading a changed file fails temporarily B<@PROGRAM_NAME@> will retry "
|
"When uploading a changed file fails temporarily B<@PROGRAM_NAME@> will retry "
|
||||||
"with increasing intervals, but not more often than this."
|
"with increasing intervals, but not more often than this."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:364
|
#: davfs2.conf.5:357
|
||||||
msgid ""
|
msgid ""
|
||||||
"With a bad connection this will cause additional traffic. To reduce traffic "
|
"With a bad connection this will cause additional traffic. To reduce traffic "
|
||||||
"caused by unsuccessful attempts option B<use_expect100> can be set. But "
|
"caused by unsuccessful attempts option B<use_expect100> can be set. But "
|
||||||
@ -752,18 +734,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:366
|
#: davfs2.conf.5:359
|
||||||
msgid "Default: 15"
|
msgid "Default: 15"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:367
|
#: davfs2.conf.5:360
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<add_header>"
|
msgid "B<add_header>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:373
|
#: davfs2.conf.5:366
|
||||||
msgid ""
|
msgid ""
|
||||||
"Your server might expect special headers to do what you want. Different from "
|
"Your server might expect special headers to do what you want. Different from "
|
||||||
"other options, this one takes two values: the name of the header and its "
|
"other options, this one takes two values: the name of the header and its "
|
||||||
@ -772,17 +754,17 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:375
|
#: davfs2.conf.5:368
|
||||||
msgid "add_header Translate F"
|
msgid "add_header Translate F"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:377
|
#: davfs2.conf.5:370
|
||||||
msgid "B<@PROGRAM_NAME@> will add header \"Translate: F\" on all requests."
|
msgid "B<@PROGRAM_NAME@> will add header \"Translate: F\" on all requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:381
|
#: davfs2.conf.5:374
|
||||||
msgid ""
|
msgid ""
|
||||||
"This option is cumulative. You can enter more than one add_header option and "
|
"This option is cumulative. You can enter more than one add_header option and "
|
||||||
"all of them will be added. Also add_header options from @SYS_CONF_DIR@/"
|
"all of them will be added. Also add_header options from @SYS_CONF_DIR@/"
|
||||||
@ -790,19 +772,19 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:383
|
#: davfs2.conf.5:376
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "Cache Related Options"
|
msgid "Cache Related Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:385
|
#: davfs2.conf.5:378
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<backup_dir>"
|
msgid "B<backup_dir>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:390
|
#: davfs2.conf.5:383
|
||||||
msgid ""
|
msgid ""
|
||||||
"Each mounted @PACKAGE@ file system has a directory to store backups of files "
|
"Each mounted @PACKAGE@ file system has a directory to store backups of files "
|
||||||
"that could not be stored back to the server. This sets the name of this "
|
"that could not be stored back to the server. This sets the name of this "
|
||||||
@ -810,25 +792,25 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:392
|
#: davfs2.conf.5:385
|
||||||
msgid "Default: lost+found"
|
msgid "Default: lost+found"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:393
|
#: davfs2.conf.5:386
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<cache_dir>"
|
msgid "B<cache_dir>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:397
|
#: davfs2.conf.5:390
|
||||||
msgid ""
|
msgid ""
|
||||||
"The directory where B<@PROGRAM_NAME@> will store cached files. For every "
|
"The directory where B<@PROGRAM_NAME@> will store cached files. For every "
|
||||||
"mount point a subdirectory will be created."
|
"mount point a subdirectory will be created."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:401
|
#: davfs2.conf.5:394
|
||||||
msgid ""
|
msgid ""
|
||||||
"In the systemwide configuration file this will set the system wide cache, "
|
"In the systemwide configuration file this will set the system wide cache, "
|
||||||
"used by root. In a users configuration file it will set the cache used by "
|
"used by root. In a users configuration file it will set the cache used by "
|
||||||
@ -836,18 +818,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:403
|
#: davfs2.conf.5:396
|
||||||
msgid "Defaults: @SYS_CACHE_DIR@ and ~/.@PACKAGE@/cache"
|
msgid "Defaults: @SYS_CACHE_DIR@ and ~/.@PACKAGE@/cache"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:404
|
#: davfs2.conf.5:397
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<cache_size>"
|
msgid "B<cache_size>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:409
|
#: davfs2.conf.5:402
|
||||||
msgid ""
|
msgid ""
|
||||||
"The amount of disk space in MiByte that may be used. B<@PROGRAM_NAME@> will "
|
"The amount of disk space in MiByte that may be used. B<@PROGRAM_NAME@> will "
|
||||||
"always take enough space to cache open files, ignoring this value if "
|
"always take enough space to cache open files, ignoring this value if "
|
||||||
@ -855,18 +837,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:411
|
#: davfs2.conf.5:404
|
||||||
msgid "Default: 50"
|
msgid "Default: 50"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:412
|
#: davfs2.conf.5:405
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<table_size>"
|
msgid "B<table_size>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:418
|
#: davfs2.conf.5:411
|
||||||
msgid ""
|
msgid ""
|
||||||
"B<@PROGRAM_NAME@> maintains a hash table with an entry for each known file "
|
"B<@PROGRAM_NAME@> maintains a hash table with an entry for each known file "
|
||||||
"or directory. This gives the number of entries in this table. For large file "
|
"or directory. This gives the number of entries in this table. For large file "
|
||||||
@ -875,18 +857,18 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:420
|
#: davfs2.conf.5:413
|
||||||
msgid "Default: 1024"
|
msgid "Default: 1024"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:421
|
#: davfs2.conf.5:414
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<dir_refresh>"
|
msgid "B<dir_refresh>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:426
|
#: davfs2.conf.5:419
|
||||||
msgid ""
|
msgid ""
|
||||||
"After B<@PROGRAM_NAME@> has got information about files in a directory it "
|
"After B<@PROGRAM_NAME@> has got information about files in a directory it "
|
||||||
"considers it valid for this time in seconds. Note: This does not affect "
|
"considers it valid for this time in seconds. Note: This does not affect "
|
||||||
@ -894,13 +876,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:429
|
#: davfs2.conf.5:422
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<file_refresh>"
|
msgid "B<file_refresh>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:436
|
#: davfs2.conf.5:429
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a file or directory is opened by an application, B<@PROGRAM_NAME@> will "
|
"When a file or directory is opened by an application, B<@PROGRAM_NAME@> will "
|
||||||
"first check the server for a newer version. But some applications do open "
|
"first check the server for a newer version. But some applications do open "
|
||||||
@ -910,13 +892,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:439
|
#: davfs2.conf.5:432
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<delay_upload>"
|
msgid "B<delay_upload>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:446
|
#: davfs2.conf.5:439
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a file that has been changed is closed, B<@PROGRAM_NAME@> will wait "
|
"When a file that has been changed is closed, B<@PROGRAM_NAME@> will wait "
|
||||||
"that many seconds before it will upload it to the server. This will avoid "
|
"that many seconds before it will upload it to the server. This will avoid "
|
||||||
@ -926,13 +908,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:449
|
#: davfs2.conf.5:442
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<gui_optimize>"
|
msgid "B<gui_optimize>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:456
|
#: davfs2.conf.5:449
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a file is opened, B<@PROGRAM_NAME@> will have to check the server "
|
"When a file is opened, B<@PROGRAM_NAME@> will have to check the server "
|
||||||
"whether there is a newer version. Graphical User Interfaces tend to open "
|
"whether there is a newer version. Graphical User Interfaces tend to open "
|
||||||
@ -942,19 +924,19 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:460
|
#: davfs2.conf.5:453
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "Debugging Options"
|
msgid "Debugging Options"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:462
|
#: davfs2.conf.5:455
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<debug>"
|
msgid "B<debug>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:470
|
#: davfs2.conf.5:463
|
||||||
msgid ""
|
msgid ""
|
||||||
"Send debug messages to the syslog daemon. The value tells what kind of "
|
"Send debug messages to the syslog daemon. The value tells what kind of "
|
||||||
"information shall be logged. The messages are send with facility LOG_DAEMON "
|
"information shall be logged. The messages are send with facility LOG_DAEMON "
|
||||||
@ -965,7 +947,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:474
|
#: davfs2.conf.5:467
|
||||||
msgid ""
|
msgid ""
|
||||||
"Unlike other options, this option is cumulative. If there are several debug "
|
"Unlike other options, this option is cumulative. If there are several debug "
|
||||||
"entries with different values, all of them will be applied. Also debug "
|
"entries with different values, all of them will be applied. Also debug "
|
||||||
@ -974,171 +956,171 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:477
|
#: davfs2.conf.5:470
|
||||||
msgid ""
|
msgid ""
|
||||||
"B<Note:> Debug messages let the log-files grow quickly. Never use this "
|
"B<Note:> Debug messages let the log-files grow quickly. Never use this "
|
||||||
"option in normal operation of mount.davfs."
|
"option in normal operation of mount.davfs."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:479
|
#: davfs2.conf.5:472
|
||||||
msgid "Default: no debugging messages"
|
msgid "Default: no debugging messages"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:480
|
#: davfs2.conf.5:473
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<Recognized values:>"
|
msgid "B<Recognized values:>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:482
|
#: davfs2.conf.5:475
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<config>"
|
msgid "B<config>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:485
|
#: davfs2.conf.5:478
|
||||||
msgid "Command line and configuration options."
|
msgid "Command line and configuration options."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:485
|
#: davfs2.conf.5:478
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<kernel>"
|
msgid "B<kernel>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:488
|
#: davfs2.conf.5:481
|
||||||
msgid "Upcalls from the kernel file system."
|
msgid "Upcalls from the kernel file system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:488
|
#: davfs2.conf.5:481
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<cache>"
|
msgid "B<cache>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:491
|
#: davfs2.conf.5:484
|
||||||
msgid "Cache operations like adding and removing nodes."
|
msgid "Cache operations like adding and removing nodes."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:491
|
#: davfs2.conf.5:484
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<http>"
|
msgid "B<http>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:494
|
#: davfs2.conf.5:487
|
||||||
msgid "HTTP headers."
|
msgid "HTTP headers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:494
|
#: davfs2.conf.5:487
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<xml>"
|
msgid "B<xml>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:497
|
#: davfs2.conf.5:490
|
||||||
msgid "Parsing of the XML-body of WebDAV-requests."
|
msgid "Parsing of the XML-body of WebDAV-requests."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:497
|
#: davfs2.conf.5:490
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<httpauth>"
|
msgid "B<httpauth>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:500
|
#: davfs2.conf.5:493
|
||||||
msgid "Negotiation of authentication."
|
msgid "Negotiation of authentication."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:500
|
#: davfs2.conf.5:493
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<locks>"
|
msgid "B<locks>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:503
|
#: davfs2.conf.5:496
|
||||||
msgid "Information about locks."
|
msgid "Information about locks."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:503
|
#: davfs2.conf.5:496
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<ssl>"
|
msgid "B<ssl>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:506
|
#: davfs2.conf.5:499
|
||||||
msgid "TLS/SSL related stuff like certificates."
|
msgid "TLS/SSL related stuff like certificates."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:506
|
#: davfs2.conf.5:499
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<httpbody>"
|
msgid "B<httpbody>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:509
|
#: davfs2.conf.5:502
|
||||||
msgid "Complete body of HTTP-responses."
|
msgid "Complete body of HTTP-responses."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:512
|
#: davfs2.conf.5:505
|
||||||
msgid ""
|
msgid ""
|
||||||
"Also print confidential information, which is usually omitted or obscured."
|
"Also print confidential information, which is usually omitted or obscured."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: TP
|
#. type: TP
|
||||||
#: davfs2.conf.5:512
|
#: davfs2.conf.5:505
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "B<most>"
|
msgid "B<most>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:515
|
#: davfs2.conf.5:508
|
||||||
msgid "Includes config, kernel, cache and http."
|
msgid "Includes config, kernel, cache and http."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:518 mount.davfs.8:533 umount.davfs.8:79
|
#: davfs2.conf.5:511 mount.davfs.8:533 umount.davfs.8:79
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "AUTHORS"
|
msgid "AUTHORS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:522
|
#: davfs2.conf.5:515
|
||||||
msgid ""
|
msgid ""
|
||||||
"This man page was written by by Werner Baumann E<lt>werner."
|
"This man page was written by by Werner Baumann E<lt>werner."
|
||||||
"baumann@onlinehome.deE<gt>."
|
"baumann@onlinehome.deE<gt>."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:524 mount.davfs.8:550 umount.davfs.8:84
|
#: davfs2.conf.5:517 mount.davfs.8:550 umount.davfs.8:84
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "DAVFS2 HOME"
|
msgid "DAVFS2 HOME"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:527 mount.davfs.8:553 umount.davfs.8:87
|
#: davfs2.conf.5:520 mount.davfs.8:553 umount.davfs.8:87
|
||||||
msgid "@PACKAGE_BUGREPORT@"
|
msgid "@PACKAGE_BUGREPORT@"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:529 mount.davfs.8:555 umount.davfs.8:89
|
#: davfs2.conf.5:522 mount.davfs.8:555 umount.davfs.8:89
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "SEE ALSO"
|
msgid "SEE ALSO"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:535
|
#: davfs2.conf.5:528
|
||||||
msgid ""
|
msgid ""
|
||||||
"B<@PROGRAM_NAME@>(8), B<u@PROGRAM_NAME@>(8), B<mount>(8), B<umount>(8), "
|
"B<@PROGRAM_NAME@>(8), B<u@PROGRAM_NAME@>(8), B<mount>(8), B<umount>(8), "
|
||||||
"B<fstab>(5)"
|
"B<fstab>(5)"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +1,13 @@
|
|||||||
# #-#-#-#-# mount.davfs.8.po (davfs2) #-#-#-#-#
|
# #-#-#-#-# mount.davfs.8.po (davfs2) #-#-#-#-#
|
||||||
# German translation of mount.davfs man page.
|
# German translation of mount.davfs man page.
|
||||||
# Copyright (C) 2007 Werner Baumann
|
# Copyright (C) 2007, 2013 Werner Baumann
|
||||||
# Werner Baumann <werner.baumann@onlinehome.de>, 2007.
|
# Werner Baumann <werner.baumann@onlinehome.de>, 2007.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: davfs2 1.4.0\n"
|
"Project-Id-Version: davfs2 1.4.0\n"
|
||||||
"POT-Creation-Date: 2012-03-18 12:02+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:15+0300\n"
|
||||||
"PO-Revision-Date: 2012-03-18 12:03+0100\n"
|
"PO-Revision-Date: 2013-08-09 13:03+0100\n"
|
||||||
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
|
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@ -38,27 +38,27 @@ msgstr "BESCHREIBUNG"
|
|||||||
|
|
||||||
# type: SH
|
# type: SH
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:518 mount.davfs.8:533 umount.davfs.8:79
|
#: davfs2.conf.5:511 mount.davfs.8:533 umount.davfs.8:79
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "AUTHORS"
|
msgid "AUTHORS"
|
||||||
msgstr "AUTOREN"
|
msgstr "AUTOREN"
|
||||||
|
|
||||||
# type: SH
|
# type: SH
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:524 mount.davfs.8:550 umount.davfs.8:84
|
#: davfs2.conf.5:517 mount.davfs.8:550 umount.davfs.8:84
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "DAVFS2 HOME"
|
msgid "DAVFS2 HOME"
|
||||||
msgstr "DAVFS2 HOME"
|
msgstr "DAVFS2 HOME"
|
||||||
|
|
||||||
# type: TH
|
# type: TH
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:527 mount.davfs.8:553 umount.davfs.8:87
|
#: davfs2.conf.5:520 mount.davfs.8:553 umount.davfs.8:87
|
||||||
msgid "@PACKAGE_BUGREPORT@"
|
msgid "@PACKAGE_BUGREPORT@"
|
||||||
msgstr "@PACKAGE_BUGREPORT@"
|
msgstr "@PACKAGE_BUGREPORT@"
|
||||||
|
|
||||||
# type: SH
|
# type: SH
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:529 mount.davfs.8:555 umount.davfs.8:89
|
#: davfs2.conf.5:522 mount.davfs.8:555 umount.davfs.8:89
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "SEE ALSO"
|
msgid "SEE ALSO"
|
||||||
msgstr "SIEHE AUCH"
|
msgstr "SIEHE AUCH"
|
||||||
@ -157,13 +157,13 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"B<@PACKAGE@> supports B<TLS/SSL> (if the neon library supports it) and "
|
"B<@PACKAGE@> supports B<TLS/SSL> (if the neon library supports it) and "
|
||||||
"proxies. B<@PROGRAM_NAME@> runs as a daemon in userspace. It integrates into "
|
"proxies. B<@PROGRAM_NAME@> runs as a daemon in userspace. It integrates into "
|
||||||
"the virtual file system by either the coda or the fuse kernel files system. "
|
"the virtual file system by using the fuse kernel files system. Currently "
|
||||||
"Currently CODA_KERNEL_VERSION 3 and FUSE_KERNEL_VERSION 7 are supported."
|
"FUSE_KERNEL_VERSION 7 is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"B<@PACKAGE@> unterstützt B<TLS/SSL> (falls die Neon-Bibliothek es "
|
"B<@PACKAGE@> unterstützt B<TLS/SSL> (falls die Neon-Bibliothek es "
|
||||||
"unterstützt) und Verbindungen über einen Proxy. Es wird über das coda oder "
|
"unterstützt) und Verbindungen über einen Proxy. Es wird über das fuse Kernel-"
|
||||||
"das fuse Kernel-Dateisystem in das virtuelle Dateisystem eingebunden. "
|
"Dateisystem in das virtuelle Dateisystem eingebunden. Derzeit wird die "
|
||||||
"Derzeit werden CODA_KERNEL_VERSION 3 und FUSE_KERNEL_VERSION 7 unterstützt."
|
"FUSE_KERNEL_VERSION 7 unterstützt."
|
||||||
|
|
||||||
# type: Plain text
|
# type: Plain text
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -39,8 +39,8 @@ from different locations.
|
|||||||
.PP
|
.PP
|
||||||
\fB@PACKAGE@\fR supports \fBTLS/SSL\fR (if the neon library supports it) and
|
\fB@PACKAGE@\fR supports \fBTLS/SSL\fR (if the neon library supports it) and
|
||||||
proxies. \fB@PROGRAM_NAME@\fR runs as a daemon in userspace. It integrates into the
|
proxies. \fB@PROGRAM_NAME@\fR runs as a daemon in userspace. It integrates into the
|
||||||
virtual file system by either the coda or the fuse kernel files system.
|
virtual file system by using the fuse kernel files system.
|
||||||
Currently CODA_KERNEL_VERSION 3 and FUSE_KERNEL_VERSION 7 are supported.
|
Currently FUSE_KERNEL_VERSION 7 is supported.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
\fB@PROGRAM_NAME@\fR is usually invoked by the \fBmount\fR(8) command when
|
\fB@PROGRAM_NAME@\fR is usually invoked by the \fBmount\fR(8) command when
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2012-03-18 12:02+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:15+0300\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -35,24 +35,24 @@ msgid "DESCRIPTION"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:518 mount.davfs.8:533 umount.davfs.8:79
|
#: davfs2.conf.5:511 mount.davfs.8:533 umount.davfs.8:79
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "AUTHORS"
|
msgid "AUTHORS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:524 mount.davfs.8:550 umount.davfs.8:84
|
#: davfs2.conf.5:517 mount.davfs.8:550 umount.davfs.8:84
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "DAVFS2 HOME"
|
msgid "DAVFS2 HOME"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
#: davfs2.conf.5:527 mount.davfs.8:553 umount.davfs.8:87
|
#: davfs2.conf.5:520 mount.davfs.8:553 umount.davfs.8:87
|
||||||
msgid "@PACKAGE_BUGREPORT@"
|
msgid "@PACKAGE_BUGREPORT@"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: SH
|
#. type: SH
|
||||||
#: davfs2.conf.5:529 mount.davfs.8:555 umount.davfs.8:89
|
#: davfs2.conf.5:522 mount.davfs.8:555 umount.davfs.8:89
|
||||||
#, no-wrap
|
#, no-wrap
|
||||||
msgid "SEE ALSO"
|
msgid "SEE ALSO"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@ -130,8 +130,8 @@ msgstr ""
|
|||||||
msgid ""
|
msgid ""
|
||||||
"B<@PACKAGE@> supports B<TLS/SSL> (if the neon library supports it) and "
|
"B<@PACKAGE@> supports B<TLS/SSL> (if the neon library supports it) and "
|
||||||
"proxies. B<@PROGRAM_NAME@> runs as a daemon in userspace. It integrates into "
|
"proxies. B<@PROGRAM_NAME@> runs as a daemon in userspace. It integrates into "
|
||||||
"the virtual file system by either the coda or the fuse kernel files system. "
|
"the virtual file system by using the fuse kernel files system. Currently "
|
||||||
"Currently CODA_KERNEL_VERSION 3 and FUSE_KERNEL_VERSION 7 are supported."
|
"FUSE_KERNEL_VERSION 7 is supported."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. type: Plain text
|
#. type: Plain text
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
de:de/davfs2.conf.5 add_de:de/davfs2.conf.5.translator \
|
de:de/davfs2.conf.5 add_de:de/davfs2.conf.5.translator \
|
||||||
es:es/davfs2.conf.5 \
|
es:es/davfs2.conf.5 \
|
||||||
opt_de:"-L UTF-8 -A UTF-8" \
|
opt_de:"-L UTF-8 -A UTF-8" \
|
||||||
opt_es:"-k 75 -L UTF-8"
|
opt_es:"-k 74 -L UTF-8"
|
||||||
|
|
||||||
[type:man] mount.davfs.8 \
|
[type:man] mount.davfs.8 \
|
||||||
de:de/mount.davfs.8 add_de:de/mount.davfs.8.translator \
|
de:de/mount.davfs.8 add_de:de/mount.davfs.8.translator \
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
# List of source files which contain translatable strings.
|
# List of source files which contain translatable strings.
|
||||||
src/cache.c
|
src/cache.c
|
||||||
src/dav_coda.c
|
|
||||||
src/dav_fuse.c
|
|
||||||
src/kernel_interface.c
|
src/kernel_interface.c
|
||||||
src/mount_davfs.c
|
src/mount_davfs.c
|
||||||
src/umount_davfs.c
|
src/umount_davfs.c
|
||||||
|
393
po/cs.po
393
po/cs.po
@ -7,7 +7,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||||
"func=additem&group=davfs2\n"
|
"func=additem&group=davfs2\n"
|
||||||
"POT-Creation-Date: 2012-02-01 18:13+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||||
"PO-Revision-Date: 2007-05-03 19:50+0200\n"
|
"PO-Revision-Date: 2007-05-03 19:50+0200\n"
|
||||||
"Last-Translator: Vítězslav Kotrla <vitko@post.cz>\n"
|
"Last-Translator: Vítězslav Kotrla <vitko@post.cz>\n"
|
||||||
"Language-Team: <cs@li.org>\n"
|
"Language-Team: <cs@li.org>\n"
|
||||||
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bitX-Generator: KBabel 1.11.4\n"
|
"Content-Transfer-Encoding: 8bitX-Generator: KBabel 1.11.4\n"
|
||||||
"X-Generator: KBabel 1.11.4\n"
|
"X-Generator: KBabel 1.11.4\n"
|
||||||
|
|
||||||
#: src/cache.c:662
|
#: src/cache.c:656
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"connection timed out two times;\n"
|
"connection timed out two times;\n"
|
||||||
@ -26,12 +26,12 @@ msgstr ""
|
|||||||
"spojení vypršelo dvakrát;\n"
|
"spojení vypršelo dvakrát;\n"
|
||||||
"zkouším to ještě jednou a naposledy"
|
"zkouším to ještě jednou a naposledy"
|
||||||
|
|
||||||
#: src/cache.c:667
|
#: src/cache.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Last try succeeded.\n"
|
msgid "Last try succeeded.\n"
|
||||||
msgstr "Poslední pokus byl úspěšný.\n"
|
msgstr "Poslední pokus byl úspěšný.\n"
|
||||||
|
|
||||||
#: src/cache.c:670
|
#: src/cache.c:664
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"server temporarily unreachable;\n"
|
"server temporarily unreachable;\n"
|
||||||
@ -40,7 +40,7 @@ msgstr ""
|
|||||||
"server je dočasně nedostupný;\n"
|
"server je dočasně nedostupný;\n"
|
||||||
"přesto připojuji"
|
"přesto připojuji"
|
||||||
|
|
||||||
#: src/cache.c:673
|
#: src/cache.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Mounting failed.\n"
|
"Mounting failed.\n"
|
||||||
@ -49,211 +49,177 @@ msgstr ""
|
|||||||
"Připojení selhalo;\n"
|
"Připojení selhalo;\n"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
||||||
#: src/cache.c:713
|
#: src/cache.c:706
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't replace %s with %s"
|
msgid "can't replace %s with %s"
|
||||||
msgstr "nemohu nahradit %s pomocí %s"
|
msgstr "nemohu nahradit %s pomocí %s"
|
||||||
|
|
||||||
#: src/cache.c:717
|
#: src/cache.c:710
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing new index file %s"
|
msgid "error writing new index file %s"
|
||||||
msgstr "chyba při zápisu nového indexového souboru %s"
|
msgstr "chyba při zápisu nového indexového souboru %s"
|
||||||
|
|
||||||
#: src/cache.c:721
|
#: src/cache.c:714
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create new index file for %s"
|
msgid "can't create new index file for %s"
|
||||||
msgstr "nemohu vytvořit nový indexový soubor pro %s"
|
msgstr "nemohu vytvořit nový indexový soubor pro %s"
|
||||||
|
|
||||||
#: src/cache.c:943
|
#: src/cache.c:925
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||||
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2565 src/cache.c:2598
|
#: src/cache.c:2512 src/cache.c:2545
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache file %s"
|
msgid "can't create cache file %s"
|
||||||
msgstr "nemohu vytvořit soubor vyrovnávací paměti %s"
|
msgstr "nemohu vytvořit soubor vyrovnávací paměti %s"
|
||||||
|
|
||||||
#: src/cache.c:2613
|
#: src/cache.c:2560
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing directory %s"
|
msgid "error writing directory %s"
|
||||||
msgstr "chyba při zápisu adresáře %s"
|
msgstr "chyba při zápisu adresáře %s"
|
||||||
|
|
||||||
#: src/cache.c:2781 src/mount_davfs.c:1162
|
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read user data base"
|
msgid "can't read user data base"
|
||||||
msgstr "nemohu přečíst údaje o uživatelích"
|
msgstr "nemohu přečíst údaje o uživatelích"
|
||||||
|
|
||||||
#: src/cache.c:2793
|
#: src/cache.c:2735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open cache directory %s"
|
msgid "can't open cache directory %s"
|
||||||
msgstr "nemohu otevřít kešovací adresář %s"
|
msgstr "nemohu otevřít kešovací adresář %s"
|
||||||
|
|
||||||
#: src/cache.c:2808
|
#: src/cache.c:2750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache directory %s"
|
msgid "can't create cache directory %s"
|
||||||
msgstr "nemohu vytvořit kešovací adresář %s"
|
msgstr "nemohu vytvořit kešovací adresář %s"
|
||||||
|
|
||||||
#: src/cache.c:2815
|
#: src/cache.c:2757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access cache directory %s"
|
msgid "can't access cache directory %s"
|
||||||
msgstr "nemohu přistoupit ke kešovacímu adresáři %s"
|
msgstr "nemohu přistoupit ke kešovacímu adresáři %s"
|
||||||
|
|
||||||
#: src/cache.c:2818
|
#: src/cache.c:2760
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong owner of cache directory %s"
|
msgid "wrong owner of cache directory %s"
|
||||||
msgstr "chybný vlastník kešovacího adresáře %s"
|
msgstr "chybný vlastník kešovacího adresáře %s"
|
||||||
|
|
||||||
#: src/cache.c:2822
|
#: src/cache.c:2764
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong permissions set for cache directory %s"
|
msgid "wrong permissions set for cache directory %s"
|
||||||
msgstr "pro kešovací adresář %s nastaveno chybné oprávnění"
|
msgstr "pro kešovací adresář %s nastaveno chybné oprávnění"
|
||||||
|
|
||||||
#: src/cache.c:2852
|
#: src/cache.c:2794
|
||||||
msgid "found orphaned file in cache:"
|
msgid "found orphaned file in cache:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2925
|
#: src/cache.c:2867
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error parsing %s"
|
msgid "error parsing %s"
|
||||||
msgstr "chyba při zpracování %s"
|
msgstr "chyba při zpracování %s"
|
||||||
|
|
||||||
#: src/cache.c:2926
|
#: src/cache.c:2868
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " at line %i"
|
msgid " at line %i"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2971
|
#: src/cache.c:2913
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "open files exceed max cache size by %llu MiBytes"
|
msgid "open files exceed max cache size by %llu MiBytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"otevřené soubory přesahují limit velikosti vyrovnávací paměti o %llu MiB"
|
"otevřené soubory přesahují limit velikosti vyrovnávací paměti o %llu MiB"
|
||||||
|
|
||||||
#: src/dav_coda.c:173 src/dav_fuse.c:173
|
#: src/kernel_interface.c:209
|
||||||
msgid "can't allocate message buffer"
|
|
||||||
msgstr "nemohu alokovat buffer pro zprávu"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:114
|
|
||||||
#, c-format
|
|
||||||
msgid "trying fuse kernel file system"
|
|
||||||
msgstr "zkouším jaderný souborový systém fuse"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:121
|
|
||||||
#, c-format
|
|
||||||
msgid "fuse device opened successfully"
|
|
||||||
msgstr "zařízení fuse otevřeno úspěšně"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:133
|
|
||||||
#, c-format
|
|
||||||
msgid "trying coda kernel file system"
|
|
||||||
msgstr "zkouším jaderný souborový systém coda"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:137
|
|
||||||
#, c-format
|
|
||||||
msgid "coda device opened successfully"
|
|
||||||
msgstr "zařízení coda otevřeno úspěšně"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:145
|
|
||||||
#, c-format
|
|
||||||
msgid "unknown kernel file system %s"
|
|
||||||
msgstr "neznámý jaderný souborový systém %s"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:189
|
|
||||||
#, c-format
|
|
||||||
msgid "no free coda device to mount"
|
|
||||||
msgstr "pro připojení není volné žádné coda zařízení"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:198
|
|
||||||
#, c-format
|
|
||||||
msgid "CODA_KERNEL_VERSION %u not supported"
|
|
||||||
msgstr "CODA_KERNEL_VERSION %u není podporováno"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:235
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open fuse device"
|
msgid "can't open fuse device"
|
||||||
msgstr "nemohu otevřít fuse zařízení"
|
msgstr "nemohu otevřít fuse zařízení"
|
||||||
|
|
||||||
#: src/kernel_interface.c:259
|
#: src/kernel_interface.c:217
|
||||||
#, c-format
|
#, fuzzy, c-format
|
||||||
msgid "can't mount using fuse kernel file system"
|
msgid "mounting failed"
|
||||||
msgstr "nemohu připojit jaderný souborový systém fuse"
|
msgstr "odpojení selhalo"
|
||||||
|
|
||||||
#: src/mount_davfs.c:316
|
#: src/kernel_interface.c:226
|
||||||
|
#, c-format
|
||||||
|
msgid "can't allocate message buffer"
|
||||||
|
msgstr "nemohu alokovat buffer pro zprávu"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:294
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't start daemon process"
|
msgid "can't start daemon process"
|
||||||
msgstr "nemohu spustit proces na pozadí"
|
msgstr "nemohu spustit proces na pozadí"
|
||||||
|
|
||||||
#: src/mount_davfs.c:338
|
#: src/mount_davfs.c:316
|
||||||
msgid "can't release root privileges"
|
msgid "can't release root privileges"
|
||||||
msgstr "nemohu uvolnit oprávnění uživatele root"
|
msgstr "nemohu uvolnit oprávnění uživatele root"
|
||||||
|
|
||||||
#: src/mount_davfs.c:358
|
#: src/mount_davfs.c:333
|
||||||
msgid "failed to release tty properly"
|
msgid "failed to release tty properly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:370
|
#: src/mount_davfs.c:345
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't write pid file %s"
|
msgid "can't write pid file %s"
|
||||||
msgstr "nemohu zapsat pid souboru %s"
|
msgstr "nemohu zapsat pid souboru %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:388
|
#: src/mount_davfs.c:362
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmounting %s"
|
msgid "unmounting %s"
|
||||||
msgstr "odpojuji %s"
|
msgstr "odpojuji %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:390
|
#: src/mount_davfs.c:364
|
||||||
msgid "unmounting failed"
|
msgid "unmounting failed"
|
||||||
msgstr "odpojení selhalo"
|
msgstr "odpojení selhalo"
|
||||||
|
|
||||||
#: src/mount_davfs.c:442
|
#: src/mount_davfs.c:435
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group id"
|
msgid "can't change group id"
|
||||||
msgstr "nemohu změnit id skupiny"
|
msgstr "nemohu změnit id skupiny"
|
||||||
|
|
||||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577 src/mount_davfs.c:603
|
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create directory %s"
|
msgid "can't create directory %s"
|
||||||
msgstr "nemohu vytvořit adresář %s"
|
msgstr "nemohu vytvořit adresář %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:487 src/mount_davfs.c:581 src/mount_davfs.c:607
|
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||||
#: src/mount_davfs.c:612 src/mount_davfs.c:620
|
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access directory %s"
|
msgid "can't access directory %s"
|
||||||
msgstr "nemohu přistupovat k adresáři %s"
|
msgstr "nemohu přistupovat k adresáři %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:493 src/mount_davfs.c:587
|
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change mode of directory %s"
|
msgid "can't change mode of directory %s"
|
||||||
msgstr "nemohu změnit oprávnění (mode) adresáře %s"
|
msgstr "nemohu změnit oprávnění (mode) adresáře %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:498 src/mount_davfs.c:593
|
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group of directory %s"
|
msgid "can't change group of directory %s"
|
||||||
msgstr "nemohu změnit skupinu adresáře %s"
|
msgstr "nemohu změnit skupinu adresáře %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:505 src/mount_davfs.c:561
|
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong owner"
|
msgid "file %s has wrong owner"
|
||||||
msgstr "soubor %s má chybného vlastníka"
|
msgstr "soubor %s má chybného vlastníka"
|
||||||
|
|
||||||
#: src/mount_davfs.c:509 src/mount_davfs.c:566
|
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong permissions"
|
msgid "file %s has wrong permissions"
|
||||||
msgstr "soubor %s má chybná oprávnění"
|
msgstr "soubor %s má chybná oprávnění"
|
||||||
|
|
||||||
#: src/mount_davfs.c:638 src/mount_davfs.c:692
|
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open file %s"
|
msgid "can't open file %s"
|
||||||
msgstr "nemohu otevřít soubor %s"
|
msgstr "nemohu otevřít soubor %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:643
|
#: src/mount_davfs.c:633
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is already mounted on %s"
|
msgid "%s is already mounted on %s"
|
||||||
msgstr "%s už je připojeno jako %s"
|
msgstr "%s už je připojeno jako %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:665
|
#: src/mount_davfs.c:655
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"found PID file %s.\n"
|
"found PID file %s.\n"
|
||||||
@ -264,97 +230,82 @@ msgstr ""
|
|||||||
"Buď %s používá jiný proces, nebo\n"
|
"Buď %s používá jiný proces, nebo\n"
|
||||||
"jiné připojení skončilo neobvykle"
|
"jiné připojení skončilo neobvykle"
|
||||||
|
|
||||||
#: src/mount_davfs.c:709
|
#: src/mount_davfs.c:697
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no entry for %s found in %s"
|
msgid "no entry for %s found in %s"
|
||||||
msgstr "pro %s nebyla v %s nalezena žádná položka"
|
msgstr "pro %s nebyla v %s nalezena žádná položka"
|
||||||
|
|
||||||
#: src/mount_davfs.c:713
|
#: src/mount_davfs.c:701
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different URL in %s"
|
msgid "different URL in %s"
|
||||||
msgstr "v %s je jiné URL"
|
msgstr "v %s je jiné URL"
|
||||||
|
|
||||||
#: src/mount_davfs.c:716
|
#: src/mount_davfs.c:704
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file system type in %s"
|
msgid "different file system type in %s"
|
||||||
msgstr "v %s je jiný souborový systém"
|
msgstr "v %s je jiný souborový systém"
|
||||||
|
|
||||||
#: src/mount_davfs.c:727
|
#: src/mount_davfs.c:715
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different config file in %s"
|
msgid "different config file in %s"
|
||||||
msgstr "v %s je jiný konfigurační soubor"
|
msgstr "v %s je jiný konfigurační soubor"
|
||||||
|
|
||||||
#: src/mount_davfs.c:733
|
#: src/mount_davfs.c:721
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "different username in %s"
|
msgid "different username in %s"
|
||||||
msgstr "v %s je odlišný dir_mode"
|
msgstr "v %s je odlišný dir_mode"
|
||||||
|
|
||||||
#: src/mount_davfs.c:737
|
#: src/mount_davfs.c:725
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "neither option `user' nor option `users' set in %s"
|
msgid "neither option `user' nor option `users' set in %s"
|
||||||
msgstr "volba 'user' není v %s nastavena"
|
msgstr "volba 'user' není v %s nastavena"
|
||||||
|
|
||||||
#: src/mount_davfs.c:740
|
#: src/mount_davfs.c:728
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different mount options in %s"
|
msgid "different mount options in %s"
|
||||||
msgstr "v %s jsou jiné parametry připojení"
|
msgstr "v %s jsou jiné parametry připojení"
|
||||||
|
|
||||||
#: src/mount_davfs.c:743
|
#: src/mount_davfs.c:731
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different uid in %s"
|
msgid "different uid in %s"
|
||||||
msgstr "v %s je odlišné uid"
|
msgstr "v %s je odlišné uid"
|
||||||
|
|
||||||
#: src/mount_davfs.c:745
|
#: src/mount_davfs.c:733
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different gid in %s"
|
msgid "different gid in %s"
|
||||||
msgstr "v %s je odlišné gid"
|
msgstr "v %s je odlišné gid"
|
||||||
|
|
||||||
#: src/mount_davfs.c:747
|
#: src/mount_davfs.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different dir_mode in %s"
|
msgid "different dir_mode in %s"
|
||||||
msgstr "v %s je odlišný dir_mode"
|
msgstr "v %s je odlišný dir_mode"
|
||||||
|
|
||||||
#: src/mount_davfs.c:749
|
#: src/mount_davfs.c:737
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file_mode in %s"
|
msgid "different file_mode in %s"
|
||||||
msgstr "v %s je odlišný file_mode"
|
msgstr "v %s je odlišný file_mode"
|
||||||
|
|
||||||
#: src/mount_davfs.c:770
|
#: src/mount_davfs.c:757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you can't set file owner different from your uid"
|
msgid "you can't set file owner different from your uid"
|
||||||
msgstr "nemůžete nastavit jiného vlastníka souboru než je vaše uid"
|
msgstr "nemůžete nastavit jiného vlastníka souboru než je vaše uid"
|
||||||
|
|
||||||
#: src/mount_davfs.c:782
|
#: src/mount_davfs.c:769
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you must be member of the group of the file system"
|
msgid "you must be member of the group of the file system"
|
||||||
msgstr "musíte být členem skupiny souborového systému"
|
msgstr "musíte být členem skupiny souborového systému"
|
||||||
|
|
||||||
#: src/mount_davfs.c:793
|
#: src/mount_davfs.c:780
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s must be member of group %s"
|
msgid "user %s must be member of group %s"
|
||||||
msgstr "uživatel %s musí být členem skupiny %s"
|
msgstr "uživatel %s musí být členem skupiny %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:814
|
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||||
#, c-format
|
|
||||||
msgid "can't mount %s on %s"
|
|
||||||
msgstr "není možno připojit %s do %s"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:816
|
|
||||||
#, c-format
|
|
||||||
msgid "kernel does not know file system %s"
|
|
||||||
msgstr "kernel nezná souborový systém %s"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:818
|
|
||||||
#, c-format
|
|
||||||
msgid "mount point is busy"
|
|
||||||
msgstr "přípojný bod je zaneprázdněn"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:837 src/mount_davfs.c:1275
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change effective user id"
|
msgid "can't change effective user id"
|
||||||
msgstr "nemohu změnit identifikátor efektivního uživatele"
|
msgstr "nemohu změnit identifikátor efektivního uživatele"
|
||||||
|
|
||||||
#: src/mount_davfs.c:908 src/umount_davfs.c:92
|
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is free software; see the source for copying conditions. There is NO\n"
|
"This is free software; see the source for copying conditions. There is NO\n"
|
||||||
@ -365,87 +316,67 @@ msgstr ""
|
|||||||
"Program je poskytován BEZ JAKÉKOLIV záruky, včetně záruky PRODEJNOSTI či "
|
"Program je poskytován BEZ JAKÉKOLIV záruky, včetně záruky PRODEJNOSTI či "
|
||||||
"VHODNOSTI K URČITÉMU ÚČELU.\n"
|
"VHODNOSTI K URČITÉMU ÚČELU.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:924 src/umount_davfs.c:117
|
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown error parsing arguments"
|
msgid "unknown error parsing arguments"
|
||||||
msgstr "neznámá chyba při zpracování argumentů"
|
msgstr "neznámá chyba při zpracování argumentů"
|
||||||
|
|
||||||
#: src/mount_davfs.c:933 src/umount_davfs.c:123
|
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "missing argument"
|
msgid "missing argument"
|
||||||
msgstr "chybějící argument"
|
msgstr "chybějící argument"
|
||||||
|
|
||||||
#: src/mount_davfs.c:946
|
#: src/mount_davfs.c:882
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't evaluate path of mount point %s"
|
msgid "can't evaluate path of mount point %s"
|
||||||
msgstr "nemohu vyhodnotit cestu k přípojnému bodu %s"
|
msgstr "nemohu vyhodnotit cestu k přípojnému bodu %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:949 src/umount_davfs.c:125
|
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many arguments"
|
msgid "too many arguments"
|
||||||
msgstr "příliš mnoho argumentů"
|
msgstr "příliš mnoho argumentů"
|
||||||
|
|
||||||
#: src/mount_davfs.c:956
|
#: src/mount_davfs.c:892
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "A relative mount point must lie within your home directory"
|
msgid "A relative mount point must lie within your home directory"
|
||||||
msgstr "Relativní přípojný bod musí ležet ve vašem domovském adresáři"
|
msgstr "Relativní přípojný bod musí ležet ve vašem domovském adresáři"
|
||||||
|
|
||||||
#: src/mount_davfs.c:961
|
#: src/mount_davfs.c:897
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no WebDAV-server specified"
|
msgid "no WebDAV-server specified"
|
||||||
msgstr "nebyl zadán žádný WebDAV server"
|
msgstr "nebyl zadán žádný WebDAV server"
|
||||||
|
|
||||||
#: src/mount_davfs.c:964
|
#: src/mount_davfs.c:900
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid URL"
|
msgid "invalid URL"
|
||||||
msgstr "neplatné URL"
|
msgstr "neplatné URL"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1005
|
#: src/mount_davfs.c:930
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s does not exist"
|
msgid "user %s does not exist"
|
||||||
msgstr "uživatel %s neexistuje"
|
msgstr "uživatel %s neexistuje"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1013
|
#: src/mount_davfs.c:938
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "group %s does not exist"
|
msgid "group %s does not exist"
|
||||||
msgstr "skupina %s neexistuje"
|
msgstr "skupina %s neexistuje"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1042 src/mount_davfs.c:1069
|
#: src/mount_davfs.c:1004
|
||||||
#, c-format
|
|
||||||
msgid "can't read server certificate %s"
|
|
||||||
msgstr "nemohu přečíst serverový cerifikát %s"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1099 src/webdav.c:432
|
|
||||||
#, c-format
|
|
||||||
msgid "can't read client certificate %s"
|
|
||||||
msgstr "nelze přečíst klientský certifikát %s"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1104
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong owner"
|
|
||||||
msgstr "klientský certifikát %s má chybného vlastníka"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1110
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong permissions"
|
|
||||||
msgstr "soubor s klientským certifikátem %s má chybná oprávnění"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1153
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "program is not setuid root"
|
msgid "program is not setuid root"
|
||||||
msgstr "program není spuštěn jako setuid root"
|
msgstr "program není spuštěn jako setuid root"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1171
|
#: src/mount_davfs.c:1022
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read group data base"
|
msgid "can't read group data base"
|
||||||
msgstr "nemohu přečíst údaje o skupinách"
|
msgstr "nemohu přečíst údaje o skupinách"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1201 src/mount_davfs.c:1214 src/mount_davfs.c:1216
|
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||||
#: src/mount_davfs.c:1234 src/mount_davfs.c:1236 src/webdav.c:439
|
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||||
msgid "Password: "
|
msgid "Password: "
|
||||||
msgstr "Heslo: "
|
msgstr "Heslo: "
|
||||||
|
|
||||||
#: src/mount_davfs.c:1205
|
#: src/mount_davfs.c:1053
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with proxy\n"
|
"Please enter the username to authenticate with proxy\n"
|
||||||
@ -455,11 +386,11 @@ msgstr ""
|
|||||||
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
||||||
"Uživatelské jméno: "
|
"Uživatelské jméno: "
|
||||||
|
|
||||||
#: src/mount_davfs.c:1207 src/mount_davfs.c:1227
|
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||||
msgid "Username:"
|
msgid "Username:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1211
|
#: src/mount_davfs.c:1059
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with proxy\n"
|
"Please enter the password to authenticate user %s with proxy\n"
|
||||||
@ -468,7 +399,7 @@ msgstr ""
|
|||||||
"Zadejte prosím heslo pro autentizaci uživatele %s na proxy\n"
|
"Zadejte prosím heslo pro autentizaci uživatele %s na proxy\n"
|
||||||
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
"%s (pokud žádné zadat nechcete, pouze stiskněte enter).\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1225
|
#: src/mount_davfs.c:1073
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with server\n"
|
"Please enter the username to authenticate with server\n"
|
||||||
@ -478,7 +409,7 @@ msgstr ""
|
|||||||
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
||||||
"Uživatelské jméno: "
|
"Uživatelské jméno: "
|
||||||
|
|
||||||
#: src/mount_davfs.c:1231
|
#: src/mount_davfs.c:1079
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with server\n"
|
"Please enter the password to authenticate user %s with server\n"
|
||||||
@ -487,60 +418,94 @@ msgstr ""
|
|||||||
"Zadejte prosím heslo uživatele %s pro autentizaci na serveru\n"
|
"Zadejte prosím heslo uživatele %s pro autentizaci na serveru\n"
|
||||||
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
"%s (nebo pouze stiskně enter, pokud nic zadat nechcete).\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1303
|
#: src/mount_davfs.c:1097
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Please enter the password to decrypt client\n"
|
||||||
|
"certificate %s.\n"
|
||||||
|
msgstr ""
|
||||||
|
"Zadejte prosím heslo pro dešifrování klientského\n"
|
||||||
|
"certifikátu %s.\n"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1104
|
||||||
|
#, c-format
|
||||||
|
msgid "can't decrypt client certificate %s"
|
||||||
|
msgstr "nemohu dešifrovat klientský certifikát %s"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1167
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "pid %i, got signal %i"
|
msgid "pid %i, got signal %i"
|
||||||
msgstr "pid %i dostal signál %i"
|
msgstr "pid %i dostal signál %i"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1343
|
#: src/mount_davfs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Varování: nelze zapsat položku do mtab, přesto souborový systém připojím"
|
"Varování: nelze zapsat položku do mtab, přesto souborový systém připojím"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1369
|
#: src/mount_davfs.c:1232
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a decimal number"
|
msgid "option %s has invalid argument;it must be a decimal number"
|
||||||
msgstr "volba %s má neplatný argument; musí to být číslo v desítkové soustavě"
|
msgstr "volba %s má neplatný argument; musí to být číslo v desítkové soustavě"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1372
|
#: src/mount_davfs.c:1235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be an octal number"
|
msgid "option %s has invalid argument;it must be an octal number"
|
||||||
msgstr "volba %s má neplatný argument; musí to být číslo v osmičkové soustavě"
|
msgstr "volba %s má neplatný argument; musí to být číslo v osmičkové soustavě"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1375
|
#: src/mount_davfs.c:1238
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a number"
|
msgid "option %s has invalid argument;it must be a number"
|
||||||
msgstr "volba %s má neplatný argument; musí to být číslo"
|
msgstr "volba %s má neplatný argument; musí to být číslo"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1652
|
#: src/mount_davfs.c:1513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s requires argument"
|
msgid "option %s requires argument"
|
||||||
msgstr "volba %s vyžaduje argument"
|
msgstr "volba %s vyžaduje argument"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1744
|
#: src/mount_davfs.c:1605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unknown option %s.\n"
|
msgid "Unknown option %s.\n"
|
||||||
msgstr "Neznámá volba %s.\n"
|
msgstr "Neznámá volba %s.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2100 src/mount_davfs.c:2330
|
#: src/mount_davfs.c:1976
|
||||||
|
#, fuzzy, c-format
|
||||||
|
msgid "can't read certificate %s"
|
||||||
|
msgstr "nelze přečíst klientský certifikát %s"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||||
|
#, c-format
|
||||||
|
msgid "can't read client certificate %s"
|
||||||
|
msgstr "nelze přečíst klientský certifikát %s"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2012
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong owner"
|
||||||
|
msgstr "klientský certifikát %s má chybného vlastníka"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2016
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong permissions"
|
||||||
|
msgstr "soubor s klientským certifikátem %s má chybná oprávnění"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||||
#, fuzzy, c-format
|
#, fuzzy, c-format
|
||||||
msgid "opening %s failed"
|
msgid "opening %s failed"
|
||||||
msgstr "odpojení selhalo"
|
msgstr "odpojení selhalo"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2121 src/mount_davfs.c:2166 src/mount_davfs.c:2258
|
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||||
#: src/mount_davfs.c:2346 src/mount_davfs.c:2413
|
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "malformed line"
|
msgid "malformed line"
|
||||||
msgstr "špatně zapsaný řádek"
|
msgstr "špatně zapsaný řádek"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2236 src/mount_davfs.c:2252
|
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown option"
|
msgid "unknown option"
|
||||||
msgstr "neznámá volba"
|
msgstr "neznámá volba"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2545
|
#: src/mount_davfs.c:2496
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
@ -553,7 +518,7 @@ msgstr ""
|
|||||||
" %s -h,--help : vytiskne tuto zprávu\n"
|
" %s -h,--help : vytiskne tuto zprávu\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2549
|
#: src/mount_davfs.c:2500
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||||
@ -562,7 +527,7 @@ msgstr ""
|
|||||||
"Pro připojení zdroje WebDAV nevolejte přímo %s, ale\n"
|
"Pro připojení zdroje WebDAV nevolejte přímo %s, ale\n"
|
||||||
"použijte místo toho `mount'.\n"
|
"použijte místo toho `mount'.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2551
|
#: src/mount_davfs.c:2502
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount <mountpoint> : or\n"
|
" mount <mountpoint> : or\n"
|
||||||
@ -573,7 +538,7 @@ msgstr ""
|
|||||||
" mount <url_serveru> : připojí zdroj WebDAV tak, jak je zadáno\n"
|
" mount <url_serveru> : připojí zdroj WebDAV tak, jak je zadáno\n"
|
||||||
" v /etc/fstab.\n"
|
" v /etc/fstab.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2554
|
#: src/mount_davfs.c:2505
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||||
@ -590,7 +555,7 @@ msgstr ""
|
|||||||
" označuje seznam voleb oddělených čárkou.\n"
|
" označuje seznam voleb oddělených čárkou.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2559
|
#: src/mount_davfs.c:2510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Recognised options:\n"
|
"Recognised options:\n"
|
||||||
@ -609,7 +574,7 @@ msgstr ""
|
|||||||
" file_mode= : výchozí mode souboru (v osmičkové soustavě)\n"
|
" file_mode= : výchozí mode souboru (v osmičkové soustavě)\n"
|
||||||
" dir_mode= : výchozí mode adresáře (v osmičkové soustavě)\n"
|
" dir_mode= : výchozí mode adresáře (v osmičkové soustavě)\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2565
|
#: src/mount_davfs.c:2516
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" ro : mount read-only\n"
|
" ro : mount read-only\n"
|
||||||
@ -724,95 +689,81 @@ msgstr ""
|
|||||||
msgid "neon library does not support TLS/SSL"
|
msgid "neon library does not support TLS/SSL"
|
||||||
msgstr "knihovna neon nepodporuje TLS/SSL"
|
msgstr "knihovna neon nepodporuje TLS/SSL"
|
||||||
|
|
||||||
#: src/webdav.c:437
|
#: src/webdav.c:475 src/webdav.c:478
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"Please enter the password to decrypt client\n"
|
|
||||||
"certificate %s.\n"
|
|
||||||
msgstr ""
|
|
||||||
"Zadejte prosím heslo pro dešifrování klientského\n"
|
|
||||||
"certifikátu %s.\n"
|
|
||||||
|
|
||||||
#: src/webdav.c:451
|
|
||||||
#, c-format
|
|
||||||
msgid "can't decrypt client certificate %s"
|
|
||||||
msgstr "nemohu dešifrovat klientský certifikát %s"
|
|
||||||
|
|
||||||
#: src/webdav.c:505 src/webdav.c:508
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "mounting failed; the server does not support WebDAV"
|
msgid "mounting failed; the server does not support WebDAV"
|
||||||
msgstr "připojení selhalo; server nepodporuje WebDAV"
|
msgstr "připojení selhalo; server nepodporuje WebDAV"
|
||||||
|
|
||||||
#: src/webdav.c:516
|
#: src/webdav.c:486
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: the server does not support locks"
|
msgid "warning: the server does not support locks"
|
||||||
msgstr "varování: server nepodporuje zámky"
|
msgstr "varování: server nepodporuje zámky"
|
||||||
|
|
||||||
#: src/webdav.c:1596
|
#: src/webdav.c:1566
|
||||||
msgid "authentication failure:"
|
msgid "authentication failure:"
|
||||||
msgstr "selhání autentizace:"
|
msgstr "selhání autentizace:"
|
||||||
|
|
||||||
#: src/webdav.c:1634
|
#: src/webdav.c:1604
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i can't open cache file"
|
msgid "%i can't open cache file"
|
||||||
msgstr "%i nemůže otevřít soubor vyrovnávací paměti"
|
msgstr "%i nemůže otevřít soubor vyrovnávací paměti"
|
||||||
|
|
||||||
#: src/webdav.c:1642
|
#: src/webdav.c:1612
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i error writing to cache file"
|
msgid "%i error writing to cache file"
|
||||||
msgstr "%i chyba při zápisu do souboru vyrovnávací paměti"
|
msgstr "%i chyba při zápisu do souboru vyrovnávací paměti"
|
||||||
|
|
||||||
#: src/webdav.c:1952 src/webdav.c:1981 src/webdav.c:2018
|
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not trusted"
|
msgid "the server certificate is not trusted"
|
||||||
msgstr "certifikát serveru je nedůvěryhodný"
|
msgstr "certifikát serveru je nedůvěryhodný"
|
||||||
|
|
||||||
#: src/webdav.c:1961 src/webdav.c:1964
|
#: src/webdav.c:1931 src/webdav.c:1934
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error processing server certificate"
|
msgid "error processing server certificate"
|
||||||
msgstr "chyba při zpracování certifikátu serveru"
|
msgstr "chyba při zpracování certifikátu serveru"
|
||||||
|
|
||||||
#: src/webdav.c:1975 src/webdav.c:2009
|
#: src/webdav.c:1945 src/webdav.c:1979
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not yet valid"
|
msgid "the server certificate is not yet valid"
|
||||||
msgstr "certifikát serveru zatím není platný"
|
msgstr "certifikát serveru zatím není platný"
|
||||||
|
|
||||||
#: src/webdav.c:1977 src/webdav.c:2012
|
#: src/webdav.c:1947 src/webdav.c:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate has expired"
|
msgid "the server certificate has expired"
|
||||||
msgstr "platnost certifikátu serveru vypršela"
|
msgstr "platnost certifikátu serveru vypršela"
|
||||||
|
|
||||||
#: src/webdav.c:1979 src/webdav.c:2015
|
#: src/webdav.c:1949 src/webdav.c:1985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate does not match the server name"
|
msgid "the server certificate does not match the server name"
|
||||||
msgstr "certifikát serveru nedopovídá jménu serveru"
|
msgstr "certifikát serveru nedopovídá jménu serveru"
|
||||||
|
|
||||||
#: src/webdav.c:1983 src/webdav.c:2021
|
#: src/webdav.c:1953 src/webdav.c:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown certificate error"
|
msgid "unknown certificate error"
|
||||||
msgstr "neznámá chyba certifikátu"
|
msgstr "neznámá chyba certifikátu"
|
||||||
|
|
||||||
#: src/webdav.c:1984
|
#: src/webdav.c:1954
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr " vydavatel: %s"
|
msgstr " vydavatel: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1986
|
#: src/webdav.c:1956
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr " subjekt: %s"
|
msgstr " subjekt: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1988
|
#: src/webdav.c:1958
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr " identita: %s"
|
msgstr " identita: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1990
|
#: src/webdav.c:1960
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " fingerprint: %s"
|
msgid " fingerprint: %s"
|
||||||
msgstr " otisk: %s"
|
msgstr " otisk: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1992
|
#: src/webdav.c:1962
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You only should accept this certificate, if you can\n"
|
"You only should accept this certificate, if you can\n"
|
||||||
@ -823,30 +774,66 @@ msgstr ""
|
|||||||
"ověřit jeho otisk! Server může být podvržen nebo může\n"
|
"ověřit jeho otisk! Server může být podvržen nebo může\n"
|
||||||
"dojít k útoku s prostředníkem (man-in-the-middle attack).\n"
|
"dojít k útoku s prostředníkem (man-in-the-middle attack).\n"
|
||||||
|
|
||||||
#: src/webdav.c:1995
|
#: src/webdav.c:1965
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Accept certificate for this session? [y,N] "
|
msgid "Accept certificate for this session? [y,N] "
|
||||||
msgstr "Přijmout certifikát pro toto sezení? [y,N] "
|
msgstr "Přijmout certifikát pro toto sezení? [y,N] "
|
||||||
|
|
||||||
#: src/webdav.c:2022
|
#: src/webdav.c:1992
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr " vydavatel: %s"
|
msgstr " vydavatel: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2023
|
#: src/webdav.c:1993
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr " subjekt: %s"
|
msgstr " subjekt: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2024
|
#: src/webdav.c:1994
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr " identita: %s"
|
msgstr " identita: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2027
|
#: src/webdav.c:1997
|
||||||
msgid " accepted by user"
|
msgid " accepted by user"
|
||||||
msgstr " přijat uživatelem"
|
msgstr " přijat uživatelem"
|
||||||
|
|
||||||
|
#~ msgid "trying fuse kernel file system"
|
||||||
|
#~ msgstr "zkouším jaderný souborový systém fuse"
|
||||||
|
|
||||||
|
#~ msgid "fuse device opened successfully"
|
||||||
|
#~ msgstr "zařízení fuse otevřeno úspěšně"
|
||||||
|
|
||||||
|
#~ msgid "trying coda kernel file system"
|
||||||
|
#~ msgstr "zkouším jaderný souborový systém coda"
|
||||||
|
|
||||||
|
#~ msgid "coda device opened successfully"
|
||||||
|
#~ msgstr "zařízení coda otevřeno úspěšně"
|
||||||
|
|
||||||
|
#~ msgid "unknown kernel file system %s"
|
||||||
|
#~ msgstr "neznámý jaderný souborový systém %s"
|
||||||
|
|
||||||
|
#~ msgid "no free coda device to mount"
|
||||||
|
#~ msgstr "pro připojení není volné žádné coda zařízení"
|
||||||
|
|
||||||
|
#~ msgid "CODA_KERNEL_VERSION %u not supported"
|
||||||
|
#~ msgstr "CODA_KERNEL_VERSION %u není podporováno"
|
||||||
|
|
||||||
|
#~ msgid "can't mount using fuse kernel file system"
|
||||||
|
#~ msgstr "nemohu připojit jaderný souborový systém fuse"
|
||||||
|
|
||||||
|
#~ msgid "can't mount %s on %s"
|
||||||
|
#~ msgstr "není možno připojit %s do %s"
|
||||||
|
|
||||||
|
#~ msgid "kernel does not know file system %s"
|
||||||
|
#~ msgstr "kernel nezná souborový systém %s"
|
||||||
|
|
||||||
|
#~ msgid "mount point is busy"
|
||||||
|
#~ msgstr "přípojný bod je zaneprázdněn"
|
||||||
|
|
||||||
|
#~ msgid "can't read server certificate %s"
|
||||||
|
#~ msgstr "nemohu přečíst serverový cerifikát %s"
|
||||||
|
|
||||||
#~ msgid "can't get home directory for uid %i"
|
#~ msgid "can't get home directory for uid %i"
|
||||||
#~ msgstr "nemohu zjistit domovský adresář pro uid %i"
|
#~ msgstr "nemohu zjistit domovský adresář pro uid %i"
|
||||||
|
|
||||||
|
349
po/davfs2.pot
349
po/davfs2.pot
@ -9,7 +9,7 @@ msgstr ""
|
|||||||
"Project-Id-Version: davfs2 1.4.6\n"
|
"Project-Id-Version: davfs2 1.4.6\n"
|
||||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||||
"func=additem&group=davfs2\n"
|
"func=additem&group=davfs2\n"
|
||||||
"POT-Creation-Date: 2012-02-01 18:13+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -18,236 +18,202 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=CHARSET\n"
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: src/cache.c:662
|
#: src/cache.c:656
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"connection timed out two times;\n"
|
"connection timed out two times;\n"
|
||||||
"trying one last time"
|
"trying one last time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:667
|
#: src/cache.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Last try succeeded.\n"
|
msgid "Last try succeeded.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:670
|
#: src/cache.c:664
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"server temporarily unreachable;\n"
|
"server temporarily unreachable;\n"
|
||||||
"mounting anyway"
|
"mounting anyway"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:673
|
#: src/cache.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Mounting failed.\n"
|
"Mounting failed.\n"
|
||||||
"%s"
|
"%s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:713
|
#: src/cache.c:706
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't replace %s with %s"
|
msgid "can't replace %s with %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:717
|
#: src/cache.c:710
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing new index file %s"
|
msgid "error writing new index file %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:721
|
#: src/cache.c:714
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create new index file for %s"
|
msgid "can't create new index file for %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:943
|
#: src/cache.c:925
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||||
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
"server's LOCK impementation. You may try option 'use_locks 0' in davfs2.conf."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2565 src/cache.c:2598
|
#: src/cache.c:2512 src/cache.c:2545
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache file %s"
|
msgid "can't create cache file %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2613
|
#: src/cache.c:2560
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing directory %s"
|
msgid "error writing directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2781 src/mount_davfs.c:1162
|
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read user data base"
|
msgid "can't read user data base"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2793
|
#: src/cache.c:2735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open cache directory %s"
|
msgid "can't open cache directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2808
|
#: src/cache.c:2750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache directory %s"
|
msgid "can't create cache directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2815
|
#: src/cache.c:2757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access cache directory %s"
|
msgid "can't access cache directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2818
|
#: src/cache.c:2760
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong owner of cache directory %s"
|
msgid "wrong owner of cache directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2822
|
#: src/cache.c:2764
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong permissions set for cache directory %s"
|
msgid "wrong permissions set for cache directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2852
|
#: src/cache.c:2794
|
||||||
msgid "found orphaned file in cache:"
|
msgid "found orphaned file in cache:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2925
|
#: src/cache.c:2867
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error parsing %s"
|
msgid "error parsing %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2926
|
#: src/cache.c:2868
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " at line %i"
|
msgid " at line %i"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cache.c:2971
|
#: src/cache.c:2913
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "open files exceed max cache size by %llu MiBytes"
|
msgid "open files exceed max cache size by %llu MiBytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/dav_coda.c:173 src/dav_fuse.c:173
|
#: src/kernel_interface.c:209
|
||||||
msgid "can't allocate message buffer"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:114
|
|
||||||
#, c-format
|
|
||||||
msgid "trying fuse kernel file system"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:121
|
|
||||||
#, c-format
|
|
||||||
msgid "fuse device opened successfully"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:133
|
|
||||||
#, c-format
|
|
||||||
msgid "trying coda kernel file system"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:137
|
|
||||||
#, c-format
|
|
||||||
msgid "coda device opened successfully"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:145
|
|
||||||
#, c-format
|
|
||||||
msgid "unknown kernel file system %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:189
|
|
||||||
#, c-format
|
|
||||||
msgid "no free coda device to mount"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:198
|
|
||||||
#, c-format
|
|
||||||
msgid "CODA_KERNEL_VERSION %u not supported"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:235
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open fuse device"
|
msgid "can't open fuse device"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/kernel_interface.c:259
|
#: src/kernel_interface.c:217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't mount using fuse kernel file system"
|
msgid "mounting failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:316
|
#: src/kernel_interface.c:226
|
||||||
|
#, c-format
|
||||||
|
msgid "can't allocate message buffer"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:294
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't start daemon process"
|
msgid "can't start daemon process"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:338
|
#: src/mount_davfs.c:316
|
||||||
msgid "can't release root privileges"
|
msgid "can't release root privileges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:358
|
#: src/mount_davfs.c:333
|
||||||
msgid "failed to release tty properly"
|
msgid "failed to release tty properly"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:370
|
#: src/mount_davfs.c:345
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't write pid file %s"
|
msgid "can't write pid file %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:388
|
#: src/mount_davfs.c:362
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmounting %s"
|
msgid "unmounting %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:390
|
#: src/mount_davfs.c:364
|
||||||
msgid "unmounting failed"
|
msgid "unmounting failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:442
|
#: src/mount_davfs.c:435
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group id"
|
msgid "can't change group id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577 src/mount_davfs.c:603
|
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create directory %s"
|
msgid "can't create directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:487 src/mount_davfs.c:581 src/mount_davfs.c:607
|
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||||
#: src/mount_davfs.c:612 src/mount_davfs.c:620
|
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access directory %s"
|
msgid "can't access directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:493 src/mount_davfs.c:587
|
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change mode of directory %s"
|
msgid "can't change mode of directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:498 src/mount_davfs.c:593
|
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group of directory %s"
|
msgid "can't change group of directory %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:505 src/mount_davfs.c:561
|
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong owner"
|
msgid "file %s has wrong owner"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:509 src/mount_davfs.c:566
|
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong permissions"
|
msgid "file %s has wrong permissions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:638 src/mount_davfs.c:692
|
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open file %s"
|
msgid "can't open file %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:643
|
#: src/mount_davfs.c:633
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is already mounted on %s"
|
msgid "%s is already mounted on %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:665
|
#: src/mount_davfs.c:655
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"found PID file %s.\n"
|
"found PID file %s.\n"
|
||||||
@ -255,268 +221,265 @@ msgid ""
|
|||||||
"or another mount process ended irregular"
|
"or another mount process ended irregular"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:709
|
#: src/mount_davfs.c:697
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no entry for %s found in %s"
|
msgid "no entry for %s found in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:713
|
#: src/mount_davfs.c:701
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different URL in %s"
|
msgid "different URL in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:716
|
#: src/mount_davfs.c:704
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file system type in %s"
|
msgid "different file system type in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:727
|
#: src/mount_davfs.c:715
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different config file in %s"
|
msgid "different config file in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:733
|
#: src/mount_davfs.c:721
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different username in %s"
|
msgid "different username in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:737
|
#: src/mount_davfs.c:725
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "neither option `user' nor option `users' set in %s"
|
msgid "neither option `user' nor option `users' set in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:740
|
#: src/mount_davfs.c:728
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different mount options in %s"
|
msgid "different mount options in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:743
|
#: src/mount_davfs.c:731
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different uid in %s"
|
msgid "different uid in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:745
|
#: src/mount_davfs.c:733
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different gid in %s"
|
msgid "different gid in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:747
|
#: src/mount_davfs.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different dir_mode in %s"
|
msgid "different dir_mode in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:749
|
#: src/mount_davfs.c:737
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file_mode in %s"
|
msgid "different file_mode in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:770
|
#: src/mount_davfs.c:757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you can't set file owner different from your uid"
|
msgid "you can't set file owner different from your uid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:782
|
#: src/mount_davfs.c:769
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you must be member of the group of the file system"
|
msgid "you must be member of the group of the file system"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:793
|
#: src/mount_davfs.c:780
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s must be member of group %s"
|
msgid "user %s must be member of group %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:814
|
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||||
#, c-format
|
|
||||||
msgid "can't mount %s on %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:816
|
|
||||||
#, c-format
|
|
||||||
msgid "kernel does not know file system %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:818
|
|
||||||
#, c-format
|
|
||||||
msgid "mount point is busy"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:837 src/mount_davfs.c:1275
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change effective user id"
|
msgid "can't change effective user id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:908 src/umount_davfs.c:92
|
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is free software; see the source for copying conditions. There is NO\n"
|
"This is free software; see the source for copying conditions. There is NO\n"
|
||||||
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:924 src/umount_davfs.c:117
|
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown error parsing arguments"
|
msgid "unknown error parsing arguments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:933 src/umount_davfs.c:123
|
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "missing argument"
|
msgid "missing argument"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:946
|
#: src/mount_davfs.c:882
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't evaluate path of mount point %s"
|
msgid "can't evaluate path of mount point %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:949 src/umount_davfs.c:125
|
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many arguments"
|
msgid "too many arguments"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:956
|
#: src/mount_davfs.c:892
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "A relative mount point must lie within your home directory"
|
msgid "A relative mount point must lie within your home directory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:961
|
#: src/mount_davfs.c:897
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no WebDAV-server specified"
|
msgid "no WebDAV-server specified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:964
|
#: src/mount_davfs.c:900
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid URL"
|
msgid "invalid URL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1005
|
#: src/mount_davfs.c:930
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s does not exist"
|
msgid "user %s does not exist"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1013
|
#: src/mount_davfs.c:938
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "group %s does not exist"
|
msgid "group %s does not exist"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1042 src/mount_davfs.c:1069
|
#: src/mount_davfs.c:1004
|
||||||
#, c-format
|
|
||||||
msgid "can't read server certificate %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1099 src/webdav.c:432
|
|
||||||
#, c-format
|
|
||||||
msgid "can't read client certificate %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1104
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong owner"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1110
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong permissions"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1153
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "program is not setuid root"
|
msgid "program is not setuid root"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1171
|
#: src/mount_davfs.c:1022
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read group data base"
|
msgid "can't read group data base"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1201 src/mount_davfs.c:1214 src/mount_davfs.c:1216
|
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||||
#: src/mount_davfs.c:1234 src/mount_davfs.c:1236 src/webdav.c:439
|
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||||
msgid "Password: "
|
msgid "Password: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1205
|
#: src/mount_davfs.c:1053
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with proxy\n"
|
"Please enter the username to authenticate with proxy\n"
|
||||||
"%s or hit enter for none.\n"
|
"%s or hit enter for none.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1207 src/mount_davfs.c:1227
|
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||||
msgid "Username:"
|
msgid "Username:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1211
|
#: src/mount_davfs.c:1059
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with proxy\n"
|
"Please enter the password to authenticate user %s with proxy\n"
|
||||||
"%s or hit enter for none.\n"
|
"%s or hit enter for none.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1225
|
#: src/mount_davfs.c:1073
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with server\n"
|
"Please enter the username to authenticate with server\n"
|
||||||
"%s or hit enter for none.\n"
|
"%s or hit enter for none.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1231
|
#: src/mount_davfs.c:1079
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with server\n"
|
"Please enter the password to authenticate user %s with server\n"
|
||||||
"%s or hit enter for none.\n"
|
"%s or hit enter for none.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1303
|
#: src/mount_davfs.c:1097
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Please enter the password to decrypt client\n"
|
||||||
|
"certificate %s.\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1104
|
||||||
|
#, c-format
|
||||||
|
msgid "can't decrypt client certificate %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1167
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "pid %i, got signal %i"
|
msgid "pid %i, got signal %i"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1343
|
#: src/mount_davfs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1369
|
#: src/mount_davfs.c:1232
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a decimal number"
|
msgid "option %s has invalid argument;it must be a decimal number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1372
|
#: src/mount_davfs.c:1235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be an octal number"
|
msgid "option %s has invalid argument;it must be an octal number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1375
|
#: src/mount_davfs.c:1238
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a number"
|
msgid "option %s has invalid argument;it must be a number"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1652
|
#: src/mount_davfs.c:1513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s requires argument"
|
msgid "option %s requires argument"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:1744
|
#: src/mount_davfs.c:1605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unknown option %s.\n"
|
msgid "Unknown option %s.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2100 src/mount_davfs.c:2330
|
#: src/mount_davfs.c:1976
|
||||||
|
#, c-format
|
||||||
|
msgid "can't read certificate %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||||
|
#, c-format
|
||||||
|
msgid "can't read client certificate %s"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2012
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong owner"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2016
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong permissions"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "opening %s failed"
|
msgid "opening %s failed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2121 src/mount_davfs.c:2166 src/mount_davfs.c:2258
|
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||||
#: src/mount_davfs.c:2346 src/mount_davfs.c:2413
|
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "malformed line"
|
msgid "malformed line"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2236 src/mount_davfs.c:2252
|
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown option"
|
msgid "unknown option"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2545
|
#: src/mount_davfs.c:2496
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
@ -525,14 +488,14 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2549
|
#: src/mount_davfs.c:2500
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||||
"`mount' instead.\n"
|
"`mount' instead.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2551
|
#: src/mount_davfs.c:2502
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount <mountpoint> : or\n"
|
" mount <mountpoint> : or\n"
|
||||||
@ -540,7 +503,7 @@ msgid ""
|
|||||||
" /etc/fstab.\n"
|
" /etc/fstab.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2554
|
#: src/mount_davfs.c:2505
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||||
@ -551,7 +514,7 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2559
|
#: src/mount_davfs.c:2510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Recognised options:\n"
|
"Recognised options:\n"
|
||||||
@ -562,7 +525,7 @@ msgid ""
|
|||||||
" dir_mode= : default directory mode (octal)\n"
|
" dir_mode= : default directory mode (octal)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/mount_davfs.c:2565
|
#: src/mount_davfs.c:2516
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" ro : mount read-only\n"
|
" ro : mount read-only\n"
|
||||||
@ -652,93 +615,81 @@ msgstr ""
|
|||||||
msgid "neon library does not support TLS/SSL"
|
msgid "neon library does not support TLS/SSL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:437
|
#: src/webdav.c:475 src/webdav.c:478
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"Please enter the password to decrypt client\n"
|
|
||||||
"certificate %s.\n"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/webdav.c:451
|
|
||||||
#, c-format
|
|
||||||
msgid "can't decrypt client certificate %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: src/webdav.c:505 src/webdav.c:508
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "mounting failed; the server does not support WebDAV"
|
msgid "mounting failed; the server does not support WebDAV"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:516
|
#: src/webdav.c:486
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: the server does not support locks"
|
msgid "warning: the server does not support locks"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1596
|
#: src/webdav.c:1566
|
||||||
msgid "authentication failure:"
|
msgid "authentication failure:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1634
|
#: src/webdav.c:1604
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i can't open cache file"
|
msgid "%i can't open cache file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1642
|
#: src/webdav.c:1612
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i error writing to cache file"
|
msgid "%i error writing to cache file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1952 src/webdav.c:1981 src/webdav.c:2018
|
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not trusted"
|
msgid "the server certificate is not trusted"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1961 src/webdav.c:1964
|
#: src/webdav.c:1931 src/webdav.c:1934
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error processing server certificate"
|
msgid "error processing server certificate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1975 src/webdav.c:2009
|
#: src/webdav.c:1945 src/webdav.c:1979
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not yet valid"
|
msgid "the server certificate is not yet valid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1977 src/webdav.c:2012
|
#: src/webdav.c:1947 src/webdav.c:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate has expired"
|
msgid "the server certificate has expired"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1979 src/webdav.c:2015
|
#: src/webdav.c:1949 src/webdav.c:1985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate does not match the server name"
|
msgid "the server certificate does not match the server name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1983 src/webdav.c:2021
|
#: src/webdav.c:1953 src/webdav.c:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown certificate error"
|
msgid "unknown certificate error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1984
|
#: src/webdav.c:1954
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1986
|
#: src/webdav.c:1956
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1988
|
#: src/webdav.c:1958
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1990
|
#: src/webdav.c:1960
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " fingerprint: %s"
|
msgid " fingerprint: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1992
|
#: src/webdav.c:1962
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You only should accept this certificate, if you can\n"
|
"You only should accept this certificate, if you can\n"
|
||||||
@ -746,26 +697,26 @@ msgid ""
|
|||||||
"or there might be a man-in-the-middle-attack.\n"
|
"or there might be a man-in-the-middle-attack.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:1995
|
#: src/webdav.c:1965
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Accept certificate for this session? [y,N] "
|
msgid "Accept certificate for this session? [y,N] "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:2022
|
#: src/webdav.c:1992
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:2023
|
#: src/webdav.c:1993
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:2024
|
#: src/webdav.c:1994
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/webdav.c:2027
|
#: src/webdav.c:1997
|
||||||
msgid " accepted by user"
|
msgid " accepted by user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
370
po/de.po
370
po/de.po
@ -1,5 +1,5 @@
|
|||||||
# davfs2 messages de.
|
# davfs2 messages de.
|
||||||
# Copyright (C) 2008, 2009 Werner Baumann <werner.baumann@onlinehome.de>
|
# Copyright (C) 2008, 2009, 2013 Werner Baumann <werner.baumann@onlinehome.de>
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Werner Baumann <werner.baumann@onlinehome.de>, 2009.
|
# Werner Baumann <werner.baumann@onlinehome.de>, 2009.
|
||||||
#
|
#
|
||||||
@ -8,8 +8,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: davfs2 1.5.0\n"
|
"Project-Id-Version: davfs2 1.5.0\n"
|
||||||
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
"Report-Msgid-Bugs-To: http://savannah.nongnu.org/support/?"
|
||||||
"func=additem&group=davfs2\n"
|
"func=additem&group=davfs2\n"
|
||||||
"POT-Creation-Date: 2012-02-01 18:13+0100\n"
|
"POT-Creation-Date: 2013-08-09 12:39+0200\n"
|
||||||
"PO-Revision-Date: 2012-02-01 19:14+0100\n"
|
"PO-Revision-Date: 2013-08-09 12:49+0100\n"
|
||||||
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
|
"Last-Translator: Werner Baumann <werner.baumann@onlinehome.de>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
#: src/cache.c:662
|
#: src/cache.c:656
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"connection timed out two times;\n"
|
"connection timed out two times;\n"
|
||||||
@ -26,12 +26,12 @@ msgstr ""
|
|||||||
"die Verbindung wurde zweimal wegen Zeitüberschreitung abgebrochen;\n"
|
"die Verbindung wurde zweimal wegen Zeitüberschreitung abgebrochen;\n"
|
||||||
"ich versuche es zum letzten mal"
|
"ich versuche es zum letzten mal"
|
||||||
|
|
||||||
#: src/cache.c:667
|
#: src/cache.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Last try succeeded.\n"
|
msgid "Last try succeeded.\n"
|
||||||
msgstr "Der letzte Versuch war erfolgreich.\n"
|
msgstr "Der letzte Versuch war erfolgreich.\n"
|
||||||
|
|
||||||
#: src/cache.c:670
|
#: src/cache.c:664
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"server temporarily unreachable;\n"
|
"server temporarily unreachable;\n"
|
||||||
@ -40,7 +40,7 @@ msgstr ""
|
|||||||
"der Server ist zur Zeit nicht erreichbar;\n"
|
"der Server ist zur Zeit nicht erreichbar;\n"
|
||||||
"das Dateisystem wird trotzdem eingehängt"
|
"das Dateisystem wird trotzdem eingehängt"
|
||||||
|
|
||||||
#: src/cache.c:673
|
#: src/cache.c:667
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Mounting failed.\n"
|
"Mounting failed.\n"
|
||||||
@ -49,22 +49,22 @@ msgstr ""
|
|||||||
"das Einhängen schlug fehl;\n"
|
"das Einhängen schlug fehl;\n"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
||||||
#: src/cache.c:713
|
#: src/cache.c:706
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't replace %s with %s"
|
msgid "can't replace %s with %s"
|
||||||
msgstr "kann %s nicht durch %s ersetzen"
|
msgstr "kann %s nicht durch %s ersetzen"
|
||||||
|
|
||||||
#: src/cache.c:717
|
#: src/cache.c:710
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing new index file %s"
|
msgid "error writing new index file %s"
|
||||||
msgstr "Fehler beim Schreiben der neuen Indexdatei %s"
|
msgstr "Fehler beim Schreiben der neuen Indexdatei %s"
|
||||||
|
|
||||||
#: src/cache.c:721
|
#: src/cache.c:714
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create new index file for %s"
|
msgid "can't create new index file for %s"
|
||||||
msgstr "kann keine neue Indexdatei für %s erzeugen"
|
msgstr "kann keine neue Indexdatei für %s erzeugen"
|
||||||
|
|
||||||
#: src/cache.c:943
|
#: src/cache.c:925
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"File %s exists on the server but should not. Maybe it is an error in the "
|
"File %s exists on the server but should not. Maybe it is an error in the "
|
||||||
@ -74,191 +74,156 @@ msgstr ""
|
|||||||
"behandelt der Server LOCK-Requests fehlerhaft. Du kannst es mit der Option "
|
"behandelt der Server LOCK-Requests fehlerhaft. Du kannst es mit der Option "
|
||||||
"'use_locks 0' in davfs2.conf versuchen."
|
"'use_locks 0' in davfs2.conf versuchen."
|
||||||
|
|
||||||
#: src/cache.c:2565 src/cache.c:2598
|
#: src/cache.c:2512 src/cache.c:2545
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache file %s"
|
msgid "can't create cache file %s"
|
||||||
msgstr "kann die Cachedatei %s nicht erzeugen"
|
msgstr "kann die Cachedatei %s nicht erzeugen"
|
||||||
|
|
||||||
#: src/cache.c:2613
|
#: src/cache.c:2560
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error writing directory %s"
|
msgid "error writing directory %s"
|
||||||
msgstr "Fehler beim Schreiben des Verzeichnisses %s"
|
msgstr "Fehler beim Schreiben des Verzeichnisses %s"
|
||||||
|
|
||||||
#: src/cache.c:2781 src/mount_davfs.c:1162
|
#: src/cache.c:2723 src/mount_davfs.c:1013
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read user data base"
|
msgid "can't read user data base"
|
||||||
msgstr "kann die Benutzerdatenbank nicht lesen"
|
msgstr "kann die Benutzerdatenbank nicht lesen"
|
||||||
|
|
||||||
#: src/cache.c:2793
|
#: src/cache.c:2735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open cache directory %s"
|
msgid "can't open cache directory %s"
|
||||||
msgstr "kann das Cacheverzeichnis %s nicht öffnen"
|
msgstr "kann das Cacheverzeichnis %s nicht öffnen"
|
||||||
|
|
||||||
#: src/cache.c:2808
|
#: src/cache.c:2750
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create cache directory %s"
|
msgid "can't create cache directory %s"
|
||||||
msgstr "kann das Cacheverzeichnis %s nicht erzeugen"
|
msgstr "kann das Cacheverzeichnis %s nicht erzeugen"
|
||||||
|
|
||||||
#: src/cache.c:2815
|
#: src/cache.c:2757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access cache directory %s"
|
msgid "can't access cache directory %s"
|
||||||
msgstr "Zugriff auf das Cachverzeichnis %s verweigert"
|
msgstr "Zugriff auf das Cachverzeichnis %s verweigert"
|
||||||
|
|
||||||
#: src/cache.c:2818
|
#: src/cache.c:2760
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong owner of cache directory %s"
|
msgid "wrong owner of cache directory %s"
|
||||||
msgstr "das Cacheverzeichnis %s hat den falschen Besitzer"
|
msgstr "das Cacheverzeichnis %s hat den falschen Besitzer"
|
||||||
|
|
||||||
#: src/cache.c:2822
|
#: src/cache.c:2764
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "wrong permissions set for cache directory %s"
|
msgid "wrong permissions set for cache directory %s"
|
||||||
msgstr "das Cachverzeichnis %s hat die falschen Dateirechte"
|
msgstr "das Cachverzeichnis %s hat die falschen Dateirechte"
|
||||||
|
|
||||||
#: src/cache.c:2852
|
#: src/cache.c:2794
|
||||||
msgid "found orphaned file in cache:"
|
msgid "found orphaned file in cache:"
|
||||||
msgstr "fand verwaiste Datei im Cache:"
|
msgstr "fand verwaiste Datei im Cache:"
|
||||||
|
|
||||||
#: src/cache.c:2925
|
#: src/cache.c:2867
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error parsing %s"
|
msgid "error parsing %s"
|
||||||
msgstr "Syntaxfehler in %s"
|
msgstr "Syntaxfehler in %s"
|
||||||
|
|
||||||
#: src/cache.c:2926
|
#: src/cache.c:2868
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " at line %i"
|
msgid " at line %i"
|
||||||
msgstr " in Zeile %i"
|
msgstr " in Zeile %i"
|
||||||
|
|
||||||
#: src/cache.c:2971
|
#: src/cache.c:2913
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "open files exceed max cache size by %llu MiBytes"
|
msgid "open files exceed max cache size by %llu MiBytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Die Größe der offenen Dateien überschreitet die maximale Größe des Cache um "
|
"Die Größe der offenen Dateien überschreitet die maximale Größe des Cache um "
|
||||||
"%llu MiBytes"
|
"%llu MiBytes"
|
||||||
|
|
||||||
#: src/dav_coda.c:173 src/dav_fuse.c:173
|
#: src/kernel_interface.c:209
|
||||||
msgid "can't allocate message buffer"
|
|
||||||
msgstr "kein Speicher für den Nachrichtenpuffer verfügbar"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:114
|
|
||||||
#, c-format
|
|
||||||
msgid "trying fuse kernel file system"
|
|
||||||
msgstr "ich versuche es mit dem Kernel-Dateisystem fuse"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:121
|
|
||||||
#, c-format
|
|
||||||
msgid "fuse device opened successfully"
|
|
||||||
msgstr "fuse-Gerätedatei erfolgreich geöffnet"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:133
|
|
||||||
#, c-format
|
|
||||||
msgid "trying coda kernel file system"
|
|
||||||
msgstr "ich versuche es mit dem Kernel-Dateisystem coda"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:137
|
|
||||||
#, c-format
|
|
||||||
msgid "coda device opened successfully"
|
|
||||||
msgstr "coda-Gerätedatei erfolgreich geöffnet"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:145
|
|
||||||
#, c-format
|
|
||||||
msgid "unknown kernel file system %s"
|
|
||||||
msgstr "das Kernel-Dateisystem %s ist unbekannt"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:189
|
|
||||||
#, c-format
|
|
||||||
msgid "no free coda device to mount"
|
|
||||||
msgstr "keine freie coda-Gerätedatei gefunden"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:198
|
|
||||||
#, c-format
|
|
||||||
msgid "CODA_KERNEL_VERSION %u not supported"
|
|
||||||
msgstr "CODA_KERNEL_VERSION %u wird nicht unterstützt"
|
|
||||||
|
|
||||||
#: src/kernel_interface.c:235
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open fuse device"
|
msgid "can't open fuse device"
|
||||||
msgstr "kann die fuse-Gerätedatei nicht öffnen"
|
msgstr "kann die fuse-Gerätedatei nicht öffnen"
|
||||||
|
|
||||||
#: src/kernel_interface.c:259
|
#: src/kernel_interface.c:217
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't mount using fuse kernel file system"
|
msgid "mounting failed"
|
||||||
msgstr ""
|
msgstr "das Aushängen schlug fehl"
|
||||||
"mit Kernel-Dateisystem fuse kann das Dateisystem nicht eingehängt werden"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:316
|
#: src/kernel_interface.c:226
|
||||||
|
#, c-format
|
||||||
|
msgid "can't allocate message buffer"
|
||||||
|
msgstr "kein Speicher für den Nachrichtenpuffer verfügbar"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:294
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't start daemon process"
|
msgid "can't start daemon process"
|
||||||
msgstr "kann den Hintergrundprozess nicht starten"
|
msgstr "kann den Hintergrundprozess nicht starten"
|
||||||
|
|
||||||
#: src/mount_davfs.c:338
|
#: src/mount_davfs.c:316
|
||||||
msgid "can't release root privileges"
|
msgid "can't release root privileges"
|
||||||
msgstr "ich werde die root-Rechte nicht los"
|
msgstr "ich werde die root-Rechte nicht los"
|
||||||
|
|
||||||
#: src/mount_davfs.c:358
|
#: src/mount_davfs.c:333
|
||||||
msgid "failed to release tty properly"
|
msgid "failed to release tty properly"
|
||||||
msgstr "kann das Terminal nicht freigeben"
|
msgstr "kann das Terminal nicht freigeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:370
|
#: src/mount_davfs.c:345
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't write pid file %s"
|
msgid "can't write pid file %s"
|
||||||
msgstr "kann die PID-Datei %s nicht schreiben"
|
msgstr "kann die PID-Datei %s nicht schreiben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:388
|
#: src/mount_davfs.c:362
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unmounting %s"
|
msgid "unmounting %s"
|
||||||
msgstr "hänge %s aus"
|
msgstr "hänge %s aus"
|
||||||
|
|
||||||
#: src/mount_davfs.c:390
|
#: src/mount_davfs.c:364
|
||||||
msgid "unmounting failed"
|
msgid "unmounting failed"
|
||||||
msgstr "das Aushängen schlug fehl"
|
msgstr "das Aushängen schlug fehl"
|
||||||
|
|
||||||
#: src/mount_davfs.c:442
|
#: src/mount_davfs.c:435
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group id"
|
msgid "can't change group id"
|
||||||
msgstr "kann die Gruppenkennung nicht ändern"
|
msgstr "kann die Gruppenkennung nicht ändern"
|
||||||
|
|
||||||
#: src/mount_davfs.c:483 src/mount_davfs.c:577 src/mount_davfs.c:603
|
#: src/mount_davfs.c:473 src/mount_davfs.c:567 src/mount_davfs.c:593
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't create directory %s"
|
msgid "can't create directory %s"
|
||||||
msgstr "kann das Verzeichnis %s nicht erzeugen"
|
msgstr "kann das Verzeichnis %s nicht erzeugen"
|
||||||
|
|
||||||
#: src/mount_davfs.c:487 src/mount_davfs.c:581 src/mount_davfs.c:607
|
#: src/mount_davfs.c:477 src/mount_davfs.c:571 src/mount_davfs.c:597
|
||||||
#: src/mount_davfs.c:612 src/mount_davfs.c:620
|
#: src/mount_davfs.c:602 src/mount_davfs.c:610
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't access directory %s"
|
msgid "can't access directory %s"
|
||||||
msgstr "Zugriff auf das Verzeichnis %s verweigert"
|
msgstr "Zugriff auf das Verzeichnis %s verweigert"
|
||||||
|
|
||||||
#: src/mount_davfs.c:493 src/mount_davfs.c:587
|
#: src/mount_davfs.c:483 src/mount_davfs.c:577
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change mode of directory %s"
|
msgid "can't change mode of directory %s"
|
||||||
msgstr "kann die Rechte des Verzeichnisses %s nicht ändern"
|
msgstr "kann die Rechte des Verzeichnisses %s nicht ändern"
|
||||||
|
|
||||||
#: src/mount_davfs.c:498 src/mount_davfs.c:593
|
#: src/mount_davfs.c:488 src/mount_davfs.c:583
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change group of directory %s"
|
msgid "can't change group of directory %s"
|
||||||
msgstr "kann die Gruppenkennung des Verneichnisses %s nicht ändern"
|
msgstr "kann die Gruppenkennung des Verneichnisses %s nicht ändern"
|
||||||
|
|
||||||
#: src/mount_davfs.c:505 src/mount_davfs.c:561
|
#: src/mount_davfs.c:495 src/mount_davfs.c:551
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong owner"
|
msgid "file %s has wrong owner"
|
||||||
msgstr "die Datei %s hat den falschen Besitzer"
|
msgstr "die Datei %s hat den falschen Besitzer"
|
||||||
|
|
||||||
#: src/mount_davfs.c:509 src/mount_davfs.c:566
|
#: src/mount_davfs.c:499 src/mount_davfs.c:556
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "file %s has wrong permissions"
|
msgid "file %s has wrong permissions"
|
||||||
msgstr "die Dateirechte für %s sind falsch"
|
msgstr "die Dateirechte für %s sind falsch"
|
||||||
|
|
||||||
#: src/mount_davfs.c:638 src/mount_davfs.c:692
|
#: src/mount_davfs.c:628 src/mount_davfs.c:680
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't open file %s"
|
msgid "can't open file %s"
|
||||||
msgstr "kann die Datei %s nicht öffnen"
|
msgstr "kann die Datei %s nicht öffnen"
|
||||||
|
|
||||||
#: src/mount_davfs.c:643
|
#: src/mount_davfs.c:633
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is already mounted on %s"
|
msgid "%s is already mounted on %s"
|
||||||
msgstr "%s ist bereits auf %s eingehängt"
|
msgstr "%s ist bereits auf %s eingehängt"
|
||||||
|
|
||||||
#: src/mount_davfs.c:665
|
#: src/mount_davfs.c:655
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"found PID file %s.\n"
|
"found PID file %s.\n"
|
||||||
@ -269,99 +234,84 @@ msgstr ""
|
|||||||
"Möglicherweise wird %s von einem anderen Prozess benutzt,\n"
|
"Möglicherweise wird %s von einem anderen Prozess benutzt,\n"
|
||||||
"oder ein anderer Mount-Prozess endete irregulär"
|
"oder ein anderer Mount-Prozess endete irregulär"
|
||||||
|
|
||||||
#: src/mount_davfs.c:709
|
#: src/mount_davfs.c:697
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no entry for %s found in %s"
|
msgid "no entry for %s found in %s"
|
||||||
msgstr "für %s ist kein Eintrag in %s"
|
msgstr "für %s ist kein Eintrag in %s"
|
||||||
|
|
||||||
#: src/mount_davfs.c:713
|
#: src/mount_davfs.c:701
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different URL in %s"
|
msgid "different URL in %s"
|
||||||
msgstr "in %s ist eine andere URL angegeben"
|
msgstr "in %s ist eine andere URL angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:716
|
#: src/mount_davfs.c:704
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file system type in %s"
|
msgid "different file system type in %s"
|
||||||
msgstr "in %s ist ein anderer Dateisystemtyp angegeben"
|
msgstr "in %s ist ein anderer Dateisystemtyp angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:727
|
#: src/mount_davfs.c:715
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different config file in %s"
|
msgid "different config file in %s"
|
||||||
msgstr "in %s ist eine andere Konfigurationsdatei angegeben"
|
msgstr "in %s ist eine andere Konfigurationsdatei angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:733
|
#: src/mount_davfs.c:721
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different username in %s"
|
msgid "different username in %s"
|
||||||
msgstr "in %s ist ein anderer Benutzername angegeben"
|
msgstr "in %s ist ein anderer Benutzername angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:737
|
#: src/mount_davfs.c:725
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "neither option `user' nor option `users' set in %s"
|
msgid "neither option `user' nor option `users' set in %s"
|
||||||
msgstr "in %s ist weder die Option „user” noch die Option „users” angegeben"
|
msgstr "in %s ist weder die Option „user” noch die Option „users” angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:740
|
#: src/mount_davfs.c:728
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different mount options in %s"
|
msgid "different mount options in %s"
|
||||||
msgstr "in %s sind andere Mount-Optionen angegeben"
|
msgstr "in %s sind andere Mount-Optionen angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:743
|
#: src/mount_davfs.c:731
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different uid in %s"
|
msgid "different uid in %s"
|
||||||
msgstr "in %s ist eine andere uid angegeben"
|
msgstr "in %s ist eine andere uid angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:745
|
#: src/mount_davfs.c:733
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different gid in %s"
|
msgid "different gid in %s"
|
||||||
msgstr "in %s ist eine andere gid angegeben"
|
msgstr "in %s ist eine andere gid angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:747
|
#: src/mount_davfs.c:735
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different dir_mode in %s"
|
msgid "different dir_mode in %s"
|
||||||
msgstr "in %s ist ein anderer dir_mode angegeben"
|
msgstr "in %s ist ein anderer dir_mode angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:749
|
#: src/mount_davfs.c:737
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "different file_mode in %s"
|
msgid "different file_mode in %s"
|
||||||
msgstr "in %s ist ein anderer file_mode angegeben"
|
msgstr "in %s ist ein anderer file_mode angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:770
|
#: src/mount_davfs.c:757
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you can't set file owner different from your uid"
|
msgid "you can't set file owner different from your uid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"du kannst als Besitzer des Dateisystems keine fremde Benutzerkennung angeben"
|
"du kannst als Besitzer des Dateisystems keine fremde Benutzerkennung angeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:782
|
#: src/mount_davfs.c:769
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "you must be member of the group of the file system"
|
msgid "you must be member of the group of the file system"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"du musst Mitglied in der Gruppe sein, zu der das Dateisystem gehören soll"
|
"du musst Mitglied in der Gruppe sein, zu der das Dateisystem gehören soll"
|
||||||
|
|
||||||
#: src/mount_davfs.c:793
|
#: src/mount_davfs.c:780
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s must be member of group %s"
|
msgid "user %s must be member of group %s"
|
||||||
msgstr "der Benutzer %s muss Mitglied der Gruppe %s sein"
|
msgstr "der Benutzer %s muss Mitglied der Gruppe %s sein"
|
||||||
|
|
||||||
#: src/mount_davfs.c:814
|
#: src/mount_davfs.c:800 src/mount_davfs.c:1139
|
||||||
#, c-format
|
|
||||||
msgid "can't mount %s on %s"
|
|
||||||
msgstr "kann %s nicht auf %s einhängen"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:816
|
|
||||||
#, c-format
|
|
||||||
msgid "kernel does not know file system %s"
|
|
||||||
msgstr "der Kernel kenn das Dateisystem %s nicht"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:818
|
|
||||||
#, c-format
|
|
||||||
msgid "mount point is busy"
|
|
||||||
msgstr "das Einhängepunkt wird anderweitig benutzt"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:837 src/mount_davfs.c:1275
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't change effective user id"
|
msgid "can't change effective user id"
|
||||||
msgstr "kann die effektive Benutzer-ID nicht ändern"
|
msgstr "kann die effektive Benutzer-ID nicht ändern"
|
||||||
|
|
||||||
#: src/mount_davfs.c:908 src/umount_davfs.c:92
|
#: src/mount_davfs.c:844 src/umount_davfs.c:92
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"This is free software; see the source for copying conditions. There is NO\n"
|
"This is free software; see the source for copying conditions. There is NO\n"
|
||||||
@ -372,91 +322,67 @@ msgstr ""
|
|||||||
"gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE "
|
"gibt keine Garantie; auch nicht für VERKAUFBARKEIT oder FÜR SPEZIELLE "
|
||||||
"ZWECKE.\n"
|
"ZWECKE.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:924 src/umount_davfs.c:117
|
#: src/mount_davfs.c:860 src/umount_davfs.c:117
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown error parsing arguments"
|
msgid "unknown error parsing arguments"
|
||||||
msgstr "Fehler beim Analysieren der Befehlsargumente"
|
msgstr "Fehler beim Analysieren der Befehlsargumente"
|
||||||
|
|
||||||
#: src/mount_davfs.c:933 src/umount_davfs.c:123
|
#: src/mount_davfs.c:869 src/umount_davfs.c:123
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "missing argument"
|
msgid "missing argument"
|
||||||
msgstr "zu wenig Argumente"
|
msgstr "zu wenig Argumente"
|
||||||
|
|
||||||
#: src/mount_davfs.c:946
|
#: src/mount_davfs.c:882
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't evaluate path of mount point %s"
|
msgid "can't evaluate path of mount point %s"
|
||||||
msgstr "kann den eindeutigen Pfad des Einhängepunktes %s nicht ermitteln"
|
msgstr "kann den eindeutigen Pfad des Einhängepunktes %s nicht ermitteln"
|
||||||
|
|
||||||
#: src/mount_davfs.c:949 src/umount_davfs.c:125
|
#: src/mount_davfs.c:885 src/umount_davfs.c:125
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "too many arguments"
|
msgid "too many arguments"
|
||||||
msgstr "zu viele Argumente"
|
msgstr "zu viele Argumente"
|
||||||
|
|
||||||
#: src/mount_davfs.c:956
|
#: src/mount_davfs.c:892
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "A relative mount point must lie within your home directory"
|
msgid "A relative mount point must lie within your home directory"
|
||||||
msgstr "Ein relativer Einhängepunkt muss in deinem Home-Verzeichnis liegen"
|
msgstr "Ein relativer Einhängepunkt muss in deinem Home-Verzeichnis liegen"
|
||||||
|
|
||||||
#: src/mount_davfs.c:961
|
#: src/mount_davfs.c:897
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "no WebDAV-server specified"
|
msgid "no WebDAV-server specified"
|
||||||
msgstr "es wurde kein WebDAV-Server angegeben"
|
msgstr "es wurde kein WebDAV-Server angegeben"
|
||||||
|
|
||||||
#: src/mount_davfs.c:964
|
#: src/mount_davfs.c:900
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "invalid URL"
|
msgid "invalid URL"
|
||||||
msgstr "die URL ist ungültig"
|
msgstr "die URL ist ungültig"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1005
|
#: src/mount_davfs.c:930
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "user %s does not exist"
|
msgid "user %s does not exist"
|
||||||
msgstr "der Benutzer %s existiert nicht"
|
msgstr "der Benutzer %s existiert nicht"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1013
|
#: src/mount_davfs.c:938
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "group %s does not exist"
|
msgid "group %s does not exist"
|
||||||
msgstr "die Gruppe %s existiert nicht"
|
msgstr "die Gruppe %s existiert nicht"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1042 src/mount_davfs.c:1069
|
#: src/mount_davfs.c:1004
|
||||||
#, c-format
|
|
||||||
msgid "can't read server certificate %s"
|
|
||||||
msgstr "kann das Server-Zertifikat %s nicht lesen"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1099 src/webdav.c:432
|
|
||||||
#, c-format
|
|
||||||
msgid "can't read client certificate %s"
|
|
||||||
msgstr "kann das Client-Zertifikat %s nicht lesen"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1104
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong owner"
|
|
||||||
msgstr ""
|
|
||||||
"die Datei %s\n"
|
|
||||||
"des Client-Zertifikats hat den falschen Besitzer"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1110
|
|
||||||
#, c-format
|
|
||||||
msgid "client certificate file %s has wrong permissions"
|
|
||||||
msgstr ""
|
|
||||||
"die Dateirechte für das Cient-Zertifikat\n"
|
|
||||||
"%s sind falsch"
|
|
||||||
|
|
||||||
#: src/mount_davfs.c:1153
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "program is not setuid root"
|
msgid "program is not setuid root"
|
||||||
msgstr "die Programmdatei hat das setuid-Bit nicht gesetzt"
|
msgstr "die Programmdatei hat das setuid-Bit nicht gesetzt"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1171
|
#: src/mount_davfs.c:1022
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "can't read group data base"
|
msgid "can't read group data base"
|
||||||
msgstr "kann die Gruppendatenbank nicht lesen"
|
msgstr "kann die Gruppendatenbank nicht lesen"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1201 src/mount_davfs.c:1214 src/mount_davfs.c:1216
|
#: src/mount_davfs.c:1049 src/mount_davfs.c:1062 src/mount_davfs.c:1064
|
||||||
#: src/mount_davfs.c:1234 src/mount_davfs.c:1236 src/webdav.c:439
|
#: src/mount_davfs.c:1082 src/mount_davfs.c:1084 src/mount_davfs.c:1099
|
||||||
msgid "Password: "
|
msgid "Password: "
|
||||||
msgstr "Passwort:"
|
msgstr "Passwort:"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1205
|
#: src/mount_davfs.c:1053
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with proxy\n"
|
"Please enter the username to authenticate with proxy\n"
|
||||||
@ -465,11 +391,11 @@ msgstr ""
|
|||||||
"Gib bitte den Benutzernamen für den Proxy %s an; wenn du keinen angeben "
|
"Gib bitte den Benutzernamen für den Proxy %s an; wenn du keinen angeben "
|
||||||
"willst, drücke Return.\n"
|
"willst, drücke Return.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1207 src/mount_davfs.c:1227
|
#: src/mount_davfs.c:1055 src/mount_davfs.c:1075
|
||||||
msgid "Username:"
|
msgid "Username:"
|
||||||
msgstr "Benutzername:"
|
msgstr "Benutzername:"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1211
|
#: src/mount_davfs.c:1059
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with proxy\n"
|
"Please enter the password to authenticate user %s with proxy\n"
|
||||||
@ -478,7 +404,7 @@ msgstr ""
|
|||||||
"Gib bitte das Passwort von %s für den Proxy %s\n"
|
"Gib bitte das Passwort von %s für den Proxy %s\n"
|
||||||
"an; wenn du keines angeben willst, drücke Return.\n"
|
"an; wenn du keines angeben willst, drücke Return.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1225
|
#: src/mount_davfs.c:1073
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the username to authenticate with server\n"
|
"Please enter the username to authenticate with server\n"
|
||||||
@ -487,7 +413,7 @@ msgstr ""
|
|||||||
"Gib bitte den Benutzernamen für den Server %s an; wenn du keinen angeben "
|
"Gib bitte den Benutzernamen für den Server %s an; wenn du keinen angeben "
|
||||||
"willst, drücke Return.\n"
|
"willst, drücke Return.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1231
|
#: src/mount_davfs.c:1079
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Please enter the password to authenticate user %s with server\n"
|
"Please enter the password to authenticate user %s with server\n"
|
||||||
@ -496,12 +422,26 @@ msgstr ""
|
|||||||
"Gib bitte das Passwort von %s für den Server %s\n"
|
"Gib bitte das Passwort von %s für den Server %s\n"
|
||||||
"an; wenn du keines angeben willst, drücke Return.\n"
|
"an; wenn du keines angeben willst, drücke Return.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1303
|
#: src/mount_davfs.c:1097
|
||||||
|
#, c-format
|
||||||
|
msgid ""
|
||||||
|
"Please enter the password to decrypt client\n"
|
||||||
|
"certificate %s.\n"
|
||||||
|
msgstr ""
|
||||||
|
"Gib bitte das Passwort für die Entschlüsselung des\n"
|
||||||
|
"Client-Zertifikats %s ein.\n"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1104
|
||||||
|
#, c-format
|
||||||
|
msgid "can't decrypt client certificate %s"
|
||||||
|
msgstr "kann das Zertifikat %s nicht entschlüsseln"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:1167
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "pid %i, got signal %i"
|
msgid "pid %i, got signal %i"
|
||||||
msgstr "PID %i, erhielt Signal %i"
|
msgstr "PID %i, erhielt Signal %i"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1343
|
#: src/mount_davfs.c:1206
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
"Warning: can't write entry into mtab, but will mount the file system anyway"
|
||||||
@ -509,48 +449,72 @@ msgstr ""
|
|||||||
"Warnung: kann keinen Eintrag in die mtab schreiben, häne das Dateisystem "
|
"Warnung: kann keinen Eintrag in die mtab schreiben, häne das Dateisystem "
|
||||||
"trotzdem ein."
|
"trotzdem ein."
|
||||||
|
|
||||||
#: src/mount_davfs.c:1369
|
#: src/mount_davfs.c:1232
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a decimal number"
|
msgid "option %s has invalid argument;it must be a decimal number"
|
||||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Dezimalzahl sein"
|
msgstr "das Argument der Option %s ist ungültig; es muss eine Dezimalzahl sein"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1372
|
#: src/mount_davfs.c:1235
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be an octal number"
|
msgid "option %s has invalid argument;it must be an octal number"
|
||||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Oktalzahl sein"
|
msgstr "das Argument der Option %s ist ungültig; es muss eine Oktalzahl sein"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1375
|
#: src/mount_davfs.c:1238
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s has invalid argument;it must be a number"
|
msgid "option %s has invalid argument;it must be a number"
|
||||||
msgstr "das Argument der Option %s ist ungültig; es muss eine Zahl sein"
|
msgstr "das Argument der Option %s ist ungültig; es muss eine Zahl sein"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1652
|
#: src/mount_davfs.c:1513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "option %s requires argument"
|
msgid "option %s requires argument"
|
||||||
msgstr "die Option %s verlangt ein Argument"
|
msgstr "die Option %s verlangt ein Argument"
|
||||||
|
|
||||||
#: src/mount_davfs.c:1744
|
#: src/mount_davfs.c:1605
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Unknown option %s.\n"
|
msgid "Unknown option %s.\n"
|
||||||
msgstr "unbekannte Option %s.\n"
|
msgstr "unbekannte Option %s.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2100 src/mount_davfs.c:2330
|
#: src/mount_davfs.c:1976
|
||||||
|
#, c-format
|
||||||
|
msgid "can't read certificate %s"
|
||||||
|
msgstr "kann das Zertifikat %s nicht lesen"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2008 src/mount_davfs.c:2021
|
||||||
|
#, c-format
|
||||||
|
msgid "can't read client certificate %s"
|
||||||
|
msgstr "kann das Client-Zertifikat %s nicht lesen"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2012
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong owner"
|
||||||
|
msgstr ""
|
||||||
|
"die Datei %s\n"
|
||||||
|
"des Client-Zertifikats hat den falschen Besitzer"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2016
|
||||||
|
#, c-format
|
||||||
|
msgid "client certificate file %s has wrong permissions"
|
||||||
|
msgstr ""
|
||||||
|
"die Dateirechte für das Cient-Zertifikat\n"
|
||||||
|
"%s sind falsch"
|
||||||
|
|
||||||
|
#: src/mount_davfs.c:2038 src/mount_davfs.c:2266
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "opening %s failed"
|
msgid "opening %s failed"
|
||||||
msgstr "konnte %s nicht öffnen"
|
msgstr "konnte %s nicht öffnen"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2121 src/mount_davfs.c:2166 src/mount_davfs.c:2258
|
#: src/mount_davfs.c:2059 src/mount_davfs.c:2104 src/mount_davfs.c:2196
|
||||||
#: src/mount_davfs.c:2346 src/mount_davfs.c:2413
|
#: src/mount_davfs.c:2293 src/mount_davfs.c:2351 src/mount_davfs.c:2364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "malformed line"
|
msgid "malformed line"
|
||||||
msgstr "Syntaxfehler in der Zeile"
|
msgstr "Syntaxfehler in der Zeile"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2236 src/mount_davfs.c:2252
|
#: src/mount_davfs.c:2174 src/mount_davfs.c:2190
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown option"
|
msgid "unknown option"
|
||||||
msgstr "unbekannte Option"
|
msgstr "unbekannte Option"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2545
|
#: src/mount_davfs.c:2496
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Usage:\n"
|
"Usage:\n"
|
||||||
@ -563,7 +527,7 @@ msgstr ""
|
|||||||
" %s -h, --help : diese Hilfe anzeigen\n"
|
" %s -h, --help : diese Hilfe anzeigen\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2549
|
#: src/mount_davfs.c:2500
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
"To mount a WebDAV-resource don't call %s directly, but use\n"
|
||||||
@ -572,7 +536,7 @@ msgstr ""
|
|||||||
"Um eine WebDAV-Resource zu einzuhängen, sollte %s nicht direkt\n"
|
"Um eine WebDAV-Resource zu einzuhängen, sollte %s nicht direkt\n"
|
||||||
"aufgerufen werden; stattdessen sollte „mount” benutzt werden.\n"
|
"aufgerufen werden; stattdessen sollte „mount” benutzt werden.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2551
|
#: src/mount_davfs.c:2502
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount <mountpoint> : or\n"
|
" mount <mountpoint> : or\n"
|
||||||
@ -583,7 +547,7 @@ msgstr ""
|
|||||||
" mount <server-url> : hänge die WebDAV-Resource entsprechend den\n"
|
" mount <server-url> : hänge die WebDAV-Resource entsprechend den\n"
|
||||||
" Angaben in /etc/fstab ein.\n"
|
" Angaben in /etc/fstab ein.\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2554
|
#: src/mount_davfs.c:2505
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
" mount -t davfs <server-url> <mountpoint> [-o options]\n"
|
||||||
@ -600,7 +564,7 @@ msgstr ""
|
|||||||
" Kommas unterteilte Liste von Optionen.\n"
|
" Kommas unterteilte Liste von Optionen.\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2559
|
#: src/mount_davfs.c:2510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Recognised options:\n"
|
"Recognised options:\n"
|
||||||
@ -617,7 +581,7 @@ msgstr ""
|
|||||||
" file_mode= : Standard-Rechte für Dateien (oktal)\n"
|
" file_mode= : Standard-Rechte für Dateien (oktal)\n"
|
||||||
" dir_mode= : Standard-Rechte für Verzeichnisse (oktal)\n"
|
" dir_mode= : Standard-Rechte für Verzeichnisse (oktal)\n"
|
||||||
|
|
||||||
#: src/mount_davfs.c:2565
|
#: src/mount_davfs.c:2516
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
" ro : mount read-only\n"
|
" ro : mount read-only\n"
|
||||||
@ -735,95 +699,81 @@ msgstr "kann die Ausgabe für neon-Log-Meldungen nicht öffnen"
|
|||||||
msgid "neon library does not support TLS/SSL"
|
msgid "neon library does not support TLS/SSL"
|
||||||
msgstr "die Neon-Bibliothek uterstützt TLS/SSL nicht"
|
msgstr "die Neon-Bibliothek uterstützt TLS/SSL nicht"
|
||||||
|
|
||||||
#: src/webdav.c:437
|
#: src/webdav.c:475 src/webdav.c:478
|
||||||
#, c-format
|
|
||||||
msgid ""
|
|
||||||
"Please enter the password to decrypt client\n"
|
|
||||||
"certificate %s.\n"
|
|
||||||
msgstr ""
|
|
||||||
"Gib bitte das Passwort für die Entschlüsselung des\n"
|
|
||||||
"Client-Zertifikats %s ein.\n"
|
|
||||||
|
|
||||||
#: src/webdav.c:451
|
|
||||||
#, c-format
|
|
||||||
msgid "can't decrypt client certificate %s"
|
|
||||||
msgstr "kann das Zertifikat %s nicht entschlüsseln"
|
|
||||||
|
|
||||||
#: src/webdav.c:505 src/webdav.c:508
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "mounting failed; the server does not support WebDAV"
|
msgid "mounting failed; the server does not support WebDAV"
|
||||||
msgstr "das Einhängen schlug fehl; der Server unterstützt WebDAV nicht"
|
msgstr "das Einhängen schlug fehl; der Server unterstützt WebDAV nicht"
|
||||||
|
|
||||||
#: src/webdav.c:516
|
#: src/webdav.c:486
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "warning: the server does not support locks"
|
msgid "warning: the server does not support locks"
|
||||||
msgstr "Warnung: der Server kann Dateien nicht sperren"
|
msgstr "Warnung: der Server kann Dateien nicht sperren"
|
||||||
|
|
||||||
#: src/webdav.c:1596
|
#: src/webdav.c:1566
|
||||||
msgid "authentication failure:"
|
msgid "authentication failure:"
|
||||||
msgstr "Authentifizierungsfehler"
|
msgstr "Authentifizierungsfehler"
|
||||||
|
|
||||||
#: src/webdav.c:1634
|
#: src/webdav.c:1604
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i can't open cache file"
|
msgid "%i can't open cache file"
|
||||||
msgstr "%i kann die Cache-Datei nicht öffnen"
|
msgstr "%i kann die Cache-Datei nicht öffnen"
|
||||||
|
|
||||||
#: src/webdav.c:1642
|
#: src/webdav.c:1612
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%i error writing to cache file"
|
msgid "%i error writing to cache file"
|
||||||
msgstr "%i Fehler beim Schreiben der Cache-Datei"
|
msgstr "%i Fehler beim Schreiben der Cache-Datei"
|
||||||
|
|
||||||
#: src/webdav.c:1952 src/webdav.c:1981 src/webdav.c:2018
|
#: src/webdav.c:1922 src/webdav.c:1951 src/webdav.c:1988
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not trusted"
|
msgid "the server certificate is not trusted"
|
||||||
msgstr "wir trauen dem Zertifikat nicht"
|
msgstr "wir trauen dem Zertifikat nicht"
|
||||||
|
|
||||||
#: src/webdav.c:1961 src/webdav.c:1964
|
#: src/webdav.c:1931 src/webdav.c:1934
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "error processing server certificate"
|
msgid "error processing server certificate"
|
||||||
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
||||||
|
|
||||||
#: src/webdav.c:1975 src/webdav.c:2009
|
#: src/webdav.c:1945 src/webdav.c:1979
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate is not yet valid"
|
msgid "the server certificate is not yet valid"
|
||||||
msgstr "das Server-Zertifikat ist noch nicht gültig"
|
msgstr "das Server-Zertifikat ist noch nicht gültig"
|
||||||
|
|
||||||
#: src/webdav.c:1977 src/webdav.c:2012
|
#: src/webdav.c:1947 src/webdav.c:1982
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate has expired"
|
msgid "the server certificate has expired"
|
||||||
msgstr "das Server-Zertifikat ist nicht mehr gültig"
|
msgstr "das Server-Zertifikat ist nicht mehr gültig"
|
||||||
|
|
||||||
#: src/webdav.c:1979 src/webdav.c:2015
|
#: src/webdav.c:1949 src/webdav.c:1985
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "the server certificate does not match the server name"
|
msgid "the server certificate does not match the server name"
|
||||||
msgstr "das Server-Zertifikat passt nicht zum Namen des Servers"
|
msgstr "das Server-Zertifikat passt nicht zum Namen des Servers"
|
||||||
|
|
||||||
#: src/webdav.c:1983 src/webdav.c:2021
|
#: src/webdav.c:1953 src/webdav.c:1991
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "unknown certificate error"
|
msgid "unknown certificate error"
|
||||||
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
msgstr "Fehler beim Analysieren des Server-Zertifikats"
|
||||||
|
|
||||||
#: src/webdav.c:1984
|
#: src/webdav.c:1954
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr " Aussteller: %s"
|
msgstr " Aussteller: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1986
|
#: src/webdav.c:1956
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr " Inhaber: %s"
|
msgstr " Inhaber: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1988
|
#: src/webdav.c:1958
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr " Name: %s"
|
msgstr " Name: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1990
|
#: src/webdav.c:1960
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " fingerprint: %s"
|
msgid " fingerprint: %s"
|
||||||
msgstr " Fingerabdruck: %s"
|
msgstr " Fingerabdruck: %s"
|
||||||
|
|
||||||
#: src/webdav.c:1992
|
#: src/webdav.c:1962
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You only should accept this certificate, if you can\n"
|
"You only should accept this certificate, if you can\n"
|
||||||
@ -834,26 +784,28 @@ msgstr ""
|
|||||||
"dass der Fingerabdruck stimmt. Der Server könnte gefälscht sein oder\n"
|
"dass der Fingerabdruck stimmt. Der Server könnte gefälscht sein oder\n"
|
||||||
"ein Angreifer könnte sich in die Verbindung zum Server eingeschaltet haben.\n"
|
"ein Angreifer könnte sich in die Verbindung zum Server eingeschaltet haben.\n"
|
||||||
|
|
||||||
#: src/webdav.c:1995
|
#: src/webdav.c:1965
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Accept certificate for this session? [y,N] "
|
msgid "Accept certificate for this session? [y,N] "
|
||||||
msgstr "Ich akzeptiere das Zertifikat für diese Sitzung [j,N]: "
|
msgstr "Ich akzeptiere das Zertifikat für diese Sitzung [j,N]: "
|
||||||
|
|
||||||
#: src/webdav.c:2022
|
#: src/webdav.c:1992
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " issuer: %s"
|
msgid " issuer: %s"
|
||||||
msgstr " Aussteller des Zertifikats: %s"
|
msgstr " Aussteller des Zertifikats: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2023
|
#: src/webdav.c:1993
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " subject: %s"
|
msgid " subject: %s"
|
||||||
msgstr " Inhaber des Zertifikats: %s"
|
msgstr " Inhaber des Zertifikats: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2024
|
#: src/webdav.c:1994
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid " identity: %s"
|
msgid " identity: %s"
|
||||||
msgstr " Name: %s"
|
msgstr " Name: %s"
|
||||||
|
|
||||||
#: src/webdav.c:2027
|
#: src/webdav.c:1997
|
||||||
msgid " accepted by user"
|
msgid " accepted by user"
|
||||||
msgstr " durch den Benutzer akzeptiert"
|
msgstr " durch den Benutzer akzeptiert"
|
||||||
|
|
||||||
|
|
||||||
|
@ -26,9 +26,9 @@ pkgsyscachedir = $(dav_syscachedir)/@PACKAGE@
|
|||||||
ssbindir = @ssbindir@
|
ssbindir = @ssbindir@
|
||||||
|
|
||||||
sbin_PROGRAMS = mount.davfs umount.davfs
|
sbin_PROGRAMS = mount.davfs umount.davfs
|
||||||
mount_davfs_SOURCES = cache.c dav_coda.c \
|
mount_davfs_SOURCES = cache.c \
|
||||||
dav_fuse.c kernel_interface.c mount_davfs.c webdav.c \
|
kernel_interface.c mount_davfs.c webdav.c \
|
||||||
cache.h coda.h defaults.h fuse_kernel.h \
|
cache.h defaults.h fuse_kernel.h \
|
||||||
kernel_interface.h mount_davfs.h webdav.h
|
kernel_interface.h mount_davfs.h webdav.h
|
||||||
umount_davfs_SOURCES = umount_davfs.c defaults.h
|
umount_davfs_SOURCES = umount_davfs.c defaults.h
|
||||||
|
|
||||||
|
93
src/cache.c
93
src/cache.c
@ -223,11 +223,6 @@ static off_t write_dir_entry_dummy(int fd, off_t off, const dav_node *node,
|
|||||||
}
|
}
|
||||||
static dav_write_dir_entry_fn write_dir_entry = write_dir_entry_dummy;
|
static dav_write_dir_entry_fn write_dir_entry = write_dir_entry_dummy;
|
||||||
|
|
||||||
/* Points to a flag in the kernel interface module. If set to 1, at the end of
|
|
||||||
the upcall the kernel dentries will be flushed. */
|
|
||||||
static int flush_dummy;
|
|
||||||
static int *flush = &flush_dummy;
|
|
||||||
|
|
||||||
/* Whether to create debug messages. */
|
/* Whether to create debug messages. */
|
||||||
static int debug;
|
static int debug;
|
||||||
|
|
||||||
@ -365,7 +360,7 @@ get_child(const dav_node *parent, const char *name)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static dav_handle *
|
static dav_handle *
|
||||||
get_file_handle(dav_node * node, int fd, int accmode, pid_t pid, pid_t pgid);
|
get_file_handle(dav_node * node, int fd);
|
||||||
|
|
||||||
static int
|
static int
|
||||||
has_permission(const dav_node *node, uid_t uid, int how);
|
has_permission(const dav_node *node, uid_t uid, int how);
|
||||||
@ -473,8 +468,7 @@ set_cache_file_times(dav_node *node)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
open_file(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid,
|
open_file(int *fd, dav_node *node, int flags);
|
||||||
uid_t uid);
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
update_cache_file(dav_node *node);
|
update_cache_file(dav_node *node);
|
||||||
@ -685,7 +679,6 @@ dav_close_cache(int got_sigterm)
|
|||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Closing cache");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Closing cache");
|
||||||
|
|
||||||
write_dir_entry = &write_dir_entry_dummy;
|
write_dir_entry = &write_dir_entry_dummy;
|
||||||
flush = &flush_dummy;
|
|
||||||
|
|
||||||
clean_tree(root, !got_sigterm);
|
clean_tree(root, !got_sigterm);
|
||||||
|
|
||||||
@ -725,18 +718,11 @@ dav_close_cache(int got_sigterm)
|
|||||||
|
|
||||||
|
|
||||||
size_t
|
size_t
|
||||||
dav_register_kernel_interface(dav_write_dir_entry_fn write_fn, int *flush_flag,
|
dav_register_kernel_interface(dav_write_dir_entry_fn write_fn)
|
||||||
unsigned int *blksize)
|
|
||||||
{
|
{
|
||||||
if (write_fn)
|
if (write_fn)
|
||||||
write_dir_entry = write_fn;
|
write_dir_entry = write_fn;
|
||||||
|
|
||||||
if (flush_flag)
|
|
||||||
flush = flush_flag;
|
|
||||||
|
|
||||||
if (blksize)
|
|
||||||
*blksize = fs_stat->bsize;
|
|
||||||
|
|
||||||
return alignment;
|
return alignment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -797,7 +783,6 @@ dav_tidy_cache(void)
|
|||||||
delete_cache_file(node->parent);
|
delete_cache_file(node->parent);
|
||||||
node->parent->utime = 0;
|
node->parent->utime = 0;
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (is_locked(node) && !is_dirty(node) && !is_created(node)
|
} else if (is_locked(node) && !is_dirty(node) && !is_created(node)
|
||||||
@ -842,9 +827,7 @@ dav_close(dav_node *node, int fd, int flags, pid_t pid, pid_t pgid)
|
|||||||
if (debug)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " close %s", node->path);
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " close %s", node->path);
|
||||||
|
|
||||||
dav_handle *fh = get_file_handle(node, fd,
|
dav_handle *fh = get_file_handle(node, fd);
|
||||||
is_dir(node) ? O_RDWR : flags & O_ACCMODE,
|
|
||||||
pid, pgid);
|
|
||||||
if (!fh)
|
if (!fh)
|
||||||
return EBADF;
|
return EBADF;
|
||||||
|
|
||||||
@ -853,7 +836,6 @@ dav_close(dav_node *node, int fd, int flags, pid_t pid, pid_t pgid)
|
|||||||
if (!node->parent && node != root && !is_open(node)) {
|
if (!node->parent && node != root && !is_open(node)) {
|
||||||
remove_from_table(node);
|
remove_from_table(node);
|
||||||
delete_node(node);
|
delete_node(node);
|
||||||
*flush = 1;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -894,7 +876,6 @@ dav_close(dav_node *node, int fd, int flags, pid_t pid, pid_t pgid)
|
|||||||
delete_cache_file(node->parent);
|
delete_cache_file(node->parent);
|
||||||
node->parent->utime = 0;
|
node->parent->utime = 0;
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -953,7 +934,6 @@ dav_create(dav_node **nodep, dav_node *parent, const char *name, uid_t uid,
|
|||||||
&(*nodep)->mime_type);
|
&(*nodep)->mime_type);
|
||||||
(*nodep)->utime = (*nodep)->smtime;
|
(*nodep)->utime = (*nodep)->smtime;
|
||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
*flush = 1;
|
|
||||||
parent->mtime = (*nodep)->mtime;
|
parent->mtime = (*nodep)->mtime;
|
||||||
parent->ctime = (*nodep)->mtime;
|
parent->ctime = (*nodep)->mtime;
|
||||||
add_to_changed(*nodep);
|
add_to_changed(*nodep);
|
||||||
@ -1117,7 +1097,6 @@ dav_mkdir(dav_node **nodep, dav_node *parent, const char *name, uid_t uid,
|
|||||||
(*nodep)->smtime = (*nodep)->mtime;
|
(*nodep)->smtime = (*nodep)->mtime;
|
||||||
(*nodep)->utime = (*nodep)->mtime;
|
(*nodep)->utime = (*nodep)->mtime;
|
||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
*flush = 1;
|
|
||||||
parent->mtime = (*nodep)->mtime;
|
parent->mtime = (*nodep)->mtime;
|
||||||
parent->ctime = (*nodep)->mtime;
|
parent->ctime = (*nodep)->mtime;
|
||||||
} else {
|
} else {
|
||||||
@ -1129,8 +1108,7 @@ dav_mkdir(dav_node **nodep, dav_node *parent, const char *name, uid_t uid,
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
dav_open(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid,
|
dav_open(int *fd, dav_node *node, int flags, uid_t uid, int open_create)
|
||||||
int open_create)
|
|
||||||
{
|
{
|
||||||
if (!is_valid(node))
|
if (!is_valid(node))
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
@ -1157,7 +1135,7 @@ dav_open(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid,
|
|||||||
if (create_dir_cache_file(node) != 0)
|
if (create_dir_cache_file(node) != 0)
|
||||||
return EIO;
|
return EIO;
|
||||||
node->atime = time(NULL);
|
node->atime = time(NULL);
|
||||||
return open_file(fd, node, O_RDWR, pid, pgid, uid);
|
return open_file(fd, node, O_RDWR);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
@ -1165,7 +1143,7 @@ dav_open(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid,
|
|||||||
|
|
||||||
ret = update_cache_file(node);
|
ret = update_cache_file(node);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = open_file(fd, node, flags & O_ACCMODE, pid, pgid, uid);
|
ret = open_file(fd, node, flags & O_ACCMODE);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@ -1177,14 +1155,12 @@ dav_open(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid,
|
|||||||
ret = create_cache_file(node);
|
ret = create_cache_file(node);
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
ret = open_file(fd, node,
|
ret = open_file(fd, node,
|
||||||
flags & (O_ACCMODE | O_TRUNC | O_APPEND),
|
flags & (O_ACCMODE | O_TRUNC | O_APPEND));
|
||||||
pid, pgid, uid);
|
|
||||||
}
|
}
|
||||||
} else if (!ret) {
|
} else if (!ret) {
|
||||||
ret = update_cache_file(node);
|
ret = update_cache_file(node);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = open_file(fd, node, flags & (O_ACCMODE | O_APPEND),
|
ret = open_file(fd, node, flags & (O_ACCMODE | O_APPEND));
|
||||||
pid, pgid, uid);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ret)
|
if (!ret)
|
||||||
@ -1202,7 +1178,7 @@ dav_read(ssize_t *len, dav_node * node, int fd, char *buf, size_t size,
|
|||||||
if (!exists(node))
|
if (!exists(node))
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
|
|
||||||
dav_handle *fh = get_file_handle(node, fd, 0, 0, 0);
|
dav_handle *fh = get_file_handle(node, fd);
|
||||||
if (!fh)
|
if (!fh)
|
||||||
return EBADF;
|
return EBADF;
|
||||||
if (fh->flags == O_WRONLY)
|
if (fh->flags == O_WRONLY)
|
||||||
@ -1247,7 +1223,6 @@ dav_remove(dav_node *parent, const char *name, uid_t uid)
|
|||||||
if (!node) {
|
if (!node) {
|
||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
parent->utime = 0;
|
parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
}
|
}
|
||||||
if (is_dir(node))
|
if (is_dir(node))
|
||||||
@ -1277,7 +1252,6 @@ dav_remove(dav_node *parent, const char *name, uid_t uid)
|
|||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
parent->mtime = time(NULL);
|
parent->mtime = time(NULL);
|
||||||
parent->ctime = parent->mtime;
|
parent->ctime = parent->mtime;
|
||||||
*flush = 1;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1309,7 +1283,6 @@ dav_rename(dav_node *src_parent, const char *src_name, dav_node *dst_parent,
|
|||||||
if (!src) {
|
if (!src) {
|
||||||
delete_cache_file(src_parent);
|
delete_cache_file(src_parent);
|
||||||
src_parent->utime = 0;
|
src_parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
}
|
}
|
||||||
if (src == backup || (dst && is_backup(dst)))
|
if (src == backup || (dst && is_backup(dst)))
|
||||||
@ -1341,7 +1314,6 @@ dav_rename(dav_node *src_parent, const char *src_name, dav_node *dst_parent,
|
|||||||
delete_cache_file(dst_parent);
|
delete_cache_file(dst_parent);
|
||||||
dst_parent->mtime = time(NULL);
|
dst_parent->mtime = time(NULL);
|
||||||
dst_parent->ctime = dst_parent->mtime;
|
dst_parent->ctime = dst_parent->mtime;
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -1366,7 +1338,6 @@ dav_rmdir(dav_node *parent, const char *name, uid_t uid)
|
|||||||
if (!node) {
|
if (!node) {
|
||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
parent->utime = 0;
|
parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
return ENOENT;
|
return ENOENT;
|
||||||
}
|
}
|
||||||
if (node == backup)
|
if (node == backup)
|
||||||
@ -1382,7 +1353,6 @@ dav_rmdir(dav_node *parent, const char *name, uid_t uid)
|
|||||||
delete_cache_file(parent);
|
delete_cache_file(parent);
|
||||||
parent->mtime = time(NULL);
|
parent->mtime = time(NULL);
|
||||||
parent->ctime = parent->mtime;
|
parent->ctime = parent->mtime;
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -1595,7 +1565,7 @@ dav_write(size_t *written, dav_node * node, int fd, char *buf, size_t size,
|
|||||||
if (is_dir(node))
|
if (is_dir(node))
|
||||||
return EBADF;
|
return EBADF;
|
||||||
|
|
||||||
dav_handle *fh = get_file_handle(node, fd, 0, 0, 0);
|
dav_handle *fh = get_file_handle(node, fd);
|
||||||
if (!fh)
|
if (!fh)
|
||||||
return EBADF;
|
return EBADF;
|
||||||
if (fh->flags == O_RDONLY)
|
if (fh->flags == O_RDONLY)
|
||||||
@ -1722,7 +1692,6 @@ backup_node(dav_node *orig)
|
|||||||
delete_cache_file(backup);
|
delete_cache_file(backup);
|
||||||
backup->mtime = time(NULL);
|
backup->mtime = time(NULL);
|
||||||
backup->ctime = backup->mtime;
|
backup->ctime = backup->mtime;
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2185,8 +2154,7 @@ remove_node(dav_node *node)
|
|||||||
function will do nothing.
|
function will do nothing.
|
||||||
utime and retry will be updated.
|
utime and retry will be updated.
|
||||||
If the contents or the mtime of the dir has changed, the dir-cache-file
|
If the contents or the mtime of the dir has changed, the dir-cache-file
|
||||||
will be deleted and the flush flag will be set to force new lookups
|
will be deleted. */
|
||||||
by the kernel. */
|
|
||||||
static int
|
static int
|
||||||
update_directory(dav_node *dir, time_t refresh)
|
update_directory(dav_node *dir, time_t refresh)
|
||||||
{
|
{
|
||||||
@ -2252,7 +2220,6 @@ update_directory(dav_node *dir, time_t refresh)
|
|||||||
|
|
||||||
if (changed) {
|
if (changed) {
|
||||||
delete_cache_file(dir);
|
delete_cache_file(dir);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
@ -2268,8 +2235,6 @@ update_directory(dav_node *dir, time_t refresh)
|
|||||||
If props is incompatibel with node or indicates a lost update problem,
|
If props is incompatibel with node or indicates a lost update problem,
|
||||||
a new node is created from props and the old node is deleted, creating
|
a new node is created from props and the old node is deleted, creating
|
||||||
a local back up if necessary.
|
a local back up if necessary.
|
||||||
If nodes are removed or created, flag flush is set, to force new lookups
|
|
||||||
by the kernel.
|
|
||||||
node : The node to be updated. It must not be the root node and have a
|
node : The node to be updated. It must not be the root node and have a
|
||||||
valid parent.
|
valid parent.
|
||||||
props : The properties retrieved from the server. They will be freed.
|
props : The properties retrieved from the server. They will be freed.
|
||||||
@ -2294,7 +2259,6 @@ update_node(dav_node *node, dav_props *props)
|
|||||||
|| (!is_dir(node) && props->is_dir)) {
|
|| (!is_dir(node) && props->is_dir)) {
|
||||||
add_node(node->parent, props);
|
add_node(node->parent, props);
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
*flush = 1;
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2302,14 +2266,12 @@ update_node(dav_node *node, dav_props *props)
|
|||||||
free(node->name);
|
free(node->name);
|
||||||
node->name = xstrdup(props->name);
|
node->name = xstrdup(props->name);
|
||||||
ret = 1;
|
ret = 1;
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_created(node)) {
|
if (is_created(node)) {
|
||||||
if (!is_open(node) && (props->size > 0)) {
|
if (!is_open(node) && (props->size > 0)) {
|
||||||
add_node(node->parent, props);
|
add_node(node->parent, props);
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
*flush = 1;
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
dav_delete_props(props);
|
dav_delete_props(props);
|
||||||
@ -2328,11 +2290,9 @@ update_node(dav_node *node, dav_props *props)
|
|||||||
} else if (is_dirty(node)) {
|
} else if (is_dirty(node)) {
|
||||||
add_node(node->parent, props);
|
add_node(node->parent, props);
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
*flush = 1;
|
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
delete_cache_file(node);
|
delete_cache_file(node);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
node->utime = time(NULL);
|
node->utime = time(NULL);
|
||||||
@ -2348,7 +2308,6 @@ update_node(dav_node *node, dav_props *props)
|
|||||||
node->smtime = props->mtime;
|
node->smtime = props->mtime;
|
||||||
node->utime = 0;
|
node->utime = 0;
|
||||||
delete_cache_file(node);
|
delete_cache_file(node);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
if (props->ctime > node->ctime)
|
if (props->ctime > node->ctime)
|
||||||
node->ctime = props->ctime;
|
node->ctime = props->ctime;
|
||||||
@ -2365,15 +2324,12 @@ update_node(dav_node *node, dav_props *props)
|
|||||||
node->mode |= (node->mode & S_IWGRP) ? S_IXGRP : 0;
|
node->mode |= (node->mode & S_IWGRP) ? S_IXGRP : 0;
|
||||||
node->mode |= (node->mode & S_IWOTH) ? S_IXOTH : 0;
|
node->mode |= (node->mode & S_IWOTH) ? S_IXOTH : 0;
|
||||||
node->mode &= ~file_umask;
|
node->mode &= ~file_umask;
|
||||||
*flush = 1;
|
|
||||||
} else if (props->is_exec == 0
|
} else if (props->is_exec == 0
|
||||||
&& (node->mode & (S_IXUSR | S_IXGRP | S_IXOTH))) {
|
&& (node->mode & (S_IXUSR | S_IXGRP | S_IXOTH))) {
|
||||||
node->mode &= ~(S_IXUSR | S_IXGRP | S_IXOTH);
|
node->mode &= ~(S_IXUSR | S_IXGRP | S_IXOTH);
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
if (props->size && props->size != node->size) {
|
if (props->size && props->size != node->size) {
|
||||||
node->size = props->size;
|
node->size = props->size;
|
||||||
*flush = 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2399,7 +2355,6 @@ update_path(dav_node *node, const char *src_path, const char *dst_path)
|
|||||||
if (!node->path || strstr(node->path, src_path) != node->path) {
|
if (!node->path || strstr(node->path, src_path) != node->path) {
|
||||||
delete_cache_file(node->parent);
|
delete_cache_file(node->parent);
|
||||||
node->parent->utime = 0;
|
node->parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2422,28 +2377,17 @@ exists(const dav_node *node)
|
|||||||
if (n) {
|
if (n) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
*flush = 1;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static dav_handle *
|
static dav_handle *
|
||||||
get_file_handle(dav_node * node, int fd, int accmode, pid_t pid, pid_t pgid)
|
get_file_handle(dav_node * node, int fd)
|
||||||
{
|
{
|
||||||
dav_handle *fh = node->handles;
|
dav_handle *fh = node->handles;
|
||||||
if (fd) {
|
while (fh && fh->fd != fd)
|
||||||
while (fh && fh->fd != fd)
|
fh = fh->next;
|
||||||
fh = fh->next;
|
|
||||||
} else {
|
|
||||||
while (fh && (fh->flags != accmode || fh->pid != pid))
|
|
||||||
fh = fh->next;
|
|
||||||
if (!fh) {
|
|
||||||
fh = node->handles;
|
|
||||||
while (fh && (fh->flags != accmode || fh->pgid != pgid))
|
|
||||||
fh = fh->next;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fh;
|
return fh;
|
||||||
}
|
}
|
||||||
@ -2627,7 +2571,7 @@ create_dir_cache_file(dav_node *dir)
|
|||||||
of handles.
|
of handles.
|
||||||
return value : 0 on success, EIO if the file could not be opend. */
|
return value : 0 on success, EIO if the file could not be opend. */
|
||||||
static int
|
static int
|
||||||
open_file(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid)
|
open_file(int *fd, dav_node *node, int flags)
|
||||||
{
|
{
|
||||||
*fd = open(node->cache_path, flags, node->mode);
|
*fd = open(node->cache_path, flags, node->mode);
|
||||||
if (*fd <= 0)
|
if (*fd <= 0)
|
||||||
@ -2635,9 +2579,6 @@ open_file(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid)
|
|||||||
dav_handle *fh = (dav_handle *) xmalloc(sizeof(dav_handle));
|
dav_handle *fh = (dav_handle *) xmalloc(sizeof(dav_handle));
|
||||||
fh->fd = *fd;
|
fh->fd = *fd;
|
||||||
fh->flags = O_ACCMODE & flags;
|
fh->flags = O_ACCMODE & flags;
|
||||||
fh->pid = pid;
|
|
||||||
fh->pgid = pgid;
|
|
||||||
fh->uid = uid;
|
|
||||||
fh->next = node->handles;
|
fh->next = node->handles;
|
||||||
node->handles = fh;
|
node->handles = fh;
|
||||||
if ((O_ACCMODE & flags) == O_WRONLY || (O_ACCMODE & flags) == O_RDWR)
|
if ((O_ACCMODE & flags) == O_WRONLY || (O_ACCMODE & flags) == O_RDWR)
|
||||||
@ -2683,7 +2624,6 @@ update_cache_file(dav_node *node)
|
|||||||
|| ret == EPERM || ret == ENOSPC) {
|
|| ret == EPERM || ret == ENOSPC) {
|
||||||
delete_cache_file(node->parent);
|
delete_cache_file(node->parent);
|
||||||
node->parent->utime = 0;
|
node->parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
ret = EIO;
|
ret = EIO;
|
||||||
}
|
}
|
||||||
@ -2735,7 +2675,6 @@ update_cache_file(dav_node *node)
|
|||||||
if (ret == ENOENT) {
|
if (ret == ENOENT) {
|
||||||
delete_cache_file(node->parent);
|
delete_cache_file(node->parent);
|
||||||
node->parent->utime = 0;
|
node->parent->utime = 0;
|
||||||
*flush = 1;
|
|
||||||
remove_node(node);
|
remove_node(node);
|
||||||
}
|
}
|
||||||
delete_cache_file(node);
|
delete_cache_file(node);
|
||||||
|
17
src/cache.h
17
src/cache.h
@ -33,17 +33,12 @@
|
|||||||
/*============*/
|
/*============*/
|
||||||
|
|
||||||
/* File descriptors for open files are stored within a dav_node in a linked
|
/* File descriptors for open files are stored within a dav_node in a linked
|
||||||
list. As coda does not return the file descriptor when closing a file,
|
list. */
|
||||||
this data structure contains additional information to identify the
|
|
||||||
appropriate file descriptor. */
|
|
||||||
typedef struct dav_handle dav_handle;
|
typedef struct dav_handle dav_handle;
|
||||||
struct dav_handle {
|
struct dav_handle {
|
||||||
dav_handle *next; /* Next in the list. */
|
dav_handle *next; /* Next in the list. */
|
||||||
int fd; /* File descriptor of the open file. */
|
int fd; /* File descriptor of the open file. */
|
||||||
int flags; /* Access mode flags only. */
|
int flags; /* Access mode flags only. */
|
||||||
pid_t pid; /* id of requesting process. */
|
|
||||||
pid_t pgid; /* Group id of requesting process. */
|
|
||||||
uid_t uid; /* User id of requesting process. */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -207,11 +202,9 @@ dav_close_cache(int got_sigterm);
|
|||||||
|
|
||||||
/* Registers the kernel_interface.
|
/* Registers the kernel_interface.
|
||||||
Sets pointers to the write_dir_entry_fn flush_flag.
|
Sets pointers to the write_dir_entry_fn flush_flag.
|
||||||
If blksize is not NULL, the preferred bloksize for IO is asigned.
|
|
||||||
It returns the value of alignment. */
|
It returns the value of alignment. */
|
||||||
size_t
|
size_t
|
||||||
dav_register_kernel_interface(dav_write_dir_entry_fn write_fn, int *flush_flag,
|
dav_register_kernel_interface(dav_write_dir_entry_fn write_fn);
|
||||||
unsigned int *blksize);
|
|
||||||
|
|
||||||
|
|
||||||
/* Scans the hash table for file nodes to be saved them back on the server,
|
/* Scans the hash table for file nodes to be saved them back on the server,
|
||||||
@ -333,8 +326,7 @@ dav_mkdir(dav_node **nodep, dav_node *parent, const char *name, uid_t uid,
|
|||||||
|
|
||||||
|
|
||||||
/* Opens file or directory node according to flags and returns file descriptor
|
/* Opens file or directory node according to flags and returns file descriptor
|
||||||
fd. fd, together with pid, pgid and uid, is stored in node for read, write
|
fd. fd is stored in node for read, write and close operations.
|
||||||
and close operations.
|
|
||||||
Only the O_ACCESSMOE, O_APPEND and O_TRUNC bits in flags will be honoured.
|
Only the O_ACCESSMOE, O_APPEND and O_TRUNC bits in flags will be honoured.
|
||||||
O_CREATE and O_EXCL are not allowed.
|
O_CREATE and O_EXCL are not allowed.
|
||||||
Permissions:
|
Permissions:
|
||||||
@ -346,8 +338,7 @@ dav_mkdir(dav_node **nodep, dav_node *parent, const char *name, uid_t uid,
|
|||||||
O_CREATE. It allows dav_open to succeed if when the file mode would not
|
O_CREATE. It allows dav_open to succeed if when the file mode would not
|
||||||
allow this. */
|
allow this. */
|
||||||
int
|
int
|
||||||
dav_open(int *fd, dav_node *node, int flags, pid_t pid, pid_t pgid, uid_t uid,
|
dav_open(int *fd, dav_node *node, int flags, uid_t uid, int open_create);
|
||||||
int open_create);
|
|
||||||
|
|
||||||
/* Reads size bytes from file descriptor fd, starting at position offset
|
/* Reads size bytes from file descriptor fd, starting at position offset
|
||||||
and copies them into buf.
|
and copies them into buf.
|
||||||
|
643
src/coda.h
643
src/coda.h
@ -1,643 +0,0 @@
|
|||||||
/* This header file was taken from Linux kernel 2.6.18.
|
|
||||||
From the two alternative licences the Carnegie Mellon University
|
|
||||||
specific licence has been chosen.
|
|
||||||
Definitions intended for use by the kernel and not for userspace,
|
|
||||||
old API definitions and other parts unused by davfs2 have been removed.
|
|
||||||
Modifications by Werner Baumann, 2009-04-14. */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
Coda: an Experimental Distributed File System
|
|
||||||
Release 4.0
|
|
||||||
|
|
||||||
Copyright (c) 1987-1999 Carnegie Mellon University
|
|
||||||
All Rights Reserved
|
|
||||||
|
|
||||||
Permission to use, copy, modify and distribute this software and its
|
|
||||||
documentation is hereby granted, provided that both the copyright
|
|
||||||
notice and this permission notice appear in all copies of the
|
|
||||||
software, derivative works or modified versions, and any portions
|
|
||||||
thereof, and that both notices appear in supporting documentation, and
|
|
||||||
that credit is given to Carnegie Mellon University in all documents
|
|
||||||
and publicity pertaining to direct or indirect use of this code or its
|
|
||||||
derivatives.
|
|
||||||
|
|
||||||
CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
|
|
||||||
SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
|
|
||||||
FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
|
|
||||||
DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
|
|
||||||
RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
|
|
||||||
ANY DERIVATIVE WORK.
|
|
||||||
|
|
||||||
Carnegie Mellon encourages users of this software to return any
|
|
||||||
improvements or extensions that they make, and to grant Carnegie
|
|
||||||
Mellon the rights to redistribute these changes without encumbrance.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
*
|
|
||||||
* Based on cfs.h from Mach, but revamped for increased simplicity.
|
|
||||||
* Linux modifications by
|
|
||||||
* Peter Braam, Aug 1996
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _CODA_HEADER_
|
|
||||||
#define _CODA_HEADER_
|
|
||||||
|
|
||||||
#define cdev_t dev_t
|
|
||||||
|
|
||||||
#ifndef __BIT_TYPES_DEFINED__
|
|
||||||
#define __BIT_TYPES_DEFINED__
|
|
||||||
typedef signed char int8_t;
|
|
||||||
typedef unsigned char u_int8_t;
|
|
||||||
typedef short int16_t;
|
|
||||||
typedef unsigned short u_int16_t;
|
|
||||||
typedef int int32_t;
|
|
||||||
typedef unsigned int u_int32_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Cfs constants
|
|
||||||
*/
|
|
||||||
#define CODA_MAXNAMLEN 255
|
|
||||||
#define CODA_MAXPATHLEN 1024
|
|
||||||
#define CODA_MAXSYMLINK 10
|
|
||||||
|
|
||||||
/* these are Coda's version of O_RDONLY etc combinations
|
|
||||||
* to deal with VFS open modes
|
|
||||||
*/
|
|
||||||
#define C_O_READ 0x001
|
|
||||||
#define C_O_WRITE 0x002
|
|
||||||
#define C_O_TRUNC 0x010
|
|
||||||
#define C_O_EXCL 0x100
|
|
||||||
#define C_O_CREAT 0x200
|
|
||||||
|
|
||||||
/* these are to find mode bits in Venus */
|
|
||||||
#define C_M_READ 00400
|
|
||||||
#define C_M_WRITE 00200
|
|
||||||
|
|
||||||
/* for access Venus will use */
|
|
||||||
#define C_A_C_OK 8 /* Test for writing upon create. */
|
|
||||||
#define C_A_R_OK 4 /* Test for read permission. */
|
|
||||||
#define C_A_W_OK 2 /* Test for write permission. */
|
|
||||||
#define C_A_X_OK 1 /* Test for execute permission. */
|
|
||||||
#define C_A_F_OK 0 /* Test for existence. */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _VENUS_DIRENT_T_
|
|
||||||
#define _VENUS_DIRENT_T_ 1
|
|
||||||
struct venus_dirent {
|
|
||||||
u_int32_t d_fileno; /* file number of entry */
|
|
||||||
u_int16_t d_reclen; /* length of this record */
|
|
||||||
u_int8_t d_type; /* file type, see below */
|
|
||||||
u_int8_t d_namlen; /* length of string in d_name */
|
|
||||||
char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */
|
|
||||||
};
|
|
||||||
#undef DIRSIZ
|
|
||||||
#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \
|
|
||||||
(((dp)->d_namlen+1 + 3) &~ 3))
|
|
||||||
|
|
||||||
/*
|
|
||||||
* File types
|
|
||||||
*/
|
|
||||||
#define CDT_UNKNOWN 0
|
|
||||||
#define CDT_FIFO 1
|
|
||||||
#define CDT_CHR 2
|
|
||||||
#define CDT_DIR 4
|
|
||||||
#define CDT_BLK 6
|
|
||||||
#define CDT_REG 8
|
|
||||||
#define CDT_LNK 10
|
|
||||||
#define CDT_SOCK 12
|
|
||||||
#define CDT_WHT 14
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Convert between stat structure types and directory types.
|
|
||||||
*/
|
|
||||||
#define IFTOCDT(mode) (((mode) & 0170000) >> 12)
|
|
||||||
#define CDTTOIF(dirtype) ((dirtype) << 12)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _VUID_T_
|
|
||||||
#define _VUID_T_
|
|
||||||
typedef u_int32_t vuid_t;
|
|
||||||
typedef u_int32_t vgid_t;
|
|
||||||
#endif /*_VUID_T_ */
|
|
||||||
|
|
||||||
struct CodaFid {
|
|
||||||
u_int32_t opaque[4];
|
|
||||||
};
|
|
||||||
|
|
||||||
#define coda_f2i(fid)\
|
|
||||||
(fid ? (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]) : 0)
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef _VENUS_VATTR_T_
|
|
||||||
#define _VENUS_VATTR_T_
|
|
||||||
/*
|
|
||||||
* Vnode types. VNON means no type.
|
|
||||||
*/
|
|
||||||
enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };
|
|
||||||
|
|
||||||
struct coda_vattr {
|
|
||||||
long va_type; /* vnode type (for create) */
|
|
||||||
u_short va_mode; /* files access mode and type */
|
|
||||||
short va_nlink; /* number of references to file */
|
|
||||||
vuid_t va_uid; /* owner user id */
|
|
||||||
vgid_t va_gid; /* owner group id */
|
|
||||||
long va_fileid; /* file id */
|
|
||||||
u_quad_t va_size; /* file size in bytes */
|
|
||||||
long va_blocksize; /* blocksize preferred for i/o */
|
|
||||||
struct timespec va_atime; /* time of last access */
|
|
||||||
struct timespec va_mtime; /* time of last modification */
|
|
||||||
struct timespec va_ctime; /* time file changed */
|
|
||||||
u_long va_gen; /* generation number of file */
|
|
||||||
u_long va_flags; /* flags defined for file */
|
|
||||||
cdev_t va_rdev; /* device special file represents */
|
|
||||||
u_quad_t va_bytes; /* bytes of disk space held by file */
|
|
||||||
u_quad_t va_filerev; /* file modification number */
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* structure used by CODA_STATFS for getting cache information from venus */
|
|
||||||
struct coda_statfs {
|
|
||||||
int32_t f_blocks;
|
|
||||||
int32_t f_bfree;
|
|
||||||
int32_t f_bavail;
|
|
||||||
int32_t f_files;
|
|
||||||
int32_t f_ffree;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Kernel <--> Venus communications.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define CODA_ROOT 2
|
|
||||||
#define CODA_OPEN_BY_FD 3
|
|
||||||
#define CODA_OPEN 4
|
|
||||||
#define CODA_CLOSE 5
|
|
||||||
#define CODA_IOCTL 6
|
|
||||||
#define CODA_GETATTR 7
|
|
||||||
#define CODA_SETATTR 8
|
|
||||||
#define CODA_ACCESS 9
|
|
||||||
#define CODA_LOOKUP 10
|
|
||||||
#define CODA_CREATE 11
|
|
||||||
#define CODA_REMOVE 12
|
|
||||||
#define CODA_LINK 13
|
|
||||||
#define CODA_RENAME 14
|
|
||||||
#define CODA_MKDIR 15
|
|
||||||
#define CODA_RMDIR 16
|
|
||||||
#define CODA_SYMLINK 18
|
|
||||||
#define CODA_READLINK 19
|
|
||||||
#define CODA_FSYNC 20
|
|
||||||
#define CODA_VGET 22
|
|
||||||
#define CODA_SIGNAL 23
|
|
||||||
#define CODA_REPLACE 24 /* DOWNCALL */
|
|
||||||
#define CODA_FLUSH 25 /* DOWNCALL */
|
|
||||||
#define CODA_PURGEUSER 26 /* DOWNCALL */
|
|
||||||
#define CODA_ZAPFILE 27 /* DOWNCALL */
|
|
||||||
#define CODA_ZAPDIR 28 /* DOWNCALL */
|
|
||||||
#define CODA_PURGEFID 30 /* DOWNCALL */
|
|
||||||
#define CODA_OPEN_BY_PATH 31
|
|
||||||
#define CODA_RESOLVE 32
|
|
||||||
#define CODA_REINTEGRATE 33
|
|
||||||
#define CODA_STATFS 34
|
|
||||||
#define CODA_STORE 35
|
|
||||||
#define CODA_RELEASE 36
|
|
||||||
#define CODA_NCALLS 37
|
|
||||||
|
|
||||||
#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
|
|
||||||
|
|
||||||
#define VC_MAXDATASIZE 8192
|
|
||||||
#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\
|
|
||||||
VC_MAXDATASIZE
|
|
||||||
|
|
||||||
#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
|
|
||||||
|
|
||||||
#define CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Venus <-> Coda RPC arguments
|
|
||||||
*/
|
|
||||||
struct coda_in_hdr {
|
|
||||||
u_int32_t opcode;
|
|
||||||
u_int32_t unique; /* Keep multiple outstanding msgs distinct */
|
|
||||||
pid_t pid;
|
|
||||||
pid_t pgid;
|
|
||||||
vuid_t uid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Really important that opcode and unique are 1st two fields! */
|
|
||||||
struct coda_out_hdr {
|
|
||||||
u_int32_t opcode;
|
|
||||||
u_int32_t unique;
|
|
||||||
u_int32_t result;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_root: NO_IN */
|
|
||||||
struct coda_root_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_root_in {
|
|
||||||
struct coda_in_hdr in;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_open: */
|
|
||||||
struct coda_open_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_open_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
cdev_t dev;
|
|
||||||
ino_t inode;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_store: */
|
|
||||||
struct coda_store_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_store_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_release: */
|
|
||||||
struct coda_release_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_release_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_close: */
|
|
||||||
struct coda_close_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_close_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_ioctl: */
|
|
||||||
struct coda_ioctl_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int cmd;
|
|
||||||
int len;
|
|
||||||
int rwflag;
|
|
||||||
char *data; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_ioctl_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
int len;
|
|
||||||
caddr_t data; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_getattr: */
|
|
||||||
struct coda_getattr_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_getattr_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_setattr: NO_OUT */
|
|
||||||
struct coda_setattr_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_setattr_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_access: NO_OUT */
|
|
||||||
struct coda_access_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_access_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* lookup flags */
|
|
||||||
#define CLU_CASE_SENSITIVE 0x01
|
|
||||||
#define CLU_CASE_INSENSITIVE 0x02
|
|
||||||
|
|
||||||
/* coda_lookup: */
|
|
||||||
struct coda_lookup_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int name; /* Place holder for data. */
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_lookup_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int vtype;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_create: */
|
|
||||||
struct coda_create_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
int excl;
|
|
||||||
int mode;
|
|
||||||
int name; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_create_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_remove: NO_OUT */
|
|
||||||
struct coda_remove_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int name; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_remove_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_link: NO_OUT */
|
|
||||||
struct coda_link_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid sourceFid; /* cnode to link *to* */
|
|
||||||
struct CodaFid destFid; /* Directory in which to place link */
|
|
||||||
int tname; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_link_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_rename: NO_OUT */
|
|
||||||
struct coda_rename_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid sourceFid;
|
|
||||||
int srcname;
|
|
||||||
struct CodaFid destFid;
|
|
||||||
int destname;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_rename_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_mkdir: */
|
|
||||||
struct coda_mkdir_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
int name; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_mkdir_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_rmdir: NO_OUT */
|
|
||||||
struct coda_rmdir_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int name; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_rmdir_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_symlink: NO_OUT */
|
|
||||||
struct coda_symlink_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid; /* Directory to put symlink in */
|
|
||||||
int srcname;
|
|
||||||
struct coda_vattr attr;
|
|
||||||
int tname;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_symlink_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_readlink: */
|
|
||||||
struct coda_readlink_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_readlink_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
int count;
|
|
||||||
caddr_t data; /* Place holder for data. */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* coda_fsync: NO_OUT */
|
|
||||||
struct coda_fsync_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_fsync_out {
|
|
||||||
struct coda_out_hdr out;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_vget: */
|
|
||||||
struct coda_vget_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_vget_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int vtype;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* CODA_SIGNAL is out-of-band, doesn't need data. */
|
|
||||||
/* CODA_INVALIDATE is a venus->kernel call */
|
|
||||||
/* CODA_FLUSH is a venus->kernel call */
|
|
||||||
|
|
||||||
/* coda_purgeuser: */
|
|
||||||
/* CODA_PURGEUSER is a venus->kernel call */
|
|
||||||
struct coda_purgeuser_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
vuid_t uid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_zapfile: */
|
|
||||||
/* CODA_ZAPFILE is a venus->kernel call */
|
|
||||||
struct coda_zapfile_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid CodaFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_zapdir: */
|
|
||||||
/* CODA_ZAPDIR is a venus->kernel call */
|
|
||||||
struct coda_zapdir_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid CodaFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_purgefid: */
|
|
||||||
/* CODA_PURGEFID is a venus->kernel call */
|
|
||||||
struct coda_purgefid_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid CodaFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_replace: */
|
|
||||||
/* CODA_REPLACE is a venus->kernel call */
|
|
||||||
struct coda_replace_out { /* coda_replace is a venus->kernel call */
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct CodaFid NewFid;
|
|
||||||
struct CodaFid OldFid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_open_by_fd: */
|
|
||||||
struct coda_open_by_fd_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_open_by_fd_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
int fd;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_open_by_path: */
|
|
||||||
struct coda_open_by_path_in {
|
|
||||||
struct coda_in_hdr ih;
|
|
||||||
struct CodaFid VFid;
|
|
||||||
int flags;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_open_by_path_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
int path;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* coda_statfs: NO_IN */
|
|
||||||
struct coda_statfs_in {
|
|
||||||
struct coda_in_hdr in;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct coda_statfs_out {
|
|
||||||
struct coda_out_hdr oh;
|
|
||||||
struct coda_statfs stat;
|
|
||||||
};
|
|
||||||
|
|
||||||
union inputArgs {
|
|
||||||
struct coda_in_hdr ih; /* NB: every struct below begins with an ih */
|
|
||||||
struct coda_open_in coda_open;
|
|
||||||
struct coda_store_in coda_store;
|
|
||||||
struct coda_release_in coda_release;
|
|
||||||
struct coda_close_in coda_close;
|
|
||||||
struct coda_ioctl_in coda_ioctl;
|
|
||||||
struct coda_getattr_in coda_getattr;
|
|
||||||
struct coda_setattr_in coda_setattr;
|
|
||||||
struct coda_access_in coda_access;
|
|
||||||
struct coda_lookup_in coda_lookup;
|
|
||||||
struct coda_create_in coda_create;
|
|
||||||
struct coda_remove_in coda_remove;
|
|
||||||
struct coda_link_in coda_link;
|
|
||||||
struct coda_rename_in coda_rename;
|
|
||||||
struct coda_mkdir_in coda_mkdir;
|
|
||||||
struct coda_rmdir_in coda_rmdir;
|
|
||||||
struct coda_symlink_in coda_symlink;
|
|
||||||
struct coda_readlink_in coda_readlink;
|
|
||||||
struct coda_fsync_in coda_fsync;
|
|
||||||
struct coda_vget_in coda_vget;
|
|
||||||
struct coda_open_by_fd_in coda_open_by_fd;
|
|
||||||
struct coda_open_by_path_in coda_open_by_path;
|
|
||||||
struct coda_statfs_in coda_statfs;
|
|
||||||
};
|
|
||||||
|
|
||||||
union outputArgs {
|
|
||||||
struct coda_out_hdr oh; /* NB: every struct below begins with an oh */
|
|
||||||
struct coda_root_out coda_root;
|
|
||||||
struct coda_open_out coda_open;
|
|
||||||
struct coda_ioctl_out coda_ioctl;
|
|
||||||
struct coda_getattr_out coda_getattr;
|
|
||||||
struct coda_lookup_out coda_lookup;
|
|
||||||
struct coda_create_out coda_create;
|
|
||||||
struct coda_mkdir_out coda_mkdir;
|
|
||||||
struct coda_readlink_out coda_readlink;
|
|
||||||
struct coda_vget_out coda_vget;
|
|
||||||
struct coda_purgeuser_out coda_purgeuser;
|
|
||||||
struct coda_zapfile_out coda_zapfile;
|
|
||||||
struct coda_zapdir_out coda_zapdir;
|
|
||||||
struct coda_purgefid_out coda_purgefid;
|
|
||||||
struct coda_replace_out coda_replace;
|
|
||||||
struct coda_open_by_fd_out coda_open_by_fd;
|
|
||||||
struct coda_open_by_path_out coda_open_by_path;
|
|
||||||
struct coda_statfs_out coda_statfs;
|
|
||||||
};
|
|
||||||
|
|
||||||
union coda_downcalls {
|
|
||||||
/* CODA_INVALIDATE is a venus->kernel call */
|
|
||||||
/* CODA_FLUSH is a venus->kernel call */
|
|
||||||
struct coda_purgeuser_out purgeuser;
|
|
||||||
struct coda_zapfile_out zapfile;
|
|
||||||
struct coda_zapdir_out zapdir;
|
|
||||||
struct coda_purgefid_out purgefid;
|
|
||||||
struct coda_replace_out replace;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/* Data passed to mount */
|
|
||||||
|
|
||||||
#define CODA_MOUNT_VERSION 1
|
|
||||||
|
|
||||||
struct coda_mount_data {
|
|
||||||
int version;
|
|
||||||
int fd; /* Opened device */
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
824
src/dav_coda.c
824
src/dav_coda.c
@ -1,824 +0,0 @@
|
|||||||
/* dav_coda.c: interface to the Coda kernel module CODA_KERNEL_VERSION 3.
|
|
||||||
Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann
|
|
||||||
|
|
||||||
This file is part of davfs2.
|
|
||||||
|
|
||||||
davfs2 is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
davfs2 is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with davfs2; if not, write to the Free Software Foundation,
|
|
||||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
|
|
||||||
|
|
||||||
|
|
||||||
#include "config.h"
|
|
||||||
|
|
||||||
#include <errno.h>
|
|
||||||
#ifdef HAVE_FCNTL_H
|
|
||||||
#include <fcntl.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_LIBINTL_H
|
|
||||||
#include <libintl.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_LIMITS_H
|
|
||||||
#include <limits.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_STDDEF_H
|
|
||||||
#include <stddef.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_STDINT_H
|
|
||||||
#include <stdint.h>
|
|
||||||
#endif
|
|
||||||
#include <stdio.h>
|
|
||||||
#ifdef HAVE_STDLIB_H
|
|
||||||
#include <stdlib.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_STRING_H
|
|
||||||
#include <string.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYSLOG_H
|
|
||||||
#include <syslog.h>
|
|
||||||
#endif
|
|
||||||
#include <time.h>
|
|
||||||
#ifdef HAVE_UNISTD_H
|
|
||||||
#include <unistd.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_SYS_STAT_H
|
|
||||||
#include <sys/stat.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_TIME_H
|
|
||||||
#include <sys/time.h>
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_SYS_TYPES_H
|
|
||||||
#include <sys/types.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <ne_ssl.h>
|
|
||||||
|
|
||||||
#include "defaults.h"
|
|
||||||
#include "mount_davfs.h"
|
|
||||||
#include "cache.h"
|
|
||||||
#include "kernel_interface.h"
|
|
||||||
#include "coda.h"
|
|
||||||
|
|
||||||
#ifdef ENABLE_NLS
|
|
||||||
#define _(String) gettext(String)
|
|
||||||
#else
|
|
||||||
#define _(String) String
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Constants */
|
|
||||||
/*===========*/
|
|
||||||
|
|
||||||
/* Size of buffer for communication with the kernel module. */
|
|
||||||
#define BUF_SIZE 2048
|
|
||||||
|
|
||||||
/* This constants are used by davfs2 to fill fields of struct CodaFid that
|
|
||||||
are not used by davfs2, but are expected by coda. */
|
|
||||||
#define DAV_VOL 0x01234567
|
|
||||||
#define DAV_VNODE 0xffffffff
|
|
||||||
|
|
||||||
|
|
||||||
/* Private global variables */
|
|
||||||
/*==========================*/
|
|
||||||
|
|
||||||
/* Buffer used for communication with the kernel module (in and out). */
|
|
||||||
static char *buf;
|
|
||||||
|
|
||||||
/* The preferred blocksize used by the local filesystem for cache files.
|
|
||||||
Used by set_attr(). */
|
|
||||||
static unsigned int blocksize;
|
|
||||||
|
|
||||||
/* Alignment boundary of dav_node in byte.
|
|
||||||
Used to compute file numbers from node pointers. */
|
|
||||||
static size_t alignment;
|
|
||||||
|
|
||||||
/* Send debug messages to syslog if != 0. */
|
|
||||||
int debug;
|
|
||||||
|
|
||||||
|
|
||||||
/* Private function prototypes */
|
|
||||||
/*=============================*/
|
|
||||||
|
|
||||||
/* Functions to handle upcalls fromthe kernel module. */
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_access(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_close(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_create(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_getattr(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_lookup(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_mkdir(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_open_by_fd(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_root(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_setattr(void);
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_statfs(void);
|
|
||||||
|
|
||||||
/* Functions that will do a downcall to the kernel module. */
|
|
||||||
|
|
||||||
static void
|
|
||||||
coda_flush(int device);
|
|
||||||
|
|
||||||
/* Auxiliary functions. */
|
|
||||||
|
|
||||||
static off_t
|
|
||||||
write_dir_entry(int fd, off_t off, const dav_node *node, const char *name);
|
|
||||||
|
|
||||||
static void
|
|
||||||
set_attr(struct coda_vattr *attr, const dav_node *node);
|
|
||||||
|
|
||||||
|
|
||||||
/* Public functions */
|
|
||||||
/*==================*/
|
|
||||||
|
|
||||||
void
|
|
||||||
dav_coda_loop(int device, size_t bufsize, time_t idle_time,
|
|
||||||
dav_is_mounted_fn is_mounted, volatile int *keep_on_running,
|
|
||||||
int dbg)
|
|
||||||
{
|
|
||||||
debug = dbg;
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "coda kernel version 3");
|
|
||||||
|
|
||||||
buf = malloc(BUF_SIZE);
|
|
||||||
if (!buf) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_ERR),
|
|
||||||
_("can't allocate message buffer"));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
static int flush = 0;
|
|
||||||
alignment = dav_register_kernel_interface(&write_dir_entry, &flush,
|
|
||||||
&blocksize);
|
|
||||||
|
|
||||||
struct timeval tv;
|
|
||||||
tv.tv_sec = idle_time;
|
|
||||||
tv.tv_usec = 0;
|
|
||||||
time_t last_tidy_cache = time(NULL);
|
|
||||||
|
|
||||||
while (*keep_on_running) {
|
|
||||||
|
|
||||||
fd_set fds;
|
|
||||||
FD_ZERO(&fds);
|
|
||||||
FD_SET(device, &fds);
|
|
||||||
int ret = select(device + 1, &fds, NULL, NULL, &tv);
|
|
||||||
|
|
||||||
if (ret > 0) {
|
|
||||||
ssize_t bytes_read = read(device, buf, BUF_SIZE);
|
|
||||||
if (bytes_read <= 0) {
|
|
||||||
if (bytes_read == 0 || errno == EINTR || errno == EAGAIN) {
|
|
||||||
if (time(NULL) < (last_tidy_cache + idle_time)) {
|
|
||||||
tv.tv_sec = last_tidy_cache + idle_time - time(NULL);
|
|
||||||
} else {
|
|
||||||
tv.tv_sec = 0;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} else if (ret == 0) {
|
|
||||||
if (!is_mounted())
|
|
||||||
break;
|
|
||||||
if (dav_tidy_cache() == 0) {
|
|
||||||
tv.tv_sec = idle_time;
|
|
||||||
last_tidy_cache = time(NULL);
|
|
||||||
} else {
|
|
||||||
tv.tv_sec = 0;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
} else {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
uint32_t len;
|
|
||||||
switch (ih->opcode) {
|
|
||||||
case CODA_ROOT:
|
|
||||||
len = coda_root();
|
|
||||||
break;
|
|
||||||
case CODA_OPEN_BY_FD:
|
|
||||||
len = coda_open_by_fd();
|
|
||||||
break;
|
|
||||||
case CODA_OPEN:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_OPEN:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_CLOSE:
|
|
||||||
len = coda_close();
|
|
||||||
last_tidy_cache = 0;
|
|
||||||
break;
|
|
||||||
case CODA_IOCTL:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_IOCTL:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_GETATTR:
|
|
||||||
len = coda_getattr();
|
|
||||||
break;
|
|
||||||
case CODA_SETATTR:
|
|
||||||
len = coda_setattr();
|
|
||||||
break;
|
|
||||||
case CODA_ACCESS:
|
|
||||||
len = coda_access();
|
|
||||||
break;
|
|
||||||
case CODA_LOOKUP:
|
|
||||||
len = coda_lookup();
|
|
||||||
break;
|
|
||||||
case CODA_CREATE:
|
|
||||||
len = coda_create();
|
|
||||||
break;
|
|
||||||
case CODA_REMOVE: {
|
|
||||||
struct coda_remove_in *in = (struct coda_remove_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_REMOVE:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p %p, %s", node,
|
|
||||||
buf + in->name);
|
|
||||||
}
|
|
||||||
oh->result = dav_remove(node, buf + in->name, ih->uid);
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break; }
|
|
||||||
case CODA_LINK:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_LINK:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_RENAME: {
|
|
||||||
struct coda_rename_in *in = (struct coda_rename_in *) buf;
|
|
||||||
dav_node *src = *((dav_node **) &(in->sourceFid.opaque[2]));
|
|
||||||
dav_node *dst = *((dav_node **) &(in->destFid.opaque[2]));
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_RENAME:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " sp %p, %s", src,
|
|
||||||
buf + in->srcname);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " dp %p, %s", dst,
|
|
||||||
buf + in->destname);
|
|
||||||
}
|
|
||||||
oh->result = dav_rename(src, buf + in->srcname, dst,
|
|
||||||
buf + in->destname, ih->uid);
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break; }
|
|
||||||
case CODA_MKDIR:
|
|
||||||
len = coda_mkdir();
|
|
||||||
break;
|
|
||||||
case CODA_RMDIR: {
|
|
||||||
struct coda_rmdir_in *in = (struct coda_rmdir_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_RMDIR:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p %p, %s", node,
|
|
||||||
buf + in->name);
|
|
||||||
}
|
|
||||||
oh->result = dav_rmdir(node, buf + in->name, ih->uid);
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break; }
|
|
||||||
case CODA_SYMLINK:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_SYMLINK:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_READLINK:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_READLINK:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_FSYNC: {
|
|
||||||
struct coda_fsync_in *in = (struct coda_fsync_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_FSYNC:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p", node);
|
|
||||||
}
|
|
||||||
oh->result = dav_sync(node);
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break; }
|
|
||||||
case CODA_VGET:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_VGET:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_OPEN_BY_PATH:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
|
||||||
"CODA_OPEN_BY_PATH:");
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
case CODA_STATFS:
|
|
||||||
len = coda_statfs();
|
|
||||||
break;
|
|
||||||
case CODA_STORE: {
|
|
||||||
struct coda_store_in *in = (struct coda_store_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_STORE:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p, f 0x%x",
|
|
||||||
node, in->flags);
|
|
||||||
}
|
|
||||||
oh->result = dav_sync(node);
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break; }
|
|
||||||
case CODA_RELEASE:
|
|
||||||
len = coda_close();
|
|
||||||
last_tidy_cache = 0;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
|
||||||
"UNKNOWN CODA CALL %u", ih->opcode);
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
len = sizeof(struct coda_out_hdr);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "RET: %s",
|
|
||||||
strerror(oh->result));
|
|
||||||
|
|
||||||
ssize_t n = 0;
|
|
||||||
ssize_t w = 0;
|
|
||||||
while (n < len && w >= 0) {
|
|
||||||
w = write(device, buf + n, len - n);
|
|
||||||
n += w;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (time(NULL) < (last_tidy_cache + idle_time)) {
|
|
||||||
tv.tv_sec = last_tidy_cache + idle_time - time(NULL);
|
|
||||||
} else {
|
|
||||||
dav_tidy_cache();
|
|
||||||
tv.tv_sec = idle_time;
|
|
||||||
last_tidy_cache = time(NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (flush) {
|
|
||||||
coda_flush(device);
|
|
||||||
flush = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Private functions */
|
|
||||||
/*===================*/
|
|
||||||
|
|
||||||
/* Functions to handle upcalls fromthe kernel module.
|
|
||||||
The cache module only uses data types from the C-library. For file access,
|
|
||||||
mode and the like it only uses symbolic constants defined in the C-library.
|
|
||||||
So the main porpose of this functions is to translate from kernel specific
|
|
||||||
types and constants to types and constants from the C-library, and back.
|
|
||||||
All of this functions return the amount of data in buf that is to be
|
|
||||||
send to the kernel module. */
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_access(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_access_in *in = (struct coda_access_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_ACCESS:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p, f %x",
|
|
||||||
node, in->flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
int how = (in->flags & C_A_R_OK) ? R_OK : 0;
|
|
||||||
how |= (in->flags & C_A_W_OK) ? W_OK : 0;
|
|
||||||
how |= (in->flags & C_A_X_OK) ? X_OK : 0;
|
|
||||||
how |= (in->flags & C_A_F_OK) ? F_OK : 0;
|
|
||||||
|
|
||||||
oh->result = dav_access(node, ih->uid, how);
|
|
||||||
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_close(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_close_in *in = (struct coda_close_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
if (debug) {
|
|
||||||
if (ih->opcode == CODA_CLOSE) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_CLOSE:");
|
|
||||||
} else {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_RELEASE:");
|
|
||||||
}
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p, f %x",
|
|
||||||
node, in->flags);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, pgid %i",
|
|
||||||
ih->pid, ih->pgid);
|
|
||||||
}
|
|
||||||
|
|
||||||
int flags = 0;
|
|
||||||
if ((in->flags & C_O_READ) && (in->flags & C_O_WRITE)) {
|
|
||||||
flags = O_RDWR;
|
|
||||||
} else if (in->flags & C_O_READ) {
|
|
||||||
flags = O_RDONLY;
|
|
||||||
} else if (in->flags & C_O_WRITE) {
|
|
||||||
flags = O_WRONLY;
|
|
||||||
}
|
|
||||||
|
|
||||||
oh->result = dav_close(node, 0, flags, ih->pid, ih->pgid);
|
|
||||||
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_create(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_create_in *in = (struct coda_create_in *) buf;
|
|
||||||
dav_node *parent = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_create_out *out = (struct coda_create_out *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_CREATE:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p %p, m %o",
|
|
||||||
parent, in->mode);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " %s", buf + in->name);
|
|
||||||
}
|
|
||||||
|
|
||||||
dav_node *node = NULL;
|
|
||||||
oh->result = dav_create(&node, parent, buf + in->name, ih->uid,
|
|
||||||
in->mode & DAV_A_MASK);
|
|
||||||
|
|
||||||
if (oh->result || !node) {
|
|
||||||
if (!oh->result)
|
|
||||||
oh->result = EIO;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
out->VFid.opaque[0] = DAV_VOL;
|
|
||||||
out->VFid.opaque[1] = DAV_VNODE;
|
|
||||||
out->VFid.opaque[3] = 0;
|
|
||||||
*((dav_node **) &(out->VFid.opaque[2])) = node;
|
|
||||||
set_attr(&out->attr, node);
|
|
||||||
|
|
||||||
return sizeof(struct coda_create_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_getattr(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_getattr_in *in = (struct coda_getattr_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_getattr_out *out = (struct coda_getattr_out *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_GETATTR:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p", node);
|
|
||||||
}
|
|
||||||
|
|
||||||
oh->result = dav_getattr(node, ih->uid);
|
|
||||||
|
|
||||||
if (oh->result)
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
|
|
||||||
set_attr(&out->attr, node);
|
|
||||||
|
|
||||||
return sizeof(struct coda_getattr_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_lookup(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_lookup_in *in = (struct coda_lookup_in *) buf;
|
|
||||||
dav_node *parent = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_lookup_out *out = (struct coda_lookup_out *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_LOOKUP:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p %p, %s", parent,
|
|
||||||
buf + in->name);
|
|
||||||
}
|
|
||||||
|
|
||||||
dav_node *node = NULL;
|
|
||||||
oh->result = dav_lookup(&node, parent, buf + in->name, ih->uid);
|
|
||||||
|
|
||||||
if (oh->result || !node) {
|
|
||||||
if (!oh->result)
|
|
||||||
oh->result = EIO;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
out->VFid.opaque[0] = DAV_VOL;
|
|
||||||
out->VFid.opaque[1] = DAV_VNODE;
|
|
||||||
out->VFid.opaque[3] = 0;
|
|
||||||
*((dav_node **) &(out->VFid.opaque[2])) = node;
|
|
||||||
out->vtype = (node->mode & S_IFDIR) ? CDT_DIR : CDT_REG;
|
|
||||||
|
|
||||||
return sizeof(struct coda_lookup_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_mkdir(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_mkdir_in *in = (struct coda_mkdir_in *) buf;
|
|
||||||
dav_node *parent = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_mkdir_out *out = (struct coda_mkdir_out *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_MKDIR:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " p %p, %s", parent,
|
|
||||||
buf + in->name);
|
|
||||||
}
|
|
||||||
|
|
||||||
dav_node *node = NULL;
|
|
||||||
oh->result = dav_mkdir(&node, parent, buf + in->name, ih->uid,
|
|
||||||
in->attr.va_mode & DAV_A_MASK);
|
|
||||||
|
|
||||||
if (oh->result || !node) {
|
|
||||||
if (!oh->result)
|
|
||||||
oh->result = EIO;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
out->VFid.opaque[0] = DAV_VOL;
|
|
||||||
out->VFid.opaque[1] = DAV_VNODE;
|
|
||||||
out->VFid.opaque[3] = 0;
|
|
||||||
*((dav_node **) &(out->VFid.opaque[2])) = node;
|
|
||||||
set_attr(&out->attr, node);
|
|
||||||
|
|
||||||
return sizeof(struct coda_mkdir_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_open_by_fd(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_open_by_fd_in *in = (struct coda_open_by_fd_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_open_by_fd_out *out = (struct coda_open_by_fd_out *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_OPEN_BY_FD:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p, f %x", node,
|
|
||||||
in->flags);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " pid %i, pgid %i",
|
|
||||||
ih->pid, ih->pgid);
|
|
||||||
}
|
|
||||||
|
|
||||||
int flags = 0;
|
|
||||||
if ((in->flags & C_O_READ) && (in->flags & C_O_WRITE)) {
|
|
||||||
flags = O_RDWR;
|
|
||||||
} else if (in->flags & C_O_READ) {
|
|
||||||
flags = O_RDONLY;
|
|
||||||
} else if (in->flags & C_O_WRITE) {
|
|
||||||
flags = O_WRONLY;
|
|
||||||
}
|
|
||||||
flags |= (in->flags & C_O_TRUNC) ? O_TRUNC : 0;
|
|
||||||
|
|
||||||
oh->result = dav_open(&out->fd, node, flags, ih->pid, ih->pgid, ih->uid, 0);
|
|
||||||
|
|
||||||
if (oh->result || !out->fd) {
|
|
||||||
if (!oh->result)
|
|
||||||
oh->result = EIO;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
return sizeof(struct coda_open_by_fd_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_root(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_root_out *out = (struct coda_root_out *) buf;
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_ROOT:");
|
|
||||||
|
|
||||||
dav_node *node = NULL;
|
|
||||||
oh->result = dav_root(&node, ih->uid);
|
|
||||||
|
|
||||||
if (oh->result || !node) {
|
|
||||||
if (!oh->result)
|
|
||||||
oh->result = EIO;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
out->VFid.opaque[0] = DAV_VOL;
|
|
||||||
out->VFid.opaque[1] = DAV_VNODE;
|
|
||||||
out->VFid.opaque[3] = 0;
|
|
||||||
*((dav_node **) &(out->VFid.opaque[2])) = node;
|
|
||||||
|
|
||||||
return sizeof(struct coda_root_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_setattr(void)
|
|
||||||
{
|
|
||||||
struct coda_in_hdr *ih = (struct coda_in_hdr *) buf;
|
|
||||||
struct coda_setattr_in *in = (struct coda_setattr_in *) buf;
|
|
||||||
dav_node *node = *((dav_node **) &(in->VFid.opaque[2]));
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
if (debug) {
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_SETATTR:");
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " n %p, m %o", node,
|
|
||||||
in->attr.va_mode);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " uid: %i, gid: %i",
|
|
||||||
in->attr.va_uid, in->attr.va_gid);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " at %li, mt %li",
|
|
||||||
in->attr.va_atime.tv_sec, in->attr.va_mtime.tv_sec);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " ct %li, sz %llu",
|
|
||||||
in->attr.va_ctime.tv_sec, in->attr.va_size);
|
|
||||||
}
|
|
||||||
|
|
||||||
oh->result = dav_setattr(node, ih->uid, in->attr.va_mode != USHRT_MAX,
|
|
||||||
in->attr.va_mode & DAV_A_MASK,
|
|
||||||
in->attr.va_uid != UINT32_MAX, in->attr.va_uid,
|
|
||||||
in->attr.va_gid != UINT32_MAX, in->attr.va_gid,
|
|
||||||
in->attr.va_atime.tv_sec != -1,
|
|
||||||
in->attr.va_atime.tv_sec,
|
|
||||||
in->attr.va_mtime.tv_sec != -1,
|
|
||||||
in->attr.va_mtime.tv_sec,
|
|
||||||
in->attr.va_size != UINT64_MAX,
|
|
||||||
in->attr.va_size);
|
|
||||||
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static uint32_t
|
|
||||||
coda_statfs(void)
|
|
||||||
{
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
struct coda_statfs_out *out = (struct coda_statfs_out *) buf;
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "CODA_STATFS:");
|
|
||||||
|
|
||||||
dav_stat *st = dav_statfs();
|
|
||||||
if (!st) {
|
|
||||||
oh->result = ENOSYS;
|
|
||||||
return sizeof(struct coda_out_hdr);
|
|
||||||
}
|
|
||||||
|
|
||||||
out->stat.f_blocks = st->blocks;
|
|
||||||
out->stat.f_bfree = st->bfree;
|
|
||||||
out->stat.f_bavail = st->bavail;
|
|
||||||
out->stat.f_files = st->files;
|
|
||||||
out->stat.f_ffree = st->ffree;
|
|
||||||
|
|
||||||
oh->result = 0;
|
|
||||||
return sizeof(struct coda_statfs_out);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Functions that will do a downcall to the kernel module. */
|
|
||||||
|
|
||||||
/* Downcall to inform the kernel that nodes have been added or removed. */
|
|
||||||
static void
|
|
||||||
coda_flush(int device)
|
|
||||||
{
|
|
||||||
struct coda_out_hdr *oh = (struct coda_out_hdr *) buf;
|
|
||||||
if (debug)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), " CODA_FLUSH:");
|
|
||||||
|
|
||||||
oh->opcode = CODA_FLUSH;
|
|
||||||
oh->unique = 0;
|
|
||||||
oh->result = 0;
|
|
||||||
|
|
||||||
ssize_t n = 0;
|
|
||||||
ssize_t w = 0;
|
|
||||||
while (n < sizeof(struct coda_out_hdr) && w >= 0) {
|
|
||||||
w = write(device, buf + n, sizeof(struct coda_out_hdr) - n);
|
|
||||||
n += w;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Auxiliary functions. */
|
|
||||||
|
|
||||||
/* Writes a struct venus_dirent to file with file descriptor fd.
|
|
||||||
fd : An open file descriptor to write to.
|
|
||||||
off : The current file size.
|
|
||||||
name : File name; if NULL, the last, empty entry is written.
|
|
||||||
return value : New size of the file. -1 in case of an error. */
|
|
||||||
static off_t
|
|
||||||
write_dir_entry(int fd, off_t off, const dav_node *node, const char *name)
|
|
||||||
{
|
|
||||||
struct venus_dirent entry;
|
|
||||||
size_t head = offsetof(struct venus_dirent, d_name);
|
|
||||||
|
|
||||||
if (name) {
|
|
||||||
entry.d_fileno = (size_t) node / alignment;
|
|
||||||
entry.d_type = (S_ISDIR(node->mode)) ? CDT_DIR : CDT_REG;
|
|
||||||
entry.d_namlen = (strlen(name) > CODA_MAXNAMLEN)
|
|
||||||
? CODA_MAXNAMLEN : strlen(name);
|
|
||||||
entry.d_reclen = (head + entry.d_namlen +4) & ~3;
|
|
||||||
} else {
|
|
||||||
entry.d_fileno = 0;
|
|
||||||
entry.d_type = 0;
|
|
||||||
entry.d_namlen = 0;
|
|
||||||
entry.d_reclen = (head + 4) & ~3;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t size = 0;
|
|
||||||
ssize_t ret = 0;
|
|
||||||
while (ret >= 0 && size < head) {
|
|
||||||
ret = write(fd, (char *) &entry + size, head - size);
|
|
||||||
size += ret;
|
|
||||||
}
|
|
||||||
if (size != head)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
while (ret >= 0 && size < (head + entry.d_namlen)) {
|
|
||||||
ret = write(fd, name + size - head, entry.d_namlen - size + head);
|
|
||||||
size += ret;
|
|
||||||
}
|
|
||||||
if (size != (head + entry.d_namlen))
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
ret = 0;
|
|
||||||
while (ret >= 0 && size < entry.d_reclen) {
|
|
||||||
ret = write(fd, "\0", 1);
|
|
||||||
size += ret;
|
|
||||||
}
|
|
||||||
if (size != entry.d_reclen)
|
|
||||||
return -1;
|
|
||||||
|
|
||||||
return off + entry.d_reclen;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Translates attribute from node to attr.
|
|
||||||
Note: Members va_fileid, v_gen, va_flags, va_rdev and va_filerev have no
|
|
||||||
meaning for davfs. va_fileid is treated like d_fileno in struct venus_dirent,
|
|
||||||
the other are set to zero. The meaning of va_type is not clear at all.
|
|
||||||
Times are only set with 1 second precision, as this is the precision of the
|
|
||||||
last-modified time in HTTP. */
|
|
||||||
static void
|
|
||||||
set_attr(struct coda_vattr *attr, const dav_node *node)
|
|
||||||
{
|
|
||||||
attr->va_type = 0;
|
|
||||||
attr->va_mode = node->mode;
|
|
||||||
if (S_ISDIR(node->mode)) {
|
|
||||||
attr->va_nlink = node->nref;
|
|
||||||
} else {
|
|
||||||
attr->va_nlink = 1;
|
|
||||||
}
|
|
||||||
attr->va_uid = node->uid;
|
|
||||||
attr->va_gid = node->gid;
|
|
||||||
attr->va_fileid = (size_t) node / alignment;
|
|
||||||
attr->va_size = node->size;
|
|
||||||
attr->va_blocksize = blocksize;
|
|
||||||
attr->va_atime.tv_sec = node->atime;
|
|
||||||
attr->va_atime.tv_nsec = 0;
|
|
||||||
attr->va_mtime.tv_sec = node->mtime;
|
|
||||||
attr->va_mtime.tv_nsec = 0;
|
|
||||||
attr->va_ctime.tv_sec = node->ctime;
|
|
||||||
attr->va_ctime.tv_nsec = 0;
|
|
||||||
attr->va_gen = 0;
|
|
||||||
attr->va_flags = 0;
|
|
||||||
attr->va_rdev = 0;
|
|
||||||
attr->va_bytes = node->size;
|
|
||||||
attr->va_filerev = 0;
|
|
||||||
}
|
|
1137
src/dav_fuse.c
1137
src/dav_fuse.c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -22,29 +22,6 @@
|
|||||||
#define DAV_KERNEL_INTERFACE_H
|
#define DAV_KERNEL_INTERFACE_H
|
||||||
|
|
||||||
|
|
||||||
/* Function type definitions */
|
|
||||||
/*===========================*/
|
|
||||||
|
|
||||||
/* Call back function to be passed to dav_init_kernel_interface(). Will be
|
|
||||||
called to see whether the file system is still mounted.
|
|
||||||
return value : 1 is mounted, 0 is not mounted. */
|
|
||||||
typedef int (*dav_is_mounted_fn)(void);
|
|
||||||
|
|
||||||
|
|
||||||
/* Typedef of the message loop of the specific kernel interfaces. The real
|
|
||||||
function will be returned by dav_init_kernel_interface().
|
|
||||||
device : File descriptor of the open fuse device.
|
|
||||||
buf_size : Size of the buffer for communication with the kernel
|
|
||||||
module.
|
|
||||||
idle_t : Time to wait for upcalls before calling dav_tidy_cache().
|
|
||||||
is_mounted_fn : Call back function to check of still mounted.
|
|
||||||
keep_on_running : Pointer to run flag.
|
|
||||||
dbg : send debug messages to syslog if dbg != 0 */
|
|
||||||
typedef void (*dav_run_msgloop_fn)(int device, size_t bufsize, time_t idle_time,
|
|
||||||
dav_is_mounted_fn is_mounted,
|
|
||||||
volatile int *keep_on_running, int dbg);
|
|
||||||
|
|
||||||
|
|
||||||
/* Function prototypes */
|
/* Function prototypes */
|
||||||
/*=====================*/
|
/*=====================*/
|
||||||
|
|
||||||
@ -52,45 +29,18 @@ typedef void (*dav_run_msgloop_fn)(int device, size_t bufsize, time_t idle_time,
|
|||||||
mounts the file system and updates the interface data (dev,
|
mounts the file system and updates the interface data (dev,
|
||||||
dav_ran_msgloop_fn, mdata, kernel_fs and buf_size).
|
dav_ran_msgloop_fn, mdata, kernel_fs and buf_size).
|
||||||
In case of an error it prints an error message and terminates the program.
|
In case of an error it prints an error message and terminates the program.
|
||||||
dev : File descriptor of the open device for communication with the
|
|
||||||
kernel file system.
|
|
||||||
msg_loop : The specific message loop function that will process the kernel
|
|
||||||
upcalls.
|
|
||||||
mdata : That mount data that will be passed to the mount function.
|
|
||||||
kernel_fs : Type of the kernel file system to us (fuse or coda). If this
|
|
||||||
does not work, the other file system will be tried. The name
|
|
||||||
of the file system that is really used is returned.
|
|
||||||
If NULL, fuse is tried first.
|
|
||||||
buf_size : Size of the buffer for communication with the kernel file system
|
|
||||||
(fuse only). The size passed to this function is checked against
|
|
||||||
the requirements of the kernel fs and updated if necessary.
|
|
||||||
url : Server url.
|
url : Server url.
|
||||||
mpoint : Mount point.
|
mpoint : Mount point.
|
||||||
mopts : Mount options.
|
args : arguments. */
|
||||||
owner : The owner of the file system (fuse only).
|
void
|
||||||
group : Group the file system belongs to (fuse only).
|
dav_init_kernel_interface(const char *url, const char *mpoint,
|
||||||
mode : Mode of the root node (fuse only).
|
const dav_args *args);
|
||||||
return value : 0: the file system has not yet been mounted
|
|
||||||
1: the file system has been mounted successfully. */
|
|
||||||
int
|
|
||||||
dav_init_kernel_interface(int *dev, dav_run_msgloop_fn *msg_loop, void **mdata,
|
|
||||||
char **kernel_fs, size_t *buf_size, const char *url,
|
|
||||||
const char *mpoint, const dav_args *args);
|
|
||||||
|
|
||||||
|
|
||||||
/* Message loop for coda kernel module CODA_KERNEL_VERSION 3.
|
|
||||||
Parameters see dav_run_msgloop_fn(). */
|
|
||||||
void dav_coda_loop(int device, size_t bufsize, time_t idle_time,
|
|
||||||
dav_is_mounted_fn is_mounted,
|
|
||||||
volatile int *keep_on_running, int dbg);
|
|
||||||
|
|
||||||
|
|
||||||
/* Message loop for fuse kernel module with major number 7.
|
/* Message loop for fuse kernel module with major number 7.
|
||||||
Parameters see dav_run_msgloop_fn(). */
|
keep_on_running : Pointer to run flag. */
|
||||||
void
|
void
|
||||||
dav_fuse_loop(int device, size_t bufsize, time_t idle_time,
|
dav_run_msgloop(volatile int *keep_on_running);
|
||||||
dav_is_mounted_fn is_mounted, volatile int *keep_on_running,
|
|
||||||
int dbg);
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* DAV_KERNEL_INTERFACE_H */
|
#endif /* DAV_KERNEL_INTERFACE_H */
|
||||||
|
@ -102,9 +102,6 @@ static char *url;
|
|||||||
/* The canonicalized mointpoint. */
|
/* The canonicalized mointpoint. */
|
||||||
static char *mpoint;
|
static char *mpoint;
|
||||||
|
|
||||||
/* The type of the kernel file system used. */
|
|
||||||
static char *kernel_fs;
|
|
||||||
|
|
||||||
/* The file that holds information about mounted filesystems
|
/* The file that holds information about mounted filesystems
|
||||||
(/proc/mounts or /etc/mtab) */
|
(/proc/mounts or /etc/mtab) */
|
||||||
static char *mounts;
|
static char *mounts;
|
||||||
@ -120,6 +117,9 @@ static volatile int keep_on_running = 1;
|
|||||||
terminate without uploading dirty files. */
|
terminate without uploading dirty files. */
|
||||||
static volatile int got_sigterm;
|
static volatile int got_sigterm;
|
||||||
|
|
||||||
|
/* Send debug information about the configuration to the log file. */
|
||||||
|
static int debug;
|
||||||
|
|
||||||
|
|
||||||
/* Private function prototypes */
|
/* Private function prototypes */
|
||||||
/*=============================*/
|
/*=============================*/
|
||||||
@ -144,12 +144,6 @@ check_permissions(dav_args *args);
|
|||||||
static void
|
static void
|
||||||
gain_privileges(const dav_args *args);
|
gain_privileges(const dav_args *args);
|
||||||
|
|
||||||
static int
|
|
||||||
do_mount(dav_args *args, void *mdata);
|
|
||||||
|
|
||||||
static int
|
|
||||||
is_mounted(void);
|
|
||||||
|
|
||||||
static dav_args *
|
static dav_args *
|
||||||
parse_commandline(dav_args *args, int argc, char *argv[]);
|
parse_commandline(dav_args *args, int argc, char *argv[]);
|
||||||
|
|
||||||
@ -274,46 +268,24 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
dav_init_cache(args, mpoint);
|
dav_init_cache(args, mpoint);
|
||||||
|
|
||||||
int dev = 0;
|
|
||||||
dav_run_msgloop_fn run_msgloop = NULL;
|
|
||||||
void *mdata = NULL;
|
|
||||||
if (args->kernel_fs)
|
|
||||||
kernel_fs = xstrdup(args->kernel_fs);
|
|
||||||
size_t buf_size = args->buf_size * 1024;
|
|
||||||
gain_privileges(args);
|
gain_privileges(args);
|
||||||
int mounted = dav_init_kernel_interface(&dev, &run_msgloop, &mdata,
|
dav_init_kernel_interface(url, mpoint, args);
|
||||||
&kernel_fs, &buf_size, url, mpoint,
|
|
||||||
args);
|
|
||||||
release_privileges(args);
|
release_privileges(args);
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "kernel_fs: %s", kernel_fs);
|
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Writing mtab entry");
|
||||||
|
write_mtab_entry(args);
|
||||||
|
|
||||||
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Fork into daemon mode");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Fork into daemon mode");
|
||||||
pid_t childpid = fork();
|
pid_t childpid = fork();
|
||||||
if (childpid > 0) {
|
if (childpid > 0) {
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug) {
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
"Parent: parent pid: %i, child pid: %i", getpid(), childpid);
|
"Parent: parent pid: %i, child pid: %i", getpid(), childpid);
|
||||||
if (!mounted) {
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
|
||||||
"Parent: mounting filesystem");
|
|
||||||
if (do_mount(args, mdata) != 0) {
|
|
||||||
kill(childpid, SIGTERM);
|
|
||||||
delete_args(args);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
|
||||||
"Parent: writing mtab entry");
|
|
||||||
write_mtab_entry(args);
|
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Parent: leaving now");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Parent: leaving now");
|
||||||
|
}
|
||||||
delete_args(args);
|
delete_args(args);
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
|
|
||||||
@ -322,7 +294,7 @@ main(int argc, char *argv[])
|
|||||||
error(EXIT_FAILURE, errno, _("can't start daemon process"));
|
error(EXIT_FAILURE, errno, _("can't start daemon process"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Set signal handler");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Set signal handler");
|
||||||
struct sigaction action;
|
struct sigaction action;
|
||||||
action.sa_handler = termination_handler;
|
action.sa_handler = termination_handler;
|
||||||
@ -335,7 +307,7 @@ main(int argc, char *argv[])
|
|||||||
|
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Releasing root privileges");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Releasing root privileges");
|
||||||
gain_privileges(args);
|
gain_privileges(args);
|
||||||
ret = setuid(args->uid);
|
ret = setuid(args->uid);
|
||||||
@ -345,14 +317,11 @@ main(int argc, char *argv[])
|
|||||||
kill(getppid(), SIGHUP);
|
kill(getppid(), SIGHUP);
|
||||||
}
|
}
|
||||||
|
|
||||||
time_t idle_time = args->delay_upload;
|
|
||||||
if (!idle_time)
|
|
||||||
idle_time = DAV_DELAY_UPLOAD;
|
|
||||||
int debug = args->debug;
|
|
||||||
delete_args(args);
|
delete_args(args);
|
||||||
setsid();
|
setsid();
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Releasing terminal");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Releasing terminal");
|
||||||
close(STDIN_FILENO);
|
close(STDIN_FILENO);
|
||||||
close(STDOUT_FILENO);
|
close(STDOUT_FILENO);
|
||||||
@ -368,7 +337,7 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Writing pid file");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Writing pid file");
|
||||||
ret = save_pid();
|
ret = save_pid();
|
||||||
if (ret) {
|
if (ret) {
|
||||||
@ -379,31 +348,49 @@ main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Starting message loop");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Starting message loop");
|
||||||
run_msgloop(dev, buf_size, idle_time, is_mounted, &keep_on_running,
|
dav_run_msgloop(&keep_on_running);
|
||||||
debug & DAV_DBG_KERNEL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Closing");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Closing");
|
||||||
dav_close_cache(got_sigterm);
|
dav_close_cache(got_sigterm);
|
||||||
dav_close_webdav();
|
dav_close_webdav();
|
||||||
if (is_mounted()) {
|
if (dav_is_mounted()) {
|
||||||
char *prog = xasprintf("/bin/umount -il %s", mpoint);
|
char *prog = xasprintf("/bin/umount -il %s", mpoint);
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_ERR), _("unmounting %s"), mpoint);
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_ERR), _("unmounting %s"), mpoint);
|
||||||
if (system(prog) != 0)
|
if (system(prog) != 0)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_ERR), _("unmounting failed"));
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_ERR), _("unmounting failed"));
|
||||||
}
|
}
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Removing %s", pidfile);
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Removing %s", pidfile);
|
||||||
remove(pidfile);
|
remove(pidfile);
|
||||||
if (debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Done.");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "Done.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
dav_is_mounted(void)
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
FILE *mtab = setmntent(mounts, "r");
|
||||||
|
if (mtab) {
|
||||||
|
struct mntent *mt = getmntent(mtab);
|
||||||
|
while (mt && !found) {
|
||||||
|
if (strcmp(mpoint, mt->mnt_dir) == 0
|
||||||
|
&& strcmp(url, mt->mnt_fsname) == 0)
|
||||||
|
found = 1;
|
||||||
|
mt = getmntent(mtab);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
endmntent(mtab);
|
||||||
|
return found;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
dav_user_input_hidden(const char *prompt)
|
dav_user_input_hidden(const char *prompt)
|
||||||
{
|
{
|
||||||
@ -451,7 +438,7 @@ change_persona(dav_args *args)
|
|||||||
args->uid = args->dav_uid;
|
args->uid = args->dav_uid;
|
||||||
release_privileges(args);
|
release_privileges(args);
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
"changing persona: euid %i, gid %i", geteuid(), getgid());
|
"changing persona: euid %i, gid %i", geteuid(), getgid());
|
||||||
}
|
}
|
||||||
@ -476,7 +463,7 @@ check_dirs(dav_args *args)
|
|||||||
} else {
|
} else {
|
||||||
mounts = _PATH_MOUNTED;
|
mounts = _PATH_MOUNTED;
|
||||||
}
|
}
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "mounts in: %s", mounts);
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "mounts in: %s", mounts);
|
||||||
|
|
||||||
gain_privileges(args);
|
gain_privileges(args);
|
||||||
@ -660,7 +647,7 @@ check_double_mounts(dav_args *args)
|
|||||||
}
|
}
|
||||||
char *pidf = xasprintf("%s/%s.pid", DAV_SYS_RUN, mp);
|
char *pidf = xasprintf("%s/%s.pid", DAV_SYS_RUN, mp);
|
||||||
free(mp);
|
free(mp);
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "PID file: %s", pidf);
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "PID file: %s", pidf);
|
||||||
|
|
||||||
FILE *file = fopen(pidf, "r");
|
FILE *file = fopen(pidf, "r");
|
||||||
@ -768,7 +755,7 @@ check_permissions(dav_args *args)
|
|||||||
if (args->fsuid != args->uid)
|
if (args->fsuid != args->uid)
|
||||||
error(EXIT_FAILURE, 0,
|
error(EXIT_FAILURE, 0,
|
||||||
_("you can't set file owner different from your uid"));
|
_("you can't set file owner different from your uid"));
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "uid ok");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "uid ok");
|
||||||
|
|
||||||
if (args->gid != args->fsgid) {
|
if (args->gid != args->fsgid) {
|
||||||
@ -781,7 +768,7 @@ check_permissions(dav_args *args)
|
|||||||
error(EXIT_FAILURE, 0,
|
error(EXIT_FAILURE, 0,
|
||||||
_("you must be member of the group of the file system"));
|
_("you must be member of the group of the file system"));
|
||||||
}
|
}
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "gid ok");
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG), "gid ok");
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
@ -792,36 +779,12 @@ check_permissions(dav_args *args)
|
|||||||
if (i == args->ngroups)
|
if (i == args->ngroups)
|
||||||
error(EXIT_FAILURE, 0, _("user %s must be member of group %s"),
|
error(EXIT_FAILURE, 0, _("user %s must be member of group %s"),
|
||||||
args->uid_name, args->dav_group);
|
args->uid_name, args->dav_group);
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (debug)
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
"memeber of group %s", args->dav_group);
|
"memeber of group %s", args->dav_group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Calls the mount()-function to mount the file system.
|
|
||||||
Uses private global variables url and mpoint as device and mount point,
|
|
||||||
kernel_fs as file system type, mopts as mount options and mdata
|
|
||||||
as mount data.
|
|
||||||
return value : 0 on success, -1 if mount() fails. */
|
|
||||||
static int
|
|
||||||
do_mount(dav_args *args, void *mdata)
|
|
||||||
{
|
|
||||||
gain_privileges(args);
|
|
||||||
int ret = mount(url, mpoint, kernel_fs, args->mopts, mdata);
|
|
||||||
release_privileges(args);
|
|
||||||
|
|
||||||
if (ret) {
|
|
||||||
error(0, errno, _("can't mount %s on %s"), url, mpoint);
|
|
||||||
if (errno == ENODEV)
|
|
||||||
error(0, 0, _("kernel does not know file system %s"), kernel_fs);
|
|
||||||
if (errno == EBUSY)
|
|
||||||
error(0, 0, _("mount point is busy"));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Gains super user privileges. If an error occurs it prints an error
|
/* Gains super user privileges. If an error occurs it prints an error
|
||||||
message and calls exit(EXIT_FAILURE). */
|
message and calls exit(EXIT_FAILURE). */
|
||||||
static void
|
static void
|
||||||
@ -838,29 +801,6 @@ gain_privileges(const dav_args *args)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Checks wether the file system is mounted.
|
|
||||||
It uses information from the private global variables mounts (mtab-file),
|
|
||||||
url (must be device in the mtab entry) and mpoint (mount point).
|
|
||||||
return value : 0 - no matching entry in the mtab-file (not mounted)
|
|
||||||
1 - matching entry in the mtab-file (mounted) */
|
|
||||||
static int
|
|
||||||
is_mounted(void)
|
|
||||||
{
|
|
||||||
int found = 0;
|
|
||||||
FILE *mtab = setmntent(mounts, "r");
|
|
||||||
if (mtab) {
|
|
||||||
struct mntent *mt = getmntent(mtab);
|
|
||||||
while (mt && !found) {
|
|
||||||
if (strcmp(mpoint, mt->mnt_dir) == 0
|
|
||||||
&& strcmp(url, mt->mnt_fsname) == 0)
|
|
||||||
found = 1;
|
|
||||||
mt = getmntent(mtab);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
endmntent(mtab);
|
|
||||||
return found;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Parses commandline arguments and options and stores them in args and the
|
/* Parses commandline arguments and options and stores them in args and the
|
||||||
private global variables url and mpoint.
|
private global variables url and mpoint.
|
||||||
For arguments and options please see the usage()-funktion.
|
For arguments and options please see the usage()-funktion.
|
||||||
@ -1044,7 +984,11 @@ parse_config(dav_args *args)
|
|||||||
if (!args->backup_dir)
|
if (!args->backup_dir)
|
||||||
args->backup_dir = xstrdup(DAV_BACKUP_DIR);
|
args->backup_dir = xstrdup(DAV_BACKUP_DIR);
|
||||||
|
|
||||||
if (args->debug & DAV_DBG_CONFIG)
|
if (!args->delay_upload)
|
||||||
|
args->delay_upload = DAV_DELAY_UPLOAD;
|
||||||
|
|
||||||
|
debug = args->debug & DAV_DBG_CONFIG;
|
||||||
|
if (debug)
|
||||||
log_dbg_config(args);
|
log_dbg_config(args);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1364,8 +1308,6 @@ delete_args(dav_args *args)
|
|||||||
free(args->conf);
|
free(args->conf);
|
||||||
if (args->add_mopts)
|
if (args->add_mopts)
|
||||||
free(args->add_mopts);
|
free(args->add_mopts);
|
||||||
if (args->kernel_fs)
|
|
||||||
free(args->kernel_fs);
|
|
||||||
if (args->scheme)
|
if (args->scheme)
|
||||||
free(args->scheme);
|
free(args->scheme);
|
||||||
if (args->host)
|
if (args->host)
|
||||||
@ -1739,8 +1681,6 @@ log_dbg_config(dav_args *args)
|
|||||||
" mopts: %#lx", args->mopts);
|
" mopts: %#lx", args->mopts);
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
" add_mopts: %s", args->add_mopts);
|
" add_mopts: %s", args->add_mopts);
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
|
||||||
" kernel_fs: %s", args->kernel_fs);
|
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
" buf_size: %llu KiB", (unsigned long long) args->buf_size);
|
" buf_size: %llu KiB", (unsigned long long) args->buf_size);
|
||||||
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
syslog(LOG_MAKEPRI(LOG_DAEMON, LOG_DEBUG),
|
||||||
@ -2134,10 +2074,6 @@ read_config(dav_args *args, const char * filename, int system)
|
|||||||
if (args->dav_group)
|
if (args->dav_group)
|
||||||
free(args->dav_group);
|
free(args->dav_group);
|
||||||
args->dav_group = xstrdup(parmv[1]);
|
args->dav_group = xstrdup(parmv[1]);
|
||||||
} else if (strcmp(parmv[0], "kernel_fs") == 0) {
|
|
||||||
if (args->kernel_fs)
|
|
||||||
free(args->kernel_fs);
|
|
||||||
args->kernel_fs = xstrdup(parmv[1]);
|
|
||||||
} else if (strcmp(parmv[0], "buf_size") == 0) {
|
} else if (strcmp(parmv[0], "buf_size") == 0) {
|
||||||
args->buf_size = arg_to_int(parmv[1], 10, parmv[0]);
|
args->buf_size = arg_to_int(parmv[1], 10, parmv[0]);
|
||||||
} else if (strcmp(parmv[0], "trust_ca_cert") == 0
|
} else if (strcmp(parmv[0], "trust_ca_cert") == 0
|
||||||
|
@ -51,7 +51,6 @@ typedef struct {
|
|||||||
int netdev; /* Command line */
|
int netdev; /* Command line */
|
||||||
unsigned long int mopts; /* Command line */
|
unsigned long int mopts; /* Command line */
|
||||||
char *add_mopts;
|
char *add_mopts;
|
||||||
char *kernel_fs; /* User config file, system config file */
|
|
||||||
size_t buf_size; /* User config file, system config file */
|
size_t buf_size; /* User config file, system config file */
|
||||||
/* File mode */
|
/* File mode */
|
||||||
uid_t fsuid; /* Command line */
|
uid_t fsuid; /* Command line */
|
||||||
@ -164,6 +163,15 @@ int
|
|||||||
main(int argc, char *argv[]);
|
main(int argc, char *argv[]);
|
||||||
|
|
||||||
|
|
||||||
|
/* Checks wether the file system is mounted.
|
||||||
|
It uses information from the private global variables mounts (mtab-file),
|
||||||
|
url (must be device in the mtab entry) and mpoint (mount point).
|
||||||
|
return value : 0 - no matching entry in the mtab-file (not mounted)
|
||||||
|
1 - matching entry in the mtab-file (mounted) */
|
||||||
|
int
|
||||||
|
dav_is_mounted(void);
|
||||||
|
|
||||||
|
|
||||||
/* Prints prompt to stdout and reads a line from stdin.
|
/* Prints prompt to stdout and reads a line from stdin.
|
||||||
Echoing the user input to stdout is prohibited.
|
Echoing the user input to stdout is prohibited.
|
||||||
A trailing newline is removed.
|
A trailing newline is removed.
|
||||||
|
Loading…
Reference in New Issue
Block a user