From 850e5bce2491dec8dd4bb50ccae9edebcf8a1f7f Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan <ram@rkrishnan.org> Date: Sun, 17 Jul 2016 09:40:02 +0530 Subject: [PATCH] hspec tests for single/multi torrent, bencode etc --- COPYING | 676 ++++++++++++++++++++++++++++++++++ README.md | 5 + Setup.hs | 2 + data/test1.torrent | Bin 0 -> 26174 bytes data/test2.torrent | Bin 0 -> 44718 bytes data/test3.torrent | Bin 0 -> 45617 bytes data/test4.torrent | Bin 0 -> 32209 bytes functorrent.cabal | 55 +++ src/FuncTorrent/Bencode.hs | 97 +++++ src/FuncTorrent/Filesystem.hs | 30 ++ src/FuncTorrent/Metainfo.hs | 145 ++++++++ src/main/Main.hs | 8 + stack.yaml | 66 ++++ test/BencodeSpec.hs | 53 +++ test/MetainfoSpec.hs | 46 +++ test/Spec.hs | 1 + 16 files changed, 1184 insertions(+) create mode 100644 COPYING create mode 100644 README.md create mode 100644 Setup.hs create mode 100644 data/test1.torrent create mode 100644 data/test2.torrent create mode 100644 data/test3.torrent create mode 100644 data/test4.torrent create mode 100644 functorrent.cabal create mode 100644 src/FuncTorrent/Bencode.hs create mode 100644 src/FuncTorrent/Filesystem.hs create mode 100644 src/FuncTorrent/Metainfo.hs create mode 100644 src/main/Main.hs create mode 100644 stack.yaml create mode 100644 test/BencodeSpec.hs create mode 100644 test/MetainfoSpec.hs create mode 100644 test/Spec.hs diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..b018460 --- /dev/null +++ b/COPYING @@ -0,0 +1,676 @@ +Copyright Ramakrishnan Muthukrishnan (c) 2016 + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +<http://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +<http://www.gnu.org/philosophy/why-not-lgpl.html>. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1396289 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# functorrent + +[![Build Status](https://travis-ci.org/vu3rdd/functorrent.png)](https://travis-ci.org/vu3rdd/functorrent) + +TODO Description. diff --git a/Setup.hs b/Setup.hs new file mode 100644 index 0000000..9a994af --- /dev/null +++ b/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/data/test1.torrent b/data/test1.torrent new file mode 100644 index 0000000000000000000000000000000000000000..7a3c0a0f10dac306211efbaa7978bb6face73fff GIT binary patch literal 26174 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 awobdI;GHNt*3t66O;ZNN@Dm0}F=b``h|Zk= literal 0 HcmV?d00001 diff --git a/data/test2.torrent b/data/test2.torrent new file mode 100644 index 0000000000000000000000000000000000000000..d38a2f6dfa85605d13adb856860385830bc11f3e GIT binary patch literal 44718 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 EWvTO&ZvX%Q literal 0 HcmV?d00001 diff --git a/data/test3.torrent b/data/test3.torrent new file mode 100644 index 0000000000000000000000000000000000000000..7e453ce986c6730e4fb769e52a2abbcd49341c85 GIT binary patch literal 45617 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 Up6ZMdEkMl#t9p%f#Q9-mWi)#T(EtDd literal 0 HcmV?d00001 diff --git a/data/test4.torrent b/data/test4.torrent new file mode 100644 index 0000000000000000000000000000000000000000..547b223f684670b48d7be8d32cc5a67f3a029cde GIT binary patch literal 32209 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 literal 0 HcmV?d00001 diff --git a/functorrent.cabal b/functorrent.cabal new file mode 100644 index 0000000..63ce6d2 --- /dev/null +++ b/functorrent.cabal @@ -0,0 +1,55 @@ +name: functorrent +version: 0.1.0.0 +synopsis: A BitTorrent client +description: Please see README +homepage: https://github.com/vu3rdd/functorrent +license: GPL-3 +license-file: COPYING +author: Ramakrishnan Muthukrishnan +maintainer: ram@rkrishnan.org +copyright: Copyright: (c) 2016 Ramakrishnan Muthukrishnan +category: Network +build-type: Simple +extra-source-files: README +cabal-version: >=1.10 +tested-with: GHC == 7.10.2 + +library + default-language: Haskell2010 + ghc-options: -Wall + hs-source-dirs: src + exposed-modules: FuncTorrent.Bencode + , FuncTorrent.Metainfo + build-depends: base >= 4.7 && < 5 + , bytestring + , containers + , cryptohash + , parsec + +executable functorrent + default-language: Haskell2010 + ghc-options: -threaded -rtsopts -with-rtsopts=-N + hs-source-dirs: src/main + main-is: Main.hs + build-depends: base + , functorrent + +test-suite spec + default-language: Haskell2010 + ghc-options: -Wall + type: exitcode-stdio-1.0 + other-modules: BencodeSpec + , MetainfoSpec + hs-source-dirs: test + main-is: Spec.hs + build-depends: base + , functorrent + , hspec + , bytestring + , containers + , QuickCheck + + +source-repository head + type: git + location: https://github.com/vu3rdd/functorrent diff --git a/src/FuncTorrent/Bencode.hs b/src/FuncTorrent/Bencode.hs new file mode 100644 index 0000000..294ad89 --- /dev/null +++ b/src/FuncTorrent/Bencode.hs @@ -0,0 +1,97 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org> + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see <http://www.gnu.org/licenses/> + -} + +{-# LANGUAGE OverloadedStrings #-} +module FuncTorrent.Bencode + (BVal(..) + , bValToInteger + , bstrToString + , decode + , encode + ) where + +import Prelude hiding (length, concat) + +import Data.ByteString (ByteString, length, concat) +import Data.ByteString.Char8 (unpack, pack) +import Data.Map.Strict (Map, fromList, toList) +import Text.ParserCombinators.Parsec +import qualified Text.Parsec.ByteString as ParsecBS + +data BVal = Bint Integer + | Bstr ByteString + | Blist [BVal] + | Bdict (Map String BVal) + deriving (Ord, Eq, Show) + +-- getters +bValToInteger :: BVal -> Maybe Integer +bValToInteger (Bint x) = Just x +bValToInteger _ = Nothing + +bstrToString :: BVal -> Maybe String +bstrToString bval = unpack <$> bValToBytestr bval + where bValToBytestr :: BVal -> Maybe ByteString + bValToBytestr (Bstr bs) = Just bs + bValToBytestr _ = Nothing + +bencStr :: ParsecBS.Parser ByteString +bencStr = do ds <- many1 digit <* char ':' + s <- count (read ds) anyChar + return (pack s) + +bencInt :: ParsecBS.Parser Integer +bencInt = do ds <- between (char 'i') (char 'e') numbers + return (read ds) + where numbers = do d' <- char '-' <|> digit + ds' <- many digit + parseNumber d' ds' + parseNumber '0' [] = return "0" + parseNumber '0' _ = unexpected "numbers cannot be left-padded with zeros" + parseNumber '-' [] = unexpected "sign without any digits" + parseNumber '-' (d'':_) | d'' == '0' = unexpected "numbers cannot be left-padded with zeros" + parseNumber d'' ds'' = return (d'':ds'') + +bencList :: ParsecBS.Parser [BVal] +bencList = between (char 'l') (char 'e') (many bencVal) + +bencDict :: ParsecBS.Parser (Map String BVal) +bencDict = between (char 'd') (char 'e') $ fromList <$> many kvpair + where kvpair = do k <- bencStr + v <- bencVal + return (unpack k, v) + +bencVal :: ParsecBS.Parser BVal +bencVal = Bstr <$> bencStr <|> + Bint <$> bencInt <|> + Blist <$> bencList <|> + Bdict <$> bencDict + +decode :: ByteString -> Either ParseError BVal +decode = parse bencVal "BVal" + +encode :: BVal -> ByteString +encode (Bstr bs) = pack $ show (length bs) ++ ":" ++ unpack bs +encode (Bint i) = pack $ "i" ++ show i ++ "e" +encode (Blist xs) = concat ["l", concat $ map encode xs, "e"] +encode (Bdict d) = concat ["d", concat kvlist, "e"] + where + kvlist :: [ByteString] + kvlist = [encPair kv | kv <- toList d] + encPair (k, v) = concat [encode . Bstr . pack $ k, encode v] diff --git a/src/FuncTorrent/Filesystem.hs b/src/FuncTorrent/Filesystem.hs new file mode 100644 index 0000000..66468c4 --- /dev/null +++ b/src/FuncTorrent/Filesystem.hs @@ -0,0 +1,30 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org> + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see <http://www.gnu.org/licenses/> + -} + +module FuncTorrent.Filesystem + (new + , FilesystemState + , getBlock + , putBlock + , getStats + ) where + +data Filesystem = Filesystem { pieces :: [Piece] + , stats :: Stats + diff --git a/src/FuncTorrent/Metainfo.hs b/src/FuncTorrent/Metainfo.hs new file mode 100644 index 0000000..596ad68 --- /dev/null +++ b/src/FuncTorrent/Metainfo.hs @@ -0,0 +1,145 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org> + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see <http://www.gnu.org/licenses/> + -} + +{-# LANGUAGE DuplicateRecordFields #-} + +module FuncTorrent.Metainfo + (Info(..) + , Metainfo(..) + , DynamicInfo(..) + , torrentToMetainfo + ) where + +import Prelude hiding (lookup) +import Data.ByteString.Char8 (ByteString, unpack) +import Data.Map as M ((!), lookup) +import Crypto.Hash.SHA1 (hash) +import Data.Maybe (maybeToList) + +import FuncTorrent.Bencode (BVal(..), encode, decode, bstrToString, bValToInteger) + +-- only single file mode supported for the time being. +data Info = Info { pieceLength :: !Integer + , pieces :: !ByteString + , private :: !(Maybe Integer) + , dyninfo :: !DynamicInfo + } deriving (Eq, Show) + +data DynamicInfo = SingleFileInfo { name :: String + , lengthInBytes :: Integer + , md5sum :: Maybe String + } + | MultiFileInfo { dname :: String + , files :: [FileInfo] + } + deriving (Eq, Show) + +data FileInfo = FileInfo { lengthInBytes :: Integer + , md5sum :: Maybe String + , path :: String + } deriving (Eq, Show) + +data Metainfo = Metainfo { info :: !Info + , announceList :: ![String] + , creationDate :: !(Maybe Integer) + , comment :: !(Maybe String) + , createdBy :: !(Maybe String) + , encoding :: !(Maybe String) + , infoHash :: !ByteString + } deriving (Eq, Show) + +mkInfo :: BVal -> Maybe Info +mkInfo (Bdict m) = let (Bint pieceLength') = m ! "piece length" + (Bstr pieces') = m ! "pieces" + private' = Nothing + bdictfiles = lookup "files" m + in + case bdictfiles of + Just fs -> let (Blist files') = fs + (Bstr name') = m ! "name" + in + Just Info { pieceLength = pieceLength' + , pieces = pieces' + , private = private' + , dyninfo = MultiFileInfo { + dname = unpack name', + files = + map (\(Bdict f) -> + let (Just len') = bValToInteger (f ! "length") + (Bstr s') = f ! "path" + in + FileInfo { lengthInBytes = len', + md5sum = Nothing, + path = unpack s' + }) + files' } + } + Nothing -> let (Bstr name') = m ! "name" + (Bint length') = m ! "length" + md5sum' = Nothing + in + Just Info { pieceLength = pieceLength' + , pieces = pieces' + , private = private' + , dyninfo = SingleFileInfo { + name = unpack name', + lengthInBytes = length', + md5sum = md5sum'} + } + +mkInfo _ = Nothing + +mkMetaInfo :: BVal -> Either String Metainfo +mkMetaInfo (Bdict m) = + let (Just info') = mkInfo $ m ! "info" + announce' = lookup "announce" m + announceList' = lookup "announce-list" m + creationDate' = lookup "creation date" m + comment' = lookup "comment" m + createdBy' = lookup "created by" m + encoding' = lookup "encoding" m + in Right Metainfo { + info = info' + , announceList = maybeToList (announce' >>= bstrToString) + ++ getAnnounceList announceList' + , creationDate = bValToInteger =<< creationDate' + , comment = bstrToString =<< comment' + , createdBy = bstrToString =<< createdBy' + , encoding = bstrToString =<< encoding' + , infoHash = hash . encode $ (m ! "info") + } +mkMetaInfo _ = Left "mkMetaInfo: expect an input dict" + +getAnnounceList :: Maybe BVal -> [String] +getAnnounceList Nothing = [] +getAnnounceList (Just (Bint _)) = [] +getAnnounceList (Just (Bstr _)) = [] +getAnnounceList (Just (Blist l)) = map (\s -> case s of + (Bstr s') -> unpack s' + (Blist s') -> case s' of + [Bstr s''] -> unpack s'' + _ -> "" + _ -> "") l +getAnnounceList (Just (Bdict _)) = [] + +torrentToMetainfo :: ByteString -> Either String Metainfo +torrentToMetainfo s = + case decode s of + Right d -> mkMetaInfo d + Left e -> Left $ show e diff --git a/src/main/Main.hs b/src/main/Main.hs new file mode 100644 index 0000000..1f79023 --- /dev/null +++ b/src/main/Main.hs @@ -0,0 +1,8 @@ +module Main where + +import FuncTorrent.Bencode + +import Text.Printf (printf) + +main :: IO () +main = printf "hello world" diff --git a/stack.yaml b/stack.yaml new file mode 100644 index 0000000..3bd7fc6 --- /dev/null +++ b/stack.yaml @@ -0,0 +1,66 @@ +# This file was automatically generated by 'stack init' +# +# Some commonly used options have been documented as comments in this file. +# For advanced use and comprehensive documentation of the format, please see: +# http://docs.haskellstack.org/en/stable/yaml_configuration/ + +# Resolver to choose a 'specific' stackage snapshot or a compiler version. +# A snapshot resolver dictates the compiler version and the set of packages +# to be used for project dependencies. For example: +# +# resolver: lts-3.5 +# resolver: nightly-2015-09-21 +# resolver: ghc-7.10.2 +# resolver: ghcjs-0.1.0_ghc-7.10.2 +# resolver: +# name: custom-snapshot +# location: "./custom-snapshot.yaml" +resolver: nightly-2016-07-10 + +# User packages to be built. +# Various formats can be used as shown in the example below. +# +# packages: +# - some-directory +# - https://example.com/foo/bar/baz-0.0.2.tar.gz +# - location: +# git: https://github.com/commercialhaskell/stack.git +# commit: e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# - location: https://github.com/commercialhaskell/stack/commit/e7b331f14bcffb8367cd58fbfc8b40ec7642100a +# extra-dep: true +# subdirs: +# - auto-update +# - wai +# +# A package marked 'extra-dep: true' will only be built if demanded by a +# non-dependency (i.e. a user package), and its test suites and benchmarks +# will not be run. This is useful for tweaking upstream packages. +packages: +- '.' +# Dependency packages to be pulled from upstream that are not in the resolver +# (e.g., acme-missiles-0.3) +extra-deps: [] + +# Override default flag values for local packages and extra-deps +flags: {} + +# Extra package databases containing global packages +extra-package-dbs: [] + +# Control whether we use the GHC we find on the path +# system-ghc: true +# +# Require a specific version of stack, using version ranges +# require-stack-version: -any # Default +# require-stack-version: ">=1.1" +# +# Override the architecture used by stack, especially useful on Windows +# arch: i386 +# arch: x86_64 +# +# Extra directories used by stack for building +# extra-include-dirs: [/path/to/dir] +# extra-lib-dirs: [/path/to/dir] +# +# Allow a newer minor version of GHC than the snapshot specifies +# compiler-check: newer-minor \ No newline at end of file diff --git a/test/BencodeSpec.hs b/test/BencodeSpec.hs new file mode 100644 index 0000000..d6d2cb5 --- /dev/null +++ b/test/BencodeSpec.hs @@ -0,0 +1,53 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org> + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see <http://www.gnu.org/licenses/> + -} + +{-# LANGUAGE OverloadedStrings #-} + +module BencodeSpec where + +import Test.Hspec + +import Data.Map.Strict (fromList) +import FuncTorrent.Bencode (encode, decode, BVal(..)) + +spec :: Spec +spec = + describe "Bencode" $ do + it "encode-strings" $ do + encode (Bstr "") `shouldBe` "0:" + encode (Bstr "spam") `shouldBe` "4:spam" + it "encode-ints" $ do + encode (Bint 0) `shouldBe` "i0e" + encode (Bint 42) `shouldBe` "i42e" + it "encode-lists" $ do + encode (Blist [(Bstr "spam"), (Bstr "eggs")]) `shouldBe` "l4:spam4:eggse" + encode (Blist []) `shouldBe` "le" + it "encode-dict" $ do + encode (Bdict (fromList [("spam", Bstr "eggs")])) `shouldBe` "d4:spam4:eggse" + it "decode-string" $ do + decode "4:spam" `shouldBe` Right (Bstr "spam") + decode "0:" `shouldBe` Right (Bstr "") + it "decode-ints" $ do + decode "i0e" `shouldBe` Right (Bint 0) + decode "i32e" `shouldBe` Right (Bint 32) + it "decode-lists" $ do + decode "l4:spam4:eggse" `shouldBe` Right (Blist [(Bstr "spam"), (Bstr "eggs")]) + decode "le" `shouldBe` Right (Blist []) + it "decode-dicts" $ do + decode "d4:spam4:eggse" `shouldBe` Right (Bdict (fromList [("spam", Bstr "eggs")])) diff --git a/test/MetainfoSpec.hs b/test/MetainfoSpec.hs new file mode 100644 index 0000000..93bf9ab --- /dev/null +++ b/test/MetainfoSpec.hs @@ -0,0 +1,46 @@ +{- + - Copyright (C) 2015-2016 Ramakrishnan Muthukrishnan <ram@rkrishnan.org> + - + - This file is part of FuncTorrent. + - + - FuncTorrent is free software; you can redistribute it and/or modify + - it under the terms of the GNU General Public License as published by + - the Free Software Foundation; either version 3 of the License, or + - (at your option) any later version. + - + - FuncTorrent is distributed in the hope that it will be useful, + - but WITHOUT ANY WARRANTY; without even the implied warranty of + - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + - GNU General Public License for more details. + - + - You should have received a copy of the GNU General Public License + - along with FuncTorrent; if not, see <http://www.gnu.org/licenses/> + -} + +{-# LANGUAGE OverloadedStrings #-} + +module MetainfoSpec where + +import Test.Hspec + +import FuncTorrent.Metainfo (Info(..), Metainfo(..), DynamicInfo(..), torrentToMetainfo) +import qualified Data.ByteString.Lazy.Char8 as BC (readFile, toStrict) +import qualified Data.ByteString as B + +spec :: Spec +spec = + describe "Bencode" $ do + it "torrent-file-1" $ do + c <- BC.readFile "data/test1.torrent" + let (Right m) = torrentToMetainfo (BC.toStrict c) + length (announceList m) `shouldBe` 1 + pieceLength (info m) `shouldBe` 524288 + pieces (info m) `shouldSatisfy` (\p -> B.length p `mod` 20 == 0) + let (SingleFileInfo name' _ _) = dyninfo $ info m + name' `shouldNotBe` "" + it "torrent-file-4" $ do + c <- BC.readFile "data/test4.torrent" + let (Right m) = torrentToMetainfo (BC.toStrict c) + length (announceList m) `shouldBe` 3 + let (MultiFileInfo _ files') = dyninfo $ info m + length files' `shouldNotBe` 1 diff --git a/test/Spec.hs b/test/Spec.hs new file mode 100644 index 0000000..a824f8c --- /dev/null +++ b/test/Spec.hs @@ -0,0 +1 @@ +{-# OPTIONS_GHC -F -pgmF hspec-discover #-} -- 2.45.2