From f5c2c364b0c748f539f39959c1710284eb27c18b Mon Sep 17 00:00:00 2001 From: MuK IT GmbH Date: Wed, 16 Jan 2019 15:25:11 +0000 Subject: [PATCH] publish muk_session_store - 12.0 --- muk_session_store/LICENSE | 619 ++++++++++++++++++ muk_session_store/__init__.py | 21 + muk_session_store/__manifest__.py | 51 ++ muk_session_store/doc/changelog.rst | 4 + muk_session_store/doc/index.rst | 161 +++++ muk_session_store/patch/__init__.py | 20 + muk_session_store/patch/http.py | 87 +++ .../static/description/banner.png | Bin 0 -> 49740 bytes muk_session_store/static/description/icon.png | Bin 0 -> 14085 bytes muk_session_store/static/description/icon.svg | 1 + .../static/description/index.html | 134 ++++ muk_session_store/static/description/logo.png | Bin 0 -> 38064 bytes .../static/description/preview.png | Bin 0 -> 33203 bytes .../description/service_customization.png | Bin 0 -> 27452 bytes .../description/service_development.png | Bin 0 -> 28929 bytes .../description/service_implementation.png | Bin 0 -> 26148 bytes .../description/service_integration.png | Bin 0 -> 24862 bytes .../static/description/service_support.png | Bin 0 -> 24150 bytes muk_session_store/store/__init__.py | 21 + muk_session_store/store/postgres.py | 121 ++++ muk_session_store/store/redis.py | 93 +++ 21 files changed, 1333 insertions(+) create mode 100644 muk_session_store/LICENSE create mode 100644 muk_session_store/__init__.py create mode 100644 muk_session_store/__manifest__.py create mode 100644 muk_session_store/doc/changelog.rst create mode 100644 muk_session_store/doc/index.rst create mode 100644 muk_session_store/patch/__init__.py create mode 100644 muk_session_store/patch/http.py create mode 100644 muk_session_store/static/description/banner.png create mode 100644 muk_session_store/static/description/icon.png create mode 100644 muk_session_store/static/description/icon.svg create mode 100644 muk_session_store/static/description/index.html create mode 100644 muk_session_store/static/description/logo.png create mode 100644 muk_session_store/static/description/preview.png create mode 100644 muk_session_store/static/description/service_customization.png create mode 100644 muk_session_store/static/description/service_development.png create mode 100644 muk_session_store/static/description/service_implementation.png create mode 100644 muk_session_store/static/description/service_integration.png create mode 100644 muk_session_store/static/description/service_support.png create mode 100644 muk_session_store/store/__init__.py create mode 100644 muk_session_store/store/postgres.py create mode 100644 muk_session_store/store/redis.py diff --git a/muk_session_store/LICENSE b/muk_session_store/LICENSE new file mode 100644 index 0000000..faf7bf4 --- /dev/null +++ b/muk_session_store/LICENSE @@ -0,0 +1,619 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 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 Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. + + 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 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 work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero 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 Affero 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 Affero 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 \ No newline at end of file diff --git a/muk_session_store/__init__.py b/muk_session_store/__init__.py new file mode 100644 index 0000000..34718ce --- /dev/null +++ b/muk_session_store/__init__.py @@ -0,0 +1,21 @@ +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +def _patch_system(): + from . import patch \ No newline at end of file diff --git a/muk_session_store/__manifest__.py b/muk_session_store/__manifest__.py new file mode 100644 index 0000000..0131943 --- /dev/null +++ b/muk_session_store/__manifest__.py @@ -0,0 +1,51 @@ +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +{ + "name": "MuK Session Store", + "summary": """Session Store Options""", + "version": "12.0.1.0.0", + "category": "Extra Tools", + "license": "AGPL-3", + "website": "http://www.mukit.at", + 'live_test_url': 'https://mukit.at/r/SgN', + "author": "MuK IT", + "contributors": [ + "Mathias Markl ", + ], + "depends": [ + "base", + ], + "data": [ + ], + "qweb": [ + "static/src/xml/*.xml", + ], + "images": [ + 'static/description/banner.png' + ], + "external_dependencies": { + "python": [], + "bin": [], + }, + "auto_install": True, + "application": False, + "installable": True, + "post_load": "_patch_system", +} \ No newline at end of file diff --git a/muk_session_store/doc/changelog.rst b/muk_session_store/doc/changelog.rst new file mode 100644 index 0000000..9ee2b48 --- /dev/null +++ b/muk_session_store/doc/changelog.rst @@ -0,0 +1,4 @@ +`1.0.0` +------- + +- Init version diff --git a/muk_session_store/doc/index.rst b/muk_session_store/doc/index.rst new file mode 100644 index 0000000..a92df9b --- /dev/null +++ b/muk_session_store/doc/index.rst @@ -0,0 +1,161 @@ +================= +MuK Session Store +================= + +In a distributed system the filestore based session store of Odoo has the problem that +unwanted session timeouts occur regularly. This module offers two additional options for +the Session Store. Sessions can be stored either in a Redis database or directly in +Postgres. Both options have the advantage that the session information can also be queried +in a distributed system. + +Requirements +============= + +The requirements are only required if Redis is used as the session store. + +Redis +------------- + +A interface to the Redis key-value store for Python. To install Redis please follow the +`instructions `_ or install the library via pip. + +``pip install redis`` + +Installation +============ + +To install this module, you need to: + +Download the module and add it to your Odoo addons folder. Afterward, log on to +your Odoo server and go to the Apps menu. Trigger the debug mode and update the +list by clicking on the "Update Apps List" link. Now install the module by +clicking on the install button. + +Another way to install this module is via the package management for Python +(`PyPI `_). + +To install our modules using the package manager make sure +`odoo-autodiscover `_ is installed +correctly. Then open a console and install the module by entering the following +command: + +``pip install --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +The module name consists of the Odoo version and the module name, where +underscores are replaced by a dash. + +**Module:** + +``odoo-addon-`` + +**Example:** + +``sudo -H pip3 install --extra-index-url https://nexus.mukit.at/repository/odoo/simple odoo11-addon-muk-utils`` + +Once the installation has been successfully completed, the app is already in the +correct folder. Log on to your Odoo server and go to the Apps menu. Trigger the +debug mode and update the list by clicking on the "Update Apps List" link. Now +install the module by clicking on the install button. + +The biggest advantage of this variant is that you can now also update the app +using the "pip" command. To do this, enter the following command in your console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo. The steps are the same as for the installation only the button has changed +from "Install" to "Upgrade". + +You can also view available Apps directly in our `repository `_ +and find a more detailed installation guide on our `website `_. + +For modules licensed under OPL-1, you will receive access data when you purchase +the module. If the modules were not purchased directly from +`MuK IT `_ please contact our support (support@mukit.at) +with a confirmation of purchase to receive the corresponding access data. + +Upgrade +============ + +To upgrade this module, you need to: + +Download the module and add it to your Odoo addons folder. Restart the server +and log on to your Odoo server. Select the Apps menu and upgrade the module by +clicking on the upgrade button. + +If you installed the module using the "pip" command, you can also update the +module in the same way. Just type the following command into the console: + +``pip install --upgrade --extra-index-url https://nexus.mukit.at/repository/odoo/simple `` + +When the process is finished, restart your server and update the application in +Odoo, just like you would normally. + +Configuration +============= + +Since this module need to be activated even if no database is selected it should +be loaded right at the server start. This can be done by editing the configuration +file or passing a load parameter to the start script. + +Parameter: ``--load=web,muk_session_store`` + +The following fields can be modified in the config file: + +**Store:** + +* session_store_database +* session_store_redis + +**Postgres:** + +* session_store_dbname + +**Redis:** + +* session_store_prefix +* session_store_host +* session_store_port +* session_store_dbindex +* session_store_pass + +Usage +============= + +After setting the parameters, the session store is used automatically. + +Credits +======= + +Contributors +------------ + +* Mathias Markl + +Images +------------ + +Some pictures are based on or inspired by the icon set of Font Awesome: + +* `Font Awesome `_ + +Projects +------------ + +Parts of the module are based on or inspired by: + +* `Session DB `_ +* `PSQL Session Store `_ +* `Redis Session Store `_ + +Author & Maintainer +------------------- + +This module is maintained by the `MuK IT GmbH `_. + +MuK IT is an Austrian company specialized in customizing and extending Odoo. +We develop custom solutions for your individual needs to help you focus on +your strength and expertise to grow your business. + +If you want to get in touch please contact us via mail +(sale@mukit.at) or visit our website (https://mukit.at). \ No newline at end of file diff --git a/muk_session_store/patch/__init__.py b/muk_session_store/patch/__init__.py new file mode 100644 index 0000000..4ff9745 --- /dev/null +++ b/muk_session_store/patch/__init__.py @@ -0,0 +1,20 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +from . import http \ No newline at end of file diff --git a/muk_session_store/patch/http.py b/muk_session_store/patch/http.py new file mode 100644 index 0000000..929860e --- /dev/null +++ b/muk_session_store/patch/http.py @@ -0,0 +1,87 @@ +################################################################################### +# +# Copyright (C) 2018 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import random +import logging + +from odoo import http, tools +from odoo.tools.func import lazy_property + +from odoo.addons.muk_utils.tools.patch import monkey_patch +from odoo.addons.muk_session_store.store import postgres +from odoo.addons.muk_session_store.store import redis + +_logger = logging.getLogger(__name__) + +try: + import redis +except ImportError: + if tools.config.get('session_store_redis'): + _logger.warning("The Python library redis is not installed.") + redis = False + +def get_session_store_database(): + return tools.config.get('session_store_dbname', 'session_store') + +@monkey_patch(http) +def db_monodb(httprequest=None): + if tools.config.get('session_store_database'): + httprequest = httprequest or request.httprequest + dbs = http.db_list(True, httprequest) + store = get_session_store_database() + db_session = httprequest.session.db + if db_session in dbs: + return db_session + if store in dbs: + dbs.remove(store) + if len(dbs) == 1: + return dbs[0] + return None + else: + db_monodb.super(httprequest) + +@monkey_patch(http) +def db_filter(dbs, httprequest=None): + dbs = db_filter.super(dbs, httprequest=httprequest) + store = get_session_store_database() + if store in dbs: + dbs.remove(store) + return dbs + +@monkey_patch(http) +def session_gc(session_store): + if tools.config.get('session_store_database'): + if random.random() < 0.001: + session_store.clean() + elif tools.config.get('session_store_redis'): + pass + else: + session_gc.super(session_store) + +class Root(http.Root): + @lazy_property + def session_store(self): + if tools.config.get('session_store_database'): + return postgres.PostgresSessionStore(session_class=http.OpenERPSession) + elif tools.config.get('session_store_redis') and redis: + return redis.RedisSessionStore(session_class=http.OpenERPSession) + return super(Root, self).session_store + +http.root = Root() + diff --git a/muk_session_store/static/description/banner.png b/muk_session_store/static/description/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..a28122cedbc688cfd8bd3ee69113cbb27f499b2e GIT binary patch literal 49740 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�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 literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/icon.png b/muk_session_store/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbc81e80a9ee5ea7189d18ffd908834f2325425 GIT binary patch literal 14085 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 L>hH?ln1=ihOLF8; literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/icon.svg b/muk_session_store/static/description/icon.svg new file mode 100644 index 0000000..ec20ec3 --- /dev/null +++ b/muk_session_store/static/description/icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/muk_session_store/static/description/index.html b/muk_session_store/static/description/index.html new file mode 100644 index 0000000..baeed4d --- /dev/null +++ b/muk_session_store/static/description/index.html @@ -0,0 +1,134 @@ +
+
+

