pax_global_header00006660000000000000000000000064143664344340014525gustar00rootroot0000000000000052 comment=23f8a5819bd81e9a74a2d32287004ac8cd25be5b dcap-2.47.14/000077500000000000000000000000001436643443400126135ustar00rootroot00000000000000dcap-2.47.14/AUTHORS000066400000000000000000000002341436643443400136620ustar00rootroot00000000000000/* * $Id: AUTHORS,v 1.1 2004-11-04 07:58:29 tigran Exp $ */ CORE: Tigran Mkrtchyan FIXES and SUGGESTIONS: Vladimir Podstavkov PACKAGING: Owen Synge dcap-2.47.14/COPYING000066400000000000000000000614471436643443400136620ustar00rootroot00000000000000 GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library 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 Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey 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 library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! dcap-2.47.14/COPYING.LIB000066400000000000000000000614471436643443400142670ustar00rootroot00000000000000 GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library 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 Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey 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 library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! dcap-2.47.14/ChangeLog000066400000000000000000004445541436643443400144050ustar00rootroot000000000000002010-10-22 12:08 omsynge * ChangeLog: Updating Chnage log 2010-10-22 11:58 omsynge * src/Makefile.am: dcap header reorganization missed adding header files to Makefile.am The build target "make dist" no longer contained all the header files required to build dcap. This caused the build target "make rpm" to fail. http://svn.dcache.org/build/job/dcapBuildPackage_VDT_x64_SL_5.4_trunk/4/console With this patch, the target "make rpm" now works. Signed-off-by: Paul Patch: http://rb.dcache.org/r/2568/ 2010-10-21 15:31 pmillar * src/Makefile.am, src/dcap_close.c, src/dcap_lcb.c, src/dcap_lcb.h, src/dcap_open.c, src/dcap_read.c, src/dcap_types.h: dcap: add initial support for local caching (dcap++) This patch adds support for a simple LRU cache: a Local Cache Buffer (LCB). It is a reworked version of the patch from Guenter Duckeck . When reworking it, I've tried to make the algorithm more readable by splitting the functionality into separate functions. I've also removed code-duplication (as much as possible), those variables and structure members that weren't actually used, all the commented-out code and the (logical) dead-code. I've tried to fix some of the issues Gerd raised in his initial review; however, some of these issues, whilst certainly valid, may not be worth fixing here. Instead, we can address them with a rewrite of dcap so it has a generic caching layer (as Tigran proposes). I've copied Gerd's comments that are still outstanding into the code as comments prefixed with "REVISIT". I'm aware of a number of limitations with the code as-is: a) the first cache block (block-number 0) must always be cached, b) the algorithm is O(n), where n is the number of blocks, c) behaviour under error conditions [either dc_real_read() fails returning -1 or it read fewer bytes than requested when not at EOF] is poor. d) the code disables read-ahead (RA) which, I believe isn't necessary. Current implementation of LCB+RA is suboptimal, but should be functional. e) if LCB+RA is not allowed, then client code can subvert this by explicit call to dc_setBufferSize(). Patch: http://rb.dcache.org/r/2475/ Target: trunk Acked-by: Gerd Acked-by: Tigran Acked-by: Owen 2010-10-18 08:45 pmillar * src/dcap_test.c: dcap: update test program The program dcap_test provides a basis for testing the dcap library. It uses a specially formatted file, creating it if necessary, where the file contains offset information stored as 4-byte integer values. This allows the test to verify the contents of the data when reading. The patch alters the format of the data in two ways: 1) the byte-order of the integers is fixed to be network-byte-order. Previously it was host byte-order, which lead to ambiguity that had to be worked around. 2) the offset had a somewhat counter-intuitive meaning: the offset recorded in the file is the offset of the following byte. After the patch, the integer value of a 4-byte sequence is the offset of the first of the four bytes. The first 32 bytes of the file are now: 00 00 00 00 00 00 00 04 00 00 00 08 00 00 00 0c 00 00 00 10 00 00 00 14 00 00 00 18 00 00 00 1c The dcap_test program tests the ability to read data by repeatedly reads a (fixed) block of data and skipping forward a small, random amount until the file is exhausted. The data read is verified by checking it against the expected values. This patch enhances the tests. It decouples the access patterns from the mechanism for running the pattern. In addition to the existing access pattern (now called "walking forward"), the patch introduces additional access-patterns: "walking forward with random initial offset", "walking backward", "random 4-byte reads" and "random block reads". The patch includes one "runner" that implements a round-robin selection of the selected access patterns. Any number of access patterns may be given. This allows multiple patterns to be stacked; for example, "walking forward" + "walking backward" gives a cross-like access pattern. The access-patterns are written to externalise their state, so multiple instances of the same access-pattern may be used by a runner. Combining two "walking forward with random initial offset" simulates the ATLAS ROOT access pattern. The round-robin runner has a selectable terminate conditions. There are three possible termination conditions: after the first access-pattern completes, after the last access-pattern completes, or after a fixed number of iterations. If an access-pattern terminates before the runner terminate condition then that access-pattern is disabled and the runner will continue with the remaining access-patterns. Possible future work is described at the beginning of the file. These include adding a multithreaded runner, to test dcap when used by multiple threads concurrently; and adding support for testing multiple file descriptors concurrently. Patch: http://rb.dcache.org/r/2478/ Target: trunk Acked-by: Owen Acked-by: Tigran 2010-10-13 14:22 pmillar * src/dcap_debug.h: dcap: fix compilation on Solaris Patch committed as r.14673 broke compilation on Solaris. This patch fixes this. Patch: http://rb.dcache.org/r/2517 Acked-by: Owen Target: trunk 2010-10-13 12:11 pmillar * src/dcap_debug.c, src/dcap_debug.h: dcap: refactor dcap debugging slightly dcap library provides a debugging support where different channels ("levels") of output may selected. This patch adds two additional methods: dc_vdebug and dc_is_debug_level_enabled. Both are exposed to other components within the dcap library but are not listed as public methods. The dc_vdebug method is a var-args version of the dc_debug method. This is similar to the 'v' version of the printf family of functions (printf vs vprintf, etc). The dc_is_debug_level_enabled returns True (1) if the supplied level is enabled, False (0) if not. This is intended to allow external modules to avoid work that will not be used in generating output. Patch: http://rb.dcache.org/r/2510/ Target: trunk Acked-by: Gerd 2010-10-12 17:05 pmillar * bootstrap.sh: Reverting commit 14671 as Solaris packaging is more broken than I thought 2010-10-12 15:09 pmillar * bootstrap.sh: dcap: fix bootstrap.sh to work on Solaris Solaris packaging provides tools like aclocal and automake as filenames with a version-specific suffix (e.g., aclocal-1.11, automake-1.9, etc); moreover, we cannot necessarily mix-and-match. We must use tools with a consistent version; for example, running v1.11 of aclocal with automake. The current implementation of bootstrap.sh simply invokes "aclocal" and "automake" without any version-specific suffix. This doesn't work on Solaris. There is commented-out lines in the current bootstrap.sh that include a version-specific suffix, suggesting this issue is known but not addressed. This patch fixes the problem. It looks for a set of consistently named tools with a version-specific prefix, in decreasing version numbers (1.11, then 1.10, then 1.9). If these all fail, it tries again without any version-specific suffix. If none of these succeed then the script fails with a suitable error message. The output (on the terminal) from running bootstrap.sh should be identical to previously. The behaviour on running bootstrap.sh should be identical, including that it terminates immediately after any failing step. Patch: http://rb.dcache.org/r/2465/ Acked-by: Owen Target: trunk 2010-10-07 14:27 pmillar * src/Makefile.am: dcap: fix building on Solaris A previous commit (committed as r14667) broke compilation on Solaris machines when using the Solaris compiler. This patch fixes that problem. Target: trunk Patch: http://rb.dcache.org/r/2487/ Acked-by: Owen 2010-10-07 13:33 pmillar * src/Makefile.am, src/dccp.c, src/print_size.c, src/print_size.h, src/sigfig.c, src/sigfig.h: dcap: add -H option to dccp that provides feedback during transfer Whilst in Karlsruhe for GridKa school, I was talking to someone about their experience of dCache being very slow when copying files into and from dCache via dccp. The user was unable to answer simple questions that might indicate what is the problem (where you waiting for a mover? was the checksum taking a long time? was the transfer slow on-average, or did it "stutter"?). I released that this information is currently difficult (or impossible) to obtain with dccp. Moreover, without any feedback during a transfer, one must have blind faith that the transfer is proceeding. This patch addresses this issue. It provides some feedback to the user during a transfer. The feedback uses the (old) method of writing output without the line-feed character ('\n') but using the carriage-return character ('\r') instead. Repeated use of such output gives the user the impression of a single line of text is being updated with new information. Some care is needed to append spaces to the end of the new version of the line if it has shrunk. This is to hide character(s) from the previous line. The transfer feedback line contains a progress bar followed by zero or more items. The items are: percentage of file transferred, number of bytes transferred and the average transfer rate. The code determines the width (number of columns) of the terminal dynamically and scales the output accordingly. If the terminal has sufficient width then all items are displayed and the bar is scaled to take (almost) all of the line's remaining capacity. If the width is too small to allow this then items are progressively switched off to provide additional space, allowing the progress bar to grow in size. This continues until a minimum width of the progress bar is achieved or all items are switched off (whichever happens first). The progress bar is a sequence of characters the first being the open square-bracket and the last being the close square-bracket. Those in between are either a dash ('-') or a hash ('#') and form the part that indicates the transfer's progress. If the size of the file being transferred is known in advance, the progress bar is a "percentage progress bar". This shows information as a sequence of zero or more hash symbols followed by zero or more dashes. The total number of symbols is fixed, for given a progress bar size. The number of hash- and dash- symbols is chosen to be proportional to the amount of data written and still to write respectively. The result is an ASCII-art version of the familiar GUI progress-bar. It is also how the rpm command shows progress. The following is an example line when the file size is known and the terminal is sufficiently wide to allow all items: [#######---------------------------------------------------------------] 11% 45.0 MiB (4.09 MiB/s) If the size of the transfer isn't known in advance (e.g., data is taken from stdin) then it is impossible to show a "percentage activity bar". Instead, the progress bar is an "activity progress bar". This indicates bytes transferred as a shorter bar (made up of some five hashes). This shorter bar is initially left-most within the progress bar and "moves to the right" as data is written. When the shorter bar reaches the end of the activity bar, it wraps. (This similar to how Firefox shows progress under similar circumstances.) The following is an example when the transfer size is unknown and the terminal is sufficiently wide to allow all items: [-----#####----------------------------------------------------------------] 8.00 MiB (4.00 MiB/s) In writing this support, I adding a function for formatting file sizes using SI binary prefixes (kiB, MiB, etc), taking care of aesthetics. The patch also updates the final line of output (which gives a summary of the transfer) to also use the new function. The following is an example of current dccp's final output line: 417488294 bytes in 78 seconds (5226.97 KB/sec) This is an example of final output line after patch: 417488294 bytes (398 MiB) in 76 seconds (5.24 MiB/s) Current limitations and future work: o no user feedback when the transfer stalls, o could add an estimate of the time remaining until the transfer finishes. Target: trunk Patch: http://rb.dcache.org/r/2400/ Acked-by: Gerd Acked-by: Owen 2010-09-23 08:08 pmillar * src/dcap_error.c: dcap: fix type casting of type-punning In dcap_error.c, the support for thread-local variable, t_getspecific macro, which is a simple wrapper around pthread_getspecific(), is used in dcap_error to obtain a ptr to the thread-local errno. The dcap_error casts this pointer to a (void *), rather than (int *). Assigning to a type-punning, like this, is not allowed by C89/C90 standard but historically, compilers turn a blind eye to them. It's legal to assign a (void *) point to any other kind of pointer without casting. The pthread_getspecific() function returns a (void *) pointer, so the explicit casts in dcap_error are actually unnecessary. The proposed patch fixes the "dereferencing type-punned pointer will break strict-aliasing rules" warnings. Patch: http://rb.dcache.org/r/2452/ Target: trunk Acked-by: Gerd 2010-09-23 08:02 pmillar * src/dccp.c: dcap: fix possible use of uninitialised variable The copyfile method in dccp is responsible for copying the data from source to destination. This function allocates a buffer to hold an amount of data. If this allocation fails then the file size is not set and the corresponding print statements use an uninitialised value for the transferred size. This patch fixes this by initialising size to zero. Target: trunk Patch: http://rb.dcache.org/r/2457/ Acked-by: Gerd 2010-09-23 07:59 pmillar * src/dcap_dirent.c: dcap: remove unused function declared in dcap_dirent The char2dirent is not used anywhere in dcap code. This patch removes it. Patch: http://rb.dcache.org/r/2458/ Target: trunk Acked-by: Gerd 2010-09-23 07:57 pmillar * src/dcap_read.c: dcap: fix (void *) pointer arithmetic in dcap_read The buffer argument to dcap_real_read function is defined to be (void *), i.e., a pointer to some absolute location in memory. However, the dcap_real_read implementation treats the buffer pointer as if it pointed to an array of bytes, which is natural. However, in doing this, the code increments the pointer as data is read. This doesn't make sense for a (void *) pointer, it only makes sense for a pointer to an array of some type with well-defined length. This patch fixes this by accepting a (void *) pointer as an argument but assigning the value to a (char *) variable. This makes explicit the semantics currently only tacit in the code. Patch: http://rb.dcache.org/r/2460/ Target: trunk Acked-by: Gerd 2010-09-22 13:08 pmillar * src/dcsuck.c: Silence compiler warning gcc emits a warning about possible misunderstanding of arithmetic bitwise operator precedence (AND has higher precedence than OR). It suggests putting parentheses around the term to make the logic explicit. This patch follows the compilers advice. Target: trunk Patch: http://rb.dcache.org/r/2459 Acked-by: Tigran 2010-09-22 10:17 pmillar * ., config, plugins, plugins/gssapi, plugins/ssl, plugins/telnet, src: Teach SVN to ignore generated files. Tigran, Owen and Gerd are all happy with this. 2010-09-21 12:29 pmillar * src/io.c: dcap: remove two dead functions The file io.c contains two functions "writeln" and "readln" that are not used anywhere in dcap. This patch removes them. Target: trunk Patch: http://rb.dcache.org/r/2445/ Acked-by: Owen 2010-09-21 12:27 pmillar * src/dcap_write.c: dcap: fix dc_writev bug The dc_writev function wraps the POSIX writev vector write (a.k.a "gather write") function. It loops over the vector and builds a complete buffer that is sent to the mover. The loop depends on the variable iobuf_pos, which is incremented when processing the elements of the vector; however, iobuf_pos is not initialised to zero so may take an arbitrary value. This patch fixes this by initialising iobuf_pos to zero. Target: trunk Patch: http://rb.dcache.org/r/2444/ Acked-by: Owen 2010-09-21 12:25 pmillar * src/dcap_stream.c: dcap: fix bug in dc_fgets The function dc_fgets is the dcap wrapper of the POSIX fgets. The implementation contains a bug: if the size argument is zero then the return value depends on an uninitialised variable: n. If the uninitialised value of n is less than zero then the function returns the wrong value. The patch fixes this by initialising n to zero. Patch: http://rb.dcache.org/r/2443/ Target: trunk Acked-by: Owen 2010-09-21 12:22 pmillar * src/dcap.c: dcap: fix hostname label initialisation In dcap, if the hostname of the door did not resolve then the logging would attempt to record an uninitialised string. This patch fixes this. Target: trunk Patch: http://rb.dcache.org/r/2441/ Acked-by: Owen 2010-09-21 12:20 pmillar * src/dcap.c: dcap: ensure ConfirmationBlock is initialised before replying The compiler noticed that the ConfirmationBlock variable "reply" is not completely initialised in the error case. This patch fixes this by initialising the structure to an all-zeros state before writing the code part. Patch: http://rb.dcache.org/r/2440/ Acked-by: Owen Target: trunk 2010-09-21 12:17 pmillar * src/dcap.c: dcap: add missing return type in function declaration A previous commit added a function declaration without including the return-type of the function; whilst technically legal, it is not good practice and results in a compiler warning. This patch fixes this issue by adding the return-type for the function. Patch: http://rb.dcache.org/r/2439/ Target: trunk Acked-by: Owen 2010-09-21 12:01 pmillar * src/dcap_acl.c: dcap: fix Solaris building (second part) The file debug_level.h has a dual purpose: it contains the definitions of the various debug levels and it also is the entry-point for the HAVE_ macros that the autoconf system builds. In future, these two purposes need to be separated; however, for now, we fix the compilation problem by accepting the dual-role of this file and including it when we need to know the value of the HAVE_ macros. Patch: http://rb.dcache.org/r/2451 Acked-by: Tigran Target: trunk 2010-09-21 10:31 pmillar * src/dcap.h.in, src/dcap_preload.c: dcap: fix compilation on Solaris There were two problems when trying to compile dcap for Solaris that a previous patch introduced. The first problem is trivial: the man-page for the stat(2) command states that sys/types.h, sys/stat.h and unistd.h must be included. However, it doesn't state in which header file struct stat is defined. The dcap.h file includes function prototypes using struct stat. It includes sys/types.h, but not sys/stat.h. On GNU systems, including sys/types.h is sufficient for a definition of struct stat; however, on Solaris machines sys/stat.h must be included for the definition of struct stat. The fix is to include sys/stat.h in dcap.h The second problem is slightly more complex: on Solaris, the stat(2), lstat(2) and fstat(2) methods are defined, in the header sys/stat_impl.h, as static local functions. This means that each compiled object file will include its own implementation of the stat, lstat and fstat functions. These implementations are simply a wrapper around "x"-versions of the functions (_xstat, _lxstat, _fxstat respectively). The purpose is to encode a hard-coded version number as an argument to these methods as a backwards compatibility measure. However, this means that, in dcap_preload.c, there are two definitions for each of the three stat-functions (stat, lstat, fstat). The first set of definitions come from sys/stat_impl.h and the second set comes from dcap_preload.c itself. The proposed solution is to move the definition of stat, lstat and fstat into the corresponding #else clause. This allows the "built-in" wrapper in Solaris to operate, mapping (for example) stat --> _xstat. The _xstat implementation is overloaded by dcap_preload.c, which will handle the request using dcap's implementation of stat. Patch: http://rb.dcache.org/r/2449/ Target: trunk Acked-by: Tigran 2010-09-20 17:01 pmillar * src/dcap_poll.c: dcap: fix strict C90 compliance in dcap_poll.c Strict C90 compliance requires that variable declaration and code may not be mixed. This is not true for dcap_poll.c This patch fixes this. Patch: http://rb.dcache.org/r/2442/ Target: trunk Acked-by: Owen 2010-09-20 14:28 pmillar * src/Makefile.am, src/array.c, src/br.c, src/char2crc.c, src/char2crc.h, src/dcap.c, src/dcap.dsp, src/dcap_accept.c, src/dcap_access.c, src/dcap_acl.c, src/dcap_ahead.c, src/dcap_ahead.h, src/dcap_checksum.c, src/dcap_checksum.h, src/dcap_chmod.c, src/dcap_chown.c, src/dcap_close.c, src/dcap_close.h, src/dcap_command.c, src/dcap_debug.c, src/dcap_debug.h, src/dcap_dirent.c, src/dcap_dup.c, src/dcap_error.c, src/dcap_error.h, src/dcap_fsync.c, src/dcap_fsync.h, src/dcap_functions.h, src/dcap_interpreter.c, src/dcap_lib.dsp, src/dcap_lseek.c, src/dcap_lseek.h, src/dcap_mkdir.c, src/dcap_mqueue.c, src/dcap_nodes.h, src/dcap_open.c, src/dcap_poll.c, src/dcap_poll.h, src/dcap_preload.c, src/dcap_preload64.c, src/dcap_protocol.c, src/dcap_protocol.h, src/dcap_read.c, src/dcap_read.h, src/dcap_reconnect.c, src/dcap_rename.c, src/dcap_shared.h, src/dcap_signal.c, src/dcap_signal.h, src/dcap_stat.c, src/dcap_stream.c, src/dcap_test.c, src/dcap_types.h, src/dcap_unix2win.c, src/dcap_unix2win.h, src/dcap_unlink.c, src/dcap_url-test.c, src/dcap_url.c, src/dcap_url.h, src/dcap_version.c.in, src/dcap_win32.h, src/dcap_write.c, src/dcap_write.h, src/dccp.c, src/dccp_linux_directio.c, src/dcsuck.c, src/dispatcher.c, src/fnal_thread.c, src/gettrace.c, src/gettrace.h, src/input_parser.c, src/io.c, src/io.h, src/ioTunnel.h, src/lineparser.c, src/lineparser.h, src/linux_trace.c, src/node_plays.c, src/node_plays.h, src/parser.c, src/passive.c, src/passive.h, src/pnfs.c, src/readv_test.c, src/socket_nio.c, src/stack_trace.h, src/str2errno.h, src/string2stat.c, src/string2stat.h, src/system_io.c, src/thread_test.c, src/trace_back.h, src/tunnelManager.c, src/wdccp.c, src/win32_dlfcn.h, src/win32_libdl.c, src/win32_libdl.h: dcap: rationalise header file usage Currently, dcap's code base has somewhat confused use of header files and prototypes. The dcap.h file contains all public material (macros, prototypes, etc). This file doesn't #include any other files and is intended for distribution with the library. Prototypes for non-public, shared functions are found one or more of these places: o in the dcap_shared.h file (either directly or by this file's #include of additional header files), o individual header files corresponding to the source file (e.g., functions defined in dcap_foo.c are prototyped in dcap_foo.h), o individual header files with dissimilar names (functions defined in dcap_foo.c are prototyped in dcap_bar.h), o locally, in C files often just before they are used. For some functions, the prototypes are duplicated (some dcap code sees one prototype others see a different prototype). Some functions are declared in files that don't have access to (can't "see") that function's prototype. Both practises leave open the risk that the function implementation and code calling the function have different idea of the function's signature ... something the compiler could issue a warning about. Another issue with the current dcap code is with functions that are only used in the file that declares them. Most of these are declared statically (so the function's name isn't exposed to the linker). However some functions have been missed. These missed functions pollute the function namespace and make it harder to spot dead code. Yet another issue is that some macros and constant were duplicated: any mismatch between the declarations would lead to difficult-to-diagnose bugs. This patch tries to rationalise the header file usage in dcap. After the patch ... The dcap.h file contains all public material (as before), Each C file has a corresponding header file with the .c replaced with .h (e.g., foo.c --> foo.h). The exception is for dcap.c. The corresponding file cannot be called dcap.h since that file already exists; instead, dcap_functions.h is used instead. All functions are prototyped in precisely one location. That location depends on how the function is used: For functions that are not public and are used only in the file that declares them, the prototype is near the beginning of that file and is static (the actual declaration doesn't have to be static). For functions that are not public and are shared (used in a file other than where the function is declared) the prototype is in the corresponding header file (e.g., dcap_foo.h for functions declared in dcap_foo.c). For functions that are public, the prototype is in the file dcap.h. All declarations of a function have access to that file's (single) prototype (e.g., via a #include). This allows the compiler to emit a warning if the declaration doesn't match the prototype. Where it makes sense, the declaration of some structures has moved to the corresponding header file; for example, the declaration of the checksum structure is now in dcap_checksum.h. However, for now, the majority of the structures remain in dcap_types.h (may fix this with later patches). Files that no longer have any content are deleted; in particular, the dcap_shared.h file. All include statements for dcap header files use the double-quote form: for example, #include "dcap_foo.h" All system library includes use the angle-bracket form; for example, #include All preprocessor define statements (declaring a macro or constants) are declared in precisely one location. Acked-by: Gerd Acked-by: Owen Target: Trunk Patch: http://rb.dcache.org/r/2380/ 2010-09-17 12:55 omsynge * src/dcap.c, src/dcap_open.c: dcap invalid parsing error catching moved to later stage to unify as suggested by Charles. Since the old error checking did not handle all cases of renaming files or stat I have moved the error handling to where Charles suggested. Signed-off by: Tigran and Paul http://rb.dcache.org/r/2431/ 2010-09-16 15:38 omsynge * configure.ac: bumping the version number 2010-09-16 15:26 omsynge * src/dcap_open.c: dcap: name_invalid error throwing. The characters '\n' and an un escaped '"' will cause errors for dcap causing a protocol violation and the code hanging. This code checks for invalid file names. The code checks in two places, as it should not effect local file system names. Signed-off by: Tigran Mkrtchyan http://rb.dcache.org/r/2426/ 2010-09-16 13:18 omsynge * src/dcap_open.c: removing accidentally commited code 2010-09-16 13:16 omsynge * src/dcap.c, src/dcap_open.c: removing accidently commited debug information 2010-09-16 12:42 omsynge * src/dcap.c: dcap: copy and paste error on changes. Fis to a clear error, which occurs on transfers without debugging but not with debugging. This fix is clearly needed, and fixing it fixes behavior without debugging. Signed-off by: Tigran Mkrtchyan http://rb.dcache.org/r/2422/ 2010-09-15 12:11 omsynge * src/dcap.c, src/dcap_str_util.c: dcap:Simple logic error when not having to increase string length. the buffers are being swapped so that the output buffer can be re-used as an input buffer for subsequent calls to this routine. The old code only did this when the allocation buffer was growing larger. Signed-off by: Paul http://rb.dcache.org/r/2414/ 2010-09-13 16:11 omsynge * src/dcap.c, src/dcap_str_util.c, src/dcap_str_util.h: dcap : memory issues Protection against message truncation Charles Waldman was getting messages of character lengths in the region of 3220. Along with messages from dcache saying missing parameters. http://rt.dcache.org/Ticket/Display.html?id=5774 I looked at the previous patch, http://rb.dcache.org/r/2027 which addressed the issue of over running the buffer, but did not solve the message truncation issue. This patch solves both the issues solved in http://rb.dcache.org/r/2027 Like the previous patch I based this one on the error handling from the man page from snprintf, I also solve the issue that the C language specification says that the, for s*printf family of functions, the output buffer must not overlap with the inputs. If they do the result is undefined. Signed-off by: Paul and Tigran http://rb.dcache.org/r/2356/ 2010-09-10 16:00 omsynge * dcap.spec.in: mock dcap build issue adding BuildRequires: zlib-devel to rpm and srpm is needed to make "mock" work correctly, Brian Bockelman is using "mock" to build dcap for OSG. Signed-off by: Tigran http://rb.dcache.org/r/2399/ 2010-09-03 15:01 pmillar * src/win32_dlfcn.h: Whitespace-only change: convert DOS ^M^J line endings to unix-style ^J 2010-09-03 14:58 pmillar * src/win32_libdl.c: Whitespace-only change: convert DOS ^M^J line endings to unix-style ^J 2010-09-03 09:00 pmillar * src/dcap_unix2win.c: Whitespace-only change: convert DOS ^M^J line endings to unix-style ^J 2010-09-03 07:08 pmillar * src/currentThread.c: dcap: remove file and function that isn't used anywhere The file currentThread.c contains a single function that isn't used anywhere. The file itself isn't compiled. Patch: http://rb.dcache.org/r/2370/ Target: trunk Acked-by: Tigran Mkrtchyan 2010-09-01 10:27 omsynge * AUTHORS, COPYING, ChangeLog, INSTALL, Makefile.am, README, configure.ac, dcap.spec.in: dcap packaging fixes, some files where removed preventing rpm build succeeding. Add some basic documentation to fix lack of rpm build, maybe the error handling patches shoudl be removed but wanted to store them some where safe, rpm building now works again. Signed-off by: Paul and Tigran http://rb.dcache.org/r/2311 2010-08-30 13:59 pmillar * src/Makefile.am, src/dcap.c, src/dcap_poll.c, src/dcap_str_util.c, src/dcap_str_util.h, src/dcap_url.c, src/dccp.c, src/dcsuck.c: Ticket #5690: http://rt.dcache.org/Ticket/Display.html?id=5690 describes how dcap library has code of the form: sprintf(s, "%s ...", s, ...); Ostensibly, this code will append some text to the end of s; however, the code is broken. The C language specification says that the, for s*printf family of functions, the output buffer must not overlap with the inputs. If they do the result is undefined. For many platforms, the above construct would work as expected: the string s would be appended. However, when gcc is invoked with -Wp,-D_FORTIFY_SOURCE=2 flag and -O2 then the above construct produces unexpected results. These options for gcc are those used when creating official Fedora packages. This patch removes the reliance on this non-portable behaviour. It introduces two new functions: dc_safe_strncat and dc_snaprintf. dc_safe_strncat is similar to strncat except that the size parameter refers to the size of the destination string's storage. A canonical usage is: char dst [100]; dc_safe_strncat( dst, sizeof(dst), src); This will append dst with src without overflowing dst. dst is expected to be '\0'-terminated on entering the function and will be '\0'-terminated when the function returns. dc_snaprintf() is a variation on snprintf(). The parameters have the same meaning as snprintf() but the string resulting from the formatting is appended on the end of the first argument string rather than replacing any existing content. Thus a call like: char dst [100]; strcpy( dst, "Example:"); dc_snaprintf( dst, sizeof(dst), " %d", 10); printf( "%s\n", dst); will produce output: Example: 10 In addition to removing the dependency on sprintf for appending a string, the code also removes the risk of overflowing the string buffer when building the dcap command. The patch also removes a bug in dcap_poll.c where a poll event tagged POLLRDBAND would be processed twice. Patch: http://rb.dcache.org/r/2027/ Acked-by: Thomas Acked-by: Tigran Target: trunk 2010-08-25 16:26 omsynge * AUTHORS, Makefile.am, dcap.spec.in, src/dcap.c, src/dcap_command.c, src/dcap_poll.c, src/dcap_reconnect.c: reverting patch applied in error 2010-08-25 16:22 omsynge * AUTHORS, Makefile.am, configure.ac, dcap.spec.in, src/dcap.c, src/dcap_command.c, src/dcap_poll.c, src/dcap_reconnect.c: dcap build process configure error with no value set for LD_LIBRARY_PATH preventing globus plugin being detected as possible to compile It seems a LD_LIBRARY_PATH of the value ":/opt/globus/lib/" does not allow compilation correctly thsi coudl be set by configure when no LD_LIBRARY_PATH was set. This patch makes it so when no LD_LIBRARY_PATH is set the value for test linking of globus will be set to the value --with-globus-lib set as rather than the value :/globus/lib/dir Signed-off by: Paul http://rb.dcache.org/r/2305 2010-08-11 13:59 behrmann * dcap.spec.in: libs: Upgrade to Apache Active MQ 5.3.2 Upgrade to version 5.3.2 from version 5.3.0. 5.3.2 is a bug fix release. Target: trunk Acked-by: Tigran Mkrtchyan Patch: http://rb.dcache.org/r/2206/ 2010-07-08 15:40 tigran * Makefile.am, bootstrap.sh: libdcap: do not create bunch of empty files as a documentation. The current bootstrap.sh creates a bunch of empty files, that are later installed as documentation. Installing empty documentation files does not make sense. Patch: http://rb.dcache.org/r/1645 Acked-By: Tigran Signed-off-by: Mattias Ellert 2010-07-07 13:46 pmillar * src/dcap.c, src/dcap_url-test.c, src/dcap_url.c, src/dcap_url.h: dcap: add storage capacity of string to url2config function The function url2config (in dcap_url.c) populates the memory pointed to by one of the arguments with the configuration option that would result in the supplied dcap url structure. Currently, this function blindly assumes there is sufficient memory to store the necessary configuration string. This patch adds an additional argument to the url2config function: the storage capacity of the string memory allocated. The ordering of the arguments have been changes to be more in keeping with that of snprintf. The few places where url2config is called have been updated. This patch does not affect url2config itself, so the assumption of sufficient memory continues. Patch: http://rb.dcache.org/r/2082/ Acked-by: Tigran Target: trunk 2010-07-01 12:45 omsynge * src/dcap.h.in, src/dcap_dirent.c, src/dcap_lseek.c, src/dcap_open.c, src/dcap_read.c, src/dcap_stat.c, src/dcap_stream.c, src/dcap_types.h, src/dcap_write.c, src/system_io.c, src/system_io.h: dcap: mostly revert patch that broke dcap. This patch is an alternative to http://rb.dcache.org/r/1976/ It reverts the code to the older revision. where the lib64 versions don't work. acked by Tigran http://rb.dcache.org/r/2033/ 2010-06-11 15:39 omsynge * build.xml, plugins/gssapi/base64.c, plugins/gssapi/base64.h, plugins/gssapi/client.c, plugins/gssapi/gssTunnel.h, plugins/gssapi/server.c, plugins/gssapi/util.c, plugins/gssapi/util.h, plugins/javatunnel/Args.java, plugins/javatunnel/Base64.java, plugins/javatunnel/Convertable.java, plugins/javatunnel/NetRolesServerSocket.java, plugins/javatunnel/NetRolesServerSocketCreator.java, plugins/javatunnel/NetRolesSocket.java, plugins/javatunnel/SSLTunnelSocket.java, plugins/javatunnel/TunnelConverter.java, plugins/javatunnel/TunnelInputStream.java, plugins/javatunnel/TunnelOutputStream.java, plugins/javatunnel/sec2.conf, plugins/ssl/sslTunnel.c, plugins/ssl/user.c, plugins/telnet/README, plugins/telnet/dcapPasswd.c, plugins/telnet/telnetTunnel.c, plugins/telnet/user.c, src/array.c, src/array.h, src/br.c, src/char2crc.c, src/currentThread.c, src/dc_check, src/dc_hack.h, src/dc_job_hack.c, src/dcap_accept.c, src/dcap_accept.h, src/dcap_access.c, src/dcap_ahead.c, src/dcap_ahead.h, src/dcap_checksum.h, src/dcap_chmod.c, src/dcap_chown.c, src/dcap_close.c, src/dcap_command.c, src/dcap_command.h, src/dcap_debug.h, src/dcap_dirent.c, src/dcap_dup.c, src/dcap_errno.h, src/dcap_error.c, src/dcap_error.h, src/dcap_fsync.c, src/dcap_interpreter.c, src/dcap_interpreter.h, src/dcap_lseek.c, src/dcap_mkdir.c, src/dcap_mqueue.c, src/dcap_mqueue.h, src/dcap_nodes.h, src/dcap_open.c, src/dcap_poll.c, src/dcap_poll.h, src/dcap_preload.c, src/dcap_preload64.c, src/dcap_protocol.c, src/dcap_protocol.h, src/dcap_reconnect.c, src/dcap_reconnect.h, src/dcap_rename.c, src/dcap_shared.h, src/dcap_signal.c, src/dcap_signal.h, src/dcap_stat.c, src/dcap_stream.c, src/dcap_test.c, src/dcap_types.h, src/dcap_unlink.c, src/dcap_url.c, src/dcap_url.h, src/dcap_write.c, src/dcsuck.c, src/dispatcher.c, src/fnal_thread.c, src/gettrace.c, src/input_parser.c, src/input_parser.h, src/io.c, src/io.h, src/ioTunnel.h, src/lineparser.c, src/links.c, src/links.h, src/linux_trace.c, src/node_plays.c, src/parser.c, src/parser.h, src/passive.c, src/pnfs.c, src/pnfs.h, src/readv_test.c, src/socket_nio.c, src/socket_nio.h, src/str2errno.c, src/string2stat.c, src/sysdep.h, src/system_io.c, src/system_io.h: Remove all trailing white space from dcap. Just a simple sed operation sed -i -e 's/[ \t]*$//g To remove all trailing tabs and spaces. Signed-off by: Paul and Thomas http://rb.dcache.org/r/1970/ 2010-06-11 15:27 omsynge * configure.ac: Autotools is tragically old on SL4 so we need to remove use the macro AC_STRUCT_DIRENT_D_INO which we where not using yet anyway. Now compiles again on SL4.8 Signed-off by: Paul http://rb.dcache.org/r/1975/ 2010-06-10 15:33 omsynge * configure.ac, src/dcap.h.in, src/dcap_dirent.c, src/dcap_lseek.c, src/dcap_open.c, src/dcap_read.c, src/dcap_stat.c, src/dcap_stream.c, src/dcap_types.h, src/dcap_write.c, src/system_io.c, src/system_io.h: Checking of lseek64 pread64 pwrite64 ftello64 fseeko64 struct dirent.dirent struct dirent.dirent64 and finally off64_t The following functions: lseek64 pread64 pwrite64 ftello64 fseeko64 and the following structures: struct dirent.dirent struct dirent.dirent64 off64_t Do not exist on MacOS X. As on Mac the OS is now 64 bit by default. Unfortunately this means I had to make some non 64 bit versions to replace 64 bit specific code. 2010-06-07 12:08 omsynge * configure.ac, src/Makefile.am: Zlib scope limiting Zlib should only be linked to appropriate applications not everything needs to be linked to zlib. I thought I had added this before but it just sat in an unused patch that might have got lost so I add it now. Acked-by: Tigran http://rb.dcache.org/r/1949/ 2010-06-07 10:04 omsynge * dcap.spec.in: dcap rpm packaging bug ? Possible bug may be fixed here Having looked here, http://rt.dcache.org/Ticket/Display.html?id=5624 I believed their was a bug and the old code appeared to potentially allow a bug for libdcap though I could not replicate it oddly even when compiling with id testuser100. Acked-by: Tigran http://rb.dcache.org/r/1947/ 2010-06-07 08:01 tigran * src/dcap_version.c.in: libdcap: fix return type of dc_getPatch() Target: trunk Patch: http://rb.dcache.org/r/1944/ Acked-By Gerd 2010-06-04 07:43 tigran * src/dcap_acl.c: libdcap: fix compiler warning on ifdef Target: trunk Patch: http://rb.dcache.org/r/1943/ Acked-By: Paul 2010-05-19 09:35 tigran * plugins/javatunnel/Convertable.java, plugins/javatunnel/GsiTunnel.java, plugins/javatunnel/GssTunnel.java, plugins/javatunnel/SSLTunnelSocket.java, plugins/javatunnel/SelfTest.java, plugins/javatunnel/TunnelConverter.java, plugins/javatunnel/TunnelSocket.java, plugins/javatunnel/UserBindible.java: cells: use Subject instead of CellUser drop custom CellUser and use Subject instead. cells xxStreamEngines updated to populate Subject. The dcap door is updated to as well. Nevertheless this is placeholder patch for further patches. Target: trunk Patch: http://rb.dcache.org/r/1820/ Acked-By: Gerd 2010-05-10 14:17 tigran * plugins/javatunnel/GsiTunnel.java, plugins/javatunnel/GssTunnel.java, plugins/javatunnel/SSLTunnelSocket.java, plugins/javatunnel/SelfTest.java, plugins/javatunnel/TunnelConverter.java, plugins/javatunnel/TunnelSocket.java, plugins/javatunnel/UserBindible.java: gsitunnel: add support for multiple roles Current tunnel picks only the first role. Patch enables multiple roles in the dcap door. The follow-up patch have to make use of them. Target: trunk Patch: http://rb.dcache.org/r/1484 Acked-By: Paul 2010-04-01 13:15 omsynge * configure.ac: bumping version number pre release 2010-04-01 13:04 omsynge * src/Makefile.am: dcap: putting linking back how it was to fix preload issues. libpdacp was segfaulting before linking. This fixes it, by returning to previous linking layout. Signed-off by: Paul http://rb.dcache.org/r/1712/ 2010-03-26 10:00 omsynge * configure.ac, dcache-dcap.spec.in, dcap.spec.in: packaging to sort out yum repos 2010-03-25 09:17 pmillar * src/system_io.c: dcap: silence object-to-fn-ptr warnings when compiling code When compiling dcap, the GCC compiler emits warnings like: system_io.c:231: warning: ISO C forbids conversion of object pointer to function pointer type This is because we are converting an object pointer (returned by dlsym() function), which we want to use as a function pointer. This is arguably a bug in dlsym; however, we need a work-around in order to silence these warnings. The workaround is to declare a union that does the conversion. This is guaranteed (ISO/IEC 9899:1990 "C89"/"C90") to match exactly. The same problem exists in at least one other file. Future patchs should address further occurrences of this problem. Target: trunk Acked-by: Tigran Mkrtchyan Patch: http://rb.dcache.org/r/1680/ 2010-03-24 11:32 omsynge * configure.ac, plugins/ssl/Makefile.am: dcap:gsi:linking gsidcap was broken due to dcap being completely linked to openssl so gsiapi clashes occured Removes global linking to libssl Use $(SSL_LIBS) rather than statically linking libssl to libsslTunnel Removes unneeded "export" command previously thought to be required for library paths. Removes now unneeded overrides to link to globus fork of libssl. Signed-off by: Tigran http://rb.dcache.org/r/1693/ 2010-03-24 11:28 omsynge * plugins/telnet/dcapPasswd.c: dcap compilation warnings reduction missing #include Trivial change but removes a few warnings during compilation. Signed-off by: Tigran 2010-03-23 10:59 omsynge * configure.ac, src/Makefile.am, src/adler32.c, src/dcap.dsp, src/dcap_checksum.c, src/dcap_lib.dsp, src/dcap_read.c, src/dccp.dsp, src/getopt.c: adler32.c getopt.c upsetting Red hat package acceptance rules. Too get into to EPEL https://bugzilla.redhat.com/show_bug.cgi?id=549821 We have two issues, adler32 getopt.c are not our code and borrowed. Are resolved in this patch. Signed-off by: Tigran Mkrtchyan and Paul http://rb.dcache.org/r/1628/ 2010-03-23 10:50 omsynge * configure.ac: dcap: explicitly use the globus version of open ssl This is a minimal changes fix, so the behaviour is the same as the last dynamic lib version of dcap, this explicitly uses the globus version of open ssl although a different approach may be needed with EPEL packaged globus testing is still required. Probably this can be done better but it makes gsi work properly once this is done we can focus on getting the correct methods detected which we will work upon in the patch, http://rb.dcache.org/r/1646/ Consider this an essential bug fix for gsidcap release for all versions of globus packaged in the globus way. Signed-off by: Paul http://rb.dcache.org/r/1686/ 2010-03-22 17:37 omsynge * configure.ac: Dcap - gsi - Stupid bug loosing all config for linking to globus on 32 bit since the value was always "" the code seting up the linking of globus always had no globus if GCC32PTHR globus was found in addition to GCC32DBGPTHR which is normal so globus normal did not work with 32 bit. Signed-off by: Paul http://rb.dcache.org/r/1683/ 2010-03-19 14:38 omsynge * configure.ac: bumping the release number 2010-03-19 11:54 omsynge * dcache-dcap.spec.in: dcap: fix "make rpm" target finding unpackaged files. The end of the "make rpm" target breaks due to Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/dcache-dcap-root error: Installed (but unpackaged) file(s) found: /opt/d-cache/dcap/bin/dcap_url-test So I add this binary to the dcache-dcap-tests-2.??.0-0.x86_64.rpm Acked-by: Paul http://rb.dcache.org/r/1681/ 2010-03-19 11:16 omsynge * configure.ac: Dcap GSI detection is inconsistent in header and library detection. Due to patch, http://rb.dcache.org/r/1646/ not detecting one to the globus libraries for VDT it was observed that the "make" target built the gsi tunnel but with the wrong linking and the "make rpm " target failed as the gsi tunnel was not packaged in the RPM. This was because the decision to build the gsi tunnel was based upon the globus header files being present and not requiring the libraries to be present also. While the packaging of the RPM for the gsi tunnel depended upon the globus header files being present and requiring the libraries to also contain the appropriate functions. This patch resolves this. I use the auto tools convention or "$want_opt" = yes as I intend to move over to this standard in time. Acked-by: Jan http://rb.dcache.org/r/1673/ 2010-03-19 10:26 omsynge * configure.ac: Bumping the version number 2010-03-19 10:21 omsynge * src/dcap.h.in: dc_getPatch not in dcap.h so breaking 64 bit support for dccp etc. Signed-off by: Paul http://rb.dcache.org/r/1675 2010-03-18 01:25 behrmann * plugins/gssapi, plugins/javatunnel, plugins/ssl, plugins/telnet, src/adler32.c, src/array.c, src/array.h, src/br.c, src/char2crc.c, src/currentThread.c, src/dc_check, src/dc_hack.h, src/dc_job_hack.c, src/dc_stage, src/dcap.c, src/dcap.def, src/dcap.dsp, src/dcap.dsw, src/dcap.h.in, src/dcap_accept.c, src/dcap_accept.h, src/dcap_access.c, src/dcap_ahead.c, src/dcap_ahead.h, src/dcap_checksum.c, src/dcap_checksum.h, src/dcap_chmod.c, src/dcap_chown.c, src/dcap_close.c, src/dcap_command.c, src/dcap_command.h, src/dcap_debug.c, src/dcap_debug.h, src/dcap_dirent.c, src/dcap_dup.c, src/dcap_errno.h, src/dcap_error.c, src/dcap_error.h, src/dcap_fsync.c, src/dcap_interpreter.c, src/dcap_interpreter.h, src/dcap_lib.dsp, src/dcap_lseek.c, src/dcap_mkdir.c, src/dcap_mqueue.c, src/dcap_mqueue.h, src/dcap_nodes.h, src/dcap_open.c, src/dcap_poll.c, src/dcap_poll.h, src/dcap_preload.c, src/dcap_preload64.c, src/dcap_protocol.c, src/dcap_protocol.h, src/dcap_read.c, src/dcap_reconnect.c, src/dcap_reconnect.h, src/dcap_rename.c, src/dcap_shared.h, src/dcap_signal.c, src/dcap_signal.h, src/dcap_stat.c, src/dcap_stream.c, src/dcap_test.c, src/dcap_test.py, src/dcap_types.h, src/dcap_unix2win.c, src/dcap_unlink.c, src/dcap_url.c, src/dcap_url.h, src/dcap_version.c.in, src/dcap_win32.h, src/dcap_win_poll.h, src/dcap_write.c, src/dccp.c, src/dccp.dsp, src/dccp_linux_directio.c, src/dcsuck.c, src/debug_level.lst, src/debug_map.h, src/dispatcher.c, src/fnal_thread.c, src/getopt.c, src/gettrace.c, src/input_parser.c, src/input_parser.h, src/io.c, src/io.h, src/ioTunnel.h, src/lineparser.c, src/links.c, src/links.h, src/linux_trace.c, src/node_plays.c, src/parser.c, src/parser.h, src/passive.c, src/pnfs.c, src/pnfs.h, src/pydcap.i, src/reader, src/readv_test.c, src/socket_nio.c, src/socket_nio.h, src/str2errno.c, src/string2stat.c, src/sysdep.h, src/system_io.c, src/system_io.h, src/thread_test.c, src/trace_back.h, src/tunnelManager.c, src/tunnelManager.h, src/wdccp.c, src/win32_dlfcn.h, src/win32_libdl.c, src/writer, src/xutil.c, src/xutil.h: SpaceManager: Reverted r13690. 2010-03-17 14:24 pmillar * src/tests, src/tests/Makefile, src/tests/uri, src/tests/uri/Makefile, src/tests/uri/dcap-bad-1.expected, src/tests/uri/dcap-bad-1.src, src/tests/uri/dcap-bad-2.expected, src/tests/uri/dcap-bad-2.src, src/tests/uri/dcap-good-1.expected, src/tests/uri/dcap-good-1.src, src/tests/uri/dcap-good-2.expected, src/tests/uri/dcap-good-2.src, src/tests/uri/gsidcap-good-1.expected, src/tests/uri/gsidcap-good-1.src, src/tests/uri/pnfs-good-1.expected, src/tests/uri/pnfs-good-1.src: dcap: add test suite for dcap client URL parser First stab at a test-suite for checking dcap's URL parser. Works like this: there are two types of file: foo.src and foo.expected. The test framework is invoked by typing "make test". This uses dcap_url-test, from an earlier patch to build foo.actual from foo.src and it then does a byte-wise comparison between foo.actual and foo.expected. If they are the same it goes onto the next file, if not then the make process will stop. Successful tests are recorded by touch foo.ok, so repeated test-runs will skip over those tests that have already passed. Doing "make clean" clears all generated files. The Makefile in the directory modules/dcap/src/tests allows "make test" to enter the listed directories and do "make test" in each one. "make clean" similarly cleans up. Target: trunk RB: http://rb.dcache.org/r/1650 Acked-by: Gerd 2010-03-16 17:31 omsynge * configure.ac, src/Makefile.am, src/dcap.h.in, src/dcap_acl.c, src/dcap_preload.c, src/system_io.c, src/system_io.h: Dcap Solaris with ACL preload support. Implements these autoconf functions AC_CHECK_FUNCS([acl]) AC_CHECK_FUNCS([facl]) AC_CHECK_FUNCS([_xstat]) AC_CHECK_FUNCS([_lxstat]) AC_CHECK_FUNCS([_fxstat]) as posible preload targets for solaris. Signed-off by: Paul http://rb.dcache.org/r/736/ 2010-03-15 16:45 pmillar * src/Makefile.am, src/dcap_url-test.c, src/dcap_url.c: dcap: add / enable dcap URL test program The dcap client library parses URLs like dcap://door/foo/bar, gsidcap://gsi-door/foo/bar, pnfsid://someID. There is some code to allow for testing of this parser. Unfortunately, it is hidden away in some #ifdef code where it's doing good to no one. This patch gets this code out into the open. Patch is for trunk. RB: http://rb.dcache.org/r/1648/ Acked-by: Timur 2010-03-09 15:13 omsynge * dcache-dcap.spec.in: Adding documentation to the RPM %{prefix}/share/doc/@PACKAGE@-@VERSION@/COPYING.LIB %{prefix}/share/doc/@PACKAGE@-@VERSION@/LICENSE 2010-03-09 14:27 omsynge * Makefile.am, configure.ac, dcache-dcap.spec.in, src/Makefile.am, src/dcap.c, src/dcap.h.in, src/dcap_debug.c, src/dcap_version.c.in, src/dccp.c, src/dccp_linux_directio.c, src/wdccp.c: dcap last patch before release: version numbers Keeps coupling between implementation and protocol. Adds the follwoign 3 API calls. extern const int dc_getProtocol(); extern const int dc_getMajor(); extern const int dc_getMinor(); To check library version programatically. Signed-off by: Tigran http://rb.dcache.org/r/1424 2010-02-12 07:22 behrmann * plugins/javatunnel/GsiTunnel.java, plugins/javatunnel/GssTunnel.java, plugins/javatunnel/TunnelConverter.java: all: Use SLF4J API for logging rather than the log4j API Makes migrating away from log4j simpler. Most of this patch is autogenerated with the following command: find modules -name \*.java -not -path modules/dCacheJUnit/\* -not -path modules/dCache/org/dcache/auth/gplazma/gPlazmaTester.java -not -path modules/dCache/org/dcache/chimera/migration/Comparator.java -not -path modules/gPlazma/\*.java -not -path modules/dCache/org/dcache/auth/gplazma/GPLAZMA.java -not -path modules/dCache/org/dcache/auth/AuthzQueryHelper.java -not -name BatchCell.java -not -name Log4jWriter.java -not -name Log4jShell.java -not -name CellNucleus.java -exec sed -r -i -e 's/^import org.apache.log4j.Logger;$/import org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;/' -e 's/^import org.apache.log4j.\*;$/import org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;/' -e 's/org.apache.log4j.Logger.getLogger/org.slf4j.LoggerFactory.getLogger/' -e 's/org.apache.log4j.Logger/org.slf4j.Logger/' -e 's/Logger\.getLogger/LoggerFactory.getLogger/' -e 's/log(ger)?.fatal\(/log\1.error(/' -e 's/((log(ger)?|logNameSpace)\.[a-z]*) *\( *([a-zA-Z1-9]+) *(, *[a-z]* *)?\)/\1(\4.toString()\5)/' -e 's/_log.error\("Tried to visit null child in " \+ ourPath != null \? ourPath : "\(top\)"\);/_log.error("Tried to visit null child in " + ourPath != null ? ourPath.toString() : "(top)");/' {} \; Target: trunk Acked-by: Timur Perelmutov Acked-by: Tigran Mkrtchyan Patch: http://rb.dcache.org/r/1479/ 2010-02-09 13:34 omsynge * plugins/gssapi/Makefile.am, plugins/ssl/Makefile.am, plugins/telnet/Makefile.am, src/Makefile.am: dcap:autootools makes "-g -O0 -fPIC" redundant so should be removed. Since these values are auto created by autotools their is no reason to put these in the code. Acknowledged by Tigran http://rb.dcache.org/r/1496/ 2010-02-05 15:34 omsynge * configure.ac, plugins/gssapi/Makefile.am, plugins/ssl/Makefile.am, plugins/telnet/Makefile.am, src/Makefile.am: dcap:solaris: cc and ln (not gcc, or gln) do not support the -pedantic -pipe compile time flags This patch is less important to review than the ACL preload fixes for solaris. Compiles fine on Solaris and linux with this. Still need to auto detect the "-mt" flag needed to solaris c linker/compiler. but if built with sh bootstrap.sh CFLAGS=-mt ./configure make make install all works fine Signed-off by: Tigran http://rb.dcache.org/r/1468/ 2010-01-28 16:32 omsynge * configure.ac, src/Makefile.am: solaris CC does not understand -Wall flag Seeing that solaris "cc" does not understand -Wall as solaris "gcc" does, we need to check that we are using gcc before applying the -Wall flag. See here for bug http://svn.dcache.org/build/job/dcap-build/./label=solaris/5/changes This is lower priority than preload support for solaris since all builds fine with gcc. Signed-off by: Tigran http://rb.dcache.org/r/1455/ 2010-01-28 11:09 omsynge * Makefile.am, configure.ac, dcache-dcap.spec.in, plugins/Makefile.am: check for openssl and only build tunnel if present Autodetect the presence of open ssl development files and select to build this tunnel based upon this. Uses identical method to krb5 detection. Acked-by: Tigran Mkrtchyan http://rb.dcache.org/r/1454/ 2010-01-22 15:16 omsynge * configure.ac, dcache-dcap.spec.in, plugins/Makefile.am, plugins/gssapi/Makefile.am, plugins/gssapi/Makefile.gss-ia64, plugins/ssl/Makefile, plugins/ssl/Makefile.am, plugins/telnet/Makefile.am, src/Makefile.am, src/dcap_version.c, src/dcap_version.c.in: dcap: library version names + extras The new autotools version of the dcap Makefiles does not propagate the library version to the library filenames the way the old plain Makefiles did. This patch fixes this issue. It also fixes some issues with undefined symbols due to missing libraries in the linking. Committing on behalf of: Mattias Ellert Signed-off by: Owen http://rb.dcache.org/r/1413/ 2010-01-21 16:45 omsynge * src/dcap.h.in, src/dcap_preload.c: stat library conflicts with the preloading library so should be removed here. on linux this is not needed but on a Solaris SunOS 5.10, these calls to stat cause compiling issues as the identifiers are already defined. Signed-off by: Paul http://rb.dcache.org/r/1367/ 2010-01-21 16:39 omsynge * plugins/gssapi/Makefile.am, plugins/telnet/Makefile.am, src/Makefile.am: Sort out dcap library symlinks. Mattias Ellert suggested this was some thing that needed fixing, He had set the library symlinks to version 1 for ABI compatibility in debain so I followed his advice and stuck with the same number. I also followed his advice and removed the symlinks from the plugins. I still feel we should look at the versioning here in the long term. libtool versioning is some what confusing. So for now I left it as a hard coded default. http://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html#Libtool-versioning Signed-off by: Paul Millar http://rb.dcache.org/r/1360/ 2010-01-21 07:59 tigran * plugins/ssl/user.c, plugins/telnet/user.c, src/dcap_error.c: libdcap: Spelling fixes Signed-off-by: Mattias Ellert Target: trunk Patch: http://rb.dcache.org/r/1333/ 2010-01-12 10:49 omsynge * configure.ac: BUG FIX : ./configure with no prefix set the prefix to NONE for install docs. Since we had to back port to support old versions of autoconf as in RHEL and SL5 we had to set our own prefix handling. This was all fine but since autoconf defines ${prefix} as NONE if not set and it then gets evaluated later, automake used the templated value not the evaluated value of "/usr/local", all worked as expected when --prefix was set. This fixes that bug. Signed-off by: Paul http://rb.dcache.org/r/1371 2010-01-11 14:55 omsynge * configure.ac: Fix linking on Solaris for nsl and socket Methods like bind and gethostbyname are not in the standard C libraries on Solaris rather gethostbyname is in nsl and bind is in socket. This fixes the conditional compiling issues caused by this different behavior. Signed-off by: Tigran Mkrtchyan http://rb.dcache.org/r/1368/ 2010-01-08 14:41 omsynge * configure.ac, src/dcap.c: AC_C_BIGENDIAN to test endian with autoconf Suggested by Mattias Ellert. On checking older versions of AC_C_BIGENDIAN (pre Autoconf 2.63) got confused with universal binary on AIX power PC and did not report 1 or 0 on such platforms hence the extra check. Signed-off by: Tigran http://rb.dcache.org/r/1363/ 2010-01-08 14:37 tigran * plugins/gssapi/gssIoTunnel.c: gssTunnel: ensure that all encrypted data is sent fix for a potential ( or real at IN2P3 ) problem with truncated records. Acked-By: Paul Patch: http://rb.dcache.org/r/1361/ Target: trunk 2010-01-08 13:20 omsynge * Makefile.am, configure.ac, dcache-dcap.spec.in, src/Makefile.am: --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] is not in autoconf 2.59-12 so had to revert/fix r/1335 The Patch http://rb.dcache.org/r/1335 both fixed make install not honouring the prefix set at configure stage, and changed the target, for documentation to the standard prefix. unfortunately this did not work on SL5 as the version of autoconf provided with SL5 does not support --docdir= Signed-off by: Paul http://rb.dcache.org/r/1352/ 2010-01-08 09:24 tigran * configure.ac, src/dcap.c, src/dcap_shared.h, src/dcap_stream.c: dcap: opensolaris port for libdcap adjusted to opensolaris specific Acked-by: Paul Patch: http://rb.dcache.org/r/1351/ Target: trunk 2010-01-07 16:52 omsynge * Makefile.am, configure.ac, dcache-dcap.spec.in, src/Makefile.am: fixed a bug with make install (prefix not being honoured for doc files) leading to a simplification in the code and using more standard targets. Eamonn Kenny reported an error here http://etics-repository.cern.ch:8080/repository/reports/id/3ed2ca2e-1ca7-4d60-9970-33d9d370da43/sl5_x86_64_gcc412/-/reports/reportModuleDetail-dcache-dcap-dcache-dcap%20v.%201.9.3-0.html that "make install" was failing to correctly honour "configure --prefix=what-you-like" this caused an issue with the doc files, so I fixed this with this patch, which migrated documentation files to the standard prefix. Signed-off by: Tigran Paul http://rb.dcache.org/r/1335 2010-01-07 15:29 omsynge * configure.ac: Solaris standard globus packages does only includes the debug versions of globus, so I added auto detection. Adding more types of globus for auto detection. Signed-off by: Paul Millar http://rb.dcache.org/r/1316 2010-01-07 15:23 omsynge * configure.ac, src/Makefile.am: Reinstate per platform preload calling functions AC_CANONICAL_SYSTEM is used to detect the platform. Then if platform is known preload is enabled. Each platform can override the default preload functions to call the preload methods. Benifits: a) Less rubbish on the command line while compiling. b) Each platforms preload calls can be specified in a clear way in a single file without too much extras. c) Since preloads have defaults only the things that differ on a per platform basis need to be specified. d) Restores the functionality of the per OS Make files in a single configure script. Things to consider: Maybe each of the functions selected for each platform should be tested if they exist. Acked-by: Tigran http://rb.dcache.org/r/1291/ 2010-01-07 15:16 omsynge * plugins/gssapi/server.c, src/dcap.c, src/dcap_dirent.c, src/dcap_poll.c, src/dcap_read.c, src/dcap_stat.c, src/dcap_stream.c, src/dcap_write.c, src/dccp.c, src/dccp_linux_directio.c, src/dcsuck.c, src/gettrace.c, src/links.c, src/xutil.c: Patch by Mattias Ellert The dcap library code needs porting for: GNU/Hurd GNU/kFreeBSD Linux on armel, hppa, s390, avr32 and sh4 processors This submitted patch was originally made for the dcap tag tags/dcap-1.9.3-7, and backported to trunk. Acked-by: Tigran and Owen http://rb.dcache.org/r/1334 2010-01-07 10:57 omsynge * configure.ac, src/dcap_poll.c, src/dcap_signal.c: patch for dcap stropts on f11. To allow it to compile on Fedora11 that does not have stropts.h file. This patch has now been updated to be auto tools friendly. not sure stropts is needed on any platform but better to detect it and include rather than error if not present. Acked-by: Tigran http://rb.dcache.org/r/1018/ 2009-12-18 16:29 omsynge * security_plugins: rubbish left over from move 2009-12-18 16:24 omsynge * Makefile.am, Makefile.sgi, Makefile.w32, adler32.c, array.c, array.h, br.c, char2crc.c, configure.ac, currentThread.c, dc_check, dc_hack.h, dc_job_hack.c, dc_stage, dcap.c, dcap.def, dcap.dsp, dcap.dsw, dcap.h.in, dcap_accept.c, dcap_accept.h, dcap_access.c, dcap_ahead.c, dcap_ahead.h, dcap_checksum.c, dcap_checksum.h, dcap_chmod.c, dcap_chown.c, dcap_close.c, dcap_command.c, dcap_command.h, dcap_debug.c, dcap_debug.h, dcap_dirent.c, dcap_dup.c, dcap_errno.h, dcap_error.c, dcap_error.h, dcap_fsync.c, dcap_interpreter.c, dcap_interpreter.h, dcap_lib.dsp, dcap_lseek.c, dcap_mkdir.c, dcap_mqueue.c, dcap_mqueue.h, dcap_nodes.h, dcap_open.c, dcap_poll.c, dcap_poll.h, dcap_preload.c, dcap_preload64.c, dcap_protocol.c, dcap_protocol.h, dcap_read.c, dcap_reconnect.c, dcap_reconnect.h, dcap_rename.c, dcap_shared.h, dcap_signal.c, dcap_signal.h, dcap_stat.c, dcap_stream.c, dcap_test.c, dcap_test.py, dcap_types.h, dcap_unix2win.c, dcap_unlink.c, dcap_url.c, dcap_url.h, dcap_version.c, dcap_win32.h, dcap_win_poll.h, dcap_write.c, dccp.c, dccp.dsp, dccp_linux_directio.c, dcsuck.c, debug_level.lst, debug_map.h, dispatcher.c, fnal_thread.c, getopt.c, gettrace.c, input_parser.c, input_parser.h, io.c, io.h, ioTunnel.h, lineparser.c, links.c, links.h, linux_trace.c, mkdirs.sh, mkmapfile.sh, node_plays.c, parser.c, parser.h, passive.c, plugins, plugins/Makefile.am, plugins/gssapi, plugins/javatunnel, plugins/ssl, plugins/telnet, pnfs.c, pnfs.h, pydcap.i, reader, readv_test.c, report.awk, security_plugins/gssapi, security_plugins/javatunnel, security_plugins/ssl, security_plugins/telnet, socket_nio.c, socket_nio.h, src, src/Makefile.am, src/adler32.c, src/array.c, src/array.h, src/br.c, src/char2crc.c, src/currentThread.c, src/dc_check, src/dc_hack.h, src/dc_job_hack.c, src/dc_stage, src/dcap.c, src/dcap.def, src/dcap.dsp, src/dcap.dsw, src/dcap.h.in, src/dcap_accept.c, src/dcap_accept.h, src/dcap_access.c, src/dcap_ahead.c, src/dcap_ahead.h, src/dcap_checksum.c, src/dcap_checksum.h, src/dcap_chmod.c, src/dcap_chown.c, src/dcap_close.c, src/dcap_command.c, src/dcap_command.h, src/dcap_debug.c, src/dcap_debug.h, src/dcap_dirent.c, src/dcap_dup.c, src/dcap_errno.h, src/dcap_error.c, src/dcap_error.h, src/dcap_fsync.c, src/dcap_interpreter.c, src/dcap_interpreter.h, src/dcap_lib.dsp, src/dcap_lseek.c, src/dcap_mkdir.c, src/dcap_mqueue.c, src/dcap_mqueue.h, src/dcap_nodes.h, src/dcap_open.c, src/dcap_poll.c, src/dcap_poll.h, src/dcap_preload.c, src/dcap_preload64.c, src/dcap_protocol.c, src/dcap_protocol.h, src/dcap_read.c, src/dcap_reconnect.c, src/dcap_reconnect.h, src/dcap_rename.c, src/dcap_shared.h, src/dcap_signal.c, src/dcap_signal.h, src/dcap_stat.c, src/dcap_stream.c, src/dcap_test.c, src/dcap_test.py, src/dcap_types.h, src/dcap_unix2win.c, src/dcap_unlink.c, src/dcap_url.c, src/dcap_url.h, src/dcap_version.c, src/dcap_win32.h, src/dcap_win_poll.h, src/dcap_write.c, src/dccp.c, src/dccp.dsp, src/dccp_linux_directio.c, src/dcsuck.c, src/debug_level.lst, src/debug_map.h, src/dispatcher.c, src/fnal_thread.c, src/getopt.c, src/gettrace.c, src/input_parser.c, src/input_parser.h, src/io.c, src/io.h, src/ioTunnel.h, src/lineparser.c, src/links.c, src/links.h, src/linux_trace.c, src/node_plays.c, src/parser.c, src/parser.h, src/passive.c, src/pnfs.c, src/pnfs.h, src/pydcap.i, src/reader, src/readv_test.c, src/socket_nio.c, src/socket_nio.h, src/str2errno.c, src/string2stat.c, src/sysdep.h, src/system_io.c, src/system_io.h, src/thread_test.c, src/trace_back.h, src/tunnelManager.c, src/tunnelManager.h, src/wdccp.c, src/win32_dlfcn.h, src/win32_libdl.c, src/writer, src/xutil.c, src/xutil.h, str2errno.c, string2stat.c, sysdep.h, system_io.c, system_io.h, thread_test.c, trace_back.h, tunnelManager.c, tunnelManager.h, version.sh, wdccp.c, win32_dlfcn.h, win32_libdl.c, writer, xutil.c, xutil.h: Move dcap to standard GNU layout Move src into src directory and move plugins into plugins deirectory and adjust auto tools to cope with this. http://rb.dcache.org/r/1271 signed off by Paul 2009-12-14 11:20 omsynge * Makefile, Makefile.aix, Makefile.alpha, Makefile.am, Makefile.inc, Makefile.linux, Makefile.sgi, Makefile.sun, Makefile.w32, bootstrap.sh, config, configure.ac, dcache-dcap.spec, dcache-dcap.spec.in, dcap_version.c, debug_map.h, security_plugins/Makefile.am, security_plugins/gssapi/Makefile, security_plugins/gssapi/Makefile.am, security_plugins/gssapi/Makefile.gsi, security_plugins/gssapi/Makefile.gsi-ia64, security_plugins/gssapi/Makefile.gss, security_plugins/telnet/Makefile, security_plugins/telnet/Makefile.am: autotools comes to dcap RB cant display like the empty directory "config" that should be made in the source directory. Some issues are not addressed in this patch which maybe should. These include; Getting the version number from SVN not CVS. Autoguessing the paths for --with-globus-lib[=DIR] --with-globus-include[=DIR] Building rpms when --with-globus-include and --with-globus-lib are not specified. Library symbolic links having the version number. removing the ant target for dcap. Why are #defines on the command line for compilation. So with these serious issues not resolved why did I not make these changes. Well the ant stuff is needed already, and its a different subject and in my opinion should be in a different patch that I haven't made yet. The #define issue is left to try to minimize the differences in compilation till a later patch. The other issues are all enhancements to what we have currently and I feel are more incremental and I shoudl like to get them in for follow up patches. Other issues will be addressed in a soon to follow (after this is committed is a source code reorganization into a standard GNU source code layout) signed off by tigran http://rb.dcache.org/r/1191/ 2009-12-08 08:26 tigran * dcap_command.c: dcap: decrease debug level to info for all error messages from the door It's the responsibility of caller to handle error situations. Target: trunk Acked-By: Irina Patch: http://rb.dcache.org/r/1183/ 2009-11-12 16:06 omsynge * dcap.spec: This is just confusing and gets in the way casuing the error'error: line 249: second %prep' 2009-11-12 16:02 omsynge * dcache-dcap.spec: bumping the version number for Xrc 2009-11-12 14:21 omsynge * dcache-dcap.spec: Fix to include path for libdcap-tunnel-gsi-1.9.3-6.x86_64.rpm compilation against EPEL The main change is the fix to the include path, bypassing the short cuts in the Make file. The make file could be simplified, (since I am bias toward the EPEL distribution rather than VDT globus) but then the autotools port is coming and so this is a for now solution requiring minimal changes. While doing this I also included removing some Obsoletes, since although all these packages do Obsolete the old name, since the dcap package provides as well as obsoletes, it can cause issues with yum groupinstall glite-UI when you want your rpms installed then do an upgrade. As some times the libs declare that they obsolete the dcap binary rpm. This is the sort of thing that should not happen and I assume its a multi arch yum bug as it does not occur with sl5 i386 but that could be because "groupinstall" is not set up. Signed-off by: No one http://rb.dcache.org/r/1033/ 2009-10-23 10:55 omsynge * dcap.c, dcap_version.c: reverting old patch untill abiguity is removed 2009-10-21 12:37 omsynge * dcache-dcap.spec, dcap_version.c: Update of version numbers to avoid conflicts 2009-10-21 12:27 omsynge * dcache-dcap.spec: Provides dcap Add an extra provides field. Needed as since one provides overrides auto created provide of the same name as RPM, at least from yums perspective. This is needed to avoid conflicts between our YUM repo and CERN's yum repo while cern has not upgraded to new packaging. Signed-off by: Paul http://rb.dcache.org/r/943/ 2009-10-20 12:43 omsynge * dcap_version.c: Setting code version to match package version 2009-10-20 12:29 omsynge * dcache-dcap.spec: changing release number for next RC candidates 2009-10-20 12:13 tigran * dcap.c: libdcap: steer client active/passive mode by environment variable typical grid site has a firewall between WN and SE. That's why ROOT's TDcacheFile turns client into active mode. Nevertheless some users still want client to stay in passive mode. To keep client backward compatible: if DCACHE_CLIENT_ACTIVE not set, then behavior is controlled by library call; if DCACHE_CLIENT_ACTIVE environment and it's equal to 'false', then client in passive mode. Any other value of will turn into active more Target: trunk Ticket: #5171 BUG: #259 Acked-by: Owen Patch: http://rb.dcache.org/r/897/ 2009-10-16 10:16 omsynge * dcache-dcap.spec: add Obsoletes: dcache-dcap in new dcap packaging spec files. This change makes the new form of packaging dcap replace the old form of packaging dcap smoothly on upgrade for non glite sites. This will make life easier for sites like NAF etc. This will not be an issue for glite sites as this is done at the metapackage level. Signed-off by: Tigran http://rb.dcache.org/r/892/ 2009-10-13 21:52 podstvkv * dcache-dcap.spec: Make the build for gsi and kerberos tunnels optional, controlled with rpmbuild arguments: rpmbuild -bb dcache-dcap.spec --with epel --with krb or rpmbuild -bb dcache-dcap.spec --with vdt or just rpmbuild -bb dcache-dcap.spec http://rb.dcache.org/r/874/ Signed-off by: Timur 2009-09-30 21:22 sekhri * dcap_close.c: TWO environment variables in dcap lib. DCACHE_CLOSE_TIMEOUT and DCACHE_CLOSE_TIMEOUT_OVERRIDE. If command line argument is present, then DCACHE_CLOSE_TIMEOUT is ignored. If DCACHE_CLOSE_TIMEOUT_OVERRIDE is present then both command line argument and DCACHE_CLOSE_TIMEOUT are overridden. Here is the behaviour of dcap library a) Provided -C option and no env variable It used -C value b) Provided -C option with wrong value like "abc" and no env variable It used default value c) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable It honored -C option and bypassed the env variable d) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value It honored -C option and bypassed the env variable e) Provided -C option with wrong value with DCACHE_CLOSE_TIMEOUT_DEFAULT variable It used default value f) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable It used this env variable value g) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value It used default value h) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value i) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value j) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used DCACHE_CLOSE_TIMEOUT_DEFAULT value k) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value l) Provided -C option with DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value m) Provided -C option with DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value n) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value o) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE value p) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value q) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value r) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value s) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value Signed-off by: Vladimir http://rb.dcache.org/r/801 2009-09-30 21:19 sekhri * dcap_close.c: TWO environment variables in dcap lib. DCACHE_CLOSE_TIMEOUT and DCACHE_CLOSE_TIMEOUT_OVERRIDE. If command line argument is present, then DCACHE_CLOSE_TIMEOUT is ignored. If DCACHE_CLOSE_TIMEOUT_OVERRIDE is present then both command line argument and DCACHE_CLOSE_TIMEOUT are overridden. Here is the behaviour of dcap library a) Provided -C option and no env variable It used -C value b) Provided -C option with wrong value like "abc" and no env variable It used default value c) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable It honored -C option and bypassed the env variable d) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value It honored -C option and bypassed the env variable e) Provided -C option with wrong value with DCACHE_CLOSE_TIMEOUT_DEFAULT variable It used default value f) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable It used this env variable value g) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value It used default value h) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value i) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value j) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used DCACHE_CLOSE_TIMEOUT_DEFAULT value k) Provided DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value l) Provided -C option with DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE env variable value m) Provided -C option with DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value n) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value o) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable It used DCACHE_CLOSE_TIMEOUT_OVERRIDE value p) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value q) Provided -C option with DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used -C value r) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_DEFAULT variable with wrong value and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value s) Provided -C option with wrong value and DCACHE_CLOSE_TIMEOUT_DEFAULT variable and DCACHE_CLOSE_TIMEOUT_OVERRIDE variable with wrong value It used default value Signed-off by: Vladimir http://rb.dcache.org/r/801 2009-09-25 14:48 omsynge * dcache-dcap.spec: Added openssl-devel to the build required packages on the spec file. Adding the following line gives end users a clear rpm name to install before build can work. BuildRequires: openssl-devel New patch clarifying which sub packages have which codependencies as Tigran requested. http://rb.dcache.org/r/767/ acc Tigran Mkrtchyan 2009-09-22 12:58 omsynge * dcache-dcap.spec, security_plugins/gssapi/Makefile.gss, security_plugins/gssapi/tunnelQueue.h, security_plugins/telnet/Makefile: Making Krb-v5 and telnet tunnels in standard dcap rpm Patch http://rb.dcache.org/r/760/ modules/dcap/dcache-dcap.spec : Added two new sub packages to this spec file. modules/dcap/security_plugins/gssapi/tunnelQueue.h : Simple addition of a header file to allow compilation. (may conflict with other pending patches as this is needed) modules/dcap/security_plugins/gssapi/Makefile.gss : Some small changes to this Makefile essentially to support 64 bit and "install" target. modules/dcap/security_plugins/telnet/Makefile : Some small changes to this Makefile essentially to support 64 bit and "install" target. Some small effort to make more like other Make files. Committing on behalf of: Owen Signed-off by: Tigran 2009-09-17 15:26 podstvkv * dcap.h.in, dcap_close.c, dccp.c: Introduce a new parameter for 'dccp' to set the timeout for file close operation. If the parameter is not set the old default value is used. Signed-off by: Tigran http://rb.dcache.org/r/744/ 2009-09-11 16:01 omsynge * Makefile, dcache-dcap.spec, security_plugins/gssapi/Makefile: dcap - This patch is a repackaging of dcachedcap, the changes are related to two files the spec file and the gsitunnels main Makefile. This patch is a repackaging of dcachedcap, the changes are related to two files the spec file and the gsitunnels main Makefile. Renamed the devel package to libdcachedcap-devel as this is better consistent with libdcachedcap. Added libdcachedcapgsi package for the gsi plugin. Added "make clean" to the building process in case the globing of the source included build artifacts. Added the concepts of ARCH and FLAVOR to the linking process. Added the targets dist rpm install bindist to the Makefile for the gsi tunnel. ARCH is required to differentiate between 64 bit and 32 bit architectures of globus libraries. FLAVOR is required to make things compatible to EPEL packaged unflavored globus. Signed-off by: Owen http://rb.dcache.org/r/703/ 2009-09-08 14:05 omsynge * dcache-dcap.spec: bumping version number 2009-08-28 08:48 tigran * security_plugins/javatunnel/GsiTunnel.java, security_plugins/javatunnel/GssTunnel.java, security_plugins/javatunnel/TunnelConverter.java, security_plugins/javatunnel/TunnelInputStream.java: dcap: gsi: fix voms role handlig this is a fix for misinterpretation of VO, VO group and VO role between dcap and gplazma. The patch includes a simple fix with some cleanups. A patch for switching to Subject with more cleanups will follow. Target: trunk, 1.9.4, 1.9.3, 1.9.2 Acked-by: Paul Ached-By: Jan Patch: http://rb.dcache.org/r/638/ 2009-08-25 14:05 omsynge * dcap_preload.c: I commited this modification to trunk in error and should have been done to a branch 2009-08-25 13:15 omsynge * dcap_preload.c: Added methods _xstat _lxstat _fxstat 2009-07-27 14:20 omsynge * dcache-dcap.spec: bumping version number for internal release 2009-07-22 16:04 omsynge * Makefile, dcache-dcap.spec: r440 - Make Dcap packaging better 2009-07-10 10:55 omsynge * Makefile.sun: Added flags to make dcap compatable with solaris 10. 2009-06-05 14:20 tigran * dcap_read.c: libdcap: initialize readvmsg if count value of dcap_readv2 call is zero, then we will try to free some memory pointed by uninitialized variable. This patch initializes it to NULL. Acked-By: Paul 2009-06-05 13:36 tigran * dcap.c: libdcap: fix htoll converions after compiling the old code with -O2 option htoll function was returning wrong result. Acked-by: Paul Target: trunk 2009-06-05 12:52 tigran * dcap_checksum.c: libdcap: disable unused code keep compiler happy Acked-by: Paul Target: trunk 2009-05-29 08:43 tigran * security_plugins/javatunnel/GsiTunnel.java: make use of gPlazma utilities to extract VO group and role in gsidcap without this patch we may run 67 gsidcap clients with 512MB heap size With this patch we may run 132 which is equal to what get with 1.9.0-11. Nevertheless with truk and 1.9.0 I get different types of OutOfMemory: trunk: OutOfMemoryError: GC overhead limit exceeded 1.9.0: OutOfMemoryError: Java heap space RT: http://www.dcache.org/rt/Ticket/Display.html?id=4527 Ached-by: Ted 2009-02-13 22:57 tdh * security_plugins/javatunnel/GsiTunnel.java: Changes package names to be compatible with new glite voms api jar. Always uses /etc/grid-security/certificates, never /etc/grid-security/vomsdir, for the truststore. The truststore is not actually used, because valiadtion is not done. This code needs to be reworked using the gPlazma X509CertUtils class, which has support for voms attribute validation. In addition, the current code uses only the first voms attribute, which is inconsistent with gPlazma authorization, which uses each attribute. 2009-02-11 08:52 tigran * Makefile: refactored build system compile junit tests when rest of the code copiled ability to run single unit test -Dtestcase=..... dcache-srm.jar and dcache-replica.jar merged into dcache.jar allowes to add specific patch level by defining patch.number: -Dpatch.number=2rc.ndgf removed dCachePackagePrefix variable removed dcache-srm.jar removed dcache-replica.jar added solaris package generation all variables moved into properti files 2008-11-20 08:30 tigran * dcap_command.c: fixed spelling error in printout 2008-07-23 15:06 tigran * pydcap.i: fixed module name 2008-07-19 19:45 tigran * dcap_test.py, pydcap.i: added python wraper from dcap including test. Next step Makefile Sign-off-by: Gerd, Martin 2008-07-02 16:49 tigran * security_plugins/gssapi/Makefile.gsi, security_plugins/gssapi/Makefile.gsi-ia64, security_plugins/gssapi/Makefile.gss, security_plugins/gssapi/Makefile.gss-ia64, security_plugins/gssapi/gssIoTunnel.c, security_plugins/gssapi/tunnelQueue.c, security_plugins/gssapi/tunnelQueue.h: merged multiple connection GSS context handling fix: keep a gss context per socket connetion 2008-06-11 07:45 tigran * security_plugins/javatunnel/SelfTest.java: print group and role 2008-06-11 07:16 tigran * security_plugins/javatunnel/TunnelSocket.java: cleanup (white space, casting....) 2008-06-11 07:15 tigran * security_plugins/javatunnel/TunnelServerSocket.java: cleanup 2008-06-11 07:14 tigran * security_plugins/javatunnel/GssTunnel.java: cosmetic 2008-06-11 07:13 tigran * security_plugins/javatunnel/GsiTunnel.java: fixed vomscert handling 2008-06-11 07:09 tigran * security_plugins/javatunnel/TunnelServerSocketCreator.java: java 5 cleanup 2008-06-10 12:24 tigran * security_plugins/javatunnel/SelfTest.java: self test simulates LoginManager 2008-06-02 21:47 litvinse * security_plugins/gssapi/Makefile.gss: Vladimir's make file to build lingssTunnel.so 2008-06-02 21:02 litvinse * security_plugins/gssapi/Makefile.gss-ia64: introduce Makefile from Vladimir to build libgssTunnel.so 2008-06-02 08:17 tigran * security_plugins/javatunnel/SSLServerSocketCreator.java, security_plugins/javatunnel/SSLTunnelServerSocket.java, security_plugins/javatunnel/TunnelServerSocketCreator.java: Implemented SocketFactory interface 2008-05-15 18:05 catalind * security_plugins/telnet/dcapPasswd.c: fixed repositioning inside the passwd file 2008-05-15 15:52 catalind * security_plugins/telnet/Makefile, security_plugins/telnet/dcapPasswd.c: support for password file management 2008-05-09 19:07 catalind * security_plugins/ssl/Makefile, security_plugins/ssl/README, security_plugins/ssl/passwd4dCapDoor.example, security_plugins/ssl/telnetTunnel.c: 2008-05-09 18:32 catalind * security_plugins/telnet, security_plugins/telnet/Makefile, security_plugins/telnet/README, security_plugins/telnet/get_user.h, security_plugins/telnet/passwd4dCapDoor.example, security_plugins/telnet/telnetTunnel.c, security_plugins/telnet/user.c, security_plugins/telnet/user_entry.h: the auth support files for telnet 2008-05-09 18:21 catalind * security_plugins/ssl/Makefile, security_plugins/ssl/README, security_plugins/ssl/passwd4dCapDoor.example, security_plugins/ssl/telnetTunnel.c: Files for authdoor 2008-05-02 14:23 tigran * dcap_read.c: readv2 splits single readv2 request with count bugger than IO_VEC (1024 ) to multiple chunks 2008-05-02 13:10 tigran * dcap_read.c: patch from Shuwei YE : fixed read-ahead accounting in case of next read request do not feet into read-ahead buffer, but some bytes still left 2008-01-17 10:28 tigran * security_plugins/javatunnel/GsiTunnel.java: typo in a comment 2008-01-17 10:27 tigran * security_plugins/javatunnel/GsiTunnel.java: use telescopic constructor 2007-12-23 20:40 tigran * security_plugins/javatunnel/GssTunnel.java: propagate GSS exception as IOExcetion 2007-11-15 16:06 tigran * security_plugins/gssapi/Makefile, security_plugins/gssapi/Makefile.gsi, security_plugins/gssapi/Makefile.gsi-ia64, security_plugins/gssapi/gssIoTunnel.c: changes from 1.7 2007-11-01 08:56 root * .: layout reorgonize 2007-07-10 07:19 tigran * new release with readv2 support 2007-07-09 19:35 tigran * iovec2.buff is char * now 2007-07-09 19:33 tigran * no compile time warnings any more 2007-07-09 19:18 tigran * better debug messages 2007-07-06 23:18 tigran * real stress test uses index.dat file 2007-07-06 23:18 tigran * some cleanups 2007-07-06 16:10 tigran * added vector read 2007-07-06 16:09 tigran * time format in printout 2007-06-19 13:24 tigran * make gsi io buffer 1MB 2007-06-07 08:00 tigran * added some checks 2007-06-07 07:17 tigran * added dummy client with p2p client behavior 2007-04-05 20:07 podstvkv * Merge changes from production-1-7-0. Tunnel verification is deferred until the socket is actually accessed. 2007-04-05 20:07 podstvkv * Merge changes from production-1-7-0. Tunnel verification method added 2007-02-22 10:28 tigran * fixed bug in getNodePath() : extra '/' on front of path 2007-02-22 10:19 tigran * add extra option to all dc_xx operation over control line 2006-11-27 22:52 podstvkv * Working version for GT4 64 bit 2006-10-11 09:50 tigran * cleanup 2006-10-11 09:49 tigran * fixed channel binding problem with GSS-KRB5 2006-10-11 08:37 tigran * added dc_readv and dc_writev 2006-10-11 08:34 tigran * do not print debug information 2006-10-11 07:56 tigran * fixed one of the reasons of CLOASE_WAIT with tunnels 2006-09-26 07:47 tigran * added readv/writev 2006-09-26 07:41 tigran * added readv/writev 2006-09-26 07:40 tigran * cosmetic changes 2006-09-22 13:38 tigran * maxilam debug message len 2048 character 2006-09-22 13:25 tigran * fixes of possible memory leaks 2006-09-05 13:19 tigran * added concept of user,role and group 2006-08-30 09:54 tigran * bugfix: fseeo64 returns 0 or -1 dc_fopen uses fopen64 for local files 2006-08-25 09:16 tigran * passive DCAP release 2006-07-17 15:13 tigran * added client active mode clinet connects to the pool 2006-06-21 14:02 tigran * added fix for uninitialized EOF flag 2006-05-03 12:44 tigran * io buffer 16K to get running with more than 56 certificates 2006-05-02 12:19 tigran * fixed source/destination order 2006-04-18 12:23 tigran * send for client == receive for server 2006-04-11 08:27 tigran * all io finctions in dccp replaces with corresponding DCAP functions 2006-03-28 11:42 tigran * added dc_chown 2006-03-24 15:15 deriese * more 2006-03-22 09:08 tigran * make use of System.arraycopy 2006-03-17 13:15 deriese * adding cvs.cvsroot property 2006-03-15 15:06 deriese * corrections; performance improvements 2006-03-15 14:52 deriese * Added dependency on COG 2006-03-15 14:38 deriese * changed sourcesDir to javatunnel.sourcesDir 2006-03-10 16:34 deriese * adding build.xml which comiles javatunnel.jar and calls make for C stuff 2006-01-09 14:28 tigran * use of system_fstat 2006-01-06 08:45 tigran * new release 2006-01-02 11:38 tigran * sending premission on create with URL syntax 2005-12-20 11:01 tigran * correct binary opration 2005-12-20 10:48 tigran * correct binary opration 2005-12-20 09:48 tigran * remove O_LARGEFILE flags if ot was passed to open 2005-12-20 09:40 tigran * fixed large files problem 2005-12-19 11:06 tigran * synchronized with dcap.h 2005-12-19 10:23 tigran * added O_LARGEFILE in open flags 2005-11-10 16:01 tigran * new bug-fix release: fixed memory corruption fixed incorrect behavior in multithreading appication + dc_stat 2005-11-09 14:48 tigran * mulithreding bug fix: do not use alternative poll for control messages ( AND stat as well ! ) 2005-11-08 15:15 tigran * fixed memory corruption 2005-10-28 09:05 tigran * fixed dcap looping if control line goes away 2005-08-23 09:54 tigran * fixed memory leak 2005-08-23 09:35 tigran * new bug-fix version + windows port 2005-08-23 09:34 tigran * fixed tunnel reuse by reusing connection ( mounted pnfs ) 2005-08-15 10:05 tigran * windows port updated to version 1.2.35+ 2005-06-15 08:14 tigran * new bux-fix release: fixed opendir gsidcap based fstat 2005-06-15 08:13 tigran * more correct node to path 2005-06-13 14:16 tigran * fixed node2path convertion 2005-06-07 08:35 tigran * added -fPIC flag 2005-06-06 08:45 tigran * open send's the file path within open commant on write 2005-04-25 07:56 tigran * some cosmetic changes 2005-04-11 08:12 tigran * preload: more debug output dc_closedir: fixed behavior with NULL argument 2005-03-26 12:06 ernst * *** empty log message *** 2005-03-26 11:56 ernst * Added Makefile.gsi for IA64 2005-03-02 16:24 tigran * cosmetic 2005-03-02 16:17 tigran * cosmetic 2005-02-15 09:34 tigran * added dc_rename 2005-02-04 13:58 tigran * new release 2005-02-01 09:23 tigran * added: errno setted according errno from control line 2005-01-31 09:49 tigran * added dc_rename 2005-01-19 12:07 tigran * try to remove path if it's not urs, if create failed 2005-01-18 11:26 tigran * bux-fix release(dc_opendir) 2005-01-18 10:17 tigran * added EIO as errno if sayHello failed 2005-01-17 15:40 tigran * fixed incorrect tocken legth 2005-01-14 09:16 tigran * perror-s disabled... 2005-01-12 11:41 tigran * dc_opendir returns NULL if path do not exist 2004-12-02 15:35 tigran * removed odll binmod staff 2004-12-02 13:06 tigran * new release 1.2.33 64/32 bit functionality in one shared object fixes in gss tunnel 2004-12-02 09:31 tigran * added -pipe into CFLAGS 2004-12-02 09:21 tigran * fixed compile time warnings 2004-12-02 09:16 tigran * cleanup of old 32/64 support 2004-12-01 14:25 tigran * added coling of file descriptos at exit in preload mode 2004-11-30 17:00 tigran * removed waste from 32/64 bit mods 2004-11-30 16:13 tigran * fixed truncate and owerwriting of existing files 2004-11-11 14:42 tigran * move to 64 bit 2004-11-04 14:42 tigran * fixed 32 to 64 move 2004-11-04 14:37 tigran * fixed sun port 2004-11-04 14:36 tigran * fixed sun port 2004-11-04 14:29 tigran * fixed sun port 2004-11-04 14:16 tigran * fixed 32 to 64 migration 2004-11-04 07:58 tigran * added authors list 2004-11-03 17:12 tigran * small fix 2004-11-03 16:32 tigran * dc_fxxxx move to 64 bit 2004-11-03 14:09 tigran * moved to 64 bit mod 2004-11-01 19:33 tigran * move to LGPL licence 2004-11-01 19:32 tigran * removed dc_stage.c dc_check.c 2004-10-28 09:00 tigran * fixed truncate with url syntax 2004-10-26 08:31 tigran * fixed incorrect behavior if eRead returns -1 during authentification 2004-10-25 12:25 tigran * added CFLAG for globus bug 2004-10-25 09:21 tigran * added globus module activation/deactivation 2004-10-17 19:15 tigran * debug level 0 switches off all debug mesages 2004-10-08 07:42 tigran * fixed solaris port 2004-10-06 08:08 tigran * added net-role pluggin 2004-10-05 14:45 tigran * added rpm generation 2004-10-05 12:55 tigran * added more error handling 2004-10-05 12:46 tigran * added cheching result of sendControlMessage 2004-10-05 12:43 tigran * added checking of control lipe prior sending messages 2004-10-05 12:39 tigran * added ascii shutdown handling 2004-10-05 09:40 tigran * added CFLAGS in to version string 2004-09-22 20:06 tigran * added BINMOD in version string 2004-09-20 17:33 tigran * fixed typo error 2004-08-24 19:42 tigran * ia64 port 2004-08-18 11:49 tigran * new bug-fix version 2004-07-27 08:39 tigran * fixed lseek with SEEK_END added fgetc, ftello fseeko 2004-07-26 12:37 tigran * added job hack 2004-07-23 09:55 tigran * added dc_fgetc 2004-07-20 10:58 tigran * moves from sigblock to sigprocmask 2004-07-20 10:25 tigran * added signal blocking durin IO initialization 2004-07-20 10:16 tigran * added slocking of ALARM signal durin IO initialization 2004-07-19 10:02 tigran * new bug-fix release 2004-07-19 10:01 tigran * better reconnect fixed dc_dup and reconnect problem cleaned some compile time warnings 2004-07-16 21:25 tigran * added fetching of last data block in read operation if FIN do not arrived 2004-07-12 10:51 tigran * new version 2004-06-29 15:22 tigran * fixed stream with url 2004-06-29 13:53 tigran * added environment variable for data port definition 2004-06-23 13:12 tigran * small bug fix 2004-06-23 13:11 tigran * added solaris port 2004-06-22 20:55 tigran * fixed memory leak 2004-06-22 14:12 tigran * added dc_opendir, dc_readdir, dc_closedir 2004-06-17 07:06 tigran * fixed -truncate flag for new files 2004-06-16 14:04 tigran * new release 2004-06-16 14:02 tigran * new release 2004-06-16 08:16 tigran * fixed truncate 2004-06-14 08:44 tigran * fixed debug_map.h creation 2004-06-11 13:48 tigran * added creation of index file if it's do not exist added automatic byteswaping 2004-06-11 09:11 tigran * added ia64 2004-06-09 07:59 tigran * code cleanup 2004-06-04 09:14 tigran * added BINMOD option for make 2004-06-04 08:08 tigran * added dcap_chmod 2004-06-03 14:21 tigran * added system_access added dc_chmod 2004-06-03 13:41 tigran * fixed copy-paste error 2004-06-03 12:18 tigran * fixed directory creation mask 2004-06-02 09:32 tigran * added dc_mkdir 2004-05-27 15:00 tigran * added dc_mkdir 2004-05-26 08:44 tigran * added gss_delete_sec_context into eDestroy 2004-05-24 13:52 tigran * added dc_rmdir 2004-05-12 07:38 tigran * added dccp with directio support 2004-05-10 11:52 tigran * new dev version 2004-05-06 18:14 tigran * added keeping of original errno, returned by system_stat 2004-05-06 08:17 tigran * changed DCACHE_RWBUFFER to DCACHE_WRBUFFER 2004-05-06 07:20 tigran * selftest fix 2004-05-06 07:19 tigran * printout cosmetic 2004-05-03 14:59 tigran * better error handling 2004-04-22 08:32 tigran * fixed debug message 2004-04-21 16:32 tigran * added dcap_unlink.c 2004-04-21 13:24 tigran * added dc_unlink 2004-04-13 08:24 tigran * quick hack for lstat and errno 2004-04-10 20:09 tigran * fixed warning on CYGWIN 2004-04-10 20:02 tigran * added dcap_shared.h 2004-04-10 20:02 tigran * remove perror 2004-04-10 19:49 tigran * added dc_fgets into dcap.h.in added fxxx functions in non LIBC/syscalls part 2004-04-07 14:18 tigran * fixed free-ing of wrong variable 2004-04-07 14:15 tigran * removed unneeded print statnemts 2004-04-07 14:10 tigran * added truncate 2004-04-07 12:28 tigran * added getPnfsIDbyPath 2004-04-07 12:06 tigran * added getPnfsIDbyPath 2004-04-07 12:04 tigran * dded xutil.c 2004-04-07 09:15 tigran * added xbasename, xdirname, xstrndup into xutil added getpnfsidbyname 2004-04-06 15:47 tigran * changed stream functions with there system_xxx equivalents 2004-04-06 15:42 tigran * added hooks for IO streams ( fopen, fread, .... ) 2004-04-06 15:40 tigran * added system_xxx for stream operations (fopen, fread, ...) 2004-04-06 15:17 tigran * added declaration od dc_feof 2004-04-06 14:54 tigran * modified format from %ld to %lld in alloc-size 2004-04-05 07:48 tigran * added LIBC into Makefile.linux 2004-04-03 21:10 tigran * dc_getURL adds port number if it was not specified port number taken from /etc/services or default value used 2004-04-03 21:07 tigran * move DEFAULT_DOOR_PORT to dcap_types.h 2004-04-02 16:03 tigran * agged url => tunnel 2004-03-26 13:40 tigran * added getxattr, fgetxattr, lgetxattr into preload 2004-03-26 12:06 tigran * got cp running with url added listxattr, flistxattr, llistxattr 2004-03-26 10:27 tigran * added fstat into prealod 2004-03-26 09:49 tigran * added posibility tu anable write buffer by environmet variable 2004-03-25 14:45 tigran * removed MSDOS new line characters 2004-03-25 13:39 tigran * added O_LARGEFILE to the open flags in case of _FILE_OFFSET_BITS==64 2004-03-24 20:38 tigran * moved 64 bit functions into other module 2004-03-24 16:59 tigran * 64 bit part moved into seporate file 2004-03-23 14:58 tigran * removed unneeded strdup/free 2004-03-22 14:57 tigran * fixed pthread only varian on solaris 2004-03-22 14:50 tigran * use pthreads only 2004-03-19 15:47 tigran * modified to use static libraries of globus 2004-03-18 16:29 tigran * changed off_t to off64_t for lseek64 2004-03-18 13:39 tigran * cosmetic change 2004-03-18 13:33 tigran * work around glibc header files mess with 32 and 64 bits functions 2004-03-17 08:23 tigran * onstructor need an arrgument to work correctly with dCache 2004-03-15 13:53 tigran * Globus GSI port 2004-03-15 13:50 tigran * Grid-GSI port 2004-03-11 21:13 tigran * fixed CygWin port 2004-03-11 20:10 tigran * added gid into hello 2004-03-08 15:24 tigran * added O_TRUNC passing to the door 2004-03-03 16:17 tigran * new version 1.2.27 added write cache added stat & Co. added hooks for opendir & Co. added dc_access clear preload code 2004-02-26 15:19 tigran * update of win32 port 2004-02-26 15:10 tigran * init_debug prints the actual library version 2004-02-26 13:09 tigran * move sgi port from syscalls to dlsym 2004-02-26 10:11 tigran * Sgi do not have a RTDL_NEXT, use dlopen 2004-02-26 09:33 tigran * moved Solaris port from syscalls to dlsym 2004-02-25 15:29 tigran * added opendir/readdir/closedir/telldir/seekdir hooks system io uses next library from dynamic libraries stack, if prefered library is not specified by environment variable 2004-02-25 14:01 tigran * corrected behavior if host and domain don't specified 2004-02-24 13:36 tigran * modified config file format now: [tunnelType@]host[:port[:tunnelProvider[:tunnelType]]] 2004-02-19 13:28 tigran * fixed errno reseting before connection to a door 2004-02-10 10:00 tigran * fixed potencial access of uninitialized memory 2004-02-09 16:36 tigran * some cosmetic 2004-02-03 15:37 tigran * added cvs id 2004-01-26 14:35 tigran * added flag to dccp/wdccp for checksum calculation on/off 2004-01-21 12:09 tigran * finaly, write and seek works 2004-01-21 12:08 tigran * changed printout debug level 2004-01-21 10:14 tigran * changed printout debug level 2004-01-20 21:53 tigran * chaged to optimized version of adler32 2004-01-20 16:40 tigran * fixed?? strange behavior: wrong data size HAVE TO BE TESTED 2004-01-18 13:48 tigran * lseek optimization: no io operation in SEEK_SET if offset == current position 2004-01-13 22:01 tigran * Added wdccp into TARGETs 2004-01-13 12:41 tigran * finaly fixed read ahead write behind 2004-01-12 13:31 tigran * corrected adler check sum calculation added initial checksum value for each check sum algorithm. 2004-01-06 13:31 tigran * read-ahead bug fix 2004-01-06 13:20 tigran * new wdccp: no prestage/check varios bug-fixes 2004-01-06 13:17 tigran * fixed double malloc/memory leak 2004-01-06 09:12 tigran * position request optimisation 2003-12-30 13:10 tigran * added access hook 2003-12-26 23:08 tigran * added dc_access into dcap.h 2003-12-26 23:03 tigran * added wdccp.c 2003-12-26 23:00 tigran * added wdccp 2003-12-19 11:06 tigran * removed write buffering, fixed r/w operation with read ahead buffer 2003-12-16 13:31 tigran * fixed permission bug with read-only file copy 2003-12-15 09:06 tigran * added dc_access 2003-11-13 20:47 tigran * added IO tunneling plugin selection mechanism. 2003-11-05 16:13 cvs * The bug for the case when the client without tunnel tries to connect to the server was fixed. Now the server close the socket immediately and waits for another connection 2003-10-16 08:59 tigran * removed creation of dc_check dc_stage added timestamp in dcap version 2003-10-16 08:58 tigran * added cvs ID 2003-10-08 08:36 tigran * fixed memory leak 2003-10-07 20:30 cvs * Binaries have been replaced by shell scripts to have the same finctionality as dccp 2003-10-02 22:30 cvs * Bug in serverConnect when working with the tunnel has fixed. 2003-09-26 14:18 cvs * timeout for open added : -o (patrick) 2003-08-26 12:19 tigran * added write behind 2003-08-19 09:02 tigran * small modifications 2003-08-19 08:53 tigran * added static library generation 2003-08-08 13:23 tigran * added large file support 2003-08-08 13:19 tigran * fixed large file support 2003-08-08 13:04 tigran * added "faked" large file support 2003-08-08 13:03 tigran * added large file support 2003-08-07 13:56 tigran * added porting manual 2003-08-05 12:47 tigran * new release 1.2.26 added stat functions set new preload mechanism debug function moved to dc_debug several bug fixes 2003-08-05 10:41 tigran * fixed removing existing files on create 2003-07-28 09:38 tigran * fstat hack to get correct file size during write 2003-07-25 11:38 tigran * windows port update 2003-07-25 11:36 tigran * Windows port update 2003-07-24 15:30 tigran * added va_end 2003-07-24 10:03 tigran * added dc_fsata and dc_debug 2003-07-24 10:02 tigran * small fixes needed to be redesigned 2003-07-24 09:11 tigran * debug function replaced by dc_debug 2003-07-23 09:56 tigran * fixed unsafe write operation 2003-07-22 19:46 tigran * corrected printout 2003-07-22 19:36 tigran * added byte order checking 2003-07-22 19:35 tigran * spelling errors removed unneeded members in vspNode structure 2003-07-22 11:59 tigran * tunned fstat behavior 2003-07-21 12:24 tigran * verbose printout 2003-07-18 10:53 tigran * fixed some compile time warnings 2003-07-17 18:30 tigran * added dc_fstat and dc_fstat64 implementations 2003-07-09 10:31 tigran * added trace back functionality 2003-07-07 19:17 tigran * removed cvs log 2003-07-07 19:11 tigran * removed cvs Log 2003-07-07 14:21 cvs * one more fix 2003-07-07 14:05 cvs * fixed incorrest behavior of dc_ftell 2003-07-07 09:14 cvs * fixed incorrect behavior on local files 2003-07-03 11:34 cvs * corrected behavior of unsafeWrite operation on seek 2003-05-22 17:59 cvs * allowed to modify existed files 2003-05-14 08:06 cvs * if DCACHE_USE_UNSAFE env defined, all write operation becomes unsafe by default. 2003-03-28 10:08 cvs * dc_dup and dc_fsync in seporate files 2003-03-26 11:41 cvs * EOF handled correctly 2003-03-24 16:17 cvs * close sends a checksum counted during the write operation 2003-03-24 09:39 cvs * remove compile time warning 2003-03-22 09:31 cvs * removed warning at compile time 2003-03-20 11:48 cvs * all dc_xxx functions are located in the seporate files 2003-03-18 15:26 cvs * make install installes dc_hack.h as well 2003-03-18 15:25 cvs * remove license note 2003-03-18 10:36 cvs * fixed definitions of dc_fread and dc_fwrite 2003-03-17 22:45 cvs * lstat ans stat uses lstat64 and stat64 + stat64to32 2003-03-17 22:23 cvs * added stat64 to stat convertor 2003-03-17 21:43 cvs * added "unknown error" 2003-03-17 15:47 cvs * fixed for solaris 2003-03-17 15:29 cvs * added stat64 into BSD_SYSCALLS section 2003-03-17 13:53 cvs * stat code cleanup 2003-03-17 13:28 cvs * stat & Co. takes version number from header file 2003-03-17 10:06 cvs * fixed unclosed file descriptop in loop 2003-03-16 21:28 cvs * updated according new functions 2003-03-16 21:19 cvs * spelling fix 2003-03-16 21:01 cvs * added system_dup 2003-03-16 20:04 cvs * added dc_dup 2003-03-16 20:03 cvs * stat & Co. needs __xstat64 to work 2003-03-14 11:55 cvs * added fstat and fstat64 in BSD_SYSCALL section 2003-03-14 09:55 cvs * fixed dc_lstat calls system_lstat 2003-03-14 09:53 cvs * st_dev and st_rdev are not printed anymore 2003-03-14 07:36 cvs * fixes for _LARGEFILE64_SOURCE and lstat 2003-03-13 20:42 cvs * added dc_lstat 2003-03-12 11:49 cvs * stat related changes on Solaris 2003-03-12 11:42 cvs * added dc_stat64 2003-03-12 11:35 cvs * fixed debug initialization prior debug leve check 2003-03-12 10:57 cvs * added O_CREAT into open option 2003-03-10 16:25 cvs * linux also has a struct stat64 :) 2003-03-10 16:22 cvs * updated MSVC project files 2003-03-10 16:15 cvs * removed ^M 2003-03-10 16:12 cvs * windows port update 2003-03-10 16:11 cvs * tryed to fix problem with stst and stat64 under the solaris 2003-03-10 09:44 cvs * removed preloading of the fflush 2003-03-08 21:55 cvs * fixed write behind the buffer 2003-03-08 21:43 cvs * work around out of stack with preload library 2003-03-08 00:32 cvs * added dc_fsync 2003-03-07 11:59 cvs * added debug printouts 2003-03-07 11:58 cvs * flush not used inside dcap library anymore 2003-03-07 11:32 cvs * no fflush used internaly 2003-03-06 21:08 cvs * quick hack to preload fflush 2003-03-06 17:18 cvs * preload part moved into other file as it have to be supported now :( added dc_fflush 2003-03-06 13:42 cvs * improved dcap_test dc_stat gets permissions as a output from ls -l command 2003-03-05 08:45 cvs * make cleanall removes preload library as well 2003-03-05 08:43 cvs * added dc_stat into windows dll export file 2003-03-04 23:02 cvs * now it's possible to define the dynamic symbol names of libc IO functions in the make file improved error handling in system_io 2003-03-04 22:02 cvs * added dcap_protocol.c dcap_control.h marged with dcap_protocol.h 2003-03-04 16:38 cvs * implemented dc_stat with some code reorganization 2003-03-04 16:37 cvs * added invalid url error state 2003-03-04 16:35 cvs * added DEURL - unvalid url 2003-03-04 16:34 cvs * fixed system_stat to run with glibc and dlsym 2003-03-03 09:42 cvs * added dc_pwrite 2003-02-25 14:26 cvs * bugfix for pnfs:// 2003-02-25 10:16 cvs * fixed windows export file 2003-02-25 08:49 cvs * last stable version without dc_stat and dc_fstat 2003-02-24 12:49 cvs * added skeletons for dc_stat and dc_fstat 2003-02-24 11:24 cvs * added dcap:///filesystem/domain == dcap://default_server.domain/filesystem/domain 2003-02-21 13:27 cvs * fixed send/receive buffer size 2003-02-21 13:16 cvs * fixed spelling errors 2003-02-21 12:27 cvs * fixed compile time warning 2003-02-21 11:50 cvs * added dc_open64 2003-02-20 10:23 cvs * added -send -recive options into open request changed -w option to -s in dccp 2003-02-14 13:29 cvs * fixed compile time error under the windows 2003-02-14 13:13 cvs * remove CVS log 2003-02-14 12:26 cvs * changes followLink realisation to LIBC 2003-02-14 11:46 cvs * reduced unneeded bilds 2003-02-14 11:39 cvs * added send/recive buffer size tuning into windows export file 2003-02-14 11:36 cvs * some fixes to reduce complie cycles 2003-02-06 11:21 cvs * compile time warning 2003-02-06 11:08 cvs * more changes in TCP send/resive buffer size tunning 2003-02-06 10:51 cvs * corrected send/recive buffer size tunning dcap_poll reports an error if control line not in the list of know control lines 2003-02-05 16:55 cvs * fixed maj min version order in the hello 2003-02-04 15:44 cvs * new flag in dcap_poll 2003-02-03 10:32 cvs * new bugfix release 2003-01-31 16:02 cvs * added for send/recive buffer sizes 2003-01-31 14:01 cvs * added tunnable send/recive buffer size 2003-01-28 11:07 cvs * fixed looping in getControlMessage when control connection down 2003-01-27 17:37 cvs * added error state printout 2003-01-27 09:33 cvs * fixed revents testing in poll 2003-01-21 11:10 cvs * timeout changed to 1 second 2002-12-08 16:27 cvs * minor changes 2002-11-27 09:56 cvs * fixed spelling errors in printouts 2002-11-26 11:11 cvs * bugfix 2002-11-26 11:10 cvs * fixed open bug 2002-11-26 10:25 cvs * new release added dc_fxxx functions added win32 suport added workaround looping fixed tunneling added auto debuglevel increasing added callback port range binding 2002-11-26 10:22 cvs * redused compile time warnings on sgi 2002-11-25 16:45 cvs * added looping brake in read size missmatch 2002-11-25 14:21 cvs * added dc_ferror 2002-11-25 11:45 cvs * removed unneeded stuff 2002-11-25 09:47 cvs * dc_fxxx function declaration in dcap.h and dcap.def fixed dc_hach.h 2002-11-24 19:57 cvs * final dc_fdopen and dc_ftell 2002-11-24 18:41 cvs * added dc_ftell 2002-11-24 18:18 cvs * added lock handling into dc_fdopen 2002-11-24 18:08 cvs * fixed dc_fdopen one more time 2002-11-24 18:03 cvs * fixed dc_fdopen 2002-11-24 17:49 cvs * added dc_fdopen 2002-11-21 15:40 cvs * changed printout at reviced block missmatch 2002-11-19 16:35 cvs * HERMES dc_fxxx workaround...... 2002-11-19 11:24 cvs * linux fixes for srteam FILE 2002-11-19 10:22 cvs * remove createon of libfdcap 2002-11-19 10:20 cvs * dc_fxxx moved in to dcap.c 2002-11-18 17:20 cvs * removed redundant arguments in some function calls 2002-11-18 14:20 cvs * fixed memory leak 2002-11-18 11:55 cvs * removed redundant information in function calls 2002-11-15 11:53 cvs * some cosmetic changes 2002-11-15 10:37 cvs * debug level self increasind limited to DC_ERROR + DC_INFO 2002-11-15 10:30 cvs * control connection "pinged" only when LOCK was activated 2002-11-14 18:08 cvs * added ping of the control line when going to reuse it 2002-11-14 16:57 cvs * added self error level increasing at reconnect procedure 2002-11-14 09:49 cvs * dc_errno resetted to OK at any dc_xxx call 2002-11-13 13:25 cvs * removed DOS characters 2002-11-13 08:57 cvs * dc_setCallbackPortRange takes first_porl , last_port 2002-11-11 17:19 cvs * added ERR as variable for /dev/null 2002-11-11 17:16 cvs * _REENTRAND not defined when defined WIN32 2002-11-11 16:56 cvs * spellcheck fix 2002-11-11 13:59 cvs * added dc_setCallbackPortRange 2002-11-11 10:21 cvs * fixed parseConfig: incorrect behavior when port number not specified 2002-11-06 15:19 cvs * fully running windows port 2002-11-06 13:35 cvs * added .DEF file to define exports in the .DLL 2002-11-05 13:50 cvs * added winmm.lib into dcap.dll project 2002-11-04 15:45 cvs * added printout on HUP/ERR state in poll 2002-11-04 14:02 cvs * spelling errors in printout 2002-11-04 14:01 cvs * if - fi replaced by case - esac 2002-11-03 17:29 cvs * added support for CYGWIN 2002-11-03 11:21 cvs * added extra option in make file for exe and library extention 2002-11-02 12:44 cvs * libdcap under the windows 2002-11-02 00:18 cvs * running version under cygwin 2002-11-01 23:52 cvs * first touch to cygwin 2002-11-01 23:51 cvs * added Makefile for cygwin 2002-11-01 16:25 cvs * remobed \n at the end of timestamp string 2002-11-01 16:21 cvs * added timeing in windows 2002-11-01 16:01 cvs * tcp port moved from int to unsigned short dccp under windows do not produses readonly files 2002-11-01 14:29 cvs * added unix/dos path converting 2002-10-28 15:45 cvs * added MS Visual Studio Project files 2002-10-28 14:51 cvs * remove dcap_signal.h from WIN32 selection 2002-10-27 11:29 cvs * added WIN32 ifdef 2002-10-25 13:49 cvs * added dlxxx to windows 2002-10-25 10:05 cvs * fixed blocking/nonblicking calls under the Windows 2002-10-25 09:47 cvs * removed unneeded SSL files 2002-10-25 09:46 cvs * WIN32 Running! 2002-10-23 21:00 cvs * First WIN32 port 2002-10-23 10:35 cvs * missing header file 2002-10-23 10:33 cvs * added user password authentification 2002-10-23 09:40 cvs * all debug macros have DC_ prefix stared WIN32 porting 2002-10-22 13:00 cvs * fixed username 2002-10-22 12:44 cvs * added UserValidator 2002-10-22 09:36 cvs * added auth protocol versioning 2002-10-21 14:38 cvs * added new methods 2002-10-21 13:58 cvs * added user name 2002-10-21 09:35 cvs * accpet returns SSLTunnelSocket 2002-10-21 09:33 cvs * added SSLTunnelSocket.java 2002-10-19 08:56 cvs * added ssl tunnel 2002-10-18 13:04 cvs * class now public 2002-10-18 12:56 cvs * constructor now public 2002-10-18 12:44 cvs * added mail method 2002-10-18 12:22 cvs * fixed TunnelServerSocket.java added ssl support 2002-10-16 16:20 cvs * if gss fails -> goto plain 2002-10-16 16:20 cvs * if gss failes -> go to plain 2002-10-16 12:29 cvs * fixed freeing NULL pointer 2002-10-14 11:53 cvs * added javatunnel part 2002-10-14 11:45 cvs * Makefile is more "general" 2002-10-14 10:31 cvs * added gssapi-based security plugin 2002-10-11 12:04 cvs * fixed failed ping looping 2002-10-11 10:19 cvs * fixed tunneling support 2002-10-07 09:17 cvs * removed log messages 2002-09-27 12:44 cvs * remove LICENSE from FNAL dc_check/stage 2002-09-27 12:38 cvs * Added LICENSE 2002-09-25 08:27 cvs * fixed memory leak 2002-09-09 15:25 cvs * new bugfix for version 1.2.20 2002-09-09 15:21 cvs * gcc-problem 2002-09-09 15:18 cvs * fixed bug ( changed flag in dc_set_pos) 2002-09-09 14:47 cvs * more and more... 2002-09-09 14:32 cvs * test is better and better.... 2002-09-09 13:28 cvs * applyed chanes of dc_set_pos 2002-09-09 13:27 cvs * improved test 2002-09-09 10:14 cvs * new release i) io tunneling ii) new system io handling on linux iii) better reconnect iV) pread V) small changes in the structure ( dc_read -> dc_real_read 2002-09-09 10:10 cvs * better and better .... 2002-09-09 09:56 cvs * gcc compile time warnings.... 2002-09-09 09:52 cvs * small fixes 2002-09-09 09:49 cvs * fixed reconnect operations 2002-09-09 09:47 cvs * new test application 2002-09-08 08:29 cvs * fixed gcc options 2002-09-07 14:33 cvs * compile time warnings 2002-09-04 13:22 cvs * improved reconnect 2002-09-04 10:01 cvs * fixed ioTunnel in sendControlMessage 2002-09-04 09:08 cvs * added dc_setStrDebugLevel 2002-09-04 08:54 cvs * compile time warnings 2002-09-02 09:48 cvs * added ignore errors on close for read-only operations 2002-08-29 14:20 cvs * lint passed 2002-08-29 12:00 cvs * fixed un-NULL-ed pointer bzero and bcopy replaced by memset and memcpy 2002-08-23 14:03 cvs * spellcheck 2002-08-23 13:52 cvs * added command line switch to activate io tunnel 2002-08-23 11:59 cvs * added lineparser changed configParser 2002-08-23 11:57 cvs * added lineparser.c 2002-08-21 12:43 cvs * added dlopen way to access system io functions 2002-08-21 10:46 cvs * cosmetic changes 2002-08-21 10:41 cvs * fnal test 2002-08-21 09:18 cvs * remove SSL part 2002-08-20 09:34 cvs * removed Makefile.com 2002-08-20 08:17 cvs * fixed cvs Id 2002-08-19 10:44 cvs * cosmetic changes 2002-08-19 10:23 cvs * added debug_level.lst 2002-08-19 10:22 cvs * added setStrDebugLevel debug_list.h and debug_map.h created by make 2002-08-18 15:37 cvs * new fixes in dc_stage/dc_check 2002-08-02 07:05 cvs * new dc_check and dc_stage from fnal 2002-08-01 14:32 cvs * added currentTheread.c 2002-08-01 14:07 cvs * added pread into preload section 2002-08-01 13:51 cvs * allowd multiple -d's 2002-07-31 08:00 cvs * -DNO_BSD_SYSCALLS for linux 2002-07-31 07:26 cvs * added fnal_thread.c 2002-07-30 13:07 cvs * added/fixed system_pread 2002-07-30 13:04 cvs * added pread handler 2002-07-30 12:44 cvs * somehow ctime_r fix was lost !!? 2002-07-30 12:11 cvs * added dc_pread small internal changes 2002-07-29 13:52 cvs * fixed ctime_r on linux (POSIX ? ) 2002-07-29 13:49 cvs * see last comment 2002-07-29 13:46 cvs * fixed ctime for multithreaded applications 2002-07-26 13:21 cvs * fixed potencial deadlock 2002-07-25 15:38 cvs * more checks in getControlMessage 2002-07-25 15:34 cvs * more checks in sendDataMessage 2002-07-25 10:52 cvs * init_debug called from open for all platforms 2002-07-25 10:01 cvs * added check for ascii message in the sendDataMessage 2002-07-23 16:25 cvs * dc_read: if recived size != expected size skip block & reconnect 2002-07-23 16:24 cvs * added aliases for reconnect flags 2002-07-22 22:02 cvs * NULL following free in queueGetAccepted 2002-07-22 21:10 cvs * fixed dcap_accept free 2002-07-22 19:45 cvs * change in connect printout 2002-07-19 12:50 cvs * libdl.so added to linker. 2002-07-19 12:40 cvs * added timeing in connect 2002-06-27 15:52 cvs * added bitmask style for debug level 2002-06-27 13:53 cvs * Removed gssapi from code Added ioTunneling mechanism 2002-06-24 12:14 cvs * dcap_atuh switched off fixed wead and seek operation 2002-06-19 13:36 cvs * control line reconnect fixes 2002-06-11 15:51 cvs * added timestamp 2002-06-03 09:35 cvs * small fix 2002-06-01 21:58 cvs * DCACHE_RAHEAD && DCACHE_RA_BUFFER 2002-05-22 16:29 cvs * added gssapi 2002-05-22 16:28 cvs * added Makefile.com for common part added gssapi 2002-05-08 12:32 cvs * small optimization with callback port number 2002-05-08 08:20 cvs * as usualy, = and == fixed 2002-05-08 08:10 cvs * added dc_setCallbackPort 2002-05-07 08:49 cvs * fixed FLAN modifications 2002-04-25 15:11 cvs * fixed integer overflow 2002-04-23 15:11 cvs * Seperated dc_check and dc_stage 2002-04-19 08:18 cvs * new bugfix release 1.2.19 fixed resolution of absolute links 2002-04-19 08:17 cvs * library versioning switched off 2002-04-18 21:15 cvs * fixed broken link to absolute path 2002-04-18 12:13 cvs * removed old comment 2002-04-18 08:16 cvs * fixed map on the linux 2002-04-18 08:01 cvs * Added support for mapfile 2002-04-15 18:54 cvs * New file that allows use to dc_check 2002-04-09 09:09 cvs * kosmetic changes in the help printout 2002-04-08 14:07 cvs * added help-like output 2002-04-03 15:14 cvs * removed unneeded includes 2002-04-03 10:36 cvs * fixed debug_stream 2002-04-03 10:23 cvs * version 1.2.18 added dc_unsafeWrite added accumulative read in dccp added recover of broken control line added DCACHE_DEBUG_FILE DCACHE_HOST changed to DCACHE_DOOR added preload library into release 2002-04-03 10:13 cvs * fixed source accumilation 2002-04-02 21:08 cvs * Added DCACHE_DEBUG_FILE remove compile time warning in dcap_poll.c added -v -KPIC opion in Makefile 2002-04-02 12:06 cvs * sendDataMessage do not retry on failed close message dc_close removes broken control line 2002-03-28 12:03 cvs * fixed alarm handling for poll on linux 2002-03-27 16:40 cvs * printout are changed 2002-03-27 16:03 cvs * added remove of the vsp_node, even if sendMessage failed 2002-03-26 17:28 cvs * added destroy for undeliverable messages 2002-03-26 16:58 cvs * added preload library in make install 2002-03-26 15:24 cvs * system_close removed 2002-03-26 15:22 cvs * fixes in pollDelet 2002-03-26 14:55 cvs * fixed in pollDelete 2002-03-26 14:47 cvs * DCACHE_DOOR == DCACHE_HOST 2002-03-25 17:23 cvs * fix in pollDelete 2002-03-25 17:12 cvs * in newControlLile added removing of old file descriptor 2002-03-25 16:27 cvs * url nou in nodes preparations for reconnect 2002-03-25 15:53 cvs * first touch to the control line recovery 2002-03-25 14:26 cvs * small fix 2002-03-25 12:06 cvs * added unsafe write added accumulative read 2002-03-25 12:02 cvs * added unsafe write 2002-03-23 22:38 cvs * removed compile time warnings 2002-03-22 14:48 cvs * addes error message 2002-03-22 14:09 cvs * write test 2002-03-22 12:09 cvs * ping is fixed 2002-03-21 21:13 cvs * changed sleep to alarm 2002-03-21 15:43 cvs * added write in one step 2002-03-18 16:25 cvs * added ping-pong into reconnect 2002-03-18 11:58 cvs * new version 1.2.17 fixed reconnect added reconnect on timeouts 2002-03-15 15:45 cvs * now io-timeout thread safe (I hope). 2002-03-15 12:49 cvs * added comments in dc_set_pos and reconnect 2002-03-14 16:34 cvs * fixed dc_set_pos 2002-03-14 16:17 cvs * added reconnect on timeouts 2002-03-14 11:55 cvs * fixed seek_cur and node->ahead->base after last fixes of reconnect 2002-03-14 09:31 cvs * fixed wrong position in reconnect added alarm 2002-03-12 19:49 cvs * one more step in reconnect 2002-03-12 16:09 cvs * added connection recovery 2002-03-12 16:08 cvs * removed pin-pong stuff, added alarm 2002-03-12 16:07 cvs * removed pin-pong staff 2002-03-12 15:36 cvs * added dcap_reconnect 2002-03-12 15:26 cvs * added ping-pong 2002-03-11 16:26 cvs * fixes 2002-03-11 16:13 cvs * added reconnect stuff 2002-03-11 11:39 cvs * lock message printed only once 2002-03-06 10:50 cvs * new release 1.2.16 added blocking of dc_open if dcap.LOCK file exist in the pnfs 2002-03-06 10:48 cvs * first touch to ping-pong 2002-03-05 15:20 cvs * added clients lock for service 2002-02-26 16:32 cvs * new bugfix version 1.2.15 added tomeout in connect 2002-02-26 16:31 cvs * changed connect timeout to 20 seconds 2002-02-26 15:56 cvs * bug fix for random value of url->type at program start time 2002-02-25 15:07 cvs * added CVS header 2002-02-25 15:06 cvs * added non-blocking connect call 2002-02-25 15:04 cvs * added non-blocking connect 2002-02-22 13:39 cvs * removed unuser variable 2002-02-22 13:35 cvs * compilation time warning removed 2002-02-22 10:55 cvs * compiler warning removed 2002-02-20 14:26 cvs * added -mips3 in the flags 2002-02-20 14:25 cvs * fixed removeing old link in the installation directory 2002-02-20 12:36 cvs * new bugfix + new features version 1.2.14 2002-02-20 12:00 cvs * fixed -alloc-size for urls 2002-02-20 11:36 cvs * added new syntax pnfs:// 2002-02-20 11:01 cvs * fixed bug with extraOption 2002-02-19 23:09 cvs * fixed problem with removeing truncated files 2002-02-19 15:24 cvs * dc_setExtraOption permanenty puted into the code 2002-02-19 14:36 cvs * dcap.c: added support for multiple extra options dccp.c: sending source file size as extra option 2002-02-19 13:22 cvs * fixes in the Makefile 2002-02-19 11:06 cvs * added mkdirs.sh 2002-02-19 10:39 cvs * small changes in the declarations 2002-02-18 20:43 cvs * make install improved 2002-02-18 13:52 cvs * added version.sh 2002-02-18 10:36 cvs * Added version.sh Make install makes link to actual library 2002-02-15 15:56 cvs * some small reorganization i the read-ahead 2002-02-15 12:18 cvs * new release 1.2.13 update of the debug messages 2002-02-15 12:15 cvs * update of the debug messages 2002-02-14 15:37 cvs * new bug-fix release fixed problem with changing the read-ahead buffer size 2002-02-14 15:34 cvs * update of the debug messages 2002-02-14 09:24 cvs * Fixed bug with correcting file position at change buffer size 2002-02-11 17:36 cvs * first touch to new reconnect mechanism 2002-02-11 17:36 cvs * added new target - rebuild == cleanall all 2002-02-11 17:35 cvs * fixed non thread-safe compile error 2002-02-11 17:25 cvs * fixed dcap.h generation 2002-02-11 15:24 cvs * added do_command_retry and ASCII_RETRY 2002-02-09 18:31 cvs * _REENTRANT undefined if it's defined by dcap.h 2002-02-08 11:40 cvs * TCP send buffer size 2002-02-07 21:47 cvs * Some fixes suggested by Grzegorz Mazur 2002-02-07 11:08 cvs * new release 1.2.11 added dc_strerror changed retunr code of the dc_stage/dc_check some internal modifications 2002-02-07 11:04 cvs * dcap.h removed at clean 2002-02-07 09:45 cvs * Cosmetic changes in Makefiles 2002-02-07 09:44 cvs * added include dcap_errno.h 2002-02-06 17:44 cvs * added generatring dcap.h on the fly ( _REENTRANT hack ) 2002-02-06 15:28 cvs * renamed dcap_errlist.h into dcap_error.h 2002-02-06 14:45 cvs * added hack for dc_check 2002-02-06 14:24 cvs * cosmetic change in the error message 2002-02-06 14:13 cvs * added dcap_errno.h into install section 2002-02-06 14:02 cvs * added cvs "Id" 2002-02-06 14:01 cvs * MAXERRORNUM renamed into DEMAXERRORNUM correction in out-of-range check 2002-02-06 10:15 cvs * error numbers moved in to dcap_errno.h dc_strerror checks for out-of range values 2002-02-06 10:13 cvs * adopted to the new return code of the dc_stage function 2002-02-06 10:12 cvs * changed return codes of the dc_stage and dc_check functions 2002-02-05 15:56 cvs * dc_strerror retuns static pointer to server error message errno setted to EIO in case of server error fixed bug in prestage request for non existing files 2002-02-04 23:19 cvs * fixed miss-typing 2002-02-04 23:10 cvs * dc_error changed to dc_perror 2002-02-04 22:25 cvs * Added missing paren 2002-02-04 21:32 cvs * added dc_perror 2002-02-04 15:42 cvs * new bug-fix releas version 1.2.10 2002-02-04 15:36 cvs * removed check for lstat return value 2002-02-04 11:46 cvs * new bug-fix release version 1.2.9 2002-02-04 11:45 cvs * malloc bug fix 2002-02-01 19:06 cvs * Added libc in the libs 2002-01-25 14:16 cvs * added dc_strerror 2002-01-25 14:12 cvs * Added dc_strerror 2002-01-21 16:52 cvs * new bug-fix release version 1.2.8 2002-01-21 16:51 cvs * compilation warning fix 2002-01-21 16:50 cvs * bug fix -in dc_open file open flag fix 2002-01-15 11:08 cvs * added option -b to modify read ahead buffer size 2001-12-17 09:52 cvs * new bugfix release 2001-12-16 12:39 cvs * Fixed behavior with . and .. 2001-11-30 22:18 cvs * fixed potencial memory leak 2001-11-30 22:17 cvs * added init_debug support for linux 2001-11-27 16:44 cvs * Added AIX support 2001-11-27 16:06 cvs * Adeed #ifndef NO_BSD_SYSCALLS #endif 2001-11-23 15:52 cvs * New version 1.2.6 added publishing of dccp.c added DCACHE_REPLY added DCACHE_DEBUG 2001-11-23 15:50 cvs * added publishing of dccp.c 2001-11-23 15:48 cvs * cosmetic changes 2001-11-23 14:13 cvs * cosmetic changes 2001-11-23 14:01 cvs * Lot of changes for public release of sources. 2001-11-22 14:09 cvs * no warnings at compile time on linux 2001-11-20 11:40 cvs * Some modifications to get init_debug running on SGI 2001-11-20 09:57 cvs * removed printout in init_debug 2001-11-19 17:28 cvs * added #pragma for debigLevel initialization 2001-11-09 12:22 cvs * Added DCACHE_REPLY enviroment 2001-11-08 11:08 cvs * added onError and openTimeOut added -pid in hello 2001-11-05 09:43 cvs * Added -uid in hello fixed stage time = 0 => sending an stage request 2001-11-02 13:22 cvs * added -uid in all ascii commands some cleanups 2001-10-31 17:37 cvs * new bug fix release 2001-10-31 17:36 cvs * bug fixed in "if" statement ( = is not == ) cleaned code form unused fprint.... 2001-10-31 16:32 cvs * new release 1.2.4 added dc_stage added dc_check fixed bug in read ahead 2001-10-31 16:30 cvs * fixed bug in read ahead 2001-10-31 11:09 cvs * added -a option to enable read ahead added -B option to set the transfer buffer size 2001-10-30 16:30 cvs * finished dc_stage added dc_check 2001-10-30 16:29 cvs * added node_unplug. 2001-10-30 16:28 cvs * Added node_unplug. 2001-10-29 17:05 cvs * first touch to pre-stageing. 2001-10-01 15:36 cvs * new release with ssl support version 1.2.3 2001-10-01 11:32 cvs * again ssl stuff fixed 2001-10-01 09:42 cvs * fixed ssl include stuff 2001-09-07 11:56 cvs * Added SSL support for control line 2001-09-07 08:04 cvs * Fixed problem with varargs on solaris 2001-09-06 15:49 cvs * Added SSL module 2001-08-30 15:51 cvs * fixed stdin as a source file bug 2001-08-22 13:53 cvs * new bugfix release version 1.2.2 2001-08-22 13:52 cvs * dc_errno added in to dcap.h 2001-08-22 13:50 cvs * more fixes in thread-safe stuff 2001-08-22 10:45 cvs * added dcap_accept to handle accepted sockets 2001-08-21 15:40 cvs * dc_error and dc_errno fully thread-safe 2001-08-20 12:29 cvs * more fixes in threadsafe stuff 2001-08-17 11:14 cvs * new bugfix release 1.2.1 2001-08-17 11:12 cvs * fixed deadlock problem 2001-08-17 10:50 cvs * redirected messages to the stderr 2001-08-17 10:19 cvs * changed pollfd.revents condition chacking 2001-08-15 09:04 cvs * new release 1.2.0 added: dcap:// dccp - 2001-08-15 09:00 cvs * Lot of changes in threadsafe stuff 2001-08-14 15:15 cvs * fixed printout 2001-08-12 14:24 cvs * fixed error from prevision correction :) 2001-08-11 22:16 cvs * changed error condition checking 2001-08-10 20:38 cvs * fixed creation of preload library removed DCAP_TRACE 2001-08-10 15:31 cvs * fixed bug in allocation of host name 2001-08-05 21:01 cvs * associated the filename "-" with the stdin/stdout 2001-08-05 16:55 cvs * no longer needed to call the dc_setBufferSize function prior first read. 2001-08-05 08:45 cvs * cleand warnings 2001-08-04 08:22 cvs * The stream IO functions are moved in to the one file 2001-08-03 21:27 cvs * The read ahead utility functions moved in to the seporate file 2001-08-03 13:56 cvs * Added INRX64 2001-08-02 20:49 cvs * Cosmetic changes 2001-07-30 14:13 cvs * added multithreading test 2001-07-30 09:32 cvs * Added -X option to the dccp to pass extra option in to the open converstation 2001-07-26 13:43 cvs * Added benchmark tests 2001-07-18 11:23 cvs * added dc_hack.h 2001-07-18 08:33 cvs * fixed followLink on CREAT 2001-07-16 15:19 cvs * passed code through LINT 2001-07-16 15:12 cvs * some cosmetics in the makefile 2001-07-16 14:13 cvs * added URL like format in open 2001-07-16 09:37 cvs * Added link following in the dc_open 2001-07-13 12:25 cvs * fixed cache_open with getenv() 2001-07-13 11:09 cvs * improuved getControlMessage() function improuved sayHello() function to recognise bad hello 2001-07-13 11:06 cvs * added pollDelete() function 2001-07-13 11:05 cvs * scaning only for ascii characters 2001-07-12 16:13 cvs * Added "load balancing" in to serverConnect 2001-07-11 11:06 cvs * new bugfix release version 1.1.5 2001-07-11 11:06 cvs * fixed bug in deleteQueue #2 2001-07-11 10:45 cvs * new release 1.1.4 2001-07-11 10:40 cvs * bugfix in dc_close ( deleteQueue ) new release 1.1.3 2001-07-11 10:27 cvs * deleteQueue fixed 2001-07-10 08:39 cvs * First touch to reconnect 2001-07-04 14:26 cvs * fixed bug in dc_lseek node_plays.c compiled and linked as usual C file dcap_nodes.h included into dcap.c for node_plays.c functions declarations 2001-07-03 16:28 cvs * fixed fread and feof under linux ported to linux, irix and alpha 2001-07-03 16:14 cvs * added fclose feof fopen fread fseek fwrite 2001-07-02 10:38 cvs * new release 1.1.2 read ahead implemented 2001-07-02 10:02 cvs * fixed memory leak 2001-07-02 09:47 cvs * changed setDebugLevel to dc_setDebugLevel 2001-07-02 09:46 cvs * some small changes in make release 2001-07-02 09:37 cvs * in dcap.c: some how the code was not synchronized changed setDebugLevel to dc_setDebugLevel 2001-06-29 15:55 cvs * The documentation in seporate place now. 2001-06-29 10:47 cvs * fixed bug with reading rest of buffer added dc_noBuffering and dc_setBufferSize functions prototypes in to dcap.h 2001-06-28 12:03 cvs * dc_noBuffering and dc_setBufferSize 2001-06-28 08:56 cvs * Fixed read-ahead rest copy bug. 2001-06-26 21:41 cvs * Now it shoul work! (read ahead) 2001-06-26 13:34 cvs * Read ahead should work now 2001-06-25 14:35 cvs * Read ahead + seek inside buffer 2001-06-22 15:45 cvs * Read Ahead is realy working now 2001-06-19 15:12 cvs * First touch to Read ahead 2001-06-13 09:31 cvs * new release 1.1.1 2001-06-13 09:30 cvs * dcap.h included in install 2001-06-13 09:23 cvs * nothing runs @ first time 2001-06-13 09:18 cvs * fixed bug with open file descriptor 2001-06-11 14:31 cvs * New release 1.0.3 2001-06-11 14:30 cvs * addes install target 2001-06-11 14:20 cvs * improvement 2001-06-11 09:36 cvs * Improvement 2001-06-07 15:18 cvs * SEEK_AND_WRITE implemented 2001-06-07 15:18 cvs * Added support for C++ 2001-06-07 12:17 cvs * Fixed bug in calculating file position. Added debug printout for calcurated positions and offsets. 2001-06-06 13:33 cvs * Added SEEK_AND_READ command 2001-06-05 14:08 cvs * added dc_close2 function 2001-06-05 13:29 cvs * Added library documentation 2001-05-18 11:53 cvs * new release 1.0.2 2001-05-10 15:17 cvs * Added -std1 option to CFLAGS to switch C compiler to ANSI 2001-05-10 14:45 cvs * Added -DNOT_THREAD_SAFE derective to switchoff thread safe part of code; Corrected make file for alpha 2001-05-10 13:09 cvs * macros cleanup 2001-05-10 10:40 cvs * added alpha support 2001-05-07 15:03 cvs * Added Makefile for OSF/alpha 2001-05-07 15:02 cvs * ZZ 2001-05-03 10:17 cvs * Passed code through lint 2001-04-30 12:39 cvs * set socket recive buffer size only once integrated deleteQueue in to dc_close 2001-04-30 12:35 cvs * added deleteQueue improuved thread locking 2001-04-27 13:05 cvs * Setting socket recive buffer size in dc_read 2001-04-25 13:59 cvs * added restarting poll on the linux after interruption 2001-04-24 13:34 cvs * added dependences generation in to Makefile.sgi 2001-04-24 13:15 cvs * gramatic correction 2001-04-24 12:52 cvs * removed mQ fild in vspNode structure 2001-04-24 12:51 cvs * added include for strdup 2001-04-24 12:02 cvs * fixed return type in dcap_version.c added dependencies generation 2001-04-23 15:03 cvs * Added server error message in to dc_error output 2001-04-20 12:20 cvs * new version 1.0.1 2001-04-20 12:19 cvs * new option -i in dccp 2001-04-20 11:37 cvs * fixed bug in node_init 2001-04-20 11:36 cvs * fixed problem with incomplite quted messages 2001-04-20 11:36 cvs * fixed grammar error in printouts 2001-04-20 11:35 cvs * integrating new parser into the dcap_poll 2001-04-20 11:33 cvs * new parset for streams 2001-04-11 10:30 cvs * new version-1.0.0 2001-04-11 10:29 cvs * Fixed bug in generating dcap_version.c 2001-04-11 10:25 cvs * New Release 1.0.0 2001-04-11 10:22 cvs * added dcap_version.c 2001-04-11 10:21 cvs * Added library version in the usage printout 2001-04-11 10:20 cvs * Added version traceing 2001-04-10 11:12 cvs * New option of dccp in documentation fixed mistake in printout 2001-04-09 14:52 cvs * added option -h for reply host name 2001-04-09 10:54 cvs * xa-xa... not all variables was unused... 2001-04-09 10:40 cvs * removed unused wariables 2001-04-09 10:33 cvs * temporary fixed problem with deleting messages, which still needed in future 2001-04-06 20:56 cvs * The common part of the makefiles are moved in to the seporate file 2001-04-06 13:02 cvs * cosmetics. 2001-04-06 12:30 cvs * man page for dccp 2001-04-06 11:27 cvs * added dummy SIGPIPE handler 2001-04-05 10:13 cvs * some cleanup in manipulating with asciiMessage 2001-04-04 15:35 cvs * fixed problem with geting error messages and connection in ascii_open_conversation 2001-04-04 10:36 cvs * Added SGI Irix support 2001-04-04 07:36 cvs * no gcc warnings anymore 2001-04-03 15:35 cvs * allocating one byte less memory for pNfs ID 2001-04-03 15:21 cvs * some code cleanup and optimization 2001-04-03 14:24 cvs * added -d option 2001-04-03 14:23 cvs * some optimization + fixed misstakes in prontouts 2001-04-03 09:56 cvs * modified to have one callback connection 2001-04-02 16:08 cvs * fixed misstake in printout fixed bug in freeing srv, srv->hostname befour last using 2001-04-02 15:57 cvs * fixed bug in the option staff 2001-04-02 15:38 cvs * added -d option for debug level 2001-04-02 13:45 cvs * seting default debug levet to error only 2001-04-02 11:10 cvs * Added lot of printout 2001-04-02 09:16 cvs * integrated dcap_debug in to the code 2001-04-02 09:03 cvs * Removed unneeded file access checking fixed problem with enviroment configuration 2001-04-01 21:48 cvs * modified debugging printout 2001-04-01 21:48 cvs * added dcap_debug.c 2001-04-01 21:47 cvs * New debuging functions 2001-03-30 14:43 cvs * added messageDestroy 2001-03-30 14:26 cvs * we do not need dispatcher as it is. It's integrated in to the code. 2001-03-30 13:22 cvs * implemented special counter for connection id 2001-03-30 12:49 cvs * getControlMessage modified pointer to node used as message queue destination address 2001-03-30 12:47 cvs * extra printout in do_command_ok 2001-03-30 12:47 cvs * fixed argument in memmove 2001-03-30 11:44 cvs * fixed misstake in printout 2001-03-30 11:29 cvs * total_read and total_write zeroed for every file 2001-03-30 11:28 cvs * dc_lseek implemented 2001-03-30 10:25 cvs * added dc_setReplyHostName undocumented non POSIX function 2001-03-30 10:03 cvs * removed unreachable line of code 2001-03-30 09:05 cvs * added mode find in vsp_node structure 2001-03-29 22:24 cvs * fixed warnings at compile time on linux 2001-03-29 22:23 cvs * added dc_write implementation 2001-03-29 22:22 cvs * fixed dependencies for dccp removed dcap_displatcher 2001-03-29 21:39 cvs * fixed warning messages at compile time on linux 2001-03-29 17:15 cvs * First touch to read and close Added get_data get_fin get_ack get_reply htonll ntohll 2001-03-29 17:09 cvs * correction in printout 2001-03-29 17:06 cvs * added do_command_ok 2001-03-29 16:25 cvs * small corrections 2001-03-29 16:13 cvs * removed unneeded printouts 2001-03-29 15:24 cvs * added do_command_ok 2001-03-29 15:18 cvs * file removed befour abnormal exit 2001-03-29 14:45 cvs * added prototipe for sendDataMessage 2001-03-28 17:07 cvs * Fixed bug cousing code dump in dcap_poll 2001-03-28 08:31 cvs * removed unneeded free 2001-03-27 22:23 cvs * fixed bugs at realloc 2001-03-27 16:39 cvs * trying get ascii message form queue buggi! core dumped at dcap_poll 2001-03-27 07:49 cvs * fixed misstake in printout 2001-03-27 07:36 cvs * Added readn 2001-03-26 23:12 cvs * added data_hello_conversation poll improove 2001-03-26 20:54 cvs * Fixed problems with compiling on linux 2001-03-26 17:07 cvs * integrating dcap_poll into getControlMessage 2001-03-22 09:49 cvs * interpreter now allocates memory for result. 2001-03-22 08:59 cvs * Added queueGetMessage 2001-03-21 14:14 cvs * Added queueAddMessage 2001-03-21 10:35 cvs * Added queue manipulation 2001-03-20 17:42 cvs * added room for data chanel in poll_list 2001-03-19 23:44 cvs * Added *result as argument for command action. Code cleanup for wor warnings with gcc. 2001-03-19 23:12 cvs * nothing special... 2001-03-15 17:18 cvs * ASCIIresult renamed in to the asciiMessage new structure for message queue 2001-03-15 11:16 cvs * Continue playing aroud comands. 2001-03-14 15:57 cvs * Fixed makefile for linux 2001-03-14 15:46 cvs * added command handlers for dcap_interpreter 2001-03-14 11:48 cvs * new aproach 2001-03-13 17:16 cvs * An extra option in dcap_poll 2001-03-13 09:31 cvs * multiple file names. 2001-03-13 08:55 cvs * Added header file for dcap_interpreter() 2001-03-13 00:32 cvs * Fixed makefile for linux. Code cleaned from warnings at compile time with gcc. 2001-03-13 00:01 cvs * new hash function. 2001-03-12 15:45 cvs * Cosmetisk + integrating poll and parser into the code. 2001-03-07 17:24 cvs * continue to playng with interpreter 2001-03-07 17:23 cvs * the socket descroptor stored in dhr poll_list 2001-03-07 09:57 cvs * Remodev unneeded part 2001-03-06 16:27 cvs * first touch to interpreter 2001-03-06 14:47 cvs * replaces system dependent part from dcap_dispatcher.c by include file sysdep.h 2001-03-06 14:30 cvs * removed arguments in dcap_poll() 2001-03-06 10:35 cvs * Added include file for functions from dcap_poll.c 2001-03-06 10:29 cvs * system dependent part moved in to sysdep.h 2001-03-06 10:29 cvs * Some cosmetics 2001-03-06 10:28 cvs * added pollAdd funtion 2001-03-05 15:33 cvs * Added include file for parser 2001-03-05 15:29 cvs * first touch to dcap_poll.c 2001-03-02 12:49 cvs * added support for pthreads on the SUN's. 2001-03-02 12:46 cvs * added getControlMessage function prototype. 2001-03-02 08:41 cvs * This commit was generated by cvs2svn to compensate for changes in r591, which included commits to RCS files with non-trunk default branches. dcap-2.47.14/INSTALL000066400000000000000000000031671436643443400136530ustar00rootroot00000000000000Compiling from the source code management system ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1) First run the templating system sh bootstrap.sh 2) Then run the configure script. ./configure 3) Then build the code. make 4) Then install the binaries. make install 5) Optionally making rpm packages. make rpm There are many customisations you can make to aid the autodetection of libraries for plugins within dcap. Customising the dcap build process. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The configure stage has all the standard configure stage customisation. To get a full list of configure options please type the following command. ./configure --help Some of the more important custom options: --with-globus-lib[=DIR] use libglobus libdir This option sets the directory in which the globus libaries are installed if its not on a standard library path. --with-globus-include[=DIR] use libglobus includedir This option sets the directory in which the globus header files are installed if not on a standard path. --with-krb5-gssapi-include[=DIR] use krb5 gssapi includedir This option sets the directory in which the kerberous header files are installed if not on a standard path. --with-rpm-dir= Default is \$RPMD/ This option sets the directory where rpms will be placed, by default this is the current directory. The default can also be set via the enviroment variable RPMD --with-doc-dir= Default is \$DOCD/ This option sets the directory that documentation will be installed. The default is the ${prefix}/share/doc/${PACKAGE}-${VERSION} The default can also be set via the enviroment variable DOCD dcap-2.47.14/LICENSE000066400000000000000000000005361436643443400136240ustar00rootroot00000000000000/* * DCAP - dCache Access Protocol client interface * * Copyright (C) 2000,2004 DESY Hamburg DMG-Division. * * AUTHOR: Tigran Mkrtchayn (tigran.mkrtchyan@desy.de) * * This program can be distributed under the terms of the GNU LGPL. * See the file COPYING.LIB * */ /* * $Id: LICENSE,v 1.4 2004-11-03 14:09:23 tigran Exp $ */ dcap-2.47.14/Makefile.am000066400000000000000000000027741436643443400146610ustar00rootroot00000000000000topdir=@RPM_DIR@ if PKG_DEP_VDT GSIAPI = -with vdt endif if PKG_DEP_EPEL GSIAPI = -with epel endif if WANT_LIBGSSTUNNEL GSSAPI = -with krb endif if WANT_LIBTELNETTUNNEL TELNETAPI = -with telnet endif if WANT_LIBSSLTUNNEL SSLAPI = -with ssl endif AUX_DIST = $(ac_aux_dir)/config.guess \ $(ac_aux_dir)/config.sub \ $(ac_aux_dir)/install-sh \ $(ac_aux_dir)/ltmain.sh \ $(ac_aux_dir)/missing MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure config-h.in \ stamp-h.in $(AUX_DIST) ACLOCAL = aclocal -I $(ac_aux_dir) dist-hook: (cd $(distdir); \ if [ -a $(ac_aux_dir) ]; then \ echo "config exist!"; \ else \ mkdir $(ac_aux_dir); \ fi) (if [ -a $(ac_aux_dir)/depcomp ]; then \ echo "depcomp exist!"; \ else \ touch $(ac_aux_dir)/depcomp; \ fi) for file in $(AUX_DIST) $(AUX_DIST_EXTRA); do \ cp $$file $(distdir)/$$file; \ done SUBDIRS = src plugins tests rpm: dist @PACKAGE@.spec mkdir -p $(topdir)/SOURCES \ $(topdir)/SPECS \ $(topdir)/BUILD \ $(topdir)/RPMS $(topdir)/SRPMS cp @PACKAGE@-@VERSION@.tar.gz $(topdir)/SOURCES cp @PACKAGE@.spec $(topdir)/SPECS rpmbuild --define "_topdir $(topdir)" \ -ba $(GSSAPI) $(GSIAPI) $(SSLAPI) $(TELNETAPI) \ @PACKAGE@.spec docfiles = \ AUTHORS \ COPYING \ LICENSE \ ChangeLog \ INSTALL \ README man1_MANS = \ man/dccp.1 docdir = $(DOC_DIR) doc_DATA = $(docfiles) EXTRA_DIST = $(docfiles) dcap-2.47.14/Porting000066400000000000000000000043201436643443400141570ustar00rootroot00000000000000# # $Id: Porting,v 1.2 2003-08-19 09:02:22 tigran Exp $ # P O R T I N G I S S U E There are several places to take a care. xx) Makefiles The good place to start is Makefile.sun. Copy it to new one. cp Makefile.sun Makefile.newos Make a modifications which fits into your system. CC - C compiler CFLAGS - flags used by C compiler MAKEDEP - command to generate file dependencies, usually, CC with some flags SO_EXT - extention for dynamic library ( .so or .dll ) A_EXT - extention for static llibrary ( .a or .lib ) EXE_EXT - extention for executable ( .exe ) AR - maintain portable archive or library ( ar ) ARGLAGS - flags used by AR, ( rv ) RANLIB - generate index to archive ( ranlib ) MAP - way to tell to LD how to make a library export section CPP - C preprocessor, usually $(CC) -E LIBS - external libraries ( libpthread, libsocket and so on ) LDFLAGS - LD flag to create a dynamic library Take a result of a 'uname' application on your system and modify general Makefile: NewOS) \ $(MAKE) -f Makefile.newos $@ ;\ If your system is not a UNIX clone, then you are in trouble :) xx) Threads If your system natively supports POSIX threads API, you are done. If not, add your system specific macros into sysdep.h. xx) System IO The library supports three methods of accessing system native IO calls. The first is direct kernel calls. Second is using hooks form libc. And third is by calling corresponding function, which won't work in case of preload library and will produce "out of stack" error. To enable kernel calls, you have to add -DBSD_SYSCALLS to CFLAGS. The libc hooks enabled by adding -DLIBC_SYSCALLS. In addition -DLIBC= and corresponding function symbols in libc have to be specified. If none if none of the system io methods specified, corresponding io calls used. xx) Byteorder The dcap library designed to use LARGE FILES. During network operations required ntohll htonll functions, which is not included into standard libraries and libdcap has its own implementation, which byteorder dependent. FILEs to be modified: dcap.c sysdep.h system_io.c system_io.h byteorder socklen_t Makefile.xxxx Makefile dcap-2.47.14/README000066400000000000000000000113211436643443400134710ustar00rootroot00000000000000The dCache dccp client ~~~~~~~~~~~~~~~~~~~~~~ * Using dccp as a dcap client $/opt/d-cache/dcap/bin/dccp /etc/group dcap://door.example.org:22125/pnfs/example.org/data/dteam/test6 Command failed! Server error message for [1]: "path /pnfs/example.org/data/dteam/test6 not found" (errno 10001). 597 bytes in 0 seconds * Using dccp as a gsidcap client $/opt/d-cache/dcap/bin/dccp /etc/group gsidcap://door.example.org:22128/pnfs/example.org/data/dteam/test5 Command failed! Server error message for [1]: "path /pnfs/example.org/data/dteam/test5 not found" (errno 10001). 597 bytes in 0 seconds * Using debug flags with dccp $/opt/d-cache/dcap/bin/dccp -d 63 /etc/group dcap://door.example.org:22128/pnfs/example.org/data/dteam/test3 Dcap Version version-1-2-42 Jul 10 2007 19:56:02 Using system native stat64 for /etc/group. Allocated message queues 0, used 0 Using environment variable as configuration Allocated message queues 1, used 1 Creating a new control connection to door.example.org:22128. Activating IO tunnel. Provider: [libgsiTunnel.so]. Added IO tunneling plugin libgsiTunnel.so for door.example.org:22128. Setting IO timeout to 20 seconds. Connected in 0.00s. Removing IO timeout handler. Sending control message: 0 0 client hello 0 0 2 42 -uid=501 -pid=32253 -gid=501 Server reply: welcome. dcap_pool: POLLIN on control line [3] id=1 Connected to door.example.org:22128 Sending control message: 1 0 client stat "dcap://door.example.org:22128/pnfs/example.org/data/dteam/test3" -uid=501 Command failed! Server error message for [1]: "path /pnfs/example.org/data/dteam/test3 not found" (errno 10001). [-1] unpluging node Removing unneeded queue [1] [-1] destroying node Real file name: /etc/group. Using system native open for /etc/group. extra option: -alloc-size=597 [Fri Sep 7 17:50:56 2007] Going to open file dcap://door.example.org:22128/pnfs/example.org/data/dteam/test3 in cache. Allocated message queues 2, used 1 Using environment variable as configuration Activating IO tunnel. Provider: [libgsiTunnel.so]. Added IO tunneling plugin libgsiTunnel.so for door.example.org:22128. Using existing control connection to door.example.org:22128. Setting hostname to clinton.example.org. Sending control message: 2 0 client open "dcap://door.example.org:22128/pnfs/example.org/data/dteam/test3" w -mode=0644 -truncate door.example.org 33122 -timeout=- 1 -onerror=default -alloc-size=597 -uid=501 Polling data for destination[6] queueID[2]. Got callback connection from door.example.org:35905 for session 2, myID 2. cache_open -> OK Enabling checksumming on write. Cache open succeeded in 0.62s. [7] Sending IOCMD_WRITE. Entered sendDataMessage. Polling data for destination[7] queueID[2]. [7] Got reply 4x12 bytes len. [7] Reply: code[6] response[1] result[0]. get_reply: no special fields defined for that type of response. [7] Got reply 4x12 bytes len. [7] Reply: code[7] response[1] result[0]. get_reply: no special fields defined for that type of response. [7] Expected position: 597 @ 597 bytes written. Using system native close for [5]. [7] unpluging node File checksum is: 460898156 Sending CLOSE for fd:7 ID:2. Setting IO timeout to 300 seconds. Entered sendDataMessage. Polling data for destination[7] queueID[2]. [7] Got reply 4x12 bytes len. [7] Reply: code[6] response[4] result[0]. get_reply: no special fields defined for that type of response. Server reply: ok destination [2]. Removing IO timeout handler. Removing unneeded queue [2] [7] destroing node 597 bytes in 0 seconds Debugging ~~~~~~~~~ * The dcap libraries and dccp client use a bit mask variable. export DCACHE_DEBUG=255 Using the client interposition library ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ dcap is a POSIX like interface for accessing dCache, allowing unmodified applications to access dCache transparently. This access method uses a proprietary data transfer protocol, which can emulate POSIX access across the LAN or WAN. Unfortunately the client requires inbound connectivity and so it is not practical to use this protocol over the WAN as most sites will not allow inbound connectivity to worker nodes. To make non dCache aware applications access files within dCache through dcap all that is needed is setting a couple of environment variables listed below. export LD_PRELOAD=/opt/d-cache/dcap/lib/libpdcap.so The LD_PRELOAD environment variable overrides the operating system calls. After the environment variables are set as above the following commands should work. cp /etc/group gsidcap://door.example.org:22128/pnfs/example.org/data/dteam/myFile ls gsidcap://door.example.org:22128/pnfs/example.org/data/dteam/DirOrFile head gsidcap://door.example.org:22128/pnfs/example.org/data/dteam/myFile rm gsidcap://door.example.org:22128/pnfs/example.org/data/dteam/MyFile dcap-2.47.14/bootstrap.sh000077500000000000000000000002071436643443400151660ustar00rootroot00000000000000#!/bin/sh set -x mkdir -p config aclocal -I config autoheader libtoolize --automake automake --add-missing --copy --foreign autoconf dcap-2.47.14/configure.ac000066400000000000000000000406301436643443400151040ustar00rootroot00000000000000m4_define([dcap_major_version], [2]) m4_define([dcap_minor_version], [47]) m4_define([dcap_micro_version], [14]) m4_define([dcap_patch_version], []) m4_define([libdcap_version], [dcap_major_version.dcap_minor_version.dcap_micro_version]) AC_INIT([dcap], [libdcap_version], [support@dcache.org]) AC_CONFIG_AUX_DIR(config) AC_DEFINE_UNQUOTED(DCAP_VER_PROTOCOL, dcap_major_version, [DCAP protocol version]) AC_DEFINE_UNQUOTED(DCAP_VER_MAJOR, dcap_minor_version, [LibDCAP version major]) AC_DEFINE_UNQUOTED(DCAP_VER_MINOR, dcap_micro_version, [LibDCAP version minor]) AC_DEFINE_UNQUOTED(DCAP_VER_PATCH, "dcap_patch_version", [LibDCAP patch level]) AM_INIT_AUTOMAKE LIBRARY_VERSION="dcap_major_version:dcap_minor_version:1" AC_SUBST(LIBRARY_VERSION) AC_CANONICAL_HOST AC_PROG_CC m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) LT_INIT([shared,disable-static]) AM_CONFIG_HEADER(src/debug_level.h) # # Wall # AC_CACHE_CHECK([for maximum warnings compiler flag], ac_cv_cwflag, [case "${CC-cc}" in *gcc*) ac_cv_cwflag="-Wall -pedantic -pipe";; *) ;; esac]) AC_SUBST([CWFLAG], [$ac_cv_cwflag]) AC_SEARCH_LIBS([gethostbyname], [nsl]) AC_SEARCH_LIBS([bind], [socket]) AC_CHECK_FUNCS([alarm]) AC_CHECK_FUNCS([atexit]) AC_CHECK_FUNCS([bzero]) AC_CHECK_FUNCS([dup2]) AC_CHECK_FUNCS([ftruncate]) AC_CHECK_FUNCS([gethostbyaddr]) AC_CHECK_FUNCS([gethostbyname]) AC_CHECK_FUNCS([gethostname]) AC_CHECK_FUNCS([memmove]) AC_CHECK_FUNCS([memset]) AC_CHECK_FUNCS([mkdir]) AC_CHECK_FUNCS([realpath]) AC_CHECK_FUNCS([rmdir]) AC_CHECK_FUNCS([select]) AC_CHECK_FUNCS([socket]) AC_CHECK_FUNCS([strcasecmp]) AC_CHECK_FUNCS([strchr]) AC_CHECK_FUNCS([strdup]) AC_CHECK_FUNCS([strerror]) AC_CHECK_FUNCS([strndup]) AC_CHECK_FUNCS([strrchr]) AC_CHECK_FUNCS([strstr]) AC_CHECK_FUNCS([htonll]) AC_CHECK_FUNCS([ntohll]) AC_CHECK_FUNCS([acl]) AC_CHECK_FUNCS([facl]) AC_CHECK_FUNCS([_xstat]) AC_CHECK_FUNCS([_lxstat]) AC_CHECK_FUNCS([_fxstat]) AC_CHECK_FUNCS([lseek64]) AC_CHECK_FUNCS([pread64]) AC_CHECK_FUNCS([pwrite64]) AC_CHECK_FUNCS([ftello64]) AC_CHECK_FUNCS([fseeko64]) AC_CHECK_HEADERS([arpa/inet.h]) AC_CHECK_HEADERS([fcntl.h]) AC_CHECK_HEADERS([limits.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([netinet/in.h]) AC_CHECK_HEADERS([sys/param.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([sys/time.h]) AC_CHECK_HEADERS([sys/vfs.h]) AC_CHECK_HEADERS([termios.h]) AC_CHECK_HEADERS([stropts.h]) AC_CHECK_MEMBERS([struct stat.st_blksize]) AC_CHECK_MEMBERS([struct stat.st_rdev]) AC_CHECK_MEMBER([struct dirent.dirent]) AC_CHECK_MEMBER([struct dirent.dirent64]) AC_CHECK_MEMBERS([FILE._fileno]) AC_CHECK_MEMBERS([FILE._magic]) AC_CHECK_MEMBERS([FILE._file]) AC_CHECK_MEMBERS([FILE._flag]) AC_C_CONST AC_FUNC_CHOWN AC_FUNC_CLOSEDIR_VOID AC_FUNC_FORK AC_FUNC_FSEEKO AC_FUNC_LSTAT AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK AC_FUNC_MALLOC AC_FUNC_MEMCMP AC_FUNC_REALLOC AC_FUNC_SELECT_ARGTYPES AC_FUNC_STAT AC_FUNC_VPRINTF AC_HEADER_DIRENT AC_HEADER_TIME AC_PROG_RANLIB AC_STRUCT_ST_BLOCKS AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_SIGNAL AC_TYPE_SIZE_T AC_TYPE_UID_T AC_C_BIGENDIAN AC_CHECK_TYPES([long long]) dnl Store the compile flags prior to testing the presence. _cppflags="${CPPFLAGS}" _ldflags="${LDFLAGS}" _ldlibpath="${LD_LIBRARY_PATH}" dnl === zlib stuff === AC_CHECK_LIB(z, adler32, [ZLIB="-lz"],[ AC_MSG_ERROR([zlib was not found]) ]) AC_SUBST(ZLIB) dnl === Manage variables === CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} dnl Should not be needed but becasue globus libraries dnl linking is somewhat problematic this is needed. export LD_LIBRARY_PATH=${_ldlibpath} dnl === openssl stuff === nossl=0 AC_CHECK_HEADERS([openssl/ssl.h], [], [nossl=1]) AC_CHECK_HEADERS([openssl/err.h], [], [nossl=1]) if test "${nossl}" != "0" ; then AC_MSG_RESULT([Disabling ssl plugin as header files not found.]) else AC_CHECK_LIB(ssl,SSL_write,[ SSL_LIBS="-lssl" ],[ nossl=1 ]) AC_CHECK_LIB(crypto,ERR_print_errors_fp,[ SSL_LIBS="${SSL_LIBS} -lcrypto" ],[ nossl=1 ]) fi AC_SUBST(SSL_LIBS) CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} export LD_LIBRARY_PATH=${_ldlibpath} dnl === Thinks that should be in macros already === AC_CACHE_CHECK([for off64_t], ac_cv_have_off64_t, AC_TRY_COMPILE([ #define _LARGEFILE64_SOURCE #include ], [off64_t testoffset], ac_cv_have_off64_t=yes, ac_cv_have_off64_t=no)) if test x"$ac_cv_have_off64_t" = "xyes" ; then AC_DEFINE(HAVE_OFF64_T, 1, [Whether off64_t type is available]) fi dnl === Globus stuff === noglobus=0 EPEL_LIBS_NOT=0 AC_ARG_WITH(globus-lib, [ --with-globus-lib[[=DIR]] use libglobus libdir],[ if test "X${withval}" != "X" ; then GLOBUS_LIB_DIR=$withval LDFLAGS="${LDFLAGS} -L$withval" if test "X${LD_LIBRARY_PATH}" = "X" ; then export LD_LIBRARY_PATH="${withval}" else export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${withval}" fi fi ]) AC_ARG_WITH(globus-include, [ --with-globus-include[[=DIR]] use libglobus includedir],[ if test "X${withval}" != "X" ; then GLOBUS_INCLUDE_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval" fi ]) AC_CHECK_HEADERS( [globus_config.h],[], [noglobus=1]) AC_CHECK_HEADERS([gssapi.h],[],[noglobus=1]) if test "${noglobus}" != "0" ; then AC_MSG_RESULT([Disabling Globus plugins as header files not found.]) else dnl Set up the flags for found libraries EPEL_LIBS_NOT=0 GCC64PTHR_LIBS_NOT=0 GCC64DBGPTHR_LIBS_NOT=0 GCC32PTHR_LIBS_NOT=0 GCC32DBGPTHR_LIBS_NOT=0 AC_CHECK_LIB(globus_gssapi_gsi,gss_wrap, [ GLOBUS_EPEL_LIBS="-lglobus_gssapi_gsi ${GLOBUS_EPEL_LIBS}" ],[ EPEL_LIBS_NOT=1 ]) dnl == 64pthreads library checking version == AC_CHECK_LIB(globus_gssapi_gsi_gcc64pthr,gss_wrap, [ GLOBUS_GCC64PTHR_LIBS="-lglobus_gssapi_gsi_gcc64pthr ${GLOBUS_GCC64PTHR_LIBS}" ],[ GCC64PTHR_LIBS_NOT=1 ]) dnl == 64dbgpthr library checking version == AC_CHECK_LIB(globus_gssapi_gsi_gcc64dbgpthr,gss_wrap, [ GLOBUS_GCC64DBGPTHR_LIBS="-lglobus_gssapi_gsi_gcc64dbgpthr ${GLOBUS_GCC64DBGPTHR_LIBS}" ],[ GCC64DBGPTHR_LIBS_NOT=1 ]) dnl == 32pthreads library checking version == AC_CHECK_LIB(globus_gssapi_gsi_gcc32pthr,gss_wrap, [ GLOBUS_GCC32PTHR_LIBS="-lglobus_gssapi_gsi_gcc32pthr ${GLOBUS_GCC32PTHR_LIBS}" ],[ GCC32PTHR_LIBS_NOT=1 ]) dnl == 32dbgpthr library checking version == AC_CHECK_LIB(globus_gssapi_gsi_gcc32dbgpthr,gss_wrap, [ GLOBUS_GCC32DBGPTHR_LIBS="-lglobus_gssapi_gsi_gcc32dbgpthr ${GLOBUS_GCC32DBGPTHR_LIBS}" ],[ GCC32DBGPTHR_LIBS_NOT=1 ]) dnl set the version of globus fully detected and the library linking. want_globus=no if test "0" = "${GCC32DBGPTHR_LIBS_NOT}" ; then GLOBUS_LIBS=${GLOBUS_GCC32DBGPTHR_LIBS} PKGDEPVDT=1 want_globus=yes fi if test "0" = "${GCC32PTHR_LIBS_NOT}" ; then GLOBUS_LIBS=${GLOBUS_GCC32PTHR_LIBS} PKGDEPVDT=1 want_globus=yes fi if test "0" = "${GCC64DBGPTHR_LIBS_NOT}" ; then GLOBUS_LIBS=${GLOBUS_GCC64DBGPTHR_LIBS} PKGDEPVDT=1 want_globus=yes fi if test "0" = "${GCC64PTHR_LIBS_NOT}" ; then GLOBUS_LIBS=${GLOBUS_GCC64PTHR_LIBS} PKGDEPVDT=1 want_globus=yes fi if test "0" = "${EPEL_LIBS_NOT}" ; then GLOBUS_LIBS=${GLOBUS_EPEL_LIBS} PKGDEPEPEL=1 want_globus=yes fi dnl == End checking as globus header files exist == fi dnl Substitute the globus library linking variable AC_SUBST(GLOBUS_LIBS) dnl restore the compile flags to what they where before checking for globus. CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} export LD_LIBRARY_PATH=${_ldlibpath} dnl == MIT Kerberos == AC_ARG_WITH(krb5-gssapi-include, [ --with-krb5-gssapi-include[[=DIR]] use krb5 gssapi includedir],[ if test "X${withval}" != "X" ; then KRB5_GSSAPI_INCLUDE_DIR=$withval fi ],[ KRB5_GSSAPI_INCLUDE_DIR=/usr/include/gssapi ]) AC_SUBST(KRB5_GSSAPI_INCLUDE_DIR) nokrb=0 CPPFLAGS="${CPPFLAGS} -I${KRB5_GSSAPI_INCLUDE_DIR}" AC_CHECK_HEADERS([gssapi_krb5.h],[],[nokrb=1]) AC_CHECK_HEADERS([gssapi_generic.h],[],[nokrb=1]) if test "${nokrb}" != "0" ; then AC_MSG_RESULT([Disabling KRB plugins as header files not found.]) else AC_CHECK_LIB(gssapi_krb5,gss_import_name, [ KRB_LIBS="-lgssapi_krb5 ${KRB_LIBS}" ],[ nokrb=1 ]) fi AC_SUBST(KRB_LIBS) nocunit=0 AC_CHECK_HEADERS([CUnit/Basic.h],[],[nocunit=1]) AC_CHECK_LIB(cunit,CU_initialize_registry, [ CUNIT_LIBS="-lcunit" ],[ nocunit=1 ]) AC_SUBST(CUNIT_LIBS) CPPFLAGS=${_cppflags} LDFLAGS=${_ldflags} export LD_LIBRARY_PATH=${_ldlibpath} dnl ==================== dnl Check and set Prefix dnl ==================== if test "${prefix}" = NONE ; then dcap_prefix=/usr/local else dcap_prefix=${prefix} fi dnl ============= dnl Check RPM dir dnl ============= if test X = "X${RPMD}" ; then RPMD=`pwd` fi AC_MSG_CHECKING([for directory where to create rpms]) AC_ARG_WITH(rpm-dir,[ --with-rpm-dir= Default is \$RPMD/], rpm_dir="$withval", rpm_dir="$RPMD") if test -d "$rpm_dir" ; then AC_MSG_RESULT([found $rpm_dir]) RPM_DIR=$rpm_dir else AC_MSG_RESULT([no such directory $rpm_dir]) AC_MSG_RESULT([the directory $rpm_dir will be created for you if possible]) RPM_DIR=$rpm_dir fi AC_SUBST(RPM_DIR) dnl ============= dnl Check Doc dir dnl ============= dnl Note: as of autoconf 2.6 this is included by default if test X = "X${DOCD}" ; then DOCD=${dcap_prefix}/share/doc/${PACKAGE}-${VERSION} fi AC_MSG_CHECKING([for directory where to install docs]) AC_ARG_WITH(doc-dir,[ --with-doc-dir= Default is \$DOCD/], doc_dir="$withval", doc_dir="$DOCD") if test -d "$doc_dir" ; then AC_MSG_RESULT([found $doc_dir]) DOC_DIR=$doc_dir else AC_MSG_RESULT([no such directory $doc_dir]) AC_MSG_RESULT([the directory $doc_dir will be created for you if possible]) DOC_DIR=$doc_dir fi AC_SUBST(DOC_DIR) AC_SUBST(ac_aux_dir) dnl Some debugging dcap #defines AC_DEFINE_UNQUOTED(DC_NO_OUTPUT,0,[dcap debug level for no output]) AC_DEFINE_UNQUOTED(DC_ERROR,1,[dcap debug level for error]) AC_DEFINE_UNQUOTED(DC_INFO,2,[dcap debug level for info]) AC_DEFINE_UNQUOTED(DC_TIME,4,[dcap debug level to include time stamps]) AC_DEFINE_UNQUOTED(DC_TRACE,8,[dcap debug level to include stacks]) AC_DEFINE_UNQUOTED(DC_CALLS,16,[dcap debug level to include calls]) AC_DEFINE_UNQUOTED(DC_IO,32,[dcap debug level to include IO logging]) AC_DEFINE_UNQUOTED(DC_THREADS,64,[dcap debug level to include thread tracing]) dnl Set default preload options OPEN_SYM="open" CLOSE_SYM="close" READ_SYM="read" WRITE_SYM="write" LSEEK_SYM="lseek" LSEEK64_SYM="lseek64" PREAD_SYM="pread" PREAD64_SYM="pread64" PWRITE_SYM="pwrite" PWRITE64_SYM="pwrite64" STAT_SYM="stat" STAT64_SYM="stat64" FSTAT64_SYM="fstat64" LSTAT_SYM="lstat" LSTAT64_SYM="lstat64" FSTAT_SYM="fstat" FSYNC_SYM="fsync" DUP_SYM="dup" OPENDIR_SYM="opendir" CLOSEDIR_SYM="closedir" READDIR_SYM="readdir" READDIR64_SYM="readdir64" TELLDIR_SYM="telldir" SEEKDIR_SYM="seekdir" UNLINK_SYM="unlink" RMDIR_SYM="rmdir" MKDIR_SYM="mkdir" CHMOD_SYM="chmod" ACCESS_SYM="access" RENAME_SYM="rename" CHOWN_SYM="chown" WRITEV_SYM="writev" READV_SYM="readv" ACL_SYM="acl" FACL_SYM="facl" dnl Override defaults By OS case "${host_os}" in linux-gnu) AC_MSG_RESULT([Setting the Linux preload methods]) STAT_SYM="__xstat" STAT64_SYM="__xstat64" FSTAT64_SYM="__fxstat64" LSTAT_SYM="__lxstat" LSTAT64_SYM="__lxstat64" FSTAT_SYM="__fxstat" ;; darwin*) AC_MSG_RESULT([Setting Darwin preload methods]) ;; sgi*) AC_MSG_RESULT([Setting SGI preload methods]) OPENDIR_SYM="_opendir" CLOSEDIR_SYM="_closedir" READDIR_SYM="_readdir" READDIR64_SYM="_readdir64" TELLDIR_SYM="_telldir" SEEKDIR_SYM="_seekdir" ;; solaris*) AC_MSG_RESULT([Setting SUN preload methods]) OPENDIR_SYM="_opendir" CLOSEDIR_SYM="_closedir" READDIR_SYM="_readdir" READDIR64_SYM="_readdir64" TELLDIR_SYM="_telldir" SEEKDIR_SYM="_seekdir" ;; *) AC_MSG_RESULT([Operating system not coded for explicitly so disabling preload]) CPPFLAGS="${CPPFLAGS} -DDCAP_NO_PREAD" ;; esac AC_DEFINE_UNQUOTED(OPEN_SYM,"$OPEN_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(CLOSE_SYM,"$CLOSE_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(READ_SYM,"$READ_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(WRITE_SYM,"$WRITE_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(LSEEK_SYM,"$LSEEK_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(LSEEK64_SYM,"$LSEEK64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(PREAD_SYM,"$PREAD_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(PREAD64_SYM,"$PREAD64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(PWRITE_SYM,"$PWRITE_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(PWRITE64_SYM,"$PWRITE64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(STAT_SYM,"$STAT_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(STAT64_SYM,"$STAT64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(FSTAT64_SYM,"$FSTAT64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(LSTAT_SYM,"$LSTAT_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(LSTAT64_SYM,"$LSTAT64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(FSTAT_SYM,"$FSTAT_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(FSYNC_SYM,"$FSYNC_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(DUP_SYM,"$DUP_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(OPENDIR_SYM,"$OPENDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(CLOSEDIR_SYM,"$CLOSEDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(READDIR_SYM,"$READDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(READDIR64_SYM,"$READDIR64_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(TELLDIR_SYM,"$TELLDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(SEEKDIR_SYM,"$SEEKDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(UNLINK_SYM,"$UNLINK_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(RMDIR_SYM,"$RMDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(MKDIR_SYM,"$MKDIR_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(CHMOD_SYM,"$CHMOD_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(ACCESS_SYM,"$ACCESS_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(RENAME_SYM,"$RENAME_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(CHOWN_SYM,"$CHOWN_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(WRITEV_SYM,"$WRITEV_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(READV_SYM,"$READV_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(ACL_SYM,"$ACL_SYM",[native function for native or local file system access.]) AC_DEFINE_UNQUOTED(FACL_SYM,"$FACL_SYM",[native function for native or local file system access.]) dnl We dont test for the dependencies for the telnet plugin dnl as there appear to be no major ones. notelnet="0" dnl Do the conditional compilation flags in rest of autotools. AM_CONDITIONAL([WANT_LIBGSITUNNEL], [test "${want_globus}" = "yes"]) AM_CONDITIONAL([WANT_LIBGSSTUNNEL], [test "${nokrb}" = "0"]) AM_CONDITIONAL([WANT_LIBTELNETTUNNEL], [test "${notelnet}" = "0"]) AM_CONDITIONAL([WANT_LIBSSLTUNNEL], [test "${nossl}" = "0"]) AM_CONDITIONAL([PKG_DEP_VDT], [test "${PKGDEPVDT}" = "1"]) AM_CONDITIONAL([PKG_DEP_EPEL], [test "${PKGDEPEPEL}" = "1"]) AC_SUBST(GSSAPI_TARGETS) dnl Passing configure variables to spec file for rpm to build. AC_SUBST(GLOBUS_INCLUDE_DIR) AC_SUBST(GLOBUS_LIB_DIR) TUNNELLIBDIR="$libdir" AC_ARG_WITH(tunneldir, [ --with-tunneldir[[=DIR]] where to install dcap plugins],[ if test "X${withval}" != "X" ; then TUNNELLIBDIR="$withval" fi ]) save_prefix="$prefix" save_exec_prefix="$exec_prefix" if test "X$prefix" = "XNONE" ; then prefix="$ac_default_prefix" fi if test "X$exec_prefix" = "XNONE" ; then exec_prefix="$prefix" fi eval tunnellibdir="$TUNNELLIBDIR" eval tunnellibdir="$tunnellibdir" prefix="$save_prefix" exec_prefix="$save_exec_prefix" AC_DEFINE_UNQUOTED(TUNNELLIBDIR, "$tunnellibdir", [where to install dcap plugins]) AC_SUBST(TUNNELLIBDIR) AC_OUTPUT(Makefile \ src/Makefile \ plugins/Makefile \ plugins/gssapi/Makefile \ plugins/ssl/Makefile \ plugins/telnet/Makefile \ tests/Makefile \ dcap.spec ) dcap-2.47.14/dcap.spec.in000066400000000000000000000132141436643443400150040ustar00rootroot00000000000000%define krb 0 %define vdt 0 %define epel 0 %define ssl 0 %{?_with_krb:%define krb 1} %{?_with_vdt:%define vdt 1} %{?_with_epel:%define epel 1} %{?_with_ssl:%define ssl 1} %if %vdt || %epel %define gsi 1 %else %define gsi 0 %endif Summary: dCache Client Vendor: dcache.org Name: @PACKAGE@ Version: @VERSION@ Release: @VER_PATCH@ Prefix: /opt/d-cache/dcap #BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-root Source: @PACKAGE@-@VERSION@.tar.gz License: LGPL Group: Applications/System BuildRequires: zlib-devel %description dCache is a distributed mass storage system. This package contains the client components. %package tests Summary: dCache Client libraries Tests Group: Applications/System %description tests dCache is a distributed mass storage system. %package -n libdcap Summary: dCache Client libraries Group: Applications/System %description -n libdcap dCache is a distributed mass storage system. This package contains the client libraries dcachedcap. %package -n libdcap-devel Summary: dCache Client Headers Group: Applications/System Requires: libdcap %description -n libdcap-devel This package contains the client library dcachedcap header files. %if %gsi %package -n libdcap-tunnel-gsi Summary: dCache GSI Tunnel Group: Applications/System Requires: libdcap BuildRequires: openssl-devel %if %vdt BuildRequires: vdt_globus_essentials %endif %if %epel BuildRequires: globus-gssapi-gsi-devel %endif %description -n libdcap-tunnel-gsi This package contains the gsi tunnel plugin library used by dcachedcap. This library is dynamically loaded at run time. %endif %if %krb %package -n libdcap-tunnel-krb Summary: dCache Kerberos Tunnel Group: Applications/System Requires: libdcap BuildRequires: krb5-devel %description -n libdcap-tunnel-krb This package contains the kerberos tunnel plugin library used by dcachedcap. This library is dynamically loaded at run time. %endif %package -n libdcap-tunnel-telnet Summary: dCache Telnet Tunnel Group: Applications/System Requires: libdcap %description -n libdcap-tunnel-telnet This package contains the telnet tunnel plugin library used by dcachedcap. This library is dynamically loaded at run time. %if %ssl %package -n libdcap-tunnel-ssl Summary: dCache SSL Tunnel Group: Applications/System Requires: libdcap BuildRequires: openssl-devel %description -n libdcap-tunnel-ssl This package contains the ssl tunnel plugin library used by dcachedcap. This library is dynamically loaded at run time. %endif %prep %setup -q -n @PACKAGE@-@VERSION@ %build libdir=%{prefix}/lib bindir=%{prefix}/bin %ifos Linux %ifarch x86_64 libdir=%{prefix}/lib64 %endif %endif CPPFLAGS="@CPPFLAGS@" LDFLAGS="@LDFLAGS@" ./configure \ --bindir=/${bindir} \ --libdir=/${libdir} \ --with-doc-dir=%{prefix}/share/doc/@PACKAGE@-@VERSION@ \ --includedir=%{prefix}/include/ \ --with-krb5-gssapi-include=@KRB5_GSSAPI_INCLUDE_DIR@ \ --with-globus-include=@GLOBUS_INCLUDE_DIR@ \ --with-globus-lib=@GLOBUS_LIB_DIR@ make %install if [ -d $RPM_BUILD_ROOT ]; then rm -rf $RPM_BUILD_ROOT; fi make install DESTDIR=$RPM_BUILD_ROOT echo --libdir=/${libdir} %clean rm -rf $RPM_BUILD_ROOT %pre #%post %preun #%postun %files %defattr(-,root,root) %attr(0755,root,root) %{prefix}/bin/dccp %{prefix}/share/doc/@PACKAGE@-@VERSION@/AUTHORS %{prefix}/share/doc/@PACKAGE@-@VERSION@/ChangeLog %{prefix}/share/doc/@PACKAGE@-@VERSION@/COPYING %{prefix}/share/doc/@PACKAGE@-@VERSION@/INSTALL %{prefix}/share/doc/@PACKAGE@-@VERSION@/LICENSE %{prefix}/share/doc/@PACKAGE@-@VERSION@/README %files tests %defattr(0755,root,root) %{prefix}/bin/dcap_test %{prefix}/bin/dcsuck %{prefix}/bin/readv_test %{prefix}/bin/wdccp %{prefix}/bin/dcap_url-test %files -n libdcap %defattr(-,root,root) %ifarch x86_64 %{prefix}/lib64/libdcap.so* %{prefix}/lib64/libpdcap.so* %else %{prefix}/lib/libdcap.so* %{prefix}/lib/libpdcap.so* %endif %files -n libdcap-devel %defattr(-,root,root) %{prefix}/include/dc_hack.h %{prefix}/include/dcap.h %{prefix}/include/dcap_errno.h %{prefix}/share/doc/@PACKAGE@-@VERSION@/examples/dccp.c %ifarch x86_64 %{prefix}/lib64/libdcap.a %{prefix}/lib64/libdcap.la %{prefix}/lib64/libpdcap.a %{prefix}/lib64/libpdcap.la %else %{prefix}/lib/libdcap.a %{prefix}/lib/libdcap.la %{prefix}/lib/libpdcap.a %{prefix}/lib/libpdcap.la %endif %if %gsi %files -n libdcap-tunnel-gsi %defattr(-,root,root) %ifarch x86_64 %{prefix}/lib64/libgsiTunnel.a %{prefix}/lib64/libgsiTunnel.la %{prefix}/lib64/libgsiTunnel.so* %else %{prefix}/lib/libgsiTunnel.a %{prefix}/lib/libgsiTunnel.la %{prefix}/lib/libgsiTunnel.so* %endif %endif %if %krb %files -n libdcap-tunnel-krb %defattr(-,root,root) %ifarch x86_64 %{prefix}/lib64/libgssTunnel.a %{prefix}/lib64/libgssTunnel.la %{prefix}/lib64/libgssTunnel.so* %else %{prefix}/lib/libgssTunnel.a %{prefix}/lib/libgssTunnel.la %{prefix}/lib/libgssTunnel.so* %endif %endif %files -n libdcap-tunnel-telnet %defattr(-,root,root) %ifarch x86_64 %{prefix}/lib64/libtelnetTunnel.a %{prefix}/lib64/libtelnetTunnel.la %{prefix}/lib64/libtelnetTunnel.so* %else %{prefix}/lib/libtelnetTunnel.a %{prefix}/lib/libtelnetTunnel.la %{prefix}/lib/libtelnetTunnel.so* %endif %if %ssl %files -n libdcap-tunnel-ssl %defattr(-,root,root) %ifarch x86_64 %{prefix}/lib64/libsslTunnel.a %{prefix}/lib64/libsslTunnel.la %{prefix}/lib64/libsslTunnel.so* %else %{prefix}/lib/libsslTunnel.a %{prefix}/lib/libsslTunnel.la %{prefix}/lib/libsslTunnel.so* %endif %endif %changelog * Wed Dec 22 2010 - tigran.mkrtchyan (at) desy.de - Fixed files ownership * Thu Nov 19 2009 - owen.synge (at) desy.de - Repackaged with auto tools * Fri Sep 26 2009 - owen.synge (at) desy.de - Added cleaned up packaging. * Wed Sep 24 2009 - owen.synge (at) desy.de - Released first version of this packaging. dcap-2.47.14/man/000077500000000000000000000000001436643443400133665ustar00rootroot00000000000000dcap-2.47.14/man/dccp.1000066400000000000000000000072371436643443400143720ustar00rootroot00000000000000.TH dccp 1 "22 February 2011" "version 2.47.6" .SH Name dccp \- Copy a file from or to a dCache server. .SH Synopsis dccp [option...] .SH Arguments The following arguments are required: .B sourceUrl .RS The URL of the source file. .RE .B destUrl .RS The URL of the destination file. .RE .SH Description The dccp utility provides a cp(1) like functionality on the dCache file system. The source must be a single file while the destination could be a directory name or a file name. If the directory is a destination, a new file with the same name as the source name will be created there and the contents of the source will be copied. If the final destination file exists in dCache, it won’t be overwritten and an error code will be returned. Files in regular file systems will always be overwritten if the -i option is not specified. If the source and the final destination file are located on a regular file system, the dccp utility can be used similar to the cp(1) program. .SH Options The following arguments are optional: -a .RS Enable read-ahead functionality. .RE -b .RS Set read-ahead buffer size. The default value is 1048570 Bytes. To disable the buffer this can be set to any value below the default. dccp will attempt to allocate the buffer size so very large values should be used with care. .RE -B .RS Set buffer size. The size of the buffer is requested in each request, larger buffers will be needed to saturate higher bandwidth connections. The optimum value is network dependent. Too large a value will lead to excessive memory usage, too small a value will lead to excessive network communication. .RE -d .RS Set the debug level. is a integer between 0 and 127. If the value is 0 then no output is generated, otherwise the value is formed by adding together one or more of the following values: .RE .RS Value Enabled output 1 Error messages 2 Info messages 4 Timing information 8 Trace information 16 Show stack-trace 32 IO operations 32 IO operations 64 Thread information .RE -h .RS Bind the callback connection to the specific hostname interface. .RE -H .RS show progress during file transfer. .RE -i .RS Secure mode. Do not overwrite the existing files. .RE -l .RS Set location for pre-stage. if the location is not specified, the local host of the door will be used. This option must be used with the -P option. .RE -p : .RS Bind the callback data connection to the specified TCP port/rangeSet port range. Delimited by the ’:’ character, the is required but the is optional. .RE -P .RS Pre-stage. Do not copy the file to a local host but make sure the file is on disk on the dCache server. .RE -r .RS TCP receive buffer size. The default is 256K. Setting to 0 uses the system default value. Memory useage will increase with higher values, but performance better. .RE -s .RS TCP send buffer size. The default is 256K. Setting to 0 uses the system default value. .RE -t