From 4795f95416edecb7f270103798b6370d1c1bed5c Mon Sep 17 00:00:00 2001 From: igor Date: Fri, 27 Dec 2024 15:30:07 -0800 Subject: [PATCH] Initial commit. --- .gitignore | 4 + COPYING | 674 ++++++ LICENSE | 1 + Makefile | 35 + README.md | 10 + background.png | Bin 0 -> 23791 bytes src/AboutViewController.swift | 374 +++ src/AppDelegate.swift | 92 + src/CBMenuBarItem.swift | 217 ++ src/CircularProgressView.swift | 81 + src/CmdBar.entitlements | 5 + src/CmdManager.swift | 175 ++ src/CmdViewController.swift | 452 ++++ src/CopyableTextView.swift | 17 + src/EditableNSTextField.swift | 32 + src/EventMonitor.swift | 55 + src/Helpers.swift | 178 ++ src/Info.plist | 44 + src/LicenseManager.swift | 129 ++ src/Makefile | 103 + src/MenulessWindow.swift | 31 + src/PopoverPanel.swift | 37 + src/QuietView.swift | 12 + src/UpdateManager.swift | 143 ++ src/UpdateViewController.swift | 302 +++ src/libs/Zip/CHANGELOG.md | 41 + src/libs/Zip/LICENSE | 22 + src/libs/Zip/README.md | 78 + src/libs/Zip/Zip/Makefile | 33 + src/libs/Zip/Zip/QuickZip.swift | 125 + src/libs/Zip/Zip/Zip.h | 19 + src/libs/Zip/Zip/Zip.swift | 541 +++++ src/libs/Zip/Zip/ZipUtilities.swift | 108 + src/libs/Zip/Zip/minizip/Makefile | 27 + src/libs/Zip/Zip/minizip/include/Minizip.h | 16 + src/libs/Zip/Zip/minizip/include/crypt.h | 131 ++ src/libs/Zip/Zip/minizip/include/ioapi.h | 178 ++ src/libs/Zip/Zip/minizip/include/unzip.h | 319 +++ src/libs/Zip/Zip/minizip/include/zip.h | 198 ++ src/libs/Zip/Zip/minizip/ioapi.c | 369 +++ .../Zip/Zip/minizip/module/module.modulemap | 5 + src/libs/Zip/Zip/minizip/unzip.c | 1947 ++++++++++++++++ src/libs/Zip/Zip/minizip/zip.c | 2020 +++++++++++++++++ src/libs/Zip/Zip/zlib/module.modulemap | 0 src/main.swift | 7 + src/resources/AppIcon.icns | Bin 0 -> 568052 bytes src/resources/icon.iconset/icon_128x128.png | Bin 0 -> 11670 bytes .../icon.iconset/icon_128x128@2x.png | Bin 0 -> 32186 bytes src/resources/icon.iconset/icon_16x16.png | Bin 0 -> 746 bytes src/resources/icon.iconset/icon_16x16@2x.png | Bin 0 -> 1711 bytes src/resources/icon.iconset/icon_256x256.png | Bin 0 -> 31674 bytes .../icon.iconset/icon_256x256@2x.png | Bin 0 -> 95956 bytes src/resources/icon.iconset/icon_32x32.png | Bin 0 -> 1735 bytes src/resources/icon.iconset/icon_32x32@2x.png | Bin 0 -> 4147 bytes src/resources/icon.iconset/icon_512x512.png | Bin 0 -> 96340 bytes .../icon.iconset/icon_512x512@2x.png | Bin 0 -> 291392 bytes src/updater/Makefile | 29 + src/updater/main.swift | 33 + 58 files changed, 9449 insertions(+) create mode 100644 .gitignore create mode 100644 COPYING create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 background.png create mode 100644 src/AboutViewController.swift create mode 100644 src/AppDelegate.swift create mode 100644 src/CBMenuBarItem.swift create mode 100644 src/CircularProgressView.swift create mode 100644 src/CmdBar.entitlements create mode 100644 src/CmdManager.swift create mode 100644 src/CmdViewController.swift create mode 100644 src/CopyableTextView.swift create mode 100644 src/EditableNSTextField.swift create mode 100644 src/EventMonitor.swift create mode 100644 src/Helpers.swift create mode 100644 src/Info.plist create mode 100644 src/LicenseManager.swift create mode 100644 src/Makefile create mode 100644 src/MenulessWindow.swift create mode 100644 src/PopoverPanel.swift create mode 100644 src/QuietView.swift create mode 100644 src/UpdateManager.swift create mode 100644 src/UpdateViewController.swift create mode 100644 src/libs/Zip/CHANGELOG.md create mode 100644 src/libs/Zip/LICENSE create mode 100644 src/libs/Zip/README.md create mode 100644 src/libs/Zip/Zip/Makefile create mode 100644 src/libs/Zip/Zip/QuickZip.swift create mode 100644 src/libs/Zip/Zip/Zip.h create mode 100644 src/libs/Zip/Zip/Zip.swift create mode 100644 src/libs/Zip/Zip/ZipUtilities.swift create mode 100644 src/libs/Zip/Zip/minizip/Makefile create mode 100644 src/libs/Zip/Zip/minizip/include/Minizip.h create mode 100644 src/libs/Zip/Zip/minizip/include/crypt.h create mode 100644 src/libs/Zip/Zip/minizip/include/ioapi.h create mode 100644 src/libs/Zip/Zip/minizip/include/unzip.h create mode 100644 src/libs/Zip/Zip/minizip/include/zip.h create mode 100644 src/libs/Zip/Zip/minizip/ioapi.c create mode 100644 src/libs/Zip/Zip/minizip/module/module.modulemap create mode 100644 src/libs/Zip/Zip/minizip/unzip.c create mode 100755 src/libs/Zip/Zip/minizip/zip.c create mode 100644 src/libs/Zip/Zip/zlib/module.modulemap create mode 100644 src/main.swift create mode 100644 src/resources/AppIcon.icns create mode 100644 src/resources/icon.iconset/icon_128x128.png create mode 100644 src/resources/icon.iconset/icon_128x128@2x.png create mode 100644 src/resources/icon.iconset/icon_16x16.png create mode 100644 src/resources/icon.iconset/icon_16x16@2x.png create mode 100644 src/resources/icon.iconset/icon_256x256.png create mode 100644 src/resources/icon.iconset/icon_256x256@2x.png create mode 100644 src/resources/icon.iconset/icon_32x32.png create mode 100644 src/resources/icon.iconset/icon_32x32@2x.png create mode 100644 src/resources/icon.iconset/icon_512x512.png create mode 100644 src/resources/icon.iconset/icon_512x512@2x.png create mode 100644 src/updater/Makefile create mode 100644 src/updater/main.swift diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd4afb8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +.DS_Store +arm64 +x86_64 +build diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/COPYING @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..413cbc3 --- /dev/null +++ b/LICENSE @@ -0,0 +1 @@ +See 'COPYING' file. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..15376af --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +CmdBar.app: + $(MAKE) -C src FLAGS=-O CFLAGS=-O3 all + +container: + ditto -c -k --keepParent ./src/CmdBar.app ./build/CmdBar.zip + +notarize: + xcrun notarytool submit ./build/CmdBar.zip \ + --keychain-profile "notarytool-password" --wait + +staple: + cd build && \ + ditto -xk CmdBar.zip . && \ + rm CmdBar.zip && \ + xcrun stapler staple CmdBar.app + +zip: + cd build && \ + ditto -c -k --keepParent CmdBar.app CmdBar.zip + +dmg: + cp background.png build && cd build && \ + create-dmg --volname "CmdBar Installer" --window-size 600 400 \ + --background "background.png" --icon "CmdBar.app" 200 170 \ + --app-drop-link 400 170 --icon-size 100 "CmdBar.dmg" "CmdBar" + rm build/background.png + +all: CmdBar.app container notarize staple zip dmg + +clean: + rm -rf build + +clean-all: clean + mkdir build + @$(MAKE) -C src clean-all diff --git a/README.md b/README.md new file mode 100644 index 0000000..430714c --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# About CmdBar +CmdBar allows you to display an output of scripts (or executables) in the +MacOS's menu bar. Read more at [cmdbar.app](https://cmdbar.app/). + +# Documentation +You can read documentation at +[cmdbar.app/documentation](https://cmdbar.app/documentation). + +# Compiled Binary +Download CmdBar at [cmdbar.app/download](https://cmdbar.app/download). diff --git a/background.png b/background.png new file mode 100644 index 0000000000000000000000000000000000000000..9187776c7354df692c80da5c8d0ce268cd0396b4 GIT binary patch literal 23791 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 screen.visibleFrame.width { + targetRect.origin.x += statusItemView.frame.width + targetRect.origin.x -= panelWidth + targetRect.origin.x += Metrics.windowBorderSize + } else { + targetRect.origin.x -= Metrics.windowBorderSize + } + } else { + targetRect.origin.x -= Metrics.windowBorderSize + } + + if targetRect.origin.x < 0 { + targetRect.origin.x = 0 + } + + panel.setFrameTopLeftPoint(targetRect.origin) + } + + private func setButtonHighlighted(to highlight: Bool) { + self.statusItem.button!.highlight(highlight) + } + + func setImage(title: String?, description: String) { + if title != nil { + statusItem.button!.image = NSImage(systemSymbolName: title!, accessibilityDescription: description) + return + } + statusItem.button!.image = nil + } + + func setTitle(_ title: String) { + statusItem.button!.title = title + } + + func setAutosaveName(_ name: String) { + statusItem.autosaveName = name + } + + func setContents(to text: String) { + guard let viewContoller = panel.contentViewController as? CmdViewController else { return } + viewContoller.setText(text) + } + + func setFile(_ file: CmdFile) { + guard let viewContoller = panel.contentViewController as? CmdViewController else { return } + viewContoller.setFile(file) + } + + func windowDidResize(_ notification: Notification) { + if let cmdPanel = notification.object as? NSPanel, panel == cmdPanel { + setPanelPosition() + } + } + + func windowDidMove(_ notification: Notification) { + if let statusBarButtonWindow = notification.object as? NSWindow, + let buttonWindow = statusItem.button?.window, + buttonWindow == statusBarButtonWindow + { + setPanelPosition() + } + } + + func windowDidBecomeKey(_ notification: Notification) { + globalEventMonitor?.start() + } + + func windowDidResignKey(_ notification: Notification) { + globalEventMonitor?.stop() + dismissPanel() + } +} + +// MARK: - Metrics +fileprivate enum Metrics { + static let windowBorderSize: CGFloat = 2 +} diff --git a/src/CircularProgressView.swift b/src/CircularProgressView.swift new file mode 100644 index 0000000..1a47670 --- /dev/null +++ b/src/CircularProgressView.swift @@ -0,0 +1,81 @@ +import AppKit + +class CircularProgressView: NSView { + private var _value: CGFloat = 0.0 + var value: CGFloat { + get { _value } + set { + if newValue > maxValue { + _value = 1.0 + } else if newValue < minValue { + _value = 0.0 + } else { + _value = newValue / maxValue + } + advanceProgress(to: _value) + } + } + var minValue: Double = 0 + var maxValue: Double = 1 + + var animationSpeed: Double = 0.5 + var backgroundColor: NSColor = NSColor.darkGray + var foregroundColor: NSColor = NSColor.systemBlue + + private let backgroundLayer = CAShapeLayer() + private let foregroundLayer = CAShapeLayer() + + override func draw(_ dirtyRect: NSRect) { + super.draw(dirtyRect) + drawCirlces() + } + + override func layout() { + super.layout() + foregroundLayer.frame = bounds + } + + private func drawCirlces() { + let lineWidth = bounds.width * 0.3 + + let bgMutablePath = CGMutablePath() + bgMutablePath.addArc( + center: CGPoint(x: bounds.midX, y: bounds.midY), + radius: min(bounds.width, bounds.height) / 2 - (lineWidth / 2), + startAngle: CGFloat.zero, endAngle: CGFloat(2 * Double.pi), + clockwise: true + ) + backgroundLayer.path = bgMutablePath + backgroundLayer.fillColor = NSColor.clear.cgColor +// backgroundLayer.strokeColor = NSColor(name: nil) { getColors(.lightGray, .darkGray, for: $0) }.cgColor + backgroundLayer.strokeColor = backgroundColor.cgColor + backgroundLayer.lineWidth = lineWidth + + let fgMutablePath = CGMutablePath() + fgMutablePath.addArc( + center: CGPoint(x: bounds.midX, y: bounds.midY), + radius: min(bounds.width, bounds.height) / 2 - (lineWidth / 2), + startAngle: CGFloat.zero, endAngle: CGFloat(2 * Double.pi), + clockwise: true + ) + foregroundLayer.path = fgMutablePath + foregroundLayer.fillColor = NSColor.clear.cgColor + foregroundLayer.strokeColor = foregroundColor.cgColor + foregroundLayer.lineCap = .round + foregroundLayer.lineWidth = lineWidth + foregroundLayer.strokeEnd = value + foregroundLayer.transform = CATransform3DMakeRotation(CGFloat(Double.pi / 2), 0, 0, 1) + + layer?.addSublayer(backgroundLayer) + layer?.addSublayer(foregroundLayer) + } + + private func advanceProgress(to value: Double) { + let animation = CABasicAnimation(keyPath: "strokeEnd") + animation.duration = animationSpeed + animation.fromValue = foregroundLayer.presentation()?.value(forKeyPath: "strokeEnd") ?? value + animation.toValue = value + foregroundLayer.strokeEnd = CGFloat(value) + foregroundLayer.add(animation, forKey: "pathAnimation") + } +} diff --git a/src/CmdBar.entitlements b/src/CmdBar.entitlements new file mode 100644 index 0000000..0c67376 --- /dev/null +++ b/src/CmdBar.entitlements @@ -0,0 +1,5 @@ + + + + + diff --git a/src/CmdManager.swift b/src/CmdManager.swift new file mode 100644 index 0000000..d0ad443 --- /dev/null +++ b/src/CmdManager.swift @@ -0,0 +1,175 @@ +import Foundation +import Cocoa + +// MARK: - CmdFile +class CmdFile { + // MARK: - State + private var timer: DispatchSourceTimer? + private(set) var lastExec = Int(Date().timeIntervalSince1970) + var untilNextExec: Int { + get { + let res = reloadTime - (Int(Date().timeIntervalSince1970) - lastExec) + if res <= 0 { return reloadTime } + return res + } + } + + private(set) var url: URL + private(set) var reloadTime: Int + private var statusItem: CBMenuBarItem = CBMenuBarItem() + + private var shouldWait = false + + // MARK: - Initializers + init(url: URL, reloadTime: Int) { + self.url = url + self.reloadTime = reloadTime + + statusItem.setAutosaveName(url.lastPathComponent) + statusItem.setImage(title: "clock.fill", description: "Clock") + statusItem.setFile(self) + + setupTimer() + resumeTimer() + } + + deinit { + cancelTimer() + } + + // MARK: - Reload Widget + private func reloadWidget() { + DispatchQueue.global(qos: .userInitiated).async { [weak self] in + if let url = self?.url { + self?.shouldWait = true + let execResult = execute(atPath: url) + DispatchQueue.main.async { + if execResult.title.isEmpty { + self?.statusItem.setImage(title: "exclamationmark.triangle.fill", description: "Warning") + self?.statusItem.setTitle("") + } else { + self?.statusItem.setImage(title: nil, description: "") + self?.statusItem.setTitle(execResult.0) + } + self?.statusItem.setContents(to: execResult.body) + } + self?.shouldWait = false + } + } + } + + // MARK: - Timer + private func setupTimer() { + timer = DispatchSource.makeTimerSource(queue: DispatchQueue.global()) + timer?.schedule(deadline: .now(), repeating: .seconds(reloadTime)) + timer?.setEventHandler { [weak self] in + guard let file = self, !file.shouldWait else { return } + file.reloadWidget() + file.lastExec = Int(Date().timeIntervalSince1970) + } + } + + private func resumeTimer() { + timer?.schedule(deadline: .now(), repeating: .seconds(reloadTime)) + timer?.resume() + } + + private func pauseTimer() { + timer?.suspend() + } + + private func cancelTimer() { + if timer != nil { + timer?.cancel() + timer = nil + } + } + + func restartTimer() { + pauseTimer() + resumeTimer() + } +} + +// MARK: - CmdManager +class CmdManager { + //MARK: - State + static let standard = CmdManager() + + var paths: [CmdFile] = [] + private var defaultStatusItem: NSStatusItem? + + // MARK: - Configure + func configure() { + getPaths() + if paths.isEmpty { + setupMenu() + } else { + defaultStatusItem = nil + } + } + + private func getPaths() { + let manager = FileManager.default + let path = manager.homeDirectoryForCurrentUser.appending(path: ".cmdbar") + if let contents = try? manager.contentsOfDirectory(atPath: path.path()) { + for content in contents { + let filePath = path.appending(path: content) + + let domains = filePath.path().components(separatedBy: ".") + if (isValidTimeFormat(domains[domains.count - 1])) { + paths.append(CmdFile(url: filePath, reloadTime: intervalToSeconds(from: domains[domains.count - 1]))) + } else if (domains.last == "sh" && isValidTimeFormat(domains[domains.count - 2])) { + paths.append(CmdFile(url: filePath, reloadTime: intervalToSeconds(from: domains[domains.count - 2]))) + } + } + } + } + + private func setupMenu() { + defaultStatusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) + if let btn = defaultStatusItem?.button { + let image = NSApp.applicationIconImage + image!.size = NSSize(width: 22, height: 22) + btn.image = image + } + guard defaultStatusItem != nil else { return } + let menu = NSMenu() + menu.addItem(NSMenuItem(title: "Reload", action: #selector(reloadWidgets), keyEquivalent: "")) + menu.addItem(NSMenuItem.separator()) + menu.addItem(NSMenuItem(title: "About", action: #selector(showAbout), keyEquivalent: "")) + menu.addItem(NSMenuItem.separator()) + menu.addItem(NSMenuItem(title: "Check for Updates...", action: #selector(checkForUpdates), keyEquivalent: "")) + menu.addItem(NSMenuItem.separator()) + menu.addItem(NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q")) + defaultStatusItem!.menu = menu + } + + func clearItems() { + paths.removeAll() + } + + func reloadItems() { + clearItems() + configure() + } + + func resetTimers() { + for item in paths { + item.restartTimer() + } + } + + @objc private func reloadWidgets() { + reloadItems() + } + + // MARK: - NSMenu Functions + @objc private func showAbout() { + delegate.showAbout() + } + + @objc private func checkForUpdates() { + delegate.checkForUpdates() + } +} diff --git a/src/CmdViewController.swift b/src/CmdViewController.swift new file mode 100644 index 0000000..7d9e25e --- /dev/null +++ b/src/CmdViewController.swift @@ -0,0 +1,452 @@ +import Cocoa +import ServiceManagement + +fileprivate enum Metrics { + static let contentMinWidth = 400.0 + static let contentMaxWidth = /*600.0*/ NSScreen.main!.visibleFrame.size.width * 0.7 // REVIEW: Under what circumstances can NSScreen return nil? + static let contentMinHeight = 160.0 + static let contentMaxHeight = /*800.0*/ NSScreen.main!.visibleFrame.size.height * 0.8 // REVIEW: Under what circumstances can NSScreen return nil? + static let padding = 10.0 + static let buttonSpacing = 2.0 +} + +class CmdViewController: NSViewController { + private weak var cmdFile: CmdFile? + private var timer: DispatchSourceTimer? + private var keyboardEvents: EventMonitor? + + private var visualEffectView: NSView = { + let visualEffect = NSVisualEffectView() + visualEffect.blendingMode = .behindWindow + visualEffect.material = .popover + visualEffect.state = .active + visualEffect.translatesAutoresizingMaskIntoConstraints = false + return visualEffect + }() + + private var textLabelScrollView: NSScrollView = { + let scrollView = NSScrollView() + scrollView.automaticallyAdjustsContentInsets = false + scrollView.hasVerticalScroller = true + scrollView.hasHorizontalScroller = true + scrollView.scrollerStyle = .overlay + scrollView.drawsBackground = false + scrollView.translatesAutoresizingMaskIntoConstraints = false + return scrollView + }() + + private var textLabel: NSTextField = { + let textField = NSTextField() + textField.backgroundColor = .clear // NOTE: Setting drawsBackground = false messes with geometry. Also, setting a custom cell, messes up, too. + textField.isSelectable = true + textField.isHidden = false + textField.isEditable = false + textField.isBezeled = false + textField.alignment = .left + textField.textColor = NSColor(name: nil) { getColors(.black, .white, for: $0) } + textField.font = NSFont.monospacedSystemFont(ofSize: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .body).pointSize, weight: .regular) + textField.translatesAutoresizingMaskIntoConstraints = false + return textField + }() + + private var reloadsText: NSTextField = { + let textField = NSTextField() + textField.isHidden = false + textField.stringValue = "--" + textField.lineBreakMode = .byTruncatingTail + textField.maximumNumberOfLines = 1 + textField.isEditable = false + textField.isBezeled = false + textField.drawsBackground = false + textField.alignment = .left + textField.textColor = NSColor(name: nil) { getColors(.darkGray, .lightGray, for: $0) } + textField.font = NSFont.systemFont(ofSize: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .subheadline).pointSize, weight: .bold) + textField.translatesAutoresizingMaskIntoConstraints = false + return textField + }() + + private var progressView: CircularProgressView = { + let progress = CircularProgressView() + progress.translatesAutoresizingMaskIntoConstraints = false + return progress + }() + + private var statusText: NSTextField = { + let textField = NSTextField() + textField.isHidden = false + textField.stringValue = "Loading..." + textField.isEditable = false + textField.isBezeled = false + textField.drawsBackground = false + textField.alignment = .center + textField.textColor = NSColor(name: nil) { getColors(.darkGray, .lightGray, for: $0) } + textField.font = NSFont(descriptor: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .body), size: 0) + textField.translatesAutoresizingMaskIntoConstraints = false + return textField + }() + + private var quitButton: NSButton = { + let button = NSButton() + button.image = systemImage("xmark.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemRed])) + button.isBordered = false + button.action = #selector(terminateApp) + button.sizeToFit() + button.toolTip = "Quit" + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var reloadButton: NSButton = { + let button = NSButton() + button.image = systemImage("arrow.clockwise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemBlue])) + button.isBordered = false + button.action = #selector(reloadWidget) + button.sizeToFit() + button.toolTip = "Reload Current" + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var startButton: NSButton = { + let button = NSButton() + button.image = systemImage("sun.max.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemOrange])) + button.isBordered = false + button.action = #selector(openAtLogin) + button.sizeToFit() + button.toolTip = "Open at Login — OFF" + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var aboutButton: NSButton = { + let button = NSButton() + button.image = systemImage("info.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemGray])) + button.isBordered = false + button.action = #selector(showAbout) + button.sizeToFit() + button.toolTip = "About" + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var updateButton: NSButton = { + let button = NSButton() + button.image = NSImage(systemSymbolName: "arrow.down.circle.fill", accessibilityDescription: nil)? + .withSymbolConfiguration( + NSImage.SymbolConfiguration(textStyle: .title2, scale: .large) + .applying(.init(paletteColors: [.white, .systemGreen])) + ) + button.isBordered = false + button.action = #selector(updateApp) + button.sizeToFit() + button.toolTip = "About" + button.toolTip = "Update" + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var buttonsBackground: NSView = { + let blurView = NSVisualEffectView() + blurView.blendingMode = .behindWindow + blurView.material = .sheet + blurView.state = .active + blurView.wantsLayer = true + blurView.layer?.borderColor = NSColor.systemGray.withAlphaComponent(0.05).cgColor + blurView.layer?.borderWidth = 1.5 + blurView.translatesAutoresizingMaskIntoConstraints = false + return blurView + }() + + private var buttonsContainer: NSLayoutGuide = { + let container = NSLayoutGuide() + return container + }() + + private func addSubviews() { + view.addSubview(visualEffectView) + + view.addSubview(statusText) + + textLabelScrollView.documentView = textLabel + view.addSubview(textLabelScrollView) + + view.addLayoutGuide(buttonsContainer) + view.addSubview(buttonsBackground) + view.addSubview(quitButton) + view.addSubview(reloadButton) + view.addSubview(startButton) + view.addSubview(aboutButton) + view.addSubview(reloadsText) + view.addSubview(updateButton) + view.addSubview(progressView) + } + + override func viewDidLoad() { + super.viewDidLoad() + + addSubviews() + setup() + setContraints() + } + + override func loadView() { + self.view = QuietView() + } + + override func viewDidAppear() { + super.viewDidAppear() + + startReloadTextTimer() + keyboardEvents?.start() + + resetReloadButton() + } + + override func viewDidDisappear() { + super.viewDidDisappear() + + timer?.cancel() + timer = nil + + keyboardEvents?.stop() + + if let editor = textLabel.currentEditor() { textLabel.endEditing(editor) } + } + + private func setContraints() { + setViewConstraints() + setTextConstraints() + setReloadConstrains() + setButtonConstraints() + } + + func setup() { + openAtLoginToggle() + + buttonsBackground.layer?.cornerRadius = quitButton.bounds.height / Metrics.buttonSpacing + Metrics.buttonSpacing + + setupKeyEvents() + } + + private func setReloadConstrains() { + NSLayoutConstraint.activate([ + progressView.widthAnchor.constraint(equalToConstant: 16), + progressView.heightAnchor.constraint(equalToConstant: 16), + + progressView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: Metrics.padding), + progressView.centerYAnchor.constraint(equalTo: reloadsText.centerYAnchor), + ]) + + NSLayoutConstraint.activate([ + reloadsText.leadingAnchor.constraint(equalTo: progressView.trailingAnchor, constant: Metrics.buttonSpacing), + reloadsText.centerYAnchor.constraint(equalTo: buttonsBackground.centerYAnchor), + reloadsText.trailingAnchor.constraint(equalTo: buttonsBackground.leadingAnchor, constant: -Metrics.buttonSpacing), + ]) + } + + private func setViewConstraints() { + NSLayoutConstraint.activate([ + visualEffectView.topAnchor.constraint(equalTo: view.topAnchor), + visualEffectView.bottomAnchor.constraint(equalTo: view.bottomAnchor), + visualEffectView.leadingAnchor.constraint(equalTo: view.leadingAnchor), + visualEffectView.trailingAnchor.constraint(equalTo: view.trailingAnchor), + ]) + } + + private func setButtonConstraints() { + NSLayoutConstraint.activate([ + quitButton.widthAnchor.constraint(equalToConstant: quitButton.bounds.width), + quitButton.heightAnchor.constraint(equalToConstant: quitButton.bounds.height), + reloadButton.widthAnchor.constraint(equalToConstant: reloadButton.bounds.width), + reloadButton.heightAnchor.constraint(equalToConstant: reloadButton.bounds.height), + startButton.widthAnchor.constraint(equalToConstant: startButton.bounds.width), + startButton.heightAnchor.constraint(equalToConstant: startButton.bounds.height), + aboutButton.widthAnchor.constraint(equalToConstant: aboutButton.bounds.width), + aboutButton.heightAnchor.constraint(equalToConstant: aboutButton.bounds.height), + updateButton.widthAnchor.constraint(equalToConstant: updateButton.bounds.width), + updateButton.heightAnchor.constraint(equalToConstant: updateButton.bounds.height), + + buttonsContainer.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -Metrics.padding), + buttonsContainer.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: -Metrics.padding), + + buttonsBackground.leadingAnchor.constraint(equalTo: buttonsContainer.leadingAnchor), + buttonsBackground.trailingAnchor.constraint(equalTo: buttonsContainer.trailingAnchor), + buttonsBackground.topAnchor.constraint(equalTo: buttonsContainer.topAnchor), + buttonsBackground.bottomAnchor.constraint(equalTo: buttonsContainer.bottomAnchor), + + quitButton.trailingAnchor.constraint(equalTo: buttonsContainer.trailingAnchor, constant: -Metrics.buttonSpacing), + quitButton.topAnchor.constraint(equalTo: buttonsContainer.topAnchor, constant: Metrics.buttonSpacing), + quitButton.bottomAnchor.constraint(equalTo: buttonsContainer.bottomAnchor, constant: -Metrics.buttonSpacing), + + reloadButton.firstBaselineAnchor.constraint(equalTo: quitButton.firstBaselineAnchor), + reloadButton.trailingAnchor.constraint(equalTo: quitButton.leadingAnchor, constant: -Metrics.buttonSpacing), + + startButton.firstBaselineAnchor.constraint(equalTo: reloadButton.firstBaselineAnchor), + startButton.trailingAnchor.constraint(equalTo: reloadButton.leadingAnchor, constant: -Metrics.buttonSpacing), + + aboutButton.firstBaselineAnchor.constraint(equalTo: startButton.firstBaselineAnchor), + aboutButton.trailingAnchor.constraint(equalTo: startButton.leadingAnchor, constant: -Metrics.buttonSpacing), + + updateButton.firstBaselineAnchor.constraint(equalTo: startButton.firstBaselineAnchor), + updateButton.leadingAnchor.constraint(equalTo: buttonsContainer.leadingAnchor, constant: Metrics.buttonSpacing), + updateButton.trailingAnchor.constraint(equalTo: aboutButton.leadingAnchor, constant: -Metrics.buttonSpacing), + ]) + } + + private func setTextConstraints() { + NSLayoutConstraint.activate([ + statusText.centerXAnchor.constraint(equalTo: view.centerXAnchor), + statusText.centerYAnchor.constraint(equalTo: view.centerYAnchor), + ]) + + let trailing = textLabel.trailingAnchor.constraint(equalTo: textLabelScrollView.trailingAnchor) + trailing.priority = .init(600) + + let bottom = textLabel.bottomAnchor.constraint(equalTo: textLabelScrollView.bottomAnchor) + bottom.priority = .init(600) + + textLabel.setContentHuggingPriority(.required, for: .horizontal) + NSLayoutConstraint.activate([ + textLabel.widthAnchor.constraint(greaterThanOrEqualToConstant: Metrics.contentMinWidth), + textLabelScrollView.widthAnchor.constraint(lessThanOrEqualToConstant: Metrics.contentMaxWidth), + + textLabel.heightAnchor.constraint(greaterThanOrEqualToConstant: Metrics.contentMinHeight), + textLabelScrollView.heightAnchor.constraint(lessThanOrEqualToConstant: Metrics.contentMaxHeight), + + textLabel.topAnchor.constraint(equalTo: textLabelScrollView.topAnchor), + bottom, + textLabel.leadingAnchor.constraint(equalTo: textLabelScrollView.leadingAnchor), + trailing, + + textLabelScrollView.topAnchor.constraint(equalTo: view.topAnchor, constant: 10), + textLabelScrollView.bottomAnchor.constraint(equalTo: buttonsContainer.topAnchor, constant: -10), + textLabelScrollView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 10), + textLabelScrollView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -10), + ]) + } + + private func resetReloadButton() { + reloadButton.image = systemImage("arrow.clockwise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemBlue])) + reloadButton.action = #selector(reloadWidget) + reloadButton.toolTip = "Reload Current" + } + + private func startReloadTextTimer() { + timer = DispatchSource.makeTimerSource(queue: DispatchQueue.global()) + timer?.schedule(deadline: .now(), repeating: .seconds(1)) + timer?.setEventHandler { [weak self] in + DispatchQueue.main.async { + guard let controller = self, let file = controller.cmdFile else { return } + controller.setUntil("\(stringifySeconds(file.untilNextExec))") + controller.progressView.value = Double(file.untilNextExec) + } + } + timer?.resume() + } + + private func setupKeyEvents() { + keyboardEvents = LocalEventMonitor(mask: [.flagsChanged, .keyDown], handler: { [weak self] event in + if event.modifierFlags.contains(.shift) { + self?.reloadButton.image = systemImage("arrow.clockwise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemCyan])) + self?.reloadButton.action = #selector(self?.reloadWidgets) + self?.reloadButton.toolTip = "Reload All" + } else { + self?.reloadButton.image = systemImage("arrow.clockwise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemBlue])) + self?.reloadButton.action = #selector(self?.reloadWidget) + self?.reloadButton.toolTip = "Reload Current" + } + + if event.modifierFlags.contains(.command) && event.keyCode == 15 { // r + self?.reloadWidget() + } + + if event.modifierFlags.contains(.shift) && event.modifierFlags.contains(.command) && event.keyCode == 15 { // r + self?.reloadWidgets() + } + + if (event.modifierFlags.contains(.command) && event.keyCode == 13) || event.keyCode == 12 || event.keyCode == 53 { // w, q, esc + self?.view.superview?.window?.resignKey() + } + + if event.modifierFlags.contains(.command) && event.keyCode == 12 { // q + self?.terminateApp() + } + + if event.modifierFlags.contains(.command) && event.keyCode == 8 { // c + self?.textLabel.currentEditor()?.copy(nil) + } + + return event + }) + } + + func setFile(_ file: CmdFile) { + self.cmdFile = file + progressView.minValue = 0.0 + progressView.maxValue = Double(file.reloadTime) + progressView.value = Double(file.reloadTime) + } + + func setText(_ text: String) { + if text.isEmpty { + statusText.stringValue = "Empty" + textLabel.stringValue = "" + statusText.isHidden = false + textLabel.isHidden = true + } else { + textLabel.stringValue = text + statusText.isHidden = true + textLabel.isHidden = false + } + } + + func setUntil(_ text: String) { + reloadsText.stringValue = text + } + + @objc private func reloadWidgets() { + delegate.reloadWidgets() + } + + @objc private func reloadWidget() { + cmdFile?.restartTimer() + statusText.stringValue = "Loading..." + textLabel.isHidden = true + statusText.isHidden = false + } + + @objc private func showAbout() { + delegate.showAbout() + } + + @objc private func openAtLogin() { + delegate.toggleLaunchAtLogin() + openAtLoginToggle() + } + + @objc func terminateApp() { + delegate.terminateApp() + } + + @objc func updateApp() { + delegate.checkForUpdates() + } + + private func openAtLoginToggle() { + if SMAppService.mainApp.status == .enabled { + startButton.toolTip = "Open at Login — ON" + startButton.image = systemImage("sunrise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemOrange])) + } else { + startButton.toolTip = "Open at Login — OFF" + startButton.image = systemImage("sun.max.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemOrange])) + } + } + + deinit { + if timer != nil { + timer!.cancel() + timer = nil + } + keyboardEvents?.stop() + } +} diff --git a/src/CopyableTextView.swift b/src/CopyableTextView.swift new file mode 100644 index 0000000..90d9e4c --- /dev/null +++ b/src/CopyableTextView.swift @@ -0,0 +1,17 @@ +import AppKit + +class CopyableTextView: NSTextView, NSTextViewDelegate { + func clearSelection() { + setSelectedRange(NSRange(location: 0, length: 0)) + } + + func copyRange() { + let range = selectedRange() + let start = string.index(string.startIndex, offsetBy: range.location) + let end = string.index(start, offsetBy: range.length) + + let pasteboard = NSPasteboard.general + pasteboard.prepareForNewContents() + pasteboard.setString(String(string[start.. Bool { + if event.type == NSEvent.EventType.keyDown { + if (event.modifierFlags.rawValue & NSEvent.ModifierFlags.deviceIndependentFlagsMask.rawValue) == commandKey { + switch event.charactersIgnoringModifiers! { + case "x": + if NSApp.sendAction(#selector(NSText.cut(_:)), to: nil, from: self) { return true } + case "c": + if NSApp.sendAction(#selector(NSText.copy(_:)), to: nil, from: self) { return true } + case "v": + if NSApp.sendAction(#selector(NSText.paste(_:)), to: nil, from: self) { return true } + case "z": + if NSApp.sendAction(Selector(("undo:")), to: nil, from: self) { return true } + case "a": + if NSApp.sendAction(#selector(NSResponder.selectAll(_:)), to: nil, from: self) { return true } + default: + break + } + } else if (event.modifierFlags.rawValue & NSEvent.ModifierFlags.deviceIndependentFlagsMask.rawValue) == commandShiftKey { + if event.charactersIgnoringModifiers == "Z" { + if NSApp.sendAction(Selector(("redo:")), to: nil, from: self) { return true } + } + } + } + return super.performKeyEquivalent(with: event) + } +} diff --git a/src/EventMonitor.swift b/src/EventMonitor.swift new file mode 100644 index 0000000..1efd0bc --- /dev/null +++ b/src/EventMonitor.swift @@ -0,0 +1,55 @@ +import Cocoa + +class EventMonitor { + fileprivate let mask: NSEvent.EventTypeMask + fileprivate var monitor: Any? + + fileprivate init(mask: NSEvent.EventTypeMask) { + self.mask = mask + } + + deinit { + stop() + } + + func start() { + fatalError("start must be implemented by a subclass of EventMonitor") + } + + func stop() { + if monitor != nil { + NSEvent.removeMonitor(monitor!) + monitor = nil + } + } +} + +final class LocalEventMonitor: EventMonitor { + typealias Handler = (NSEvent) -> NSEvent? + + private let handler: Handler + + init(mask: NSEvent.EventTypeMask, handler: @escaping Handler) { + self.handler = handler + super.init(mask: mask) + } + + override func start() { + monitor = NSEvent.addLocalMonitorForEvents(matching: mask, handler: handler) + } +} + +final class GlobalEventMonitor: EventMonitor { + typealias Handler = (NSEvent) -> Void + + private let handler: Handler + + init(mask: NSEvent.EventTypeMask, handler: @escaping Handler) { + self.handler = handler + super.init(mask: mask) + } + + override func start() { + monitor = NSEvent.addGlobalMonitorForEvents(matching: mask, handler: handler) + } +} diff --git a/src/Helpers.swift b/src/Helpers.swift new file mode 100644 index 0000000..e5d75fb --- /dev/null +++ b/src/Helpers.swift @@ -0,0 +1,178 @@ +import AppKit + +// MARK: - Tracking Notifications +fileprivate extension Notification.Name { + static let beginMenuTracking = Notification.Name("com.apple.HIToolbox.beginMenuTrackingNotification") + static let endMenuTracking = Notification.Name("com.apple.HIToolbox.endMenuTrackingNotification") +} + +#if(DEBUG) +struct EndpointConstants { + static var versionURL = "http://localhost:8081/version" + static var appURL = "http://localhost:8081/download" + static var appURLZip = "http://localhost:8081/static/app/CmdBar.zip" + static var changelog = "http://localhost:8081/changelog" + static var validateURL = "http://localhost:8081/validate" +} +#else +struct EndpointConstants { + static var versionURL = "http://cmdbar.app/version" + static var appURL = "http://cmdbar.app/download" + static var appURLZip = "http://cmdbar.app/static/app/CmdBar.zip" + static var changelog = "http://cmdbar.app/changelog" + static var validateURL = "https://cmdbar.app/validate" +} +#endif + +// +enum Resulting { + case success + case failure +} + +// Parse time string into seconds. +func intervalToSeconds(from timeString: String) -> Int { + guard let value = Int(timeString.dropLast()) else { return 0 } + let unit = timeString.suffix(1) + switch unit { + case "s": + return value + case "m": + return value * 60 + case "h": + return value * 60 * 60 + case "d": + return value * 60 * 60 * 24 + default: + return 0 + } +} + +// Regex check if string is in the right format. +// Regular expression pattern to match "1s", "5m", "1h", "1d" +func isValidTimeFormat(_ timeString: String) -> Bool { + let pattern = #"^\d+[smhd]$"# + return NSPredicate(format: "SELF MATCHES %@", pattern).evaluate(with: timeString) +} + +// Turn seconds into a time string. +func stringifySeconds(_ seconds: Int) -> String { + if seconds >= 60 && seconds < 3600 { + return "\(String(format: "%.1f", Double(seconds) / 60.0))m" + } else if seconds >= 3600 && seconds < 86400 { + return "\(String(format: "%.1f", Double(seconds) / 3600.0))h" + } else if seconds >= 86400 { + return "\(String(format: "%.1f", Double(seconds) / 86400.0))h" + } + return "\(seconds)s" +} + +// Execution errors. +private enum ExecError: Error { + case doesntExist + case noPermission + case failed + case error(err: String) +} + +// Executes file and parses its output. +func execute(atPath path: URL) -> (title: String, body: String) { + let stringPath = path.path() + + do { + let output = try executeFile(path: path) + if !output.isEmpty { + let result = output.components(separatedBy: "\n") + if result.count >= 1 { + return (result.first!, result.dropFirst().joined(separator: "\n")) + } + } + } catch ExecError.failed { + return ("", "execution failed: \(stringPath)") + } catch ExecError.doesntExist { + return ("", "doesn't exist: \(stringPath)") + } catch ExecError.noPermission { + return ("", "permission denied: \(stringPath)") + } catch ExecError.error(let error) { + return ("", "\(error)") + } catch { + return ("", "\(error)") + } + + return ("", "") +} + +// Executes a file. +private func executeFile(path: URL) throws -> String { + if !FileManager.default.fileExists(atPath: path.path()) { throw ExecError.doesntExist } + if !FileManager.default.isExecutableFile(atPath: path.path()) { throw ExecError.noPermission } + + let process = Process() + process.executableURL = path + + let outputPipe = Pipe() + let errorPipe = Pipe() + process.standardOutput = outputPipe + process.standardError = errorPipe + + do { + try process.run() + } catch { + throw ExecError.failed + } + process.waitUntilExit() + + let outputData = outputPipe.fileHandleForReading.readDataToEndOfFile() + let errorData = errorPipe.fileHandleForReading.readDataToEndOfFile() + + let output = String(data: outputData, encoding: .utf8) + let error = String(data: errorData, encoding: .utf8) + + if process.terminationStatus != 0 { + if let err = error { + throw ExecError.error(err: err) + } + } + + if let out = output, !out.isEmpty { + var result = "" + if out.hasSuffix("\n") { + result = out.trimmingCharacters(in: .newlines) + } + return result + } + return "" +} + +func getColors(_ light: NSColor, _ dark: NSColor, for appearance: NSAppearance) -> NSColor { + switch appearance.name { + case .aqua, .vibrantLight, .accessibilityHighContrastAqua, .accessibilityHighContrastVibrantLight: + return light + case .darkAqua, .vibrantDark, .accessibilityHighContrastDarkAqua, .accessibilityHighContrastVibrantDark: + return dark + default: + return NSColor.white + } +} + +// ex: systemImage("sunrise.circle.fill", .title2, .large, .init(paletteColors: [.white, .systemOrange])) +func systemImage(_ name: String, _ size: NSFont.TextStyle, _ scale: NSImage.SymbolScale, _ configuration: NSImage.SymbolConfiguration) -> NSImage? { + return NSImage(systemSymbolName: name, accessibilityDescription: nil)? + .withSymbolConfiguration( + NSImage.SymbolConfiguration(textStyle: size, scale: scale) + .applying(configuration) + ) +} + +func openLink(_ url: String) { + guard let url = URL(string: url) else { return } + NSWorkspace.shared.open(url) +} + +func persistMenuBar(_ state: Bool) { + if state { + DistributedNotificationCenter.default().post(name: .beginMenuTracking, object: nil) + } else { + DistributedNotificationCenter.default().post(name: .endMenuTracking, object: nil) + } +} diff --git a/src/Info.plist b/src/Info.plist new file mode 100644 index 0000000..2f26272 --- /dev/null +++ b/src/Info.plist @@ -0,0 +1,44 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + CmdBar + CFBundleIconFile + AppIcon + CFBundleIconName + AppIcon + CFBundleIdentifier + com.garikme.CmdBar + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + CmdBar + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.93 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.93 + DTPlatformName + macosx + DTPlatformVersion + 15.0 + DTSDKName + macosx15.0 + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + 13.0 + LSUIElement + + NSPrincipalClass + NSApplication + + diff --git a/src/LicenseManager.swift b/src/LicenseManager.swift new file mode 100644 index 0000000..92c5b21 --- /dev/null +++ b/src/LicenseManager.swift @@ -0,0 +1,129 @@ +// +// LicenseManager.swift +// CmdBar +// +// Created by Igor Kolokolnikov on 8/26/23. +// + +import Cocoa +import CryptoKit + +fileprivate struct LicenseModel: Codable { + let valid: Bool + let error: String + let email: String + let key: String +} + +// Converts string to a hash. +fileprivate func hashString(_ string: String) -> String { + return SHA256.hash(data: Data(string.utf8)).compactMap { String(format: "%02x", $0) }.joined() +} + +// Converts passphrase to a SymmetricKey. +fileprivate func passToKey(from passphrase: String) -> SymmetricKey { + let passphraseData = Data(passphrase.utf8) + let keyData = SHA256.hash(data: passphraseData).withUnsafeBytes { buffer in + return Data(buffer) + } + return SymmetricKey(data: keyData) +} + +final class LicenseManager { + static let standard = LicenseManager() + + private let passkey = passToKey(from: "B2B67FB0E22B814CE5A6E7DA729A068BF21C9490919EA0B42FCEB322F9C9BA82") + private let defaults = UserDefaults.standard + private var timer: DispatchSourceTimer? + private var quitAfterMinutes = 20.0 * 60.0 // quit after 20 minutes + + func isRegistered() -> Bool { + guard let email = defaults.object(forKey: "Email") as? String, + let key = defaults.object(forKey: "Key") as? String, + let licenseData = defaults.object(forKey: "License") as? Data, + let unsealedBox = try? AES.GCM.SealedBox(combined: licenseData), + let licenseHashData = try? AES.GCM.open(unsealedBox, using: passkey), + !email.isEmpty, + !key.isEmpty + else { return false } + + let currentHashData = Data(SHA256.hash(data: Data(hashString("\(email)\(key)\(NSUserName())").utf8)) + .compactMap { String(format: "%02x", $0) }.joined().utf8) + + return licenseHashData == currentHashData + } + + func activateLicense(email: String, key: String, completionHandler: @escaping (_ data: Resulting) -> Void) { + guard let url = URL(string: EndpointConstants.validateURL)?.appending(component: key) + else { completionHandler(.failure); return } + + URLSession.shared.dataTask(with: url) { [weak self] (data, response, error) in + guard + let data = data, + error == nil, + let response = response as? HTTPURLResponse, + (200...299).contains(response.statusCode) + else { completionHandler(.failure); return } + + guard let jsonResponse = try? JSONDecoder().decode(LicenseModel.self, from: data) + else { completionHandler(.failure); return } + + if jsonResponse.email == email && jsonResponse.key == key { + self?.saveLicense(with: email, and: key) + self?.stopTimer() + completionHandler(.success) + } else { + completionHandler(.failure) + } + }.resume() + } + + func deactivateLicense() { + clearLicense() + startTimer() + } + + func getLicense() -> (email: String, key: String) { + guard + let email = defaults.object(forKey: "Email") as? String, + let key = defaults.object(forKey: "Key") as? String + else { return ("", "") } + return (email, key) + } + + private func saveLicense(with email: String, and key: String) { + let defaults = UserDefaults.standard + + let licenseHashData = Data(SHA256.hash(data: Data(hashString("\(email)\(key)\(NSUserName())").utf8)) + .compactMap { String(format: "%02x", $0) }.joined().utf8) + + guard let sealedBoxData = try? AES.GCM.seal(licenseHashData, using: passkey).combined else { return } + defaults.set(email, forKey: "Email") + defaults.set(key, forKey: "Key") + defaults.set(sealedBoxData, forKey: "License") + } + + func clearLicense() { + defaults.set(nil, forKey: "Email") + defaults.set(nil, forKey: "Key") + defaults.set(nil, forKey: "License") + } + + // MARK: - Timer + func startTimer() { + timer = DispatchSource.makeTimerSource(queue: DispatchQueue.global()) + timer?.schedule( + deadline: .now() + quitAfterMinutes, + repeating: DispatchTimeInterval.never + ) + timer?.setEventHandler { + DispatchQueue.main.async { NSApplication.shared.terminate(self) } + } + timer?.resume() + } + + func stopTimer() { + timer?.cancel() + timer = nil + } +} diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..6b318c1 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,103 @@ +FLAGS = -g +CFLAGS = -g +#-O +MACOS_VERSION = 13.0 +SDK = $(shell xcrun --show-sdk-path) +XCODE_PATH = $(shell xcode-select --print-path) + +EXEC = CmdBar + +SRCMODULES = UpdateManager.swift LicenseManager.swift \ + AboutViewController.swift AppDelegate.swift CBMenuBarItem.swift \ + CircularProgressView.swift CmdManager.swift CmdViewController.swift \ + CopyableTextView.swift EditableNSTextField.swift EventMonitor.swift \ + Helpers.swift MenulessWindow.swift PopoverPanel.swift \ + QuietView.swift UpdateViewController.swift main.swift +ARMOBJMODULES = $(addprefix ./arm64/,$(SRCMODULES:.swift=.o)) +X86OBJMODULES = $(addprefix ./x86_64/,$(SRCMODULES:.swift=.o)) + +FRAMEWORKS = -framework AppKit -framework ServiceManagement +#-emit-module-path + +LIBS = -lzip + +zip: + @$(MAKE) -C libs/Zip/Zip FLAGS=$(FLAGS) CFLAGS=$(CFLAGS) \ + MACOS_VERSION=$(MACOS_VERSION) all + +cmdbar_updater: + @$(MAKE) -C updater FLAGS=$(FLAGS) all + @cp updater/$@ . + +./arm64/%.o: %.swift + @echo $< + swift -frontend -c $(if $(DEBUG), -D DEBUG,) \ + -target arm64-apple-macos$(MACOS_VERSION) $(FLAGS) \ + -I./libs/Zip/Zip -I./libs/Zip/Zip/arm64 -L./libs/Zip/Zip/arm64 \ + -primary-file $< $(filter-out $<, $(SRCMODULES)) $(LIBS) \ + -sdk $(SDK) -module-name $(EXEC) -o $@ -emit-module + +ifdef UNIVERSAL +./x86_64/%.o: %.swift + @swift -frontend -c $(if $(DEBUG), -D DEBUG,) \ + -target x86_64-apple-macos$(MACOS_VERSION) $(FLAGS) \ + -I./libs/Zip/Zip -I./libs/Zip/Zip/x86_64 -L./libs/Zip/Zip/x86_64 \ + -primary-file $< $(filter-out $<, $(SRCMODULES)) $(LIBS) \ + -sdk $(SDK) -module-name $(EXEC) -o $@ -emit-module +endif +./arm64/$(EXEC): $(ARMOBJMODULES) + @ld -syslibroot $(SDK) -lSystem -arch arm64 -macos_version_min \ + $(MACOS_VERSION).0 \ + /Library/Developer/CommandLineTools/usr/lib/swift/macosx/libswiftCompatibilityPacks.a \ + -sectcreate __TEXT __info_plist Info.plist \ + -L /Library/Developer/CommandLineTools/usr/lib/swift/macosx -L \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/swift \ + -no_objc_category_merging -L $(XCODE_PATH) -rpath \ + Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx \ + ./arm64/main.o $(filter-out ./arm64/main.o, $(ARMOBJMODULES)) \ + ./libs/Zip/Zip/arm64/libzip.a -o $@ + +ifdef UNIVERSAL +./x86_64/$(EXEC): $(X86OBJMODULES) + @ld -syslibroot $(SDK) -lSystem -arch x86_64 -macos_version_min \ + $(MACOS_VERSION).0 \ + /Library/Developer/CommandLineTools/usr/lib/swift/macosx/libswiftCompatibilityPacks.a \ + -sectcreate __TEXT __info_plist Info.plist \ + -L /Library/Developer/CommandLineTools/usr/lib/swift/macosx -L \ + /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/swift \ + -no_objc_category_merging -L $(XCODE_PATH) -rpath \ + Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx \ + ./x86_64/main.o $(filter-out ./x86_64/main.o, $(X86OBJMODULES)) \ + ./libs/Zip/Zip/x86_64/libzip.a -o $@ +endif + +ifdef UNIVERSAL +$(EXEC): ./arm64/$(EXEC) ./x86_64/$(EXEC) + @lipo -create -output $(EXEC) $^ +else +$(EXEC): ./arm64/$(EXEC) + lipo -create -output $(EXEC) $^ +endif + +$(EXEC).app: $(EXEC) + @rm -rf $@ + @mkdir -p $@/Contents/MacOS/ && \ + mkdir -p $@/Contents/Resources/ && \ + cp Info.plist $@/Contents/ && \ + cp resources/AppIcon.icns $@/Contents/Resources/ && \ + cp $(EXEC) $@/Contents/MacOS/ && \ + cp cmdbar_updater $@/Contents/MacOS/ && \ + codesign -s ${DEVELOPER_ID} -f --timestamp -o runtime $(EXEC).app + +all: zip cmdbar_updater $(EXEC).app + +run: all + @open $(EXEC).app + +clean: + rm -rf $(EXEC) $(EXEC).app cmdbar_updater arm64 x86_64 + mkdir arm64 x86_64 + +clean-all: clean + $(MAKE) -C libs/Zip/Zip clean-all + $(MAKE) -C updater clean diff --git a/src/MenulessWindow.swift b/src/MenulessWindow.swift new file mode 100644 index 0000000..c13e346 --- /dev/null +++ b/src/MenulessWindow.swift @@ -0,0 +1,31 @@ +import Cocoa + +class MenulessWindow: NSWindow { + init(viewController: NSViewController) { + super.init( + contentRect: CGRect(x: 0, y: 0, width: 100, height: 100), + styleMask: [.titled, .closable], + backing: .buffered, + defer: false + ) + super.contentViewController = viewController + + title = "" + titlebarAppearsTransparent = true + collectionBehavior = [.managed, .fullScreenNone] + isReleasedWhenClosed = false + hidesOnDeactivate = false + } + + override func performKeyEquivalent(with event: NSEvent) -> Bool { + let commandKey = NSEvent.ModifierFlags.command.rawValue + + if event.type == NSEvent.EventType.keyDown { + if (event.modifierFlags.rawValue & NSEvent.ModifierFlags.deviceIndependentFlagsMask.rawValue) == commandKey, + event.charactersIgnoringModifiers! == "w" { + performClose(nil) + } + } + return super.performKeyEquivalent(with: event) + } +} diff --git a/src/PopoverPanel.swift b/src/PopoverPanel.swift new file mode 100644 index 0000000..8255f0a --- /dev/null +++ b/src/PopoverPanel.swift @@ -0,0 +1,37 @@ +import Cocoa + +class PopoverPanel: NSPanel { + override var canBecomeKey: Bool { true } + + init(viewController: NSViewController) { + super.init( + contentRect: CGRect(x: 0, y: 0, width: 100, height: 100), + styleMask: [.titled, .nonactivatingPanel, .utilityWindow, .fullSizeContentView], + backing: .buffered, + defer: false + ) + super.contentViewController = viewController + + title = "" + isMovable = false + isMovableByWindowBackground = false + isFloatingPanel = true + isOpaque = false + level = .statusBar + titleVisibility = .hidden + titlebarAppearsTransparent = true + + animationBehavior = .none + collectionBehavior = [.moveToActiveSpace, .fullScreenAuxiliary, .transient] + isReleasedWhenClosed = false + hidesOnDeactivate = false + + standardWindowButton(.closeButton)?.isHidden = true + standardWindowButton(.miniaturizeButton)?.isHidden = true + standardWindowButton(.zoomButton)?.isHidden = true + } + + override func performKeyEquivalent(with event: NSEvent) -> Bool { + return super.performKeyEquivalent(with: event) + } +} diff --git a/src/QuietView.swift b/src/QuietView.swift new file mode 100644 index 0000000..fc38c3c --- /dev/null +++ b/src/QuietView.swift @@ -0,0 +1,12 @@ +import AppKit + +class QuietView: NSView { + override func performKeyEquivalent(with event: NSEvent) -> Bool { + if event.keyCode == 53 { // esc + event.window?.resignKey() + return true + } else { + return false + } + } +} diff --git a/src/UpdateManager.swift b/src/UpdateManager.swift new file mode 100644 index 0000000..8e386b0 --- /dev/null +++ b/src/UpdateManager.swift @@ -0,0 +1,143 @@ +// +// UpdateManager.swift +// CmdBar +// +// Created by Igor Kolokolnikov on 5/23/24. +// + +import Foundation +import Zip + +struct VersionModel: Codable { + let ok: Bool + let version: Double + let changes: [String] +} + +protocol UpdateManagerDelegate: AnyObject { + func downloadProgressChanged(_ value: Double) + func unzipProgressChanged(_ value: Double) +} + +final class UpdateManager { + static let shared = UpdateManager() + weak var delegate: UpdateManagerDelegate? + + private var observation: NSKeyValueObservation? + + func currentVersion() -> Double? { + guard let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else { return nil } + if let version = Double(version) { + return version + } else { return nil } + } + + func latestVersion() async -> VersionModel? { + guard let url = URL(string: EndpointConstants.versionURL) else { return nil } + do { + let config = URLSessionConfiguration.default + config.timeoutIntervalForResource = 5.0 + let session = URLSession(configuration: config) + let (data, _) = try await session.data(from: url) + +// let (data, _) = try await URLSession.shared.data(from: url) + let response = try JSONDecoder().decode(VersionModel.self, from: data) + return response.ok ? response : nil + } catch { return nil } + } + + func isUpdateAvailable() async -> (available: Bool?, model: VersionModel?) { + guard let curVersion = currentVersion(), + let fetVersion = await latestVersion() + else { return (nil, nil) } + + if fetVersion.version > curVersion { + return (true, fetVersion) + } + return (false, nil) + } + + func downloadUpdate(completionHandler: @escaping (_ data: Resulting) -> Void) { + guard let url = URL(string: EndpointConstants.appURLZip) else { completionHandler(.failure); return } + + let task = URLSession.shared.downloadTask(with: url) { (tempURL, response, error) in + guard + let tempURL = tempURL, + error == nil, + let response = response as? HTTPURLResponse, + (200...299).contains(response.statusCode) + else { + completionHandler(.failure) + return + } + + let fileManager = FileManager.default + var userTmpURL = FileManager.default.temporaryDirectory + + var isDirectory = ObjCBool(true) + guard fileManager.fileExists(atPath: userTmpURL.path(), isDirectory: &isDirectory) else { completionHandler(.failure); return } + userTmpURL = userTmpURL.appendingPathComponent("CmdBar.zip") + if fileManager.fileExists(atPath: userTmpURL.path()) { + do { + try fileManager.removeItem(at: userTmpURL) + } catch { + completionHandler(.failure) + return + } + } + + do { + try fileManager.moveItem(at: tempURL, to: userTmpURL) + completionHandler(.success) + } catch { + completionHandler(.failure) + return + } + } + observation = task.progress.observe(\.fractionCompleted, changeHandler: { [weak self] progress, _ in + guard let delegate = self?.delegate else { return } + delegate.downloadProgressChanged(progress.fractionCompleted) + }) + task.resume() + } + + func extractUpdate(completionHandler: @escaping (_ data: Resulting) -> Void) { + let fileManager = FileManager.default + let userTmpURL = fileManager.temporaryDirectory.appending(path: "CmdBar.zip") + do { + try Zip.unzipFile(userTmpURL, destination: FileManager.default.temporaryDirectory, overwrite: true, password: nil) { [weak self] progress in + guard let delegate = self?.delegate else { return } + delegate.unzipProgressChanged(progress) + } + try fileManager.removeItem(at: userTmpURL) + completionHandler(.success) + } catch { + completionHandler(.failure) + return + } + } + + func removeUpdate() { + let tmp = FileManager.default.temporaryDirectory.appending(path: "CmdBar.app") + if !existsAtPath(tmp.path()) { return } + try? FileManager.default.removeItem(at: tmp) + } + + func installUpdate() { + if let url = Bundle.main.url(forAuxiliaryExecutable: "cmdbar_updater") { + let task = Process() + task.executableURL = url + try? task.run() + } + } + + deinit { + observation?.invalidate() + } +} + +fileprivate func existsAtPath(_ path: String, isDirectory: Bool = false) -> Bool { + var isDirectory: ObjCBool = ObjCBool(isDirectory) + let exists = FileManager.default.fileExists(atPath: path, isDirectory: &isDirectory) + return exists +} diff --git a/src/UpdateViewController.swift b/src/UpdateViewController.swift new file mode 100644 index 0000000..dff3aba --- /dev/null +++ b/src/UpdateViewController.swift @@ -0,0 +1,302 @@ +// +// UpdateViewController.swift +// CmdBar +// +// Created by Igor Kolokolnikov on 5/23/24. +// + +import AppKit + +fileprivate enum ViewConstants { + static let spacing2: CGFloat = 2 + static let spacing10: CGFloat = 10 + static let spacing20: CGFloat = 20 + static let spacing40: CGFloat = 40 +} + +fileprivate enum UpdateStatus: String { + case check = "Check for updates..." + case latest = "You're up-to-date!" + case checking = "Checking for udpates..." + case available = "A new version is available!" + case downloading = "Downloading update..." + case extracting = "Extracting update..." + case install = "Ready to Install" + case checkFailed = "Failed to Check for Updates" + case installFailed = "Failed to Install Update" +} + +class UpdateViewController: NSViewController, UpdateManagerDelegate { + private weak var updaterDelegate: UpdateManagerDelegate? + + private var appIconImage: NSImageView = { + //let image = NSImageView(image: NSApp.applicationIconImage) + let image = NSImageView() + image.image = NSWorkspace.shared.icon(forFile: Bundle.main.bundlePath) + image.imageScaling = .scaleAxesIndependently + image.translatesAutoresizingMaskIntoConstraints = false + return image + }() + + private var statusLabel: NSTextField = { + let textField = NSTextField() + textField.isEditable = false + textField.isBezeled = false + textField.drawsBackground = false + textField.alignment = .left + textField.textColor = NSColor(name: nil) { getColors(.black, .white, for: $0) } + textField.font = NSFont.systemFont(ofSize: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .body).pointSize, weight: .bold) + textField.translatesAutoresizingMaskIntoConstraints = false + return textField + }() + + private var subStatusLabel: NSTextField = { + let textField = NSTextField() + textField.stringValue = "CHANGELOG" + textField.isHidden = true + textField.isEditable = false + textField.isBezeled = false + textField.drawsBackground = false + textField.alignment = .left + textField.textColor = .gray + textField.font = NSFont.systemFont(ofSize: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .body).pointSize, weight: .bold) + textField.translatesAutoresizingMaskIntoConstraints = false + return textField + }() + + private var changelogLabel: NSScrollView = { // TODO: Improve some more. Maybe make it scrollable. + let scrollableTextView = NSTextView.scrollableTextView() + scrollableTextView.isHidden = true + (scrollableTextView.documentView as? NSTextView)?.isEditable = false +// (scrollableTextView.documentView as? NSTextView)?.drawsBackground = false + (scrollableTextView.documentView as? NSTextView)?.textColor = .gray + (scrollableTextView.documentView as? NSTextView)?.font = NSFont.systemFont(ofSize: NSFontDescriptor.preferredFontDescriptor(forTextStyle: .body).pointSize, weight: .regular) + scrollableTextView.translatesAutoresizingMaskIntoConstraints = false + return scrollableTextView + }() + + private var progressIndicator: NSProgressIndicator = { + let progress = NSProgressIndicator() + progress.maxValue = 1.0 + progress.isIndeterminate = false + progress.translatesAutoresizingMaskIntoConstraints = false + return progress + }() + + private var updateButton: NSButton = { + let button = NSButton() + button.title = "Check for Updates" + button.sizeToFit() + button.bezelStyle = .rounded + button.action = #selector(checkForUpdate) + button.isEnabled = false + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var changelogButton: NSButton = { + let button = NSButton() + button.title = "Changelog" + button.sizeToFit() + button.bezelStyle = .rounded + button.action = #selector(openChangelog) + button.translatesAutoresizingMaskIntoConstraints = false + return button + }() + + private var stackView: NSStackView = { + let stack = NSStackView() + stack.orientation = .vertical + stack.alignment = .trailing + stack.spacing = ViewConstants.spacing10 + stack.translatesAutoresizingMaskIntoConstraints = false + return stack + }() + + private var buttonsStackView: NSStackView = { + let stack = NSStackView() + stack.orientation = .horizontal + stack.translatesAutoresizingMaskIntoConstraints = false + return stack + }() + + private func addSubviews() { + view.addSubview(appIconImage) + + view.addSubview(statusLabel) + view.addSubview(subStatusLabel) + + view.addSubview(stackView) + stackView.addArrangedSubview(changelogLabel) + stackView.addArrangedSubview(progressIndicator) + stackView.addArrangedSubview(buttonsStackView) + buttonsStackView.addArrangedSubview(changelogButton) + buttonsStackView.addArrangedSubview(updateButton) + } + + private func setConstraints() { + stackView.setHuggingPriority(.required, for: .vertical) + + NSLayoutConstraint.activate([ + appIconImage.widthAnchor.constraint(equalToConstant: 70), + appIconImage.heightAnchor.constraint(equalTo: appIconImage.widthAnchor, multiplier: 1), + + appIconImage.topAnchor.constraint(equalTo: view.topAnchor, constant: ViewConstants.spacing10), + appIconImage.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: ViewConstants.spacing10), + + statusLabel.topAnchor.constraint(equalTo: appIconImage.topAnchor, constant: ViewConstants.spacing2), + statusLabel.leadingAnchor.constraint(equalTo: appIconImage.trailingAnchor, constant: ViewConstants.spacing10), + + subStatusLabel.topAnchor.constraint(equalTo: statusLabel.bottomAnchor, constant: ViewConstants.spacing10), + subStatusLabel.leadingAnchor.constraint(equalTo: statusLabel.leadingAnchor), + + changelogLabel.widthAnchor.constraint(equalTo: stackView.widthAnchor), + changelogLabel.heightAnchor.constraint(equalToConstant: 150), + + stackView.topAnchor.constraint(equalTo: subStatusLabel.bottomAnchor, constant: ViewConstants.spacing2), + stackView.leadingAnchor.constraint(equalTo: statusLabel.leadingAnchor), + view.trailingAnchor.constraint(equalTo: stackView.trailingAnchor, constant: ViewConstants.spacing20), + view.bottomAnchor.constraint(equalTo: stackView.bottomAnchor, constant: ViewConstants.spacing20), + + buttonsStackView.heightAnchor.constraint(equalTo: updateButton.heightAnchor), + ]) + } + + override func viewDidLoad() { + super.viewDidLoad() + + addSubviews() + setConstraints() + } + + override func viewDidAppear() { + super.viewDidAppear() + + (changelogLabel.documentView as? NSTextView)?.string = "" + subStatusLabel.isHidden = true + changelogLabel.isHidden = true + updateStatus(.checking) + checkForUpdate() + } + + private func updateStatus(_ status: UpdateStatus) { + DispatchQueue.main.async { [weak self] in + self?.updateButton.isEnabled = true + self?.updateButton.title = "Check for Update" + self?.updateButton.keyEquivalent = "\r" + self?.progressIndicator.isHidden = true + self?.statusLabel.stringValue = UpdateStatus.check.rawValue + self?.updateButton.action = #selector(self!.checkForUpdate) + + switch status { + case .check: + break + case .latest: + self?.statusLabel.stringValue = UpdateStatus.latest.rawValue + break + case .checking: + self?.statusLabel.stringValue = UpdateStatus.checking.rawValue + self?.updateButton.keyEquivalent = "" + self?.updateButton.isEnabled = false + case .available: + self?.updateButton.title = "Download" + self?.updateButton.keyEquivalent = "" + self?.statusLabel.stringValue = UpdateStatus.available.rawValue + self?.updateButton.action = #selector(self!.downloadUpdate) + case .downloading: + self?.updateButton.isEnabled = false + self?.updateButton.title = "Install" + self?.progressIndicator.isHidden = false + self?.statusLabel.stringValue = UpdateStatus.downloading.rawValue + case .extracting: + self?.updateButton.isEnabled = false + self?.updateButton.title = "Install" + self?.progressIndicator.isHidden = false + self?.statusLabel.stringValue = UpdateStatus.extracting.rawValue + case .install: + self?.updateButton.title = "Install" + self?.progressIndicator.isHidden = false + self?.statusLabel.stringValue = UpdateStatus.install.rawValue + self?.updateButton.action = #selector(self!.installUpdate) + case .checkFailed: + self?.statusLabel.stringValue = UpdateStatus.checkFailed.rawValue + case .installFailed: + self?.statusLabel.stringValue = UpdateStatus.installFailed.rawValue + self?.updateButton.action = #selector(self!.checkForUpdate) + } + } + } + + @objc private func checkForUpdate() { + updateStatus(.checking) + Task { [weak self] in + let status = await UpdateManager.shared.isUpdateAvailable() + if status.available == nil { + self?.updateStatus(.checkFailed) + } else { + if status.available! { + self?.updateStatus(.available) + if let model = status.model, model.changes.count > 0 { + DispatchQueue.main.async { + self?.subStatusLabel.isHidden = false + self?.changelogLabel.isHidden = false + for (i, change) in model.changes.enumerated() { + (self?.changelogLabel.documentView as? NSTextView)?.string += "\u{2022} \(change)" + if i < model.changes.count-1 { (self?.changelogLabel.documentView as? NSTextView)?.string += "\n" } + } + } + } + } else { + self?.updateStatus(.latest) + } + } + } + } + + @objc private func downloadUpdate() { + updateStatus(.downloading) + + UpdateManager.shared.downloadUpdate { [weak self] data in + switch data { + case .success: + self?.updateStatus(.extracting) + UpdateManager.shared.extractUpdate { [weak self] idata in + switch idata { + case .success: + self?.updateStatus(.install) + case .failure: + self?.updateStatus(.installFailed) + } + } + case .failure: + self?.updateStatus(.installFailed) + } + } + } + + @objc private func installUpdate() { + updateButton.isEnabled = false + UpdateManager.shared.installUpdate() + delegate.terminateApp() + } + + @objc private func openChangelog() { + openLink(EndpointConstants.changelog) + } + + public func setUpdateDelegate() { + UpdateManager.shared.delegate = self + } + + public func downloadProgressChanged(_ value: Double) { + DispatchQueue.main.async { [weak self] in + self?.progressIndicator.doubleValue = value + } + } + + public func unzipProgressChanged(_ value: Double) { + DispatchQueue.main.async { [weak self] in + self?.progressIndicator.doubleValue = value + } + } +} diff --git a/src/libs/Zip/CHANGELOG.md b/src/libs/Zip/CHANGELOG.md new file mode 100644 index 0000000..a300185 --- /dev/null +++ b/src/libs/Zip/CHANGELOG.md @@ -0,0 +1,41 @@ +# Change Log + +## [0.3.0](https://github.com/marmelroy/Zip/tree/0.3.0) (2016-03-07) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.2.0...0.3.0) + +**Closed issues:** + +- No Mac platform support [\#6](https://github.com/marmelroy/Zip/issues/6) + +## [0.2.0](https://github.com/marmelroy/Zip/tree/0.2.0) (2016-01-27) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.1.5...0.2.0) + +**Closed issues:** + +- iOS SDK Requirement [\#4](https://github.com/marmelroy/Zip/issues/4) +- Zipping a folder [\#3](https://github.com/marmelroy/Zip/issues/3) + +## [0.1.5](https://github.com/marmelroy/Zip/tree/0.1.5) (2016-01-25) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.1.4...0.1.5) + +**Closed issues:** + +- how to adding some new file to current ziped file? [\#2](https://github.com/marmelroy/Zip/issues/2) + +## [0.1.4](https://github.com/marmelroy/Zip/tree/0.1.4) (2016-01-19) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.1.3...0.1.4) + +## [0.1.3](https://github.com/marmelroy/Zip/tree/0.1.3) (2016-01-18) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.1.2...0.1.3) + +## [0.1.2](https://github.com/marmelroy/Zip/tree/0.1.2) (2016-01-17) +[Full Changelog](https://github.com/marmelroy/Zip/compare/0.1.0...0.1.2) + +## [0.1.0](https://github.com/marmelroy/Zip/tree/0.1.0) (2016-01-17) +**Closed issues:** + +- Images for README [\#1](https://github.com/marmelroy/Zip/issues/1) + + + +\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* \ No newline at end of file diff --git a/src/libs/Zip/LICENSE b/src/libs/Zip/LICENSE new file mode 100644 index 0000000..8cad71e --- /dev/null +++ b/src/libs/Zip/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Roy Marmelstein + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/src/libs/Zip/README.md b/src/libs/Zip/README.md new file mode 100644 index 0000000..a5877eb --- /dev/null +++ b/src/libs/Zip/README.md @@ -0,0 +1,78 @@ +![Zip - Zip and unzip files in Swift](https://cloud.githubusercontent.com/assets/889949/12374908/252373d0-bcac-11e5-8ece-6933aeae8222.png) + +[![Build Status](https://travis-ci.org/marmelroy/Zip.svg?branch=master)](https://travis-ci.org/marmelroy/Zip) [![Version](http://img.shields.io/cocoapods/v/Zip.svg)](http://cocoapods.org/?q=Zip) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![SPM supported](https://img.shields.io/badge/SPM-supported-brightgreen.svg?style=flat)](https://swift.org/package-manager) + + +# Zip +A Swift framework for zipping and unzipping files. Simple and quick to use. Built on top of [minizip](https://github.com/nmoinvaz/minizip). + +## Usage + +Import Zip at the top of the Swift file. + +```swift +import Zip +``` + +## Quick functions + +The easiest way to use Zip is through quick functions. Both take local file paths as NSURLs, throw if an error is encountered and return an NSURL to the destination if successful. +```swift +do { + let filePath = Bundle.main.url(forResource: "file", withExtension: "zip")! + let unzipDirectory = try Zip.quickUnzipFile(filePath) // Unzip + let zipFilePath = try Zip.quickZipFiles([filePath], fileName: "archive") // Zip +} +catch { + print("Something went wrong") +} +``` + +## Advanced Zip + +For more advanced usage, Zip has functions that let you set custom destination paths, work with password protected zips and use a progress handling closure. These functions throw if there is an error but don't return. +```swift +do { + let filePath = Bundle.main.url(forResource: "file", withExtension: "zip")! + let documentsDirectory = FileManager.default.urls(for:.documentDirectory, in: .userDomainMask)[0] + try Zip.unzipFile(filePath, destination: documentsDirectory, overwrite: true, password: "password", progress: { (progress) -> () in + print(progress) + }) // Unzip + + let zipFilePath = documentsFolder.appendingPathComponent("archive.zip") + try Zip.zipFiles([filePath], zipFilePath: zipFilePath, password: "password", progress: { (progress) -> () in + print(progress) + }) //Zip + +} +catch { + print("Something went wrong") +} +``` + +## Custom File Extensions + +Zip supports '.zip' and '.cbz' files out of the box. To support additional zip-derivative file extensions: +```swift +Zip.addCustomFileExtension("file-extension-here") +``` + +### [Preferred] Setting up with [Swift Package Manager](https://swift.org/package-manager) +To use Zip with Swift Package Manager, add it to your package's dependencies: +```swift +.package(url: "https://github.com/marmelroy/Zip.git", .upToNextMinor(from: "2.1")) +``` + +### Setting up with [CocoaPods](http://cocoapods.org/?q=Zip) +```ruby +source 'https://github.com/CocoaPods/Specs.git' +pod 'Zip', '~> 2.1' +``` + +### Setting up with [Carthage](https://github.com/Carthage/Carthage) +To integrate Zip into your Xcode project using Carthage, specify it in your `Cartfile`: + +```ogdl +github "marmelroy/Zip" ~> 2.1 +``` + diff --git a/src/libs/Zip/Zip/Makefile b/src/libs/Zip/Zip/Makefile new file mode 100644 index 0000000..6151738 --- /dev/null +++ b/src/libs/Zip/Zip/Makefile @@ -0,0 +1,33 @@ +CC = swiftc +CFLAGS = -g +FLAGS = -g + +build_minizip: + @:$(if $(value MACOS_VERSION),,$(error MACOS_VERSION is not defined)) + @$(MAKE) -C minizip CFLAGS=$(CFLAGS) MACOS_VERSION=$(MACOS_VERSION) all + +./arm64/libzip.a: Zip.swift QuickZip.swift ZipUtilities.swift \ + ./minizip/arm64/zip.o ./minizip/arm64/unzip.o ./minizip/arm64/ioapi.o + @:$(if $(value MACOS_VERSION),,$(error MACOS_VERSION is not defined)) + swiftc -target arm64-apple-macos$(MACOS_VERSION) -I./minizip/module \ + -I./minizip/include -L./minizip/arm64 $(FLAGS) -static \ + -module-name Zip -emit-library -emit-module -parse-as-library \ + $^ -o $@ + +./x86_64/libzip.a: Zip.swift QuickZip.swift ZipUtilities.swift \ + ./minizip/x86_64/zip.o ./minizip/x86_64/unzip.o \ + ./minizip/x86_64/ioapi.o + @:$(if $(value MACOS_VERSION),,$(error MACOS_VERSION is not defined)) + @swiftc -target x86_64-apple-macos$(MACOS_VERSION) -I./minizip/module \ + -I./minizip/include -L./minizip/x86_64 $(FLAGS) -static \ + -module-name Zip -emit-library -emit-module -parse-as-library \ + $^ -o $@ + +all: build_minizip ./arm64/libzip.a ./x86_64/libzip.a + +clean: + rm -rf arm64 x86_64 + mkdir arm64 x86_64 + +clean-all: clean + $(MAKE) -C minizip clean diff --git a/src/libs/Zip/Zip/QuickZip.swift b/src/libs/Zip/Zip/QuickZip.swift new file mode 100644 index 0000000..779912a --- /dev/null +++ b/src/libs/Zip/Zip/QuickZip.swift @@ -0,0 +1,125 @@ +// +// QuickZip.swift +// Zip +// +// Created by Roy Marmelstein on 16/01/2016. +// Copyright © 2016 Roy Marmelstein. All rights reserved. +// + +import Foundation + +extension Zip { + + /** + Get search path directory. For tvOS Documents directory doesn't exist. + + - returns: Search path directory + */ + fileprivate class func searchPathDirectory() -> FileManager.SearchPathDirectory { + var searchPathDirectory: FileManager.SearchPathDirectory = .documentDirectory + + #if os(tvOS) + searchPathDirectory = .cachesDirectory + #endif + + return searchPathDirectory + } + + //MARK: Quick Unzip + + /** + Quick unzip a file. Unzips to a new folder inside the app's documents folder with the zip file's name. + + - parameter path: Path of zipped file. NSURL. + + - throws: Error if unzipping fails or if file is not found. Can be printed with a description variable. + + - returns: NSURL of the destination folder. + */ + public class func quickUnzipFile(_ path: URL) throws -> URL { + return try quickUnzipFile(path, progress: nil) + } + + /** + Quick unzip a file. Unzips to a new folder inside the app's documents folder with the zip file's name. + + - parameter path: Path of zipped file. NSURL. + - parameter progress: A progress closure called after unzipping each file in the archive. Double value betweem 0 and 1. + + - throws: Error if unzipping fails or if file is not found. Can be printed with a description variable. + + - notes: Supports implicit progress composition + + - returns: NSURL of the destination folder. + */ + public class func quickUnzipFile(_ path: URL, progress: ((_ progress: Double) -> ())?) throws -> URL { + let fileManager = FileManager.default + + let fileExtension = path.pathExtension + let fileName = path.lastPathComponent + + let directoryName = fileName.replacingOccurrences(of: ".\(fileExtension)", with: "") + + #if os(Linux) + // urls(for:in:) is not yet implemented on Linux + // See https://github.com/apple/swift-corelibs-foundation/blob/swift-4.2-branch/Foundation/FileManager.swift#L125 + let documentsUrl = fileManager.temporaryDirectory + #else + let documentsUrl = fileManager.urls(for: self.searchPathDirectory(), in: .userDomainMask)[0] + #endif + do { + let destinationUrl = documentsUrl.appendingPathComponent(directoryName, isDirectory: true) + try self.unzipFile(path, destination: destinationUrl, overwrite: true, password: nil, progress: progress) + return destinationUrl + }catch{ + throw(ZipError.unzipFail) + } + } + + //MARK: Quick Zip + + /** + Quick zip files. + + - parameter paths: Array of NSURL filepaths. + - parameter fileName: File name for the resulting zip file. + + - throws: Error if zipping fails. + + - notes: Supports implicit progress composition + + - returns: NSURL of the destination folder. + */ + public class func quickZipFiles(_ paths: [URL], fileName: String) throws -> URL { + return try quickZipFiles(paths, fileName: fileName, progress: nil) + } + + /** + Quick zip files. + + - parameter paths: Array of NSURL filepaths. + - parameter fileName: File name for the resulting zip file. + - parameter progress: A progress closure called after unzipping each file in the archive. Double value betweem 0 and 1. + + - throws: Error if zipping fails. + + - notes: Supports implicit progress composition + + - returns: NSURL of the destination folder. + */ + public class func quickZipFiles(_ paths: [URL], fileName: String, progress: ((_ progress: Double) -> ())?) throws -> URL { + let fileManager = FileManager.default + #if os(Linux) + // urls(for:in:) is not yet implemented on Linux + // See https://github.com/apple/swift-corelibs-foundation/blob/swift-4.2-branch/Foundation/FileManager.swift#L125 + let documentsUrl = fileManager.temporaryDirectory + #else + let documentsUrl = fileManager.urls(for: self.searchPathDirectory(), in: .userDomainMask)[0] as URL + #endif + let destinationUrl = documentsUrl.appendingPathComponent("\(fileName).zip") + try self.zipFiles(paths: paths, zipFilePath: destinationUrl, password: nil, progress: progress) + return destinationUrl + } + + +} diff --git a/src/libs/Zip/Zip/Zip.h b/src/libs/Zip/Zip/Zip.h new file mode 100644 index 0000000..73180fe --- /dev/null +++ b/src/libs/Zip/Zip/Zip.h @@ -0,0 +1,19 @@ +// +// Zip.h +// Zip +// +// Created by Roy Marmelstein on 13/12/2015. +// Copyright © 2015 Roy Marmelstein. All rights reserved. +// + +@import Foundation; + +//! Project version number for Zip. +FOUNDATION_EXPORT double ZipVersionNumber; + +//! Project version string for Zip. +FOUNDATION_EXPORT const unsigned char ZipVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/src/libs/Zip/Zip/Zip.swift b/src/libs/Zip/Zip/Zip.swift new file mode 100644 index 0000000..4908f65 --- /dev/null +++ b/src/libs/Zip/Zip/Zip.swift @@ -0,0 +1,541 @@ +// +// Zip.swift +// Zip +// +// Created by Roy Marmelstein on 13/12/2015. +// Copyright © 2015 Roy Marmelstein. All rights reserved. +// + +import Foundation +@_implementationOnly import Minizip + +/// Zip error type +public enum ZipError: Error { + /// File not found + case fileNotFound + /// Unzip fail + case unzipFail + /// Zip fail + case zipFail + + /// User readable description + public var description: String { + switch self { + case .fileNotFound: return NSLocalizedString("File not found.", comment: "") + case .unzipFail: return NSLocalizedString("Failed to unzip file.", comment: "") + case .zipFail: return NSLocalizedString("Failed to zip file.", comment: "") + } + } +} + +public enum ZipCompression: Int { + case NoCompression + case BestSpeed + case DefaultCompression + case BestCompression + + internal var minizipCompression: Int32 { + switch self { + case .NoCompression: + return Z_NO_COMPRESSION + case .BestSpeed: + return Z_BEST_SPEED + case .DefaultCompression: + return Z_DEFAULT_COMPRESSION + case .BestCompression: + return Z_BEST_COMPRESSION + } + } +} + +/// Data in memory that will be archived as a file. +public struct ArchiveFile { + var filename:String + var data:NSData + var modifiedTime:Date? + + public init(filename:String, data:NSData, modifiedTime:Date?) { + self.filename = filename + self.data = data + self.modifiedTime = modifiedTime + } +} + + +/// Zip class +public class Zip { + + /** + Set of vaild file extensions + */ + internal static var customFileExtensions: Set = [] + + // MARK: Lifecycle + + /** + Init + + - returns: Zip object + */ + public init () { + } + + // MARK: Unzip + + /** + Unzip file + + - parameter zipFilePath: Local file path of zipped file. NSURL. + - parameter destination: Local file path to unzip to. NSURL. + - parameter overwrite: Overwrite bool. + - parameter password: Optional password if file is protected. + - parameter progress: A progress closure called after unzipping each file in the archive. Double value betweem 0 and 1. + + - throws: Error if unzipping fails or if fail is not found. Can be printed with a description variable. + + - notes: Supports implicit progress composition + */ + + public class func unzipFile(_ zipFilePath: URL, destination: URL, overwrite: Bool, password: String?, progress: ((_ progress: Double) -> ())? = nil, fileOutputHandler: ((_ unzippedFile: URL) -> Void)? = nil) throws { + + // File manager + let fileManager = FileManager.default + + // Check whether a zip file exists at path. + let path = zipFilePath.path + + if fileManager.fileExists(atPath: path) == false || fileExtensionIsInvalid(zipFilePath.pathExtension) { + throw ZipError.fileNotFound + } + + // Unzip set up + var ret: Int32 = 0 + var crc_ret: Int32 = 0 + let bufferSize: UInt32 = 4096 + var buffer = Array(repeating: 0, count: Int(bufferSize)) + + // Progress handler set up + var totalSize: Double = 0.0 + var currentPosition: Double = 0.0 + let fileAttributes = try fileManager.attributesOfItem(atPath: path) + if let attributeFileSize = fileAttributes[FileAttributeKey.size] as? Double { + totalSize += attributeFileSize + } + + let progressTracker = Progress(totalUnitCount: Int64(totalSize)) + progressTracker.isCancellable = false + progressTracker.isPausable = false + progressTracker.kind = ProgressKind.file + + // Begin unzipping + let zip = unzOpen64(path) + defer { + unzClose(zip) + } + if unzGoToFirstFile(zip) != UNZ_OK { + throw ZipError.unzipFail + } + repeat { + if let cPassword = password?.cString(using: String.Encoding.ascii) { + ret = unzOpenCurrentFilePassword(zip, cPassword) + } + else { + ret = unzOpenCurrentFile(zip); + } + if ret != UNZ_OK { + throw ZipError.unzipFail + } + var fileInfo = unz_file_info64() + memset(&fileInfo, 0, MemoryLayout.size) + ret = unzGetCurrentFileInfo64(zip, &fileInfo, nil, 0, nil, 0, nil, 0) + if ret != UNZ_OK { + unzCloseCurrentFile(zip) + throw ZipError.unzipFail + } + currentPosition += Double(fileInfo.compressed_size) + let fileNameSize = Int(fileInfo.size_filename) + 1 + //let fileName = UnsafeMutablePointer(allocatingCapacity: fileNameSize) + let fileName = UnsafeMutablePointer.allocate(capacity: fileNameSize) + + unzGetCurrentFileInfo64(zip, &fileInfo, fileName, UInt(fileNameSize), nil, 0, nil, 0) + fileName[Int(fileInfo.size_filename)] = 0 + + var pathString = String(cString: fileName) + + guard pathString.count > 0 else { + throw ZipError.unzipFail + } + + var isDirectory = false + let fileInfoSizeFileName = Int(fileInfo.size_filename-1) + if (fileName[fileInfoSizeFileName] == "/".cString(using: String.Encoding.utf8)?.first || fileName[fileInfoSizeFileName] == "\\".cString(using: String.Encoding.utf8)?.first) { + isDirectory = true; + } + free(fileName) + if pathString.rangeOfCharacter(from: CharacterSet(charactersIn: "/\\")) != nil { + pathString = pathString.replacingOccurrences(of: "\\", with: "/") + } + + let fullPath = destination.appendingPathComponent(pathString).standardized.path + // .standardized removes any ".. to move a level up". + // If we then check that the fullPath starts with the destination directory we know we are not extracting "outside" te destination. + guard fullPath.starts(with: destination.standardized.path) else { + throw ZipError.unzipFail + } + + let creationDate = Date() + + let directoryAttributes: [FileAttributeKey: Any]? + #if os(Linux) + // On Linux, setting attributes is not yet really implemented. + // In Swift 4.2, the only settable attribute is `.posixPermissions`. + // See https://github.com/apple/swift-corelibs-foundation/blob/swift-4.2-branch/Foundation/FileManager.swift#L182-L196 + directoryAttributes = nil + #else + directoryAttributes = [.creationDate : creationDate, + .modificationDate : creationDate] + #endif + + do { + if isDirectory { + try fileManager.createDirectory(atPath: fullPath, withIntermediateDirectories: true, attributes: directoryAttributes) + } + else { + let parentDirectory = (fullPath as NSString).deletingLastPathComponent + try fileManager.createDirectory(atPath: parentDirectory, withIntermediateDirectories: true, attributes: directoryAttributes) + } + } catch {} + if fileManager.fileExists(atPath: fullPath) && !isDirectory && !overwrite { + unzCloseCurrentFile(zip) + ret = unzGoToNextFile(zip) + } + + var writeBytes: UInt64 = 0 + var filePointer: UnsafeMutablePointer? + filePointer = fopen(fullPath, "wb") + while filePointer != nil { + let readBytes = unzReadCurrentFile(zip, &buffer, bufferSize) + if readBytes > 0 { + guard fwrite(buffer, Int(readBytes), 1, filePointer) == 1 else { + throw ZipError.unzipFail + } + writeBytes += UInt64(readBytes) + } + else { + break + } + } + + if let fp = filePointer { fclose(fp) } + + crc_ret = unzCloseCurrentFile(zip) + if crc_ret == UNZ_CRCERROR { + throw ZipError.unzipFail + } + guard writeBytes == fileInfo.uncompressed_size else { + throw ZipError.unzipFail + } + + //Set file permissions from current fileInfo + if fileInfo.external_fa != 0 { + let permissions = (fileInfo.external_fa >> 16) & 0x1FF + //We will devifne a valid permission range between Owner read only to full access + if permissions >= 0o400 && permissions <= 0o777 { + do { + try fileManager.setAttributes([.posixPermissions : permissions], ofItemAtPath: fullPath) + } catch { + print("Failed to set permissions to file \(fullPath), error: \(error)") + } + } + } + + ret = unzGoToNextFile(zip) + + // Update progress handler + if let progressHandler = progress{ + progressHandler((currentPosition/totalSize)) + } + + if let fileHandler = fileOutputHandler, + let encodedString = fullPath.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), + let fileUrl = URL(string: encodedString) { + fileHandler(fileUrl) + } + + progressTracker.completedUnitCount = Int64(currentPosition) + + } while (ret == UNZ_OK && ret != UNZ_END_OF_LIST_OF_FILE) + + // Completed. Update progress handler. + if let progressHandler = progress{ + progressHandler(1.0) + } + + progressTracker.completedUnitCount = Int64(totalSize) + + } + + // MARK: Zip + + + /** + Zip files. + + - parameter paths: Array of NSURL filepaths. + - parameter zipFilePath: Destination NSURL, should lead to a .zip filepath. + - parameter password: Password string. Optional. + - parameter compression: Compression strategy + - parameter progress: A progress closure called after unzipping each file in the archive. Double value betweem 0 and 1. + + - throws: Error if zipping fails. + + - notes: Supports implicit progress composition + */ + public class func zipFiles(paths: [URL], zipFilePath: URL, password: String?, compression: ZipCompression = .DefaultCompression, progress: ((_ progress: Double) -> ())?) throws { + + // File manager + let fileManager = FileManager.default + + // Check whether a zip file exists at path. + let destinationPath = zipFilePath.path + + // Process zip paths + let processedPaths = ZipUtilities().processZipPaths(paths) + + // Zip set up + let chunkSize: Int = 16384 + + // Progress handler set up + var currentPosition: Double = 0.0 + var totalSize: Double = 0.0 + // Get totalSize for progress handler + for path in processedPaths { + do { + let filePath = path.filePath() + let fileAttributes = try fileManager.attributesOfItem(atPath: filePath) + let fileSize = fileAttributes[FileAttributeKey.size] as? Double + if let fileSize = fileSize { + totalSize += fileSize + } + } + catch {} + } + + let progressTracker = Progress(totalUnitCount: Int64(totalSize)) + progressTracker.isCancellable = false + progressTracker.isPausable = false + progressTracker.kind = ProgressKind.file + + // Begin Zipping + let zip = zipOpen(destinationPath, APPEND_STATUS_CREATE) + for path in processedPaths { + let filePath = path.filePath() + var isDirectory: ObjCBool = false + _ = fileManager.fileExists(atPath: filePath, isDirectory: &isDirectory) + if !isDirectory.boolValue { + guard let input = fopen(filePath, "r") else { + throw ZipError.zipFail + } + defer { fclose(input) } + let fileName = path.fileName + var zipInfo: zip_fileinfo = zip_fileinfo(tmz_date: tm_zip(tm_sec: 0, tm_min: 0, tm_hour: 0, tm_mday: 0, tm_mon: 0, tm_year: 0), dosDate: 0, internal_fa: 0, external_fa: 0) + do { + let fileAttributes = try fileManager.attributesOfItem(atPath: filePath) + if let fileDate = fileAttributes[FileAttributeKey.modificationDate] as? Date { + let components = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second], from: fileDate) + zipInfo.tmz_date.tm_sec = UInt32(components.second!) + zipInfo.tmz_date.tm_min = UInt32(components.minute!) + zipInfo.tmz_date.tm_hour = UInt32(components.hour!) + zipInfo.tmz_date.tm_mday = UInt32(components.day!) + zipInfo.tmz_date.tm_mon = UInt32(components.month!) - 1 + zipInfo.tmz_date.tm_year = UInt32(components.year!) + } + if let fileSize = fileAttributes[FileAttributeKey.size] as? Double { + currentPosition += fileSize + } + } + catch {} + guard let buffer = malloc(chunkSize) else { + throw ZipError.zipFail + } + if let password = password, let fileName = fileName { + zipOpenNewFileInZip3(zip, fileName, &zipInfo, nil, 0, nil, 0, nil,Z_DEFLATED, compression.minizipCompression, 0, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, password, 0) + } + else if let fileName = fileName { + zipOpenNewFileInZip3(zip, fileName, &zipInfo, nil, 0, nil, 0, nil,Z_DEFLATED, compression.minizipCompression, 0, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, nil, 0) + } + else { + throw ZipError.zipFail + } + var length: Int = 0 + while (feof(input) == 0) { + length = fread(buffer, 1, chunkSize, input) + zipWriteInFileInZip(zip, buffer, UInt32(length)) + } + + // Update progress handler, only if progress is not 1, because + // if we call it when progress == 1, the user will receive + // a progress handler call with value 1.0 twice. + if let progressHandler = progress, currentPosition / totalSize != 1 { + progressHandler(currentPosition/totalSize) + } + + progressTracker.completedUnitCount = Int64(currentPosition) + + zipCloseFileInZip(zip) + free(buffer) + } + } + zipClose(zip, nil) + + // Completed. Update progress handler. + if let progressHandler = progress{ + progressHandler(1.0) + } + + progressTracker.completedUnitCount = Int64(totalSize) + } + + /** + Zip data in memory. + + - parameter archiveFiles:Array of Archive Files. + - parameter zipFilePath: Destination NSURL, should lead to a .zip filepath. + - parameter password: Password string. Optional. + - parameter compression: Compression strategy + - parameter progress: A progress closure called after unzipping each file in the archive. Double value betweem 0 and 1. + + - throws: Error if zipping fails. + + - notes: Supports implicit progress composition + */ + public class func zipData(archiveFiles:[ArchiveFile], zipFilePath:URL, password: String?, compression: ZipCompression = .DefaultCompression, progress: ((_ progress: Double) -> ())?) throws { + + let destinationPath = zipFilePath.path + + // Progress handler set up + var currentPosition: Int = 0 + var totalSize: Int = 0 + + for archiveFile in archiveFiles { + totalSize += archiveFile.data.length + } + + let progressTracker = Progress(totalUnitCount: Int64(totalSize)) + progressTracker.isCancellable = false + progressTracker.isPausable = false + progressTracker.kind = ProgressKind.file + + // Begin Zipping + let zip = zipOpen(destinationPath, APPEND_STATUS_CREATE) + + for archiveFile in archiveFiles { + + // Skip empty data + if archiveFile.data.length == 0 { + continue + } + + // Setup the zip file info + var zipInfo = zip_fileinfo(tmz_date: tm_zip(tm_sec: 0, tm_min: 0, tm_hour: 0, tm_mday: 0, tm_mon: 0, tm_year: 0), + dosDate: 0, + internal_fa: 0, + external_fa: 0) + + if let modifiedTime = archiveFile.modifiedTime { + let calendar = Calendar.current + zipInfo.tmz_date.tm_sec = UInt32(calendar.component(.second, from: modifiedTime)) + zipInfo.tmz_date.tm_min = UInt32(calendar.component(.minute, from: modifiedTime)) + zipInfo.tmz_date.tm_hour = UInt32(calendar.component(.hour, from: modifiedTime)) + zipInfo.tmz_date.tm_mday = UInt32(calendar.component(.day, from: modifiedTime)) + zipInfo.tmz_date.tm_mon = UInt32(calendar.component(.month, from: modifiedTime)) + zipInfo.tmz_date.tm_year = UInt32(calendar.component(.year, from: modifiedTime)) + } + + // Write the data as a file to zip + zipOpenNewFileInZip3(zip, + archiveFile.filename, + &zipInfo, + nil, + 0, + nil, + 0, + nil, + Z_DEFLATED, + compression.minizipCompression, + 0, + -MAX_WBITS, + DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, + password, + 0) + zipWriteInFileInZip(zip, archiveFile.data.bytes, UInt32(archiveFile.data.length)) + zipCloseFileInZip(zip) + + // Update progress handler + currentPosition += archiveFile.data.length + + if let progressHandler = progress{ + progressHandler((Double(currentPosition/totalSize))) + } + + progressTracker.completedUnitCount = Int64(currentPosition) + } + + zipClose(zip, nil) + + // Completed. Update progress handler. + if let progressHandler = progress{ + progressHandler(1.0) + } + + progressTracker.completedUnitCount = Int64(totalSize) + } + + /** + Check if file extension is invalid. + + - parameter fileExtension: A file extension. + + - returns: false if the extension is a valid file extension, otherwise true. + */ + internal class func fileExtensionIsInvalid(_ fileExtension: String?) -> Bool { + + guard let fileExtension = fileExtension else { return true } + + return !isValidFileExtension(fileExtension) + } + + /** + Add a file extension to the set of custom file extensions + + - parameter fileExtension: A file extension. + */ + public class func addCustomFileExtension(_ fileExtension: String) { + customFileExtensions.insert(fileExtension) + } + + /** + Remove a file extension from the set of custom file extensions + + - parameter fileExtension: A file extension. + */ + public class func removeCustomFileExtension(_ fileExtension: String) { + customFileExtensions.remove(fileExtension) + } + + /** + Check if a specific file extension is valid + + - parameter fileExtension: A file extension. + + - returns: true if the extension valid, otherwise false. + */ + public class func isValidFileExtension(_ fileExtension: String) -> Bool { + + let validFileExtensions: Set = customFileExtensions.union(["zip", "cbz"]) + + return validFileExtensions.contains(fileExtension) + } + +} diff --git a/src/libs/Zip/Zip/ZipUtilities.swift b/src/libs/Zip/Zip/ZipUtilities.swift new file mode 100644 index 0000000..0bcec54 --- /dev/null +++ b/src/libs/Zip/Zip/ZipUtilities.swift @@ -0,0 +1,108 @@ +// +// ZipUtilities.swift +// Zip +// +// Created by Roy Marmelstein on 26/01/2016. +// Copyright © 2016 Roy Marmelstein. All rights reserved. +// + +import Foundation + +internal class ZipUtilities { + + /* + Include root directory. + Default is true. + + e.g. The Test directory contains two files A.txt and B.txt. + + As true: + $ zip -r Test.zip Test/ + $ unzip -l Test.zip + Test/ + Test/A.txt + Test/B.txt + + As false: + $ zip -r Test.zip Test/ + $ unzip -l Test.zip + A.txt + B.txt + */ + let includeRootDirectory = true + + // File manager + let fileManager = FileManager.default + + /** + * ProcessedFilePath struct + */ + internal struct ProcessedFilePath { + let filePathURL: URL + let fileName: String? + + func filePath() -> String { + return filePathURL.path + } + } + + //MARK: Path processing + + /** + Process zip paths + + - parameter paths: Paths as NSURL. + + - returns: Array of ProcessedFilePath structs. + */ + internal func processZipPaths(_ paths: [URL]) -> [ProcessedFilePath]{ + var processedFilePaths = [ProcessedFilePath]() + for path in paths { + let filePath = path.path + var isDirectory: ObjCBool = false + _ = fileManager.fileExists(atPath: filePath, isDirectory: &isDirectory) + if !isDirectory.boolValue { + let processedPath = ProcessedFilePath(filePathURL: path, fileName: path.lastPathComponent) + processedFilePaths.append(processedPath) + } + else { + let directoryContents = expandDirectoryFilePath(path) + processedFilePaths.append(contentsOf: directoryContents) + } + } + return processedFilePaths + } + + + /** + Expand directory contents and parse them into ProcessedFilePath structs. + + - parameter directory: Path of folder as NSURL. + + - returns: Array of ProcessedFilePath structs. + */ + internal func expandDirectoryFilePath(_ directory: URL) -> [ProcessedFilePath] { + var processedFilePaths = [ProcessedFilePath]() + let directoryPath = directory.path + if let enumerator = fileManager.enumerator(atPath: directoryPath) { + while let filePathComponent = enumerator.nextObject() as? String { + let path = directory.appendingPathComponent(filePathComponent) + let filePath = path.path + + var isDirectory: ObjCBool = false + _ = fileManager.fileExists(atPath: filePath, isDirectory: &isDirectory) + if !isDirectory.boolValue { + var fileName = filePathComponent + if includeRootDirectory { + let directoryName = directory.lastPathComponent + fileName = (directoryName as NSString).appendingPathComponent(filePathComponent) + } + let processedPath = ProcessedFilePath(filePathURL: path, fileName: fileName) + processedFilePaths.append(processedPath) + } + } + } + return processedFilePaths + } + +} diff --git a/src/libs/Zip/Zip/minizip/Makefile b/src/libs/Zip/Zip/minizip/Makefile new file mode 100644 index 0000000..7c11cb3 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/Makefile @@ -0,0 +1,27 @@ +SRCMODULES = zip.c unzip.c ioapi.c +ARMOBJMODULES = $(addprefix ./arm64/,$(SRCMODULES:.c=.o)) +X86OBJMODULES = $(addprefix ./x86_64/,$(SRCMODULES:.c=.o)) +HEADERS = $(wildcard ./include/*.h) + +CC = clang +CFLAGS = -g + +./arm64/%.o: %.c $(HEADERS) + @:$(if $(value MACOS_VERSION),,$(error MACOS_VERSION is not defined)) + $(CC) -target arm64-apple-macos -mmacosx-version-min=$(MACOS_VERSION) \ + $(CFLAGS) -fmodule-file=./module/module.modulemap -I./include \ + -c $< -o ./$@ + +./x86_64/%.o: %.c $(HEADERS) + @:$(if $(value MACOS_VERSION),,$(error MACOS_VERSION is not defined)) + @$(CC) -target x86_64-apple-macos -mmacosx-version-min=$(MACOS_VERSION) \ + $(CFLAGS) -fmodule-file=./module/module.modulemap -I./include \ + -c $< -o ./$@ + +all: $(ARMOBJMODULES) $(X86OBJMODULES) + +default: $(OBJMODULES) + +clean: + rm -rf arm64 x86_64 + mkdir arm64 x86_64 diff --git a/src/libs/Zip/Zip/minizip/include/Minizip.h b/src/libs/Zip/Zip/minizip/include/Minizip.h new file mode 100644 index 0000000..c50f632 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/include/Minizip.h @@ -0,0 +1,16 @@ +// +// Minizip.h +// Zip +// +// Created by Florian Friedrich on 3/27/19. +// Copyright © 2019 Roy Marmelstein. All rights reserved. +// + +#ifndef Minizip_h +#define Minizip_h + +#import "crypt.h" +#import "unzip.h" +#import "zip.h" + +#endif /* Minizip_h */ diff --git a/src/libs/Zip/Zip/minizip/include/crypt.h b/src/libs/Zip/Zip/minizip/include/crypt.h new file mode 100644 index 0000000..8705208 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/include/crypt.h @@ -0,0 +1,131 @@ +/* crypt.h -- base code for traditional PKWARE encryption + Version 1.01e, February 12th, 2005 + + Copyright (C) 1998-2005 Gilles Vollant + Modifications for Info-ZIP crypting + Copyright (C) 2003 Terry Thorsen + + This code is a modified version of crypting code in Info-ZIP distribution + + Copyright (C) 1990-2000 Info-ZIP. All rights reserved. + + See the Info-ZIP LICENSE file version 2000-Apr-09 or later for terms of use + which also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html + + The encryption/decryption parts of this source code (as opposed to the + non-echoing password parts) were originally written in Europe. The + whole source package can be freely distributed, including from the USA. + (Prior to January 2000, re-export from the US was a violation of US law.) + + This encryption code is a direct transcription of the algorithm from + Roger Schlafly, described by Phil Katz in the file appnote.txt. This + file (appnote.txt) is distributed with the PKZIP program (even in the + version without encryption capabilities). + + If you don't need crypting in your application, just define symbols + NOCRYPT and NOUNCRYPT. +*/ + +#define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) + +/*********************************************************************** + * Return the next byte in the pseudo-random sequence + */ +static int decrypt_byte(unsigned long* pkeys) +{ + unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an + * unpredictable manner on 16-bit systems; not a problem + * with any known compiler so far, though */ + + temp = ((unsigned)(*(pkeys+2)) & 0xffff) | 2; + return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); +} + +/*********************************************************************** + * Update the encryption keys with the next byte of plain text + */ +static int update_keys(unsigned long* pkeys, const unsigned long* pcrc_32_tab, int c) +{ + (*(pkeys+0)) = CRC32((*(pkeys+0)), c); + (*(pkeys+1)) += (*(pkeys+0)) & 0xff; + (*(pkeys+1)) = (*(pkeys+1)) * 134775813L + 1; + { + register int keyshift = (int)((*(pkeys+1)) >> 24); + (*(pkeys+2)) = CRC32((*(pkeys+2)), keyshift); + } + return c; +} + + +/*********************************************************************** + * Initialize the encryption keys and the random header according to + * the given password. + */ +static void init_keys(const char* passwd, unsigned long* pkeys, const unsigned long* pcrc_32_tab) +{ + *(pkeys+0) = 305419896L; + *(pkeys+1) = 591751049L; + *(pkeys+2) = 878082192L; + while (*passwd != 0) + { + update_keys(pkeys,pcrc_32_tab,(int)*passwd); + passwd++; + } +} + +#define zdecode(pkeys,pcrc_32_tab,c) \ + (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys))) + +#define zencode(pkeys,pcrc_32_tab,c,t) \ + (t=decrypt_byte(pkeys), update_keys(pkeys,pcrc_32_tab,c), t^(c)) + +#ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED + +#define RAND_HEAD_LEN 12 + /* "last resort" source for second part of crypt seed pattern */ +# ifndef ZCR_SEED2 +# define ZCR_SEED2 3141592654UL /* use PI as default pattern */ +# endif + +static int crypthead(const char* passwd, /* password string */ + unsigned char* buf, /* where to write header */ + int bufSize, + unsigned long* pkeys, + const unsigned long* pcrc_32_tab, + unsigned long crcForCrypting) +{ + int n; /* index in random header */ + int t; /* temporary */ + int c; /* random byte */ + unsigned char header[RAND_HEAD_LEN-2]; /* random header */ + static unsigned calls = 0; /* ensure different random header each time */ + + if (bufSize < RAND_HEAD_LEN) + return 0; + + /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the + * output of rand() to get less predictability, since rand() is + * often poorly implemented. + */ + if (++calls == 1) + { + srand((unsigned)(time(NULL) ^ ZCR_SEED2)); + } + init_keys(passwd, pkeys, pcrc_32_tab); + for (n = 0; n < RAND_HEAD_LEN-2; n++) + { + c = (rand() >> 7) & 0xff; + header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); + } + /* Encrypt random header (last two bytes is high word of crc) */ + init_keys(passwd, pkeys, pcrc_32_tab); + for (n = 0; n < RAND_HEAD_LEN-2; n++) + { + buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); + } + buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); + buf[n++] = (unsigned char)zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); + return n; +} + +#endif diff --git a/src/libs/Zip/Zip/minizip/include/ioapi.h b/src/libs/Zip/Zip/minizip/include/ioapi.h new file mode 100644 index 0000000..79dc5ef --- /dev/null +++ b/src/libs/Zip/Zip/minizip/include/ioapi.h @@ -0,0 +1,178 @@ +/* ioapi.h -- IO base function header for compress/uncompress .zip + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications for Zip64 support + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#ifndef _ZLIBIOAPI64_H +#define _ZLIBIOAPI64_H + +#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) +# ifndef __USE_FILE_OFFSET64 +# define __USE_FILE_OFFSET64 +# endif +# ifndef __USE_LARGEFILE64 +# define __USE_LARGEFILE64 +# endif +# ifndef _LARGEFILE64_SOURCE +# define _LARGEFILE64_SOURCE +# endif +# ifndef _FILE_OFFSET_BIT +# define _FILE_OFFSET_BIT 64 +# endif +#endif + +#include +#include + +#ifndef _ZLIB_H +#include +#endif + +#if defined(USE_FILE32API) +# define fopen64 fopen +# define ftello64 ftell +# define fseeko64 fseek +#else +# if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__OpenBSD__) +# define fopen64 fopen +# define ftello64 ftello +# define fseeko64 fseeko +# endif +# ifdef _MSC_VER +# define fopen64 fopen +# if (_MSC_VER >= 1400) && (!(defined(NO_MSCVER_FILE64_FUNC))) +# define ftello64 _ftelli64 +# define fseeko64 _fseeki64 +# else /* old MSC */ +# define ftello64 ftell +# define fseeko64 fseek +# endif +# endif +#endif + +/* a type choosen by DEFINE */ +#ifdef HAVE_64BIT_INT_CUSTOM +typedef 64BIT_INT_CUSTOM_TYPE ZPOS64_T; +#else +# ifdef HAVE_STDINT_H +# include "stdint.h" + typedef uint64_t ZPOS64_T; +# else +# if defined(_MSC_VER) || defined(__BORLANDC__) + typedef unsigned __int64 ZPOS64_T; +# else + typedef unsigned long long int ZPOS64_T; +# endif +# endif +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define ZLIB_FILEFUNC_SEEK_CUR (1) +#define ZLIB_FILEFUNC_SEEK_END (2) +#define ZLIB_FILEFUNC_SEEK_SET (0) + +#define ZLIB_FILEFUNC_MODE_READ (1) +#define ZLIB_FILEFUNC_MODE_WRITE (2) +#define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) +#define ZLIB_FILEFUNC_MODE_EXISTING (4) +#define ZLIB_FILEFUNC_MODE_CREATE (8) + +#ifndef ZCALLBACK +# if (defined(WIN32) || defined(_WIN32) || defined (WINDOWS) || \ + defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) +# define ZCALLBACK CALLBACK +# else +# define ZCALLBACK +# endif +#endif + +typedef voidpf (ZCALLBACK *open_file_func) OF((voidpf opaque, const char* filename, int mode)); +typedef voidpf (ZCALLBACK *opendisk_file_func) OF((voidpf opaque, voidpf stream, int number_disk, int mode)); +typedef uLong (ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); +typedef uLong (ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); +typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); +typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); + +typedef long (ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); +typedef long (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); + +/* here is the "old" 32 bits structure structure */ +typedef struct zlib_filefunc_def_s +{ + open_file_func zopen_file; + opendisk_file_func zopendisk_file; + read_file_func zread_file; + write_file_func zwrite_file; + tell_file_func ztell_file; + seek_file_func zseek_file; + close_file_func zclose_file; + testerror_file_func zerror_file; + voidpf opaque; +} zlib_filefunc_def; + +typedef ZPOS64_T (ZCALLBACK *tell64_file_func) OF((voidpf opaque, voidpf stream)); +typedef long (ZCALLBACK *seek64_file_func) OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); +typedef voidpf (ZCALLBACK *open64_file_func) OF((voidpf opaque, const void* filename, int mode)); +typedef voidpf (ZCALLBACK *opendisk64_file_func)OF((voidpf opaque, voidpf stream, int number_disk, int mode)); + +typedef struct zlib_filefunc64_def_s +{ + open64_file_func zopen64_file; + opendisk64_file_func zopendisk64_file; + read_file_func zread_file; + write_file_func zwrite_file; + tell64_file_func ztell64_file; + seek64_file_func zseek64_file; + close_file_func zclose_file; + testerror_file_func zerror_file; + voidpf opaque; +} zlib_filefunc64_def; + +void fill_fopen_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); +void fill_fopen64_filefunc OF((zlib_filefunc64_def* pzlib_filefunc_def)); + +/* now internal definition, only for zip.c and unzip.h */ +typedef struct zlib_filefunc64_32_def_s +{ + zlib_filefunc64_def zfile_func64; + open_file_func zopen32_file; + opendisk_file_func zopendisk32_file; + tell_file_func ztell32_file; + seek_file_func zseek32_file; +} zlib_filefunc64_32_def; + +#define ZREAD64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zread_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) +#define ZWRITE64(filefunc,filestream,buf,size) ((*((filefunc).zfile_func64.zwrite_file)) ((filefunc).zfile_func64.opaque,filestream,buf,size)) +/*#define ZTELL64(filefunc,filestream) ((*((filefunc).ztell64_file)) ((filefunc).opaque,filestream))*/ +/*#define ZSEEK64(filefunc,filestream,pos,mode) ((*((filefunc).zseek64_file)) ((filefunc).opaque,filestream,pos,mode))*/ +#define ZCLOSE64(filefunc,filestream) ((*((filefunc).zfile_func64.zclose_file)) ((filefunc).zfile_func64.opaque,filestream)) +#define ZERROR64(filefunc,filestream) ((*((filefunc).zfile_func64.zerror_file)) ((filefunc).zfile_func64.opaque,filestream)) + +voidpf call_zopen64 OF((const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode)); +voidpf call_zopendisk64 OF((const zlib_filefunc64_32_def* pfilefunc, voidpf filestream, int number_disk, int mode)); +long call_zseek64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin)); +ZPOS64_T call_ztell64 OF((const zlib_filefunc64_32_def* pfilefunc,voidpf filestream)); + +void fill_zlib_filefunc64_32_def_from_filefunc32 OF((zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)); + +#define ZOPEN64(filefunc,filename,mode) (call_zopen64((&(filefunc)),(filename),(mode))) +#define ZOPENDISK64(filefunc,filestream,diskn,mode) (call_zopendisk64((&(filefunc)),(filestream),(diskn),(mode))) +#define ZTELL64(filefunc,filestream) (call_ztell64((&(filefunc)),(filestream))) +#define ZSEEK64(filefunc,filestream,pos,mode) (call_zseek64((&(filefunc)),(filestream),(pos),(mode))) + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/libs/Zip/Zip/minizip/include/unzip.h b/src/libs/Zip/Zip/minizip/include/unzip.h new file mode 100644 index 0000000..5645215 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/include/unzip.h @@ -0,0 +1,319 @@ +/* unzip.h -- IO for uncompress .zip files using zlib + Version 1.1, February 14h, 2010 + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications of Unzip for Zip64 + Copyright (C) 2007-2008 Even Rouault + Modifications for Zip64 support on both zip and unzip + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#ifndef _UNZ_H +#define _UNZ_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include +#endif + +#ifndef _ZLIBIOAPI_H +#include "ioapi.h" +#endif + +#ifdef HAVE_BZIP2 +#include "bzlib.h" +#endif + +#define Z_BZIP2ED 12 + +#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagunzFile__ { int unused; } unzFile__; +typedef unzFile__ *unzFile; +#else +typedef voidp unzFile; +#endif + +#define UNZ_OK (0) +#define UNZ_END_OF_LIST_OF_FILE (-100) +#define UNZ_ERRNO (Z_ERRNO) +#define UNZ_EOF (0) +#define UNZ_PARAMERROR (-102) +#define UNZ_BADZIPFILE (-103) +#define UNZ_INTERNALERROR (-104) +#define UNZ_CRCERROR (-105) + +/* tm_unz contain date/time info */ +typedef struct tm_unz_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_unz; + +/* unz_global_info structure contain global data about the ZIPfile + These data comes from the end of central dir */ +typedef struct unz_global_info64_s +{ + ZPOS64_T number_entry; /* total number of entries in the central dir on this disk */ + uLong number_disk_with_CD; /* number the the disk with central dir, used for spanning ZIP*/ + uLong size_comment; /* size of the global comment of the zipfile */ +} unz_global_info64; + +typedef struct unz_global_info_s +{ + uLong number_entry; /* total number of entries in the central dir on this disk */ + uLong number_disk_with_CD; /* number the the disk with central dir, used for spanning ZIP*/ + uLong size_comment; /* size of the global comment of the zipfile */ +} unz_global_info; + +/* unz_file_info contain information about a file in the zipfile */ +typedef struct unz_file_info64_s +{ + uLong version; /* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + ZPOS64_T compressed_size; /* compressed size 8 bytes */ + ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */ + uLong size_filename; /* filename length 2 bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 bytes */ + + uLong disk_num_start; /* disk number start 2 bytes */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ + + tm_unz tmu_date; + ZPOS64_T disk_offset; + uLong size_file_extra_internal; +} unz_file_info64; + +typedef struct unz_file_info_s +{ + uLong version; /* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + uLong compressed_size; /* compressed size 4 bytes */ + uLong uncompressed_size; /* uncompressed size 4 bytes */ + uLong size_filename; /* filename length 2 bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 bytes */ + + uLong disk_num_start; /* disk number start 2 bytes */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ + + tm_unz tmu_date; + uLong disk_offset; +} unz_file_info; + +/***************************************************************************/ +/* Opening and close a zip file */ + +extern unzFile ZEXPORT unzOpen OF((const char *path)); +extern unzFile ZEXPORT unzOpen64 OF((const void *path)); +/* Open a Zip file. + + path should contain the full pathname (by example, on a Windows XP computer + "c:\\zlib\\zlib113.zip" or on an Unix computer "zlib/zlib113.zip". + return NULL if zipfile cannot be opened or doesn't exist + return unzFile handle if no error + + NOTE: The "64" function take a const void* pointer, because the path is just the value passed to the + open64_file_func callback. Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path + is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char* does not describe the reality */ + +extern unzFile ZEXPORT unzOpen2 OF((const char *path, zlib_filefunc_def* pzlib_filefunc_def)); +/* Open a Zip file, like unzOpen, but provide a set of file low level API for read/write operations */ +extern unzFile ZEXPORT unzOpen2_64 OF((const void *path, zlib_filefunc64_def* pzlib_filefunc_def)); +/* Open a Zip file, like unz64Open, but provide a set of file low level API for read/write 64-bit operations */ + +extern int ZEXPORT unzClose OF((unzFile file)); +/* Close a ZipFile opened with unzipOpen. If there is files inside the .Zip opened with unzOpenCurrentFile, + these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + + return UNZ_OK if there is no error */ + +extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, unz_global_info *pglobal_info)); +extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file, unz_global_info64 *pglobal_info)); +/* Write info about the ZipFile in the *pglobal_info structure. + + return UNZ_OK if no error */ + +extern int ZEXPORT unzGetGlobalComment OF((unzFile file, char *comment, uLong comment_size)); +/* Get the global comment string of the ZipFile, in the comment buffer. + + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 */ + +/***************************************************************************/ +/* Reading the content of the current zipfile, you can open it, read data from it, and close it + (you can close it before reading all the file) */ + +extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); +/* Open for reading data the current file in the zipfile. + + return UNZ_OK if no error */ + +extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file, const char* password)); +/* Open for reading data the current file in the zipfile. + password is a crypting password + + return UNZ_OK if no error */ + +extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file, int* method, int* level, int raw)); +/* Same as unzOpenCurrentFile, but open for read raw the file (not uncompress) + if raw==1 *method will receive method of compression, *level will receive level of compression + + NOTE: you can set level parameter as NULL (if you did not want known level, + but you CANNOT set method parameter as NULL */ + +extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file, int* method, int* level, int raw, const char* password)); +/* Same as unzOpenCurrentFile, but takes extra parameter password for encrypted files */ + +extern int ZEXPORT unzReadCurrentFile OF((unzFile file, voidp buf, unsigned len)); +/* Read bytes from the current file (opened by unzOpenCurrentFile) + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ + +extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, unz_file_info *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size)); +extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size)); +/* Get Info about the current file + + pfile_info if != NULL, the *pfile_info structure will contain somes info about the current file + filename if != NULL, the file name string will be copied in filename + filename_size is the size of the filename buffer + extrafield if != NULL, the extra field information from the central header will be copied in to + extrafield_size is the size of the extraField buffer + comment if != NULL, the comment string of the file will be copied in to + comment_size is the size of the comment buffer */ + +extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file)); + +extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, voidp buf, unsigned len)); +/* Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf == NULL, it return the size of the local extra field + if buf != NULL, len is the size of the buffer, the extra header is copied in buf. + + return number of bytes copied in buf, or (if <0) the error code */ + +extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); +/* Close the file in zip opened with unzOpenCurrentFile + + return UNZ_CRCERROR if all the file was read but the CRC is not good */ + +/***************************************************************************/ +/* Browse the directory of the zipfile */ + +typedef int (*unzFileNameComparer)(unzFile file, const char *filename1, const char *filename2); +typedef int (*unzIteratorFunction)(unzFile file); +typedef int (*unzIteratorFunction2)(unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size); + +extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); +/* Set the current file of the zipfile to the first file. + + return UNZ_OK if no error */ + +extern int ZEXPORT unzGoToFirstFile2 OF((unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size)); +/* Set the current file of the zipfile to the first file and retrieves the current info on success. + Not as seek intensive as unzGoToFirstFile + unzGetCurrentFileInfo. + + return UNZ_OK if no error */ + +extern int ZEXPORT unzGoToNextFile OF((unzFile file)); +/* Set the current file of the zipfile to the next file. + + return UNZ_OK if no error + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest */ + +extern int ZEXPORT unzGoToNextFile2 OF((unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size)); +/* Set the current file of the zipfile to the next file and retrieves the current + info on success. Does less seeking around than unzGotoNextFile + unzGetCurrentFileInfo. + + return UNZ_OK if no error + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest */ + +extern int ZEXPORT unzLocateFile OF((unzFile file, const char *filename, unzFileNameComparer filename_compare_func)); +/* Try locate the file szFileName in the zipfile. For custom filename comparison pass in comparison function. + + return UNZ_OK if the file is found (it becomes the current file) + return UNZ_END_OF_LIST_OF_FILE if the file is not found */ + +/***************************************************************************/ +/* Raw access to zip file */ + +typedef struct unz_file_pos_s +{ + uLong pos_in_zip_directory; /* offset in zip file directory */ + uLong num_of_file; /* # of file */ +} unz_file_pos; + +extern int ZEXPORT unzGetFilePos OF((unzFile file, unz_file_pos* file_pos)); +extern int ZEXPORT unzGoToFilePos OF((unzFile file, unz_file_pos* file_pos)); + +typedef struct unz64_file_pos_s +{ + ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */ + ZPOS64_T num_of_file; /* # of file */ +} unz64_file_pos; + +extern int ZEXPORT unzGetFilePos64 OF((unzFile file, unz64_file_pos* file_pos)); +extern int ZEXPORT unzGoToFilePos64 OF((unzFile file, const unz64_file_pos* file_pos)); + +extern uLong ZEXPORT unzGetOffset OF((unzFile file)); +extern ZPOS64_T ZEXPORT unzGetOffset64 OF((unzFile file)); +/* Get the current file offset */ + +extern int ZEXPORT unzSetOffset OF((unzFile file, uLong pos)); +extern int ZEXPORT unzSetOffset64 OF((unzFile file, ZPOS64_T pos)); +/* Set the current file offset */ + +extern z_off_t ZEXPORT unztell OF((unzFile file)); +extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file)); +/* return current position in uncompressed data */ + +extern int ZEXPORT unzseek OF((unzFile file, z_off_t offset, int origin)); +extern int ZEXPORT unzseek64 OF((unzFile file, ZPOS64_T offset, int origin)); +/* Seek within the uncompressed data if compression method is storage */ + +extern int ZEXPORT unzeof OF((unzFile file)); +/* return 1 if the end of file was reached, 0 elsewhere */ + +/***************************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif /* _UNZ_H */ diff --git a/src/libs/Zip/Zip/minizip/include/zip.h b/src/libs/Zip/Zip/minizip/include/zip.h new file mode 100644 index 0000000..5eb963b --- /dev/null +++ b/src/libs/Zip/Zip/minizip/include/zip.h @@ -0,0 +1,198 @@ +/* zip.h -- IO on .zip files using zlib + Version 1.1, February 14h, 2010 + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications for Zip64 support + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#ifndef _ZIP_H +#define _ZIP_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +# include +#endif + +#ifndef _ZLIBIOAPI_H +# include "ioapi.h" +#endif + +#ifdef HAVE_BZIP2 +# include "bzlib.h" +#endif + +#define Z_BZIP2ED 12 + +#if defined(STRICTZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagzipFile__ { int unused; } zipFile__; +typedef zipFile__ *zipFile; +#else +typedef voidp zipFile; +#endif + +#define ZIP_OK (0) +#define ZIP_EOF (0) +#define ZIP_ERRNO (Z_ERRNO) +#define ZIP_PARAMERROR (-102) +#define ZIP_BADZIPFILE (-103) +#define ZIP_INTERNALERROR (-104) + +#ifndef DEF_MEM_LEVEL +# if MAX_MEM_LEVEL >= 8 +# define DEF_MEM_LEVEL 8 +# else +# define DEF_MEM_LEVEL MAX_MEM_LEVEL +# endif +#endif +/* default memLevel */ + +/* tm_zip contain date/time info */ +typedef struct tm_zip_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_zip; + +typedef struct +{ + tm_zip tmz_date; /* date in understandable format */ + uLong dosDate; /* if dos_date == 0, tmu_date is used */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ +} zip_fileinfo; + +#define APPEND_STATUS_CREATE (0) +#define APPEND_STATUS_CREATEAFTER (1) +#define APPEND_STATUS_ADDINZIP (2) + +/***************************************************************************/ +/* Writing a zip file */ + +extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append)); +extern zipFile ZEXPORT zipOpen64 OF((const void *pathname, int append)); +/* Create a zipfile. + + pathname should contain the full pathname (by example, on a Windows XP computer + "c:\\zlib\\zlib113.zip" or on an Unix computer "zlib/zlib113.zip". + + return NULL if zipfile cannot be opened + return zipFile handle if no error + + If the file pathname exist and append == APPEND_STATUS_CREATEAFTER, the zip + will be created at the end of the file. (useful if the file contain a self extractor code) + If the file pathname exist and append == APPEND_STATUS_ADDINZIP, we will add files in existing + zip (be sure you don't add file that doesn't exist) + + NOTE: There is no delete function into a zipfile. If you want delete file into a zipfile, + you must open a zipfile, and create another. Of course, you can use RAW reading and writing to copy + the file you did not want delete. */ + +extern zipFile ZEXPORT zipOpen2 OF((const char *pathname, int append, const char ** globalcomment, + zlib_filefunc_def* pzlib_filefunc_def)); + +extern zipFile ZEXPORT zipOpen2_64 OF((const void *pathname, int append, const char ** globalcomment, + zlib_filefunc64_def* pzlib_filefunc_def)); + +extern zipFile ZEXPORT zipOpen3 OF((const char *pathname, int append, ZPOS64_T disk_size, + const char ** globalcomment, zlib_filefunc_def* pzlib_filefunc_def)); +/* Same as zipOpen2 but allows specification of spanned zip size */ + +extern zipFile ZEXPORT zipOpen3_64 OF((const void *pathname, int append, ZPOS64_T disk_size, + const char ** globalcomment, zlib_filefunc64_def* pzlib_filefunc_def)); + +extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level)); +/* Open a file in the ZIP for writing. + + filename : the filename in zip (if NULL, '-' without quote will be used + *zipfi contain supplemental information + extrafield_local buffer to store the local header extra field data, can be NULL + size_extrafield_local size of extrafield_local buffer + extrafield_global buffer to store the global header extra field data, can be NULL + size_extrafield_global size of extrafield_local buffer + comment buffer for comment string + method contain the compression method (0 for store, Z_DEFLATED for deflate) + level contain the level of compression (can be Z_DEFAULT_COMPRESSION) + zip64 is set to 1 if a zip64 extended information block should be added to the local file header. + this MUST be '1' if the uncompressed size is >= 0xffffffff. */ + +extern int ZEXPORT zipOpenNewFileInZip64 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int zip64)); +/* Same as zipOpenNewFileInZip with zip64 support */ + +extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw)); +/* Same as zipOpenNewFileInZip, except if raw=1, we write raw file */ + +extern int ZEXPORT zipOpenNewFileInZip2_64 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int zip64)); +/* Same as zipOpenNewFileInZip3 with zip64 support */ + +extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, + int strategy, const char* password, uLong crcForCrypting)); +/* Same as zipOpenNewFileInZip2, except + windowBits, memLevel, strategy : see parameter strategy in deflateInit2 + password : crypting password (NULL for no crypting) + crcForCrypting : crc of file to compress (needed for crypting) */ + +extern int ZEXPORT zipOpenNewFileInZip3_64 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, + int strategy, const char* password, uLong crcForCrypting, int zip64)); +/* Same as zipOpenNewFileInZip3 with zip64 support */ + +extern int ZEXPORT zipOpenNewFileInZip4 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, + int strategy, const char* password, uLong crcForCrypting, uLong versionMadeBy, uLong flagBase)); +/* Same as zipOpenNewFileInZip3 except versionMadeBy & flag fields */ + +extern int ZEXPORT zipOpenNewFileInZip4_64 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, + int strategy, const char* password, uLong crcForCrypting, uLong versionMadeBy, uLong flagBase, int zip64)); +/* Same as zipOpenNewFileInZip4 with zip64 support */ + +extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, const void* buf, unsigned len)); +/* Write data in the zipfile */ + +extern int ZEXPORT zipCloseFileInZip OF((zipFile file)); +/* Close the current file in the zipfile */ + +extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file, uLong uncompressed_size, uLong crc32)); +extern int ZEXPORT zipCloseFileInZipRaw64 OF((zipFile file, ZPOS64_T uncompressed_size, uLong crc32)); +/* Close the current file in the zipfile, for file opened with parameter raw=1 in zipOpenNewFileInZip2 + uncompressed_size and crc32 are value for the uncompressed size */ + +extern int ZEXPORT zipClose OF((zipFile file, const char* global_comment)); +/* Close the zipfile */ + +/***************************************************************************/ + +#ifdef __cplusplus +} +#endif + +#endif /* _ZIP_H */ diff --git a/src/libs/Zip/Zip/minizip/ioapi.c b/src/libs/Zip/Zip/minizip/ioapi.c new file mode 100644 index 0000000..586dfe4 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/ioapi.c @@ -0,0 +1,369 @@ +/* ioapi.h -- IO base function header for compress/uncompress .zip + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications for Zip64 support + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#include +#include + +#include "ioapi.h" + +#if defined(_WIN32) +# define snprintf _snprintf +#endif + +#ifdef __APPLE__ +/* In darwin and perhaps other BSD variants off_t is a 64 bit value, hence no need for specific 64 bit functions */ +# define FOPEN_FUNC(filename, mode) fopen(filename, mode) +# define FTELLO_FUNC(stream) ftello(stream) +# define FSEEKO_FUNC(stream, offset, origin) fseeko(stream, offset, origin) +#else +# define FOPEN_FUNC(filename, mode) fopen64(filename, mode) +# define FTELLO_FUNC(stream) ftello64(stream) +# define FSEEKO_FUNC(stream, offset, origin) fseeko64(stream, offset, origin) +#endif + +/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ +#ifndef SEEK_CUR +# define SEEK_CUR 1 +#endif +#ifndef SEEK_END +# define SEEK_END 2 +#endif +#ifndef SEEK_SET +# define SEEK_SET 0 +#endif + +voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const void*filename,int mode) +{ + if (pfilefunc->zfile_func64.zopen64_file != NULL) + return (*(pfilefunc->zfile_func64.zopen64_file)) (pfilefunc->zfile_func64.opaque,filename,mode); + return (*(pfilefunc->zopen32_file))(pfilefunc->zfile_func64.opaque,(const char*)filename,mode); +} + +voidpf call_zopendisk64 OF((const zlib_filefunc64_32_def* pfilefunc, voidpf filestream, int number_disk, int mode)) +{ + if (pfilefunc->zfile_func64.zopendisk64_file != NULL) + return (*(pfilefunc->zfile_func64.zopendisk64_file)) (pfilefunc->zfile_func64.opaque,filestream,number_disk,mode); + return (*(pfilefunc->zopendisk32_file))(pfilefunc->zfile_func64.opaque,filestream,number_disk,mode); +} + +long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream, ZPOS64_T offset, int origin) +{ + uLong offsetTruncated; + if (pfilefunc->zfile_func64.zseek64_file != NULL) + return (*(pfilefunc->zfile_func64.zseek64_file)) (pfilefunc->zfile_func64.opaque,filestream,offset,origin); + offsetTruncated = (uLong)offset; + if (offsetTruncated != offset) + return -1; + return (*(pfilefunc->zseek32_file))(pfilefunc->zfile_func64.opaque,filestream,offsetTruncated,origin); +} + +ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream) +{ + uLong tell_uLong; + if (pfilefunc->zfile_func64.zseek64_file != NULL) + return (*(pfilefunc->zfile_func64.ztell64_file)) (pfilefunc->zfile_func64.opaque,filestream); + tell_uLong = (*(pfilefunc->ztell32_file))(pfilefunc->zfile_func64.opaque,filestream); + if ((tell_uLong) == 0xffffffff) + return (ZPOS64_T)-1; + return tell_uLong; +} + +void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def* p_filefunc64_32,const zlib_filefunc_def* p_filefunc32) +{ + p_filefunc64_32->zfile_func64.zopen64_file = NULL; + p_filefunc64_32->zfile_func64.zopendisk64_file = NULL; + p_filefunc64_32->zopen32_file = p_filefunc32->zopen_file; + p_filefunc64_32->zopendisk32_file = p_filefunc32->zopendisk_file; + p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; + p_filefunc64_32->zfile_func64.zread_file = p_filefunc32->zread_file; + p_filefunc64_32->zfile_func64.zwrite_file = p_filefunc32->zwrite_file; + p_filefunc64_32->zfile_func64.ztell64_file = NULL; + p_filefunc64_32->zfile_func64.zseek64_file = NULL; + p_filefunc64_32->zfile_func64.zclose_file = p_filefunc32->zclose_file; + p_filefunc64_32->zfile_func64.zerror_file = p_filefunc32->zerror_file; + p_filefunc64_32->zfile_func64.opaque = p_filefunc32->opaque; + p_filefunc64_32->zseek32_file = p_filefunc32->zseek_file; + p_filefunc64_32->ztell32_file = p_filefunc32->ztell_file; +} + +static voidpf ZCALLBACK fopen_file_func OF((voidpf opaque, const char* filename, int mode)); +static uLong ZCALLBACK fread_file_func OF((voidpf opaque, voidpf stream, void* buf, uLong size)); +static uLong ZCALLBACK fwrite_file_func OF((voidpf opaque, voidpf stream, const void* buf,uLong size)); +static ZPOS64_T ZCALLBACK ftell64_file_func OF((voidpf opaque, voidpf stream)); +static long ZCALLBACK fseek64_file_func OF((voidpf opaque, voidpf stream, ZPOS64_T offset, int origin)); +static int ZCALLBACK fclose_file_func OF((voidpf opaque, voidpf stream)); +static int ZCALLBACK ferror_file_func OF((voidpf opaque, voidpf stream)); + +typedef struct +{ + FILE *file; + int filenameLength; + void *filename; +} FILE_IOPOSIX; + +static voidpf file_build_ioposix(FILE *file, const char *filename) +{ + FILE_IOPOSIX *ioposix = NULL; + if (file == NULL) + return NULL; + ioposix = (FILE_IOPOSIX*)malloc(sizeof(FILE_IOPOSIX)); + ioposix->file = file; + ioposix->filenameLength = (int)strlen(filename) + 1; + ioposix->filename = (char*)malloc(ioposix->filenameLength * sizeof(char)); + strncpy(ioposix->filename, filename, ioposix->filenameLength); + return (voidpf)ioposix; +} + +static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char* filename, int mode) +{ + FILE* file = NULL; + const char* mode_fopen = NULL; + if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) + mode_fopen = "rb"; + else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) + mode_fopen = "r+b"; + else if (mode & ZLIB_FILEFUNC_MODE_CREATE) + mode_fopen = "wb"; + + if ((filename != NULL) && (mode_fopen != NULL)) + { + file = fopen(filename, mode_fopen); + return file_build_ioposix(file, filename); + } + return file; +} + +static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void* filename, int mode) +{ + FILE* file = NULL; + const char* mode_fopen = NULL; + if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) + mode_fopen = "rb"; + else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) + mode_fopen = "r+b"; + else if (mode & ZLIB_FILEFUNC_MODE_CREATE) + mode_fopen = "wb"; + + if ((filename != NULL) && (mode_fopen != NULL)) + { + file = FOPEN_FUNC((const char*)filename, mode_fopen); + return file_build_ioposix(file, (const char*)filename); + } + return file; +} + +static voidpf ZCALLBACK fopendisk64_file_func (voidpf opaque, voidpf stream, int number_disk, int mode) +{ + FILE_IOPOSIX *ioposix = NULL; + char *diskFilename = NULL; + voidpf ret = NULL; + int i = 0; + + if (stream == NULL) + return NULL; + ioposix = (FILE_IOPOSIX*)stream; + diskFilename = (char*)malloc(ioposix->filenameLength * sizeof(char)); + strncpy(diskFilename, ioposix->filename, ioposix->filenameLength); + for (i = ioposix->filenameLength - 1; i >= 0; i -= 1) + { + if (diskFilename[i] != '.') + continue; + snprintf(&diskFilename[i], ioposix->filenameLength - i, ".z%02d", number_disk + 1); + break; + } + if (i >= 0) + ret = fopen64_file_func(opaque, diskFilename, mode); + free(diskFilename); + return ret; +} + +static voidpf ZCALLBACK fopendisk_file_func (voidpf opaque, voidpf stream, int number_disk, int mode) +{ + FILE_IOPOSIX *ioposix = NULL; + char *diskFilename = NULL; + voidpf ret = NULL; + int i = 0; + + if (stream == NULL) + return NULL; + ioposix = (FILE_IOPOSIX*)stream; + diskFilename = (char*)malloc(ioposix->filenameLength * sizeof(char)); + strncpy(diskFilename, ioposix->filename, ioposix->filenameLength); + for (i = ioposix->filenameLength - 1; i >= 0; i -= 1) + { + if (diskFilename[i] != '.') + continue; + snprintf(&diskFilename[i], ioposix->filenameLength - i, ".z%02d", number_disk + 1); + break; + } + if (i >= 0) + ret = fopen_file_func(opaque, diskFilename, mode); + free(diskFilename); + return ret; +} + +static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong size) +{ + FILE_IOPOSIX *ioposix = NULL; + uLong ret; + if (stream == NULL) + return -1; + ioposix = (FILE_IOPOSIX*)stream; + ret = (uLong)fread(buf, 1, (size_t)size, ioposix->file); + return ret; +} + +static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream, const void* buf, uLong size) +{ + FILE_IOPOSIX *ioposix = NULL; + uLong ret; + if (stream == NULL) + return -1; + ioposix = (FILE_IOPOSIX*)stream; + ret = (uLong)fwrite(buf, 1, (size_t)size, ioposix->file); + return ret; +} + +static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream) +{ + FILE_IOPOSIX *ioposix = NULL; + long ret = -1; + if (stream == NULL) + return ret; + ioposix = (FILE_IOPOSIX*)stream; + ret = ftell(ioposix->file); + return ret; +} + +static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf stream) +{ + FILE_IOPOSIX *ioposix = NULL; + ZPOS64_T ret = -1; + if (stream == NULL) + return ret; + ioposix = (FILE_IOPOSIX*)stream; + ret = FTELLO_FUNC(ioposix->file); + return ret; +} + +static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream, uLong offset, int origin) +{ + FILE_IOPOSIX *ioposix = NULL; + int fseek_origin = 0; + long ret = 0; + + if (stream == NULL) + return -1; + ioposix = (FILE_IOPOSIX*)stream; + + switch (origin) + { + case ZLIB_FILEFUNC_SEEK_CUR: + fseek_origin = SEEK_CUR; + break; + case ZLIB_FILEFUNC_SEEK_END: + fseek_origin = SEEK_END; + break; + case ZLIB_FILEFUNC_SEEK_SET: + fseek_origin = SEEK_SET; + break; + default: + return -1; + } + if (fseek(ioposix->file, offset, fseek_origin) != 0) + ret = -1; + return ret; +} + +static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream, ZPOS64_T offset, int origin) +{ + FILE_IOPOSIX *ioposix = NULL; + int fseek_origin = 0; + long ret = 0; + + if (stream == NULL) + return -1; + ioposix = (FILE_IOPOSIX*)stream; + + switch (origin) + { + case ZLIB_FILEFUNC_SEEK_CUR: + fseek_origin = SEEK_CUR; + break; + case ZLIB_FILEFUNC_SEEK_END: + fseek_origin = SEEK_END; + break; + case ZLIB_FILEFUNC_SEEK_SET: + fseek_origin = SEEK_SET; + break; + default: + return -1; + } + + if(FSEEKO_FUNC(ioposix->file, offset, fseek_origin) != 0) + ret = -1; + + return ret; +} + + +static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream) +{ + FILE_IOPOSIX *ioposix = NULL; + int ret = -1; + if (stream == NULL) + return ret; + ioposix = (FILE_IOPOSIX*)stream; + if (ioposix->filename != NULL) + free(ioposix->filename); + ret = fclose(ioposix->file); + free(ioposix); + return ret; +} + +static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream) +{ + FILE_IOPOSIX *ioposix = NULL; + int ret = -1; + if (stream == NULL) + return ret; + ioposix = (FILE_IOPOSIX*)stream; + ret = ferror(ioposix->file); + return ret; +} + +void fill_fopen_filefunc (zlib_filefunc_def* pzlib_filefunc_def) +{ + pzlib_filefunc_def->zopen_file = fopen_file_func; + pzlib_filefunc_def->zopendisk_file = fopendisk_file_func; + pzlib_filefunc_def->zread_file = fread_file_func; + pzlib_filefunc_def->zwrite_file = fwrite_file_func; + pzlib_filefunc_def->ztell_file = ftell_file_func; + pzlib_filefunc_def->zseek_file = fseek_file_func; + pzlib_filefunc_def->zclose_file = fclose_file_func; + pzlib_filefunc_def->zerror_file = ferror_file_func; + pzlib_filefunc_def->opaque = NULL; +} + +void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def) +{ + pzlib_filefunc_def->zopen64_file = fopen64_file_func; + pzlib_filefunc_def->zopendisk64_file = fopendisk64_file_func; + pzlib_filefunc_def->zread_file = fread_file_func; + pzlib_filefunc_def->zwrite_file = fwrite_file_func; + pzlib_filefunc_def->ztell64_file = ftell64_file_func; + pzlib_filefunc_def->zseek64_file = fseek64_file_func; + pzlib_filefunc_def->zclose_file = fclose_file_func; + pzlib_filefunc_def->zerror_file = ferror_file_func; + pzlib_filefunc_def->opaque = NULL; +} diff --git a/src/libs/Zip/Zip/minizip/module/module.modulemap b/src/libs/Zip/Zip/minizip/module/module.modulemap new file mode 100644 index 0000000..59eaacd --- /dev/null +++ b/src/libs/Zip/Zip/minizip/module/module.modulemap @@ -0,0 +1,5 @@ +module Minizip [system][extern_c] { + header "../include/Minizip.h" + link "z" + export * +} diff --git a/src/libs/Zip/Zip/minizip/unzip.c b/src/libs/Zip/Zip/minizip/unzip.c new file mode 100644 index 0000000..3a25740 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/unzip.c @@ -0,0 +1,1947 @@ +/* unzip.c -- IO for uncompress .zip files using zlib + Version 1.1, February 14h, 2010 + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications of Unzip for Zip64 + Copyright (C) 2007-2008 Even Rouault + Modifications for Zip64 support on both zip and unzip + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + Modifications for AES, PKWARE disk spanning + Copyright (C) 2010-2014 Nathan Moinvaziri + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#include +#include +#include + +/*#ifndef NOUNCRYPT +# define NOUNCRYPT +#endif*/ + +#include +#include "unzip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + +#ifdef HAVE_AES +# define AES_METHOD (99) +# define AES_PWVERIFYSIZE (2) +# define AES_MAXSALTLENGTH (16) +# define AES_AUTHCODESIZE (10) +# define AES_HEADERSIZE (11) +# define AES_KEYSIZE(mode) (64 + (mode * 64)) + +# include "aes/aes.h" +# include "aes/fileenc.h" +#endif +#ifndef NOUNCRYPT +# include "crypt.h" +#endif + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + +#define DISKHEADERMAGIC (0x08074b50) +#define LOCALHEADERMAGIC (0x04034b50) +#define CENTRALHEADERMAGIC (0x02014b50) +#define ENDHEADERMAGIC (0x06054b50) +#define ZIP64ENDHEADERMAGIC (0x06064b50) +#define ZIP64ENDLOCHEADERMAGIC (0x07064b50) + +#define SIZECENTRALDIRITEM (0x2e) +#define SIZECENTRALHEADERLOCATOR (0x14) /* 20 */ +#define SIZEZIPLOCALHEADER (0x1e) + +#ifndef BUFREADCOMMENT +# define BUFREADCOMMENT (0x400) +#endif + +#ifndef UNZ_BUFSIZE +# define UNZ_BUFSIZE (64 * 1024) +#endif +#ifndef UNZ_MAXFILENAMEINZIP +# define UNZ_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +const char unz_copyright[] = + " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; + +/* unz_file_info_interntal contain internal info about a file in zipfile*/ +typedef struct unz_file_info64_internal_s +{ + ZPOS64_T offset_curfile; /* relative offset of local header 8 bytes */ + ZPOS64_T byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx) */ +#ifdef HAVE_AES + uLong aes_encryption_mode; + uLong aes_compression_method; + uLong aes_version; +#endif +} unz_file_info64_internal; + +/* file_in_zip_read_info_s contain internal information about a file in zipfile */ +typedef struct +{ + Bytef *read_buffer; /* internal buffer for compressed data */ + z_stream stream; /* zLib stream structure for inflate */ + +#ifdef HAVE_BZIP2 + bz_stream bstream; /* bzLib stream structure for bziped */ +#endif +#ifdef HAVE_AES + fcrypt_ctx aes_ctx; +#endif + + ZPOS64_T pos_in_zipfile; /* position in byte on the zipfile, for fseek */ + uLong stream_initialised; /* flag set if stream structure is initialised */ + + ZPOS64_T offset_local_extrafield; /* offset of the local extra field */ + uInt size_local_extrafield; /* size of the local extra field */ + ZPOS64_T pos_local_extrafield; /* position in the local extra field in read */ + ZPOS64_T total_out_64; + + uLong crc32; /* crc32 of all data uncompressed */ + uLong crc32_wait; /* crc32 we must obtain after decompress all */ + ZPOS64_T rest_read_compressed; /* number of byte to be decompressed */ + ZPOS64_T rest_read_uncompressed; /* number of byte to be obtained after decomp */ + + zlib_filefunc64_32_def z_filefunc; + + voidpf filestream; /* io structore of the zipfile */ + uLong compression_method; /* compression method (0==store) */ + ZPOS64_T byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx) */ + int raw; +} file_in_zip64_read_info_s; + +/* unz64_s contain internal information about the zipfile */ +typedef struct +{ + zlib_filefunc64_32_def z_filefunc; + voidpf filestream; /* io structure of the current zipfile */ + voidpf filestream_with_CD; /* io structure of the disk with the central directory */ + unz_global_info64 gi; /* public global information */ + ZPOS64_T byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx)*/ + ZPOS64_T num_file; /* number of the current file in the zipfile*/ + ZPOS64_T pos_in_central_dir; /* pos of the current file in the central dir*/ + ZPOS64_T current_file_ok; /* flag about the usability of the current file*/ + ZPOS64_T central_pos; /* position of the beginning of the central dir*/ + uLong number_disk; /* number of the current disk, used for spanning ZIP*/ + ZPOS64_T size_central_dir; /* size of the central directory */ + ZPOS64_T offset_central_dir; /* offset of start of central directory with + respect to the starting disk number */ + + unz_file_info64 cur_file_info; /* public info about the current file in zip*/ + unz_file_info64_internal cur_file_info_internal; + /* private info about it*/ + file_in_zip64_read_info_s* pfile_in_zip_read; + /* structure about the current file if we are decompressing it */ + int isZip64; /* is the current file zip64 */ +#ifndef NOUNCRYPT + unsigned long keys[3]; /* keys defining the pseudo-random sequence */ + const unsigned long* pcrc_32_tab; +#endif +} unz64_s; + +/* Translate date/time from Dos format to tm_unz (readable more easily) */ +local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm) +{ + ZPOS64_T uDate = (ZPOS64_T)(ulDosDate>>16); + + ptm->tm_mday = (uInt)(uDate&0x1f); + ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1); + ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980); + ptm->tm_hour = (uInt)((ulDosDate &0xF800)/0x800); + ptm->tm_min = (uInt)((ulDosDate&0x7E0)/0x20); + ptm->tm_sec = (uInt)(2*(ulDosDate&0x1f)); + +#define unz64local_in_range(min, max, value) ((min) <= (value) && (value) <= (max)) + if (!unz64local_in_range(0, 11, ptm->tm_mon) || + !unz64local_in_range(1, 31, ptm->tm_mday) || + !unz64local_in_range(0, 23, ptm->tm_hour) || + !unz64local_in_range(0, 59, ptm->tm_min) || + !unz64local_in_range(0, 59, ptm->tm_sec)) + /* Invalid date stored, so don't return it. */ + memset(ptm, 0, sizeof(tm_unz)); +#undef unz64local_in_range +} + +/* Read a byte from a gz_stream; Return EOF for end of file. */ +local int unz64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)); +local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi) +{ + unsigned char c; + int err = (int)ZREAD64(*pzlib_filefunc_def, filestream, &c, 1); + if (err == 1) + { + *pi = (int)c; + return UNZ_OK; + } + *pi = 0; + if (ZERROR64(*pzlib_filefunc_def, filestream)) + return UNZ_ERRNO; + return UNZ_EOF; +} + +local int unz64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); +local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX) +{ + uLong x; + int i = 0; + int err; + + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (uLong)i; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((uLong)i)<<8; + + if (err == UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int unz64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); +local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX) +{ + uLong x; + int i = 0; + int err; + + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (uLong)i; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((uLong)i)<<8; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((uLong)i)<<16; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((uLong)i)<<24; + + if (err == UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int unz64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)); +local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX) +{ + ZPOS64_T x; + int i = 0; + int err; + + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (ZPOS64_T)i; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<8; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<16; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<24; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<32; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<40; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<48; + if (err == UNZ_OK) + err = unz64local_getByte(pzlib_filefunc_def, filestream, &i); + x |= ((ZPOS64_T)i)<<56; + + if (err == UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +/* Locate the Central directory of a zip file (at the end, just before the global comment) */ +local ZPOS64_T unz64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); +local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) +{ + unsigned char* buf; + ZPOS64_T file_size; + ZPOS64_T back_read = 4; + ZPOS64_T max_back = 0xffff; /* maximum size of global comment */ + ZPOS64_T pos_found = 0; + uLong read_size; + ZPOS64_T read_pos; + int i; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT + 4); + if (buf == NULL) + return 0; + + if (ZSEEK64(*pzlib_filefunc_def, filestream, 0, ZLIB_FILEFUNC_SEEK_END) != 0) + { + TRYFREE(buf); + return 0; + } + + file_size = ZTELL64(*pzlib_filefunc_def, filestream); + + if (max_back > file_size) + max_back = file_size; + + while (back_read < max_back) + { + if (back_read + BUFREADCOMMENT > max_back) + back_read = max_back; + else + back_read += BUFREADCOMMENT; + + read_pos = file_size - back_read; + read_size = ((BUFREADCOMMENT + 4) < (file_size - read_pos)) ? + (BUFREADCOMMENT + 4) : (uLong)(file_size - read_pos); + + if (ZSEEK64(*pzlib_filefunc_def, filestream, read_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + break; + if (ZREAD64(*pzlib_filefunc_def, filestream, buf, read_size) != read_size) + break; + + for (i = (int)read_size-3; (i--) > 0;) + if (((*(buf+i)) == (ENDHEADERMAGIC & 0xff)) && + ((*(buf+i+1)) == (ENDHEADERMAGIC >> 8 & 0xff)) && + ((*(buf+i+2)) == (ENDHEADERMAGIC >> 16 & 0xff)) && + ((*(buf+i+3)) == (ENDHEADERMAGIC >> 24 & 0xff))) + { + pos_found = read_pos+i; + break; + } + + if (pos_found != 0) + break; + } + TRYFREE(buf); + return pos_found; +} + +/* Locate the Central directory 64 of a zipfile (at the end, just before the global comment) */ +local ZPOS64_T unz64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + const ZPOS64_T endcentraloffset)); +local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + const ZPOS64_T endcentraloffset) +{ + ZPOS64_T offset; + uLong uL; + + /* Zip64 end of central directory locator */ + if (ZSEEK64(*pzlib_filefunc_def, filestream, endcentraloffset - SIZECENTRALHEADERLOCATOR, ZLIB_FILEFUNC_SEEK_SET) != 0) + return 0; + + /* read locator signature */ + if (unz64local_getLong(pzlib_filefunc_def, filestream, &uL) != UNZ_OK) + return 0; + if (uL != ZIP64ENDLOCHEADERMAGIC) + return 0; + /* number of the disk with the start of the zip64 end of central directory */ + if (unz64local_getLong(pzlib_filefunc_def, filestream, &uL) != UNZ_OK) + return 0; + /* relative offset of the zip64 end of central directory record */ + if (unz64local_getLong64(pzlib_filefunc_def, filestream, &offset) != UNZ_OK) + return 0; + /* total number of disks */ + if (unz64local_getLong(pzlib_filefunc_def, filestream, &uL) != UNZ_OK) + return 0; + /* Goto end of central directory record */ + if (ZSEEK64(*pzlib_filefunc_def, filestream, offset, ZLIB_FILEFUNC_SEEK_SET) != 0) + return 0; + /* the signature */ + if (unz64local_getLong(pzlib_filefunc_def, filestream, &uL) != UNZ_OK) + return 0; + if (uL != ZIP64ENDHEADERMAGIC) + return 0; + + return offset; +} + +local unzFile unzOpenInternal(const void *path, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) +{ + unz64_s us; + unz64_s *s; + ZPOS64_T central_pos; + uLong uL; + voidpf filestream = NULL; + ZPOS64_T number_entry_CD; + int err = UNZ_OK; + + if (unz_copyright[0]!=' ') + return NULL; + + us.filestream = NULL; + us.filestream_with_CD = NULL; + us.z_filefunc.zseek32_file = NULL; + us.z_filefunc.ztell32_file = NULL; + if (pzlib_filefunc64_32_def == NULL) + fill_fopen64_filefunc(&us.z_filefunc.zfile_func64); + else + us.z_filefunc = *pzlib_filefunc64_32_def; + + us.filestream = ZOPEN64(us.z_filefunc, path, ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING); + + if (us.filestream == NULL) + return NULL; + + us.filestream_with_CD = us.filestream; + us.isZip64 = 0; + + /* Use unz64local_SearchCentralDir first. Only based on the result + is it necessary to locate the unz64local_SearchCentralDir64 */ + central_pos = unz64local_SearchCentralDir(&us.z_filefunc, us.filestream); + if (central_pos) + { + if (ZSEEK64(us.z_filefunc, us.filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = UNZ_ERRNO; + + /* the signature, already checked */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + /* number of this disk */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + us.number_disk = uL; + /* number of the disk with the start of the central directory */ + if (unz64local_getShort(&us.z_filefunc, us.filestream,& uL) != UNZ_OK) + err = UNZ_ERRNO; + us.gi.number_disk_with_CD = uL; + /* total number of entries in the central directory on this disk */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + us.gi.number_entry = uL; + /* total number of entries in the central directory */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + number_entry_CD = uL; + if (number_entry_CD != us.gi.number_entry) + err = UNZ_BADZIPFILE; + /* size of the central directory */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + us.size_central_dir = uL; + /* offset of start of central directory with respect to the starting disk number */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + us.offset_central_dir = uL; + /* zipfile comment length */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &us.gi.size_comment) != UNZ_OK) + err = UNZ_ERRNO; + + if ((err == UNZ_OK) && + ((us.gi.number_entry == 0xffff) || (us.size_central_dir == 0xffff) || (us.offset_central_dir == 0xffffffff))) + { + /* Format should be Zip64, as the central directory or file size is too large */ + central_pos = unz64local_SearchCentralDir64(&us.z_filefunc, us.filestream, central_pos); + if (central_pos) + { + ZPOS64_T uL64; + + us.isZip64 = 1; + + if (ZSEEK64(us.z_filefunc, us.filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = UNZ_ERRNO; + + /* the signature, already checked */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + /* size of zip64 end of central directory record */ + if (unz64local_getLong64(&us.z_filefunc, us.filestream, &uL64) != UNZ_OK) + err = UNZ_ERRNO; + /* version made by */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + /* version needed to extract */ + if (unz64local_getShort(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + /* number of this disk */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &us.number_disk) != UNZ_OK) + err = UNZ_ERRNO; + /* number of the disk with the start of the central directory */ + if (unz64local_getLong(&us.z_filefunc, us.filestream, &us.gi.number_disk_with_CD) != UNZ_OK) + err = UNZ_ERRNO; + /* total number of entries in the central directory on this disk */ + if (unz64local_getLong64(&us.z_filefunc, us.filestream, &us.gi.number_entry) != UNZ_OK) + err = UNZ_ERRNO; + /* total number of entries in the central directory */ + if (unz64local_getLong64(&us.z_filefunc, us.filestream, &number_entry_CD) != UNZ_OK) + err = UNZ_ERRNO; + if (number_entry_CD != us.gi.number_entry) + err = UNZ_BADZIPFILE; + /* size of the central directory */ + if (unz64local_getLong64(&us.z_filefunc, us.filestream, &us.size_central_dir) != UNZ_OK) + err = UNZ_ERRNO; + /* offset of start of central directory with respect to the starting disk number */ + if (unz64local_getLong64(&us.z_filefunc, us.filestream, &us.offset_central_dir) != UNZ_OK) + err = UNZ_ERRNO; + } + else + err = UNZ_BADZIPFILE; + } + } + else + err = UNZ_ERRNO; + + if ((err == UNZ_OK) && (central_pos < us.offset_central_dir + us.size_central_dir)) + err = UNZ_BADZIPFILE; + + if (err != UNZ_OK) + { + ZCLOSE64(us.z_filefunc, us.filestream); + return NULL; + } + + if (us.gi.number_disk_with_CD == 0) + { + /* If there is only one disk open another stream so we don't have to seek between the CD + and the file headers constantly */ + filestream = ZOPEN64(us.z_filefunc, path, ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING); + if (filestream != NULL) + us.filestream = filestream; + } + + /* Hack for zip files that have no respect for zip64 + if ((central_pos > 0xffffffff) && (us.offset_central_dir < 0xffffffff)) + us.offset_central_dir = central_pos - us.size_central_dir;*/ + + us.byte_before_the_zipfile = central_pos - (us.offset_central_dir + us.size_central_dir); + us.central_pos = central_pos; + us.pfile_in_zip_read = NULL; + + s = (unz64_s*)ALLOC(sizeof(unz64_s)); + if (s != NULL) + { + *s = us; + unzGoToFirstFile((unzFile)s); + } + return (unzFile)s; +} + +extern unzFile ZEXPORT unzOpen2(const char *path, zlib_filefunc_def* pzlib_filefunc32_def) +{ + if (pzlib_filefunc32_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill, pzlib_filefunc32_def); + return unzOpenInternal(path, &zlib_filefunc64_32_def_fill); + } + return unzOpenInternal(path, NULL); +} + +extern unzFile ZEXPORT unzOpen2_64(const void *path, zlib_filefunc64_def* pzlib_filefunc_def) +{ + if (pzlib_filefunc_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; + zlib_filefunc64_32_def_fill.ztell32_file = NULL; + zlib_filefunc64_32_def_fill.zseek32_file = NULL; + return unzOpenInternal(path, &zlib_filefunc64_32_def_fill); + } + return unzOpenInternal(path, NULL); +} + +extern unzFile ZEXPORT unzOpen(const char *path) +{ + return unzOpenInternal(path, NULL); +} + +extern unzFile ZEXPORT unzOpen64(const void *path) +{ + return unzOpenInternal(path, NULL); +} + +extern int ZEXPORT unzClose(unzFile file) +{ + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + + if (s->pfile_in_zip_read != NULL) + unzCloseCurrentFile(file); + + if ((s->filestream != NULL) && (s->filestream != s->filestream_with_CD)) + ZCLOSE64(s->z_filefunc, s->filestream); + if (s->filestream_with_CD != NULL) + ZCLOSE64(s->z_filefunc, s->filestream_with_CD); + + s->filestream = NULL; + s->filestream_with_CD = NULL; + TRYFREE(s); + return UNZ_OK; +} + +/* Goto to the next available disk for spanned archives */ +local int unzGoToNextDisk OF((unzFile file)); +local int unzGoToNextDisk(unzFile file) +{ + unz64_s* s; + uLong number_disk_next = 0; + + s = (unz64_s*)file; + if (s == NULL) + return UNZ_PARAMERROR; + number_disk_next = s->number_disk; + + if ((s->pfile_in_zip_read != NULL) && (s->pfile_in_zip_read->rest_read_uncompressed > 0)) + /* We are currently reading a file and we need the next sequential disk */ + number_disk_next += 1; + else + /* Goto the disk for the current file */ + number_disk_next = s->cur_file_info.disk_num_start; + + if (number_disk_next != s->number_disk) + { + /* Switch disks */ + if ((s->filestream != NULL) && (s->filestream != s->filestream_with_CD)) + ZCLOSE64(s->z_filefunc, s->filestream); + + if (number_disk_next == s->gi.number_disk_with_CD) + { + s->filestream = s->filestream_with_CD; + } + else + { + s->filestream = ZOPENDISK64(s->z_filefunc, s->filestream_with_CD, (int)number_disk_next, + ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING); + } + + if (s->filestream == NULL) + return UNZ_ERRNO; + + s->number_disk = number_disk_next; + } + + return UNZ_OK; +} + +extern int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info* pglobal_info32) +{ + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + /* to do : check if number_entry is not truncated */ + pglobal_info32->number_entry = (uLong)s->gi.number_entry; + pglobal_info32->size_comment = s->gi.size_comment; + pglobal_info32->number_disk_with_CD = s->gi.number_disk_with_CD; + return UNZ_OK; +} + +extern int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64* pglobal_info) +{ + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + *pglobal_info = s->gi; + return UNZ_OK; +} + +extern int ZEXPORT unzGetGlobalComment(unzFile file, char *comment, uLong comment_size) +{ + unz64_s* s; + uLong bytes_to_read = comment_size; + if (file == NULL) + return (int)UNZ_PARAMERROR; + s = (unz64_s*)file; + + if (bytes_to_read > s->gi.size_comment) + bytes_to_read = s->gi.size_comment; + + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, s->central_pos + 22, ZLIB_FILEFUNC_SEEK_SET) != 0) + return UNZ_ERRNO; + + if (bytes_to_read>0) + { + *comment = 0; + if (ZREAD64(s->z_filefunc, s->filestream_with_CD, comment, bytes_to_read) != bytes_to_read) + return UNZ_ERRNO; + } + + if ((comment != NULL) && (comment_size > s->gi.size_comment)) + *(comment+s->gi.size_comment) = 0; + return (int)bytes_to_read; +} + +/* Get Info about the current file in the zipfile, with internal only info */ +local int unz64local_GetCurrentFileInfoInternal(unzFile file, unz_file_info64 *pfile_info, + unz_file_info64_internal *pfile_info_internal, char *filename, uLong filename_size, void *extrafield, + uLong extrafield_size, char *comment, uLong comment_size) +{ + unz64_s* s; + unz_file_info64 file_info; + unz_file_info64_internal file_info_internal; + ZPOS64_T bytes_to_read; + int err = UNZ_OK; + uLong uMagic; + long lSeek = 0; + ZPOS64_T current_pos = 0; + uLong acc = 0; + uLong uL; + ZPOS64_T uL64; + + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, + s->pos_in_central_dir + s->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = UNZ_ERRNO; + + /* Check the magic */ + if (err == UNZ_OK) + { + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &uMagic) != UNZ_OK) + err = UNZ_ERRNO; + else if (uMagic != CENTRALHEADERMAGIC) + err = UNZ_BADZIPFILE; + } + + /* Read central directory header */ + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.version) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.version_needed) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.flag) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.compression_method) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &file_info.dosDate) != UNZ_OK) + err = UNZ_ERRNO; + unz64local_DosDateToTmuDate(file_info.dosDate, &file_info.tmu_date); + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &file_info.crc) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + file_info.compressed_size = uL; + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + file_info.uncompressed_size = uL; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.size_filename) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.size_file_extra) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.size_file_comment) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.disk_num_start) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &file_info.internal_fa) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &file_info.external_fa) != UNZ_OK) + err = UNZ_ERRNO; + /* Relative offset of local header */ + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + + file_info.size_file_extra_internal = 0; + file_info.disk_offset = uL; + file_info_internal.offset_curfile = uL; +#ifdef HAVE_AES + file_info_internal.aes_compression_method = 0; + file_info_internal.aes_encryption_mode = 0; + file_info_internal.aes_version = 0; +#endif + + lSeek += file_info.size_filename; + + if ((err == UNZ_OK) && (filename != NULL)) + { + if (file_info.size_filename < filename_size) + { + *(filename+file_info.size_filename) = 0; + bytes_to_read = file_info.size_filename; + } + else + bytes_to_read = filename_size; + + if ((file_info.size_filename > 0) && (filename_size > 0)) + if (ZREAD64(s->z_filefunc, s->filestream_with_CD,filename, (uLong)bytes_to_read) != bytes_to_read) + err = UNZ_ERRNO; + lSeek -= (uLong)bytes_to_read; + } + + /* Read extrafield */ + if ((err == UNZ_OK) && (extrafield != NULL)) + { + if (file_info.size_file_extra < extrafield_size) + bytes_to_read = file_info.size_file_extra; + else + bytes_to_read = extrafield_size; + + if (lSeek != 0) + { + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, lSeek, ZLIB_FILEFUNC_SEEK_CUR) == 0) + lSeek=0; + else + err = UNZ_ERRNO; + } + + if ((file_info.size_file_extra > 0) && (extrafield_size > 0)) + if (ZREAD64(s->z_filefunc, s->filestream_with_CD, extrafield, (uLong)bytes_to_read) != bytes_to_read) + err = UNZ_ERRNO; + lSeek += file_info.size_file_extra - (uLong)bytes_to_read; + } + else + lSeek += file_info.size_file_extra; + + if ((err == UNZ_OK) && (file_info.size_file_extra != 0)) + { + if (lSeek != 0) + { + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, lSeek, ZLIB_FILEFUNC_SEEK_CUR) == 0) + lSeek=0; + else + err = UNZ_ERRNO; + } + + /* We are going to parse the extra field so we need to move back */ + current_pos = ZTELL64(s->z_filefunc, s->filestream_with_CD); + if (current_pos < file_info.size_file_extra) + err = UNZ_ERRNO; + current_pos -= file_info.size_file_extra; + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, current_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = UNZ_ERRNO; + + while((err != UNZ_ERRNO) && (acc < file_info.size_file_extra)) + { + uLong headerid; + uLong datasize; + + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &headerid) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &datasize) != UNZ_OK) + err = UNZ_ERRNO; + + /* ZIP64 extra fields */ + if (headerid == 0x0001) + { + /* Subtract size of ZIP64 field, since ZIP64 is handled internally */ + file_info.size_file_extra_internal += 2 + 2 + datasize; + + if (file_info.uncompressed_size == 0xffffffff) + { + if (unz64local_getLong64(&s->z_filefunc, s->filestream_with_CD, &file_info.uncompressed_size) != UNZ_OK) + err = UNZ_ERRNO; + } + if (file_info.compressed_size == 0xffffffff) + { + if (unz64local_getLong64(&s->z_filefunc, s->filestream_with_CD, &file_info.compressed_size) != UNZ_OK) + err = UNZ_ERRNO; + } + if (file_info_internal.offset_curfile == 0xffffffff) + { + /* Relative Header offset */ + if (unz64local_getLong64(&s->z_filefunc, s->filestream_with_CD, &uL64) != UNZ_OK) + err = UNZ_ERRNO; + file_info_internal.offset_curfile = uL64; + file_info.disk_offset = uL64; + } + if (file_info.disk_num_start == 0xffffffff) + { + /* Disk Start Number */ + if (unz64local_getLong(&s->z_filefunc, s->filestream_with_CD, &file_info.disk_num_start) != UNZ_OK) + err = UNZ_ERRNO; + } + } +#ifdef HAVE_AES + /* AES header */ + else if (headerid == 0x9901) + { + /* Subtract size of AES field, since AES is handled internally */ + file_info.size_file_extra_internal += 2 + 2 + datasize; + + /* Verify version info */ + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + /* Support AE-1 and AE-2 */ + if (uL != 1 && uL != 2) + err = UNZ_ERRNO; + file_info_internal.aes_version = uL; + if (unz64local_getByte(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + if ((char)uL != 'A') + err = UNZ_ERRNO; + if (unz64local_getByte(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + if ((char)uL != 'E') + err = UNZ_ERRNO; + /* Get AES encryption strength and actual compression method */ + if (unz64local_getByte(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + file_info_internal.aes_encryption_mode = uL; + if (unz64local_getShort(&s->z_filefunc, s->filestream_with_CD, &uL) != UNZ_OK) + err = UNZ_ERRNO; + file_info_internal.aes_compression_method = uL; + } +#endif + else + { + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD,datasize, ZLIB_FILEFUNC_SEEK_CUR) != 0) + err = UNZ_ERRNO; + } + + acc += 2 + 2 + datasize; + } + } + + if (file_info.disk_num_start == s->gi.number_disk_with_CD) + file_info_internal.byte_before_the_zipfile = s->byte_before_the_zipfile; + else + file_info_internal.byte_before_the_zipfile = 0; + + if ((err == UNZ_OK) && (comment != NULL)) + { + if (file_info.size_file_comment < comment_size) + { + *(comment+file_info.size_file_comment) = 0; + bytes_to_read = file_info.size_file_comment; + } + else + bytes_to_read = comment_size; + + if (lSeek != 0) + { + if (ZSEEK64(s->z_filefunc, s->filestream_with_CD, lSeek, ZLIB_FILEFUNC_SEEK_CUR) != 0) + err = UNZ_ERRNO; + } + + if ((file_info.size_file_comment > 0) && (comment_size > 0)) + if (ZREAD64(s->z_filefunc, s->filestream_with_CD, comment, (uLong)bytes_to_read) != bytes_to_read) + err = UNZ_ERRNO; + lSeek += file_info.size_file_comment - (uLong)bytes_to_read; + } + else + lSeek += file_info.size_file_comment; + + if ((err == UNZ_OK) && (pfile_info != NULL)) + *pfile_info = file_info; + + if ((err == UNZ_OK) && (pfile_info_internal != NULL)) + *pfile_info_internal = file_info_internal; + + return err; +} + +extern int ZEXPORT unzGetCurrentFileInfo(unzFile file, unz_file_info * pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char* comment, uLong comment_size) +{ + unz_file_info64 file_info64; + int err; + + err = unz64local_GetCurrentFileInfoInternal(file, &file_info64, NULL, filename, filename_size, + extrafield, extrafield_size, comment, comment_size); + + if ((err == UNZ_OK) && (pfile_info != NULL)) + { + pfile_info->version = file_info64.version; + pfile_info->version_needed = file_info64.version_needed; + pfile_info->flag = file_info64.flag; + pfile_info->compression_method = file_info64.compression_method; + pfile_info->dosDate = file_info64.dosDate; + pfile_info->crc = file_info64.crc; + + pfile_info->size_filename = file_info64.size_filename; + pfile_info->size_file_extra = file_info64.size_file_extra - file_info64.size_file_extra_internal; + pfile_info->size_file_comment = file_info64.size_file_comment; + + pfile_info->disk_num_start = file_info64.disk_num_start; + pfile_info->internal_fa = file_info64.internal_fa; + pfile_info->external_fa = file_info64.external_fa; + + pfile_info->tmu_date = file_info64.tmu_date; + + pfile_info->compressed_size = (uLong)file_info64.compressed_size; + pfile_info->uncompressed_size = (uLong)file_info64.uncompressed_size; + + } + return err; +} + +extern int ZEXPORT unzGetCurrentFileInfo64(unzFile file, unz_file_info64 * pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char* comment, uLong comment_size) +{ + return unz64local_GetCurrentFileInfoInternal(file, pfile_info, NULL, filename, filename_size, + extrafield, extrafield_size, comment,comment_size); +} + +/* Read the local header of the current zipfile. Check the coherency of the local header and info in the + end of central directory about this file store in *piSizeVar the size of extra info in local header + (filename and size of extra field data) */ +local int unz64local_CheckCurrentFileCoherencyHeader(unz64_s* s, uInt* piSizeVar, ZPOS64_T *poffset_local_extrafield, + uInt *psize_local_extrafield) +{ + uLong uMagic, uL, uFlags; + uLong size_filename; + uLong size_extra_field; + int err = UNZ_OK; + int compression_method = 0; + + *piSizeVar = 0; + *poffset_local_extrafield = 0; + *psize_local_extrafield = 0; + + err = unzGoToNextDisk((unzFile)s); + if (err != UNZ_OK) + return err; + + if (ZSEEK64(s->z_filefunc, s->filestream, s->cur_file_info_internal.offset_curfile + + s->cur_file_info_internal.byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) + return UNZ_ERRNO; + + if (err == UNZ_OK) + { + if (unz64local_getLong(&s->z_filefunc, s->filestream, &uMagic) != UNZ_OK) + err = UNZ_ERRNO; + else if (uMagic != LOCALHEADERMAGIC) + err = UNZ_BADZIPFILE; + } + + if (unz64local_getShort(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream, &uFlags) != UNZ_OK) + err = UNZ_ERRNO; + if (unz64local_getShort(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) + err = UNZ_ERRNO; + else if ((err == UNZ_OK) && (uL != s->cur_file_info.compression_method)) + err = UNZ_BADZIPFILE; + + compression_method = (int)s->cur_file_info.compression_method; +#ifdef HAVE_AES + if (compression_method == AES_METHOD) + compression_method = (int)s->cur_file_info_internal.aes_compression_method; +#endif + + if ((err == UNZ_OK) && (compression_method != 0) && +#ifdef HAVE_BZIP2 + (compression_method != Z_BZIP2ED) && +#endif + (compression_method != Z_DEFLATED)) + err = UNZ_BADZIPFILE; + + if (unz64local_getLong(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) /* date/time */ + err = UNZ_ERRNO; + if (unz64local_getLong(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) /* crc */ + err = UNZ_ERRNO; + else if ((err == UNZ_OK) && (uL != s->cur_file_info.crc) && ((uFlags & 8) == 0)) + err = UNZ_BADZIPFILE; + if (unz64local_getLong(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) /* size compr */ + err = UNZ_ERRNO; + else if ((uL != 0xffffffff) && (err == UNZ_OK) && (uL != s->cur_file_info.compressed_size) && ((uFlags & 8) == 0)) + err = UNZ_BADZIPFILE; + if (unz64local_getLong(&s->z_filefunc, s->filestream, &uL) != UNZ_OK) /* size uncompr */ + err = UNZ_ERRNO; + else if ((uL != 0xffffffff) && (err == UNZ_OK) && (uL != s->cur_file_info.uncompressed_size) && ((uFlags & 8) == 0)) + err = UNZ_BADZIPFILE; + if (unz64local_getShort(&s->z_filefunc, s->filestream, &size_filename) != UNZ_OK) + err = UNZ_ERRNO; + else if ((err == UNZ_OK) && (size_filename != s->cur_file_info.size_filename)) + err = UNZ_BADZIPFILE; + + *piSizeVar += (uInt)size_filename; + + if (unz64local_getShort(&s->z_filefunc, s->filestream, &size_extra_field) != UNZ_OK) + err = UNZ_ERRNO; + *poffset_local_extrafield = s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + size_filename; + *psize_local_extrafield = (uInt)size_extra_field; + + *piSizeVar += (uInt)size_extra_field; + + return err; +} + +/* + Open for reading data the current file in the zipfile. + If there is no error and the file is opened, the return value is UNZ_OK. +*/ +extern int ZEXPORT unzOpenCurrentFile3(unzFile file, int* method, int* level, int raw, const char* password) +{ + int err = UNZ_OK; + int compression_method; + uInt iSizeVar; + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + ZPOS64_T offset_local_extrafield; + uInt size_local_extrafield; +#ifndef NOUNCRYPT + char source[12]; +#else + if (password != NULL) + return UNZ_PARAMERROR; +#endif + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (!s->current_file_ok) + return UNZ_PARAMERROR; + + if (s->pfile_in_zip_read != NULL) + unzCloseCurrentFile(file); + + if (unz64local_CheckCurrentFileCoherencyHeader(s, &iSizeVar, &offset_local_extrafield, &size_local_extrafield) != UNZ_OK) + return UNZ_BADZIPFILE; + + pfile_in_zip_read_info = (file_in_zip64_read_info_s*)ALLOC(sizeof(file_in_zip64_read_info_s)); + if (pfile_in_zip_read_info == NULL) + return UNZ_INTERNALERROR; + + pfile_in_zip_read_info->read_buffer = (Bytef*)ALLOC(UNZ_BUFSIZE); + pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; + pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; + pfile_in_zip_read_info->pos_local_extrafield = 0; + pfile_in_zip_read_info->raw = raw; + + if (pfile_in_zip_read_info->read_buffer == NULL) + { + TRYFREE(pfile_in_zip_read_info); + return UNZ_INTERNALERROR; + } + + pfile_in_zip_read_info->stream_initialised = 0; + + compression_method = (int)s->cur_file_info.compression_method; +#ifdef HAVE_AES + if (compression_method == AES_METHOD) + compression_method = (int)s->cur_file_info_internal.aes_compression_method; +#endif + + if (method != NULL) + *method = compression_method; + + if (level != NULL) + { + *level = 6; + switch (s->cur_file_info.flag & 0x06) + { + case 6 : *level = 1; break; + case 4 : *level = 2; break; + case 2 : *level = 9; break; + } + } + + if ((compression_method != 0) && +#ifdef HAVE_BZIP2 + (compression_method != Z_BZIP2ED) && +#endif + (compression_method != Z_DEFLATED)) + err = UNZ_BADZIPFILE; + + pfile_in_zip_read_info->crc32_wait = s->cur_file_info.crc; + pfile_in_zip_read_info->crc32 = 0; + pfile_in_zip_read_info->total_out_64 = 0; + pfile_in_zip_read_info->compression_method = compression_method; + pfile_in_zip_read_info->filestream = s->filestream; + pfile_in_zip_read_info->z_filefunc = s->z_filefunc; + if (s->number_disk == s->gi.number_disk_with_CD) + pfile_in_zip_read_info->byte_before_the_zipfile = s->byte_before_the_zipfile; + else + pfile_in_zip_read_info->byte_before_the_zipfile = 0; + pfile_in_zip_read_info->stream.total_out = 0; + pfile_in_zip_read_info->stream.total_in = 0; + pfile_in_zip_read_info->stream.next_in = NULL; + + if (!raw) + { + if (compression_method == Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + pfile_in_zip_read_info->bstream.bzalloc = (void *(*) (void *, int, int))0; + pfile_in_zip_read_info->bstream.bzfree = (free_func)0; + pfile_in_zip_read_info->bstream.opaque = (voidpf)0; + pfile_in_zip_read_info->bstream.state = (voidpf)0; + + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + pfile_in_zip_read_info->stream.next_in = (voidpf)0; + pfile_in_zip_read_info->stream.avail_in = 0; + + err = BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=Z_BZIP2ED; + else + { + TRYFREE(pfile_in_zip_read_info); + return err; + } +#else + pfile_in_zip_read_info->raw = 1; +#endif + } + else if (compression_method == Z_DEFLATED) + { + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)s; + pfile_in_zip_read_info->stream.next_in = 0; + pfile_in_zip_read_info->stream.avail_in = 0; + + err = inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised = Z_DEFLATED; + else + { + TRYFREE(pfile_in_zip_read_info); + return err; + } + /* windowBits is passed < 0 to tell that there is no zlib header. + * Note that in this case inflate *requires* an extra "dummy" byte + * after the compressed stream in order to complete decompression and + * return Z_STREAM_END. + * In unzip, i don't wait absolutely Z_STREAM_END because I known the + * size of both compressed and uncompressed data + */ + } + } + + pfile_in_zip_read_info->rest_read_compressed = s->cur_file_info.compressed_size; + pfile_in_zip_read_info->rest_read_uncompressed = s->cur_file_info.uncompressed_size; + pfile_in_zip_read_info->pos_in_zipfile = s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + iSizeVar; + pfile_in_zip_read_info->stream.avail_in = (uInt)0; + + s->pfile_in_zip_read = pfile_in_zip_read_info; + s->pcrc_32_tab = NULL; + +#ifndef NOUNCRYPT + if ((password != NULL) && ((s->cur_file_info.flag & 1) != 0)) + { + if (ZSEEK64(s->z_filefunc, s->filestream, + s->pfile_in_zip_read->pos_in_zipfile + s->pfile_in_zip_read->byte_before_the_zipfile, + ZLIB_FILEFUNC_SEEK_SET) != 0) + return UNZ_INTERNALERROR; +#ifdef HAVE_AES + if (s->cur_file_info.compression_method == AES_METHOD) + { + unsigned char passverify[AES_PWVERIFYSIZE]; + unsigned char saltvalue[AES_MAXSALTLENGTH]; + uInt saltlength; + + if ((s->cur_file_info_internal.aes_encryption_mode < 1) || + (s->cur_file_info_internal.aes_encryption_mode > 3)) + return UNZ_INTERNALERROR; + + saltlength = SALT_LENGTH(s->cur_file_info_internal.aes_encryption_mode); + + if (ZREAD64(s->z_filefunc, s->filestream, saltvalue, saltlength) != saltlength) + return UNZ_INTERNALERROR; + if (ZREAD64(s->z_filefunc, s->filestream, passverify, AES_PWVERIFYSIZE) != AES_PWVERIFYSIZE) + return UNZ_INTERNALERROR; + + fcrypt_init(s->cur_file_info_internal.aes_encryption_mode, password, strlen(password), saltvalue, + passverify, &s->pfile_in_zip_read->aes_ctx); + + s->pfile_in_zip_read->rest_read_compressed -= saltlength + AES_PWVERIFYSIZE; + s->pfile_in_zip_read->rest_read_compressed -= AES_AUTHCODESIZE; + + s->pfile_in_zip_read->pos_in_zipfile += saltlength + AES_PWVERIFYSIZE; + } + else +#endif + { + int i; + s->pcrc_32_tab = (const unsigned long*)get_crc_table(); + init_keys(password, s->keys, s->pcrc_32_tab); + + if (ZREAD64(s->z_filefunc, s->filestream, source, 12) < 12) + return UNZ_INTERNALERROR; + + for (i = 0; i < 12; i++) + zdecode(s->keys, s->pcrc_32_tab, source[i]); + + s->pfile_in_zip_read->rest_read_compressed -= 12; + + s->pfile_in_zip_read->pos_in_zipfile += 12; + } + } +#endif + + return UNZ_OK; +} + +extern int ZEXPORT unzOpenCurrentFile(unzFile file) +{ + return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); +} + +extern int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char* password) +{ + return unzOpenCurrentFile3(file, NULL, NULL, 0, password); +} + +extern int ZEXPORT unzOpenCurrentFile2(unzFile file, int* method, int* level, int raw) +{ + return unzOpenCurrentFile3(file, method, level, raw, NULL); +} + +/* Read bytes from the current file. + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if some bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ +extern int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned len) +{ + int err = UNZ_OK; + uInt read = 0; + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + + if (s->pfile_in_zip_read == NULL) + return UNZ_PARAMERROR; + if (s->pfile_in_zip_read->read_buffer == NULL) + return UNZ_END_OF_LIST_OF_FILE; + if (len == 0) + return 0; + + s->pfile_in_zip_read->stream.next_out = (Bytef*)buf; + s->pfile_in_zip_read->stream.avail_out = (uInt)len; + + if (s->pfile_in_zip_read->raw) + { + if (len > s->pfile_in_zip_read->rest_read_compressed + s->pfile_in_zip_read->stream.avail_in) + s->pfile_in_zip_read->stream.avail_out = (uInt)s->pfile_in_zip_read->rest_read_compressed + + s->pfile_in_zip_read->stream.avail_in; + } + else + { + if (len > s->pfile_in_zip_read->rest_read_uncompressed) + s->pfile_in_zip_read->stream.avail_out = (uInt)s->pfile_in_zip_read->rest_read_uncompressed; + } + + while (s->pfile_in_zip_read->stream.avail_out > 0) + { + if (s->pfile_in_zip_read->stream.avail_in == 0) + { + uLong bytes_to_read = UNZ_BUFSIZE; + uLong bytes_not_read = 0; + uLong bytes_read = 0; + uLong total_bytes_read = 0; + + if (s->pfile_in_zip_read->stream.next_in != NULL) + bytes_not_read = s->pfile_in_zip_read->read_buffer + UNZ_BUFSIZE - + s->pfile_in_zip_read->stream.next_in; + bytes_to_read -= bytes_not_read; + if (bytes_not_read > 0) + memcpy(s->pfile_in_zip_read->read_buffer, s->pfile_in_zip_read->stream.next_in, bytes_not_read); + if (s->pfile_in_zip_read->rest_read_compressed < bytes_to_read) + bytes_to_read = (uInt)s->pfile_in_zip_read->rest_read_compressed; + + while (total_bytes_read != bytes_to_read) + { + if (ZSEEK64(s->pfile_in_zip_read->z_filefunc, s->pfile_in_zip_read->filestream, + s->pfile_in_zip_read->pos_in_zipfile + s->pfile_in_zip_read->byte_before_the_zipfile, + ZLIB_FILEFUNC_SEEK_SET) != 0) + return UNZ_ERRNO; + + bytes_read = ZREAD64(s->pfile_in_zip_read->z_filefunc, s->pfile_in_zip_read->filestream, + s->pfile_in_zip_read->read_buffer + bytes_not_read + total_bytes_read, + bytes_to_read - total_bytes_read); + + total_bytes_read += bytes_read; + s->pfile_in_zip_read->pos_in_zipfile += bytes_read; + + if (bytes_read == 0) + { + if (ZERROR64(s->pfile_in_zip_read->z_filefunc, s->pfile_in_zip_read->filestream)) + return UNZ_ERRNO; + + err = unzGoToNextDisk(file); + if (err != UNZ_OK) + return err; + + s->pfile_in_zip_read->pos_in_zipfile = 0; + s->pfile_in_zip_read->filestream = s->filestream; + } + } + +#ifndef NOUNCRYPT + if ((s->cur_file_info.flag & 1) != 0) + { +#ifdef HAVE_AES + if (s->cur_file_info.compression_method == AES_METHOD) + { + fcrypt_decrypt(s->pfile_in_zip_read->read_buffer, bytes_to_read, &s->pfile_in_zip_read->aes_ctx); + } + else +#endif + if (s->pcrc_32_tab != NULL) + { + uInt i; + for(i = 0; i < total_bytes_read; i++) + s->pfile_in_zip_read->read_buffer[i] = + zdecode(s->keys, s->pcrc_32_tab, s->pfile_in_zip_read->read_buffer[i]); + } + } +#endif + + s->pfile_in_zip_read->rest_read_compressed -= total_bytes_read; + s->pfile_in_zip_read->stream.next_in = (Bytef*)s->pfile_in_zip_read->read_buffer; + s->pfile_in_zip_read->stream.avail_in = (uInt)(bytes_not_read + total_bytes_read); + } + + if ((s->pfile_in_zip_read->compression_method == 0) || (s->pfile_in_zip_read->raw)) + { + uInt copy, i; + + if ((s->pfile_in_zip_read->stream.avail_in == 0) && + (s->pfile_in_zip_read->rest_read_compressed == 0)) + return (read == 0) ? UNZ_EOF : read; + + if (s->pfile_in_zip_read->stream.avail_out < s->pfile_in_zip_read->stream.avail_in) + copy = s->pfile_in_zip_read->stream.avail_out; + else + copy = s->pfile_in_zip_read->stream.avail_in; + + for (i = 0; i < copy; i++) + *(s->pfile_in_zip_read->stream.next_out+i) = + *(s->pfile_in_zip_read->stream.next_in+i); + + s->pfile_in_zip_read->total_out_64 = s->pfile_in_zip_read->total_out_64 + copy; + s->pfile_in_zip_read->rest_read_uncompressed -= copy; + s->pfile_in_zip_read->crc32 = crc32(s->pfile_in_zip_read->crc32, + s->pfile_in_zip_read->stream.next_out, copy); + + s->pfile_in_zip_read->stream.avail_in -= copy; + s->pfile_in_zip_read->stream.avail_out -= copy; + s->pfile_in_zip_read->stream.next_out += copy; + s->pfile_in_zip_read->stream.next_in += copy; + s->pfile_in_zip_read->stream.total_out += copy; + read += copy; + } + else if (s->pfile_in_zip_read->compression_method == Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + uLong total_out_before, total_out_after; + const Bytef *buf_before; + uLong out_bytes; + + s->pfile_in_zip_read->bstream.next_in = (char*)s->pfile_in_zip_read->stream.next_in; + s->pfile_in_zip_read->bstream.avail_in = s->pfile_in_zip_read->stream.avail_in; + s->pfile_in_zip_read->bstream.total_in_lo32 = (uInt)s->pfile_in_zip_read->stream.total_in; + s->pfile_in_zip_read->bstream.total_in_hi32 = s->pfile_in_zip_read->stream.total_in >> 32; + + s->pfile_in_zip_read->bstream.next_out = (char*)s->pfile_in_zip_read->stream.next_out; + s->pfile_in_zip_read->bstream.avail_out = s->pfile_in_zip_read->stream.avail_out; + s->pfile_in_zip_read->bstream.total_out_lo32 = (uInt)s->pfile_in_zip_read->stream.total_out; + s->pfile_in_zip_read->bstream.total_out_hi32 = s->pfile_in_zip_read->stream.total_out >> 32; + + total_out_before = s->pfile_in_zip_read->bstream.total_out_lo32 + + (((uLong)s->pfile_in_zip_read->bstream.total_out_hi32) << 32); + buf_before = (const Bytef *)s->pfile_in_zip_read->bstream.next_out; + + err = BZ2_bzDecompress(&s->pfile_in_zip_read->bstream); + + total_out_after = s->pfile_in_zip_read->bstream.total_out_lo32 + + (((uLong)s->pfile_in_zip_read->bstream.total_out_hi32) << 32); + + out_bytes = total_out_after-total_out_before; + + s->pfile_in_zip_read->total_out_64 = s->pfile_in_zip_read->total_out_64 + out_bytes; + s->pfile_in_zip_read->rest_read_uncompressed -= out_bytes; + s->pfile_in_zip_read->crc32 = crc32(s->pfile_in_zip_read->crc32,buf_before, (uInt)(out_bytes)); + + read += (uInt)(total_out_after - total_out_before); + + s->pfile_in_zip_read->stream.next_in = (Bytef*)s->pfile_in_zip_read->bstream.next_in; + s->pfile_in_zip_read->stream.avail_in = s->pfile_in_zip_read->bstream.avail_in; + s->pfile_in_zip_read->stream.total_in = s->pfile_in_zip_read->bstream.total_in_lo32; + s->pfile_in_zip_read->stream.next_out = (Bytef*)s->pfile_in_zip_read->bstream.next_out; + s->pfile_in_zip_read->stream.avail_out = s->pfile_in_zip_read->bstream.avail_out; + s->pfile_in_zip_read->stream.total_out = s->pfile_in_zip_read->bstream.total_out_lo32; + + if (err == BZ_STREAM_END) + return (read == 0) ? UNZ_EOF : read; + if (err != BZ_OK) + break; +#endif + } + else + { + ZPOS64_T total_out_before, total_out_after; + const Bytef *buf_before; + ZPOS64_T out_bytes; + int flush=Z_SYNC_FLUSH; + + total_out_before = s->pfile_in_zip_read->stream.total_out; + buf_before = s->pfile_in_zip_read->stream.next_out; + + /* + if ((pfile_in_zip_read_info->rest_read_uncompressed == + pfile_in_zip_read_info->stream.avail_out) && + (pfile_in_zip_read_info->rest_read_compressed == 0)) + flush = Z_FINISH; + */ + err = inflate(&s->pfile_in_zip_read->stream,flush); + + if ((err >= 0) && (s->pfile_in_zip_read->stream.msg != NULL)) + err = Z_DATA_ERROR; + + total_out_after = s->pfile_in_zip_read->stream.total_out; + out_bytes = total_out_after-total_out_before; + + s->pfile_in_zip_read->total_out_64 += out_bytes; + s->pfile_in_zip_read->rest_read_uncompressed -= out_bytes; + s->pfile_in_zip_read->crc32 = + crc32(s->pfile_in_zip_read->crc32,buf_before, (uInt)(out_bytes)); + + read += (uInt)(total_out_after - total_out_before); + + if (err == Z_STREAM_END) + return (read == 0) ? UNZ_EOF : read; + if (err != Z_OK) + break; + } + } + + if (err == Z_OK) + return read; + return err; +} + +extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file) +{ + unz64_s* s; + s = (unz64_s*)file; + if (file == NULL) + return 0; /* UNZ_PARAMERROR */ + if (s->pfile_in_zip_read == NULL) + return 0; /* UNZ_PARAMERROR */ + return s->pfile_in_zip_read->pos_in_zipfile + s->pfile_in_zip_read->byte_before_the_zipfile; +} + +extern int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsigned len) +{ + unz64_s* s; + uInt read_now; + ZPOS64_T size_to_read; + + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (s->pfile_in_zip_read == NULL) + return UNZ_PARAMERROR; + + size_to_read = s->pfile_in_zip_read->size_local_extrafield - s->pfile_in_zip_read->pos_local_extrafield; + + if (buf == NULL) + return (int)size_to_read; + + if (len > size_to_read) + read_now = (uInt)size_to_read; + else + read_now = (uInt)len ; + + if (read_now == 0) + return 0; + + if (ZSEEK64(s->pfile_in_zip_read->z_filefunc, s->pfile_in_zip_read->filestream, + s->pfile_in_zip_read->offset_local_extrafield + s->pfile_in_zip_read->pos_local_extrafield, + ZLIB_FILEFUNC_SEEK_SET) != 0) + return UNZ_ERRNO; + + if (ZREAD64(s->pfile_in_zip_read->z_filefunc, s->pfile_in_zip_read->filestream, buf, read_now) != read_now) + return UNZ_ERRNO; + + return (int)read_now; +} + +extern int ZEXPORT unzCloseCurrentFile(unzFile file) +{ + int err = UNZ_OK; + + unz64_s* s; + file_in_zip64_read_info_s* pfile_in_zip_read_info; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info == NULL) + return UNZ_PARAMERROR; + +#ifdef HAVE_AES + if (s->cur_file_info.compression_method == AES_METHOD) + { + unsigned char authcode[AES_AUTHCODESIZE]; + unsigned char rauthcode[AES_AUTHCODESIZE]; + + if (ZREAD64(s->z_filefunc, s->filestream, authcode, AES_AUTHCODESIZE) != AES_AUTHCODESIZE) + return UNZ_ERRNO; + + if (fcrypt_end(rauthcode, &s->pfile_in_zip_read->aes_ctx) != AES_AUTHCODESIZE) + err = UNZ_CRCERROR; + if (memcmp(authcode, rauthcode, AES_AUTHCODESIZE) != 0) + err = UNZ_CRCERROR; + } + /* AES zip version AE-1 will expect a valid crc as well */ + if ((s->cur_file_info.compression_method != AES_METHOD) || + (s->cur_file_info_internal.aes_version == 0x0001)) +#endif + { + if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && + (!pfile_in_zip_read_info->raw)) + { + if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) + err = UNZ_CRCERROR; + } + } + + TRYFREE(pfile_in_zip_read_info->read_buffer); + pfile_in_zip_read_info->read_buffer = NULL; + if (pfile_in_zip_read_info->stream_initialised == Z_DEFLATED) + inflateEnd(&pfile_in_zip_read_info->stream); +#ifdef HAVE_BZIP2 + else if (pfile_in_zip_read_info->stream_initialised == Z_BZIP2ED) + BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream); +#endif + + pfile_in_zip_read_info->stream_initialised = 0; + TRYFREE(pfile_in_zip_read_info); + + s->pfile_in_zip_read = NULL; + + return err; +} + +extern int ZEXPORT unzGoToFirstFile2(unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size) +{ + int err = UNZ_OK; + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + s->pos_in_central_dir = s->offset_central_dir; + s->num_file = 0; + err = unz64local_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, + filename,filename_size, extrafield,extrafield_size, comment,comment_size); + s->current_file_ok = (err == UNZ_OK); + if ((err == UNZ_OK) && (pfile_info != NULL)) + memcpy(pfile_info, &s->cur_file_info, sizeof(unz_file_info64)); + return err; +} + +extern int ZEXPORT unzGoToFirstFile(unzFile file) +{ + return unzGoToFirstFile2(file, NULL, NULL, 0, NULL, 0, NULL, 0); +} + +extern int ZEXPORT unzGoToNextFile2(unzFile file, unz_file_info64 *pfile_info, char *filename, + uLong filename_size, void *extrafield, uLong extrafield_size, char *comment, uLong comment_size) +{ + unz64_s* s; + int err; + + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ + if (s->num_file+1 == s->gi.number_entry) + return UNZ_END_OF_LIST_OF_FILE; + s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment; + s->num_file++; + err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal, + filename, filename_size, extrafield,extrafield_size, comment,comment_size); + s->current_file_ok = (err == UNZ_OK); + if ((err == UNZ_OK) && (pfile_info != NULL)) + memcpy(pfile_info, &s->cur_file_info, sizeof(unz_file_info64)); + return err; +} + +extern int ZEXPORT unzGoToNextFile(unzFile file) +{ + return unzGoToNextFile2(file, NULL, NULL, 0, NULL, 0, NULL, 0); +} + +extern int ZEXPORT unzLocateFile(unzFile file, const char *filename, unzFileNameComparer filename_compare_func) +{ + unz64_s* s; + int err; + unz_file_info64 cur_file_info_saved; + unz_file_info64_internal cur_file_info_internal_saved; + ZPOS64_T num_file_saved; + ZPOS64_T pos_in_central_dir_saved; + char current_filename[UNZ_MAXFILENAMEINZIP+1]; + + if (file == NULL) + return UNZ_PARAMERROR; + if (strlen(filename) >= UNZ_MAXFILENAMEINZIP) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + /* Save the current state */ + num_file_saved = s->num_file; + pos_in_central_dir_saved = s->pos_in_central_dir; + cur_file_info_saved = s->cur_file_info; + cur_file_info_internal_saved = s->cur_file_info_internal; + + err = unzGoToFirstFile2(file, NULL, current_filename, sizeof(current_filename)-1, NULL, 0, NULL, 0); + + while (err == UNZ_OK) + { + if (filename_compare_func != NULL) + err = filename_compare_func(file, current_filename, filename); + else + err = strcmp(current_filename, filename); + if (err == 0) + return UNZ_OK; + err = unzGoToNextFile2(file, NULL, current_filename, sizeof(current_filename)-1, NULL, 0, NULL, 0); + } + + /* We failed, so restore the state of the 'current file' to where we were. */ + s->num_file = num_file_saved; + s->pos_in_central_dir = pos_in_central_dir_saved; + s->cur_file_info = cur_file_info_saved; + s->cur_file_info_internal = cur_file_info_internal_saved; + return err; +} + +extern int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos* file_pos) +{ + unz64_file_pos file_pos64; + int err = unzGetFilePos64(file,&file_pos64); + if (err == UNZ_OK) + { + file_pos->pos_in_zip_directory = (uLong)file_pos64.pos_in_zip_directory; + file_pos->num_of_file = (uLong)file_pos64.num_of_file; + } + return err; +} + +extern int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos* file_pos) +{ + unz64_file_pos file_pos64; + + if (file_pos == NULL) + return UNZ_PARAMERROR; + file_pos64.pos_in_zip_directory = file_pos->pos_in_zip_directory; + file_pos64.num_of_file = file_pos->num_of_file; + return unzGoToFilePos64(file,&file_pos64); +} + +extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) +{ + unz64_s* s; + + if (file == NULL || file_pos == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + file_pos->pos_in_zip_directory = s->pos_in_central_dir; + file_pos->num_of_file = s->num_file; + + return UNZ_OK; +} + +extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos) +{ + unz64_s* s; + int err; + + if (file == NULL || file_pos == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + + /* jump to the right spot */ + s->pos_in_central_dir = file_pos->pos_in_zip_directory; + s->num_file = file_pos->num_of_file; + + /* set the current file */ + err = unz64local_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal,NULL,0,NULL,0,NULL,0); + /* return results */ + s->current_file_ok = (err == UNZ_OK); + return err; +} + +extern uLong ZEXPORT unzGetOffset(unzFile file) +{ + ZPOS64_T offset64; + + if (file == NULL) + return 0; /* UNZ_PARAMERROR; */ + offset64 = unzGetOffset64(file); + return (uLong)offset64; +} + +extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) +{ + unz64_s* s; + + if (file == NULL) + return 0; /* UNZ_PARAMERROR; */ + s = (unz64_s*)file; + if (!s->current_file_ok) + return 0; + if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) + if (s->num_file == s->gi.number_entry) + return 0; + return s->pos_in_central_dir; +} + +extern int ZEXPORT unzSetOffset(unzFile file, uLong pos) +{ + return unzSetOffset64(file, pos); +} + +extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) +{ + unz64_s* s; + int err; + + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + s->pos_in_central_dir = pos; + s->num_file = s->gi.number_entry; /* hack */ + + err = unz64local_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, NULL, 0, NULL, 0, NULL, 0); + + s->current_file_ok = (err == UNZ_OK); + return err; +} + +extern z_off_t ZEXPORT unztell(unzFile file) +{ + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (s->pfile_in_zip_read == NULL) + return UNZ_PARAMERROR; + return (z_off_t)s->pfile_in_zip_read->stream.total_out; +} + +extern ZPOS64_T ZEXPORT unztell64(unzFile file) +{ + unz64_s* s; + if (file == NULL) + return (ZPOS64_T)-1; + s = (unz64_s*)file; + if (s->pfile_in_zip_read == NULL) + return (ZPOS64_T)-1; + return s->pfile_in_zip_read->total_out_64; +} + +extern int ZEXPORT unzseek(unzFile file, z_off_t offset, int origin) +{ + return unzseek64(file, (ZPOS64_T)offset, origin); +} + +extern int ZEXPORT unzseek64(unzFile file, ZPOS64_T offset, int origin) +{ + unz64_s* s; + ZPOS64_T stream_pos_begin; + ZPOS64_T stream_pos_end; + int isWithinBuffer; + ZPOS64_T position; + + if (file == NULL) + return UNZ_PARAMERROR; + + s = (unz64_s*)file; + + if (s->pfile_in_zip_read == NULL) + return UNZ_ERRNO; + if (s->pfile_in_zip_read->compression_method != 0) + return UNZ_ERRNO; + + if (origin == SEEK_SET) + position = offset; + else if (origin == SEEK_CUR) + position = s->pfile_in_zip_read->total_out_64 + offset; + else if (origin == SEEK_END) + position = s->cur_file_info.compressed_size + offset; + else + return UNZ_PARAMERROR; + + if (position > s->cur_file_info.compressed_size) + return UNZ_PARAMERROR; + + stream_pos_end = s->pfile_in_zip_read->pos_in_zipfile; + stream_pos_begin = stream_pos_end; + + if (stream_pos_begin > UNZ_BUFSIZE) + stream_pos_begin -= UNZ_BUFSIZE; + else + stream_pos_begin = 0; + + isWithinBuffer = s->pfile_in_zip_read->stream.avail_in != 0 && + (s->pfile_in_zip_read->rest_read_compressed != 0 || s->cur_file_info.compressed_size < UNZ_BUFSIZE) && + position >= stream_pos_begin && position < stream_pos_end; + + if (isWithinBuffer) + { + s->pfile_in_zip_read->stream.next_in += position - s->pfile_in_zip_read->total_out_64; + s->pfile_in_zip_read->stream.avail_in = (uInt)(stream_pos_end - position); + } + else + { + s->pfile_in_zip_read->stream.avail_in = 0; + s->pfile_in_zip_read->stream.next_in = 0; + + s->pfile_in_zip_read->pos_in_zipfile = s->pfile_in_zip_read->offset_local_extrafield + position; + s->pfile_in_zip_read->rest_read_compressed = s->cur_file_info.compressed_size - position; + } + + s->pfile_in_zip_read->rest_read_uncompressed -= (position - s->pfile_in_zip_read->total_out_64); + s->pfile_in_zip_read->stream.total_out = (uLong)position; + s->pfile_in_zip_read->total_out_64 = position; + + return UNZ_OK; +} + +extern int ZEXPORT unzeof(unzFile file) +{ + unz64_s* s; + if (file == NULL) + return UNZ_PARAMERROR; + s = (unz64_s*)file; + if (s->pfile_in_zip_read == NULL) + return UNZ_PARAMERROR; + if (s->pfile_in_zip_read->rest_read_uncompressed == 0) + return 1; + return 0; +} diff --git a/src/libs/Zip/Zip/minizip/zip.c b/src/libs/Zip/Zip/minizip/zip.c new file mode 100755 index 0000000..21dadb2 --- /dev/null +++ b/src/libs/Zip/Zip/minizip/zip.c @@ -0,0 +1,2020 @@ +/* zip.c -- IO on .zip files using zlib + Version 1.1, February 14h, 2010 + part of the MiniZip project + + Copyright (C) 1998-2010 Gilles Vollant + http://www.winimage.com/zLibDll/minizip.html + Modifications for Zip64 support + Copyright (C) 2009-2010 Mathias Svensson + http://result42.com + Modifications for AES, PKWARE disk spanning + Copyright (C) 2010-2014 Nathan Moinvaziri + + This program is distributed under the terms of the same license as zlib. + See the accompanying LICENSE file for the full text of the license. +*/ + +#include +#include +#include +#include +#include +#include "zip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + +#ifdef HAVE_AES +# define AES_METHOD (99) +# define AES_PWVERIFYSIZE (2) +# define AES_AUTHCODESIZE (10) +# define AES_MAXSALTLENGTH (16) +# define AES_VERSION (0x0001) +# define AES_ENCRYPTIONMODE (0x03) + +# include "aes/aes.h" +# include "aes/fileenc.h" +# include "aes/prng.h" +# include "aes/entropy.h" +#endif + +#ifndef NOCRYPT +# define INCLUDECRYPTINGCODE_IFCRYPTALLOWED +# include "crypt.h" +#endif + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + +#define SIZEDATA_INDATABLOCK (4096-(4*4)) + +#define DISKHEADERMAGIC (0x08074b50) +#define LOCALHEADERMAGIC (0x04034b50) +#define CENTRALHEADERMAGIC (0x02014b50) +#define ENDHEADERMAGIC (0x06054b50) +#define ZIP64ENDHEADERMAGIC (0x06064b50) +#define ZIP64ENDLOCHEADERMAGIC (0x07064b50) + +#define FLAG_LOCALHEADER_OFFSET (0x06) +#define CRC_LOCALHEADER_OFFSET (0x0e) + +#define SIZECENTRALHEADER (0x2e) /* 46 */ +#define SIZECENTRALHEADERLOCATOR (0x14) /* 20 */ +#define SIZECENTRALDIRITEM (0x2e) +#define SIZEZIPLOCALHEADER (0x1e) + +#ifndef BUFREADCOMMENT +# define BUFREADCOMMENT (0x400) +#endif +#ifndef VERSIONMADEBY +# define VERSIONMADEBY (0x0) /* platform dependent */ +#endif + +#ifndef Z_BUFSIZE +# define Z_BUFSIZE (64*1024) +#endif +#ifndef Z_MAXFILENAMEINZIP +# define Z_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +/* NOT sure that this work on ALL platform */ +#define MAKEULONG64(a, b) ((ZPOS64_T)(((unsigned long)(a)) | ((ZPOS64_T)((unsigned long)(b))) << 32)) + +#ifndef DEF_MEM_LEVEL +# if MAX_MEM_LEVEL >= 8 +# define DEF_MEM_LEVEL 8 +# else +# define DEF_MEM_LEVEL MAX_MEM_LEVEL +# endif +#endif + +const char zip_copyright[] = " zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; + +typedef struct linkedlist_datablock_internal_s +{ + struct linkedlist_datablock_internal_s* next_datablock; + uLong avail_in_this_block; + uLong filled_in_this_block; + uLong unused; /* for future use and alignment */ + unsigned char data[SIZEDATA_INDATABLOCK]; +} linkedlist_datablock_internal; + +typedef struct linkedlist_data_s +{ + linkedlist_datablock_internal* first_block; + linkedlist_datablock_internal* last_block; +} linkedlist_data; + +typedef struct +{ + z_stream stream; /* zLib stream structure for inflate */ +#ifdef HAVE_BZIP2 + bz_stream bstream; /* bzLib stream structure for bziped */ +#endif +#ifdef HAVE_AES + fcrypt_ctx aes_ctx; + prng_ctx aes_rng[1]; +#endif + int stream_initialised; /* 1 is stream is initialized */ + uInt pos_in_buffered_data; /* last written byte in buffered_data */ + + ZPOS64_T pos_local_header; /* offset of the local header of the file currently writing */ + char* central_header; /* central header data for the current file */ + uLong size_centralextra; + uLong size_centralheader; /* size of the central header for cur file */ + uLong size_centralextrafree; /* Extra bytes allocated to the central header but that are not used */ + uLong size_comment; + uLong flag; /* flag of the file currently writing */ + + int method; /* compression method written to file.*/ + int compression_method; /* compression method to use */ + int raw; /* 1 for directly writing raw data */ + Byte buffered_data[Z_BUFSIZE]; /* buffer contain compressed data to be writ*/ + uLong dosDate; + uLong crc32; + int zip64; /* Add ZIP64 extended information in the extra field */ + uLong number_disk; /* number of current disk used for spanning ZIP */ + ZPOS64_T pos_zip64extrainfo; + ZPOS64_T total_compressed; + ZPOS64_T total_uncompressed; +#ifndef NOCRYPT + unsigned long keys[3]; /* keys defining the pseudo-random sequence */ + const unsigned long* pcrc_32_tab; + int crypt_header_size; +#endif +} curfile64_info; + +typedef struct +{ + zlib_filefunc64_32_def z_filefunc; + voidpf filestream; /* io structure of the zipfile */ + voidpf filestream_with_CD; /* io structure of the zipfile with the central dir */ + linkedlist_data central_dir; /* datablock with central dir in construction*/ + int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/ + int append; /* append mode */ + curfile64_info ci; /* info on the file currently writing */ + + ZPOS64_T begin_pos; /* position of the beginning of the zipfile */ + ZPOS64_T add_position_when_writting_offset; + ZPOS64_T number_entry; + ZPOS64_T disk_size; /* size of each disk */ + uLong number_disk; /* number of the current disk, used for spanning ZIP */ + uLong number_disk_with_CD; /* number the the disk with central dir, used for spanning ZIP */ +#ifndef NO_ADDFILEINEXISTINGZIP + char *globalcomment; +#endif +} zip64_internal; + +/* Allocate a new data block */ +local linkedlist_datablock_internal* allocate_new_datablock OF((void)); +local linkedlist_datablock_internal* allocate_new_datablock() +{ + linkedlist_datablock_internal* ldi; + + ldi = (linkedlist_datablock_internal*)ALLOC(sizeof(linkedlist_datablock_internal)); + + if (ldi != NULL) + { + ldi->next_datablock = NULL; + ldi->filled_in_this_block = 0; + ldi->avail_in_this_block = SIZEDATA_INDATABLOCK; + } + return ldi; +} + +/* Free data block in linked list */ +local void free_datablock OF((linkedlist_datablock_internal* ldi)); +local void free_datablock(linkedlist_datablock_internal* ldi) +{ + while (ldi != NULL) + { + linkedlist_datablock_internal* ldinext = ldi->next_datablock; + TRYFREE(ldi); + ldi = ldinext; + } +} + +/* Initialize linked list */ +local void init_linkedlist OF((linkedlist_data* ll)); +local void init_linkedlist(linkedlist_data* ll) +{ + ll->first_block = ll->last_block = NULL; +} + +/* Free entire linked list and all data blocks */ +local void free_linkedlist OF((linkedlist_data* ll)); +local void free_linkedlist(linkedlist_data* ll) +{ + free_datablock(ll->first_block); + ll->first_block = ll->last_block = NULL; +} + +/* Add data to linked list data block */ +local int add_data_in_datablock OF((linkedlist_data* ll, const void* buf, uLong len)); +local int add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong len) +{ + linkedlist_datablock_internal* ldi; + const unsigned char* from_copy; + + if (ll == NULL) + return ZIP_INTERNALERROR; + + if (ll->last_block == NULL) + { + ll->first_block = ll->last_block = allocate_new_datablock(); + if (ll->first_block == NULL) + return ZIP_INTERNALERROR; + } + + ldi = ll->last_block; + from_copy = (unsigned char*)buf; + + while (len > 0) + { + uInt copy_this; + uInt i; + unsigned char* to_copy; + + if (ldi->avail_in_this_block == 0) + { + ldi->next_datablock = allocate_new_datablock(); + if (ldi->next_datablock == NULL) + return ZIP_INTERNALERROR; + ldi = ldi->next_datablock ; + ll->last_block = ldi; + } + + if (ldi->avail_in_this_block < len) + copy_this = (uInt)ldi->avail_in_this_block; + else + copy_this = (uInt)len; + + to_copy = &(ldi->data[ldi->filled_in_this_block]); + + for (i = 0; i < copy_this; i++) + *(to_copy+i) = *(from_copy+i); + + ldi->filled_in_this_block += copy_this; + ldi->avail_in_this_block -= copy_this; + from_copy += copy_this; + len -= copy_this; + } + return ZIP_OK; +} + +local uLong zip64local_TmzDateToDosDate OF((const tm_zip* ptm)); +local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm) +{ + uLong year; +#define zip64local_in_range(min, max, value) ((min) <= (value) && (value) <= (max)) + /* Years supported: + * [00, 79] (assumed to be between 2000 and 2079) + * [80, 207] (assumed to be between 1980 and 2107, typical output of old + software that does 'year-1900' to get a double digit year) + * [1980, 2107] + Due to the date format limitations, only years between 1980 and 2107 can be stored. + */ + if (!(zip64local_in_range(1980, 2107, ptm->tm_year) || zip64local_in_range(0, 207, ptm->tm_year)) || + !zip64local_in_range(0, 11, ptm->tm_mon) || + !zip64local_in_range(1, 31, ptm->tm_mday) || + !zip64local_in_range(0, 23, ptm->tm_hour) || + !zip64local_in_range(0, 59, ptm->tm_min) || + !zip64local_in_range(0, 59, ptm->tm_sec)) + return 0; +#undef zip64local_in_range + + year = (uLong)ptm->tm_year; + if (year >= 1980) /* range [1980, 2107] */ + year -= 1980; + else if (year >= 80) /* range [80, 99] */ + year -= 80; + else /* range [00, 79] */ + year += 20; + + return (uLong)(((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | + ((ptm->tm_sec / 2) + (32 * ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); +} + +/* Inputs a long in LSB order to the given file: nbByte == 1, 2 ,4 or 8 (byte, short or long, ZPOS64_T) */ +local int zip64local_putValue OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + ZPOS64_T x, int nbByte)); +local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + ZPOS64_T x, int nbByte) +{ + unsigned char buf[8]; + int n; + for (n = 0; n < nbByte; n++) + { + buf[n] = (unsigned char)(x & 0xff); + x >>= 8; + } + if (x != 0) + { + /* Data overflow - hack for ZIP64 (X Roche) */ + for (n = 0; n < nbByte; n++) + { + buf[n] = 0xff; + } + } + + if (ZWRITE64(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) + return ZIP_ERRNO; + + return ZIP_OK; +} + +local void zip64local_putValue_inmemory OF((void* dest, ZPOS64_T x, int nbByte)); +local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte) +{ + unsigned char* buf =(unsigned char*)dest; + int n; + for (n = 0; n < nbByte; n++) { + buf[n] = (unsigned char)(x & 0xff); + x >>= 8; + } + + if (x != 0) + { + /* data overflow - hack for ZIP64 */ + for (n = 0; n < nbByte; n++) + { + buf[n] = 0xff; + } + } +} + +local int zip64local_getByte OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, int *pi)); +local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf filestream,int* pi) +{ + unsigned char c; + int err = (int)ZREAD64(*pzlib_filefunc_def, filestream, &c,1); + if (err == 1) + { + *pi = (int)c; + return ZIP_OK; + } + if (ZERROR64(*pzlib_filefunc_def, filestream)) + return ZIP_ERRNO; + return ZIP_EOF; +} + +local int zip64local_getShort OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); +local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) +{ + uLong x; + int i = 0; + int err; + + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (uLong)i; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((uLong)i) << 8; + + if (err == ZIP_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int zip64local_getLong OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); +local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, uLong* pX) +{ + uLong x; + int i = 0; + int err; + + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (uLong)i; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((uLong)i) << 8; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((uLong)i) << 16; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((uLong)i) << 24; + + if (err == ZIP_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int zip64local_getLong64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)); +local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX) +{ + ZPOS64_T x; + int i = 0; + int err; + + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x = (ZPOS64_T)i; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 8; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 16; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 24; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 32; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 40; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 48; + if (err == ZIP_OK) + err = zip64local_getByte(pzlib_filefunc_def, filestream, &i); + x += ((ZPOS64_T)i) << 56; + + if (err == ZIP_OK) + *pX = x; + else + *pX = 0; + + return err; +} + +/* Gets the amount of bytes left to write to the current disk for spanning archives */ +local int zipGetDiskSizeAvailable OF((zipFile file, ZPOS64_T *size_available)); +local int zipGetDiskSizeAvailable(zipFile file, ZPOS64_T *size_available) +{ + zip64_internal* zi; + ZPOS64_T current_disk_size; + + zi = (zip64_internal*)file; + ZSEEK64(zi->z_filefunc, zi->filestream, 0, ZLIB_FILEFUNC_SEEK_END); + current_disk_size = ZTELL64(zi->z_filefunc, zi->filestream); + *size_available = zi->disk_size - current_disk_size; + return ZIP_OK; +} + +/* Goes to a specific disk number for spanning archives */ +local int zipGoToSpecificDisk OF((zipFile file, int number_disk, int open_existing)); +local int zipGoToSpecificDisk(zipFile file, int number_disk, int open_existing) +{ + zip64_internal* zi; + int err = ZIP_OK; + + zi = (zip64_internal*)file; + if (zi->disk_size == 0) + return err; + + if ((zi->filestream != NULL) && (zi->filestream != zi->filestream_with_CD)) + ZCLOSE64(zi->z_filefunc, zi->filestream); + + zi->filestream = ZOPENDISK64(zi->z_filefunc, zi->filestream_with_CD, number_disk, (open_existing == 1) ? + (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING) : + (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE)); + + if (zi->filestream == NULL) + err = ZIP_ERRNO; + + return err; +} + +/* Goes to the first disk in a spanned archive */ +local int zipGoToFirstDisk OF((zipFile file)); +local int zipGoToFirstDisk(zipFile file) +{ + zip64_internal* zi; + int number_disk_next; + int err = ZIP_OK; + + zi = (zip64_internal*)file; + + if (zi->disk_size == 0) + return err; + number_disk_next = 0; + if (zi->number_disk_with_CD > 0) + number_disk_next = (int)zi->number_disk_with_CD - 1; + err = zipGoToSpecificDisk(file, number_disk_next, (zi->append == APPEND_STATUS_ADDINZIP)); + if ((err == ZIP_ERRNO) && (zi->append == APPEND_STATUS_ADDINZIP)) + err = zipGoToSpecificDisk(file, number_disk_next, 0); + if (err == ZIP_OK) + zi->number_disk = number_disk_next; + ZSEEK64(zi->z_filefunc, zi->filestream, 0, ZLIB_FILEFUNC_SEEK_END); + return err; +} + +/* Goes to the next disk in a spanned archive */ +local int zipGoToNextDisk OF((zipFile file)); +local int zipGoToNextDisk(zipFile file) +{ + zip64_internal* zi; + ZPOS64_T size_available_in_disk; + int err = ZIP_OK; + int number_disk_next; + + zi = (zip64_internal*)file; + + if (zi->disk_size == 0) + return err; + + number_disk_next = (int)zi->number_disk + 1; + + do + { + err = zipGoToSpecificDisk(file, number_disk_next, (zi->append == APPEND_STATUS_ADDINZIP)); + if ((err == ZIP_ERRNO) && (zi->append == APPEND_STATUS_ADDINZIP)) + err = zipGoToSpecificDisk(file, number_disk_next, 0); + if (err != ZIP_OK) + break; + err = zipGetDiskSizeAvailable(file, &size_available_in_disk); + if (err != ZIP_OK) + break; + zi->number_disk = number_disk_next; + zi->number_disk_with_CD = zi->number_disk + 1; + + number_disk_next += 1; + } + while (size_available_in_disk <= 0); + + return err; +} + +/* Locate the Central directory of a zipfile (at the end, just before the global comment) */ +local ZPOS64_T zip64local_SearchCentralDir OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream)); +local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream) +{ + unsigned char* buf; + ZPOS64_T file_size; + ZPOS64_T back_read = 4; + ZPOS64_T max_back=0xffff; /* maximum size of global comment */ + ZPOS64_T pos_found=0; + uLong read_size; + ZPOS64_T read_pos; + int i; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf == NULL) + return 0; + + if (ZSEEK64(*pzlib_filefunc_def, filestream, 0, ZLIB_FILEFUNC_SEEK_END) != 0) + { + TRYFREE(buf); + return 0; + } + + file_size = ZTELL64(*pzlib_filefunc_def, filestream); + + if (max_back > file_size) + max_back = file_size; + + while (back_read < max_back) + { + if (back_read + BUFREADCOMMENT > max_back) + back_read = max_back; + else + back_read += BUFREADCOMMENT; + + read_pos = file_size-back_read; + read_size = ((BUFREADCOMMENT+4) < (file_size-read_pos)) ? + (BUFREADCOMMENT+4) : (uLong)(file_size-read_pos); + + if (ZSEEK64(*pzlib_filefunc_def, filestream, read_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + break; + if (ZREAD64(*pzlib_filefunc_def, filestream, buf, read_size) != read_size) + break; + + for (i = (int)read_size-3; (i--) > 0;) + if ((*(buf+i)) == (ENDHEADERMAGIC & 0xff) && + (*(buf+i+1)) == (ENDHEADERMAGIC >> 8 & 0xff) && + (*(buf+i+2)) == (ENDHEADERMAGIC >> 16 & 0xff) && + (*(buf+i+3)) == (ENDHEADERMAGIC >> 24 & 0xff)) + { + pos_found = read_pos+i; + break; + } + + if (pos_found != 0) + break; + } + TRYFREE(buf); + return pos_found; +} + +/* Locate the Central directory 64 of a zipfile (at the end, just before the global comment) */ +local ZPOS64_T zip64local_SearchCentralDir64 OF((const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + const ZPOS64_T endcentraloffset)); +local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def, voidpf filestream, + const ZPOS64_T endcentraloffset) +{ + ZPOS64_T offset; + uLong uL; + + /* Zip64 end of central directory locator */ + if (ZSEEK64(*pzlib_filefunc_def, filestream, endcentraloffset - SIZECENTRALHEADERLOCATOR, ZLIB_FILEFUNC_SEEK_SET) != 0) + return 0; + + /* Read locator signature */ + if (zip64local_getLong(pzlib_filefunc_def, filestream, &uL) != ZIP_OK) + return 0; + if (uL != ZIP64ENDLOCHEADERMAGIC) + return 0; + /* Number of the disk with the start of the zip64 end of central directory */ + if (zip64local_getLong(pzlib_filefunc_def, filestream, &uL) != ZIP_OK) + return 0; + /* Relative offset of the zip64 end of central directory record */ + if (zip64local_getLong64(pzlib_filefunc_def, filestream, &offset) != ZIP_OK) + return 0; + /* Total number of disks */ + if (zip64local_getLong(pzlib_filefunc_def, filestream, &uL) != ZIP_OK) + return 0; + /* Goto end of central directory record */ + if (ZSEEK64(*pzlib_filefunc_def,filestream, offset, ZLIB_FILEFUNC_SEEK_SET) != 0) + return 0; + /* The signature */ + if (zip64local_getLong(pzlib_filefunc_def, filestream, &uL) != ZIP_OK) + return 0; + if (uL != ZIP64ENDHEADERMAGIC) + return 0; + + return offset; +} + +extern zipFile ZEXPORT zipOpen4(const void *pathname, int append, ZPOS64_T disk_size, const char ** globalcomment, + zlib_filefunc64_32_def* pzlib_filefunc64_32_def) +{ + zip64_internal ziinit; + zip64_internal* zi; +#ifndef NO_ADDFILEINEXISTINGZIP + ZPOS64_T byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx)*/ + ZPOS64_T size_central_dir = 0; /* size of the central directory */ + ZPOS64_T offset_central_dir = 0; /* offset of start of central directory */ + ZPOS64_T number_entry_CD = 0; /* total number of entries in the central dir */ + ZPOS64_T number_entry; + ZPOS64_T central_pos; + ZPOS64_T size_central_dir_to_read; + uLong uL; + uLong size_comment = 0; + size_t buf_size = SIZEDATA_INDATABLOCK; + void* buf_read; +#endif + int err = ZIP_OK; + int mode; + + ziinit.z_filefunc.zseek32_file = NULL; + ziinit.z_filefunc.ztell32_file = NULL; + if (pzlib_filefunc64_32_def == NULL) + fill_fopen64_filefunc(&ziinit.z_filefunc.zfile_func64); + else + ziinit.z_filefunc = *pzlib_filefunc64_32_def; + + if (append == APPEND_STATUS_CREATE) + mode = (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE); + else + mode = (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING); + + ziinit.filestream = ZOPEN64(ziinit.z_filefunc, pathname, mode); + if (ziinit.filestream == NULL) + return NULL; + + if (append == APPEND_STATUS_CREATEAFTER) + { + /* Don't support spanning ZIP with APPEND_STATUS_CREATEAFTER */ + if (disk_size > 0) + return NULL; + + ZSEEK64(ziinit.z_filefunc,ziinit.filestream,0,SEEK_END); + } + + ziinit.filestream_with_CD = ziinit.filestream; + ziinit.append = append; + ziinit.number_disk = 0; + ziinit.number_disk_with_CD = 0; + ziinit.disk_size = disk_size; + ziinit.begin_pos = ZTELL64(ziinit.z_filefunc,ziinit.filestream); + ziinit.in_opened_file_inzip = 0; + ziinit.ci.stream_initialised = 0; + ziinit.number_entry = 0; + ziinit.add_position_when_writting_offset = 0; + init_linkedlist(&(ziinit.central_dir)); + + zi = (zip64_internal*)ALLOC(sizeof(zip64_internal)); + if (zi == NULL) + { + ZCLOSE64(ziinit.z_filefunc,ziinit.filestream); + return NULL; + } + +#ifndef NO_ADDFILEINEXISTINGZIP + /* Add file in a zipfile */ + ziinit.globalcomment = NULL; + if (append == APPEND_STATUS_ADDINZIP) + { + /* Read and Cache Central Directory Records */ + central_pos = zip64local_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream); + /* Disable to allow appending to empty ZIP archive (must be standard zip, not zip64) + if (central_pos == 0) + err = ZIP_ERRNO; + */ + + if (err == ZIP_OK) + { + /* Read end of central directory info */ + if (ZSEEK64(ziinit.z_filefunc, ziinit.filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + + /* The signature, already checked */ + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + /* Number of this disk */ + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &ziinit.number_disk) != ZIP_OK) + err = ZIP_ERRNO; + /* Number of the disk with the start of the central directory */ + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &ziinit.number_disk_with_CD) != ZIP_OK) + err = ZIP_ERRNO; + /* Total number of entries in the central dir on this disk */ + number_entry = 0; + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + else + number_entry = uL; + /* Total number of entries in the central dir */ + number_entry_CD = 0; + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + else + number_entry_CD = uL; + if (number_entry_CD!=number_entry) + err = ZIP_BADZIPFILE; + /* Size of the central directory */ + size_central_dir = 0; + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + else + size_central_dir = uL; + /* Offset of start of central directory with respect to the starting disk number */ + offset_central_dir = 0; + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + else + offset_central_dir = uL; + /* Zipfile global comment length */ + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &size_comment) != ZIP_OK) + err = ZIP_ERRNO; + + if ((err == ZIP_OK) && ((number_entry_CD == 0xffff) || (offset_central_dir == 0xffffffff))) + { + /* Format should be Zip64, as the central directory or file size is too large */ + central_pos = zip64local_SearchCentralDir64(&ziinit.z_filefunc, ziinit.filestream, central_pos); + + if (central_pos) + { + ZPOS64_T sizeEndOfCentralDirectory; + + if (ZSEEK64(ziinit.z_filefunc, ziinit.filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + + /* The signature, already checked */ + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + /* Size of zip64 end of central directory record */ + if (zip64local_getLong64(&ziinit.z_filefunc, ziinit.filestream, &sizeEndOfCentralDirectory) != ZIP_OK) + err = ZIP_ERRNO; + /* Version made by */ + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + /* Version needed to extract */ + if (zip64local_getShort(&ziinit.z_filefunc, ziinit.filestream, &uL) != ZIP_OK) + err = ZIP_ERRNO; + /* Number of this disk */ + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &ziinit.number_disk) != ZIP_OK) + err = ZIP_ERRNO; + /* Number of the disk with the start of the central directory */ + if (zip64local_getLong(&ziinit.z_filefunc, ziinit.filestream, &ziinit.number_disk_with_CD) != ZIP_OK) + err = ZIP_ERRNO; + /* Total number of entries in the central directory on this disk */ + if (zip64local_getLong64(&ziinit.z_filefunc, ziinit.filestream, &number_entry) != ZIP_OK) + err = ZIP_ERRNO; + /* Total number of entries in the central directory */ + if (zip64local_getLong64(&ziinit.z_filefunc, ziinit.filestream, &number_entry_CD) != ZIP_OK) + err = ZIP_ERRNO; + if (number_entry_CD!=number_entry) + err = ZIP_BADZIPFILE; + /* Size of the central directory */ + if (zip64local_getLong64(&ziinit.z_filefunc, ziinit.filestream, &size_central_dir) != ZIP_OK) + err = ZIP_ERRNO; + /* Offset of start of central directory with respect to the starting disk number */ + if (zip64local_getLong64(&ziinit.z_filefunc, ziinit.filestream, &offset_central_dir) != ZIP_OK) + err = ZIP_ERRNO; + } + else + err = ZIP_BADZIPFILE; + } + } + + if ((err == ZIP_OK) && (central_pos 0) + { + ziinit.globalcomment = (char*)ALLOC(size_comment+1); + if (ziinit.globalcomment) + { + size_comment = ZREAD64(ziinit.z_filefunc, ziinit.filestream, ziinit.globalcomment, size_comment); + ziinit.globalcomment[size_comment] = 0; + } + } + + byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); + ziinit.add_position_when_writting_offset = byte_before_the_zipfile; + + /* Store central directory in memory */ + size_central_dir_to_read = size_central_dir; + buf_size = SIZEDATA_INDATABLOCK; + buf_read = (void*)ALLOC(buf_size); + + if (ZSEEK64(ziinit.z_filefunc, ziinit.filestream, + offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + + while ((size_central_dir_to_read > 0) && (err == ZIP_OK)) + { + ZPOS64_T read_this = SIZEDATA_INDATABLOCK; + if (read_this > size_central_dir_to_read) + read_this = size_central_dir_to_read; + + if (ZREAD64(ziinit.z_filefunc, ziinit.filestream, buf_read, (uLong)read_this) != read_this) + err = ZIP_ERRNO; + + if (err == ZIP_OK) + err = add_data_in_datablock(&ziinit.central_dir, buf_read, (uLong)read_this); + + size_central_dir_to_read -= read_this; + } + TRYFREE(buf_read); + + ziinit.begin_pos = byte_before_the_zipfile; + ziinit.number_entry = number_entry_CD; + + if (ZSEEK64(ziinit.z_filefunc, ziinit.filestream, + offset_central_dir+byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + } + + if (globalcomment) + *globalcomment = ziinit.globalcomment; +#endif + + if (err != ZIP_OK) + { +#ifndef NO_ADDFILEINEXISTINGZIP + TRYFREE(ziinit.globalcomment); +#endif + TRYFREE(zi); + return NULL; + } + + *zi = ziinit; + zipGoToFirstDisk((zipFile)zi); + return(zipFile)zi; +} + +extern zipFile ZEXPORT zipOpen2(const char *pathname, int append, const char ** globalcomment, + zlib_filefunc_def* pzlib_filefunc32_def) +{ + if (pzlib_filefunc32_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); + return zipOpen4(pathname, append, 0, globalcomment, &zlib_filefunc64_32_def_fill); + } + return zipOpen4(pathname, append, 0, globalcomment, NULL); +} + +extern zipFile ZEXPORT zipOpen2_64(const void *pathname, int append, const char ** globalcomment, + zlib_filefunc64_def* pzlib_filefunc_def) +{ + if (pzlib_filefunc_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; + zlib_filefunc64_32_def_fill.ztell32_file = NULL; + zlib_filefunc64_32_def_fill.zseek32_file = NULL; + return zipOpen4(pathname, append, 0, globalcomment, &zlib_filefunc64_32_def_fill); + } + return zipOpen4(pathname, append, 0, globalcomment, NULL); +} + +extern zipFile ZEXPORT zipOpen3(const char *pathname, int append, ZPOS64_T disk_size, const char ** globalcomment, + zlib_filefunc_def* pzlib_filefunc32_def) +{ + if (pzlib_filefunc32_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + fill_zlib_filefunc64_32_def_from_filefunc32(&zlib_filefunc64_32_def_fill,pzlib_filefunc32_def); + return zipOpen4(pathname, append, disk_size, globalcomment, &zlib_filefunc64_32_def_fill); + } + return zipOpen4(pathname, append, disk_size, globalcomment, NULL); +} + +extern zipFile ZEXPORT zipOpen3_64(const void *pathname, int append, ZPOS64_T disk_size, const char ** globalcomment, + zlib_filefunc64_def* pzlib_filefunc_def) +{ + if (pzlib_filefunc_def != NULL) + { + zlib_filefunc64_32_def zlib_filefunc64_32_def_fill; + zlib_filefunc64_32_def_fill.zfile_func64 = *pzlib_filefunc_def; + zlib_filefunc64_32_def_fill.ztell32_file = NULL; + zlib_filefunc64_32_def_fill.zseek32_file = NULL; + return zipOpen4(pathname, append, disk_size, globalcomment, &zlib_filefunc64_32_def_fill); + } + return zipOpen4(pathname, append, disk_size, globalcomment, NULL); +} + +extern zipFile ZEXPORT zipOpen(const char* pathname, int append) +{ + return zipOpen3((const void*)pathname,append,0,NULL,NULL); +} + +extern zipFile ZEXPORT zipOpen64(const void* pathname, int append) +{ + return zipOpen3(pathname,append,0,NULL,NULL); +} + +extern int ZEXPORT zipOpenNewFileInZip4_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, + int strategy, const char* password, uLong crcForCrypting, uLong versionMadeBy, uLong flagBase, int zip64) +{ + zip64_internal* zi; + uInt size_filename; + uInt size_comment = 0; + uInt i; + int err = ZIP_OK; + ZPOS64_T size_available; + ZPOS64_T size_needed; + +#ifdef NOCRYPT + (crcForCrypting); + if (password != NULL) + return ZIP_PARAMERROR; +#endif + + if (file == NULL) + return ZIP_PARAMERROR; + + if ((method != 0) && +#ifdef HAVE_BZIP2 + (method != Z_BZIP2ED) && +#endif + (method != Z_DEFLATED)) + return ZIP_PARAMERROR; + + zi = (zip64_internal*)file; + + if (zi->in_opened_file_inzip == 1) + { + err = zipCloseFileInZip (file); + if (err != ZIP_OK) + return err; + } + + if (filename == NULL) + filename = "-"; + if (comment != NULL) + size_comment = (uInt)strlen(comment); + + size_filename = (uInt)strlen(filename); + + if (zipfi == NULL) + zi->ci.dosDate = 0; + else + { + if (zipfi->dosDate != 0) + zi->ci.dosDate = zipfi->dosDate; + else + zi->ci.dosDate = zip64local_TmzDateToDosDate(&zipfi->tmz_date); + } + + zi->ci.method = method; + zi->ci.compression_method = method; + zi->ci.crc32 = 0; + zi->ci.stream_initialised = 0; + zi->ci.pos_in_buffered_data = 0; + zi->ci.raw = raw; + zi->ci.flag = flagBase; + if ((level == 8) || (level == 9)) + zi->ci.flag |= 2; + if (level == 2) + zi->ci.flag |= 4; + if (level == 1) + zi->ci.flag |= 6; + if (password != NULL) + { + zi->ci.flag |= 1; +#ifdef HAVE_AES + zi->ci.method = AES_METHOD; +#endif + } + + if (zi->disk_size > 0) + { + if ((zi->number_disk == 0) && (zi->number_entry == 0)) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)DISKHEADERMAGIC, 4); + + /* Make sure enough space available on current disk for local header */ + zipGetDiskSizeAvailable((zipFile)zi, &size_available); + size_needed = 30 + size_filename + size_extrafield_local; + if (zi->ci.zip64) + size_needed += 20; +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + size_needed += 11; +#endif + if (size_available < size_needed) + zipGoToNextDisk((zipFile)zi); + } + + zi->ci.pos_local_header = ZTELL64(zi->z_filefunc, zi->filestream); + zi->ci.size_comment = size_comment; + zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global; + zi->ci.size_centralextra = size_extrafield_global; + zi->ci.size_centralextrafree = 32; /* Extra space reserved for ZIP64 extra info */ +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + zi->ci.size_centralextrafree += 11; /* Extra space reserved for AES extra info */ +#endif + zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader + zi->ci.size_centralextrafree + size_comment); + zi->ci.number_disk = zi->number_disk; + + /* Write central directory header */ + zip64local_putValue_inmemory(zi->ci.central_header, (uLong)CENTRALHEADERMAGIC, 4); + zip64local_putValue_inmemory(zi->ci.central_header+4, (uLong)versionMadeBy, 2); + zip64local_putValue_inmemory(zi->ci.central_header+6, (uLong)20, 2); + zip64local_putValue_inmemory(zi->ci.central_header+8, (uLong)zi->ci.flag, 2); + zip64local_putValue_inmemory(zi->ci.central_header+10, (uLong)zi->ci.method, 2); + zip64local_putValue_inmemory(zi->ci.central_header+12, (uLong)zi->ci.dosDate, 4); + zip64local_putValue_inmemory(zi->ci.central_header+16, (uLong)0, 4); /*crc*/ + zip64local_putValue_inmemory(zi->ci.central_header+20, (uLong)0, 4); /*compr size*/ + zip64local_putValue_inmemory(zi->ci.central_header+24, (uLong)0, 4); /*uncompr size*/ + zip64local_putValue_inmemory(zi->ci.central_header+28, (uLong)size_filename, 2); + zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)size_extrafield_global, 2); + zip64local_putValue_inmemory(zi->ci.central_header+32, (uLong)size_comment, 2); + zip64local_putValue_inmemory(zi->ci.central_header+34, (uLong)zi->ci.number_disk, 2); /*disk nm start*/ + + if (zipfi == NULL) + zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)0, 2); + else + zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)zipfi->internal_fa, 2); + if (zipfi == NULL) + zip64local_putValue_inmemory(zi->ci.central_header+38, (uLong)0, 4); + else + zip64local_putValue_inmemory(zi->ci.central_header+38, (uLong)zipfi->external_fa, 4); + if (zi->ci.pos_local_header >= 0xffffffff) + zip64local_putValue_inmemory(zi->ci.central_header+42, (uLong)0xffffffff, 4); + else + zip64local_putValue_inmemory(zi->ci.central_header+42, + (uLong)zi->ci.pos_local_header - zi->add_position_when_writting_offset, 4); + + for (i = 0; i < size_filename; i++) + zi->ci.central_header[SIZECENTRALHEADER+i] = filename[i]; + for (i = 0; i < size_extrafield_global; i++) + zi->ci.central_header[SIZECENTRALHEADER+size_filename+i] = + ((const char*)extrafield_global)[i]; + /* Store comment at the end for later repositioning */ + for (i = 0; i < size_comment; i++) + zi->ci.central_header[zi->ci.size_centralheader+ + zi->ci.size_centralextrafree+i] = comment[i]; + + if (zi->ci.central_header == NULL) + return ZIP_INTERNALERROR; + + zi->ci.zip64 = zip64; + zi->ci.total_compressed = 0; + zi->ci.total_uncompressed = 0; + zi->ci.pos_zip64extrainfo = 0; + + /* Write the local header */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)LOCALHEADERMAGIC, 4); + + if (err == ZIP_OK) + { + if (zi->ci.zip64) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); /* version needed to extract */ + else + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)20, 2); /* version needed to extract */ + } + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.flag, 2); + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.method, 2); + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->ci.dosDate, 4); + + /* CRC & compressed size & uncompressed size will be filled in later and rewritten later */ + + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); /* crc 32, unknown */ + if (err == ZIP_OK) + { + if (zi->ci.zip64) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xFFFFFFFF, 4); /* compressed size, unknown */ + else + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); /* compressed size, unknown */ + } + if (err == ZIP_OK) + { + if (zi->ci.zip64) /* uncompressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xFFFFFFFF, 4); + else /* uncompressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0, 4); + } + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_filename, 2); + if (err == ZIP_OK) + { + ZPOS64_T size_extrafield = size_extrafield_local; + if (zi->ci.zip64) + size_extrafield += 20; +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + size_extrafield += 11; +#endif + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_extrafield,2); + } + if ((err == ZIP_OK) && (size_filename > 0)) + { + if (ZWRITE64(zi->z_filefunc, zi->filestream, filename, size_filename) != size_filename) + err = ZIP_ERRNO; + } + if ((err == ZIP_OK) && (size_extrafield_local > 0)) + { + if (ZWRITE64(zi->z_filefunc, zi->filestream, extrafield_local, size_extrafield_local) != size_extrafield_local) + err = ZIP_ERRNO; + } + + /* Write the Zip64 extended info */ + if ((err == ZIP_OK) && (zi->ci.zip64)) + { + short headerid = 1; + short datasize = 16; + ZPOS64_T compressed_size = 0; + ZPOS64_T uncompressed_size = 0; + + /* Remember position of Zip64 extended info for the local file header. + (needed when we update size after done with file) */ + zi->ci.pos_zip64extrainfo = ZTELL64(zi->z_filefunc, zi->filestream); + + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)headerid, 2); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (short)datasize, 2); + + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)uncompressed_size, 8); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)compressed_size, 8); + } +#ifdef HAVE_AES + /* Write the AES extended info */ + if ((err == ZIP_OK) && (zi->ci.method == AES_METHOD)) + { + int headerid = 0x9901; + short datasize = 7; + + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, headerid, 2); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, datasize, 2); + + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, AES_VERSION, 2); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, 'A', 1); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, 'E', 1); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, AES_ENCRYPTIONMODE, 1); + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->ci.compression_method, 2); + } +#endif + +#ifdef HAVE_BZIP2 + zi->ci.bstream.avail_in = (uInt)0; + zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; + zi->ci.bstream.total_in_hi32 = 0; + zi->ci.bstream.total_in_lo32 = 0; + zi->ci.bstream.total_out_hi32 = 0; + zi->ci.bstream.total_out_lo32 = 0; +#endif + + zi->ci.stream.avail_in = (uInt)0; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + zi->ci.stream.total_in = 0; + zi->ci.stream.total_out = 0; + zi->ci.stream.data_type = Z_BINARY; + + if ((err == ZIP_OK) && (!zi->ci.raw)) + { + if (method == Z_DEFLATED) + { + zi->ci.stream.zalloc = (alloc_func)0; + zi->ci.stream.zfree = (free_func)0; + zi->ci.stream.opaque = (voidpf)zi; + + if (windowBits > 0) + windowBits = -windowBits; + + err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); + + if (err == Z_OK) + zi->ci.stream_initialised = Z_DEFLATED; + } + else if (method == Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + zi->ci.bstream.bzalloc = 0; + zi->ci.bstream.bzfree = 0; + zi->ci.bstream.opaque = (voidpf)0; + + err = BZ2_bzCompressInit(&zi->ci.bstream, level, 0, 35); + if (err == BZ_OK) + zi->ci.stream_initialised = Z_BZIP2ED; +#endif + } + } + +#ifndef NOCRYPT + zi->ci.crypt_header_size = 0; + if ((err == Z_OK) && ((zi->ci.flag & 1) != 0)) + { +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + { + unsigned char passverify[AES_PWVERIFYSIZE]; + unsigned char saltvalue[AES_MAXSALTLENGTH]; + uInt saltlength; + + if ((AES_ENCRYPTIONMODE < 1) || (AES_ENCRYPTIONMODE > 3)) + return Z_ERRNO; + + saltlength = SALT_LENGTH(AES_ENCRYPTIONMODE); + + prng_init(entropy_fun, zi->ci.aes_rng); + prng_rand(saltvalue, saltlength, zi->ci.aes_rng); + prng_end(zi->ci.aes_rng); + + fcrypt_init(AES_ENCRYPTIONMODE, password, strlen(password), saltvalue, passverify, &zi->ci.aes_ctx); + + if (ZWRITE64(zi->z_filefunc, zi->filestream, saltvalue, saltlength) != saltlength) + err = ZIP_ERRNO; + if (ZWRITE64(zi->z_filefunc, zi->filestream, passverify, AES_PWVERIFYSIZE) != AES_PWVERIFYSIZE) + err = ZIP_ERRNO; + + zi->ci.crypt_header_size = saltlength + AES_PWVERIFYSIZE + AES_AUTHCODESIZE; + } + else +#endif + { + unsigned char bufHead[RAND_HEAD_LEN]; + unsigned int sizeHead; + + zi->ci.pcrc_32_tab = (const unsigned long *)get_crc_table(); + /*init_keys(password, zi->ci.keys, zi->ci.pcrc_32_tab);*/ + + sizeHead = crypthead(password, bufHead, RAND_HEAD_LEN, zi->ci.keys, zi->ci.pcrc_32_tab, crcForCrypting); + zi->ci.crypt_header_size = sizeHead; + + if (ZWRITE64(zi->z_filefunc, zi->filestream, bufHead, sizeHead) != sizeHead) + err = ZIP_ERRNO; + } + } +#endif + + if (err == Z_OK) + zi->in_opened_file_inzip = 1; + return err; +} + +extern int ZEXPORT zipOpenNewFileInZip4(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, + int memLevel, int strategy, const char* password, uLong crcForCrypting, uLong versionMadeBy, uLong flagBase) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, + strategy, password, crcForCrypting, versionMadeBy, flagBase, 0); +} + +extern int ZEXPORT zipOpenNewFileInZip3(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, + int memLevel, int strategy, const char* password, uLong crcForCrypting) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, + strategy, password, crcForCrypting, VERSIONMADEBY, 0, 0); +} + +extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, + int memLevel, int strategy, const char* password, uLong crcForCrypting, int zip64) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, strategy, + password, crcForCrypting, VERSIONMADEBY, 0, zip64); +} + +extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, raw, -MAX_WBITS, DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, NULL, 0, VERSIONMADEBY, 0, 0); +} + +extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int raw, int zip64) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, raw, -MAX_WBITS, DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, NULL, 0, VERSIONMADEBY, 0, zip64); +} + +extern int ZEXPORT zipOpenNewFileInZip64(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void*extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level, int zip64) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, 0, -MAX_WBITS, DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, NULL, 0, VERSIONMADEBY, 0, zip64); +} + +extern int ZEXPORT zipOpenNewFileInZip(zipFile file, const char* filename, const zip_fileinfo* zipfi, + const void* extrafield_local, uInt size_extrafield_local, const void*extrafield_global, + uInt size_extrafield_global, const char* comment, int method, int level) +{ + return zipOpenNewFileInZip4_64(file, filename, zipfi, extrafield_local, size_extrafield_local, + extrafield_global, size_extrafield_global, comment, method, level, 0, -MAX_WBITS, DEF_MEM_LEVEL, + Z_DEFAULT_STRATEGY, NULL, 0, VERSIONMADEBY, 0, 0); +} + +/* Flushes the write buffer to disk */ +local int zip64FlushWriteBuffer OF((zip64_internal* zi)); +local int zip64FlushWriteBuffer(zip64_internal* zi) +{ + int err = ZIP_OK; + uInt written = 0; + uInt total_written = 0; + uInt write = 0; + uInt max_write = 0; + ZPOS64_T size_available = 0; + + if ((zi->ci.flag & 1) != 0) + { +#ifndef NOCRYPT +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + { + fcrypt_encrypt(zi->ci.buffered_data, zi->ci.pos_in_buffered_data, &zi->ci.aes_ctx); + } + else +#endif + { + uInt i; + int t; + for (i = 0;i < zi->ci.pos_in_buffered_data; i++) + zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); + } +#endif + } + + write = zi->ci.pos_in_buffered_data; + + do + { + max_write = write; + + if (zi->disk_size > 0) + { + err = zipGetDiskSizeAvailable((zipFile)zi, &size_available); + if (err != ZIP_OK) + return err; + + if (size_available == 0) + { + err = zipGoToNextDisk((zipFile)zi); + if (err != ZIP_OK) + return err; + } + + if (size_available < (ZPOS64_T)max_write) + max_write = (uInt)size_available; + } + + written = (unsigned int)ZWRITE64(zi->z_filefunc, zi->filestream, zi->ci.buffered_data + total_written, max_write); + + if (ZERROR64(zi->z_filefunc, zi->filestream)) + { + err = ZIP_ERRNO; + break; + } + + total_written += written; + write -= written; + } + while (write > 0); + + zi->ci.total_compressed += zi->ci.pos_in_buffered_data; + +#ifdef HAVE_BZIP2 + if (zi->ci.compression_method == Z_BZIP2ED) + { + zi->ci.total_uncompressed += zi->ci.bstream.total_in_lo32; + zi->ci.bstream.total_in_lo32 = 0; + zi->ci.bstream.total_in_hi32 = 0; + } + else +#endif + { + zi->ci.total_uncompressed += zi->ci.stream.total_in; + zi->ci.stream.total_in = 0; + } + + zi->ci.pos_in_buffered_data = 0; + + return err; +} + +extern int ZEXPORT zipWriteInFileInZip(zipFile file,const void* buf,unsigned int len) +{ + zip64_internal* zi; + int err = ZIP_OK; + + if (file == NULL) + return ZIP_PARAMERROR; + zi = (zip64_internal*)file; + + if (zi->in_opened_file_inzip == 0) + return ZIP_PARAMERROR; + + zi->ci.crc32 = crc32(zi->ci.crc32, buf, (uInt)len); + +#ifdef HAVE_BZIP2 + if ((zi->ci.compression_method == Z_BZIP2ED) && (!zi->ci.raw)) + { + zi->ci.bstream.next_in = (void*)buf; + zi->ci.bstream.avail_in = len; + err = BZ_RUN_OK; + + while ((err == BZ_RUN_OK) && (zi->ci.bstream.avail_in > 0)) + { + if (zi->ci.bstream.avail_out == 0) + { + if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; + } + else + { + uLong uTotalOutBefore_lo = zi->ci.bstream.total_out_lo32; + uLong uTotalOutBefore_hi = zi->ci.bstream.total_out_hi32; + + err = BZ2_bzCompress(&zi->ci.bstream, BZ_RUN); + + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - uTotalOutBefore_lo); + } + } + + if (err == BZ_RUN_OK) + err = ZIP_OK; + } + else +#endif + { + zi->ci.stream.next_in = (Bytef*)buf; + zi->ci.stream.avail_in = len; + + while ((err == ZIP_OK) && (zi->ci.stream.avail_in > 0)) + { + if (zi->ci.stream.avail_out == 0) + { + if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + } + + if (err != ZIP_OK) + break; + + if ((zi->ci.compression_method == Z_DEFLATED) && (!zi->ci.raw)) + { + uLong total_out_before = zi->ci.stream.total_out; + err = deflate(&zi->ci.stream, Z_NO_FLUSH); + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - total_out_before); + } + else + { + uInt copy_this,i; + if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) + copy_this = zi->ci.stream.avail_in; + else + copy_this = zi->ci.stream.avail_out; + + for (i = 0; i < copy_this; i++) + *(((char*)zi->ci.stream.next_out)+i) = + *(((const char*)zi->ci.stream.next_in)+i); + + zi->ci.stream.avail_in -= copy_this; + zi->ci.stream.avail_out -= copy_this; + zi->ci.stream.next_in += copy_this; + zi->ci.stream.next_out += copy_this; + zi->ci.stream.total_in += copy_this; + zi->ci.stream.total_out += copy_this; + zi->ci.pos_in_buffered_data += copy_this; + } + } + } + + return err; +} + +extern int ZEXPORT zipCloseFileInZipRaw(zipFile file, uLong uncompressed_size, uLong crc32) +{ + return zipCloseFileInZipRaw64 (file, uncompressed_size, crc32); +} + +extern int ZEXPORT zipCloseFileInZipRaw64(zipFile file, ZPOS64_T uncompressed_size, uLong crc32) +{ + zip64_internal* zi; + ZPOS64_T compressed_size; + uLong invalidValue = 0xffffffff; + uLong i = 0; + short datasize = 0; + int err = ZIP_OK; + + if (file == NULL) + return ZIP_PARAMERROR; + zi = (zip64_internal*)file; + + if (zi->in_opened_file_inzip == 0) + return ZIP_PARAMERROR; + zi->ci.stream.avail_in = 0; + + if (!zi->ci.raw) + { + if (zi->ci.compression_method == Z_DEFLATED) + { + while (err == ZIP_OK) + { + uLong total_out_before; + if (zi->ci.stream.avail_out == 0) + { + if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.stream.next_out = zi->ci.buffered_data; + } + total_out_before = zi->ci.stream.total_out; + err = deflate(&zi->ci.stream, Z_FINISH); + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - total_out_before); + } + } + else if (zi->ci.compression_method == Z_BZIP2ED) + { +#ifdef HAVE_BZIP2 + err = BZ_FINISH_OK; + while (err == BZ_FINISH_OK) + { + uLong total_out_before; + if (zi->ci.bstream.avail_out == 0) + { + if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + zi->ci.bstream.avail_out = (uInt)Z_BUFSIZE; + zi->ci.bstream.next_out = (char*)zi->ci.buffered_data; + } + total_out_before = zi->ci.bstream.total_out_lo32; + err = BZ2_bzCompress(&zi->ci.bstream, BZ_FINISH); + if (err == BZ_STREAM_END) + err = Z_STREAM_END; + zi->ci.pos_in_buffered_data += (uInt)(zi->ci.bstream.total_out_lo32 - total_out_before); + } + + if (err == BZ_FINISH_OK) + err = ZIP_OK; +#endif + } + } + + if (err == Z_STREAM_END) + err = ZIP_OK; /* this is normal */ + + if ((zi->ci.pos_in_buffered_data > 0) && (err == ZIP_OK)) + { + if (zip64FlushWriteBuffer(zi) == ZIP_ERRNO) + err = ZIP_ERRNO; + } + +#ifdef HAVE_AES + if (zi->ci.method == AES_METHOD) + { + unsigned char authcode[AES_AUTHCODESIZE]; + + fcrypt_end(authcode, &zi->ci.aes_ctx); + + if (ZWRITE64(zi->z_filefunc, zi->filestream, authcode, AES_AUTHCODESIZE) != AES_AUTHCODESIZE) + err = ZIP_ERRNO; + } +#endif + + if (!zi->ci.raw) + { + if (zi->ci.compression_method == Z_DEFLATED) + { + int tmp_err = deflateEnd(&zi->ci.stream); + if (err == ZIP_OK) + err = tmp_err; + zi->ci.stream_initialised = 0; + } +#ifdef HAVE_BZIP2 + else if (zi->ci.compression_method == Z_BZIP2ED) + { + int tmperr = BZ2_bzCompressEnd(&zi->ci.bstream); + if (err == ZIP_OK) + err = tmperr; + zi->ci.stream_initialised = 0; + } +#endif + + crc32 = (uLong)zi->ci.crc32; + uncompressed_size = zi->ci.total_uncompressed; + } + + compressed_size = zi->ci.total_compressed; +#ifndef NOCRYPT + compressed_size += zi->ci.crypt_header_size; +#endif + + /* Update current item crc and sizes */ + if (compressed_size >= 0xffffffff || uncompressed_size >= 0xffffffff || zi->ci.pos_local_header >= 0xffffffff) + { + zip64local_putValue_inmemory(zi->ci.central_header+4, (uLong)45, 2); /* version made by */ + zip64local_putValue_inmemory(zi->ci.central_header+6, (uLong)45, 2); /* version needed */ + } + zip64local_putValue_inmemory(zi->ci.central_header+16, crc32, 4); /* crc */ + if (compressed_size >= 0xffffffff) + zip64local_putValue_inmemory(zi->ci.central_header+20, invalidValue, 4); /* compr size */ + else + zip64local_putValue_inmemory(zi->ci.central_header+20, compressed_size, 4); /* compr size */ + if (zi->ci.stream.data_type == Z_ASCII) + zip64local_putValue_inmemory(zi->ci.central_header+36, (uLong)Z_ASCII, 2); /* internal file attrib */ + if (uncompressed_size >= 0xffffffff) + zip64local_putValue_inmemory(zi->ci.central_header+24, invalidValue, 4); /* uncompr size */ + else + zip64local_putValue_inmemory(zi->ci.central_header+24, uncompressed_size, 4); /* uncompr size */ + + /* Add ZIP64 extra info field for uncompressed size */ + if (uncompressed_size >= 0xffffffff) + datasize += 8; + /* Add ZIP64 extra info field for compressed size */ + if (compressed_size >= 0xffffffff) + datasize += 8; + /* Add ZIP64 extra info field for relative offset to local file header of current file */ + if (zi->ci.pos_local_header >= 0xffffffff) + datasize += 8; + + /* Add Extra Information Header for 'ZIP64 information' */ + if (datasize > 0) + { + char* p = zi->ci.central_header + zi->ci.size_centralheader; + + if ((uLong)(datasize + 4) > zi->ci.size_centralextrafree) + return ZIP_BADZIPFILE; + + zip64local_putValue_inmemory(p, 0x0001, 2); + p += 2; + zip64local_putValue_inmemory(p, datasize, 2); + p += 2; + + if (uncompressed_size >= 0xffffffff) + { + zip64local_putValue_inmemory(p, uncompressed_size, 8); + p += 8; + } + if (compressed_size >= 0xffffffff) + { + zip64local_putValue_inmemory(p, compressed_size, 8); + p += 8; + } + if (zi->ci.pos_local_header >= 0xffffffff) + { + zip64local_putValue_inmemory(p, zi->ci.pos_local_header, 8); + p += 8; + } + + zi->ci.size_centralextrafree -= datasize + 4; + zi->ci.size_centralheader += datasize + 4; + zi->ci.size_centralextra += datasize + 4; + + zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)zi->ci.size_centralextra, 2); + } + +#ifdef HAVE_AES + /* Write the AES extended info */ + if (zi->ci.method == AES_METHOD) + { + char* p = zi->ci.central_header + zi->ci.size_centralheader; + + datasize = 7; + + if ((uLong)(datasize + 4) > zi->ci.size_centralextrafree) + return ZIP_BADZIPFILE; + + zip64local_putValue_inmemory(p, 0x9901, 2); + p += 2; + zip64local_putValue_inmemory(p, datasize, 2); + p += 2; + zip64local_putValue_inmemory(p, AES_VERSION, 2); + p += 2; + zip64local_putValue_inmemory(p, 'A', 1); + p += 1; + zip64local_putValue_inmemory(p, 'E', 1); + p += 1; + zip64local_putValue_inmemory(p, AES_ENCRYPTIONMODE, 1); + p += 1; + zip64local_putValue_inmemory(p, zi->ci.compression_method, 2); + p += 2; + + zi->ci.size_centralextrafree -= datasize + 4; + zi->ci.size_centralheader += datasize + 4; + zi->ci.size_centralextra += datasize + 4; + + zip64local_putValue_inmemory(zi->ci.central_header+30, (uLong)zi->ci.size_centralextra, 2); + } +#endif + /* Restore comment to correct position */ + for (i = 0; i < zi->ci.size_comment; i++) + zi->ci.central_header[zi->ci.size_centralheader+i] = + zi->ci.central_header[zi->ci.size_centralheader+zi->ci.size_centralextrafree+i]; + zi->ci.size_centralheader += zi->ci.size_comment; + + if (err == ZIP_OK) + err = add_data_in_datablock(&zi->central_dir, zi->ci.central_header, (uLong)zi->ci.size_centralheader); + + free(zi->ci.central_header); + + if (err == ZIP_OK) + { + /* Update the LocalFileHeader with the new values. */ + ZPOS64_T cur_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); + uLong cur_number_disk = zi->number_disk; + + /* Local file header is stored on previous disk, switch to make edits */ + if (zi->ci.number_disk != cur_number_disk) + err = zipGoToSpecificDisk(file, (int)zi->ci.number_disk, 1); + + if (ZSEEK64(zi->z_filefunc, zi->filestream, zi->ci.pos_local_header + 14, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream,crc32,4); /* crc 32, unknown */ + + if (uncompressed_size >= 0xffffffff || compressed_size >= 0xffffffff) + { + if (zi->ci.pos_zip64extrainfo > 0) + { + /* Update the size in the ZIP64 extended field. */ + if (ZSEEK64(zi->z_filefunc, zi->filestream, zi->ci.pos_zip64extrainfo + 4, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + + if (err == ZIP_OK) /* compressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, uncompressed_size, 8); + if (err == ZIP_OK) /* uncompressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, compressed_size, 8); + } + else + err = ZIP_BADZIPFILE; /* Caller passed zip64 = 0, so no room for zip64 info -> fatal */ + } + else + { + if (err == ZIP_OK) /* compressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream,compressed_size, 4); + if (err == ZIP_OK) /* uncompressed size, unknown */ + err = zip64local_putValue(&zi->z_filefunc, zi->filestream,uncompressed_size, 4); + } + + /* Now switch back again to the disk we were on before */ + if (zi->ci.number_disk != cur_number_disk) + err = zipGoToSpecificDisk(file, (int)cur_number_disk, 1); + + if (ZSEEK64(zi->z_filefunc, zi->filestream, cur_pos_inzip, ZLIB_FILEFUNC_SEEK_SET) != 0) + err = ZIP_ERRNO; + } + + zi->number_entry++; + zi->in_opened_file_inzip = 0; + + return err; +} + +extern int ZEXPORT zipCloseFileInZip(zipFile file) +{ + return zipCloseFileInZipRaw(file, 0, 0); +} + +extern int ZEXPORT zipClose(zipFile file, const char* global_comment) +{ + zip64_internal* zi; + int err = 0; + uLong size_centraldir = 0; + uInt size_global_comment = 0; + ZPOS64_T centraldir_pos_inzip; + ZPOS64_T pos = 0; + uLong write = 0; + + if (file == NULL) + return ZIP_PARAMERROR; + + zi = (zip64_internal*)file; + + if (zi->in_opened_file_inzip == 1) + err = zipCloseFileInZip(file); + +#ifndef NO_ADDFILEINEXISTINGZIP + if (global_comment == NULL) + global_comment = zi->globalcomment; +#endif + + if (zi->filestream != zi->filestream_with_CD) + { + if (ZCLOSE64(zi->z_filefunc, zi->filestream) != 0) + if (err == ZIP_OK) + err = ZIP_ERRNO; + if (zi->disk_size > 0) + zi->number_disk_with_CD = zi->number_disk + 1; + zi->filestream = zi->filestream_with_CD; + } + + centraldir_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); + + if (err == ZIP_OK) + { + linkedlist_datablock_internal* ldi = zi->central_dir.first_block; + while (ldi!= NULL) + { + if ((err == ZIP_OK) && (ldi->filled_in_this_block > 0)) + { + write = ZWRITE64(zi->z_filefunc, zi->filestream, ldi->data, ldi->filled_in_this_block); + if (write != ldi->filled_in_this_block) + err = ZIP_ERRNO; + } + + size_centraldir += ldi->filled_in_this_block; + ldi = ldi->next_datablock; + } + } + + free_linkedlist(&(zi->central_dir)); + + pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; + + /* Write the ZIP64 central directory header */ + if (pos >= 0xffffffff || zi->number_entry > 0xffff) + { + ZPOS64_T zip64eocd_pos_inzip = ZTELL64(zi->z_filefunc, zi->filestream); + uLong zip64datasize = 44; + + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ZIP64ENDHEADERMAGIC, 4); + + /* Size of this 'zip64 end of central directory' */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)zip64datasize, 8); + /* Version made by */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); + /* Version needed */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)45, 2); + /* Number of this disk */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); + /* Number of the disk with the start of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); + /* Total number of entries in the central dir on this disk */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); + /* Total number of entries in the central dir */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, zi->number_entry, 8); + /* Size of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)size_centraldir, 8); + + if (err == ZIP_OK) + { + /* Offset of start of central directory with respect to the starting disk number */ + ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (ZPOS64_T)pos, 8); + } + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ZIP64ENDLOCHEADERMAGIC, 4); + + /* Number of the disk with the start of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 4); + /* Relative offset to the Zip64EndOfCentralDirectory */ + if (err == ZIP_OK) + { + ZPOS64_T pos = zip64eocd_pos_inzip - zi->add_position_when_writting_offset; + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, pos, 8); + } + /* Number of the disk with the start of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD+1, 4); + } + + /* Write the central directory header */ + + /* Signature */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)ENDHEADERMAGIC, 4); + /* Number of this disk */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 2); + /* Number of the disk with the start of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_disk_with_CD, 2); + /* Total number of entries in the central dir on this disk */ + if (err == ZIP_OK) + { + if (zi->number_entry >= 0xffff) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffff, 2); /* use value in ZIP64 record */ + else + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_entry, 2); + } + /* Total number of entries in the central dir */ + if (err == ZIP_OK) + { + if (zi->number_entry >= 0xffff) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffff, 2); /* use value in ZIP64 record */ + else + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)zi->number_entry, 2); + } + /* Size of the central directory */ + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_centraldir,4); + /* Offset of start of central directory with respect to the starting disk number */ + if (err == ZIP_OK) + { + ZPOS64_T pos = centraldir_pos_inzip - zi->add_position_when_writting_offset; + if (pos >= 0xffffffff) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)0xffffffff, 4); + else + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)pos, 4); + } + + /* Write global comment */ + + if (global_comment != NULL) + size_global_comment = (uInt)strlen(global_comment); + if (err == ZIP_OK) + err = zip64local_putValue(&zi->z_filefunc, zi->filestream, (uLong)size_global_comment, 2); + if (err == ZIP_OK && size_global_comment > 0) + { + if (ZWRITE64(zi->z_filefunc, zi->filestream, global_comment, size_global_comment) != size_global_comment) + err = ZIP_ERRNO; + } + + if ((ZCLOSE64(zi->z_filefunc, zi->filestream) != 0) && (err == ZIP_OK)) + err = ZIP_ERRNO; + +#ifndef NO_ADDFILEINEXISTINGZIP + TRYFREE(zi->globalcomment); +#endif + TRYFREE(zi); + + return err; +} diff --git a/src/libs/Zip/Zip/zlib/module.modulemap b/src/libs/Zip/Zip/zlib/module.modulemap new file mode 100644 index 0000000..e69de29 diff --git a/src/main.swift b/src/main.swift new file mode 100644 index 0000000..5d2c0ec --- /dev/null +++ b/src/main.swift @@ -0,0 +1,7 @@ +import AppKit + +let app = NSApplication.shared +let delegate = AppDelegate() +app.delegate = delegate + +_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv) diff --git a/src/resources/AppIcon.icns b/src/resources/AppIcon.icns new file mode 100644 index 0000000000000000000000000000000000000000..706adf9ccca7c294ef8e943e2ac1c5151cde0e8a GIT binary patch literal 568052 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
#SCnfA7N`5Q1dt(?w-EG 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 VYs0;+=b-e;;OXk;vd$@?2>{v`KD__{ literal 0 HcmV?d00001 diff --git a/src/resources/icon.iconset/icon_16x16@2x.png b/src/resources/icon.iconset/icon_16x16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3fb9290e4fdce6d77a38b2dcdd6aa0a20c6439e2 GIT binary patch literal 1711 zcmV;g22lBlP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91AfN*P1ONa40RR91AOHXW0IY^$^8f$_8A(JzR9Fe6R^4w@MHD~xyW4L0 z*fxAvib(lL4XM%)LyVXJPhjGc7!zZRiHZ84Mjw4L@*ilTG10`Y7bU#$5g#B(8$)~$ z3?emY3qr+WY0J{x?e4vIX8fJGceZ!SvfbcpX3y-*nR9+~&hN~QMJqRJWtEm1s?};U z<2+}&oo;TX*UD~ojRA0%scZnW+^~J*y&u-}?AZUd>-vX@>}|l(ZP}KmO)S^Wx@j_2 zN=5L!pro7-QT61tUw``K$1h*Jn+1|JX}|Q*r6<;|+j7jZ?SVBpMUQWGsL*AT=UQaj ztl9v+iOVG&iStH6(R@kLm79X*%UDxla&CI!$oC)a`3;+OL<|6X-)kTD4DNaPf^9on z4-UE1-|Nz?*^uT+F~u>o1!7^eo4DpFmEyB3MTi=?F45X9haTw(XzETxXD$npQcPYw z_xawDV;{^i2+lE^bvExj{Em=n>;7FX)}qtBz`=VvMKU2;8}9M>k> zanLbF2wL?-k9CvoK>7gRnG5Ln=sa!T=u+S)vfbbi{CWlegYc!YwhnI#=*I0DS&j=M zoHGuq{;EqI=XB1DvpU(aUWXYM;4PeW@>Z3e9PnY*c`OBBn+Uj4QGP?gqlw!Q#UM{M z-zp^^%Vr-&${&q5GuCs=2RM%bdUCo(8wxJcAoEbxDc~<|b{q>Y0NYFDn97SWO(7B+ zdjqoTNK%F+`fYzpIKDMgqe?|kxvHoGX%#|p`1Rp63jDBy5QIokHI|H!E?+C6Ge5bp za~`K4mi=UnhGtaF_H=J3B)O=L7{1ULfDQvoOHTr=gi?&U3xKrH?VZQ((`f@WrZO>JzF`c_OLqZA7 zOW7QN)TfFOfgDcX894Qb-UXq#3~0oT3`4^W0-tj7uYjA|>n zJS2?F%<(>p!bqSBQXiQrs8=~7bzyCXLYh;)?p5W2)l*+5A=1@ zsgX&F!^IoylZ|i+*isxV&Yo3vF!c3_F*^FjQ+P=7^Bw=!coY7g7UO+Ut%h{;&As#$ zY*)gF!t%^n*kmRu{N?Fp*D7=4x%IoBAG=;$T?Gk`92lS+vj!2s+fqMPSTY`$WsB}% zEx_J9djGl{4Q*dT-=4loC(cihjH@^AT>A8VQJS8I=aAXLou5eEs|H`)+xh6h&&cum zeLU))+1*EjTMCr##B*HJ^+BY=?uKTe^c0?VH5&VCjz%s{q4aPIirQ59`kA*D#=f}# z^?T@%vB+@_(7V0f!AsIyUI06yBnu ztYmFUR%S*@e|+~vR2=&oYwWy=E)4*d41y!kiO#Q9mOeV4o!5*mhHW*&QZD)sy@Fm! zWerl3aJf--gbZrO48}O;`G;u?f*mp8xb_){CLbiP(SL|RW$%XJl6U|B002ovPDHLk FV1g4BCRqRg literal 0 HcmV?d00001 diff --git a/src/resources/icon.iconset/icon_256x256.png b/src/resources/icon.iconset/icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..015c9e692cbe61c593dcfaea68ea697ffe23e432 GIT binary patch literal 31674 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%0DR5xQ6{CII;|FSVO&u(L3 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 NURvc#rKC~d{{vL37o`9I literal 0 HcmV?d00001 diff --git a/src/resources/icon.iconset/icon_256x256@2x.png b/src/resources/icon.iconset/icon_256x256@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..ed40170e2342fc535be5b7797f4a08c130634ff1 GIT binary patch literal 95956 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%0A=^d6^`?C7dIYZQ^!|f19wvgbg+q(7ia&%fj za!HfED3PglJ23Y|dHr`tWFo;A6ENzzmRf>Cd~t2*#lgsguGR||V@Uup$?bLtYHz-> zfJqpqcl}pz)$==2Te|p~t=#A*Qb!y)w@Pe|Q;XFm{LIvbAw|inP*Jxr5LZxTdr%Vl zv%sG%L{AVcfcn-0UWMs-Ry8{6#^|`Qi{h8AwS2aH%QjyBiFQHPlbW zWZgf3kjJfj6Zn1h*Duc?lXCg9{uuvuV00Pvuo%r9O^^Se(AsBRPH7?Iq+ef7u*==g z-dC=tf$DFf9`ovv#wI{rM7fIYd;@4^?&##XDk}G?MaxS4i>=^ z^Ko^$FQvgkYwFh6KSlppnld3x=3wjS8IL(7qxTn1{KrI~IC3W9I>=a0v*=WaSx2K} zdtnX3##3is_`aw$`O*##N8N$~GfRitNvPJr-nVckfwf{1#oJ<6XxFq@D51V!=2P)8y-=Vz+UnXWD7xZ9Fh0pE#;x$yOIonw)e)KwmfUrMU; z?-@V^{QJ6Bv9e(8+~BRlh3Egd&W0NSbq?Xu5ifsov*>?flVE$nl|yB;^)%jT%H9 zq&ql%a7ogS;D-v==`as;G`8R=Q1&G%$@o(LIBp_j9l#z-T(JTaSii6)S%SnqrziFF zwEyouL)N{--#vb-VYrk-WB2MU zGE$eoDO~)h!nxpQK{anN2k79rU*X1hwO5|A1mKwyR0hY8D54n5Lb^&vlED8AjHIJ~ zf)F~Mqm2=Li`dQIOZn)O4xM$DT`1K&_(j`@g@-eiR{qz&ya9rpF%T3fsW2`1nnQX; zCY$2c+ll7~$_HMfEc-INi$yd8879X?e4Q^OS4T;AUpfft!uL+RWE+G=)(G|>-*kS- z&pd(`2Qfc+XO43(J>#jEUHl|lN6S9YL|?Nkgz@(tsq{*>=0T>E4?w*F-|@uh`tvW} zYl57mk$wHnEZ={qs3wA1l_9l;(I5nSRR;{3ob}m<{3~CT3jOo%aIcYRdxrNa5>Uqs z4MSC~(VHom%Pqm4&L!N!O5V~)5&_Ljo3!7j#}NE78CmBqDR=T7>Za31=$0kL%GcD) z^;GIVukFzN+=obm;2_)t`ZK!t5cA*RG8@!ta{P($j&S}W_j(+)J(G6yIrKPrva1ud z-i;`%a{XdNi}qs-yA!(d0=Q*crKijmi~>#Q>@u#}`gJtEsacH6>VX+xumDDh zJ;BgZNsQi$hzt%Y4A&yAvXbYz+IUTc5S3?X%f?sG7)khFPexbA@Jnl4m7JIH)ec)Z zl;?cGp@mkJX+iNd|J5|4e!<}Y%GSve?CH`B5z$b0f4Kuu*8u;$@Q$`8)e%)`x<5@M zdgIifF<>h7#OmIWNVtk%*KI9vwU!SXS8K`=?P(xz}e^0${({BPMcF5R#gGOY-Pqy{w};X}zh(GnCno*%+trHf~k# zH7#y;Q#YtR@IsrdSpUlq?HR$-QGvl`am z6xajf5Eghq?0SZQ+GrfJ4P@8Q-V}K9LCN0tF;^9D1c7n0RL2 zSxIdA<=Dp8KjKhF=gcZjh?*wh_fHc$)+3R^6V+6cdBQneNC6fi!!uW6BNi8uyFay2NyN91*a%tv!-ZHBKd`C#PA zCbU`SNRX~GZZnBG?F$YMmsIWWPTvB{CB`Jr1a(FrKg)Pw_MIt`jy*Op_z$Tfg_{WE z8%LN3{4(SNGpE*J+l=ucqByC^5R7)D@b=#eG6B)y-VNJ0V98g>4kZ3=?nIBx-gP6( zaMvx2pJmKIu_wl1edyhh@h0$9|*qy z4)P{tQC`Xqwqh#;KsC@*oY~wD3oZK{-NZfM3elE6(d=Q0X*9JkmH^DFXcEkw)giW01B5CX!-wno0uZ|hZDHsb|q90$r7oW{D^=W$hRRSXINHUNx&#-v8>kG z8|hKY`|*rB{6mUk=Kg@ixJ~{C!rN=`Dx+QMl|WENVUF)2TwT%9^-sl3sO!Jn=#fk0 zR`2A7n>0w~mBR3A`MsrPCqRn$PGembNTyXk4(l)`Pd5Z-T#vO4C8!veY7Os(ZU0+V zmqfgjp$RPLsw$7UT{&tt*iYndjw9pWoFs~pBib)gWwoU_MuGnnJwgV$_k72h1zj~( zecQLYHcfHn)hV(HmGPkz*;fZooYnph;%he!lJ1OO=>U3@ayKFG*HEGTyv0g`G1hxd}uxEG6$KtbF<#h39_)UE8u%%RYwwYj>Cr98__Nb;kV^0HXQFy z+H)tIzR(5{{)>=$e>U|n%9ZPXjFff%9|$-`!>YnxhzZ-)Ja)5w50cKCZeXa z0{IKAwwmq)rvi~)9Ueu|lgovg8W-<@V~}Y+(J%Iw?%AY2sSlNik{WzHjt-pj@-2;EOhM`jq%eh zr1so*HX08JT#vmPIiTA9&k(5rpl9XNavX~g2{ty%3<*+&+L#N0hdjuQe#4#QJ>e!0 z%?(WC{e7)~0q_CO3mywR^@B@)oi-1ffAGN9&=AWUO&dN08h?; zxBM19#nRjUY4qTI(@aePTgr>BV@Jwy39Jwn8=j`kcfVwYJ+)T1{s%f8Ib-cZl`LIa zZscJZne3q)1=Ep~g^_+CigP)&_@8Oo|K zIXqAny4r>Hn)@-V?Hc_MR{`8tXq?{U!g^3uy=ckrk2?|Qvan3NJbu3>dDmRS+)c^) zRmiP20sahpt0uO&y(sXUWAbdp6v&bk%bmZ^urOEP!t)}rX}_T@z3E%xFqVer%m=r6 zr(U47B`OMAmmb3z*>82muypHUvKh=U^&4W}_W$!%D5d>NtZ0cb!@e5_1u@~v5BF^E zovah4qF*{l$g+;PvCTR4Rw4CfO9Z99x04^Oy3v4*Q*4ueL~t2A9a+aZGwwz-HK+o+ z$Yz`D^_^l{6w#wFz(2)5*GTMG7tl2d{XqFsjWgxNTSZ8EV+@9!>7QS+zbr6r$=(3T zwTgSyWQ!;>45d`h#Nf1D6}})((|AEPTZJW`@vxqQe74*aA!z`H$#&2AHgm>Ex$JpA z?%WbjaB!=C=hq_m&M9k;kN*5MTpqAT>rtw9K=|fgW|)>e_d2c~A?j}pq93^Qy1bdE zog-j(dOls?gdpzJqK>Tsc}X+cX;2FPkxlpZpSECQ5-5}kAi(3joBRJN>AGM)2Bg~j z0?Xd%arflIw44^xFGiAe+dxhH8^nA0nueM~WxL?(sA2wNo2BVHdafyn4>n;@r>zxs|zU?D=Zwl)Cot6N;|5$N)zXsxHYakAlPg1Z(4&y&B;JMdx` znbhQ2R{r*2NViJIP4^MN75iq*0-z#T#nsy4%G;WbX0V1$XS&qkYkbU$%^H8GS^(ds zZ4SQoDkDo~z+l0(pYQ^!lb}q0^%B1pl@@;eHno|8i1WQr53OCT(2RVmgqjc2%%ZmY zI<-_hx#jjk&Nu}LyZiZ)&d1g#(rnfPB~DWRU|hLR1z2O7_)jKwzw`4*e9LIF5CDeOZbAa!W6$)%()obFd}T3@qLz(I|rp~@KOeswOSqJ+5m}W z9f^sjMZR^~xRuk1^{_egk8LfsI0m*sw>MhJTjB>{EFE%p31{H;p|+A9R(a%0pIf0ojkb?W=~$}2S9sFK zt#`GQM*e)2>fIho5&jdx-0?cZ#(F9jN=gM??Izma7m=9bC)JiOpK=Z{~aM%!k^Ze@WtpbTWUrQA# z$}`+jR9XvPS4n(33Ch*X!=ZMz2 zyey?UHI&PE7&!|ZhUO7S+@0ruFQ-9AbY`DTJkv>>3}mU@eFk2SQNLXyOGOYR0`I>&HPLpCtxHsY&Hc+Jf(Z zfwd$*wXNtq&2XS68>mC*?EAN%zP?Kiyk<4>pONR9E7L1!`V6)A%jR-~8@aDKWK|)u zKAokM%UEx;Jmo)zol(EbUd7fZ>8SI-JpsH!83wcoFcbXJ98qACWod1YE84)Aquhxy zT7akQ9gF8D(5f9FUn#AlleL`$nX(5zf$pgdnZV;ZA_Qg$=gJJaGQ_)+ zx%S?r{YUl{R2h!_9Jopi-mf^@W~(W%75`jpn<=v2>9bAg$Ydwh64quC1zz_VP_o}4 z&NPBWXv~qvbh8-{f)37jCA~8D^Oe}@U>7a%)+geTzszfv)E=9rmi9wX-GNp9tOege z6*}GspE7^<;82M7`C_2*FNaL_*ojB_!SVsg#3etvFn6$+8DyrHB2;$5P; zUGJjCAbFDbdnPx}%00LGxfBs?gqx5Zm5D?~g+09wNnV@})aFDI&p}6+VtI7@@JX)Ewmz3{F(pEfR32qQmq5xo6rIOaW-4| z2G@%xTM~^-BGx_XEuXU6C%(Ggj=pEA%}n(eBpDY$x5d-#d`k)^THlU)+?PL|%B$0Q z*+CH`m|rdVSRgWqoF;HMwf=8q<*S9sE%6Mo!KdR7RkYyGjb6sBnbv$efotpY? z`nk!sgkT>T!ra}jm~{&$XtY8aR|7mt2V!l}laRaQWyt+Jq^a2kF_n|?@Yk!u7jYQ! z-cC!-YhAezx}gvSnn7rpwioy)*8Fmz%18B zb)fD|*Li~pN8bnCX#~HVEwaif)$qiFZq%L4>8Z5Yq2KCk?B&mUr7QYcu-Cc%y5WBVa?WcWj5SxWfRxdv614$-@zmTupI3h-{kU=q3d%sz~! zgVMFa>4phx!sr+7FsLNL0d_kXG|yb0)6a2KN~${6%B?TPY2k7{!4JaMyvDlgXKn;P zl$lF`;VaktCxk+trUY^QML$R=IYf(cdbRyO0cX9i{ZU7$wlzL`w{fMgN1G5-p4Sv= zF0Qk^?fFV@kD_(7uUC1*w59y1p0XXb`VT&T2O~c>>tloNzg|20;b4|Fc^ZGueWMZa zk7U!pdc63|;u9a|$9mOQ(Q3LcY+N{kOsKgJj#UyG;eQWgwmO%xFO~Qq#}eks<0RbP zX-^6#{?`atIiAC3+H7gOwhW8B~4C^<22)9AyGse?D1l=y_j}w|t+FH=?)>J{kq{1YOw>uw!zfY;Y9&=Vgz! zkIVL$w>5vGkTs~jA_7Q9qZM6rVUIE!$-D8(!M9PM^oKp*-QIE>iU878s*snt_-5Se z1A4!u;|rn!eN4YB7~FOLo7ZKJaN#LMe#F={s->J_K$*~Pr1#``_9xFdrhN53 zs_|vr@k&I|)y#(Rn30fRX8+{-CzL{bJTcc_{u~q{%>RxFiUjJQ&0KCc1-mK>J+6Mm z&X>tud{-OmP}89iA=PZkU7V?D_l~7XaDi9u9(#5^UI6p(q&(fPGP|b`;D)jXM}w!W zB7c&&GUQTtSsb&*8s=Fnv${kq>TDg@p822f*+F_5z}1=(ufco6fo0GVCiibRsf7dU zJ<17@HG7v%Lq_cMys^DIvC6t7ne|m?fI`Z-j#09#%LPBwow=;c+O;dvmI>hJ|4zl& ze)l>3+hC%6Dyi+WyOG2$VhaRj$(Ai#6%5M~eA+yG&T7@2j5V?wT-*le{yZ*elUqwD z6=Y}o;@t-2h%7+33c}?euEV(d)^Iidv5GW!>CZaeZoz8DxF7MvEo_OUHvV8_;3JVA zgO%YLZ}^cps+Gy@;n!c-60?iscE|&NXE4P7LYAVhVv3WJp*~QuuYT`aWF21*OX`Rs z0U4M%8v5oT`c3Yt`}fY%cT=x6E@x7Z$^ez2;MRVt8li$=$vsT|*MGzeD-aSa!#}^t zb>2+LXlwwE`x9-NOBy$fA5-yd9&XP3rok7F8CKpi_}GWc%&v97A0{5;9gKVZXQA#g&Z%ZKD-ng12< zoIg&gyK3WRS=8d3!TW!rI$*E)Zl^REfb zq0q?)fsM33hWfxu^e^qO^c>+WgcNLdnnm$_b!2s%6n8hD%JDc@OX)5GAc*~CtH^|? zzATe4l>U0KX$rK2PH{&s?0k;?nFlH7U!f@UEef5JB-Yg1cS$}<=&KVK=IOB2EQf9Q zH)ww9wL+GM_sK7^`+>nb^9PPg@rg@mVqJ8!-7NB(%Dg7TL8+1ADw_->z9YThD2d5x zeesYxc!thynGD=|$jOoKCk}Sr9dxi*7fp>zrwU)7vZ^VL7*^77)>EMVQ}D2yuyJVB z_jNUzaC*IA?a8asZ1hDvFfeL{h0r2X)JGEF7pO+g5PA%W$TyjLtrNWBM74TG@`%%s z`luXtr-x13B{lsw&nyXvY+W$GgV*S3r9@`&`8YJx0Fi=}G+cdb|8csn(Q;V`y?y5& zBirtP{-j94lF?EB!K3=Y$8EEIU?>0QXEHJKa;^9<8FTPTgL}%d@j|%gSR8uKe0kWi zXz*6+YMAEbj!gxa@oUr-`pI?oiHWoRfx}`n?R^!B|J2g2e3A*AP9kxrWUA#t{mh1c z7OpHpp$t^k1wA`c#jf11-$atnTG4NLL>LGS@K?f%lC`aqdqDn1lcHJJ+O@|Cpc zK*)86hf4I?(}2^mRNL+$fX!N}t;tril^LsSI*NPyO#|Xh&^ zH{~ly3t2e_##UVuHU_D&U_x7MbK5x8FTb>UK6lOc={I~!JfEB^dl96{QYeAtyhz#B zOfhv~*u$Y`P*p))YkHI6YU!-!ZQZl}WA%=pVYP+KuH~{oPSTa|Cj>Le9zL3LW&QkO zqt*sh06LFpsCg(?weyQ~%qRriEC#wDCN3n^8{?*nN499jQ!sZpFWy_9;7?S6?%uEk zJM=R6JXH@X(D;WI7L2-9k(7atV5nKtd51YjOrn!2bBN$f_7%swm$3ckpiZx=1fYt= z1yuuyW_>edx+w4t`nBQOA33_b2)?TLOVf*u@-TlWb@h5E0K>}+aJal48+gmj>3hb! z)Q=dQc3DMJo3v5(aOEy|6Pf$E;GN>OdU#*tRETrBlE1PpcCgZxwb)uC`Q#}N^(c=C zC8w{6Bh8O{_!cCgT6uEsmQTD-sbCx1SC>VqR546z@n+#+{OO)9xqYHgm_tc*@Iu@0 zSs{u4@QEgsR#Yq`(){%8BwUTyW0{nh@kx=6lk+%~%j{WTV^k>W1Bi1q7I`H_2B(e! zx1W1W)XPV*rvQpxK2l5tMKfq&RWaGbM4%rasN{y40I0UtHMFMt7>o0C8=1J5V_?ox@3@d=tR3JVYRxf~e+15{QPixX2>Q9;6_@dNwUE!&b z*CYJ^MCB8XsDO$}B+W-rKfdWeQ_zepSWb`AUhu>2G4-Lq4Eo`or}~FX+>kS#SqZ{3|po2@yJ&7s6MI8E)zOSKOn=f`P8hz}4{fL7y z!20v!G^|^5>D+r)hFIS}gs0Uc#<%gILkG=&o9GD-SAEZ~My%oyOLOm|e_pPro?csN zTW)h5DSAdU4QtrkvpNmtY!cd3dGflrd4EggzD0C{c^^+plb?RJ$+E!{NNEe)vx z8hIabM97&&>M0*}dENaY^G5}@JYdpHGrNU|@~4ZAg31D4{k}SI#}#;%dGW7?FI8xw zYu`C;V%aR&2Zj-h7|s2h5%a!OiXtLMs#v^nF}MU?j|I;kDZ-u%e7BMN@*pFP|<8zEGj20Z!qGlhmG&~a} z60pdol``Gx)vMBy&vgTjr9|dGWU7|jp4`i7vWy4Zz}d(ZZWGvmOc=KYa(J|62Qyo9 zJ}=e;+ACnB_wEfI*Ac=7Uv;_^omWuD$5Kz^%2(uPo@tVEqr(eaPg@)woY^#(Op2?sI2tWLGf=73Ht>x}t9 zV0*syK(GYa-S2hq2?7P>idO~rQn}r2S~O1&DdE>{;j&A%uA}YHhmzA9@Z_2$q!k!^ z#tka>DpjyECVVNO+GJ_onuUD~cuem9ljhPC-CvT8Tt-8MSXeeT5n%8Mc=;bXNv_WS zwqdmyD_40vr^?=#HUod^Slo+gtxKdGF?8mOyf1QuEV$EPaqtxM{PiHB(!r^+Na&n+ zgD?H;@!{77^V`jx2H>1};QL048g>3tGV^vhza|A1B-&mv5joVgbd7HjH)s~s)wOVN zUKDjj8bpI8&OZ_C5cdr4sJnM!MuEW2e?6v0Pl@VSEQz~}o)47O+;h|z#?q`bY<%Q05m&PxVdV)6?JJJ8{P``0sJ!pn5 zUUf4Tjb5G45;y_9O~S&>B;AjB=)=8>o+%SrgMJSvyq~TmAO?Dk$b> z$N``4D!1N=2+^t3?K$XNMHZO<&>Zwug!J0|Ts_EFa3~pVle^o-0eFxT!mdZHChwn5v{d~Jzxp#nWf_5k=0{XDc)j34&oJhNQQhWf-dTOx-KdjuV;K*eT_ ze8l!DqAvY&vSv&`lVD};dDocg=tNNZ*<4v1Gs`5R39EHdA1!c-{RtlemF`Ko?Q(9k_ae%|jv@5pUb*V*#3K}jiG;7rP zU}*tX?b&{I*wf>t$m<*Fu0Q&i;Qa7Kg+|bHX_m0`=IBgcj(>m;$}OXN9~I=P!ywZ{ z$VX?KH@FXnX-d51cKTaIkz;-z>)KK`eQI#3c?a?hMpAUtwly5!n+a((J&HPu#FF0U zrr_T%r9GBV?M%z)ZPiuMVDuWBiU~^3-dla9ml6DvmQ3ERR=Ylgn6=78&=S$MKFtge zxRqSx#`5Ox*}?h?W~4+SYQXDIvVgPq(`M*n$1&#=)O5}b5{kaL(GsK{BI!$5Pr$9R zTG2TgI@x19jpt$xxJFOQp@h(55bE?nklSyaOADZ55e(Rt6IFj)?l&&mFJK}w}( z?ceV_`157{GO3@qBO)9S(b9|Kn)WaNizL9iiHWA}lVVBoSBKa{XNajFfr^60FkS=0 zF?YxJ2EU7@rwh;tXMP7zjhX<901mMT?wn4MyBhSAAAwJ55mUULNIk31y+jouE@tzi z8!z}`^cu|^K_O5=KvNR-dNrdNP70`6|NZ5Y_xZflsbEi3PQaq8+~v~Q!@AJ~3$ONV z-NYqM;V?a2VYWdlR~k7!`kP`Ry6qbEqkE}O=qh<(?73*o!Zdz2#^^kuP!6QuzNnIe zTr&eUux7L|K~8u*#A{gbq+W!_0)hJa4bxaXe{?#rSH(o)jwMpZy>~!R2|fmH-?@G6Nx+ zx7mZhju3)_Grx7o987xZ*jd_p?dlJY3eD+-|8!%2?T?l#8`@anJ1l=y<%>V!%(4AcD%cimuo{qm;?&oDP zl0d%d;~8tE5a9BQ?t)$+;!jSVdURWIV`Sb$H|$EoF3ALi^U}!;jAgU%RMMi#6K! zn^)I&FYQ%f(9&v7yTJ7HUvW}NX4iRmyXXD*3x9sl>KajA_{+rYmpbpnp7lrY1?I)# zBGj2%u>JCss-6Ot7c2k!_SRLQ!)=cmlEC&Z(k2qGhNjc#)pPkx z#CcJFn~r^4KYx8s&g{WG_@EmxM4xj9d0HnMn9M@pA8HowbG)3Yos$EAO6Ec+4j*DLGN)!|6Qnl&9l2ax8AfpSS6t9}}V9 zgXkV>l3bg8W}t!@wY4$&W>)eJcg$SFG7qzsR@DU4dqyDP!dp{l`k@BMK!lLeN}m36s% zT8KY<;z#w^RvcM*x%{@bESSP%_&o#?Y#KNNy3EXdP%j}@1_86v{fxs3{=ci^C{SCV z3$6RZppJ39ydIlTNoIJ3BZQQ>m`N-a&ySsj847|AbR#do2-rUHeNRt$1y};#JK^P_ zXNmI$VCH=MR@$BBzHKn4Lk0=!S_EIrZtT7HZ&#ftr`S?BowRD6>kFC>FAr^vd50@H z_WfKtEhq5W&bIqn7V;ZDE+j|leZ^NZ#p1g;20h-3YA^?HD+iD%-iffTtL$W9RUgvg zcaDum1;Z|D(#3GEKU3sucFk$g{M7l=gRLRh_|552DFeX^>`)PqF#9_ib#E&7>^Y-+ zDQJ@=!J3Vj@3gA}mj9RD-w9z@*;I1(9(&3z*t#ScF&d)19N_4O#y?C0uU2t?u`oT$ zkYHrEIilF$y-CFA=p{Fax3U6gmwy;XPntw?nt+N|)?xODyNdy?*pinAh;3!>)F0zHd!FfiS{`QGHrd*&mr*_DH^FeDjdn7dOmn-WFn% z{|THXy2kr?KJ(HMn|z#HA`}vMN(sJbBYOavJlMer@E0F3ngI&qy}8`mDgQwBsnEgF zbk0srQphxp;la~ZcX;ojncqJz^cDJUZ6j1wx#skh>^f#8!Z((cFW<^`c={$4$GaXT z$tF>&pobdQ4#FOmoy&sTy1eTXS)RZf4z0sG08%G6>h_0XHR|LJU{byNV=`#$LLVCl zq0}*BHUFd7#YK@3{={YJ(?ETZ{oSluama-ZGsmG(@FN%ee;2m-jOv_e&Xu*4YfU{O z0`VWbqDQbRQnv8UU%&Qe;CVT6{8}Y~F@V7-Yy)>BmKbamxp-pC<=d(KCN;MkM^Wf@ zeJ1%XxQk#j<5IiZtLrKcV|Tsop-bGqOtGuI7{+*r&(&wB%Z&1x#^UM-MMZ32_QAqD ztbGFH8uca*;8ToK3FLOyHr>gp+;yAk1qixf*mT0Zy#_oJW5JDVG(Dyu z!^5kXxOaW$WSM{ zSm5|~?$-}r8o$Y$cB<hngCoyXh4ynPwEKi`cgm@}7(dKWp2&S^9p=rXq6O5XaqWRqN&&u9p(J>OWNsg#J7;%Fn zW;)@nc6*mCirvU+MxZWgePN2Y@v+5MHjRkUujXA_NDT(t7Hq|VAL9WO#m|L(i{$0i zf8*6Hf_%}?iVfHdw598U!o2b=XWY2%5EupObVOX-o+c#$Ti?_iXjzFOj#I$%DrsX9 zMGAfxJv*cuo(Mh{Iu`h0@~>f2i;M;p2p?t`{#(+}h?Q$@Ov}gx9O*k7?A|4vHt#so z&uP7ctp>is89F(HhXi<-KPPaQNyh0V@bjJ_>Crk&L8*c+pisZABNBa>!~9pKjr@QM z$FplM{58_02igOIS383U#S~6H#y@iWnunSBDPQkZF>z;w08J1Nh1=^R zBr%5mGmBp*tJbR8s!l${$-OMI9SY(I>Jv&gQ^}ZW(O)gL_kHoWIzm_T+cP_MrO9Fu zL{xzew0y5Mf3|HKHt#f3^HAY?VA@vNqURIu_FH)XdZ&;6dMSAPV1M~khL>R-p;XFYUxY9K+W0SQo|>p|{179`|m?6ROoDI%w}p=;DJess_ti8^5UVCa8+I z52GV7HsbCE?F*aXyDbdydbmZb++Wv;+?R_$o82#}Ovz+<$Yh8KF0a*0%yAZX{_K9I zeA1&pL3UlsDAIZ-qdEk;YH00mK*le;tkUp4U*oBn-E(aBXmuDA!9F_}-uJWp^m+AL zok_5@sZP@{&TFFmS%(xS5&cz8iiD)nUF<^==|$F51L?wgQi;K|pJa>}(UB)4o9*0N zY-_eWlKEz)?sz2+%1pP_IA${D2PaB5i6@iVJG?wZ&$%jlMSeB}nWQNr zKHwdUOVTw6Gl%)#ac|lak4OF!QzL);%**mAbVl;UcOja0Rkfu`;nu0KTwwFH@Awk5 z=r=MT#Xk`aJ~IZ42<{TdAGJdHyd=qO&ip}D+U{&|qz0@dALX;Whfel_sW)KM`20G? zhbfroP!#Ct(UE{t9HnVs>7}>la#NCWb)GQ%2K|2ZL7MMK zhPqZOfs$_PX2Y0 zXW;4F9sWet{(uaJik`siYjYIEzzgo6N-5D~UfhXv!}FO>JS`_|iK>$X>?Z7Nhod#o2k ze-%EFvH6+(BgdQaYqf7tk1rj^Ffj?8vLiETcMsyr|WySFP5Vzaymo zV}uml$x{;CG{JNh8xlAvnS62F6i_$+<)7h}%^X-v{k9Obo3*nSWP;a5r_kn`yj-#g z)?1t#kYUQ!DtEhsxxv`+f!lCzB#A;|*BDHynJ&IBq+$OQC_KmR{97|JXMaVFXoN{# zA~rzXx(jvPX9AY&f0Gg`*T68xaJcw}emf&HT9|go+X+4Fn@6p>{>v9P`KNph(k`>8 zDHdVETNlSfr}xp;%%xiN0WEej*UJ=_>Uq2R+S_&Gd8`n%*f_j0=!erB{_ltyzMLg+ zeQXGcFt1kCE)Uo8fsa0Dix?<6pW2%fud+T*XHI~M{So3;qj9g{dgk)GnFgF92wil zxO%Z}{rIK*MEWPOGDNy|Pqa8THDOSFjHHSQn+H7;LxgA4lRh@|+RiOcuUJ5zYKG+b z`G@nP=A)Ej{MC*U(Qc(!;@M?Ta>r*PgM$NU@`+;I@aYQRu*Bth>#<)L=tD@#!wDk5 z@7`&pGtdW1%39&`YAA8W&0~NVo>}n555MFY+v=fGfB))a4P3<58JG_AKl1}#T6{F{<96oxq6!GVG~Jr@PGge(~ph{EXEJILCZ>sUS_m2$C6NN~6gGQ87p zxhd|K(paH4H{Ic^MP0uo?s|3GVAy~n)n1_eAAuiE5n~ok<%{)h9|NDA{sxslQR5iv z#>lrXdybdYtl0(mbV)6eyvmAMN;|d1)8pbwN02ywdNpT7W3o^kxTLQWA--f>>(?&GR|2B)d(-v9g1&8CzQ@ zzX$Fa*_YuT@+);rHI2kg@{9s2d=)HhdfBhVz{}-3>4ROTq@Ksz&WdNV5342PXc#(; zhEj-inm+s`(pZg|^trGQ1L*faMmw$JGCqYX22f`szSJ!2o>cV%pN(TO!>+M7gcpAY z_4$*!dT7tK$O)sfV|}}@OXGuJxU*IynWR|@}w$O8(+@RDMqM0Po6<8xD_|# zPP6LC!hGPV44p{`A{TpLla6N&=FGM#)8-zw^mGmNun(C0$}M!P2SvT#bGWwj zI3f;)VEVu&zPTT%{j7-Twg`PUDaoUAe^V%_E{fJpd3gQ#MP-J9*)INym&n%{ui$xh zwbm^@fWRn@Jsb_JnDd@&me45H?9ISYA?;-!{cJ*D?%6Jk1pK9kK-I@CPl$rVA*h^| zTdxZO)`4u%8s^BLrk#RGqO;0XSJ78io8Cchy*o{;g34mu3e2oon>)U2sbUC^lyleS z396z7eu4S5E+1``bH-2tHKs{&>>0>F16*_jA9@ z^y`x;CtTIYMxG^0x7bvU!!&gh$cI(9iIYLrmS1_DuVwdxH9s4E*!&z;_sBr0{jV*A zbI5bm)~<5q(&1i=uR_CL-$>W5>~Qf+oNsgwDOKm`OWyk-P7wAyGARGa?|c~z^>`cm zMdvpAv)8ZRE;7X-zV*o6ZWZ};o^_9}ov1NI>}p-l)D-23OQNWn76{Q1ooxQyQ^{r- zRtU+FkkY&m`1UBacF8cq-5xO0XY;C!+hTIpPHz)+fgLz4cbdU|Ub#3+#cof{MgJDu zO4vRx=}2IL71#8%^4PRy=!`gea}sU`)!9>n1kuDXX@~uiuv4*XHyRJk)&TA(``0)Jh{<=u%thlflVI^Ek9GU zB)zrU)pYP5(a79j+Q3Y4Y{W#4;X*PkUjfw5_j5q|f>9Nr5qV5Wiq~5GlRzetP7RcJ zuSFvC?2wk};K5YlS*pw_5(ZBWLowcNpKj9-`B=8QzeR_*5c&2PsA#F@b{AVoxSsJG zqw@*Z&esl*nUb5gLzs01TbcV$2J3g1nz!i*Hh7Ep1JOhPwR_$`L%{dz0w>g*;m==L z@Dy6-${y(-U;C+vW3~1cc}ScvJ1jo}&Ip_i<{hwvIzs=79`DX?S%1o=0(95l2);)= z+iZ;Mr!~f^=%>Q*%K)U@X@Bpv3qMsp`T2e3B>gLuC>HnUD8o;c1B8`FE<51dBbOUT zM}O8h@$%+U*Of1w@@>vgMkjd50MPe4aobS`&~MW?;E>fA@25*_Ndg!E);!vZb*zxv zs6M1;cv2f18OFaq%}p1BmTbEFc;1UfIK%W}5t6 zH(=BK!3PV#vou$J{#|YtztHZLVL6?U`(isLMG}M{f%>>lG<(aRFW#k-qGBKRPTtUK zB&cF539-#cBQF8g^uOt1q3%y+CK{fk*PHq4GunSGK(9bSH2&~I9glPGwfy&n6fK$N zjsddIuz6fFq<(|eBB8V+gZ}`ebo>LM$CSKZKQj{nP~B)3I`WQwL%(kXMw>1#r?^h+ z>p!ORR`Hhj2+F5f7VRF+-KW9pTP6seRb;C%_~d4%T=FIzl^;;xLJy6- zQEec1Q;PbsL`NLpy|$aecwN^3g!*GS-EHW$84=dHJ~Uznw)3+`7i5@29^?i?u%ZrG zx3B?8L;!y_W;bz@gFU7N$$(V{2))*y<~iK`lg`hKF*{#^ama*#l*C{5QVKXG!&1vR zh=O#ouR^4ZnlWlzxE1)k{a=|+;`&2NaCp|QPhXSSn|@}-Pj3OF)4MX;M#u59Gp*OE zWK=Px+tz&0Su7QVoPYXyw%KHh(QYGMn3$2N*OWG=HZ^3M}V2G;mzt`UWd_&i=X z1rB(9Hi5Ps%>ga`1ND%YfWo&LfT_xUsVj7iFbZ(j@62sjg2S`*KZ^*(X=R z$+lk;JBhzKix9bwr_as%6;b)`Gj&wq=xP~`(~c`m8cLWU62oN6 zzun*9`mOQB2@EPqh8Gku6^o%jbq}P$MtDBi;`| zqTg!nX;jQwj=Z~Rf@TMxCL1}%V~}vyl!v$6s}aJ!V-C2Z(UAbKqGRLLC;}s0rWM2> z(z-v*dS{F#KOLCoIBBG@p6pnpax*)r&wyXj=yiz^-c=Z3&N`SmwHO5~)Vy;no4#sf zT_qI7c6f0zu{*yry2%#+x#{LWx;Y=&cs&RpwakueMcT?j>UAoBnc}x0#-eUJ6r_=Q zA|nt*gIkX8fsQ=5^@)@tOn&l_fmsCb`@aq;%Ma4JrHI&zD{AS57pYwL95j0x_1Dlebp{F#7wwxb2ig%bjml z758M~44>Pl{4{91selQf4+-GDxACNKVBLD_11Lf;pl|KK`!aS{%jqex%a}6VSc*Pd zWm%3-O(ehwkGY!)AVH^wX$mV~HrKfs5JjaQ(S?eRVjj*nqy;C8ZFox(8gc$VdbX_@ zMtRWFXnW)H84&}fWxr)3?=p_`?GAEhT>2n(Y&Ta)bQK4Cu4LO)_|7j#67-A;f5VKCqwck8ZLIfdW?$JRD#~@;{m|-&bRKUFSwh_SJW8JrY zx7q-(*aPMA{oWONYz(FkkqMPQP%sVe{qSmOUJxsd2+$!%kQZx#V2Yg>bN44{u~)?y zWkkK~ezF?$;nu6Hl!cPp2>FBYWQnh=b(D7>v2-#2%H*4{~lR1|I0NAYw;&De#~mk9x2a& zC2zvO9LQyA1lxC!TNxm*LU)b#@5HkLWl0%simb_jr+W&oDAf8fTsFgyy0m%3akB>F z^KSAfY{utS^Ha@EongSx_3Dwf}yuI^6-J1 z&RsLCK-yt`zz0g~iF&2EKN_`;BH-3tOq`1b7!mgw;@U5wL+`~M{T7eq?qz1b#|N|E zM$&)UlxCa5shtc143flEpEo`m_D>7Yy|)kGr#X2@cqd*jPkp%X?2v{bLT<}{)9lPN zZ`=XrY(`*y)AWOZ15FZMXJE^CloP1aPBC65ncS2-NHMNaYuw;-5@6^trH53_?xO}h zUtvfgfb|v5dduvrW>Kx*BCPsW|4!H_8D6-E%9^n%J1p3zps#OPdaQ$o1H2CXeekS1 z9Jt|-1`aMfiHxixB!v&JQ7oUGX4ahX#kjpcHM)P~vRyPX)RVGHg?kAe9O6)CwCIy# z6apqKB+8u#OI338vLbN193HCI%=cyVbG$Eu)edcWkgBRoH&b`pF#&78f7BrxtkAM4 z_scgN;O$sKyi0aVkHwCCWgs?~EobXRj+oEZ&e1Vy8Xo6F&>|t&u1L~1gk>(RItq*q zCMRI~HVoy0)3^UBsHNp?k9ihHFs#CS8CZ8Iu;qJ)mwR2xORXBL3NSpLSYEp~UJv~7 zhV%VAIGWV|8@+2^Oz-ztw94twPR6NWatz}~JkRK{1=OZLrc;VVn|g20MeSH4oJLU> zY!Lr>Oesf+vrm}sVjp?1HdXKX!|Deww(MD{<%?oI6(H1i+X*IAd%T*M{Lx@`5+f3LK0W(4s@?IC{}7*2&#{qs;`i_TM57#x`X$&F`;cAB5f5lR3Yx` zgI)n2w->zAf@_fte(}iOp)TS{8ZhpJXnn|~zCTuAdEw#wJfx$NDfpl!Sz7B#qfAzneFo|@@JUvQ`tzGl61 zH{uh?PeX_C)f!r5*1TD)spBPLXu9(9Geha%(h_9gg z*-rC={ZJWJBzcb8jNs_#(EPzpYynFbZ;srCre z3e6c^#}Z;ch-VDwGAs|vVZ`;hwtaiE)KTNSzGikYpK?@o1Y4u>zYk8)NSjiju}C>d zi>+0H7YZ^J^BMbj6Xwi);sB3_662rcXC*sbINX0Bu}Om|TS=(f!55iWH|~!&Agv7O zi|!h<^W_-FiXd{z>a@~08#!AofEeXs_FA!A*Up6jtS^P%J?GLOo5hhsPGKqcr;JEQ z3f>L9yLxi??v)n9iklk9jw*%#LYU9;bzO;-uQ^QNow^;=RSjjq@G@hrl~%5`4DiwGZR;~G4G#mP5|Bo-?slo_F1D0+WJ#oPe}OJ(kIfLURMCK?s{wFCGL-E;HXV_xa2J9)%ZB#Z9u+F zZ$*}*C8J}eZiFRkq0^&1qCj^Mf`)`2LZtE0MQ%MfQ3CH8_Xe%9CESiMn6eR!<&`n* zig#k_^N+fD7V4Y$sywEyVNc$($3+lgjeE*evJMdYZc^aX;{CaK*~Aw{Vwlm;mpzTV z?49#Q_p*-kLO|3)F*?41zs>mMN-qMI8PRo3TY{s0_Ul1c4v+!U%u;Q-@PqjMvWwZ?*-BFz8B)Vl2H&dydOmLoI7RX+k6z2SPyO6D5W0KKHG{OcOFOh)wGZVUt5*$Y$8@JJB z1eNqSK3`Kscl--)lVo`z=COa^km=)on=iGJCE3pR$b~eC)1kvWn#fzt(fuKPL00Mr zTgu+#vl?yl8iyk-?94ZySbfXMoeEU=SE5RLO^xi&S1jk|=oHq%(I zX47%fVcP!Am7P-hWzWlz3`Z9+%Q7#JU&HH2N5pCM zgWXRf{p`CL6cOZZtp$6pu*}iFVXgDxlMt9!J|Q5(|HfAYZ8B7&OIt$Ykr&bnHxN| zWJ0O8#47J;$#S2FOycNV3D z>wm$#S3zPd1o9aig;_Ww z1|gumlA}5bdxQLRm&uDnn#qJy$6Q)pi(T3~YXQL^Dx5?gtf(;M(x(EcbdU({?0$1@J-&D2mH$&nU14y}06;N+MZ%A9O4m`PvYBzs1-lO+-=fq%mjMRI!^EyTFfxcJON(G_vhZ>L+ z^d9aQsNrNSu>K^yXvpRpAl8N;pB^ik3KNzFPn=mysId&lDER?h+I;ueTLh1E0wMucNK~XTydOZO6ZkUf8=l7vx zWX0zcYrW3x(Y=P`{4#GevhVB^$XZtKY;UvI)RyXfkmuS1ag~;PnuUq4lhr!pte8a% zQzsc+@HUs5Eg9$YJh|b#N7&DSXE{ETL|FXTJE)7FfI_PNm#TFT)V9}>L?a@Z>5y*W zbXnkYXG|KbIo0`R^qf%<3456n!^a*|I?~TRqcv5c;VeDb?CZC}i&2frVM+wsTTvz# zf)~?iAwWB0U7x%&1-zE~UE?P6Q`IXqu^D^wIey9}GpFT!t z|Ca=>OV#orzdJXg(Utr8c_#>-BqGnO2w6B;l<6Yo-IF%rm&5s!5+q`ZLmB~S3KJ&( zXxSxPXBbWRWr>DhTHkpkJgP+kS(G>{Ff5qm&GXsA-Whe<0CP1N4LaVXTe#QLeRANa zwA~W^WqoykAy+6!IRETY2mA6#;V;Fo_el|)WdBSbM@VId@n=yino$j$>w3-fCR^!% zX#Jfad8*^@zLDP1FUv9t;YJ$s@~tdBaPF%fLpl<29_fds9Fkfp|1GiMAvZslRiTZb z$o7v>VPmp(*md_mn!-^mVnR=xZ$K`cYyF<3oYZa1j4-(FZz3l=0uIkRSOHk}g!##& z;V`>sDYK8Y+Q=zvT%iDr@9_ypbSL9Qn4V6l!1``9vPX=|E@O@E>N5x|UaQRqoHF?P zCy_MjX;6h>HG>2bko7%dZ_y6UB7}_U%;;12K zo@mRSyv>|aAwf!eywtRfS(>VTOdUjr=85F6MRFV)gFLRCtg=y)GUI0gSrUIfA(VS# zL~jHJTJmcN{)jMtZzK^epUebG0c6HI_sA+~UZ~J|t2Gk_4vBg8C|saSpK3LLBO8+~`z%K{ljFQr%T>++G;|mb?Wxj}fG?0M5`XksB*H@v^#hc|V zTaeKwP7PZ@Qq2=db@+j#eGr1A{AIniW9$GCn1yXJHU92Al0f0{tFz z-wqZ{_Ppw`WDwrSpK{_*@lCI$S9gC7X0SIXdJD(L&U9N)^Y|%DRtXj$NpI+|kx@ak z>V4AZjlA3ddz6a#Z86*tco{;JEv!ce??QX721|YbD>U(e6<1pI(vN-(b)>uquc9K2(+P*!? zLnMH!SjWqGUG9tfT*Ll~9b`p<{aoiP{o5=Z!y9VAM^Vp?J#3h6H$#R`;$BOQ%EXdcNBv@)cN0{`<*kphdu-(7KI5$k#EmQB91&9Hixm}_ zN(FJg=Px5UrY}AC>oVKE!zO-*?-_GJ91}CJPb9zR-G07FZJKEwW=SN40^1xmS zVMyuplD@xP&QQRl`q2EDz@t{_I zL~2AnuFjtoRGA(iA6?wZME*_=Lg0&U){$)ShS~h)x5&Y?u)K6dOS{~d1cWekAg`nm zB(e1#kZK|v17%5AOpPajJcRI!Yq9XMdccg+0)wnE0R6J}x;`Z>+1rHn!nmcKHHU+W z4FWxjzs78=@)AS&z14;V`BZy^l4TjX$T_VttK(7++|!fA+dkp?JvCwrWH4{|B3RCK zom=+P%<4IpJ>{wFC5!ynZWQ7(UkzxTu$HzLBOJT4iEuAwtvn^S?rqxIwbo@+O)E^6 zUmBe6pOUX2M0Vrv0+iJ%4M0Sp1(a%7T$rZ9(}R+g$PCOMwNLO06J_NGPDoNz&fS9cjUd#SBMH`@A>e5U}( zU2U-?mffpSSiFT?kNfGcvkzk6_y-33o9}5D6;}@?xr1WLFi+ zUtH|wt>GS_JtOXd%Xe=v?H*AsvKR1(?E)KJa`*sD1*Zb%&?XH@jrsgQAYjMgneLQ` z9_Djq_+&5ajri=kS)+r5X@I$hdsJIqO{|sU_Dx1Etb;_4G4uaW5 zd6SuKQiRu=zCnSH%Z(B1Ma!vo@H{mZ57z0 zZO4bXsPj$w>HeLm1Fb(7`?n@ai5a1VwWcOYP4SEIO({q zRb|l2Up|MLkn-)|^qiwb4d?KH1N}vRVqHQ?0n2iym~1=8oX5gzL+z5R2m69ahx9T> z9&zp24GfY$CV?$WvY=;OFzfJq(E2A-Ohp8ME%DhYP(@FcO8gM6axOk@C`$n5fl_Fn-`{7~T3A;{?pkDy@Wim~BBX$s?m+ue8`fp86S=ee zm_A4(@(mMpMgd1FLyXjOEUz;gP`&#Q$1UIT{X2)2*n;eTyFK(l$%KupPLE*ff{bZf*wVrh1_78$L008M`FoRZ{{#CDueSgI literal 0 HcmV?d00001 diff --git a/src/resources/icon.iconset/icon_32x32.png b/src/resources/icon.iconset/icon_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..47260d2da22dd966daf7fe3ac1d35322bdad3837 GIT binary patch literal 1735 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

JODe z8?5Cd@M03skx~E1kjmY*U#q1a=fl#noeQ(6*<5ac=(VAjTeIHsHoEL3 z_hL#`VYWC|`}bJ=?vQw$kbeI$11B*e6lf}Z-NUn2Abf09hS^B8Okr0#L%WDfmKai|(c=tcC5q}yJ! z&xdq&$V)g=&R~;ewKYp~;Y0dkLga))5ZeSnHpsR`T2|(+n%uANtxA0~ui{V4Z+jj% zDIbKzbi?SwwAzbEsdOCli?8D7^~7CfT&NJc)38AHcYlCJ>Qpo58NKN*x+XkezF z%+-MdHp7&6w`ab2ckuj>85ew=}gnc+~<1_I6mnZJ(Y7J3&ihAz{LVr;)Ja7c=ltj7Ik_g`gM1`1>xew2T1+BBYRG3uA}T3Xt~P)3C$LU@CU(WkEfLL${&&K8%gq{S zud0VBI`7}^Kam189J9``fRC{fzcKeaA3cBS;WRG+sf@ns>lr9?OPRFl(5M}eaFwZQ zmGl@H0f?tbN#pq$79W$C0Ke0k7ZWJ?O82(^-JX@9vi(n;KaM^O+CU!JE53>!$<8Uf z>&}}HRMuijW>e&-=s$hbo85+`x0!o9NuHtNebRt^dp4qO9?A@w#-w2TADT#Lu0=uu zvaiSGGCsxZ{L?@SZ}2=k8Ex55pkKu@Z}n|UhL7qO$nT?e%5Ah+14gZug>uWJ-hk;1 zEfIoFK%?hx_gY5;g6E@~N-0b1Cnp?#85H-C^Cd#xWhubIHdYy0bOl1BTb^3SDpxct zY_4m4bj|B8@>trr6ZV%u%9iza!|?rC{bl^xMzL}6(4SFOE_q1|ma?!pdHP?}aL(V& zZ%!UMUxN^O^Gkd1;^q3=_7UvargaEE6YpGAraKtoO(31@piA3t{_r#;gZz70ji2d0 zWqu@WN&lxr?wMefj=zd@FABio->Z4MzP)X#03oIf7y(}@4tqlD-1DT^vLzvUa*xG?+hJ?Mo*Laa;Sfb7sOIkF1I$%a-gtGBL+Y zY}jR$+)xh7g)}s9=hj!%NpIkgP&l1Gt43dxTO3EEYNvrYKP%=$E2!UjGrUb2+Q=WV z(in>;<~!DTaoNEQN#Yx+qg-TipZg}3tN|XoW+J}+-pDEx*2armfe zDct2X)gOI$lckP2^JJB`i0I7znJvWe@vwBd<|K0v?|2JriaGcoja1h%)^*x(9NM^| zi~~cF#eytn`i&OXx2}K(R0~DH z~WA&s2Q-MKFmM8QgQ`RC(>L#Hd_ks6R~0s#ezu zh7aGbu) z&X)0IaQ@Xpof_!4entB~byJJhj!CNJrzK*9^JQT? z_%DZp#Qfv#TLA{D^;W1rT<~~D107wYVVgpgcjV=FL8wsA{ZcgMy*di#e2LJo2@l(6 z7jOa;l8v6JGMw#ZBPVK%&h|Oa4$2>C&j$Ti<@7!ok_ptf(#ZJ7H!A5Lmx7z~Yz4R->VuGi3jFjGlXs z<>dbgo%v;4{9oPxo@;pze1^@~b6V*0JkSn^tLsVotv)=W;W}`=LaBY^-$lStj`C3Y zeW)qw1qXTJ?m+CB>}7}2g?Ogi{jD9*5_jI01iT?Z!&1wkqo>KWq#jb_<>r!~b#nZq z6E#QGu-XYU;?>HtIoWIx`hBih{T#ix4%HhW(!DiOl7H&ds6D$Mj3m@$+eaZOf=TU3 zj$yHt0UxP@$V0-3zgoVd`sAGiP}JpfX5N}M`s6{Iz3UK%_2#mnr_cWQfhjoknktBUh`m}AE(MO)0?qu=(Ry{_K4C#_RW8E zS|AD20xsVgIrhqzL-2EpVYO2CKUBDyjgGHJ|0BG(t8CWfvn=kdpO%&Q@?UQt4p2X0Ui+L485NHKDMX`dY5#za0cb*LCQsfAH*#`>!OC^wrwt|}9) zlM%qQSe8)e9bLZBscU~Ksq(?y|FyVHEV=1wOCaUeIi3yfQQ8x4GMbP#6<3o<53LlB z1_`1DzIDoUT^e+~q%y{(iVKPUCLgjkcKC)V;9?Gl>uLSWwjy#j{4h9h

g%F6-u^ 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 a#o~zw?td!%`P&76yEN2vRjZY)BL5F^k*Fd7 literal 0 HcmV?d00001 diff --git a/src/resources/icon.iconset/icon_512x512@2x.png b/src/resources/icon.iconset/icon_512x512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..51c8962b5c5354ae9c80976241a4bb225a9acede GIT binary patch literal 291392 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 y_Q;ZWDi>y+<+a1O9ITn9>G@?Xd>W= zt$BYB|IgB(K7x?Z_v1A3L0dJ@KHm-!fP+sSw(r(F^KTrl&(^}1WgV^&XzKtu1UdE}F@yFx%zbuF|+9dLqh7}2c z=ZP;$_ibzD(;lBo>c%j1d^C?n*Cn&cVi}l62d(Zbm`}VsUa<#frtfa$Kxg0m9?GLI zjK<+R*&^!2#~0@y&wbPq&6rK$Tc0;Dgy{PGYnH}+rmZ~|$Q|py{a2Xu`9UQHxdunU z7v8%?`+∨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 literal 0 HcmV?d00001 diff --git a/src/updater/Makefile b/src/updater/Makefile new file mode 100644 index 0000000..db71a7a --- /dev/null +++ b/src/updater/Makefile @@ -0,0 +1,29 @@ +CC = swiftc +FLAGS = -g +#-O +#TARGET = +MACOS_VERSION = 13.0 + +FILES = main.swift + +EXEC = cmdbar_updater + +FRAMEWORKS = -framework AppKit + +./arm64/$(EXEC): $(FILES) + $(CC) -target arm64-apple-macos$(MACOS_VERSION) $(FLAGS) $^ \ + $(FRAMEWORKS) -o $@ + +./x86_64/$(EXEC): $(FILES) + $(CC) -target x86_64-apple-macos$(MACOS_VERSION) $(FLAGS) $^ \ + $(FRAMEWORKS) -o $@ + +$(EXEC): ./arm64/$(EXEC) ./x86_64/$(EXEC) + lipo -create -output $(EXEC) $^ && \ + codesign -s ${DEVELOPER_ID} -f --timestamp -o runtime $(EXEC) + +all: $(EXEC) + +clean: + rm -rf arm64 x86_64 $(EXEC) + mkdir arm64 x86_64 diff --git a/src/updater/main.swift b/src/updater/main.swift new file mode 100644 index 0000000..9ca2db6 --- /dev/null +++ b/src/updater/main.swift @@ -0,0 +1,33 @@ +// +// main.swift +// cmdbar_updater +// +// Created by Igor Kolokolnikov on 5/23/24. +// + +import AppKit + +fileprivate func existsAtPath(_ path: String, isDirectory: Bool = false) -> Bool { + var isDirectory: ObjCBool = ObjCBool(isDirectory) + let exists = FileManager.default.fileExists(atPath: path, isDirectory: &isDirectory) + return exists +} + +let tmp = FileManager.default.temporaryDirectory.appending(path: "CmdBar.app") +let app = Bundle.main.bundleURL + +if !existsAtPath(tmp.path(), isDirectory: true) { exit(1) } + +do { + let _ = try FileManager.default.replaceItemAt(app, withItemAt: tmp) +} catch { + if existsAtPath(tmp.path(), isDirectory: true) { + do { try FileManager.default.removeItem(at: tmp) } catch {} + } + exit(1) +} + +let configuration = NSWorkspace.OpenConfiguration() +NSWorkspace.shared.openApplication(at: app, configuration: configuration, completionHandler: nil) + +usleep(100000*2) // Allow 2 seconds to let `NSWorkspace.shared.openApplication` finish launching our app.