MuK Session Store

+

Session Store Options

+

MuK IT GmbH - + www.mukit.at

+
+
+ +
+
+
+

Overview

+

In a distributed system the filestore based + session store of Odoo has the problem that unwanted session timeouts + occur regularly. This module offers two additional options for the + Session Store. Sessions can be stored either in a Redis database or + directly in Postgres. Both options have the advantage that the + session information can also be queried in a distributed system.

+

Since this module need to be activated even if no database is + selected it should be loaded right at the server start. This can be + done by editing the configuration file or passing a load parameter + to the start script.

+

+ Parameter: + --load=web,muk_session_store +

+
+
+
+ +
+ +
+ +
+
+
+ + +
+
+
+ +
+

Help and Support

+
Feel free to + contact us, if you need any help with your Odoo integration or + addiontal features.
+ + +
\ No newline at end of file diff --git a/muk_session_store/static/description/logo.png b/muk_session_store/static/description/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9427ce33ea36c2ec961356d01d612bae02d48ce2 GIT binary patch literal 38064 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 literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/preview.png b/muk_session_store/static/description/preview.png new file mode 100644 index 0000000000000000000000000000000000000000..1deb1cceffc3f73a70dca6d35f1f7868d1507dcc GIT binary patch literal 33203 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 literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/service_customization.png b/muk_session_store/static/description/service_customization.png new file mode 100644 index 0000000000000000000000000000000000000000..3eac66488b63820f69634bfab8d45b94039651c3 GIT binary patch literal 27452 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 literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/service_implementation.png b/muk_session_store/static/description/service_implementation.png new file mode 100644 index 0000000000000000000000000000000000000000..d64b66bda3e4827e7cfba4ec4e5ed8414c4381ad GIT binary patch literal 26148 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 Hu0mjfz33;t literal 0 HcmV?d00001 diff --git a/muk_session_store/static/description/service_integration.png b/muk_session_store/static/description/service_integration.png new file mode 100644 index 0000000000000000000000000000000000000000..76c5e80f4798a3a9c9154dc00283dcb4eaa47f5b GIT binary patch literal 24862 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

