From d12d77382e55c2ce7e0445501f866bf3525620e0 Mon Sep 17 00:00:00 2001 From: wbaumann Date: Tue, 14 Apr 2009 19:54:53 +0000 Subject: [PATCH] first import --- AUTHORS | 90 + BUGS | 13 + COPYING | 675 ++++++ ChangeLog | 885 +++++++ FAQ | 88 + INSTALL | 162 ++ Makefile.am | 27 + NEWS | 245 ++ README | 240 ++ README.translators | 85 + THANKS | 77 + TODO | 6 + bootstrap | 20 + config/COPYING.davfs2 | 675 ++++++ config/INSTALL.davfs2 | 162 ++ config/davfs2.m4 | 170 ++ config/neon.m4 | 1113 +++++++++ configure.ac | 96 + etc/Makefile.am | 40 + etc/davfs2.conf | 72 + etc/secrets | 68 + man/Makefile.am | 54 + man/davfs2.conf.5 | 518 +++++ man/davfs2.conf.5.pot | 1103 +++++++++ man/de/Makefile.am | 53 + man/de/davfs2.conf.5.po | 1326 +++++++++++ man/de/davfs2.conf.5.translator | 4 + man/de/mount.davfs.8.po | 1322 +++++++++++ man/de/mount.davfs.8.translator | 4 + man/de/umount.davfs.8.po | 249 ++ man/de/umount.davfs.8.translator | 4 + man/es/Makefile.am | 54 + man/es/davfs2.conf.5.po | 1255 ++++++++++ man/mount.davfs.8 | 542 +++++ man/mount.davfs.8.pot | 1075 +++++++++ man/po4a.conf | 33 + man/template.translator | 11 + man/umount.davfs.8 | 94 + man/umount.davfs.8.pot | 225 ++ po/LINGUAS | 2 + po/Makevars | 41 + po/POTFILES.in | 8 + po/cs.po | 843 +++++++ po/davfs2.pot | 758 ++++++ po/de.po | 847 +++++++ src/Makefile.am | 62 + src/cache.c | 3692 ++++++++++++++++++++++++++++++ src/cache.h | 428 ++++ src/coda.h | 643 ++++++ src/dav_coda.c | 810 +++++++ src/dav_fuse.c | 1112 +++++++++ src/defaults.h | 193 ++ src/fuse_kernel.h | 314 +++ src/kernel_interface.c | 265 +++ src/kernel_interface.h | 96 + src/mount_davfs.c | 2538 ++++++++++++++++++++ src/mount_davfs.h | 157 ++ src/umount_davfs.c | 212 ++ src/webdav.c | 1915 ++++++++++++++++ src/webdav.h | 278 +++ 60 files changed, 28149 insertions(+) create mode 100644 AUTHORS create mode 100644 BUGS create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 FAQ create mode 100644 INSTALL create mode 100644 Makefile.am create mode 100644 NEWS create mode 100644 README create mode 100644 README.translators create mode 100644 THANKS create mode 100644 TODO create mode 100755 bootstrap create mode 100644 config/COPYING.davfs2 create mode 100644 config/INSTALL.davfs2 create mode 100644 config/davfs2.m4 create mode 100644 config/neon.m4 create mode 100644 configure.ac create mode 100644 etc/Makefile.am create mode 100644 etc/davfs2.conf create mode 100644 etc/secrets create mode 100644 man/Makefile.am create mode 100644 man/davfs2.conf.5 create mode 100644 man/davfs2.conf.5.pot create mode 100644 man/de/Makefile.am create mode 100644 man/de/davfs2.conf.5.po create mode 100644 man/de/davfs2.conf.5.translator create mode 100644 man/de/mount.davfs.8.po create mode 100644 man/de/mount.davfs.8.translator create mode 100644 man/de/umount.davfs.8.po create mode 100644 man/de/umount.davfs.8.translator create mode 100644 man/es/Makefile.am create mode 100644 man/es/davfs2.conf.5.po create mode 100644 man/mount.davfs.8 create mode 100644 man/mount.davfs.8.pot create mode 100644 man/po4a.conf create mode 100644 man/template.translator create mode 100644 man/umount.davfs.8 create mode 100644 man/umount.davfs.8.pot create mode 100644 po/LINGUAS create mode 100644 po/Makevars create mode 100644 po/POTFILES.in create mode 100644 po/cs.po create mode 100644 po/davfs2.pot create mode 100644 po/de.po create mode 100644 src/Makefile.am create mode 100644 src/cache.c create mode 100644 src/cache.h create mode 100644 src/coda.h create mode 100644 src/dav_coda.c create mode 100644 src/dav_fuse.c create mode 100644 src/defaults.h create mode 100644 src/fuse_kernel.h create mode 100644 src/kernel_interface.c create mode 100644 src/kernel_interface.h create mode 100644 src/mount_davfs.c create mode 100644 src/mount_davfs.h create mode 100644 src/umount_davfs.c create mode 100644 src/webdav.c create mode 100644 src/webdav.h diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..f65285a --- /dev/null +++ b/AUTHORS @@ -0,0 +1,90 @@ +davfs2 AUTHORS 2009-04-12 +------------------------- + +This package is based on davfs2 0.2.3 by +Sun Kim and +Robert Spier . +This version is a complete rewrite by Werner Baumann. +The kernel interface definitions are copyright by +Miklos Szeredi and Carnegie Mellon University, respectively. + + +Copyright: +========== + +Copyright (c) 2005, 2006, 2007, 2008, 2009 + Werner Baumann + + 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. + +The complete text of the GNU General Public License can be found in `COPYING'. + + +Copyright for the interface to the Fuse kernel module (fuse_kernel.h): +====================================================================== + + Copyright (C) 2001-2007 Miklos Szeredi. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + SUCH DAMAGE. + + +Copyright for the interface to the Coda kernel module (coda.h): +=============================================================== + + 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. + diff --git a/BUGS b/BUGS new file mode 100644 index 0000000..b2522c1 --- /dev/null +++ b/BUGS @@ -0,0 +1,13 @@ +davfs2 known bugs 2008-07-13 +---------------------------- + +If a filename contains a "/"-character, it will be displayed, but it +cannot be accessed. + +Report Bugs +----------- + +Please report bugs at +http://savannah.nongnu.org/support/?func=additem&group=davfs2 or +http://savannah.nongnu.org/support/?func=additem&group=davfs2 + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..10926e8 --- /dev/null +++ b/COPYING @@ -0,0 +1,675 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program 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. + + This program 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 program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..d7986f3 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,885 @@ +ChangeLog for davfs2 +-------------------- + +2009-04-14 Werner Baumann (werner.baumann@onlinehome.de) + * Reverted to fuse_kernel.h from 2.5.3 because of + different length of struct fuse_attr. + +2009-04-13 Werner Baumann (werner.baumann@onlinehome.de) + * Updated fuse_kernel.h + * Removed unused licence documents. + +2009-04-12 Werner Baumann (werner.baumann@onlinehome.de) + * Removed support for coda kernel version 2 and + fuse kernel version 5. + * Simplify coda.h and select alternative license. + +2009-04-12 Werner Baumann (werner.baumann@onlinehome.de) + * bootstrap: + Inserted force options again. Restore COPYING + from COPYING.davfs2. + +2009-04-06 Werner Baumann (werner.baumann@onlinehome.de) + * bootstrap: + Removed --force and --force-missing options. + * COPYING: + Added missing licenses. + +2009-04-04 Werner Baumann (werner.baumann@onlinehome.de) + * cahe.c, dav_lookup: + If node not found update directory with file_refresh. + +2009-03-29 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, mount.davfs.8: + Remove deprecated mount options (askauth, locks, + useproxy). + * defaults.h, davfs2.conf, davfs2.conf.5: + Option if_match_bug now defaults to 0. + +2009-03-29 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, mount_davfs.h, webdav.c, defaults.h: + Remove support for WebDAV-property displayname. + +2009-03-29 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: + Changed handling of directory cache files to fix + bug in handling "rm -r". + +2009-03-28 Werner Baumann (werner.baumann@onlinehome.de) + * Undo FUSE_ATOMIC_O_TRUNC. + +2009-03-24 Werner Baumann (werner.baumann@onlinehome.de) + * fuse7_kernel.h: + New version from linux 2.6.26 + * dav_fuse7.c, fuse_init: + Use flag FUSE_ATOMIC_O_TRUNC. + +2009-03-22 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, dav_setattr: + Set upload-time if size is changed. + * cache.c: + Added function get_upload_time. + * cache.c, update_cache_file: + Only upload dirty files if upload-time is reached. + (Fix empty PUTs on setattr before open.) + +2009-03-15 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, split_proxy: + Only set port if given in args. + * mount_davfs.c, read_secrets: + Only compare proxy-port if given in secrets file. + * mount_davfs.c new_args: + Fix getuid() (not getuid). + +2009-01-27 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, delete_args: + Remove double free of args->p_passwd (fixes bug + 2351083, Debian bug #512625). + +2009-01-02 Werner Baumann (werner.baumann@onlinehome.de) + * Added copyright notices. + * Updated to GPL version 3. + * mount_davfs: replace petpass with user_input_hidden. + +2008-11-23 Werner Baumann (werner.baumann@onlinehome.de) + * Default for use_expect100 is now 0 + +2008-11-23 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: + Add function lock_by_path. + Remove global variable suri. + +2008-10-26 Werner Baumann (werner.baumann@onlinehome.de) + * unifying coding style + * webdav.c, dav_init_connection: + Use %-encoded path. + +2008-09-08 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, block_writer: + Add mode parameter in call of open(); remove + O_CREATE (thanks Marcin Zajączkowski) + * cache.c, open_file: + Add mode parameter in call of open(). + +2008-08-08 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_head: + Fix bug 2042177 (*length, not *mtime). + +2008-07-12 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.3.3 + +2008-06-30 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, get_options: + Missing break in first case. + +2008-06-24 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, dav_setattr: + Set file times of the cache file too when they + are changed by setattr. + +2008-06-17 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_put: + Only use etag in conditional PUT, even in second try. + +2008-06-12 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, dav_tidy_cache: + Better debug messages, including neon-error. + +2008-05-30 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, parse_index: + Finish parsing, before checking for parse error + (ne_xml_parse seems not allways to report + errors otherwise) + * cache.c, write_node: + Put path, name, cache_path, etag and mime_type + in CDATA-sections. + +2008-05-23 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, mount_davfs.h, webdav.c, webdav.h: + Add ne_set_connect_timeout. (Thanks Martin Higham) + +2008-05-17 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.3.2 (really) + +2008-05-16 Werner Baumann (werner.baumann@onlinehome.de) + * Not yet released 1.3.2 + * cache.c, resize_cache: + Fixed another bug calculating cache_size. + +2008-05-15 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.3.2 + +2008-05-13 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, xml_..: + Concatenate subsequent cdata_callbacks. Fixes + growing-cache-bug when using libexpat. + * cache.c, clean_cache: + Fixed error parsing table. + * cache.c, update_cache_file: + Fixed error calculating cache_size. + +2008-05-04 Werner Baumann (werner.baumann@onlinehome.de) + * Version 1.3.1 released. + +2008-04-29 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_get_file: + Typo: If-Non-Match -> If-None-Match + +2008-04-09 Werner Baumann (werner.baumann@onlinehome.de) + * dav_fuse7.c, fuse_init: + Reduce max_write according to bug in fuse. + * dav_fuse7.c, fuse_stat: + Increase bsize to as many pages as fit in max_write. + +2008-04-05 Werner Baumann (werner.baumann@onlinehome.de) + * Improved debug output + +2008-04-02 Werner Baumann (werner.baumann@onlinehome.de) + * configure.ac: + Add neon 0.28 (no API-changes) + +2008-03-24 Werner Baumann (werner.baumann@onlinehome.de) + * man/davfs2.conf.5: + Clarified option servercert. + +2008-03-24 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, change_persona: + Fixed bug in message: dav_user not dav_group + * man/davfs2.conf.5: + Options dav_user, dav_group: substitute USER + and GROUP, not PACKAGE. + +2008-02-07 Werner Baumann (werner.baumann@onlinehome.de) + * Disable cookie support an conditional LOCK for Neon 0.25 + +2008-02-04 Werner Baumann (werner.baumann@onlinehome.de) + * Version 1.3.0 released. + +2008-02-04 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, clean_cache: + Create backup-files for orphaned files in cache. + +2008-02-04 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, cache.c: + Quick termination on SIGTERM; store flags dirty and + remote_exists of dirty files in index. + +2008-02-03 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, termination_handler: + Don't call umount in termination handler. + +2008-02-02 Werner Baumann (werner.baumann@onlinehome.de) + * dav_fuse7.c, dav_fuse5.c, dav_coda2.c, dav_coda3.c: + Only call dav_tidy_cache once every DAV_DELAY_UPLOAD + seconds as long as there are upcalls from kernel. + +2008-02-02 Werner Baumann (werner.baumann@onlinehome.de) + *webdav.c, update_cookie: + Fixed bug: old cookie not removed. + +2008-02-02 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_put: + No HEAD if !has_if_match_bug and !*exists. + +2008-02-01 Werner Baumann (werner.baumann@onlinehome.de) + * Removed option idle_time. + Renamed option delay_uploads -> delay_upload. + Set delayed upload-time for node on close. + +2008-01-31 Werner Baumann (werner.baumann@onlinehome.de) + *webdav.c, prop_result: + Add double quotes on Etag if missing. + +2008-01-11 Werner Baumann (werner.baumann@onlinehome.de) + * umount_davfs.c: + Remove option -C from ps-command (BSC-option). + +2008-01-05 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, prop_result: + ctime is in iso-8601 format (Bug 1863061). + * webdav.c, prop_result, dav_put: + Fixed bug in drop_weak_etags. + * webdav.c, dav_put: + Only use etag in conditional PUT. + +2007-12-31 Werner Baumann (werner.baumann@onlinehome.de) + * Renamed option: misused_weak_etag -> drop_weak_etags + +2007-12-27 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_get_file, dav_head, dav_put: + Honour misused_weak_etag + +2007-12-27 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, webdav.h, mount_davfs.c, mount_davfs.h, + defaults.h; + New option: misused_weak_etag + +2007-12-26 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_put: + Don't even use "if-match" with etag when has_if_match_bug. + +2007-12-26 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, read_secrets: + Allow keyword "proxy" instead of DN in proxy line. + Fix bugs in certificate path names. + +2007-12-25 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, read_secrets: + Allow mountpoint instead of url in secrets file. + +2007-12-25 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, parse_line: + Allow none-ascii characters in config files. + * mount_davfs.h, mount_davfs.c, webdav.h, webdav.c, + defaults.h: + New options: precheck and ignore_dav_header + +2007-12-23 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, mount_davfs.h, mount_davfs.c, defaults.h: + Added very simple cookie support. + +2007-12-15 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, webdav.h, cache.c, cache.h: + Support dav-quota. + Change members of dav_stat to off_t. + +2007-12-15 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, xml_cdata_date, write_node: + Use epoch and ISO-format for time. Human readable + string for information only. + +2007-12-13 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, webdav.h, cache.c: + New functions for converting character encoding. + * cache.c, update_node: + Check for changed name before other checks. + * webdav.c, dav_move: + Remove prop displayname if used. + +2007-12-11 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, prop_result, dav_init_webdav: + ne_propset_value always is in utf-8; don't decode + from utf-16. + +2007-12-10 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: + Add list of changed nodes. New dav_tidy_cache function. + Write times in readable format to index file. + +2007-12-08 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: + Change cache_size whenever a file changes (do not + calculate in dav_tidy_cache). + +2007-12-01 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_lock: + create suri->path after HEAD-request + +2007-11-30 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, cache.h, dav_fuse7.c: + Support getxattr for user.mime_type. + +2007-11-25 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, log_writer: + Use Loglevel LOG_DEBUG. + +2007-11-22 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.h, mount_davfs.c, webdab.h, webdav.c, + davfs2.conf.5: + Added option "add_header". + +2007-11-22 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, webdav.c: + Use conditional LOCK if possible. + +2007-11-17 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, move_dirty: + Don't try to delete none-existant file. + +2007-11-17 Werner Baumann (werner.baumann@onlinehome.de) + * davfs2.conf.5, mount_davfs.h, mount_davfs.c, webdav.c: + Add option if_match_bug. Use conditional PUT if + possible. + +2007-11-11 Werner Baumann (werner.baumann@onlinehome.de) + * configure.ac, cache.c, webdav.c: + Remove support for neon 0.24 + +2007-11-06 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, debug_opts_neon: + Remove NE_DBG_XML from debug most. + +2007-11-05 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, put_file: + Added support for Neon 0.27 + +2007-11-03 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, dav_tidy_cache: + Don't check more than 100 nodes in one run. + +2007-11-03 Werner Baumann (werner.baumann@onlinehome.de) + * defaults.h, mount_davfs.h, mount_davfs.c: + Added option delay_uploads + * cache.h, cache.c, dav_init_cache, dav_close: + Delay uploads only if !delay_uploads + +2007-11-03 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, move_reg, dav_rename: + Send MOVE request for dirty files. + * webdav.c, dav_move: + Remove locks on source file. + * defaults.h: + use_displayname defaults to no + +2007-11-02 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_head: + Check header Content-Length. + * webdav.c, dav_put: + If a file should not exist, allow for file with + length 0 (SVN-Bug 2896). + +2007-08-31 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, get_error: + Return EIO on NE_LOOKUP, so mounting will fail with + appropriate error message. + +2007-07-30 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, read_config: + Disabled 'porxy' option in user configuration file. + * mount_davfs.c, parse_config: + Read proxy environment variables only if the mounting + user is root. + +2007-07-29 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, read_no_proxy_list: + Allow for '*', portnumber and spaces in no_proxy. + +2007-07-28 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c: + Added function proxy_from_env to parse different kind + of xxx_proxy environment variables. (Bug 1762423) + Added function read_no_proxy_list. + +2007-07-21 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, init_webdav, log_writer: + Splitt messages into chunks < 512 char. + Escape '%'-character in log-messages. + +2007-07-07 Werner Baumann (werner.baumann@onlinehome.de) + * Use GNU Autoconf 2.61, GNU Automake 1.10, + GNU gettext-tools 0.16.1 + * mount_davfs.c, parse_secrets: + Accept lines without terminating newline for username + and p_user. + * Version 1.2.2 released + +2007-06-29 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: update_node + If a node changed remotely, only create a new node + when the existing node is dirty. + * kernel_interface.c, kernel_interface.h: + Make fuse the default kernel file system. + +2007-06-10 Werner Baumann (werner.baumann@onlinehome.de) + * davfs2.m4, src/Makefile.am: + add variable ssbindir; create symbolic link only when + sbindir not equal to ssbindir + +2007-06-08 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, main: + properly release tty (bug 1730992, patch by Tero Pelander) + * man/Makefile.am, man/de/Makefile.am, man/es/Makefile.am: + enable concurrent compilation (bug 1730979, + patch by Tero Pelander) + +2007-05-29 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c, dav_init_webdav, dav_init_connection: + register lock_store *after* checking server capabilities + +2007-05-28 Werner Baumann (werner.baumann@onlinehome.de) + * Makefile.am: correct $(docdir) + +2007-05-21 Werner Baumann (werner.baumann@onlinehome.de) + * rename INSTALL to INSTALL.davfs2 to avoid name clash + with generic INSTALL + +2007-05-21 Werner Baumann (werner.baumann@onlinehome.de) + * made debug a runtime option + +2007-05-17 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: + add custom stream to redirect neon debug messages + to syslog + remove unnecessary code from dav_close_webdav + +2007-04-26 Werner Baumann (werner.baumann@onlinehome.de) + * released version 1.2.1 + +2007-04-15 Werner Baumann (werner.baumann@onlinehome.de) + * corrected po4a.conf for partial translations + * added Spanish davfs2.conf.5 from Luciano + * webdav.c, prop_result: + replacement for / in file names depends from position + (slash-, -slash-, -slash) + +2007-04-07 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.2.0 + +2007-04-06 Werner Baumann (werner.baumann@onlinehome.de) + * etc/Makefile.am: + create backup of davfs2.conf and secrets on install + * src/Makefile.am: simplified + +2007-04-03 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: add_node + don't reset x-bit if is_exec == -1 + +2007-04-01 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, webdav.c, cache.c: + mount even when OPTIONS request times out + +2007-03-25 Werner Baumann (werner.baumann@onlinehome.de) + * use autopoint to add gettextize-files + * use LINGUAS variable to decide which man pages + to install + +2007-03-10 Werner Baumann (werner.baumann@onlinehome.de) + * use po4a for translated man pages + +2007-03-05 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, parse_commandline: + added dummy options -v and -w + +2007-03-02 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: make ssl error messages more clear + * mount_davfs.c, read_config: clicert_pw not cliecert + +2007-03-02 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: cache_dir is owned by mount.davfs process + backup_dir is owned by default_user + +2007-03-02 Werner Baumann (werner.baumann@onlinehome.de) + * added option ignore_home + * added davfs2.conf man page + +2007-02-28 Werner Baumann (werner.baumann@onlinehome.de) + * Added support for client certificates + * Added support for server certificates that are verified + by the user and can't be verified the normal way + * Added dav_user, when invoked by root change id to dav_user + * Changed default dav_group to 'davfs2' + +2007-02-25 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, write_mtab_entry: + List options; no username if user is root. + +2007-02-20 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, webdav.c: review charset conversion + * mount-davfs.c: added option _netdev + +2007-02-14 Werner Baumann (werner.baumann@onlinehome.de) + * Added NLS. + +2007-02-13 gettextize + + * gettext.m4: New file, from gettext-0.14.4. + * iconv.m4: New file, from gettext-0.14.4. + * lib-ld.m4: New file, from gettext-0.14.4. + * lib-link.m4: New file, from gettext-0.14.4. + * lib-prefix.m4: New file, from gettext-0.14.4. + * progtest.m4: New file, from gettext-0.14.4. + * Makefile.am (EXTRA_DIST): Add the new files. + Add config/config.rpath. + (SUBDIRS): Add po. + * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in. + +2007-02-12 Werner Baumann (werner.baumann@onlinehome.de) + * Use automake. + Reorganize directory structure, trying to meet + GNU standards. + +2007-02-03 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: dav_setattr + Check return value of getpwuid and getgrgid. + +2006-12-28 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c, mount_davfs.h, webdav.c, webdav.h, + cache.c, davfs2.conf, davfs2.conf.template: + Experimental character conversion for file and + directory names. + +2006-12-26 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.1.4 + +2006-12-17 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: dav_tidy_cache + Don't save backups. + * cache.c: dav_getattr, dav_lookup + Use dir_refresh (not file_refresh). + * defaults.h: + Reduce default dir_refresh to 60 seconds. + +2006-11-30 Werner Baumann (werner.baumann@onlinehome.de) + * kernel_interface: + Try modprobe coda. Use full path of modprobe. + Send messages from modprobe to /dev/null. + +2006-11-29 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: update_directory + Make update interval depend from calling function. + +2006-11-29 Werner Baumann (werner.baumann@onlinehome.de) + * kernel_interface.c: init_fuse + buf_size minimum is FUSE_MIN_READ_BUFFER + 4096 + * dav_fuse5.c, dav_fuse7.c: dav_fuse7_loop, fuse_init, + fuse_read, fuse_stat, fuse_write + Adjust buffer size. + *cache.c: move_dirty + Unlock src if created, else delete. + +2006-11-27 Werner Baumann (werner.baumann@onlinehome.de) + * dav_fuse7.c: fuse_create + Removed O_EXCL and O_CREAT flags in call to dav_open. + * mount_davfs: main + Use options -il in call of umount program. + +2006-11-19 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: Flush coda on create and mkdir. + * cache.c: dav_init_cache + Fixed name clash of parameters and global variables. + * cache.c, cache.h, dav_coda2.c, dav_coda3.c, dav_fuse5.c, + dav_fuse7.c: dav_setattr + Ignore ctime. + +2006-11-19 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: dav_init_webdav + Changed default lock owner to . + * webdav.c, cache.c: dav_init_webdav, dav_init_cache + Check server capabilities. If connection fails, + print neon error. + * cache.c: move_reg + Do not change etag and smtime of source node. Do + not lock or set execute. + * Time stamps revisited. + +2006-11-18 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: dav_put + Do not check mtime if etag is present. + * cache.c: update_node + For cached files (includes dirty and open_write) + do not check mtime if etag is present. + * cache.c: tidy_cache, update_cache_file + Do not change mtime after PUT. + * cache.c, webdav.c: update_cache_file, dav_get_file + Only change mtime if a new version is retrieved. + * cache.c: dav_getattr, dav_lookup + Call attr_from_cache_file only if the file is open. + +2006-11-12 Werner Baumann (werner.baumann@onlinehome.de) + * umount_davfs: + If canonicalize_file_name returns NULL, try + argv[optind]. + +2006-11-07 Werner Baumann (werner.baumann@onlinehome.de) + * Makefile.in: Added missing entries for umount. + * Released version 1.1.3 + +2006-11-02 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: move_reg, move_dirty + Do not backup destination. + webdav.c: dav_head + Destroy request *after* retrieving information. + * cache.h, cache.c: dav_node + Added dirty flag (mtime not always indicates changes). + * cache.c, webdav.c, webdav.h: + On PUT set Execute property before HEAD (IIS + changes Etag on PROPPATCH). + * Set utime on creation of files and directories. + +2006-10-28 Werner Baumann (werner.baumann@onlinehome.de) + * Added umount helper umount.davfs and man page. + +2006-10-28 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: is_cached, clean_tree, update_cache_file + Removed access()-call. + * mount_davfs.h, mount_davfs.c, cache.h, cache.c, + davfs2.conf, davfs2.conf.template: + Added option gui_optimize, adjusted names and + semantics of cache times. + +2006-10-28 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: update_node, dav_tidy_cache, move_dirty + Update node->utime for regular files. + +2006-10-23 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, cache.h, dav_fuse5.c, dav_fuse7.c: + Removed O_FSYNC (Debian Bug report logs - #394845). + It is BSD feature and not necessary. + +2006-10-18 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: dav_init_cache + If connections fails with EAGAIN, try a second time. + * webdav.c, webdav.h, mount_davfs.c, mount_davfs.h, + defaults.h, debug.h: + Make 'Expect: 100-Continue' header a configuration option. + +2006-10-16 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: dav_init_webdav + Initialize lock_timeout. + +2006-10-08 Werner Baumann (werner.baumann@onlinehome.de) + * Released version 1.1.2 + +2006-10-08 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: prop_result + Normalize result->path. + +2006-10-07 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: prop_result + test length of href and log error if too short + * mount_davfs.c: read_secrets + Added patch to allow lines without password [ 1572771 ] + +2006-10-07 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: + Fixed bug in treating missing trailing slash in + collection urls. + +2006-10-05 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.h, mount_davfs.c, webdav.h, webdav.c: + Add configuration option use_displayname, use_proxy, + ask_auth and locks to configuration file. + useproxy, askauth and locks deprecated on + command line and in fstab. They are no longer + check in check_fstab. + +2006-10-05 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: dav_get_collection + Check path for trailing slash; ctx.path must always + have a trailing slash. + +2006-10-05 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: dav_write + Check for write errors. + * dav_coda2.c, kernel_interface.c: + Disable coda2 interface if pointers are 64 bit. + * dav_fuse5.c, dav_fuse7.c: fuse_write + Properly cast size_t into 32-bit member out->size. + +2006-10-04 Werner Baumann (werner.baumann@onlinehome.de) + * coda2.h, coda3.h: + Commented out include of linux/time.h + +2006-10-03 Werner Baumann (werner.baumann@onlinehome.de) + * Makefile.in, mount_davfs.c, README: + Wrong directory for documentation fixed. + (now: $prefix/share/doc/davfs2) + * Fixed bug in uninstall target. + +2006-10-03 Werner Baumann (werner.baumann@onlinehome.de) + * Makefile.in: missing mount.davfs.8.in + * Version 1.1.1 released + +2006-10-03 Werner Baumann (werner.baumann@onlinehome.de) + * Version 1.1.0 released. + +2006-09-30 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: is_created, is_dirty, backup_node + Test for existence of cache_path. + * cache.c, cache.h, dav_fuse5.c, dav_fuse7.c: + dav_read, dav_write: removed parameter pid. + +2006-09-28 Werner Baumann (werner.baumann@onlinehome.de) + * kernel-interface.c, kernel-interface.h, dav_fuse5.c, + dav_fuse7.c, mount_davfs.c, mount_davfs.h: + Evaluate fuse version by trial mounts. + Call specific kernel_interface msg_loop from main. + * cache.c, cache.h, dav_coda2.c, dav_coda3.c, dav_fuse5.c, + dav_fuse7.c: + Added parameter off to dav_write_dir_entry_fn, to + satisfy fuse7. + * mount_davfs.h, mount_davfs.c, webdav.c: + Added option lock_owner. + Added sections to davfs2.conf to allow different + settings for each mountable file system. + * mount_davfs.c: + No more URL encoding of urls. Use octal escapes in + fstab, escapes or quoting on the shell and in the + config files. + +2006-09-24 Werner Baumann (werner.baumann@onlinehome.de) + * Added support for fuse kernel fs. + * Added large file support. + * Added dav_fuse7.c, dav_fuse5.c, dav_coda2.c, dav_coda3.c, + kernel_interface.c, fuse5_kernel.h, fuse7_kernel.h, coda2.h, + coda3.h, kernel_interface.h. + * Removed dav_coda.c, dav_coda.h. + * Fixed some illegal pointer bugs. + +2006-08-27 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.c, coda_setattr() + Added atime. + * cache.c, dav_rename() + Adjust smtime after MOVE. + * cache.c: + Changed delete_cache() into clean_cache(). + * dav_coda.c: coda_open_by_fd() + Ignore O_CREATE and O_EXCL flags. + * cache.c: update_cache_file() + Only PUT if not locked. + * cache.c, write_node(), clean_cache(): + Fixed bugs in writing backup files and cleaning + cache. + +2006-08-25 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.h, dav_coda.c: + Fixed 64-bit alignment bug in struct Coda3Fid. + Clear padding before setting FID in response to + upcalls. + +2006-08-23 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.c: Fixed bug in run_messageloop(). + * cache.c: update_node() + Test for change in smtime and flush if changed. + +2006-08-22 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, dav_coda.c: + Replaced dav_coda_flush() call back by a pointer + to flush flag. + +2006-08-21 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: Remove cache file of parent directory and + set utime = 0, whenever a node is removed or added. + Issue a flush() call when this changes are not + initiated by the kernel. + +2006-08-20 Werner Baumann (werner.baumann@onlinehome.de) + * Added configuration options. + Updated config files. + +2006-08-20 Werner Baumann (werner.baumann@onlinehome.de) + * Reviewed internal interfaces. + Removed circular dependencies from header files. + * Added support for neon-0.2.6. + * Removed bug in handling "displayname". + +2006-07-23 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c, cache.h: removed variable notify, cleaner + code for calling flush_nodes() + +2006-07-11 Werner Baumann (werner.baumann@onlinehome.de) + * webdav.c: prop_result() + Only http-unescape href once. + +2006-07-09 Werner Baumann (werner.baumann@onlinehome.de) + * Cleared up interfaces between dav_coda.c, cache.c and + mount_davfs.c to reduce dependencies and prepare + for integration of fuse module. + * Fixed path in lock_discover. + * Remove null resources from dav_props. + * Use CODA_FLUSH for downcall (zap and purge do not seem + to work as expected). + +2006-06-17 Werner Baumann (werner.baumann@onlinehome.de) + * mount_davfs.c: check_mountpoint() + Fixed error when testing for foreign home directories. + +2006-06-06 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.c: fixed potential security risk + Ownership and mode of devices /dev/cfs0 to /dev/cfs4 + will no longer be changed by mount.davfs if the + devices already exist. If mount.davfs has to create + them, they will be set "crw- --- --- root root". + +2006-06-04 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: check_cache_dir() + Include host name in name of cache directory. + +2006-06-03 Werner Baumann (werner.baumann@onlinehome.de) + * configure.in: + Clarified help string for option enable-debug. + +2006-06-02 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.c, cache.c, cache.h, configure.in: + Using size_t instead of int/uint as index into + table and when casting from pointer. + Removed AC_CHECK_SIZEOF([void *], [], []). + (Should now work on 32- and 64-bit systems without + compiler warnings.) + +2006-05-31 Werner Baumann (werner.baumann@onlinehome.de) + * cache.c: dav_idle() renamed dav_tidy_cache() + New algorithm for writing back and resizing cache. + * dav_coda.c: dav_run_messageloop() + Call dav_tidy_cache() recurrently until there is + nothing left to tidy or an upcall from coda. + +2006-05-01 Werner Baumann (werner.baumann@onlinehome.de) + * dav_coda.c: offset[UID][0] + Use cr_euid for coda-kernel-version 2 instead of cr_uid. + +2006-04-30 Werner Baumann (werner.baumann@onlinehome.de) + * Removed Large File Support on 32-bit systems because + of too many problems. There is probably not much need + to transfer files bigger than 20 GB. + * Fixed: Don't change node->size when 304 Not_modified. + Unlock when no more open for write and file + is unchanged. + * Released version 1.0.2 (still beta) + +2006-04-29 Werner Baumann (werner.baumann@onlinehome.de) + * configure.in: + Added AC_SYS_LARGEFILE + +2006-04-29 Werner Baumann (werner.baumann@onlinehome.de) + * fixed support for neon 0.25 + * added dav_sync() + +2006-04-01 Werner Baumann (werner.baumann@onlinehome.de) + * released version 1.0.1 (beta) + +Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +Copying and distribution of this file, with or without modification, are +permitted in any medium without royalty provided the copyright notice +and this notice are preserved. diff --git a/FAQ b/FAQ new file mode 100644 index 0000000..6c62104 --- /dev/null +++ b/FAQ @@ -0,0 +1,88 @@ +davfs2 1.2.2 2008-01-24 +----------------------- + +# Copyright (C) 2006, 2007, 2008 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty. + + +FREQUENTLY ASKED QUESTIONS + +Q: What are these files with size 0 and date of 1970-01-01? +A: WebDAV allows to lock files that do not exist, to protect the name + while you are preparing a file for upload. These "locked-null-resources" + will show as files with size 0. This is OK as long as the locks are + released some day. + +Q: But the size-0-files don't disappear. How can I get rid of them? +Q: Some files cannot be accessed because they are locked. But I know for + sure that nobody uses them. +A: It can happen that locks are not released: + - An WebDAV client may crash. + - The network connection may get down before the locks are released. + - ... + How davfs2 tries to handle this: + - It sets a timeout for locks, when they should be released automatically. + - It sends a lock-owner property, so it can identify its own locks. + - Whenever it discovers that a file is locked, it tries to discover whether + it owns the lock. In this case it will reuse the lock and then release it. + But not all servers will support this. + Sometimes, only the administrator of the server may be able to free stale + locks. It would be a good idea if the server implements an administrative + timeout for locks, because it is impossible to make sure that all clients + will always release locks properly. + +Q: When I try to save may backups to the WebDAV Server, davfs2 creates another + copy on disk, so I run out of disk space. Why does davfs2 do this? +A: davfs2 will always create a local copy of all files moved between the local + computer and the server. There are several reasons for this: + - The coda kernel file system needs this. It will only read and write to + local copies. + - davfs2 is not able to do incremental uploads. So davfs2 needs to get the + whole file from the application before it can send it to the server. + davfs2 really is not a replacement for network file systems like nfs. + +Q: When I unmount a davfs2 file system, umount blocks and it sometimes takes + hours before it returns. +A: This is intentionally. umount should not return before all cached data is + saved to the media. The time needed depends on the amount of data and the + transfer rate. It is almost unnoticeable for a hard disk, some minutes for + a floppy, and for davfs2 it varies with the quality of the connection. + Note: You should always unmount davfs2 file systems before you shut down + your system. On shut down mount.davfs will usually be killed + regardless of the time needed to save data. + +Q: Displaying large directories with nautilus or konqueror is very, very slow. + Is there a way to speed this up? +A: Reason is that this programs open every file in a directory to evaluate the + file type. mount.davfs has to download them all. Even if the files are + cached, it will have to ask the server whether there is a new version. + You may try the configuration option 'gui_optimize'. This will not help when + you visit the directory for the first time, but when the files are already + in the cache it will reduce response time. + +O: When I mount a resource form Microsoft IIS, I can create new files, but when + I try to open them I get an error saying 'File does not exist'. This does not + happen when the file is named something.txt or something.doc, but it happens + for instance with files named something.odt. +A: Microsoft IIS only serves files with extensions and MIME-types that are + registered with IIS (or Windows). But when files are created it does not apply + this restriction. So you can create a new file with e.g. OpenOffice.org and + when you try to open it again, IIS will tell it can't find it. But it really + exists in the servers file system. + By default, only extensions used by Microsoft are registered (because you do + not want to use file formats that are not owned by Microsoft.). To change + this you have to register all file extensions you want to use. You may also + register a wildcard extension. + - Open the microsoft management console for IIS. + - Select the WebDAV folder within IIS you want to use. + - Right click and choose: Properties->HTTP-headers->MIME-types->new + - Edit '*' as extension and 'application/octet-stream' as MIME-type. + - Apply the changes. + - Select your IIS (the server as a whole, not just the WebDAV folder). + - From the menu choose actions->all tasks->save configuration on disk + - Restart IIS. + Please Note: + I had to retranslate the names of menu items from Microsoft's German. So the + exact naming in English might be different. diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..1c7be1c --- /dev/null +++ b/INSTALL @@ -0,0 +1,162 @@ +2009-04-12 +---------- + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty. + + +DAVFS2 1.3.2 INSTALLATION +========================= + + 1 UPDATING FROM PREVIOUS VERSION + 2 INSTALLATION + 2.1 PREREQUISITE + 2.2 INSTALLATION FROM CVS SOURCES + 2.3 INSTALLATION FROM SOURCE PACKAGE + 3 UNINSTALL + + +1 UPDATING FROM PREVIOUS VERSION +================================ + +'make install' copies new versions of davfs2.conf and secrets +into /usr/local/etc/davfs2 or /etc/davfs2 and creates a backup of the +existing files. You will have to merge your changes from the backup +into the new files. + +When a user invokes the new version of mount.davfs the first time, it +will only copy new versions of davfs2.conf and secrets into ~/.davfs2, +if this files do not exist. The user should rename this files before +invoking mount.davfs. After the new configuration files have been +installed the user may merge the changes form the old files into +the new versions. + + +UPDATING FROM 1.0.x +------------------- + +In davfs2 1.1.0 the organization of the permanent cache has changed +compared to the 1.0.x releases and the cache needs to be rebuild. Files +in the backup directory will be lost. So before installing the new version, +you should start your old version of mount.davfs a last time and save all +the files from the backup directory you may need some day. + + +2 INSTALLATION +============== + +2.1 PREREQUISITE +---------------- + +davfs2 uses the neon libraries for communication with the server. +libneon (2.5, 2.6, 2.7 or 2.8) must be installed. Your distribution will most +likely provide a package. +You will also need the neon header files. Distributions usually provide +development packages for this. +If your distribution don't come with libneon or it does not support TLS and +large files, you may build your own neon library. You can get it from +http://www.webdav.org/neon/ + +Your kernel must include either the coda file system or the fuse file system +or both. They may be loadable modules. Almost all Linux 2.4 and 2.6 kernels +support at least one of them. + + +2.2 INSTALLATION FROM CVS SOURCES +--------------------------------- + +To build davfs2 from the CVS sources you need recent versions of the some +build tools: + +- GNU Autoconf 2.61 or newer +- GNU Automake 1.10 or newer +- GNU gettext-tools 0.16.1 or newer +- po4a 0.29 or newer + +Change into the top level source directory and run + $ ./bootstrap + This will add some necessary files, create the configure script and the + Makefile.in's, and build the translated man pages from the po-files. + +Proceed with Installation from Source Package. + + +2.3 INSTALLATION FROM SOURCE PACKAGE +------------------------------------ + +From within the top level source directory: + +- Run the configure script. + $ ./configure [options] + This will test your system and finally create the appropriate Makefiles. + You may add some options or set some variables, but hopefully will not + have to. + + Options and variables: + ---------------------- + + --prefix= + Defines the directory where davfs2 will be installed. It defaults to + '/usr/local'. If your sources came with your distribution it may + be '/usr'. + + --with-neon= + Directory where to find the neon library and the neon headers. + Default is to first try /usr/local and then /usr. If you just have + neon libraries in /usr/lib and headers in /usr/include, you don't + need this. + + --disable-nls + Disable the support for national languages. + + LINGUAS="ll ll ll" + A list of two-letter language codes. This will select which of the + available translations of messages and documentation will be installed. + ll must be in lower case. + + dav_user= + A system user without shell. mount.davfs will run with this id when + invoked by root. Default dav_user is "davfs2". + + dav_group= + A system group. mount.davfs will be member of this group. Normal users + must be member of this group in order to mount. Default dav_group is + "davfs2". + + ./configure --help will show all available options. + +- Run make. + $ make + This will compile the program. + +- Gain root permissions and run make install. + # make install + This will copy all the files in the appropriate directory. + Note: 'mount.davfs' will be setuid root! + +- Create the system user 'davfs2' and group 'davfs2' if they not yet exist. + The system user should not have a shell. Proposed home directory is + '/var/cache/davfs2'. + +- Get rid of the root permissions. + + +3 UNINSTALL +=========== + +To uninstall davfs2 the sources have to be configured just the same way +they were configured for installation. + +From within the top level source directory run with root permissions + # make uninstall + This will remove all the installed files. + +Note: The directories will not be removed. + Files and directories created by mount.davfs at run-time will *not* be + removed too. + This are: pid-files (in /var/run/mount.davfs), cache files and + directories (in /var/cache/davfs2) and all the files in the users + home directories in .davfs2. + This files have to be removed manually. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..335b3c5 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,27 @@ +## Makefile for the toplevel directory of davfs2. +## 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. */ + +## Process this file with automake to produce Makefile.in + +EXTRA_DIST = bootstrap BUGS FAQ README.translators \ + config/COPYING.davfs2 config/INSTALL.davfs2 +SUBDIRS = po etc man src +ACLOCAL_AMFLAGS = -I config +doc_DATA = AUTHORS BUGS ChangeLog COPYING FAQ INSTALL NEWS README \ + README.translators THANKS TODO diff --git a/NEWS b/NEWS new file mode 100644 index 0000000..d993a72 --- /dev/null +++ b/NEWS @@ -0,0 +1,245 @@ +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty. + + +What is new in davfs2 1.4.0 +=========================== + +FIXME + + +What is new in davfs2 1.3.X +=========================== + +- The format of entries in the secrets file is changed. + It now uses the mount point as key, instead of the URL. + The old format is still recognized by davfs2. + +- When mount.davfs gets signal SIGTERM, it will not try to + upload dirty files to the server, but mark the cached files + as dirty to avoid too slow reaction (and get SIGKILL). The + files will be uploaded when mount.davfs runs the next time. + +- Added support for Neon 0.27 and 0.28, removed support for + Neon 0.24. + +- Scanning the cache for changed files and locks improved + to require less CPU-time. + +- Support for dav-quota. davfs2 will get available and used + storage space from the server if the server supports + RFC 4331. + +- Use conditional PUT and LOCK requests if possible. This is + still turned off by default, as the most widely used server + does not support it. But you should set "if_match_bug 0" for + Apache 2.2.8 and newer, as well as for many other servers. + This will save many unnecessary requests. + Conditional LOCKs will not work with neon 0.25. You should + update to neon 0.26, 0.27 or 0.28. + +- Reads environment variables https_proxy, http_proxy and + all_proxy, if no proxy is configured in the config files. + Reads environment variable no_proxy for hosts to access + directly, not via proxy. + +- MIME-type is accessible as extended attribute (read-only). + +- Option to add custom headers. + +- Added very simple Cookie-support. + Will not work with neon 0.25. You should update to neon 0.26, + 0.27 or 0.28. + +- New options: precheck, ignore_dav_header, if_match_bug, + delay_upload, drop_weak_etags and connect_timeout (1.3.3 only). + See 'man davfs2.conf' for details. + +- Removed option idle_time. + +- WebDAV-property displayname is no longer used by default + (it is defined to be *not* a name and mostly useless). + +- Fixed all known bugs (except one; see BUGS). + + +What is new in davfs2 1.2.2 +=========================== + +Debugging is not longer a compile time option but a run time +option. The amount of debugging output is controlled by the +davfs2.conf file. + + +What is new in davfs2 1.2.1 +=========================== + +This is a bug fix release. No new features. + + +What is new in davfs2 1.2.0 +=========================== + +- davfs2 now supports localized versions of messages and man pages + using GNU gettext and the po4a tools. Currently there is a German + translation, but other languages will follow. You are invited to + contribute. + +- davfs2 needs a system user 'davfs2' and a system group 'davfs2'. + Normal users must be member of group 'davfs2' in order to mount + (no longer group 'users'). You may change the system user and + group at configuration time. You will have to create the system + user and group manually. The system user should not have a shell. + Proposed home directory is '/var/cache/davfs2', but this does not + matter. + +- davfs2 supports client certificates. + +- davfs2 can use server certificates, stored on disk, that can not + be verified the normal way, like self-made certificates. + +- davfs can translate the encoding of file names. + +- There are two new man pages: umount.davfs and davfs2.conf. + +- File system is mounted, even when the first request times out. + When access to the file system is tried, an error is returned + until the connection comes up. (This feature had been removed + in the last release by mistake.) + + +What is new in davfs2 1.1.4 +=========================== + +Please be sure to read section "0 UPDATING FROM PREVIOUS VERSION" of +the README file to avoid loss of data. + +This version fixes bugs that have become known since the last release. + +- The kernel interface module for fuse kernel version 7 crashed. Now + the fuse interface will work with kernel 2.6.14 and higher. + +- The handling of file times has been adjusted. The modification time + will no longer change unexpectedly, thus confusing some applications + (bug 1596104). + +- davfs2 will check server capabilities at start up to decide whether + locks may be used. As a side effect this also fixes interoperation + problems with the gmx-server (bug 1594808). + +- The default time to refresh directory information is reduced to + 60 s. Every time a directory is opened, the directory content is + newly retrieved from the server. Remote changes will get visible + earlier this way, but performance may decrease. Please send a bug + report if the performance decrease is unacceptable. + + +What is new in davfs2 1.1.3 +=========================== + +Please be sure to read section "0 UPDATING FROM PREVIOUS VERSION" of +the README file to avoid loss of data. + +- There is a umount helper umount.davfs. It will be called by umount + and make sure that umount will not return before mount.davfs has + saved back all data that changed in cache. So umount with davfs2 + now shows the same behaviour as with local file systems. + +- The new configuration option 'gui_optimize' will speed up the + display of large directories on graphical user interfaces (once + the files are cached). + +- The configuration options 'expire' and 'get_wait' have been + renamed into 'dir_refresh' and 'file_refresh'. + +- The use of the HTTP-Header 'Expect: 100-Continue' is now a + configuration option, as some servers don't understand it. + +- Known bugs are fixed and some changes are done to improve + performance (see ChangeLog). + + +What is new in davfs2 1.1.0 +=========================== + +Please be sure to read section "0 UPDATING FROM PREVIOUS VERSION" of +the README file to avoid loss of data. + +- davfs2 can now use the fuse kernel file system besides coda. + +- Neon library version 0.24, 0.25 and 0.26 are now supported. Version + 0.26 allows to use gnutls instead of openssl. + +- Support for large files (> 2 GiByte) added. + +- davfs2 now uses time-outs on locks to reduce problems with stale + locks. But not all servers will honour this. + +- No more URL-encoding of server URLs with spaces (see man-page). + +- davfs2 allows to set configuration options differently for different + mount points. + +- The name of the backup directory is changed to the well known + "lost+found". But you may configure something else. + +The following bugs should have gone: + +- [ 1519718 ] davfs2 fails to properly decode complex escape sequences +- [ 1522903 ] chokes on directory names containing ' _ % characters +- [ 1539444 ] mounting of webdav drive fails +- [ 1539445 ] unable to access files in mounted webdav drive +- [ 1558525 ] davfs2-1.0.2_p20060820 mount fails + + These bugs were related to incorrect alignment of data structures on + 64 bit systems, incorrect treatment of the WebDAV property "displayname" + and incorrect double URL-decoding of URLs. + + Problems with notifying the kernel of changes on the server are solved too. + + +What is new in davfs2 1.0.0 +=========================== + +davfs2 1.0.0 is an almost complete rewrite of davfs2. it introduces the +following features into davfs2: + +- The same binary now supports different versions of the coda kernel + module (CODA_KERNEL_VERSION 2 and 3). The version is evaluated at + run time. + +- Extended caching: davfs2 now caches information about all visited + files and directories at runtime in memory. This will speed up + operation and it is necessary to enable operations like chmod or + chown, as the WebDAV-servers usually do not know about this. + +- Persistent cache: davfs2 will save all downloaded files in a cache + directory. This cache will persist when the file system is unmounted + and will be reused, when mounted again. This should save a lot of + network traffic, as files that did not change on the server will not + be downloaded again. Especially when working with graphical user + interfaces this will make a big difference, since some of them will + open almost every file in a directory, though they just need a + directory listing. + +- Unix Permissions: davfs2 now implements standard Unix permissions. + Options uid, gid, file_mode and dir_mode are enabled again. This + allows the mounting user to share the file system with other local + users. + Note: The WebDAV server still does not know about this. On the server + side there is still only one user (the user who's credentials are + used). Except the execute bit, mode, uid and gid are maintained + locally only. But they are saved in the persistent cache. + +- Configuration: There are a lot of new configuration options in + /etc/davfs2/davfs2.conf and ~/.davfs2/davfs2.conf. But usually + the defaults will do. + +As the code of davfs2 1.0.0 is quite different from davfs 0.2.x, bug +fixes that were done between davfs 0.2.4 and 0.2.8 could not be +ported automatically to davfs2 1.0.0. So some of the old bugs may +reappear together with the new ones I introduced. + + diff --git a/README b/README new file mode 100644 index 0000000..4136bad --- /dev/null +++ b/README @@ -0,0 +1,240 @@ +2009-04-12 +---------- + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty. + + +DAVFS2 1.4.0 README +=================== + + 1 INTRODUCTION + 1.1 WHAT DAVFS2 IS INTENDED FOR + 1.2 WHAT DAVFS2 IS NOT INTENDED FOR + 2 SECURITY CONSIDERATIONS + 3 MOUNTING + 4 TLS / SSL + 5 CACHE + 6 TROUBLE SHOOTING + 7 KNOWN ISSUES + 8 CONTACT + + +1 INTRODUCTION +============== + +davfs2 is a Linux file system driver that allows you to mount a WebDAV +resource into your Unix file system tree. So - and that is what makes +davfs2 different - applications can use it without knowing about WebDAV. +You may edit WebDAV resources using standard applications that interact +with the file system as usual. + +davfs2 supports SSL and proxy, HTTP authentication (basic and digest) +and client certificates. + +1.1 WHAT DAVFS2 IS INTENDED FOR +------------------------------- + +- If you have documents you want to access from different locations, store + them on a WebDAV server accessible via Internet. Mount them with davfs2 + from wherever you want. + +- Use a WebDAV server as workspace for a geographically distributed work group. + +- A web site may be made accessible to the developers via WebDAV. So they + can mount with davfs2 and edit in place. + +1.2 WHAT DAVFS2 IS NOT INTENDED FOR +----------------------------------- + +davfs2 is not intended as a replacement for distributed file systems like +nfs, coda, cifs and similar. + +When davfs2 mounts a resource, it authenticates with the server using the +user-name and password it got from the mounting user. All requests to the +server are done on behalf of this WebDAV user. davfs2 does not handle different +WebDAV users within one mount. But this would be required for a distributed +file system. + +davfs2 is not a generic WebDAV client. davfs2 maps a WebDAV resource to a file +system. But as the file system interface and the WebDAV protocol are quite +different, this is not possible without losses. As a file system davfs2 cannot +use all the possibilities of WebDAV, and most WebDAV servers do not provide all +the information a file system usually requires. + +A specialised application with built-in WebDAV capabilities should be able to +make better use of the WebDAV protocol. Whether it really does, depends on the +implementation. But if a free WebDAV enabled application is available, you +might try it first. + + +2 SECURITY CONSIDERATIONS +========================= + +To allow non-root users mounting of WebDAV resources, mount.davfs is run +setuid root. To prevent inexperienced (or even malicious) users from introducing +dangerous content into system directories or other users home directory, +the administrator must have control over user mounts. + +- Non-root users can only mount using the normal mount program. There must + also be an entry in /etc/fstab. This can only be done by root. + +- To mount a WebDAV resource users must be member of dav_group (default is + group 'davfs2'). The administrator may use group membership to allow or + disallow mounting of WebDAV resources. + +mount.davfs starts with effective user-id 'root' to be able to mount. After +mounting it changes its id permanently to that of the mounting user. When +the mounting user is root, the mount.davfs daemon will run as user 'davfs2'. + + +3 MOUNTING +========== + +davfs2 comes with three manuals: mount.davfs, umount.davfs and davfs2.conf. + +When a normal user mounts a davfs2 file system for the first time, there +is not yet a user configuration file and a secrets file. So you will be asked +for the credentials. mount.davfs will create a hidden directory .davfs2 in +the users home directory, that holds configuration files, the cache and +certificates. You will want to edit this files afterwards. + +If you update from an older version, these files already exist and davfs2 +will not touch them. To allow mount.davfs installation of newer versions, +you might rename davfs2.conf and secrets and merge your changes into the +new versions. + +GUIs like Gnome and KDE provide means to mount file systems listed in +fstab. But at the moment there is no means to ask the user for credentials +etc. You must configure your davfs2 mounts, using davfs2.conf and secrets, +to allow mounting without user interaction for this to work. + +davfs2 needs a network connection to mount and also to unmount cleanly. So +automatic mounting at boot time and unmounting at shut down may not work +reliably. By default davfs2 mounts with option '_netdev' to inform the +operating system about this and allow correct handling. Whether this really +works depends on the details of the start-up and shut-down process and will +be different on different systems. So please test before you rely on this. + + +4 TLS / SSL +=========== + +The key question when using TLS/SSL is whether you can trust in the certificate +the server presents. There is no gain in security when you use strong +encryption for your communication with an attacker. There are also different +opinions on whether you can really trust in certificates issued by the well +known certificate 'authorities'. + +Nevertheless davfs2 insists on verification of server certificates. There +are three ways to do this: + +- davfs2 will use the CA-certificates of your system to verify the server + certificate. + +- You may store the server certificate in the certs directory and add a + configuration option to davfs2.conf. You will have to verify this certificate + by your own, as davfs2 will trust this certificate without further + verification. This should be useful with self-made server certificates. + If the server certificate is not self-signed, but signed by an unknown + CA, the certificate file must contain the server certificate and the + certificate of all the involved CA's. + +- The host-name of the server must match the subject-alt-name or the common + name of the certificate. + +- If a certificate can not be verified, mount.davfs will print information + about the certificate and ask the user. This will only be done, before + mount.davfs changes into daemon mode. + + +5 CACHE +======= + +There are two reasons for caching: + +- The coda kernel file system expects a local copy of the file to act on. + +- Many applications, especially those with graphical user interfaces, think + of file system calls as cheap and quick, which is not true when using a slow + connection to the Internet. Some graphical interfaces for file handling even + open every file in every directory they list, forcing davfs2 to download them + from the server. + +To avoid excessive network traffic, davfs2 now saves all downloaded files in a +cache directory and will hold the files, even when the file system is +unmounted. When the same file system is mounted again, it will reuse this +cached files. + +To avoid inconsistencies, davfs2 will do a conditional GET whenever a file is +opened (it will ask the server if there is a newer version, and download only +if there is). + +Many application use temporary files that will be deleted just after they have +been closed. So whenever a file is newly created or changed, davfs2 will wait +until it is closed and then wait another short period (configurable, default +is 10 seconds) before it will upload the changed version to server. This saves +a lot of unnecessary traffic, but the strategy still has to be enhanced. If +there are many files to be uploaded (e.g. after copying a directory) +mount.davfs may block quite some time, as it has to upload all the files. + + +6 TROUBLESHOOTING +================= + +In case davfs2 does not behave as you expect, there is some very useful free +software, to search for the reason: + +- Use any browser, telnet and 'openssl s_client' to test whether you can + connect to the server at all. + +- Cadaver is a WebDAV-client with an FTP-like interface. Besides the usual + FTP-commands it allows you to display and manipulate WebDAV-properties, e.g. + you can remove stale locks. (http://www.webdav.org/cadaver/) + +- You may set option 'debug most" in the davfs2.conf file. This will print a + lot of debug messages in one of your log files. + +- Wireshark (former Ethereal) will log and analyse the traffic between davfs2 + and the server. (http://www.wireshark.org/) + +- If you have access to the server's log files, they contain valuable + information. + +When sending a bug report, please include + +- the exact version of davfs2 and the source where you got it from. + +- a complete description of the bug and the actions that lead to the buggy + behaviour (please note: I usually do not know the acronyms of your favourite + applications, operating system and server. In many cases I never used them). + The exact commands you issued on the command line and the messages you got + from davfs2 are necessary to understand what's going on. + Please always send the original error and debug messages in full. Don't + replace them by your interpretation. + +- if possible, output from the above mentioned tools. + + +7 KNOWN ISSUES +============== + +- If the server does not support RFC 4331 (most servers don't), davfs2 cannot + calculate the free disk space on the server. But some applications + (e.g. nautilus) insist on this. So davfs can't help but lie. I tried to + make the numbers look funny, so you will notice they are faked. + + +8 CONTACT +========= + +davfs2 is an Free Software project hostet at +http://savannah.nongnu.org/projects/davfs2 or +http://savannah.nongnu.org/projects/davfs2 + +You can submit a bug-report or support-request at +http://savannah.nongnu.org/support/?func=additem&group=davfs2 or +http://savannah.nongnu.org/support/?func=additem&group=davfs2 + diff --git a/README.translators b/README.translators new file mode 100644 index 0000000..0e06d5a --- /dev/null +++ b/README.translators @@ -0,0 +1,85 @@ +2008-07-12 +---------- + +#Copyright (C) 2006, 2007, 2008 Werner Baumann + +#Copying and distribution of this file, with or without modification, are +#permitted in any medium without royalty. + + +davfs2 uses the GNU gettext utilities to support localized messages. +Information about GNU gettext may be found at +http://www.gnu.org/software/gettext/manual/ + +For the man pages (and probably other documentation in future), it makes use +of the po4a tools in order to keep translations of documentation maintainable. +po4a (http://po4a.alioth.debian.org/) applies the gettext tools to arbitrary +documentation. + + +Messages +-------- +All messages that need translation are in the file po/davfs2.pot. The +translated messages will be in po/ll.po, where ll is the two-letter country +code. +If you start a translation into a language not yet supported, you may just +take a copy of po/davfs2.pot for your ll.po file. + + +Man Pages +--------- +The .pot files of the man pages are in the man/ subdirectory together with +a configuration file for po4a to automatically build all the translated man +pages from the .po files. +There is a subdirectory for each language, named after the country code, that +holds the .po files and the addendum files. As usual the initial .po file can +be a copy of the .pot file. + + +Replacement Text in Man Pages +----------------------------- +davfs2 uses all uppercase strings enclosed in @-characters for strings that may +change with every version or at compile time (like @PACKAGE_STRING@ or +@SYS_CACHE_DIR@). They will be replaced at compile time by the correct value. +Please use them in your translation unaltered. To allow correct integration +into the translated text, here are the most probable values: + + @PACKAGE@ davfs2 + @PACKAGE_STRING@ davfs2 1.2.0 + @PROGRAM_NAME@ mount.davfs + @CONFIGFILE@ davfs2.conf + @SECRETSFILE@ secrets + @CERTS_DIR@ certs + @CLICERTS_DIR@ certs/private + @SYS_CONF_DIR@ /usr/local/etc/davfs2 or + /etc/davfs2 + @SYS_RUN@ /var/run/mount.davfs + @SYS_CACHE_DIR@ /var/cache/davfs2 + @USER@ davfs2 + @GROUP@ davfs2 + + +Additional Text +--------------- +At least you want to add a paragraph about the translators into the localized +man page. But maybe you feel the need for some more additions that are +not present in the English man page. +Unfortunately, these additions cannot be inserted directly into the .po file, +as the document structure must not differ from the original. So these +additions have to go into separate files, called addendum. +You can use the template man/template.translator to add a paragraph about +the translators. If you need more than this, you have to create additional +addendum files. Please see the po4a documentation for the syntax of the +PO4A-HEADER to mark the position where to add the text. +Please use the same character encoding as in the .po file. + + +Character Encoding +------------------ +** This issue seems to be fixed today and man pages are allowed to be + utf-8. But I am not really sure. ** +At the moment, the "man" tool, or at least one of its helper programs, do not +seem capable of handling UTF-8 encoding. Luckily, gettext can convert the +encoding when the translated man page is created. So you may use UTF-8 in the +.po file or any other encoding. But please tell me which character encoding +should be used when the man page is built. diff --git a/THANKS b/THANKS new file mode 100644 index 0000000..ca0942a --- /dev/null +++ b/THANKS @@ -0,0 +1,77 @@ +davfs2 THANKS 2009-04-12 +------------------------ + +Thanks to all the people that contributed by sending patches +and bug reports, patiently testing and hunting bugs, +and giving good advise. +============================================================ + +Reto Bachmann-Gmuer +Adrian Bridgett +Anthony Baxter +Luciano Bello +Vladimir Bormotov +butchie55 +Grahame Bowland +Ross Campbell +Laurent Cottereau +Stephen Coursen +DeltaPiSF +Daniel Drucker +Paul eater +Andrei Emeltchenko andrei.emeltchenko.news@gmail.com +Jan Engelhardt +Joe Feise +Toralf Förster +Justin Gombos +Bob Glickstein +Joao Gouveia +Yeon Gyoung +Jason Haar +Philipp Hahn +Jan Harkes +Martin Higham +Lauri Kaila +Hyunsop Kim +Vítězslav Kotrla +Alexander Jenisch +joe +Thomas Kemmer +SungHun Kim +Alan Knowles +Moriyoshi Koizumi +Martin F. Krafft +Masar +monstruooo +Muthu Kumar +Scott Lamb +Andreas Lauser +Reddy T. Mahesh +Juergen P. Messerer +Arkadiusz Miskiewicz +Maik Nijhuis +Joseph Wayne Norton +Tim Olsen +Joe Orton +Panu Outinen +Tero Pelander +David Popeck +Sean Reifschneider +Sebastian Reitenbach +Daniel Roche +Carl D. Roth +James Russell +Martin Samuelsson +Enrico Scelsa +Patrick Schipper +Tim Skirvin +Ville Skyttä +Robert Spier +Steven Stanek +Geoffroy Stévenne +Greg Stein +Lars Uffmann +Björn Voigt +Dag Wieers +Jim Whitehead +Marcin Zajączkowski diff --git a/TODO b/TODO new file mode 100644 index 0000000..783db95 --- /dev/null +++ b/TODO @@ -0,0 +1,6 @@ +davfs2 TODO 2009-03-29 +---------------------- + +- object oriented redisign of cache + +- multithreading for HTTP-requests and cache maintainance diff --git a/bootstrap b/bootstrap new file mode 100755 index 0000000..c2923f6 --- /dev/null +++ b/bootstrap @@ -0,0 +1,20 @@ +#!/bin/sh + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + +set -ex +autopoint --force +cd man; po4a po4a.conf; cd .. +aclocal -I config +autoheader +automake --add-missing --force-missing +autoconf +rm COPYING +rm INSTALL +cp -p config/COPYING.davfs2 COPYING +cp -p config/INSTALL.davfs2 INSTALL + diff --git a/config/COPYING.davfs2 b/config/COPYING.davfs2 new file mode 100644 index 0000000..10926e8 --- /dev/null +++ b/config/COPYING.davfs2 @@ -0,0 +1,675 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program 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. + + This program 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 program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + diff --git a/config/INSTALL.davfs2 b/config/INSTALL.davfs2 new file mode 100644 index 0000000..1c7be1c --- /dev/null +++ b/config/INSTALL.davfs2 @@ -0,0 +1,162 @@ +2009-04-12 +---------- + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty. + + +DAVFS2 1.3.2 INSTALLATION +========================= + + 1 UPDATING FROM PREVIOUS VERSION + 2 INSTALLATION + 2.1 PREREQUISITE + 2.2 INSTALLATION FROM CVS SOURCES + 2.3 INSTALLATION FROM SOURCE PACKAGE + 3 UNINSTALL + + +1 UPDATING FROM PREVIOUS VERSION +================================ + +'make install' copies new versions of davfs2.conf and secrets +into /usr/local/etc/davfs2 or /etc/davfs2 and creates a backup of the +existing files. You will have to merge your changes from the backup +into the new files. + +When a user invokes the new version of mount.davfs the first time, it +will only copy new versions of davfs2.conf and secrets into ~/.davfs2, +if this files do not exist. The user should rename this files before +invoking mount.davfs. After the new configuration files have been +installed the user may merge the changes form the old files into +the new versions. + + +UPDATING FROM 1.0.x +------------------- + +In davfs2 1.1.0 the organization of the permanent cache has changed +compared to the 1.0.x releases and the cache needs to be rebuild. Files +in the backup directory will be lost. So before installing the new version, +you should start your old version of mount.davfs a last time and save all +the files from the backup directory you may need some day. + + +2 INSTALLATION +============== + +2.1 PREREQUISITE +---------------- + +davfs2 uses the neon libraries for communication with the server. +libneon (2.5, 2.6, 2.7 or 2.8) must be installed. Your distribution will most +likely provide a package. +You will also need the neon header files. Distributions usually provide +development packages for this. +If your distribution don't come with libneon or it does not support TLS and +large files, you may build your own neon library. You can get it from +http://www.webdav.org/neon/ + +Your kernel must include either the coda file system or the fuse file system +or both. They may be loadable modules. Almost all Linux 2.4 and 2.6 kernels +support at least one of them. + + +2.2 INSTALLATION FROM CVS SOURCES +--------------------------------- + +To build davfs2 from the CVS sources you need recent versions of the some +build tools: + +- GNU Autoconf 2.61 or newer +- GNU Automake 1.10 or newer +- GNU gettext-tools 0.16.1 or newer +- po4a 0.29 or newer + +Change into the top level source directory and run + $ ./bootstrap + This will add some necessary files, create the configure script and the + Makefile.in's, and build the translated man pages from the po-files. + +Proceed with Installation from Source Package. + + +2.3 INSTALLATION FROM SOURCE PACKAGE +------------------------------------ + +From within the top level source directory: + +- Run the configure script. + $ ./configure [options] + This will test your system and finally create the appropriate Makefiles. + You may add some options or set some variables, but hopefully will not + have to. + + Options and variables: + ---------------------- + + --prefix= + Defines the directory where davfs2 will be installed. It defaults to + '/usr/local'. If your sources came with your distribution it may + be '/usr'. + + --with-neon= + Directory where to find the neon library and the neon headers. + Default is to first try /usr/local and then /usr. If you just have + neon libraries in /usr/lib and headers in /usr/include, you don't + need this. + + --disable-nls + Disable the support for national languages. + + LINGUAS="ll ll ll" + A list of two-letter language codes. This will select which of the + available translations of messages and documentation will be installed. + ll must be in lower case. + + dav_user= + A system user without shell. mount.davfs will run with this id when + invoked by root. Default dav_user is "davfs2". + + dav_group= + A system group. mount.davfs will be member of this group. Normal users + must be member of this group in order to mount. Default dav_group is + "davfs2". + + ./configure --help will show all available options. + +- Run make. + $ make + This will compile the program. + +- Gain root permissions and run make install. + # make install + This will copy all the files in the appropriate directory. + Note: 'mount.davfs' will be setuid root! + +- Create the system user 'davfs2' and group 'davfs2' if they not yet exist. + The system user should not have a shell. Proposed home directory is + '/var/cache/davfs2'. + +- Get rid of the root permissions. + + +3 UNINSTALL +=========== + +To uninstall davfs2 the sources have to be configured just the same way +they were configured for installation. + +From within the top level source directory run with root permissions + # make uninstall + This will remove all the installed files. + +Note: The directories will not be removed. + Files and directories created by mount.davfs at run-time will *not* be + removed too. + This are: pid-files (in /var/run/mount.davfs), cache files and + directories (in /var/cache/davfs2) and all the files in the users + home directories in .davfs2. + This files have to be removed manually. diff --git a/config/davfs2.m4 b/config/davfs2.m4 new file mode 100644 index 0000000..7f08861 --- /dev/null +++ b/config/davfs2.m4 @@ -0,0 +1,170 @@ +# davfs2 macros +# Copyright (C) 2006, 2007, 2008 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. */ + + +# Check for an external Neon library +# Looks for the binary 'neon-config'. If a directory is given with +# --with-neon=, it looks in the bin-subdirectory of this, else it uses +# AC_PATH_PROG to find 'neon-config'. +# If found, it sets variable NRON_CONFIG and calls NEON_USE_EXTERNAL. +# if not found, or if NEON_USE_EXTERNAL does not set neon_got_library +# to yes, configration is stopped with an error message. + +AC_DEFUN([DAV_CHECK_NEON],[ + + AC_ARG_WITH(neon, + [ --with-neon[[=DIR]] specify location of neon library], + [case $withval in + yes|no) neon_ext_path= ;; + *) neon_ext_path=$withval ;; + esac;], + [neon_ext_path=] + ) + + neon_got_library=no + if test "x$neon_ext_path" = "x"; then + AC_PATH_PROG([NEON_CONFIG], neon-config, none) + if test "x${NEON_CONFIG}" = "xnone"; then + AC_MSG_NOTICE([no external neon library found]) + elif test -x "${NEON_CONFIG}"; then + NEON_USE_EXTERNAL + else + AC_MSG_NOTICE([ignoring non-executable ${NEON_CONFIG}]) + fi + else + AC_MSG_CHECKING([for neon library in $neon_ext_path]) + NEON_CONFIG="$neon_ext_path/bin/neon-config" + if test -x ${NEON_CONFIG}; then + AC_MSG_RESULT([found]) + NEON_USE_EXTERNAL + else + AC_MSG_RESULT([not found]) + fi + fi + + if test "$neon_got_library" = "no"; then + AC_MSG_ERROR(could not find neon) + fi + + AC_SUBST(NEON_LIBS) +]) + + +# Setting uid and gid, mount.davfs will run as, and some pathes. + +AC_DEFUN([DAV_DEFAULTS],[ + + AC_ARG_VAR([dav_user], + [if invoked by root, mount.davfs runs as this user [davfs2]]) + if test -z "$dav_user"; then dav_user="davfs2"; fi + + AC_ARG_VAR([dav_group], + [the group, the mount.davfs daemon belongs to [davfs2]]) + if test -z "$dav_group"; then dav_group="davfs2"; fi + + AC_ARG_VAR([ssbindir], + [where mount will search for mount-helpers [/sbin]]) + if test -z "$ssbindir"; then ssbindir="/sbin"; fi + + AC_ARG_VAR([dav_localstatedir], + [directory to store pid-files in [/var/run]]) + if test -z "$dav_localstatedir"; then dav_localstatedir="/var/run"; fi + + AC_ARG_VAR([dav_syscachedir], + [cache directory [/var/cache]]) + if test -z "$dav_syscachedir"; then dav_syscachedir="/var/cache"; fi +]) + + +# Select the languages for documentation and messages +# The langusges available for documentation ar taken from man/po4a.conf. +# If variable LINGUAS is set, only languages that are available and +# mentioned in LINGUAS are selected, otherwise all available languages +# are selected. Substitutes $dav_linguas in output files with this value. +# The languages for messages are selected by po.m4 macros, that use the +# same variable LINGUAS. + +AC_DEFUN([DAV_LINGUAS],[ + + AC_ARG_VAR([LINGUAS], + [select languages for messages and documentation]) + dav_desired_linguas="${LINGUAS-%UNSET%}" + + dav_all_linguas= + if test -f "man/po4a.conf"; then + dav_all_linguas="`cat 'man/po4a.conf' | grep '[po4a_langs]' | sed 's/.po4a_langs.//'`" + fi + + dav_linguas= + if test "$dav_desired_linguas" == "%UNSET%"; then + dav_linguas="$dav_all_linguas" + else + for dav_lingua in $dav_desired_linguas; do + case "$dav_all_linguas" in + *"$dav_lingua"*) dav_linguas="$dav_linguas $dav_lingua";; + esac + done + fi + + AC_SUBST([dav_linguas]) +]) + + +# If Neon supports large files, it calls AC_SYS_LARGEFILE. +# dav_lfs is set to yes, if neon and the system support large files. + +AC_DEFUN([DAV_LFS],[ + + AC_REQUIRE([DAV_CHECK_NEON])dnl + + if test "$ne_LFS_message" = "LFS is supported by neon"; then + AC_SYS_LARGEFILE + fi + + if test "$ac_cv_sys_file_offset_bits" = "64"; then + dav_lfs=yes + else + dav_lfs=no + fi +]) + + +# Output summary + +AC_DEFUN([DAV_MESSAGE],[ + + if test "$USE_NLS" = "yes"; then + dav_nls=${gt_source} + else + dav_nls=no + fi + +cat< -*- autoconf -*- +# Copyright (C) 2004 Aleix Conchillo Flaque +# +# This file is free software; you may copy and/or distribute it with +# or without modifications, as long as this notice is preserved. +# This software is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. + +# The above license applies to THIS FILE ONLY, the neon library code +# itself may be copied and distributed under the terms of the GNU +# LGPL, see COPYING.LIB for more details + +# This file is part of the neon HTTP/WebDAV client library. +# See http://www.webdav.org/neon/ for the latest version. +# Please send any feedback to + +# +# Usage: +# +# NEON_LIBRARY +# or NEON_BUNDLED(srcdir, [ACTIONS-IF-BUNDLED], [ACTIONS-IF-NOT_BUNDLED]) +# or NEON_VPATH_BUNDLED(srcdir, builddir, +# [ACTIONS-IF-BUNDLED], [ACTIONS-IF-NOT-BUNDLED]) +# +# where srcdir is the location of bundled neon 'src' directory. +# If using a VPATH-enabled build, builddir is the location of the +# build directory corresponding to srcdir. +# +# If a bundled build *is* being used, ACTIONS-IF-BUNDLED will be +# evaluated. These actions should ensure that 'make' is run +# in srcdir, and that one of NEON_NORMAL_BUILD or NEON_LIBTOOL_BUILD +# is called. +# +# After calling one of the above macros, if the NEON_NEED_XML_PARSER +# variable is set to "yes", then you must configure an XML parser +# too. You can do this your own way, or do it easily using the +# NEON_XML_PARSER() macro. Example usage for where we have bundled the +# neon sources in a directory called libneon, and bundled expat +# sources in a directory called 'expat'. +# +# NEON_BUNDLED(libneon, [ +# NEON_XML_PARSER(expat) +# NEON_NORMAL_BUILD +# ]) +# +# Alternatively, for a simple standalone app with neon as a +# dependancy, use just: +# +# NEON_LIBRARY +# +# and rely on the user installing neon correctly. +# +# You are free to configure an XML parser any other way you like, +# but the end result must be, either expat or libxml will get linked +# in, and HAVE_EXPAT or HAVE_LIBXML is defined appropriately. +# +# To set up the bundled build environment, call +# +# NEON_NORMAL_BUILD +# or +# NEON_LIBTOOL_BUILD +# +# depending on whether you are using libtool to build, or not. +# Both these macros take an optional argument specifying the set +# of object files you wish to build: if the argument is not given, +# all of neon will be built. + +AC_DEFUN([NEON_BUNDLED],[ + +neon_bundled_srcdir=$1 +neon_bundled_builddir=$1 + +NEON_COMMON_BUNDLED([$2], [$3]) + +]) + +AC_DEFUN([NEON_VPATH_BUNDLED],[ + +neon_bundled_srcdir=$1 +neon_bundled_builddir=$2 +NEON_COMMON_BUNDLED([$3], [$4]) + +]) + +AC_DEFUN([NEON_COMMON_BUNDLED],[ + +AC_PREREQ(2.50) + +AC_ARG_WITH(included-neon, +AS_HELP_STRING([--with-included-neon], [force use of included neon library]), +[neon_force_included="$withval"], [neon_force_included="no"]) + +NEON_COMMON + +# The colons are here so there is something to evaluate +# in case the argument was not passed. +if test "$neon_force_included" = "yes"; then + : + $1 +else + : + $2 +fi + +]) + +dnl Not got any bundled sources: +AC_DEFUN([NEON_LIBRARY],[ + +AC_PREREQ(2.50) +neon_force_included=no +neon_bundled_srcdir= +neon_bundled_builddir= + +NEON_COMMON + +]) + +AC_DEFUN([NE_DEFINE_VERSIONS], [ + +NEON_VERSION="${NE_VERSION_MAJOR}.${NE_VERSION_MINOR}.${NE_VERSION_PATCH}${NE_VERSION_TAG}" + +AC_DEFINE_UNQUOTED([NEON_VERSION], ["${NEON_VERSION}"], + [Define to be the neon version string]) +AC_DEFINE_UNQUOTED([NE_VERSION_MAJOR], [(${NE_VERSION_MAJOR})], + [Define to be neon library major version]) +AC_DEFINE_UNQUOTED([NE_VERSION_MINOR], [(${NE_VERSION_MINOR})], + [Define to be neon library minor version]) +AC_DEFINE_UNQUOTED([NE_VERSION_PATCH], [(${NE_VERSION_PATCH})], + [Define to be neon library patch version]) +]) + +AC_DEFUN([NE_VERSIONS_BUNDLED], [ + +# Define the current versions. +NE_VERSION_MAJOR=0 +NE_VERSION_MINOR=26 +NE_VERSION_PATCH=1 +NE_VERSION_TAG= + +# libtool library interface versioning. Release policy dictates that +# for neon 0.x.y, each x brings an incompatible interface change, and +# each y brings no interface change, and since this policy has been +# followed since 0.1, x == CURRENT, y == RELEASE, 0 == AGE. For +# 1.x.y, this will become N + x == CURRENT, y == RELEASE, x == AGE, +# where N is constant (and equal to CURRENT + 1 from the final 0.x +# release) +NEON_INTERFACE_VERSION="${NE_VERSION_MINOR}:${NE_VERSION_PATCH}:0" + +NE_DEFINE_VERSIONS + +]) + +dnl Define the minimum required versions, usage: +dnl NE_REQUIRE_VERSIONS([major-version], [minor-versions]) +dnl e.g. +dnl NE_REQUIRE_VERSIONS([0], [24 25]) +dnl to require neon 0.24.x or neon 0.25.x. +AC_DEFUN([NE_REQUIRE_VERSIONS], [ +m4_define([ne_require_major], [$1]) +m4_define([ne_require_minor], [$2]) +]) + +dnl Check that the external library found in a given location +dnl matches the min. required version (if any). Requires that +dnl NEON_CONFIG be set the the full path of a valid neon-config +dnl script +dnl +dnl Usage: +dnl NEON_CHECK_VERSION(ACTIONS-IF-OKAY, ACTIONS-IF-FAILURE) +dnl +AC_DEFUN([NEON_CHECK_VERSION], [ +m4_ifdef([ne_require_major], [ + # Check whether the library is of required version + ne_save_LIBS="$LIBS" + ne_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS `$NEON_CONFIG --cflags`" + LIBS="$LIBS `$NEON_CONFIG --libs`" + ne_libver=`$NEON_CONFIG --version | sed -e "s/neon //g"` + # Check whether it's possible to link against neon + AC_CACHE_CHECK([linking against neon], [ne_cv_lib_neon], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[#include ]], [[ne_version_match(0, 0);]])], + [ne_cv_lib_neon=yes], [ne_cv_lib_neon=no])]) + if test "$ne_cv_lib_neon" = "yes"; then + ne_cv_lib_neonver=no + for v in ne_require_minor; do + case $ne_libver in + ne_require_major.$v.*) ne_cv_lib_neonver=yes ;; + esac + done + fi + ne_goodver=$ne_cv_lib_neonver + LIBS=$ne_save_LIBS + CFLAGS=$ne_save_CFLAGS +], [ + # NE_REQUIRE_VERSIONS not used; presume all versions OK! + ne_goodver=yes + ne_libver="(version unknown)" +]) + +if test "$ne_goodver" = "yes"; then + AC_MSG_NOTICE([using neon library $ne_libver]) + $1 +else + AC_MSG_NOTICE([incompatible neon library version $ne_libver: wanted ne_require_major.ne_require_minor]) + $2 +fi]) + +dnl NEON_CHECK_SUPPORT(feature, var, name) +AC_DEFUN([NEON_CHECK_SUPPORT], [ +if $NEON_CONFIG --support $1 >/dev/null; then + NE_ENABLE_SUPPORT($2, [$3 is supported by neon]) +else + NE_DISABLE_SUPPORT($2, [$3 is not supported by neon]) +fi +]) + +dnl enable support for feature $1 with define NE_HAVE_$1, message $2 +AC_DEFUN([NE_ENABLE_SUPPORT], [ +NE_FLAG_$1=yes +AC_SUBST(NE_FLAG_$1) +AC_DEFINE([NE_HAVE_]$1, 1, [Defined if $1 is supported]) +m4_if([$2], [], + [ne_$1_message="support enabled" + AC_MSG_NOTICE([$1 support is enabled])], + [ne_$1_message="$2" + AC_MSG_NOTICE([$2])]) +]) + +dnl Disable support for feature $1, giving message $2 +AC_DEFUN([NE_DISABLE_SUPPORT], [ +NE_FLAG_$1=no +AC_SUBST(NE_FLAG_$1) +m4_if([$2], [], + [ne_$1_message="not supported" + AC_MSG_NOTICE([$1 support is not enabled])], + [ne_$1_message="$2" + AC_MSG_NOTICE([$2])]) +]) + +AC_DEFUN([NEON_USE_EXTERNAL], [ +# Configure to use an external neon, given a neon-config script +# found at $NEON_CONFIG. +neon_prefix=`$NEON_CONFIG --prefix` +NEON_CHECK_VERSION([ + # Pick up CFLAGS and LIBS needed + CFLAGS="$CFLAGS `$NEON_CONFIG --cflags`" + NEON_LIBS="$NEON_LIBS `$NEON_CONFIG --libs`" + # Pick up library version + set dummy `$NEON_CONFIG --version | sed 's/\./ /g'` + NE_VERSION_MAJOR=[$]3; NE_VERSION_MINOR=[$]4; NE_VERSION_PATCH=[$]5 + NE_DEFINE_VERSIONS + neon_library_message="library in ${neon_prefix} (${NEON_VERSION})" + neon_xml_parser_message="using whatever neon uses" + NEON_CHECK_SUPPORT([ssl], [SSL], [SSL]) + NEON_CHECK_SUPPORT([zlib], [ZLIB], [zlib]) + NEON_CHECK_SUPPORT([ipv6], [IPV6], [IPv6]) + NEON_CHECK_SUPPORT([lfs], [LFS], [LFS]) + NEON_CHECK_SUPPORT([socks], [SOCKS], [SOCKSv5]) + NEON_CHECK_SUPPORT([ts_ssl], [TS_SSL], [thread-safe SSL]) + neon_got_library=yes +], [neon_got_library=no]) +]) + +AC_DEFUN([NEON_COMMON],[ + +AC_REQUIRE([NEON_COMMON_CHECKS]) + +AC_ARG_WITH(neon, +[ --with-neon[[=DIR]] specify location of neon library], +[case $withval in +yes|no) neon_force_external=$withval; neon_ext_path= ;; +*) neon_force_external=yes; neon_ext_path=$withval ;; +esac;], [ +neon_force_external=no +neon_ext_path= +]) + +if test "$neon_force_included" = "no"; then + # There is no included neon source directory, or --with-included-neon + # wasn't given (so we're not forced to use it). + + # Default to no external neon. + neon_got_library=no + if test "x$neon_ext_path" = "x"; then + AC_PATH_PROG([NEON_CONFIG], neon-config, none) + if test "x${NEON_CONFIG}" = "xnone"; then + AC_MSG_NOTICE([no external neon library found]) + elif test -x "${NEON_CONFIG}"; then + NEON_USE_EXTERNAL + else + AC_MSG_NOTICE([ignoring non-executable ${NEON_CONFIG}]) + fi + else + AC_MSG_CHECKING([for neon library in $neon_ext_path]) + NEON_CONFIG="$neon_ext_path/bin/neon-config" + if test -x ${NEON_CONFIG}; then + AC_MSG_RESULT([found]) + NEON_USE_EXTERNAL + else + AC_MSG_RESULT([not found]) + # ...will fail since force_external=yes + fi + fi + + if test "$neon_got_library" = "no"; then + if test $neon_force_external = yes; then + AC_MSG_ERROR([could not use external neon library]) + elif test -n "$neon_bundled_srcdir"; then + # Couldn't find external neon, forced to use bundled sources + neon_force_included="yes" + else + # Couldn't find neon, and don't have bundled sources + AC_MSG_ERROR(could not find neon) + fi + fi +fi + +if test "$neon_force_included" = "yes"; then + NE_VERSIONS_BUNDLED + AC_MSG_NOTICE([using bundled neon ($NEON_VERSION)]) + NEON_BUILD_BUNDLED="yes" + LIBNEON_SOURCE_CHECKS + CFLAGS="$CFLAGS -I$neon_bundled_srcdir" + NEON_LIBS="-L$neon_bundled_builddir -lneon $NEON_LIBS" + NEON_NEED_XML_PARSER=yes + neon_library_message="included libneon (${NEON_VERSION})" +else + # Don't need to configure an XML parser + NEON_NEED_XML_PARSER=no + NEON_BUILD_BUNDLED=no +fi + +AC_SUBST(NEON_BUILD_BUNDLED) + +]) + +dnl AC_SEARCH_LIBS done differently. Usage: +dnl NE_SEARCH_LIBS(function, libnames, [extralibs], [actions-if-not-found], +dnl [actions-if-found]) +dnl Tries to find 'function' by linking againt `-lLIB $NEON_LIBS' for each +dnl LIB in libnames. If link fails and 'extralibs' is given, will also +dnl try linking against `-lLIB extralibs $NEON_LIBS`. +dnl Once link succeeds, `-lLIB [extralibs]` is prepended to $NEON_LIBS, and +dnl `actions-if-found' are executed, if given. +dnl If link never succeeds, run `actions-if-not-found', if given, else +dnl give an error and fail configure. +AC_DEFUN([NE_SEARCH_LIBS], [ + +AC_CACHE_CHECK([for library containing $1], [ne_cv_libsfor_$1], [ +AC_LINK_IFELSE( + [AC_LANG_PROGRAM([], [[$1();]])], + [ne_cv_libsfor_$1="none needed"], [ +ne_sl_save_LIBS=$LIBS +ne_cv_libsfor_$1="not found" +for lib in $2; do + LIBS="$ne_sl_save_LIBS -l$lib $NEON_LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[$1();]])], + [ne_cv_libsfor_$1="-l$lib"; break]) + m4_if($3, [], [], dnl If $3 is specified, then... + [LIBS="$ne_sl_save_LIBS -l$lib $3 $NEON_LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[$1();]])], + [ne_cv_libsfor_$1="-l$lib $3"; break])]) +done +LIBS=$ne_sl_save_LIBS])]) + +if test "$ne_cv_libsfor_$1" = "not found"; then + m4_if([$4], [], [AC_MSG_ERROR([could not find library containing $1])], [$4]) +elif test "$ne_cv_libsfor_$1" = "none needed"; then + m4_if([$5], [], [:], [$5]) +else + NEON_LIBS="$ne_cv_libsfor_$1 $NEON_LIBS" + $5 +fi]) + +dnl Check for presence and suitability of zlib library +AC_DEFUN([NEON_ZLIB], [ + +AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib], [disable zlib support]), +ne_use_zlib=$withval, ne_use_zlib=yes) + +if test "$ne_use_zlib" = "yes"; then + AC_CHECK_HEADER(zlib.h, [ + AC_CHECK_LIB(z, inflate, [ + NEON_LIBS="$NEON_LIBS -lz" + NE_ENABLE_SUPPORT(ZLIB, [zlib support enabled, using -lz]) + ], [NE_DISABLE_SUPPORT(ZLIB, [zlib library not found])]) + ], [NE_DISABLE_SUPPORT(ZLIB, [zlib header not found])]) +else + NE_DISABLE_SUPPORT(ZLIB, [zlib not enabled]) +fi +]) + +AC_DEFUN([NE_MACOSX], [ +# Check for Darwin, which needs extra cpp and linker flags. +AC_CACHE_CHECK([for Darwin], ne_cv_os_macosx, [ +case `uname -s 2>/dev/null` in +Darwin) ne_cv_os_macosx=yes ;; +*) ne_cv_os_macosx=no ;; +esac]) +if test $ne_cv_os_macosx = yes; then + CPPFLAGS="$CPPFLAGS -no-cpp-precomp" + LDFLAGS="$LDFLAGS -flat_namespace" + # poll has various issues in various Darwin releases + if test x${ac_cv_func_poll+set} != xset; then + ac_cv_func_poll=no + fi +fi +]) + +AC_DEFUN([NEON_COMMON_CHECKS], [ + +# These checks are done whether or not the bundled neon build +# is used. + +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_ISC_POSIX]) +AC_REQUIRE([AC_C_INLINE]) +AC_REQUIRE([AC_C_CONST]) +AC_REQUIRE([AC_TYPE_SIZE_T]) +AC_REQUIRE([AC_TYPE_OFF_T]) + +AC_REQUIRE([NE_MACOSX]) + +AC_REQUIRE([AC_PROG_MAKE_SET]) + +AC_REQUIRE([AC_HEADER_STDC]) + +AC_CHECK_HEADERS([errno.h stdarg.h string.h stdlib.h]) + +NEON_FORMAT(size_t,,u) dnl size_t is unsigned; use %u formats +NEON_FORMAT(off_t) +NEON_FORMAT(ssize_t) + +]) + +AC_DEFUN([NEON_FORMAT_PREP], [ +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(long long) +if test "$GCC" = "yes"; then + AC_CACHE_CHECK([for gcc -Wformat -Werror sanity], ne_cv_cc_werror, [ + # See whether a simple test program will compile without errors. + ne_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -Wformat -Werror" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], [[int i = 42; printf("%d", i);]])], + [ne_cv_cc_werror=yes], [ne_cv_cc_werror=no]) + CPPFLAGS=$ne_save_CPPFLAGS]) + ne_fmt_trycompile=$ne_cv_cc_werror +else + ne_fmt_trycompile=no +fi +]) + +dnl Check for LFS support +AC_DEFUN([NE_LARGEFILE], [ +dnl Need the size of off_t +AC_REQUIRE([NEON_COMMON_CHECKS]) + +if test -z "$ac_cv_sizeof_off_t"; then + NE_DISABLE_SUPPORT(LFS, [LFS support omitted: off_t size unknown!]) +elif test $ac_cv_sizeof_off_t != 4; then + NE_DISABLE_SUPPORT(LFS, [LFS support unnecessary, off_t is not 32-bit]) + AC_CHECK_FUNCS([strtoll strtoq], [break]) +elif test -z "$ac_cv_sizeof_long_long"; then + NE_DISABLE_SUPPORT(LFS, [LFS support omitted: long long size unknown]) +elif test $ac_cv_sizeof_long_long != 8; then + NE_DISABLE_SUPPORT(LFS, [LFS support omitted: long long not 64-bit]) +else + ne_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" + AC_CHECK_TYPE(off64_t, [ + NEON_FORMAT(off64_t) + ne_lfsok=no + AC_CHECK_FUNCS([strtoll strtoq], [ne_lfsok=yes; break]) + AC_CHECK_FUNCS([lseek64 fstat64], [], [ne_lfsok=no; break]) + if test x$ne_lfsok = xyes; then + NE_ENABLE_SUPPORT(LFS, [LFS (large file) support enabled]) + NEON_CFLAGS="$NEON_CFLAGS -D_LARGEFILE64_SOURCE -DNE_LFS" + ne_save_CPPFLAGS="$CPPFLAGS -DNE_LFS" + else + NE_DISABLE_SUPPORT(LFS, + [LFS support omitted: 64-bit support functions not found]) + fi], [NE_DISABLE_SUPPORT(LFS, [LFS support omitted: off64_t type not found])]) + CPPFLAGS=$ne_save_CPPFLAGS +fi]) + +dnl NEON_FORMAT(TYPE[, HEADERS[, [SPECIFIER]]) +dnl +dnl This macro finds out which modifier is needed to create a +dnl printf format string suitable for printing integer type TYPE (which +dnl may be an int, long, or long long). +dnl The default specifier is 'd', if SPECIFIER is not given. +dnl TYPE may be defined in HEADERS; sys/types.h is always used first. +AC_DEFUN([NEON_FORMAT], [ + +AC_REQUIRE([NEON_FORMAT_PREP]) + +AC_CHECK_SIZEOF($1, [$2]) + +dnl Work out which specifier character to use +m4_ifdef([ne_spec], [m4_undefine([ne_spec])]) +m4_if($#, 3, [m4_define(ne_spec,$3)], [m4_define(ne_spec,d)]) + +m4_ifdef([ne_cvar], [m4_undefine([ne_cvar])])dnl +m4_define([ne_cvar], m4_translit(ne_cv_fmt_[$1], [ ], [_]))dnl + +AC_CACHE_CHECK([how to print $1], [ne_cvar], [ +ne_cvar=none +if test $ne_fmt_trycompile = yes; then + oflags="$CPPFLAGS" + # Consider format string mismatches as errors + CPPFLAGS="$CPPFLAGS -Wformat -Werror" + dnl obscured for m4 quoting: "for str in d ld lld; do" + for str in ne_spec l]ne_spec[ ll]ne_spec[; do + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include +$2 +#include ]], [[$1 i = 1; printf("%$str", i);]])], + [ne_cvar=$str; break]) + done + CPPFLAGS=$oflags +else + # Best guess. Don't have to be too precise since we probably won't + # get a warning message anyway. + case $ac_cv_sizeof_]m4_translit($1, [ ], [_])[ in + $ac_cv_sizeof_int) ne_cvar="ne_spec" ;; + $ac_cv_sizeof_long) ne_cvar="l]ne_spec[" ;; + $ac_cv_sizeof_long_long) ne_cvar="ll]ne_spec[" ;; + esac +fi +]) + +if test "x$ne_cvar" = "xnone"; then + AC_MSG_ERROR([format string for $1 not found]) +fi + +AC_DEFINE_UNQUOTED([NE_FMT_]m4_translit($1, [a-z ], [A-Z_]), "$ne_cvar", + [Define to be printf format string for $1]) +]) + +dnl Wrapper for AC_CHECK_FUNCS; uses libraries from $NEON_LIBS. +AC_DEFUN([NE_CHECK_FUNCS], [ +ne_cf_save_LIBS=$LIBS +LIBS="$LIBS $NEON_LIBS" +AC_CHECK_FUNCS($@) +LIBS=$ne_cf_save_LIBS]) + +dnl Checks needed when compiling the neon source. +AC_DEFUN([LIBNEON_SOURCE_CHECKS], [ + +dnl Run all the normal C language/compiler tests +AC_REQUIRE([NEON_COMMON_CHECKS]) + +dnl Needed for building the MD5 code. +AC_REQUIRE([AC_C_BIGENDIAN]) +dnl Is strerror_r present; if so, which variant +AC_REQUIRE([AC_FUNC_STRERROR_R]) + +AC_CHECK_HEADERS([sys/time.h limits.h sys/select.h arpa/inet.h libintl.h \ + signal.h sys/socket.h netinet/in.h netinet/tcp.h netdb.h sys/poll.h \ + sys/limits.h],,, +[AC_INCLUDES_DEFAULT +/* netinet/tcp.h requires netinet/in.h on some platforms. */ +#ifdef HAVE_NETINET_IN_H +#include +#endif]) + +AC_REQUIRE([NE_SNPRINTF]) + +AC_CACHE_CHECK([for timezone global], ne_cv_cc_timezone, [ +AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +#include ]], +[[time_t t = 0 - timezone;]])], +ne_cv_cc_timezone=yes, ne_cv_cc_timezone=no)]) + +if test "$ne_cv_cc_timezone" = "yes"; then + AC_DEFINE([HAVE_TIMEZONE], 1, [Define if the timezone global is available]) +fi + +dnl Check for large file support +NE_LARGEFILE + +AC_REPLACE_FUNCS(strcasecmp) + +AC_CHECK_FUNCS(signal setvbuf setsockopt stpcpy poll) + +if test "x${ac_cv_func_poll}${ac_cv_header_sys_poll_h}y" = "xyesyesy"; then + AC_DEFINE([NE_USE_POLL], 1, [Define if poll() should be used]) +fi + +if test "$ac_cv_func_stpcpy" = "yes"; then + AC_CHECK_DECLS(stpcpy) +fi + +# Modern AIXes with the "Linux-like" libc have an undeclared stpcpy +AH_BOTTOM([#if defined(HAVE_STPCPY) && defined(HAVE_DECL_STPCPY) && !HAVE_DECL_STPCPY && !defined(stpcpy) +char *stpcpy(char *, const char *); +#endif]) + +# Unixware 7 can only link gethostbyname with -lnsl -lsocket +# Pick up -lsocket first, then the gethostbyname check will work. +NE_SEARCH_LIBS(socket, socket inet ws2_32) + +# Enable getaddrinfo support if it, gai_strerror and inet_ntop are +# all available. +NE_SEARCH_LIBS(getaddrinfo, nsl,, + [ne_enable_gai=no], + [# HP-UX boxes commonly get into a state where getaddrinfo is present + # but borked: http://marc.theaimsgroup.com/?l=apr-dev&m=107730955207120&w=2 + case x`uname -sr 2>/dev/null`y in + xHP-UX*11.[[01]]*y) + AC_MSG_NOTICE([getaddrinfo support disabled on HP-UX 11.0x/11.1x]) ;; + *) + ne_enable_gai=yes + NE_CHECK_FUNCS(gai_strerror inet_ntop,,[ne_enable_gai=no; break]) ;; + esac +]) + +if test $ne_enable_gai = yes; then + NE_ENABLE_SUPPORT(IPV6, [IPv6 support is enabled]) + AC_DEFINE(USE_GETADDRINFO, 1, [Define if getaddrinfo() should be used]) + AC_CACHE_CHECK([for working AI_ADDRCONFIG], [ne_cv_gai_addrconfig], [ + AC_RUN_IFELSE([AC_LANG_PROGRAM([#include ], +[struct addrinfo hints = {0}, *result; +hints.ai_flags = AI_ADDRCONFIG; +if (getaddrinfo("localhost", NULL, &hints, &result) != 0) return 1;])], + ne_cv_gai_addrconfig=yes, ne_cv_gai_addrconfig=no, ne_cv_gai_addrconfig=no)]) + if test $ne_cv_gai_addrconfig = yes; then + AC_DEFINE(USE_GAI_ADDRCONFIG, 1, [Define if getaddrinfo supports AI_ADDRCONFIG]) + fi +else + # Checks for non-getaddrinfo() based resolver interfaces. + # QNX has gethostbyname in -lsocket. BeOS only has it in -lbind. + # CygWin/Winsock2 has it in -lws2_32, allegedly. + NE_SEARCH_LIBS(gethostbyname, socket nsl bind) + NE_SEARCH_LIBS(hstrerror, resolv,,[:]) + NE_CHECK_FUNCS(hstrerror) + # Older Unixes don't declare h_errno. + AC_CHECK_DECLS(h_errno,,,[#define _XOPEN_SOURCE_EXTENDED 1 +#include ]) + AC_CHECK_TYPE(in_addr_t,,[ + AC_DEFINE([in_addr_t], [unsigned int], + [Define if in_addr_t is not availale])], [ +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_NETINET_IN_H +# include +#endif +]) +fi + +AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,, + [#include ]) + +if test $ac_cv_member_struct_tm_tm_gmtoff$ac_cv_member_struct_tm___tm_gmtoff = nono; then + AC_MSG_WARN([no timezone handling in date parsing on this platform]) +fi + +ifdef([neon_no_zlib], + [NE_DISABLE_SUPPORT(ZLIB, [zlib not supported])], + [NEON_ZLIB()]) + +# Conditionally enable ACL support +AC_MSG_CHECKING([whether to enable ACL support in neon]) +if test "x$neon_no_acl" = "xyes"; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + NEON_EXTRAOBJS="$NEON_EXTRAOBJS ne_acl" +fi + +NEON_SSL() +NEON_SOCKS() +NEON_GSSAPI() + +AC_SUBST(NEON_CFLAGS) +AC_SUBST(NEON_LIBS) +AC_SUBST(NEON_LTLIBS) + +]) + +dnl Call to put lib/snprintf.o in LIBOBJS and define HAVE_SNPRINTF_H +dnl if snprintf isn't in libc. + +AC_DEFUN([NEON_REPLACE_SNPRINTF], [ +# Check for snprintf +AC_CHECK_FUNC(snprintf,,[ + AC_DEFINE(HAVE_SNPRINTF_H, 1, [Define if need to include snprintf.h]) + AC_LIBOBJ(lib/snprintf)]) +]) + +dnl turn off webdav, boo hoo. +AC_DEFUN([NEON_WITHOUT_WEBDAV], [ +neon_no_webdav=yes +neon_no_acl=yes +NEON_NEED_XML_PARSER=no +neon_xml_parser_message="none needed" +]) + +dnl Turn off zlib support +AC_DEFUN([NEON_WITHOUT_ZLIB], [ +define(neon_no_zlib, yes) +]) + +AC_DEFUN([NEON_WITHOUT_ACL], [ +# Turn off ACL support +neon_no_acl=yes +]) + +dnl Common macro to NEON_LIBTOOL_BUILD and NEON_NORMAL_BUILD +dnl Sets NEONOBJS appropriately if it has not already been set. +dnl +dnl NOT FOR EXTERNAL USE: use LIBTOOL_BUILD or NORMAL_BUILD. +dnl + +AC_DEFUN([NEON_COMMON_BUILD], [ + +# Using the default set of object files to build. +# Add the extension to EXTRAOBJS +ne="$NEON_EXTRAOBJS" +NEON_EXTRAOBJS= +for o in $ne; do + NEON_EXTRAOBJS="$NEON_EXTRAOBJS $o.$NEON_OBJEXT" +done + +# Was DAV support explicitly turned off? +if test "x$neon_no_webdav" = "xyes"; then + # No WebDAV support + NEONOBJS="$NEONOBJS \$(NEON_BASEOBJS)" + NE_DISABLE_SUPPORT(DAV, [WebDAV support is not enabled]) +else + # WebDAV support + NEONOBJS="$NEONOBJS \$(NEON_DAVOBJS)" + NE_ENABLE_SUPPORT(DAV, [WebDAV support is enabled]) +fi + +AC_SUBST(NEON_TARGET) +AC_SUBST(NEON_OBJEXT) +AC_SUBST(NEONOBJS) +AC_SUBST(NEON_EXTRAOBJS) +AC_SUBST(NEON_LINK_FLAGS) + +]) + +# The libtoolized build case: +AC_DEFUN([NEON_LIBTOOL_BUILD], [ + +NEON_TARGET=libneon.la +NEON_OBJEXT=lo + +NEON_COMMON_BUILD($#, $*) + +]) + +dnl Find 'ar' and 'ranlib', fail if ar isn't found. +AC_DEFUN([NE_FIND_AR], [ + +# Search in /usr/ccs/bin for Solaris +ne_PATH=$PATH:/usr/ccs/bin +AC_PATH_TOOL(AR, ar, notfound, $ne_PATH) +if test "x$AR" = "xnotfound"; then + AC_MSG_ERROR([could not find ar tool]) +fi +AC_PATH_TOOL(RANLIB, ranlib, :, $ne_PATH) + +]) + +# The non-libtool build case: +AC_DEFUN([NEON_NORMAL_BUILD], [ + +NEON_TARGET=libneon.a +NEON_OBJEXT=o + +AC_REQUIRE([NE_FIND_AR]) + +NEON_COMMON_BUILD($#, $*) + +]) + +AC_DEFUN([NE_SNPRINTF], [ +AC_CHECK_FUNCS(snprintf vsnprintf,,[ + ne_save_LIBS=$LIBS + LIBS="$LIBS -lm" # Always need -lm + AC_CHECK_LIB(trio, trio_vsnprintf, + [AC_CHECK_HEADERS(trio.h,, + AC_MSG_ERROR([trio installation problem? libtrio found but not trio.h])) + AC_MSG_NOTICE(using trio printf replacement library) + NEON_LIBS="$NEON_LIBS -ltrio -lm" + AC_DEFINE(HAVE_TRIO, 1, [Use trio printf replacement library])], + [AC_MSG_NOTICE([no vsnprintf/snprintf detected in C library]) + AC_MSG_ERROR([Install the trio library from http://daniel.haxx.se/projects/trio/])]) + LIBS=$ne_save_LIBS + break +])]) + +dnl Usage: NE_CHECK_OPENSSLVER(variable, version-string, version-hex) +dnl Define 'variable' to 'yes' if OpenSSL version is >= version-hex +AC_DEFUN([NE_CHECK_OPENSSLVER], [ +AC_CACHE_CHECK([OpenSSL version is >= $2], $1, [ +AC_EGREP_CPP(good, [#include +#if OPENSSL_VERSION_NUMBER >= $3 +good +#endif], [$1=yes], [$1=no])])]) + +dnl Less noisy replacement for PKG_CHECK_MODULES +AC_DEFUN([NE_PKG_CONFIG], [ + +AC_PATH_PROG(PKG_CONFIG, pkg-config, no) +if test "$PKG_CONFIG" = "no"; then + : Not using pkg-config + $4 +else + AC_CACHE_CHECK([for $2 pkg-config data], ne_cv_pkg_$2, + [if $PKG_CONFIG $2; then + ne_cv_pkg_$2=yes + else + ne_cv_pkg_$2=no + fi]) + + if test "$ne_cv_pkg_$2" = "yes"; then + $1_CFLAGS=`$PKG_CONFIG --cflags $2` + $1_LIBS=`$PKG_CONFIG --libs $2` + : Using provided pkg-config data + $3 + else + : No pkg-config for $2 provided + $4 + fi +fi]) + +dnl Check for an SSL library (GNU TLS or OpenSSL) +AC_DEFUN([NEON_SSL], [ + +AC_ARG_WITH(ssl, + AS_HELP_STRING([--with-ssl=openssl|gnutls], + [enable SSL support (default OpenSSL)])) + +AC_ARG_WITH(egd, +[[ --with-egd[=PATH] enable EGD support [using EGD socket at PATH]]]) + +case $with_ssl in +/*) + AC_MSG_NOTICE([to use SSL libraries in non-standard locations, try --with-ssl --with-libs=$with_ssl]) + AC_MSG_ERROR([--with-ssl does not take a path argument]) + ;; +yes|openssl) + NE_PKG_CONFIG(NE_SSL, openssl, + [AC_MSG_NOTICE(using SSL library configuration from pkg-config) + CPPFLAGS="$CPPFLAGS ${NE_SSL_CFLAGS}" + NEON_LIBS="$NEON_LIBS ${NE_SSL_LIBS}"], + [# Either OpenSSL library may require -ldl if built with dynamic engine support + NE_SEARCH_LIBS(RSA_new, crypto, -ldl) + NE_SEARCH_LIBS(SSL_library_init, ssl, -ldl)]) + + AC_CHECK_HEADERS(openssl/ssl.h openssl/opensslv.h,, + [AC_MSG_ERROR([OpenSSL headers not found, cannot enable SSL support])]) + + # Enable EGD support if using 0.9.7 or newer + NE_CHECK_OPENSSLVER(ne_cv_lib_ssl097, 0.9.7, 0x00907000L) + if test "$ne_cv_lib_ssl097" = "yes"; then + AC_MSG_NOTICE([OpenSSL >= 0.9.7; EGD support not needed in neon]) + NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL (0.9.7 or later)]) + else + # Fail if OpenSSL is older than 0.9.6 + NE_CHECK_OPENSSLVER(ne_cv_lib_ssl096, 0.9.6, 0x00906000L) + if test "$ne_cv_lib_ssl096" != "yes"; then + AC_MSG_ERROR([OpenSSL 0.9.6 or later is required]) + fi + NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using OpenSSL (0.9.6 or later)]) + + case "$with_egd" in + yes|no) ne_cv_lib_sslegd=$with_egd ;; + /*) ne_cv_lib_sslegd=yes + AC_DEFINE_UNQUOTED([EGD_PATH], "$with_egd", + [Define to specific EGD socket path]) ;; + *) # Guess whether EGD support is needed + AC_CACHE_CHECK([whether to enable EGD support], [ne_cv_lib_sslegd], + [if test -r /dev/random || test -r /dev/urandom; then + ne_cv_lib_sslegd=no + else + ne_cv_lib_sslegd=yes + fi]) + ;; + esac + if test "$ne_cv_lib_sslegd" = "yes"; then + AC_MSG_NOTICE([EGD support enabled for seeding OpenSSL PRNG]) + AC_DEFINE([ENABLE_EGD], 1, [Define if EGD should be supported]) + fi + fi + + AC_DEFINE([HAVE_OPENSSL], 1, [Define if OpenSSL support is enabled]) + NEON_EXTRAOBJS="$NEON_EXTRAOBJS ne_openssl" + ;; +gnutls) + AC_PATH_PROG(GNUTLS_CONFIG, libgnutls-config, no) + + if test "$GNUTLS_CONFIG" = "no"; then + AC_MSG_ERROR([could not find libgnutls-config in \$PATH]) + fi + + ne_gnutls_ver=`$GNUTLS_CONFIG --version` + case $ne_gnutls_ver in + 1.0.?|1.0.1?|1.0.20|1.0.21) + AC_MSG_ERROR([GNU TLS version $ne_gnutls_ver is too old -- 1.0.22 or later required]) ;; + 1.*) ;; + *) AC_MSG_ERROR([GNU TLS version $ne_gnutls_ver is not supported]) ;; + esac + + CPPFLAGS="$CPPFLAGS `$GNUTLS_CONFIG --cflags`" + + AC_CHECK_HEADER([gnutls/gnutls.h],, + [AC_MSG_ERROR([could not find gnutls/gnutls.h in include path])]) + + NE_ENABLE_SUPPORT(SSL, [SSL support enabled, using GnuTLS $ne_gnutls_ver]) + NEON_EXTRAOBJS="$NEON_EXTRAOBJS ne_gnutls" + NEON_LIBS="$NEON_LIBS `$GNUTLS_CONFIG --libs`" + AC_DEFINE([HAVE_GNUTLS], 1, [Define if GnuTLS support is enabled]) + + # Check for functions in later releases. + NE_CHECK_FUNCS(gnutls_session_get_data2) + ;; +*) # Default to off; only create crypto-enabled binaries if requested. + NE_DISABLE_SUPPORT(SSL, [SSL support is not enabled]) + NE_DISABLE_SUPPORT(TS_SSL, [Thread-safe SSL support is not enabled]) + NEON_EXTRAOBJS="$NEON_EXTRAOBJS ne_stubssl" + ;; +esac +AC_SUBST(NEON_SUPPORTS_SSL) + +AC_ARG_WITH(ca-bundle, + AS_HELP_STRING(--with-ca-bundle, specify filename of an SSL CA root bundle),, + with_ca_bundle=no) + +case ${NE_FLAG_SSL}-${with_ca_bundle} in +*-no) ;; +yes-*) + AC_DEFINE_UNQUOTED([NE_SSL_CA_BUNDLE], ["${with_ca_bundle}"], + [Define to be filename of an SSL CA root bundle]) + AC_MSG_NOTICE([Using ${with_ca_bundle} as default SSL CA bundle]) + ;; +esac + +AC_ARG_ENABLE(threadsafe-ssl, +AS_HELP_STRING(--enable-threadsafe-ssl=posix, +[enable SSL library thread-safety using POSIX threads: suitable +CC/CFLAGS/LIBS must be used to make the POSIX library interfaces +available]),, +enable_threadsafe_ssl=no) + +case $enable_threadsafe_ssl in +posix|yes) + ne_pthr_ok=yes + AC_CHECK_FUNCS([pthread_mutex_init pthread_mutex_lock],,[ne_pthr_ok=no]) + if test "${ne_pthr_ok}" = "no"; then + AC_MSG_ERROR([could not find POSIX mutex interfaces; (try CC="${CC} -pthread"?)]) + fi + NE_ENABLE_SUPPORT(TS_SSL, [Thread-safe SSL supported using POSIX threads]) + ;; +*) + NE_DISABLE_SUPPORT(TS_SSL, [Thread-safe SSL not supported]) + ;; +esac + +]) + +dnl Check for Kerberos installation +AC_DEFUN([NEON_GSSAPI], [ +AC_ARG_WITH(gssapi, AS_HELP_STRING(--without-gssapi, disable GSSAPI support)) +if test "$with_gssapi" != "no"; then + AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin) +else + KRB5_CONFIG=none +fi +if test "x$KRB5_CONFIG" != "xnone"; then + ne_save_CPPFLAGS=$CPPFLAGS + ne_save_LIBS=$NEON_LIBS + NEON_LIBS="$NEON_LIBS `${KRB5_CONFIG} --libs gssapi`" + CPPFLAGS="$CPPFLAGS `${KRB5_CONFIG} --cflags gssapi`" + # MIT and Heimdal put gssapi.h in different places + AC_CHECK_HEADERS(gssapi/gssapi.h gssapi.h, [ + NE_CHECK_FUNCS(gss_init_sec_context, [ + ne_save_CPPFLAGS=$CPPFLAGS + ne_save_LIBS=$NEON_LIBS + AC_MSG_NOTICE([GSSAPI authentication support enabled]) + AC_DEFINE(HAVE_GSSAPI, 1, [Define if GSSAPI support is enabled]) + AC_CHECK_HEADERS(gssapi/gssapi_generic.h) + # Older versions of MIT Kerberos lack GSS_C_NT_HOSTBASED_SERVICE + AC_CHECK_DECL([GSS_C_NT_HOSTBASED_SERVICE],, + [AC_DEFINE([GSS_C_NT_HOSTBASED_SERVICE], gss_nt_service_name, + [Define if GSS_C_NT_HOSTBASED_SERVICE is not defined otherwise])], + [#ifdef HAVE_GSSAPI_GSSAPI_H +#include +#else +#include +#endif])]) + break + ]) + CPPFLAGS=$ne_save_CPPFLAGS + NEON_LIBS=$ne_save_LIBS +fi]) + +dnl Adds an --enable-warnings argument to configure to allow enabling +dnl compiler warnings +AC_DEFUN([NEON_WARNINGS],[ + +AC_REQUIRE([AC_PROG_CC]) dnl so that $GCC is set + +AC_ARG_ENABLE(warnings, +AS_HELP_STRING(--enable-warnings, [enable compiler warnings])) + +if test "$enable_warnings" = "yes"; then + case $GCC:`uname` in + yes:*) + CFLAGS="$CFLAGS -Wall -Wmissing-declarations -Wshadow -Wreturn-type -Wsign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wformat-security" + if test -z "$with_ssl" -o "$with_ssl" = "no"; then + # OpenSSL headers fail strict prototypes checks + CFLAGS="$CFLAGS -Wstrict-prototypes" + fi + ;; + no:OSF1) CFLAGS="$CFLAGS -check -msg_disable returnchecks -msg_disable alignment -msg_disable overflow" ;; + no:IRIX) CFLAGS="$CFLAGS -fullwarn" ;; + no:UnixWare) CFLAGS="$CFLAGS -v" ;; + *) AC_MSG_WARN([warning flags unknown for compiler on this platform]) ;; + esac +fi +]) + +dnl Adds an --disable-debug argument to configure to allow disabling +dnl debugging messages. +dnl Usage: +dnl NEON_WARNINGS([actions-if-debug-enabled], [actions-if-debug-disabled]) +dnl +AC_DEFUN([NEON_DEBUG], [ + +AC_ARG_ENABLE(debug, +AS_HELP_STRING(--disable-debug,[disable runtime debugging messages])) + +# default is to enable debugging +case $enable_debug in +no) AC_MSG_NOTICE([debugging is disabled]) +$2 ;; +*) AC_MSG_NOTICE([debugging is enabled]) +AC_DEFINE(NE_DEBUGGING, 1, [Define to enable debugging]) +$1 +;; +esac]) + +dnl Macro to optionally enable socks support +AC_DEFUN([NEON_SOCKS], [ + +AC_ARG_WITH([socks], AS_HELP_STRING([--with-socks],[use SOCKSv5 library])) + +if test "$with_socks" = "yes"; then + ne_save_LIBS=$LIBS + + AC_CHECK_HEADERS(socks.h, + [AC_CHECK_LIB(socks5, connect, [:], + [AC_MSG_ERROR([could not find libsocks5 for SOCKS support])])], + [AC_MSG_ERROR([could not find socks.h for SOCKS support])]) + + NE_ENABLE_SUPPORT(SOCKS, [SOCKSv5 support is enabled]) + NEON_LIBS="$NEON_LIBS -lsocks5" + LIBS=$ne_save_LIBS +else + NE_DISABLE_SUPPORT(SOCKS, [SOCKSv5 support is not enabled]) +fi]) + +AC_DEFUN([NEON_WITH_LIBS], [ +AC_ARG_WITH([libs], +[[ --with-libs=DIR[:DIR2...] look for support libraries in DIR/{bin,lib,include}]], +[case $with_libs in +yes|no) AC_MSG_ERROR([--with-libs must be passed a directory argument]) ;; +*) ne_save_IFS=$IFS; IFS=: + for dir in $with_libs; do + ne_add_CPPFLAGS="$ne_add_CPPFLAGS -I${dir}/include" + ne_add_LDFLAGS="$ne_add_LDFLAGS -L${dir}/lib" + ne_add_PATH="${ne_add_PATH}${dir}/bin:" + done + IFS=$ne_save_IFS + CPPFLAGS="${ne_add_CPPFLAGS} $CPPFLAGS" + LDFLAGS="${ne_add_LDFLAGS} $LDFLAGS" + PATH=${ne_add_PATH}$PATH ;; +esac])]) + +AC_DEFUN([NEON_I18N], [ + +AC_ARG_ENABLE(nls, + AS_HELP_STRING(--disable-nls, [disable internationalization support]),, + [enable_nls=yes]) + +if test "x${enable_nls}${ac_cv_header_libintl_h}" = "xyesyes"; then + # presume that dgettext() is available if bindtextdomain() is... + # checking for dgettext() itself is awkward because gcc has a + # builtin of that function, which confuses AC_CHECK_FUNCS et al. + NE_SEARCH_LIBS(bindtextdomain, intl,,[enable_nls=no]) + NE_CHECK_FUNCS(bind_textdomain_codeset) +fi + +if test "$enable_nls" = "no"; then + NE_DISABLE_SUPPORT(I18N, [Internationalization support not enabled]) +else + NE_ENABLE_SUPPORT(I18N, [Internationalization support enabled]) + eval localedir="${datadir}/locale" + AC_DEFINE_UNQUOTED([LOCALEDIR], "$localedir", + [Define to be location of localedir]) +fi + +]) diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..560e7ec --- /dev/null +++ b/configure.ac @@ -0,0 +1,96 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# 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. */ + + +AC_PREREQ(2.59) +AC_INIT(davfs2, 1.4.0) +AC_CONFIG_SRCDIR([src/cache.c]) +AC_CONFIG_AUX_DIR([config]) +AM_INIT_AUTOMAKE + +AC_CONFIG_HEADER([config.h]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_INSTALL +AC_PROG_LN_S + +# Checks for libraries. +AM_GNU_GETTEXT_VERSION(0.14.4) +AM_GNU_GETTEXT([external]) +NE_REQUIRE_VERSIONS([0], [25 26 27 28]) +DAV_CHECK_NEON + +# Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_CHECK_HEADERS([argz.h fcntl.h libintl.h langinfo.h limits.h locale.h mntent.h stddef.h stdint.h stdlib.h string.h sys/mount.h sys/time.h syslog.h termios.h unistd.h utime.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_UID_T +AC_C_INLINE +AC_TYPE_INT16_T +AC_TYPE_INT32_T +AC_TYPE_INT8_T +AC_TYPE_MODE_T +AC_TYPE_OFF_T +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_TYPE_SSIZE_T +AC_CHECK_MEMBERS([struct stat.st_blksize]) +AC_HEADER_TIME +AC_STRUCT_TM +AC_TYPE_UINT32_T +AC_TYPE_UINT64_T +AC_C_VOLATILE +AC_CHECK_SIZEOF([void *]) + +# Checks for library functions. +AC_FUNC_CHOWN +AC_FUNC_CLOSEDIR_VOID +AC_FUNC_ERROR_AT_LINE +AC_FUNC_FORK +AC_FUNC_GETMNTENT +AC_PROG_GCC_TRADITIONAL +AC_HEADER_MAJOR +AC_FUNC_MALLOC +AC_FUNC_SELECT_ARGTYPES +AC_FUNC_STRFTIME +AC_FUNC_STAT +AC_FUNC_UTIME_NULL +AC_CHECK_FUNCS([endpwent getmntent memset mkdir nl_langinfo rpmatch select setlocale strcasecmp strchr strdup strerror strpbrk strrchr strstr strtol utime]) + +# Misc. +DAV_DEFAULTS +DAV_LFS +DAV_LINGUAS([de]) +AC_DEFINE([_GNU_SOURCE], 1, [Define to enable GNU extensions]) + +AC_CONFIG_FILES([Makefile + po/Makefile.in + etc/Makefile + man/Makefile + man/de/Makefile + man/es/Makefile + src/Makefile]) +AC_OUTPUT +DAV_MESSAGE diff --git a/etc/Makefile.am b/etc/Makefile.am new file mode 100644 index 0000000..cc6d62a --- /dev/null +++ b/etc/Makefile.am @@ -0,0 +1,40 @@ +## Makefile for etc directory in davfs. +## 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. */ + +## Process this file with automake to produce Makefile.in + +dist_pkgdata_DATA = davfs2.conf secrets +pkgsysconfdir = $(sysconfdir)/@PACKAGE@ + +install-data-local: $(dist_pkgdata_DATA) + @$(NORMAL_INSTALL) + $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir) + $(INSTALL_DATA) -b davfs2.conf $(DESTDIR)$(pkgsysconfdir)/davfs2.conf + $(INSTALL_DATA) -b -m 600 secrets $(DESTDIR)$(pkgsysconfdir)/secrets + $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs + $(mkinstalldirs) $(DESTDIR)$(pkgsysconfdir)/certs/private + chmod 700 $(DESTDIR)$(pkgsysconfdir)/certs/private + +uninstall-local: + @$(NORMAL_UNINSTALL) + @list='$(dist_pkgdata_DATA)'; for p in $$list; do \ + f="`echo $$p | sed -e 's|^.*/||'`"; \ + echo " rm -f $(DESTDIR)$(pkgsysconfdir)/$$f"; \ + rm -f $(DESTDIR)$(pkgsysconfdir)/$$f; \ + done diff --git a/etc/davfs2.conf b/etc/davfs2.conf new file mode 100644 index 0000000..cec4949 --- /dev/null +++ b/etc/davfs2.conf @@ -0,0 +1,72 @@ +# davfs2 configuration file 2009-04-12 +# version 9 +# ------------------------------------ + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + + +# Please read the davfs2.conf (5) man page for a description of the +# configuration options and syntax rules. + + +# Available options and default values +# ==================================== + +# General Options +# --------------- + +# dav_user davfs2 # system wide config file only +# dav_group davfs2 # system wide config file only +# ignore_home # system wide config file only +# kernel_fs fuse +# buf_size 16 # KiByte + +# WebDAV Related Options +# ---------------------- + +# use_proxy 1 # system wide config file only +# proxy # system wide config file only +# servercert +# clientcert +# secrets ~/.davfs2/secrets # user config file only +# ask_auth 1 +# use_locks 1 +# lock_owner +# lock_timeout 1800 # seconds +# lock_refresh 60 # seconds +# use_expect100 0 +# if_match_bug 0 +# drop_weak_etags 0 +# allow_cookie 0 +# precheck 1 +# ignore_dav_header 0 +# server_charset +# connect_timeout 10 # seconds +# read_timeout 30 # seconds +# retry 30 # seconds +# max_retry 300 # seconds +# add_header + +# Cache Related Options +# --------------------- + +# backup_dir lost+found +# cache_dir /var/cache/davfs2 # system wide cache +# ~/.davfs2/cache # per user cache +# cache_size 50 # MiByte +# table_size 1024 +# dir_refresh 60 # seconds +# file_refresh 1 # second +# delay_upload 10 +# gui_optimize 0 + +# Debugging Options +# ----------------- + +# debug # possible values: config, kernel, cache, http, xml, + # httpauth, locks, ssl, httpbody, secrets, most + diff --git a/etc/secrets b/etc/secrets new file mode 100644 index 0000000..7b1813c --- /dev/null +++ b/etc/secrets @@ -0,0 +1,68 @@ +# davfs2 secrets file 2009-04-12 +# version 4 +# ------------------------------- + +# Copyright (C) 2006, 2007, 2008, 2009 Werner Baumann + +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. + + +# # This file must be readable and writeable by the owner only (mode 0600). + +# This file contains user-name and password for the proxy, the +# WebDAV resources and decryption passwords for client certificates. + +# Comments are indicated by a '#' character and the rest of the line +# is ignored. Empty lines are ignored too. + +# Each line consists of two or three items separated by spaces or tabs. +# If an item contains one of the characters space, tab, #, \ or ", this +# character must be escaped by a preceding \. Alternatively, the item +# may be enclosed in double quotes. + + +# Proxy Line +# ---------- +# A proxy line consists of the fully qualified domain name of the proxy, +# the user-name and the password. The proxy name must not contain a scheme +# or path segment, but a port number should be added, separated by a colon. +# The password my be omitted. +# Instead of the name of the proxy, the keyword "proxy" may be used. + +# Examples +# foo.bar:3245 otto my\ secret +# foo.bar otto "my secret" +# proxy otto "my secret" + + +# Credential Line +# --------------- +# A credential line consists of the mount-point, the user-name and +# the password. The mount-point must be an absolute path, starting +# with /. The password may be omitted. +# For compatibility with older versions, instead of the mount-point +# the URL may be given. The URL must contain scheme, fully qualified +# domain name and path. If the path segment is missing, / is assumed. + +# Examples +# /home/otto/foo otto g3H\"x\ 7z\\ +# /media/dav/bar otto geheim +# Old style +# "http://foo.bar/my documents" otto "geh # heim" +# https://foo.bar:333/dav otto geh\ \#\ heim + + +# Password for Client Certificate +# ------------------------------- +# It must contain the name of the certificate file and the encryption +# password. The name must be either absolute (starting with /) or the +# file-name only. If it is not absolute, it is assumed to be in the +# standard directory for client certificates. + +# Examples +# /home/otto/.davfs2/certs/private/otto.crt geheim +# otto_private.crt "this is extraordinary secret" +# "otto private.crt" this\ is\ secret,\ too. + diff --git a/man/Makefile.am b/man/Makefile.am new file mode 100644 index 0000000..effab45 --- /dev/null +++ b/man/Makefile.am @@ -0,0 +1,54 @@ +## Makefile for man directory in davfs. +## 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. */ + +## Process this file with automake to produce Makefile.in + +pkgsysconfdir = $(sysconfdir)/@PACKAGE@ +pkglocalstatedir = $(dav_localstatedir)/mount.davfs +pkgsyscachedir = $(dav_syscachedir)/@PACKAGE@ +mandir = $(datadir)/man +manual5dir = $(mandir)/man5 +manual8dir = $(mandir)/man8 +SUBDIRS = @dav_linguas@ +DIST_SUBDIRS = de es + +edit = sed \ + -e 's|@PACKAGE[@]|$(PACKAGE)|g' \ + -e 's|@PACKAGE_STRING[@]|$(PACKAGE_STRING)|g' \ + -e 's|@PROGRAM_NAME[@]|mount.davfs|g' \ + -e 's|@SYS_CONF_DIR[@]|$(pkgsysconfdir)|g' \ + -e 's|@SYS_RUN[@]|$(pkglocalstatedir)|g' \ + -e 's|@SYS_CACHE_DIR[@]|$(pkgsyscachedir)|g' \ + -e 's|@SECRETSFILE[@]|secrets|g' \ + -e 's|@CONFIGFILE[@]|$(PACKAGE).conf|g' \ + -e 's|@CERTS_DIR[@]|certs|g' \ + -e 's|@CLICERTS_DIR[@]|private|g' \ + -e 's|@USER[@]|$(dav_user)|g' \ + -e 's|@GROUP[@]|$(dav_group)|g' + +manual5_DATA = davfs2.conf.5.gz +manual8_DATA = mount.davfs.8.gz umount.davfs.8.gz + +EXTRA_DIST = davfs2.conf.5 mount.davfs.8 umount.davfs.8 \ + davfs2.conf.5.pot mount.davfs.8.pot umount.davfs.8.pot \ + po4a.conf template.translator +CLEANFILES = $(manual5_DATA) $(manual8_DATA) + +%.gz: % + $(edit) $< | gzip -9 > $@ diff --git a/man/davfs2.conf.5 b/man/davfs2.conf.5 new file mode 100644 index 0000000..25ae6b5 --- /dev/null +++ b/man/davfs2.conf.5 @@ -0,0 +1,518 @@ +.TH @CONFIGFILE@ 5 2009\-04\-13 @PACKAGE_STRING@ + + +.SH NAME + +\fB@CONFIGFILE@\fR \- Configuration file for \fB@PROGRAM_NAME@\fR + + +.SH DESCRIPTION + +There is a system wide configuration file \fI@SYS_CONF_DIR@/@CONFIGFILE@\fR +and user configuration files \fI~/.@PACKAGE@/@CONFIGFILE@\fR. When +\fB@PROGRAM_NAME@\fR is invoked by root, only the system wide configuration +file is read. When invoked by an ordinary user, the user configuration file +is read in addition. Settings from the user configuration file will take +precedence over the system wide configuration. + +.PP +The configuration file consists of lines where each line contains a keyword +value pair. Keyword and value are seperated by spaces and/or tabs. + +.PP +The file may contain sections that are for one specific mount point only. +Such a section starts with a line, that contains the full path of the mount +point enclosed in square brackets. The section ends at the start of the next +section or the end of file. Options that shall apply to all mounted file +system must come before the first sections. Options given in a mount specific +section will have precedence. + + +.SH EXAMPLE + +kernel_fs coda +.br +proxy foo.bar:8080 +.br +use_locks 0 +.br +.br +[/media/dav] +.br +use_locks 1 +.br +.br +[/home/otto/mywebspace] +.br +gui_optimize 1 + +.PP +All mounted @PACKAGE@ file systems will use the coda kernel file system and the +proxy foo.bar. All @PACKAGE@ file systems expect /media/dav will disable the +use of the locks. /home/otto/mywebspace will use the gui_optimize option. + +.SH GENERAL SYNTAX RULES + +Lines that only contain spaces and tabs (empty lines) are ignored. + +.PP +# indicates a comment. The rest of the line is ignored. + +.PP +\(rs is the escape character. + +.PP +\(dq" is used for quotation. + +.PP +If a value contains one of the special characters space, tab, #, \(rs, or \(dq, +this character must be escaped by a preceding \(rs. Use \(cq\(rs\ \(cq instead +of \(cq\ \(cq, \(cq\(rs#\(cq instead of \(cq#\(cq, \(cq\(rs\(rs\(cq instead of +\(cq\(rs\(cq and \(cq\(rs\(dq\(cq instead of \(cq\(dq\(cq. + +.PP +Values containing spaces, tabs or # may instead be enclosed in double quotes. +But \(dq and \(cq must be escaped even within double quotes. If the starting line +of a section is enclosed in double quotes, the square brakets must be within +the quotes (like \(dq[/home/otto/with space]\(dq). + +.PP +Boolean option values (yes/no) must be given as numerical value. +0 for no, 1 for yes. + + +.SH AVAILABLE CONFIGURATION OPTIONS + +.SH General Options + +.TP +.B dav_user +When invoked by root the \fB@PROGRAM_NAME@\fR daemon will run as this user. +Value must be given as \fIname\fP, \fBnot\fR as numerical id. +.br +Default: @USER@ +.br +\fBOnly allowed in the system wide configuration file.\fR + +.TP +.B dav_group +The group of the running \fB@PROGRAM_NAME@\fR daemon. Ordinary users must +be member of this group in order to mount a @PACKAGE@ file system. +Value must be given as \fIname\fP, \fBnot\fR as numerical id. +.br +Default: @GROUP@ +.br +\fBOnly allowed in the system wide configuration file.\fR + +.TP +.B ignore_home +An ordinary user is not allowed to mount within the home directory of another +user. But sometimes system users (like \fInobody\fP) get assigned home +directories (like /), that include common mount points. This option allows to +give a comma seperated list of system users that will be excluded from this +check. +.br +\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 +.B buf_size +Size in KiByte of the buffer used to communicate with the kernel file system. +Only usefull with \fIfuse\fP, where read and write operations may profit +from a larger buffer. +.br +Default: 16 + + +.SH WebDAV Related Options + +.TP +.B use_proxy +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 +\fBhttps_proxy\fR, \fBhttp_proxy\fR and \fBall_proxy\fR, this option has no +effect. +.br +Default: 1 +.br +\fBOnly allowed in the system wide configuration file.\fR + +.TP +.B proxy +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 appended, seperated by a colon. Examples: \fIfoo.bar:1704\fP or +\fIfoo.bar\fP +.br +\fBOnly allowed in the system wide configuration file.\fR + +.TP +.B servercert +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 \fI~/.@PACKAGE@/@CERTS_DIR@\fP and +\fI@SYS_CONF_DIR@/@CERTS_DIR@\fP will be searched. +.br +This option is intended for self-signed server certificates. Self-signed +means issuer and subject are the same. Common name (CN) must be the +domain name of the server. +.br +In case the server certificate is not self-singed, this file must contain +the certificate of the certificate authority (CA) that signed the server +certificate, not the the server certificate itself. If an hirarchy of +CA's is involved (the CA that signed the server certificate is not the +root CA), the file must contain all the certificates from the chain of +CAs involved, beginning with the CA that signed the server certificate, +up to the self-signed certificate of the root CA. (The option name +\fBservertcert\fR is a misnomer in this case. Sorry.) You can create the +file by concatenating all the CA-certificates involved. +.br +\fBNote:\fR Even if the certificate is trusted, that does not mean it +is accepted. There is the additional constraint, that the certificate +presented by the server must belong to the server. The CN in the +server certificate must be the domain name of the server. There is +currently no way to automatically accept certificates that don't +belong to the server. + +.TP +.B clientcert +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 +file name only. In the latter case the directories +\fI~/.@PACKAGE@/@CERTS_DIR@/@CLICERTS_DIR@\fP and +\fI@SYS_CONF_DIR@/@CERTS_DIR@/@CLICERTS_DIR@\fP will be searched. + +.TP +.B secrets +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 +path. The file must be read and writable by the owner only (mode 600). +.br +Default: ~/.@PACKAGE@/@SECRETSFILE@ +.br +\fBOnly allowed in the user configuration file.\fR The system wide +secrets file is allways \fI@SYS_CONF_DIR@/@SECRETSFILE@\fP. + +.TP +.B ask_auth +Ask the user interactively for credentials and passwords if not found in the +secretsfile. 0 = no, 1 = yes. +.br +Default: 1 + +.TP +.B use_locks +Whether to lock files on the server when they are opened for writing. +0 = no, 1 = yes. +.br +Default: 1 + +.TP +.B lock_owner +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 +credentials, different values for lock_owner should be choosen. +.br +Default: the username from the credentials + +.TP +.B lock_timeout +How long in seconds locks should be valid, before the server removes them. +The server may ignore this and set its own timeout value. +.br +Default: 1800 + +.TP +.B lock_refresh +That many seconds before the lock times out, \fB@PROGRAM_NAME@\fR will try to +refresh the lock. The value should be substantially greater than +\fBdelay_upload\fR. +.br +Default: 60 + +.TP +.B use_expect100 +To avoid uploading big files that will be refused by the server, +\fB@PROGRAM_NAME@\fR uses the header \fIexpect: 100\-continue\fP to get the o.k. +from the server before uploading. Not all servers understand this. +0 = no, 1 = yes. +.br +Default: 0 + +.TP +.B if_match_bug +Some servers do not handle If-Match and If-None-Match-headers correctly. +This otion tells \fB@PROGRAM_NAME@\fR to use HEAD instead of thes headers. +0 = no, 1 = yes. +.br +Default: 0 + +.TP +.B drop_weak_etags +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 silently turned into a strong, valid etag. With this flag set to 1, +\fB@PROGRAM_NAME@\fR will never use this weak etags. If the flas is 0, +the weakness indicator will be removed and the etag is assumed to be +strong. There is some danger of the Lost-Update-Problem with +this. But it is minimized when using locks. +.br +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 all and the resource cannot be cached. +.br +0 = no, 1 = yes. +.br +Default: 0 + +.TP +.B allow_cookie +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 support. It supports just one cookie which should usually be +a session ID. +0 = no, 1 = yes. +.br +Default: 0 + +.TP +.B precheck +If option \fBif_match_bug\fR is set: use HEAD-requests to check for existence +or modification of a file to avoid unintended overwriting what somebody +else changed. Has no effect if option \fBif_match_bug\fR is 0. You should only +set it 0, if there is no concurrent access to the server. +0 = no, 1 = yes. +.br +Default: 1 + +.TP +.B ignore_dav_header +Some servers send wrong information about their capabilities in the DAV-header. +In this case the header should be ignored. +.br +Default: 0 + +.TP +.B server_charset +When extracting file names from the path component of the URL, +\fB@PROGRAM_NAME@\fR will assume they are encoded using this character set +and translate file names to the local character set. This is \fBnot\fR +about encoding of file contents and \fBnot\fR about HTTP escaping rules. +.br +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 +the encoding of file names is often defined by the clients that created them. +Nowadays it is best to use only UTF\-8 encoding and to do no conversion. If +you are not sure that all clients understand UTF\-8, restrict file names to +pure us\-ascii. Never use characters in file names, that may have a special +function on some operating systems (like /, : and \(rs). +.br +Default: no character set conversion + +.TP +.B connect_timeout +When creating a TCP connection to the server \fB@PROGRAM_NAME@\fR will +wait that many seconds for an answer before assuming an error. If a value +of '0' is used then no explicit timeout handling is set and the connect call +will only timeout as dictated by the TCP stack. +.br +This parameter only takes effect if the version of neon in use +(neon version > 0.26) and the OS support non-blocking I/O. +.br +Default: 10 + +.TP +.B read_timeout +How long in seconds \fB@PROGRAM_NAME@\fR will wait for an answer from the +server before assuming an error. +.br +Default: 30 + +.TP +.B retry +When \fB@PROGRAM_NAME@\fR can not reach the server it will try again after +\fBretry\fR seconds. For subsequent retries the interval will be increased +up to \fBmax_retry\fR seconds. +.br +Default: 30 + +.TP +.B max_retry +Maximum value of the retry interval. +.br +Default: 300 + +.TP +.B add_header +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 value. +Example: +.br +add_header Translate F +.br +\fB@PROGRAM_NAME@\fR will add header "Translate: F" on all requests. +.br +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@/@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are merged. + + +.SH Cache Related Options + +.TP +.B backup_dir +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 +directory. You should regularly check this directory. +.br +Default: lost+found + +.TP +.B cache_dir +The directory where \fB@PROGRAM_NAME@\fR will store cached files. For every +mount point a subdirectory will be created. +.br +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 +this user. +.br +Defaults: @SYS_CACHE_DIR@ and ~/.@PACKAGE@/cache + +.TP +.B cache_size +The amount of disk space in MiByte that may be used. \fB@PROGRAM_NAME@\fR +will always take enough space to cache open files, ignoring this value if +necessary. +.br +Default: 50 + +.TP +.B table_size +\fB@PROGRAM_NAME@\fR 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 systems (more than some hundreds of files) increasing this number may +speed up file operations. The value should be a power of 2. +.br +Default: 1024 + +.TP +.B dir_refresh +After \fB@PROGRAM_NAME@\fR has got information about files in a directory it +considers it valid for this time in seconds. Note: This does not affect +opening of files and reading a directory by an application. +.br +Default: 60 + +.TP +.B file_refresh +When a file or directory is opened by an application, \fB@PROGRAM_NAME@\fR +will first check the server for a newer version. But some applications do +open calls on the same file in short sequence. To avoid unecessary traffic +\fB@PROGRAM_NAME@\fR will wait that many seconds before it send a new request +for the same information. +.br +Default: 1 + +.TP +.B delay_upload +When a file that has been changed is closed, \fB@PROGRAM_NAME@\fR will wait +that many seconds before it will upload it to the server. This will avoid +uploading of temporary files that will be removed immediately after closing. +If you need the files to appear on the server immediately after closing, +set this option to 0. +.br +Default: 10 + +.TP +.B gui_optimize +When a file is opened, \fB@PROGRAM_NAME@\fR will have to check the server +whether there is a newer version. Graphical User Interfaces tend to open +just any file, slowing down things dramatically for large directories. +With this option \fB@PROGRAM_NAME@\fR will try to get this information +from all files in a directory with one PROPFIND request. 0 = no, 1 = yes. +.br +Default: 0 + + +.SH Debugging Options + +.TP +.B debug +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 +and priority LOG_DEBUG. It depends from the configuration of the syslog daemon +where the messages will go (propably /var/log/messages, /var/log/syslog or +/var/log/daemon.log). Whether HTTP related debug messages are available +depends on your neon library. +.br +Unlike other options, this option is cumulative. If there are several debug +entries with different values, all of them will be applied. Also debug options +from @SYS_CONF_DIR@/@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are merged. +.br +\fBNote:\fR Debug messages let the log-files grow quickly. Never use this +option in normal operation of mount.davfs. +.br +Default: no debugging messages +.RS +.TP +.B Recognized values: +.TP +.B config +Command line and configuration options. +.TP +.B kernel +Upcalls from the kernel file system. +.TP +.B cache +Cache operations like adding and removing nodes. +.TP +.B http +HTTP headers. +.TP +.B xml +Parsing of the XML-body of WebDAV-requests. +.TP +.B httpauth +Negotiation of authentication. +.TP +.B locks +Information about locks. +.TP +.B ssl +TLS/SSL related stuff like certificates. +.TP +.B httpbody +Complete body of HTTP-responses. +.TP +.B secrets +Also print confidential information, which is usually omitted or obscured. +.TP +.B most +Includes config, kernel, cache and http. +.RE + + +.SH AUTHORS + +This man page was written by by Werner Baumann +. + + +.SH DAVFS2 HOME + +http://savannah.nongnu.org/projects/davfs2 + + +.SH SEE ALSO + +.BR @PROGRAM_NAME@ (8), +.BR u@PROGRAM_NAME@ (8), +.BR mount (8), +.BR umount (8), +.BR fstab (5) diff --git a/man/davfs2.conf.5.pot b/man/davfs2.conf.5.pot new file mode 100644 index 0000000..6d7efc0 --- /dev/null +++ b/man/davfs2.conf.5.pot @@ -0,0 +1,1103 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2009-04-13 21:30+0300\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: ENCODING" + +# type: TH +#: davfs2.conf.5:1 +#, no-wrap +msgid "@CONFIGFILE@" +msgstr "" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "2009-04-13" +msgstr "" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "@PACKAGE_STRING@" +msgstr "" + +# type: SH +#: davfs2.conf.5:4 mount.davfs.8:3 umount.davfs.8:3 +#, no-wrap +msgid "NAME" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:7 +msgid "B<@CONFIGFILE@> - Configuration file for B<@PROGRAM_NAME@>" +msgstr "" + +# type: SH +#: davfs2.conf.5:9 mount.davfs.8:22 umount.davfs.8:20 +#, no-wrap +msgid "DESCRIPTION" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:17 +msgid "" +"There is a system wide configuration file I<@SYS_CONF_DIR@/@CONFIGFILE@> and " +"user configuration files I<~/.@PACKAGE@/@CONFIGFILE@>. When " +"B<@PROGRAM_NAME@> is invoked by root, only the system wide configuration " +"file is read. When invoked by an ordinary user, the user configuration file " +"is read in addition. Settings from the user configuration file will take " +"precedence over the system wide configuration." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:21 +msgid "" +"The configuration file consists of lines where each line contains a keyword " +"value pair. Keyword and value are seperated by spaces and/or tabs." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:29 +msgid "" +"The file may contain sections that are for one specific mount point only. " +"Such a section starts with a line, that contains the full path of the mount " +"point enclosed in square brackets. The section ends at the start of the next " +"section or the end of file. Options that shall apply to all mounted file " +"system must come before the first sections. Options given in a mount " +"specific section will have precedence." +msgstr "" + +# type: SH +#: davfs2.conf.5:31 +#, no-wrap +msgid "EXAMPLE" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:34 +msgid "kernel_fs coda" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:36 +msgid "proxy\tfoo.bar:8080" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:38 +msgid "use_locks 0" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:41 +msgid "[/media/dav]" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:43 +msgid "use_locks 1" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:46 +msgid "[/home/otto/mywebspace]" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:48 +msgid "gui_optimize 1" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:53 +msgid "" +"All mounted @PACKAGE@ file systems will use the coda kernel file system and " +"the proxy foo.bar. All @PACKAGE@ file systems expect /media/dav will disable " +"the use of the locks. /home/otto/mywebspace will use the gui_optimize option." +msgstr "" + +# type: SH +#: davfs2.conf.5:54 +#, no-wrap +msgid "GENERAL SYNTAX RULES" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:57 +msgid "Lines that only contain spaces and tabs (empty lines) are ignored." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:60 +msgid "# indicates a comment. The rest of the line is ignored." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:63 +msgid "\\(rs is the escape character." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:66 +msgid "\"\" is used for quotation." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:72 +msgid "" +"If a value contains one of the special characters space, tab, #, \\(rs, or " +"\", this character must be escaped by a preceding \\(rs. Use \\(cq\\(rs\\ " +"\\(cq instead of \\(cq\\ \\(cq, \\(cq\\(rs#\\(cq instead of \\(cq#\\(cq, " +"\\(cq\\(rs\\(rs\\(cq instead of \\(cq\\(rs\\(cq and \\(cq\\(rs\"\\(cq " +"instead of \\(cq\"\\(cq." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:78 +msgid "" +"Values containing spaces, tabs or # may instead be enclosed in double " +"quotes. But \" and \\(cq must be escaped even within double quotes. If the " +"starting line of a section is enclosed in double quotes, the square brakets " +"must be within the quotes (like \"[/home/otto/with space]\")." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:82 +msgid "" +"Boolean option values (yes/no) must be given as numerical value. 0 for no, " +"1 for yes." +msgstr "" + +# type: SH +#: davfs2.conf.5:84 +#, no-wrap +msgid "AVAILABLE CONFIGURATION OPTIONS" +msgstr "" + +# type: SH +#: davfs2.conf.5:86 +#, no-wrap +msgid "General Options" +msgstr "" + +# type: TP +#: davfs2.conf.5:88 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:92 +msgid "" +"When invoked by root the B<@PROGRAM_NAME@> daemon will run as this user. " +"Value must be given as I, B as numerical id." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:94 +msgid "Default: @USER@" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:96 davfs2.conf.5:106 davfs2.conf.5:116 davfs2.conf.5:145 +#: davfs2.conf.5:154 +msgid "B" +msgstr "" + +# type: TP +#: davfs2.conf.5:97 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:102 +msgid "" +"The group of the running B<@PROGRAM_NAME@> daemon. Ordinary users must be " +"member of this group in order to mount a @PACKAGE@ file system. Value must " +"be given as I, B as numerical id." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:104 +msgid "Default: @GROUP@" +msgstr "" + +# type: TP +#: davfs2.conf.5:107 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:114 +msgid "" +"An ordinary user is not allowed to mount within the home directory of " +"another user. But sometimes system users (like I) get assigned home " +"directories (like /), that include common mount points. This option allows " +"to give a comma seperated list of system users that will be excluded from " +"this check." +msgstr "" + +# type: TP +#: davfs2.conf.5:117 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:121 +msgid "" +"Which kernel file system to use, to integrate into the virtual file system. " +"Possible values are I and I." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:123 +msgid "Default: fuse" +msgstr "" + +# type: TP +#: davfs2.conf.5:124 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:129 +msgid "" +"Size in KiByte of the buffer used to communicate with the kernel file " +"system. Only usefull with I, where read and write operations may " +"profit from a larger buffer." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:131 +msgid "Default: 16" +msgstr "" + +# type: SH +#: davfs2.conf.5:133 +#, no-wrap +msgid "WebDAV Related Options" +msgstr "" + +# type: TP +#: davfs2.conf.5:135 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:141 +msgid "" +"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 " +"B, B and B, this option has no effect." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:143 davfs2.conf.5:208 davfs2.conf.5:215 davfs2.conf.5:293 +#: davfs2.conf.5:421 +msgid "Default: 1" +msgstr "" + +# type: TP +#: davfs2.conf.5:146 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:152 +msgid "" +"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 " +"appended, seperated by a colon. Examples: I or I" +msgstr "" + +# type: TP +#: davfs2.conf.5:155 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:161 +msgid "" +"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 " +"I<~/.@PACKAGE@/@CERTS_DIR@> and I<@SYS_CONF_DIR@/@CERTS_DIR@> will be " +"searched." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:165 +msgid "" +"This option is intended for self-signed server certificates. Self-signed " +"means issuer and subject are the same. Common name (CN) must be the domain " +"name of the server." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:175 +msgid "" +"In case the server certificate is not self-singed, this file must contain " +"the certificate of the certificate authority (CA) that signed the server " +"certificate, not the the server certificate itself. If an hirarchy of CA's " +"is involved (the CA that signed the server certificate is not the root CA), " +"the file must contain all the certificates from the chain of CAs involved, " +"beginning with the CA that signed the server certificate, up to the self-" +"signed certificate of the root CA. (The option name B is a " +"misnomer in this case. Sorry.) You can create the file by concatenating all " +"the CA-certificates involved." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:182 +msgid "" +"B Even if the certificate is trusted, that does not mean it is " +"accepted. There is the additional constraint, that the certificate presented " +"by the server must belong to the server. The CN in the server certificate " +"must be the domain name of the server. There is currently no way to " +"automatically accept certificates that don't belong to the server." +msgstr "" + +# type: TP +#: davfs2.conf.5:183 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:190 +msgid "" +"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 " +"file name only. In the latter case the directories I<~/.@PACKAGE@/" +"@CERTS_DIR@/@CLICERTS_DIR@> and I<@SYS_CONF_DIR@/@CERTS_DIR@/@CLICERTS_DIR@> " +"will be searched." +msgstr "" + +# type: TP +#: davfs2.conf.5:191 davfs2.conf.5:492 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:196 +msgid "" +"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 " +"path. The file must be read and writable by the owner only (mode 600)." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:198 +msgid "Default: ~/.@PACKAGE@/@SECRETSFILE@" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:201 +msgid "" +"B The system wide secrets file " +"is allways I<@SYS_CONF_DIR@/@SECRETSFILE@>." +msgstr "" + +# type: TP +#: davfs2.conf.5:202 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:206 +msgid "" +"Ask the user interactively for credentials and passwords if not found in the " +"secretsfile. 0 = no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:209 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:213 +msgid "" +"Whether to lock files on the server when they are opened for writing. 0 = " +"no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:216 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:221 +msgid "" +"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 " +"credentials, different values for lock_owner should be choosen." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:223 +msgid "Default: the username from the credentials" +msgstr "" + +# type: TP +#: davfs2.conf.5:224 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:228 +msgid "" +"How long in seconds locks should be valid, before the server removes them. " +"The server may ignore this and set its own timeout value." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:230 +msgid "Default: 1800" +msgstr "" + +# type: TP +#: davfs2.conf.5:231 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:236 +msgid "" +"That many seconds before the lock times out, B<@PROGRAM_NAME@> will try to " +"refresh the lock. The value should be substantially greater than " +"B." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:238 davfs2.conf.5:411 +msgid "Default: 60" +msgstr "" + +# type: TP +#: davfs2.conf.5:239 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:245 +msgid "" +"To avoid uploading big files that will be refused by the server, " +"B<@PROGRAM_NAME@> uses the header I to get the o.k. " +"from the server before uploading. Not all servers understand this. 0 = no, " +"1 = yes." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:247 davfs2.conf.5:255 davfs2.conf.5:273 davfs2.conf.5:283 +#: davfs2.conf.5:300 davfs2.conf.5:441 +msgid "Default: 0" +msgstr "" + +# type: TP +#: davfs2.conf.5:248 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:253 +msgid "" +"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 = " +"no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:256 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:265 +msgid "" +"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 " +"silently turned into a strong, valid etag. With this flag set to 1, " +"B<@PROGRAM_NAME@> will never use this weak etags. If the flas is 0, the " +"weakness indicator will be removed and the etag is assumed to be strong. " +"There is some danger of the Lost-Update-Problem with this. But it is " +"minimized when using locks." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:269 +msgid "" +"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 " +"all and the resource cannot be cached." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:271 +msgid "0 = no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:274 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:281 +msgid "" +"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 support. It supports just one cookie which should usually be a " +"session ID. 0 = no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:284 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:291 +msgid "" +"If option B is set: use HEAD-requests to check for existence " +"or modification of a file to avoid unintended overwriting what somebody else " +"changed. Has no effect if option B is 0. You should only set " +"it 0, if there is no concurrent access to the server. 0 = no, 1 = yes." +msgstr "" + +# type: TP +#: davfs2.conf.5:294 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:298 +msgid "" +"Some servers send wrong information about their capabilities in the DAV-" +"header. In this case the header should be ignored." +msgstr "" + +# type: TP +#: davfs2.conf.5:301 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:307 +msgid "" +"When extracting file names from the path component of the URL, " +"B<@PROGRAM_NAME@> will assume they are encoded using this character set and " +"translate file names to the local character set. This is B about " +"encoding of file contents and B about HTTP escaping rules." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:315 +msgid "" +"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 " +"the encoding of file names is often defined by the clients that created " +"them. Nowadays it is best to use only UTF-8 encoding and to do no " +"conversion. If you are not sure that all clients understand UTF-8, restrict " +"file names to pure us-ascii. Never use characters in file names, that may " +"have a special function on some operating systems (like /, : and \\(rs)." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:317 +msgid "Default: no character set conversion" +msgstr "" + +# type: TP +#: davfs2.conf.5:318 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:324 +msgid "" +"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' " +"is used then no explicit timeout handling is set and the connect call will " +"only timeout as dictated by the TCP stack." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:327 +msgid "" +"This parameter only takes effect if the version of neon in use (neon version " +"E 0.26) and the OS support non-blocking I/O." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:329 davfs2.conf.5:431 +msgid "Default: 10" +msgstr "" + +# type: TP +#: davfs2.conf.5:330 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:334 +msgid "" +"How long in seconds B<@PROGRAM_NAME@> will wait for an answer from the " +"server before assuming an error." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:336 davfs2.conf.5:344 +msgid "Default: 30" +msgstr "" + +# type: TP +#: davfs2.conf.5:337 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:342 +msgid "" +"When B<@PROGRAM_NAME@> can not reach the server it will try again after " +"B seconds. For subsequent retries the interval will be increased up " +"to B seconds." +msgstr "" + +# type: TP +#: davfs2.conf.5:345 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:348 +msgid "Maximum value of the retry interval." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:350 +msgid "Default: 300" +msgstr "" + +# type: TP +#: davfs2.conf.5:351 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:356 +msgid "" +"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 " +"value. Example:" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:358 +msgid "add_header Translate F" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:360 +msgid "B<@PROGRAM_NAME@> will add header \"Translate: F\" on all requests." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:364 +msgid "" +"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@/" +"@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are merged." +msgstr "" + +# type: SH +#: davfs2.conf.5:366 +#, no-wrap +msgid "Cache Related Options" +msgstr "" + +# type: TP +#: davfs2.conf.5:368 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:373 +msgid "" +"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 " +"directory. You should regularly check this directory." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:375 +msgid "Default: lost+found" +msgstr "" + +# type: TP +#: davfs2.conf.5:376 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:380 +msgid "" +"The directory where B<@PROGRAM_NAME@> will store cached files. For every " +"mount point a subdirectory will be created." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:384 +msgid "" +"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 " +"this user." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:386 +msgid "Defaults: @SYS_CACHE_DIR@ and ~/.@PACKAGE@/cache" +msgstr "" + +# type: TP +#: davfs2.conf.5:387 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:392 +msgid "" +"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 " +"necessary." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:394 +msgid "Default: 50" +msgstr "" + +# type: TP +#: davfs2.conf.5:395 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:401 +msgid "" +"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 " +"systems (more than some hundreds of files) increasing this number may speed " +"up file operations. The value should be a power of 2." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:403 +msgid "Default: 1024" +msgstr "" + +# type: TP +#: davfs2.conf.5:404 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:409 +msgid "" +"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 " +"opening of files and reading a directory by an application." +msgstr "" + +# type: TP +#: davfs2.conf.5:412 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:419 +msgid "" +"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 " +"calls on the same file in short sequence. To avoid unecessary traffic " +"B<@PROGRAM_NAME@> will wait that many seconds before it send a new request " +"for the same information." +msgstr "" + +# type: TP +#: davfs2.conf.5:422 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:429 +msgid "" +"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 " +"uploading of temporary files that will be removed immediately after " +"closing. If you need the files to appear on the server immediately after " +"closing, set this option to 0." +msgstr "" + +# type: TP +#: davfs2.conf.5:432 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:439 +msgid "" +"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 " +"just any file, slowing down things dramatically for large directories. With " +"this option B<@PROGRAM_NAME@> will try to get this information from all " +"files in a directory with one PROPFIND request. 0 = no, 1 = yes." +msgstr "" + +# type: SH +#: davfs2.conf.5:443 +#, no-wrap +msgid "Debugging Options" +msgstr "" + +# type: TP +#: davfs2.conf.5:445 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:453 +msgid "" +"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 " +"and priority LOG_DEBUG. It depends from the configuration of the syslog " +"daemon where the messages will go (propably /var/log/messages, /var/log/" +"syslog or /var/log/daemon.log). Whether HTTP related debug messages are " +"available depends on your neon library." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:457 +msgid "" +"Unlike other options, this option is cumulative. If there are several debug " +"entries with different values, all of them will be applied. Also debug " +"options from @SYS_CONF_DIR@/@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are " +"merged." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:460 +msgid "" +"B Debug messages let the log-files grow quickly. Never use this " +"option in normal operation of mount.davfs." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:462 +msgid "Default: no debugging messages" +msgstr "" + +# type: TP +#: davfs2.conf.5:463 +#, no-wrap +msgid "B" +msgstr "" + +# type: TP +#: davfs2.conf.5:465 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:468 +msgid "Command line and configuration options." +msgstr "" + +# type: TP +#: davfs2.conf.5:468 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:471 +msgid "Upcalls from the kernel file system." +msgstr "" + +# type: TP +#: davfs2.conf.5:471 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:474 +msgid "Cache operations like adding and removing nodes." +msgstr "" + +# type: TP +#: davfs2.conf.5:474 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:477 +msgid "HTTP headers." +msgstr "" + +# type: TP +#: davfs2.conf.5:477 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:480 +msgid "Parsing of the XML-body of WebDAV-requests." +msgstr "" + +# type: TP +#: davfs2.conf.5:480 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:483 +msgid "Negotiation of authentication." +msgstr "" + +# type: TP +#: davfs2.conf.5:483 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:486 +msgid "Information about locks." +msgstr "" + +# type: TP +#: davfs2.conf.5:486 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:489 +msgid "TLS/SSL related stuff like certificates." +msgstr "" + +# type: TP +#: davfs2.conf.5:489 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:492 +msgid "Complete body of HTTP-responses." +msgstr "" + +# type: Plain text +#: davfs2.conf.5:495 +msgid "" +"Also print confidential information, which is usually omitted or obscured." +msgstr "" + +# type: TP +#: davfs2.conf.5:495 +#, no-wrap +msgid "B" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:498 +msgid "Includes config, kernel, cache and http." +msgstr "" + +# type: SH +#: davfs2.conf.5:501 mount.davfs.8:514 umount.davfs.8:79 +#, no-wrap +msgid "AUTHORS" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:505 +msgid "" +"This man page was written by by Werner Baumann Ewerner." +"baumann@onlinehome.deE." +msgstr "" + +# type: SH +#: davfs2.conf.5:507 mount.davfs.8:531 umount.davfs.8:84 +#, no-wrap +msgid "DAVFS2 HOME" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:510 mount.davfs.8:534 umount.davfs.8:87 +msgid "http://savannah.nongnu.org/projects/davfs2" +msgstr "" + +# type: SH +#: davfs2.conf.5:512 mount.davfs.8:536 umount.davfs.8:89 +#, no-wrap +msgid "SEE ALSO" +msgstr "" + +# type: Plain text +#: davfs2.conf.5:518 +msgid "" +"B<@PROGRAM_NAME@>(8), B(8), B(8), B(8), " +"B(5)" +msgstr "" diff --git a/man/de/Makefile.am b/man/de/Makefile.am new file mode 100644 index 0000000..06bf016 --- /dev/null +++ b/man/de/Makefile.am @@ -0,0 +1,53 @@ +## Makefile for man/de directory in davfs. +## 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. */ + +## Process this file with automake to produce Makefile.in + +pkgsysconfdir = $(sysconfdir)/@PACKAGE@ +pkglocalstatedir = $(dav_localstatedir)/mount.davfs +pkgsyscachedir = $(dav_syscachedir)/@PACKAGE@ +mandir = $(datadir)/man +manual5dir = $(mandir)/de/man5 +manual8dir = $(mandir)/de/man8 + +edit = sed \ + -e 's|@PACKAGE[@]|$(PACKAGE)|g' \ + -e 's|@PACKAGE_STRING[@]|$(PACKAGE_STRING)|g' \ + -e 's|@PROGRAM_NAME[@]|mount.davfs|g' \ + -e 's|@SYS_CONF_DIR[@]|$(pkgsysconfdir)|g' \ + -e 's|@SYS_RUN[@]|$(pkglocalstatedir)|g' \ + -e 's|@SYS_CACHE_DIR[@]|$(pkgsyscachedir)|g' \ + -e 's|@SECRETSFILE[@]|secrets|g' \ + -e 's|@CONFIGFILE[@]|$(PACKAGE).conf|g' \ + -e 's|@CERTS_DIR[@]|certs|g' \ + -e 's|@CLICERTS_DIR[@]|private|g' \ + -e 's|@USER[@]|$(dav_user)|g' \ + -e 's|@GROUP[@]|$(dav_group)|g' + +manual5_DATA = davfs2.conf.5.gz +manual8_DATA = mount.davfs.8.gz umount.davfs.8.gz + +EXTRA_DIST = davfs2.conf.5 mount.davfs.8 umount.davfs.8 \ + davfs2.conf.5.po mount.davfs.8.po umount.davfs.8.po \ + davfs2.conf.5.translator mount.davfs.8.translator \ + umount.davfs.8.translator +CLEANFILES = $(manual5_DATA) $(manual8_DATA) + +%.gz: % + $(edit) $< | gzip -9 > $@ diff --git a/man/de/davfs2.conf.5.po b/man/de/davfs2.conf.5.po new file mode 100644 index 0000000..4e95302 --- /dev/null +++ b/man/de/davfs2.conf.5.po @@ -0,0 +1,1326 @@ +# #-#-#-#-# davfs2.conf.5.po (davfs2 1.4.0) #-#-#-#-# +# German translation of davfs2.conf(5) man page. +# Copyright (C) 2007, 2008 Werner Baumann +# Werner Baumann , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: davfs2 1.4.0\n" +"POT-Creation-Date: 2009-04-13 21:30+0300\n" +"PO-Revision-Date: 2009-04-13 10:38+0200\n" +"Last-Translator: Werner Baumann \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# type: TH +#: davfs2.conf.5:1 +#, no-wrap +msgid "@CONFIGFILE@" +msgstr "@CONFIGFILE@" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "2009-04-13" +msgstr "2009-04-13" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "@PACKAGE_STRING@" +msgstr "@PACKAGE_STRING@" + +# type: SH +#: davfs2.conf.5:4 mount.davfs.8:3 umount.davfs.8:3 +#, no-wrap +msgid "NAME" +msgstr "BEZEICHNUNG" + +# type: Plain text +#: davfs2.conf.5:7 +msgid "B<@CONFIGFILE@> - Configuration file for B<@PROGRAM_NAME@>" +msgstr "B<@CONFIGFILE@> - Konfigurationsdatei für B<@PROGRAM_NAME@>" + +# type: SH +#: davfs2.conf.5:9 mount.davfs.8:22 umount.davfs.8:20 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +# type: Plain text +#: davfs2.conf.5:17 +msgid "" +"There is a system wide configuration file I<@SYS_CONF_DIR@/@CONFIGFILE@> and " +"user configuration files I<~/.@PACKAGE@/@CONFIGFILE@>. When " +"B<@PROGRAM_NAME@> is invoked by root, only the system wide configuration " +"file is read. When invoked by an ordinary user, the user configuration file " +"is read in addition. Settings from the user configuration file will take " +"precedence over the system wide configuration." +msgstr "" +"Es gibt die systemweite Konfigurationsdatei I<@SYS_CONF_DIR@/@CONFIGFILE@> " +"und die Benutzer-Konfigurationsdateien I<~/.@PACKAGE@/@CONFIGFILE@>. Wenn " +"root B<@PROGRAM_NAME@> startet, wird nur die systemweite Konfigurationsdatei " +"gelesen. Bei einem normalen Benutzer wird zusätzlich seine Benutzer-" +"Konfigurationsdatei gelesen. Einstellungen in der Benutzer-" +"Konfigurationsdatei haben Vorrang vor denen in der systemweiten " +"Konfigurationsdatei." + +# type: Plain text +#: davfs2.conf.5:21 +msgid "" +"The configuration file consists of lines where each line contains a keyword " +"value pair. Keyword and value are seperated by spaces and/or tabs." +msgstr "" +"Jede Zeile der Konfigurationsdatei enthält ein Schlüsselwort und einen Wert, " +"die durch Leerzeichen und/oder Tabulatoren von einander getrennt sind." + +# type: Plain text +#: davfs2.conf.5:29 +msgid "" +"The file may contain sections that are for one specific mount point only. " +"Such a section starts with a line, that contains the full path of the mount " +"point enclosed in square brackets. The section ends at the start of the next " +"section or the end of file. Options that shall apply to all mounted file " +"system must come before the first sections. Options given in a mount " +"specific section will have precedence." +msgstr "" +"Die Konfigurationsdatei kann Abschnitte enthalten, die nur für ein " +"bestimmtes Dateisystem gelten. Diese Abschnitte beginnen mit einer Zeile, " +"die nur den vollständigen Pfad des Einhängepunktes, eingeschlossen in eckige " +"Klammern, enthält. Ein solcher Abschnitt endet mit dem Beginn eines neuen " +"Abschnittes oder dem Ende der Datei. Optionen, die für alle Dateisysteme " +"gelten sollen, müssen vor dem ersten solchen Abschnitt stehen. Optionen in " +"einem Abschnitt für ein bestimmtes Dateisystem haben Vorrang." + +# type: SH +#: davfs2.conf.5:31 +#, no-wrap +msgid "EXAMPLE" +msgstr "BEISPIEL" + +# type: Plain text +#: davfs2.conf.5:34 +msgid "kernel_fs coda" +msgstr "kernel_fs coda" + +# type: Plain text +#: davfs2.conf.5:36 +msgid "proxy\tfoo.bar:8080" +msgstr "proxy foo.bar:8080" + +# type: Plain text +#: davfs2.conf.5:38 +msgid "use_locks 0" +msgstr "use_locks 0" + +# type: Plain text +#: davfs2.conf.5:41 +msgid "[/media/dav]" +msgstr "[/media/dav]" + +# type: Plain text +#: davfs2.conf.5:43 +msgid "use_locks 1" +msgstr "use_locks 1" + +# type: Plain text +#: davfs2.conf.5:46 +msgid "[/home/otto/mywebspace]" +msgstr "[/home/otto/mywebspace]" + +# type: Plain text +#: davfs2.conf.5:48 +msgid "gui_optimize 1" +msgstr "gui_optimize 1" + +# type: Plain text +#: davfs2.conf.5:53 +msgid "" +"All mounted @PACKAGE@ file systems will use the coda kernel file system and " +"the proxy foo.bar. All @PACKAGE@ file systems expect /media/dav will disable " +"the use of the locks. /home/otto/mywebspace will use the gui_optimize option." +msgstr "" +"Alle @PACKAGE@-Dateisysteme benutzen das Kerneldateisystem fuse und den " +"Proxy foo.bar. Nur in /media/dav werden Sperren benutzt. Für das " +"Dateisystem /home/otto/mywebspace wird die Option gui_optimize eingeschaltet." + +# type: SH +#: davfs2.conf.5:54 +#, no-wrap +msgid "GENERAL SYNTAX RULES" +msgstr "ALLGEMEINE SYNTAX-REGELN" + +# type: Plain text +#: davfs2.conf.5:57 +msgid "Lines that only contain spaces and tabs (empty lines) are ignored." +msgstr "Leerzeilen werden ignoriert." + +# type: Plain text +#: davfs2.conf.5:60 +msgid "# indicates a comment. The rest of the line is ignored." +msgstr "# kennzeichnet einen Kommentar. Der Rest der Zeile wird ignoriert." + +# type: Plain text +#: davfs2.conf.5:63 +msgid "\\(rs is the escape character." +msgstr "" +"\\(rs ist das Escape-Zeichen und hebt die Sonderfunktion des folgenden " +"Zeichens auf." + +# type: Plain text +#: davfs2.conf.5:66 +msgid "\"\" is used for quotation." +msgstr "\" wird als Anführungszeichen benutzt." + +# type: Plain text +#: davfs2.conf.5:72 +msgid "" +"If a value contains one of the special characters space, tab, #, \\(rs, or " +"\", this character must be escaped by a preceding \\(rs. Use \\(cq\\(rs\\ " +"\\(cq instead of \\(cq\\ \\(cq, \\(cq\\(rs#\\(cq instead of \\(cq#\\(cq, " +"\\(cq\\(rs\\(rs\\(cq instead of \\(cq\\(rs\\(cq and \\(cq\\(rs\"\\(cq " +"instead of \\(cq\"\\(cq." +msgstr "" +"Wenn ein Wert eines der Sonderzeichen Leerzeichen, Tabulator, #, \\(rs oder " +"\" enthält, muss diesem Zeichen ein Escape-Zeichen \\(rs vorangestellt " +"werden. Also \\(cq\\(rs\\ \\(cq statt \\(cq\\ \\(cq, \\(cq\\(rs#\\(cq statt " +"\\(cq#\\(cq, \\(cq\\(rs\\(rs\\(cq statt \\(cq\\(rs\\(cq und \\(cq\\(rs" +"\"\\(cq statt \\(cq\"\\(cq." + +# type: Plain text +#: davfs2.conf.5:78 +msgid "" +"Values containing spaces, tabs or # may instead be enclosed in double " +"quotes. But \" and \\(cq must be escaped even within double quotes. If the " +"starting line of a section is enclosed in double quotes, the square brakets " +"must be within the quotes (like \"[/home/otto/with space]\")." +msgstr "" +"Werte, die Lerrzeichen, Tabulatoren oder # enthalten, können stattdessen " +"auch in doppelte Anführungszeichen gesetzt werden. \\(rs und \" brauchen " +"auch innerhalb eines Ausdrucks in Anführungszeichen ein vorangestelltes " +"Escape-Zeichen. Wenn die Kopfzeile eines Abschnittes in Anführungszeichen " +"gesetzt wird, dann müssen die eckigen Klammern innerhalb der " +"Anführungszeichen stehen (z.B. \"[/home/otto/with space]\")." + +# type: Plain text +#: davfs2.conf.5:82 +msgid "" +"Boolean option values (yes/no) must be given as numerical value. 0 for no, " +"1 for yes." +msgstr "" +"Bei ja/nein-Optionen muss der Wert numerisch angegeben werden. 0 für nein, 1 " +"für ja." + +# type: SH +#: davfs2.conf.5:84 +#, no-wrap +msgid "AVAILABLE CONFIGURATION OPTIONS" +msgstr "KONFIGURATIONS-OPTIONEN" + +# type: SH +#: davfs2.conf.5:86 +#, no-wrap +msgid "General Options" +msgstr "Allgemeine Optionen" + +# type: TP +#: davfs2.conf.5:88 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:92 +msgid "" +"When invoked by root the B<@PROGRAM_NAME@> daemon will run as this user. " +"Value must be given as I, B as numerical id." +msgstr "" +"Wird B<@PROGRAM_NAME@> von root gestartet, läuft der Hintergrundprozess als " +"dieser Benutzer. Es muss der Benutzer-I angeben werden, nicht die " +"Benutzernummer." + +# type: Plain text +#: davfs2.conf.5:94 +msgid "Default: @USER@" +msgstr "Voreingestellt: @USER@" + +# type: Plain text +#: davfs2.conf.5:96 davfs2.conf.5:106 davfs2.conf.5:116 davfs2.conf.5:145 +#: davfs2.conf.5:154 +msgid "B" +msgstr "" +"B" + +# type: TP +#: davfs2.conf.5:97 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:102 +msgid "" +"The group of the running B<@PROGRAM_NAME@> daemon. Ordinary users must be " +"member of this group in order to mount a @PACKAGE@ file system. Value must " +"be given as I, B as numerical id." +msgstr "" +"Die Gruppe des B<@PROGRAM_NAME@>-Hintergrundprozesses. Normale Benutzer " +"müssen Mitglieder dieser Gruppe sein, damit sie ein @PACKAGE@-Dateisystem " +"einhängen dürfen. Es muss der Gruppen-I angeben werden, nicht die " +"Gruppennummer." + +# type: Plain text +#: davfs2.conf.5:104 +msgid "Default: @GROUP@" +msgstr "Voreingestellt: @GROUP@" + +# type: TP +#: davfs2.conf.5:107 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:114 +msgid "" +"An ordinary user is not allowed to mount within the home directory of " +"another user. But sometimes system users (like I) get assigned home " +"directories (like /), that include common mount points. This option allows " +"to give a comma seperated list of system users that will be excluded from " +"this check." +msgstr "" +"Normale Benutzer dürfen keine Dateisysteme innerhalb des Home-Verzeichnisses " +"eines anderen Benutzers einhängen. Manchmal erhalten jedoch System-Benutzer " +"(wie z.B. I) ein Home-Verzeichnis zugewiesen (wie z.B. /), das " +"gängige Einhängepunkte mit einschließt. Mit dieser Option kann eine durch " +"Kommas unterteilte Liste von System-Benutzern angegeben werden, die nicht in " +"diese Prüfung einbezogen werden." + +# type: TP +#: davfs2.conf.5:117 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:121 +msgid "" +"Which kernel file system to use, to integrate into the virtual file system. " +"Possible values are I and I." +msgstr "" +"Welches Kernel-Dateisystem zur Integration in das virtuelle Dateisystem " +"benutzt wird. Möglich sind I und I." + +# type: Plain text +#: davfs2.conf.5:123 +msgid "Default: fuse" +msgstr "Voreingestellt: fuse" + +# type: TP +#: davfs2.conf.5:124 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:129 +msgid "" +"Size in KiByte of the buffer used to communicate with the kernel file " +"system. Only usefull with I, where read and write operations may " +"profit from a larger buffer." +msgstr "" +"Größe des Puffers zur Kommunikation mit dem Kernel-Dateisystem in KiByte. " +"Hat nur einen Effekt, wenn I benutzt wird; Schreib- und " +"Leseoperationen können durch einen großen Puffer beschleunigt werden." + +# type: Plain text +#: davfs2.conf.5:131 +msgid "Default: 16" +msgstr "Voreingestellt: 16" + +# type: SH +#: davfs2.conf.5:133 +#, no-wrap +msgid "WebDAV Related Options" +msgstr "WebDAV-Optionen" + +# type: TP +#: davfs2.conf.5:135 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:141 +msgid "" +"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 " +"B, B and B, this option has no effect." +msgstr "" +"Ob ein Proxy benutzt werden soll. 0 = nein, 1 = ja. Wenn weder in der " +"Konfigurationsdatei noch in den Umgebungsvariablen B, " +"B und B ein Proxy angegeben ist, hat diese Option " +"keinen Effekt." + +# type: Plain text +#: davfs2.conf.5:143 davfs2.conf.5:208 davfs2.conf.5:215 davfs2.conf.5:293 +#: davfs2.conf.5:421 +msgid "Default: 1" +msgstr "Voreingestellt: 1" + +# type: TP +#: davfs2.conf.5:146 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:152 +msgid "" +"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 " +"appended, seperated by a colon. Examples: I or I" +msgstr "" +"Der vollständige Domain-Name des Proxy (aber ohne Schema). Wenn der Proxy " +"eine andere Port-Nummer als 8080 benutzt, muss diese, durch einen " +"Doppelpunkt getrennt, angehängt werden. Beispiele: I oder " +"I" + +# type: TP +#: davfs2.conf.5:155 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:161 +msgid "" +"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 " +"I<~/.@PACKAGE@/@CERTS_DIR@> and I<@SYS_CONF_DIR@/@CERTS_DIR@> will be " +"searched." +msgstr "" +"Name einer Datei mit einem Zertifikat im PEM-Format. Der Dateiname kann als " +"absoluter Pfad angegeben werden oder als reiner Dateiname. Im letzteren Fall " +"wird die Datei in den Verzeichnissen I<~/.@PACKAGE@/@CERTS_DIR@> und " +"I<@SYS_CONF_DIR@/@CERTS_DIR@> gesucht." + +# type: Plain text +#: davfs2.conf.5:165 +msgid "" +"This option is intended for self-signed server certificates. Self-signed " +"means issuer and subject are the same. Common name (CN) must be the domain " +"name of the server." +msgstr "" +"This Option ist für selbstsignierte Server-Zertifikate gedacht. " +"Selbstsigniert bedeutet: der Name des Ausstellers (issuer) und des " +"Eigentümers (subject) sind gleich. Der Common name (CN) muss der Domainname " +"des Servers sein." + +# type: Plain text +#: davfs2.conf.5:175 +msgid "" +"In case the server certificate is not self-singed, this file must contain " +"the certificate of the certificate authority (CA) that signed the server " +"certificate, not the the server certificate itself. If an hirarchy of CA's " +"is involved (the CA that signed the server certificate is not the root CA), " +"the file must contain all the certificates from the chain of CAs involved, " +"beginning with the CA that signed the server certificate, up to the self-" +"signed certificate of the root CA. (The option name B is a " +"misnomer in this case. Sorry.) You can create the file by concatenating all " +"the CA-certificates involved." +msgstr "" +"Falls das Zertifikat nicht selbstsigniert ist, muss die Datei das Zertifikat " +"der Zertifizierungsstelle (CA) enthalten, die das Zertifikat signiert hat. " +"Falls eine Zertifizierungshierarchie im Spiel ist (der Herausgeber des " +"Zertifikats ist nicht die Root-CA) muss die Datei die Zertifikate aller " +"beteiligten CAs enthalten; beginnend mit der CA, die das Serverzertifikat " +"signiert hat bis hoch zum selbstsignierten Zertifikat der Root-CA. (Die " +"Bezeichnung der Option als B ist in diesem Fall leider " +"irreführend.) Du kannst die Datei erzeugen, indem du alle CA-Zertifikate " +"nacheinander in eine Datei kopierst." + +# type: Plain text +#: davfs2.conf.5:182 +msgid "" +"B Even if the certificate is trusted, that does not mean it is " +"accepted. There is the additional constraint, that the certificate presented " +"by the server must belong to the server. The CN in the server certificate " +"must be the domain name of the server. There is currently no way to " +"automatically accept certificates that don't belong to the server." +msgstr "" +"B Auch wenn dem Zertifikat nun vertraut wird, heißt das noch " +"nicht, dass es auch akzeptiert wird. Die zusätzliche Bedingung: das " +"Zertifikat, das der Server vorlegt, muss ihm auch gehören. D.h. der CN im " +"Serverzertifikat muss der Domainname des Servers sein. Im Moment gibt es " +"keine Möglichkeit, Zertifikate automatisch zu akzeptieren, die nicht dem " +"Server gehören." + +# type: TP +#: davfs2.conf.5:183 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:190 +msgid "" +"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 " +"file name only. In the latter case the directories I<~/.@PACKAGE@/" +"@CERTS_DIR@/@CLICERTS_DIR@> and I<@SYS_CONF_DIR@/@CERTS_DIR@/@CLICERTS_DIR@> " +"will be searched." +msgstr "" +"Name einer Datei mit einem Zertifikat im PKCS#12-Format, mit dem sich der " +"Benutzer beim Server ausweisen kann. Der Name muss entweder als absoluter " +"Pfad oder als reiner Dateiname angegeben werden. Im letzteren Fall wird in " +"den Verzeichnissen I<~/.@PACKAGE@/@CERTS_DIR@/@CLICERTS_DIR@> und " +"I<@SYS_CONF_DIR@/@CERTS_DIR@/@CLICERTS_DIR@> nach ihr gesucht." + +# type: TP +#: davfs2.conf.5:191 davfs2.conf.5:492 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:196 +msgid "" +"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 " +"path. The file must be read and writable by the owner only (mode 600)." +msgstr "" +"Name der Datei, die die vertraulichen Zugangsdaten für Server und Proxy " +"enthält, sowie Passwörter zur Entschlüsselung von Client-Zertifikaten. Der " +"Name muss ein absoluter Pfad sein. Die Datei darf nur für den Eigentümer " +"schreib- und lesbar sein (Dateimodus 600)." + +# type: Plain text +#: davfs2.conf.5:198 +msgid "Default: ~/.@PACKAGE@/@SECRETSFILE@" +msgstr "Voreingestellt: ~/.@PACKAGE@/@SECRETSFILE@" + +# type: Plain text +#: davfs2.conf.5:201 +msgid "" +"B The system wide secrets file " +"is allways I<@SYS_CONF_DIR@/@SECRETSFILE@>." +msgstr "" +"B Die " +"systemweite Datei für diese Daten ist immer I<@SYS_CONF_DIR@/@SECRETSFILE@>." + +# type: TP +#: davfs2.conf.5:202 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:206 +msgid "" +"Ask the user interactively for credentials and passwords if not found in the " +"secretsfile. 0 = no, 1 = yes." +msgstr "" +"Frage den Benutzer nach den vertraulichen Zugangsdaten, wenn diese nicht in " +"der secrets-Datei gefunden werden. 0 = nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:209 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:213 +msgid "" +"Whether to lock files on the server when they are opened for writing. 0 = " +"no, 1 = yes." +msgstr "" +"Sperre Dateien auf dem Server, wenn sie zum Schreiben geöffnet werden. 0 = " +"nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:216 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:221 +msgid "" +"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 " +"credentials, different values for lock_owner should be choosen." +msgstr "" +"Dieser Text wird an den Server gesandt, um den Eigentümer einer Sperre zu " +"kennzeichnen. Wenn eine WebDAV-Resource gleichzeitig von mehreren Benutzern " +"mit den gleichen Zugangsdaten benutzt wird, sollten unterschiedliche Werte " +"für lock_owner gewählt werden." + +# type: Plain text +#: davfs2.conf.5:223 +msgid "Default: the username from the credentials" +msgstr "Voreingestellt: der Benutzername aus den Zugangsdaten" + +# type: TP +#: davfs2.conf.5:224 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:228 +msgid "" +"How long in seconds locks should be valid, before the server removes them. " +"The server may ignore this and set its own timeout value." +msgstr "" +"Nach dieser Zeit in Sekunden sollte der Server Sperren wieder entfernen. " +"Der Server hält sich nicht unbedingt daran." + +# type: Plain text +#: davfs2.conf.5:230 +msgid "Default: 1800" +msgstr "Voreingestellt: 1800" + +# type: TP +#: davfs2.conf.5:231 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:236 +msgid "" +"That many seconds before the lock times out, B<@PROGRAM_NAME@> will try to " +"refresh the lock. The value should be substantially greater than " +"B." +msgstr "" +"Soviele Sekunden bevor eine Sperre abläuft versucht B<@PROGRAM_NAME@> sie zu " +"erneuern. Der Wert sollte deutlich größer sein als die B." + +# type: Plain text +#: davfs2.conf.5:238 davfs2.conf.5:411 +msgid "Default: 60" +msgstr "Voreingestellt: 60" + +# type: TP +#: davfs2.conf.5:239 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:245 +msgid "" +"To avoid uploading big files that will be refused by the server, " +"B<@PROGRAM_NAME@> uses the header I to get the o.k. " +"from the server before uploading. Not all servers understand this. 0 = no, " +"1 = yes." +msgstr "" +"Um nicht große Dateien hochzuladen, die vom Server sowieso abgelehnt werden, " +"benutzt B<@PROGRAM_NAME@> den Header I um vom Server " +"das o.k. im voraus zu erhalten. Aber nicht alle Server verstehen das. 0 = " +"nein, 1 = ja." + +# type: Plain text +#: davfs2.conf.5:247 davfs2.conf.5:255 davfs2.conf.5:273 davfs2.conf.5:283 +#: davfs2.conf.5:300 davfs2.conf.5:441 +msgid "Default: 0" +msgstr "Voreingestellt: 0" + +# type: TP +#: davfs2.conf.5:248 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:253 +msgid "" +"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 = " +"no, 1 = yes." +msgstr "" +"Manche Server verarbeiten If-Match- und If-None-Match-Header nicht richtig. " +"Dies Option veranlasst B<@PROGRAM_NAME@>, stattdessen HEAD zu benutzen. 0 = " +"nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:256 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:265 +msgid "" +"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 " +"silently turned into a strong, valid etag. With this flag set to 1, " +"B<@PROGRAM_NAME@> will never use this weak etags. If the flas is 0, the " +"weakness indicator will be removed and the etag is assumed to be strong. " +"There is some danger of the Lost-Update-Problem with this. But it is " +"minimized when using locks." +msgstr "" +"Weit verbreitete Server senden ein schwaches Etag, wenn sie kein starkes " +"erzeugen können. Dieses schwache Etag ist immer ungültig, wird aber nach " +"einer Sekunde stillschweigend in ein starkes, gültiges Etag verwandelt. Wenn " +"diese Option auf 1 gesetzt ist, wird B<@PROGRAM_NAME@> diese Etags nicht " +"verwenden. Ist diese Option 0, dann wird die Kennzeichnung als schwach " +"entfernt und das Etag wie ein starkes Etag benutzt. Dies beinhaltet die " +"Gefahr, versehentlich die Änderungen anderer Leute zu überschreiben. Doch " +"diese Gefahr kann durchdie Verwendung von Sperren minimiert werden." + +# type: Plain text +#: davfs2.conf.5:269 +msgid "" +"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 " +"all and the resource cannot be cached." +msgstr "" +"Wenn keine Sperren verwendet werden können, und die Gefahr besteht, dass " +"zwei Clients gleichzeitig auf die selbe Resource zugreifen, solltest du " +"diese Option aktivieren. In diesem Fall wird das Etag nicht benutzt und die " +"Resource kann nicht im Cache gespeichert werden." + +# type: Plain text +#: davfs2.conf.5:271 +msgid "0 = no, 1 = yes." +msgstr "0 = nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:274 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:281 +msgid "" +"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 support. It supports just one cookie which should usually be a " +"session ID. 0 = no, 1 = yes." +msgstr "" +"Manche Server verweigern den Dienst, wenn ihnen nicht erlaubt is ein Cookie " +"zu setzen. Diese Option fügt sehr einfche Unterstützung für Cookies hinzu. " +"Es wird nur ein Cookie unterstützt, welches normalerweise eine Session-ID " +"sein sollte. 0 = nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:284 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:291 +msgid "" +"If option B is set: use HEAD-requests to check for existence " +"or modification of a file to avoid unintended overwriting what somebody else " +"changed. Has no effect if option B is 0. You should only set " +"it 0, if there is no concurrent access to the server. 0 = no, 1 = yes." +msgstr "" +"Falls die Option B gesetzt ist: teste mit Hilfe von HEAD-" +"Anfragen, ob eine Datei existiert oder geändert wurde, um versehentliches " +"Überschreiben der Änderungen anderer Leute zu vermeiden. Hat keie Wirkung " +"wenn B 0 ist. Du solltest die Option nur auf 0 setzen, wenn " +"kein konkurrierender Zugriff auf den Server erfolgt. 0 = nein, 1 = ja." + +# type: TP +#: davfs2.conf.5:294 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:298 +msgid "" +"Some servers send wrong information about their capabilities in the DAV-" +"header. In this case the header should be ignored." +msgstr "" +"Manche Server senden im DAV-Header Fehlinformationen über ihre Fähigkeiten. " +"In diesem Fall sollte man den Header ignorieren." + +# type: TP +#: davfs2.conf.5:301 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:307 +msgid "" +"When extracting file names from the path component of the URL, " +"B<@PROGRAM_NAME@> will assume they are encoded using this character set and " +"translate file names to the local character set. This is B about " +"encoding of file contents and B about HTTP escaping rules." +msgstr "" +"Wenn B<@PROGRAM_NAME@> aus der Pfad-Komponente der URL die Dateinamen " +"erzeugt, geht es davon aus, das diese entsprechend diesem Zeichensatz " +"kodiert sind und übersetzt sie in die lokal benutzte Kodierung. Dies hat " +"B zu tun mit der Kodierung des Dateiinhalts und auch B mit " +"den HTTP-Escape-Regeln." + +# type: Plain text +#: davfs2.conf.5:315 +msgid "" +"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 " +"the encoding of file names is often defined by the clients that created " +"them. Nowadays it is best to use only UTF-8 encoding and to do no " +"conversion. If you are not sure that all clients understand UTF-8, restrict " +"file names to pure us-ascii. Never use characters in file names, that may " +"have a special function on some operating systems (like /, : and \\(rs)." +msgstr "" +"Es gibt in HTTP keine Möglichekit die Kodierung der Pfad-Komponente zu " +"erfahren. Da die Kodierung von Namen im Pfad meistens von den Clients " +"festgelegt wird, die diese Dateien und Verzeichnisse erzeugen, kann es " +"durchaus vorkommen, dass auch innerhalb eines Pfades unterschiedliche " +"Kodierungen verwendet werden. Heutzutage ist es am besten, ausschließlich " +"die UTF-8-Kodierung zu benutzen und keine Konvertierung vorzunehmen. Wenn du " +"nicht sicher bist, dass alle Clients das verstehen, solltest du Dateinamen " +"auf reines US-ASCII beschränken. Benutze niemals Zeichen, die im Dateisystem " +"eines anderen Betriebssystems eine spezielle Funktion haben (wie z.B. /, : " +"und \\(rs)." + +# type: Plain text +#: davfs2.conf.5:317 +msgid "Default: no character set conversion" +msgstr "Voreingestellt: die Kodierung wird nicht umgewandelt" + +# type: TP +#: davfs2.conf.5:318 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:324 +msgid "" +"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' " +"is used then no explicit timeout handling is set and the connect call will " +"only timeout as dictated by the TCP stack." +msgstr "" +"Beim Öffnen einer TCP-Verbindung zum Server wartet B<@PROGRAM_NAME@> so " +"viele Sekunden bevor es einen Fehler annimmt. Bei einem Wert von \"0\" wird " +"die Feststellung einer Zeitüberschreitung dem TCP-Stack überlassen." + +# type: Plain text +#: davfs2.conf.5:327 +msgid "" +"This parameter only takes effect if the version of neon in use (neon version " +"E 0.26) and the OS support non-blocking I/O." +msgstr "" +"Dieser Parameter zeigt nur Wirkung, wenn die verwendete Neon-Version " +"(Version E 0.26) und das Betriebssystem nicht-blockierende Ein-Ausgabe-" +"Operationen unterstützen." + +# type: Plain text +#: davfs2.conf.5:329 davfs2.conf.5:431 +msgid "Default: 10" +msgstr "Voreingestellt: 10" + +# type: TP +#: davfs2.conf.5:330 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:334 +msgid "" +"How long in seconds B<@PROGRAM_NAME@> will wait for an answer from the " +"server before assuming an error." +msgstr "" +"B<@PROGRAM_NAME@> wird so viele Sekunden auf die Antwort des Servers warten, " +"bevor es einen Fehler annimmt." + +# type: Plain text +#: davfs2.conf.5:336 davfs2.conf.5:344 +msgid "Default: 30" +msgstr "Voreingestellt: 30" + +# type: TP +#: davfs2.conf.5:337 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:342 +msgid "" +"When B<@PROGRAM_NAME@> can not reach the server it will try again after " +"B seconds. For subsequent retries the interval will be increased up " +"to B seconds." +msgstr "" +"Wenn B<@PROGRAM_NAME@> den Server nicht erreichen kann, wird es es nach " +"B Sekunden nochmal versuchen. Bei weiteren Versuchen wird es diese " +"Zeit schrittweise bis auf B Sekunden erhöhen." + +# type: TP +#: davfs2.conf.5:345 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:348 +msgid "Maximum value of the retry interval." +msgstr "Maximales retry-Intervall." + +# type: Plain text +#: davfs2.conf.5:350 +msgid "Default: 300" +msgstr "Voreingestellt: 300" + +# type: TP +#: davfs2.conf.5:351 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:356 +msgid "" +"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 " +"value. Example:" +msgstr "" +"Unter Umständen benötigt dein Server spezielle Header um zu tun was er soll. " +"Diese Option benötigt, anders als andere Optionen, zwei Werte: den Namen des " +"Headers und seinen Wert. zum Beispiel:" + +# type: Plain text +#: davfs2.conf.5:358 +msgid "add_header Translate F" +msgstr "add_header Translate F" + +# type: Plain text +#: davfs2.conf.5:360 +msgid "B<@PROGRAM_NAME@> will add header \"Translate: F\" on all requests." +msgstr "" +"B<@PROGRAM_NAME@> sendet nun den Header \"Translate: F\" bei allen Anfragen " +"mit." + +# type: Plain text +#: davfs2.conf.5:364 +msgid "" +"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@/" +"@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are merged." +msgstr "" +"Diese Option kann mehrmals angegeben werden. Alle angegebenen Header werden " +"bei Anfragen mitgesandt. Sowohl die add_header Optionen aus @SYS_CONF_DIR@/" +"@CONFIGFILE@, als auch die aus ~/.@PACKAGE@/@CONFIGFILE@ werden angewandt." + +# type: SH +#: davfs2.conf.5:366 +#, no-wrap +msgid "Cache Related Options" +msgstr "Cache-Optionen" + +# type: TP +#: davfs2.conf.5:368 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:373 +msgid "" +"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 " +"directory. You should regularly check this directory." +msgstr "" +"Jedes @PACKAGE@-Dateisystem hat ein Verzeichnis mit diesem Namen. In ihm " +"werden Dateien gespeichert, die nicht auf den Server zurück gesichert werden " +"konnten. Du solltest dieses Verzeichnis öfter mal überprüfen." + +# type: Plain text +#: davfs2.conf.5:375 +msgid "Default: lost+found" +msgstr "Voreingestellt: lost+found" + +# type: TP +#: davfs2.conf.5:376 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:380 +msgid "" +"The directory where B<@PROGRAM_NAME@> will store cached files. For every " +"mount point a subdirectory will be created." +msgstr "" +"In diesem Verzeichnis speichert B<@PROGRAM_NAME@> die Dateien zwischen. Für " +"jedes Dateisystem wird darin ein Unterverzeichnis angelegt." + +# type: Plain text +#: davfs2.conf.5:384 +msgid "" +"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 " +"this user." +msgstr "" +"In der systemweiten Konfigurationsdatei wird das Verzeichnis festgelegt, das " +"von root benutzt wird. In einer Benutzer-Konfigurationsdatei das " +"Verzeichnis, das von diesem Benutzer benutzt wird" + +# type: Plain text +#: davfs2.conf.5:386 +msgid "Defaults: @SYS_CACHE_DIR@ and ~/.@PACKAGE@/cache" +msgstr "Voreingestellt: @SYS_CACHE_DIR@ und ~/.@PACKAGE@/cache" + +# type: TP +#: davfs2.conf.5:387 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:392 +msgid "" +"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 " +"necessary." +msgstr "" +"Der Platz auf der Festplatte in MiByte, der für den Cache zur Verfügung " +"steht. B<@PROGRAM_NAME@> nimmt sich immer genug Platz für alle offenen " +"Dateien auch wenn dieser Wert überschritten wird." + +# type: Plain text +#: davfs2.conf.5:394 +msgid "Default: 50" +msgstr "Voreingestellt: 50" + +# type: TP +#: davfs2.conf.5:395 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:401 +msgid "" +"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 " +"systems (more than some hundreds of files) increasing this number may speed " +"up file operations. The value should be a power of 2." +msgstr "" +"Die Anzahl der Plätze in einer Hash-Tabelle, die B<@PROGRAM_NAME@> für alle " +"bekannten Dateien und Verzeichnisse führt. Bei großen Dateisystemen (mehr " +"als einige Hundert Dateien) kann ein größerer Wert die Dateioperationen " +"beschleunigen. Der Wert sollte eine Zweierpotenz sein." + +# type: Plain text +#: davfs2.conf.5:403 +msgid "Default: 1024" +msgstr "Voreingestellt: 1024" + +# type: TP +#: davfs2.conf.5:404 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:409 +msgid "" +"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 " +"opening of files and reading a directory by an application." +msgstr "" +"B<@PROGRAM_NAME@> betrachtet Informationen über Dateien in einem Verzeichnis " +"so viele Sekunden als gültig. Hinweis: Dies gilt nicht beim Öffnen einer " +"Datei oder wenn eine Anwendung den Inhalt eines Verzeichnisses liest. " + +# type: TP +#: davfs2.conf.5:412 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:419 +msgid "" +"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 " +"calls on the same file in short sequence. To avoid unecessary traffic " +"B<@PROGRAM_NAME@> will wait that many seconds before it send a new request " +"for the same information." +msgstr "" +"Wenn eine Anwendung eine Datei oder ein Verzeichnis öffnet, wird " +"B<@PROGRAM_NAME@> zuerst auf dem Server nachfragen, ob eine neuere Version " +"vorliegt. Manche Anwendungen öffnen dieselbe Dateien in schneller Folge. Um " +"unnötigen Netzwerkverkehr zu vermeiden, wird B<@PROGRAM_NAME@> erst nach " +"dieser Zeit in Sekunden dieselbe Information erneut anfragen." + +# type: TP +#: davfs2.conf.5:422 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:429 +msgid "" +"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 " +"uploading of temporary files that will be removed immediately after " +"closing. If you need the files to appear on the server immediately after " +"closing, set this option to 0." +msgstr "" +"Wenn eine geänderte Datei geschlossen wird, wartet B<@PROGRAM_NAME@> so " +"viele Sekunden, bevor es die Datei auf den Server hochlädt. Dies verhindert, " +"dass temporäre Dateien zum Server übertragen werden, nur um sofort danach " +"gelöscht zu werden. Wenn es nötig ist, dass die Dateien sofort nach dem " +"Schließen auf dem Server erscheinen, kann diese Option auf 0 gesetzt werden." + +# type: TP +#: davfs2.conf.5:432 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:439 +msgid "" +"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 " +"just any file, slowing down things dramatically for large directories. With " +"this option B<@PROGRAM_NAME@> will try to get this information from all " +"files in a directory with one PROPFIND request. 0 = no, 1 = yes." +msgstr "" +"Immer wenn eine Datei geöffnet wird, muss B<@PROGRAM_NAME@> beim Server " +"nachfragen, ob eine neuere Version vorliegt. Grafische Benutzeroberflächen " +"neigen dazu, alle Dateien zu öffnen, was bei großen Verzeichnissen die " +"Reaktionszeit des Dateisystem gewaltig erhöht. Mit dieser Option versucht " +"B<@PROGRAM_NAME@> diese Abfrage für alle Dateien eines Verzeichnisses mit " +"einem PROPFIND-Request zu erledigen. 0 = nein, 1 = ja." + +# type: SH +#: davfs2.conf.5:443 +#, no-wrap +msgid "Debugging Options" +msgstr "Debugging Optionen" + +# type: TP +#: davfs2.conf.5:445 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:453 +msgid "" +"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 " +"and priority LOG_DEBUG. It depends from the configuration of the syslog " +"daemon where the messages will go (propably /var/log/messages, /var/log/" +"syslog or /var/log/daemon.log). Whether HTTP related debug messages are " +"available depends on your neon library." +msgstr "" +"Schickt Debug-Meldungen and den Syslog-Dämon. Der Wert legt die Art der " +"Informationen fest. Die Meldungen werden mit facility LOD_DAEMON und " +"Priorität LOG_DEBUG gesandt. In welche Log-Datei sie gehen, hängt von der " +"Konfiguration des Syslog-Dämons ab (vermutlich /var/log/messages, /var/log/" +"syslog oder /var/log/daemon.log). Ob Debug-Meldungen zu HTTP möglich sind, " +"hängt von der Neon-Bibliothek ab." + +# type: Plain text +#: davfs2.conf.5:457 +msgid "" +"Unlike other options, this option is cumulative. If there are several debug " +"entries with different values, all of them will be applied. Also debug " +"options from @SYS_CONF_DIR@/@CONFIGFILE@ and ~/.@PACKAGE@/@CONFIGFILE@ are " +"merged." +msgstr "" +"Diese Option kann mehrmals angegeben werden, und die angegebenen Werte " +"ergänzen sich und sind alle wirksam. Es werden sowohl die debug-Optionen aus " +"@SYS_CONF_DIR@/@CONFIGFILE@, als auch die aus ~/.@PACKAGE@/@CONFIGFILE@ " +"angewandt." + +# type: Plain text +#: davfs2.conf.5:460 +msgid "" +"B Debug messages let the log-files grow quickly. Never use this " +"option in normal operation of mount.davfs." +msgstr "" +"B Debug-Meldungen lassen die Log-Dateien sehr schnell anwachsen. " +"Verwende die Option niemals im normalen Betrieb." + +# type: Plain text +#: davfs2.conf.5:462 +msgid "Default: no debugging messages" +msgstr "Voreinstellung: keine Debug-Meldungen." + +# type: Plain text +#: davfs2.conf.5:463 +#, no-wrap +msgid "B" +msgstr "B" + +# type: TP +#: davfs2.conf.5:465 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:468 +msgid "Command line and configuration options." +msgstr "Kommando-Zeile und Kofigurationsoptionen." + +# type: TP +#: davfs2.conf.5:468 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:471 +msgid "Upcalls from the kernel file system." +msgstr "Anfragen vom Kernel-Dateisystem." + +# type: TP +#: davfs2.conf.5:471 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:474 +msgid "Cache operations like adding and removing nodes." +msgstr "" +"Cache-Operationen wie das Erzeugen und Löschen von Dateien und " +"Verzeichnissen." + +# type: TP +#: davfs2.conf.5:474 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:477 +msgid "HTTP headers." +msgstr "HTTP-Header." + +# type: TP +#: davfs2.conf.5:477 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:480 +msgid "Parsing of the XML-body of WebDAV-requests." +msgstr "Analysieren von XML-Daten in WebDAV-Anfragen." + +# type: TP +#: davfs2.conf.5:480 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:483 +msgid "Negotiation of authentication." +msgstr "Aushandeln der Authentifizierung." + +# type: TP +#: davfs2.conf.5:483 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:486 +msgid "Information about locks." +msgstr "Informationen über Sperren." + +# type: TP +#: davfs2.conf.5:486 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:489 +msgid "TLS/SSL related stuff like certificates." +msgstr "TLS/SSL-Informatinen, z.B. Zertifikate." + +# type: TP +#: davfs2.conf.5:489 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:492 +msgid "Complete body of HTTP-responses." +msgstr "Der komplette Datenteil von HTTP-Antworten." + +# type: Plain text +#: davfs2.conf.5:495 +msgid "" +"Also print confidential information, which is usually omitted or obscured." +msgstr "" +"Gib auch vertrauliche Daten aus, die normalerweise weg gelassen werden." + +# type: TP +#: davfs2.conf.5:495 +#, no-wrap +msgid "B" +msgstr "B" + +# type: Plain text +#: davfs2.conf.5:498 +msgid "Includes config, kernel, cache and http." +msgstr "Beinhaltet config, kernel, cache und http." + +# type: SH +#: davfs2.conf.5:501 mount.davfs.8:514 umount.davfs.8:79 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTOREN" + +# type: Plain text +#: davfs2.conf.5:505 +msgid "" +"This man page was written by by Werner Baumann Ewerner." +"baumann@onlinehome.deE." +msgstr "" +"Dieses Handbuch hat Werner Baumann Ewerner.baumann@onlinehome.deE " +"geschrieben." + +# type: SH +#: davfs2.conf.5:507 mount.davfs.8:531 umount.davfs.8:84 +#, no-wrap +msgid "DAVFS2 HOME" +msgstr "DAVFS2 HOME" + +# type: Plain text +#: davfs2.conf.5:510 mount.davfs.8:534 umount.davfs.8:87 +msgid "http://savannah.nongnu.org/projects/davfs2" +msgstr "http://savannah.nongnu.org/projects/davfs2" + +# type: SH +#: davfs2.conf.5:512 mount.davfs.8:536 umount.davfs.8:89 +#, no-wrap +msgid "SEE ALSO" +msgstr "SIEHE AUCH" + +# type: Plain text +#: davfs2.conf.5:518 +msgid "" +"B<@PROGRAM_NAME@>(8), B(8), B(8), B(8), " +"B(5)" +msgstr "" +"B<@PROGRAM_NAME@>(8), B(8), B(8), B(8), " +"B(5)" diff --git a/man/de/davfs2.conf.5.translator b/man/de/davfs2.conf.5.translator new file mode 100644 index 0000000..e60f675 --- /dev/null +++ b/man/de/davfs2.conf.5.translator @@ -0,0 +1,4 @@ +PO4A-HEADER:mode=after;position=^\.SH AUTOREN;beginboundary=^\.SH +.SH ÜBERSETZER +Das Handbuch wurde von Werner Baumann +übersetzt. 2008-01-02 diff --git a/man/de/mount.davfs.8.po b/man/de/mount.davfs.8.po new file mode 100644 index 0000000..d77c585 --- /dev/null +++ b/man/de/mount.davfs.8.po @@ -0,0 +1,1322 @@ +# #-#-#-#-# mount.davfs.8.po (davfs2 1.4.0) #-#-#-#-# +# German translation of mount.davfs man page. +# Copyright (C) 2007 Werner Baumann +# Werner Baumann , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: davfs2 1.4.0\n" +"POT-Creation-Date: 2009-04-13 21:30+0300\n" +"PO-Revision-Date: 2009-04-13 21:49+0200\n" +"Last-Translator: Werner Baumann \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "2009-04-13" +msgstr "2009-04-13" + +# type: TH +#: davfs2.conf.5:1 mount.davfs.8:1 umount.davfs.8:1 +#, no-wrap +msgid "@PACKAGE_STRING@" +msgstr "@PACKAGE_STRING@" + +# type: SH +#: davfs2.conf.5:4 mount.davfs.8:3 umount.davfs.8:3 +#, no-wrap +msgid "NAME" +msgstr "BEZEICHNUNG" + +# type: SH +#: davfs2.conf.5:9 mount.davfs.8:22 umount.davfs.8:20 +#, no-wrap +msgid "DESCRIPTION" +msgstr "BESCHREIBUNG" + +# type: SH +#: davfs2.conf.5:501 mount.davfs.8:514 umount.davfs.8:79 +#, no-wrap +msgid "AUTHORS" +msgstr "AUTOREN" + +# type: SH +#: davfs2.conf.5:507 mount.davfs.8:531 umount.davfs.8:84 +#, no-wrap +msgid "DAVFS2 HOME" +msgstr "DAVFS2 HOME" + +# type: Plain text +#: davfs2.conf.5:510 mount.davfs.8:534 umount.davfs.8:87 +msgid "http://savannah.nongnu.org/projects/davfs2" +msgstr "http://savannah.nongnu.org/projects/davfs2" + +# type: SH +#: davfs2.conf.5:512 mount.davfs.8:536 umount.davfs.8:89 +#, no-wrap +msgid "SEE ALSO" +msgstr "SIEHE AUCH" + +# type: TH +#: mount.davfs.8:1 +#, no-wrap +msgid "@PROGRAM_NAME@" +msgstr "@PROGRAM_NAME@" + +# type: Plain text +#: mount.davfs.8:6 +msgid "@PROGRAM_NAME@ - Mount a WebDAV resource in a directory" +msgstr "@PROGRAM_NAME@ - Hängt eine WebDAV-Resource ins Dateisystem ein" + +# type: SH +#: mount.davfs.8:8 umount.davfs.8:8 +#, no-wrap +msgid "SYNOPSIS" +msgstr "ÜBERSICHT" + +# type: Plain text +#: mount.davfs.8:11 +msgid "B<@PROGRAM_NAME@ [-h | --help] [-V | --version]>" +msgstr "B<@PROGRAM_NAME@ [-h | --help] [-V | --version]>" + +# type: Plain text +#: mount.davfs.8:13 +msgid "BIB< | >IB<}>" +msgstr "BIB< | >IB<}>" + +# type: SH +#: mount.davfs.8:15 umount.davfs.8:15 +#, no-wrap +msgid "SYNOPSIS (root only)" +msgstr "ÜBERSICHT (nur für root)" + +# type: Plain text +#: mount.davfs.8:18 +msgid "BI