commit d12d77382e55c2ce7e0445501f866bf3525620e0 Author: wbaumann Date: Tue Apr 14 19:54:53 2009 +0000 first import 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