-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. +# +################################################################################### + +from . import postgres +from . import redis \ No newline at end of file diff --git a/muk_session_store/store/postgres.py b/muk_session_store/store/postgres.py new file mode 100644 index 0000000..fcf1532 --- /dev/null +++ b/muk_session_store/store/postgres.py @@ -0,0 +1,121 @@ +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import json +import logging +import psycopg2 +import functools + +from contextlib import closing + +from werkzeug.contrib.sessions import SessionStore + +from odoo.sql_db import db_connect +from odoo.tools import config + +_logger = logging.getLogger(__name__) + +def ensure_cursor(func): + @functools.wraps(func) + def wrapper(self, *args, **kwargs): + for attempts in range(1, 6): + try: + return func(self, *args, **kwargs) + except psycopg2.InterfaceError as error: + _logger.info("SessionStore connection failed! (%s/5)" % attempts) + if attempts < 5: + self._open_connection() + else: + raise error + return wrapper + +class PostgresSessionStore(SessionStore): + + def __init__(self, *args, **kwargs): + super(PostgresSessionStore, self).__init__(*args, **kwargs) + self.dbname = config.get('session_store_dbname', 'session_store') + self._open_connection() + self._setup_db() + + def _create_database(self): + with closing(db_connect("postgres").cursor()) as cursor: + cursor.autocommit(True) + cursor.execute(""" + CREATE DATABASE {dbname} + ENCODING 'unicode' + TEMPLATE 'template0'; + """.format(dbname=self.dbname)) + self._setup_db() + + def _open_connection(self, create_db=True): + try: + connection = db_connect(self.dbname, allow_uri=True) + self.cursor = connection.cursor() + self.cursor.autocommit(True) + except: + if not create_db: + raise + self._create_database() + return self._open_connection(create_db=False) + + @ensure_cursor + def _setup_db(self): + self.cursor.execute(""" + CREATE TABLE IF NOT EXISTS sessions ( + sid varchar PRIMARY KEY, + write_date timestamp without time zone NOT NULL, + payload text NOT NULL + ); + """) + + @ensure_cursor + def save(self, session): + self.cursor.execute(""" + INSERT INTO sessions (sid, write_date, payload) + VALUES (%(sid)s, now() at time zone 'UTC', %(payload)s) + ON CONFLICT (sid) + DO UPDATE SET payload = %(payload)s, write_date = now() at time zone 'UTC'; + """, dict(sid=session.sid, payload=json.dumps(dict(session)))) + + @ensure_cursor + def delete(self, session): + self.cursor.execute("DELETE FROM sessions WHERE sid=%s;", [session.sid]) + + @ensure_cursor + def get(self, sid): + if not self.is_valid_key(sid): + return self.new() + self.cursor.execute("UPDATE sessions SET write_date = now() at time zone 'UTC' WHERE sid=%s;", [sid]) + self.cursor.execute("SELECT payload FROM sessions WHERE sid=%s;", [sid]) + try: + return self.session_class(json.loads(self.cursor.fetchone()[0]), sid, False) + except Exception: + return self.session_class({}, sid, False) + + @ensure_cursor + def list(self): + self.cursor.execute("SELECT sid FROM sessions;") + return [record[0] for record in self.cursor.fetchall()] + + @ensure_cursor + def clean(self): + self.cursor.execute(""" + DELETE FROM sessions + WHERE now() at time zone 'UTC' - write_date > '7 days'; + """) \ No newline at end of file diff --git a/muk_session_store/store/redis.py b/muk_session_store/store/redis.py new file mode 100644 index 0000000..95a30c1 --- /dev/null +++ b/muk_session_store/store/redis.py @@ -0,0 +1,93 @@ +import json +################################################################################### +# +# Copyright (C) 2017 MuK IT GmbH +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero 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 Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +################################################################################### + +import pickle +import logging +import functools + +from werkzeug.contrib.sessions import SessionStore + +from odoo.tools import config + +_logger = logging.getLogger(__name__) + +try: + import redis +except ImportError: + pass + +SESSION_TIMEOUT = 60 * 60 * 24 * 7 + +def ensure_server(func): + @functools.wraps(func) + def wrapper(self, *args, **kwargs): + for attempts in range(1, 6): + try: + return func(self, *args, **kwargs) + except redis.ConnectionError as error: + _logger.info("SessionStore connection failed! (%s/5)" % attempts) + if attempts >= 5: + raise error + return wrapper + +class RedisSessionStore(SessionStore): + + def __init__(self, *args, **kwargs): + super(RedisSessionStore, self).__init__(*args, **kwargs) + self.prefix = config.get('session_store_prefix', '') + self.server = redis.Redis( + host=config.get('session_store_host', 'localhost'), + port=int(config.get('session_store_port', 6379)), + db=int(config.get('session_store_dbindex', 1)), + password=config.get('session_store_pass', None) + ) + self._check_server() + + def _encode_session_key(self, kex): + return key.encode('utf-8') if isinstance(key, str) else key + + def _get_session_key(self, sid): + return self._encode_session_key(self.key_prefix + sid) + + @ensure_server + def _check_server(self): + self.server.ping() + + @ensure_server + def save(self, session): + key = self._get_session_key(session.sid) + payload = pickle.dumps(dict(session), pickle.HIGHEST_PROTOCOL) + self.server.setex(name=key, value=payload, time=SESSION_TIMEOUT) + + @ensure_server + def delete(self, session): + self.server.delete(self._get_session_key(session.sid)) + + @ensure_server + def get(self, sid): + if not self.is_valid_key(sid): + return self.new() + key = self._get_session_key(sid) + payload = self.server.get(key) + if payload: + self.server.setex(name=key, value=payload, time=SESSION_TIMEOUT) + return self.session_class(pickle.loads(payload), sid, False) + else: + return self.session_class({}, sid, False) \ No newline at end of file