From 8d51b1a019ce78c65d215f21bea44b7bc4127567 Mon Sep 17 00:00:00 2001 From: max0y Date: Sun, 4 Mar 2018 23:57:15 +0800 Subject: [PATCH 1/6] To do: support more EAP methods --- files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua index 3257939..fd7a197 100644 --- a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua +++ b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua @@ -1,5 +1,11 @@ require("luci.sys") +local eap_list = { + "MD5", + "PEAP", + "MSCHAPV2", +} + m = Map("cd8021x", translate("cd802.1x client"), translate("Configure IEEE 802.1x wired authentication, you may need to edit your WAN interface protocol as DHCP client here.")) @@ -24,4 +30,9 @@ if apply then io.popen("/etc/init.d/cd8021x restart") end +eap = s:option(ListValue, "eap", translate("EAP")) +for k, v in ipairs(eap_list) do + eap:value(v) +end + return m From 39dd3d03101fd8b101b17ff5a8daa5c87a94d00c Mon Sep 17 00:00:00 2001 From: max0y Date: Wed, 7 Mar 2018 13:49:21 +0800 Subject: [PATCH 2/6] add PEAP and MSCHAPV2 support --- files/root/etc/config/cd8021x | 1 + files/root/etc/init.d/cd8021x | 17 ++++++++++++++++- .../usr/lib/lua/luci/controller/cd8021x.lua | 2 +- .../root/usr/lib/lua/luci/model/cbi/cd8021x.lua | 10 +++++----- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/files/root/etc/config/cd8021x b/files/root/etc/config/cd8021x index d7ed347..97530d6 100644 --- a/files/root/etc/config/cd8021x +++ b/files/root/etc/config/cd8021x @@ -2,3 +2,4 @@ config login option username '' option password '' option ifname 'eth0' + option eap 'MD5' diff --git a/files/root/etc/init.d/cd8021x b/files/root/etc/init.d/cd8021x index e35b1d1..471ce3f 100644 --- a/files/root/etc/init.d/cd8021x +++ b/files/root/etc/init.d/cd8021x @@ -10,13 +10,28 @@ run_cd8021x() local username local password local ifname + local eap config_get username $1 username config_get password $1 password config_get ifname $1 ifname + config_get eap $1 eap killall wpa_supplicant - echo -e "ctrl_interface=/var/run/wpa_supplicant\nap_scan=0\nnetwork={\nkey_mgmt=IEEE8021X\neap=MD5\nidentity=\"$username\"\npassword=\"$password\"\neapol_flags=0\n}" > /tmp/cd8021x.conf + echo -e "ctrl_interface=/var/run/wpa_supplicant\nctrl_interface_group=root\nap_scan=0\nnetwork={\nkey_mgmt=IEEE8021X\neap=$eap\nidentity=\"$username\"\npassword=\"$password\"" > /tmp/cd8021x.conf + case "$eap" in + "MD5") + echo -e "eapol_flags=0\n}" >> /tmp/cd8021x.conf + ;; + "PEAP") + echo -e "anonymous_identity=\"$username\"\npairwise=CCMP TKIP\nphase2=\"auth=MSCHAPV2\"\npriority=2\n}" >> /tmp/cd8021x.conf + ;; + "MSCHAPV2") + echo -e "eapol_flags=0\nphase1=\"peaplabel=1\"\nphase2=\"auth=MSCHAPV2\"\n}" >> /tmp/cd8021x.conf + ;; + *) + esac + wpa_supplicant -B -c /tmp/cd8021x.conf -i$ifname -Dwired echo "cd802.1x client has started." diff --git a/files/root/usr/lib/lua/luci/controller/cd8021x.lua b/files/root/usr/lib/lua/luci/controller/cd8021x.lua index 2096746..4da3694 100644 --- a/files/root/usr/lib/lua/luci/controller/cd8021x.lua +++ b/files/root/usr/lib/lua/luci/controller/cd8021x.lua @@ -1,5 +1,5 @@ module("luci.controller.cd8021x", package.seeall) function index() - entry({"admin", "network", "cd8021x"}, cbi("cd8021x"), _("cd802.1x client"), 100) + entry({"admin", "network", "cd8021x"}, cbi("cd8021x"), _("cd802.1x client"), 100).dependent = true end diff --git a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua index fd7a197..a163278 100644 --- a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua +++ b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua @@ -25,14 +25,14 @@ for k, v in ipairs(luci.sys.net.devices()) do end end -local apply = luci.http.formvalue("cbi.apply") -if apply then - io.popen("/etc/init.d/cd8021x restart") -end - eap = s:option(ListValue, "eap", translate("EAP")) for k, v in ipairs(eap_list) do eap:value(v) end +local apply = luci.http.formvalue("cbi.apply") +if apply then + io.popen("/etc/init.d/cd8021x restart") +end + return m From 4fc12eaf60c8b25ce780f35ef39f5b3ee3c2d6d6 Mon Sep 17 00:00:00 2001 From: max0y Date: Wed, 7 Mar 2018 13:58:44 +0800 Subject: [PATCH 3/6] update .gitignore --- .gitignore | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.gitignore b/.gitignore index 722d5e7..224af69 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,9 @@ .vscode +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Folder config file +[Dd]esktop.ini + From bcd23e90a5394e192b33c093dba7cc0dadef1381 Mon Sep 17 00:00:00 2001 From: max0y Date: Wed, 7 Mar 2018 14:29:01 +0800 Subject: [PATCH 4/6] Update LICENSE --- LICENSE | 829 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 669 insertions(+), 160 deletions(-) diff --git a/LICENSE b/LICENSE index 65c5ca8..bc30e42 100644 --- a/LICENSE +++ b/LICENSE @@ -1,165 +1,674 @@ - GNU LESSER GENERAL PUBLIC LICENSE + GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - Copyright (C) 2007 Free Software Foundation, Inc. + 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. - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. + 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) <2018> + + 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 + 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 +. From 1e7f74e14bac0f9e3a9889b37253b4d602c34f58 Mon Sep 17 00:00:00 2001 From: max0y Date: Wed, 7 Mar 2018 14:53:00 +0800 Subject: [PATCH 5/6] add license info, update screenshot --- files/root/etc/init.d/cd8021x | 4 ++++ .../usr/lib/lua/luci/controller/cd8021x.lua | 3 +++ .../usr/lib/lua/luci/model/cbi/cd8021x.lua | 3 +++ screenshot.png | Bin 18211 -> 19667 bytes screenshot_zh.png | Bin 17352 -> 18939 bytes 5 files changed, 10 insertions(+) diff --git a/files/root/etc/init.d/cd8021x b/files/root/etc/init.d/cd8021x index 471ce3f..ce55ad9 100644 --- a/files/root/etc/init.d/cd8021x +++ b/files/root/etc/init.d/cd8021x @@ -1,4 +1,8 @@ #!/bin/sh /etc/rc.common + +# Copyright (C) 2018 max0y +# Licensed to the public under the GNU General Public License v3. + START=50 run_cd8021x() diff --git a/files/root/usr/lib/lua/luci/controller/cd8021x.lua b/files/root/usr/lib/lua/luci/controller/cd8021x.lua index 4da3694..87e4429 100644 --- a/files/root/usr/lib/lua/luci/controller/cd8021x.lua +++ b/files/root/usr/lib/lua/luci/controller/cd8021x.lua @@ -1,3 +1,6 @@ +-- Copyright (C) 2018 max0y +-- Licensed to the public under the GNU General Public License v3. + module("luci.controller.cd8021x", package.seeall) function index() diff --git a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua index a163278..b283a4f 100644 --- a/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua +++ b/files/root/usr/lib/lua/luci/model/cbi/cd8021x.lua @@ -1,3 +1,6 @@ +-- Copyright (C) 2018 max0y +-- Licensed to the public under the GNU General Public License v3. + require("luci.sys") local eap_list = { diff --git a/screenshot.png b/screenshot.png index 3d5618043f6359d364d6c25e79bfaa00dd3cee60..23d92a86cae29b8de5a482570a5b51062d02c453 100644 GIT binary patch literal 19667 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 literal 18211 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 qAQYoQmuzs{5c>KW>H!i!`mx`#dii^KODE97|0w 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 OtD>MOUnBcA^nU?X2CSt3 From b1f0b55fb3e828ae653aace5e01b046c38f8ce39 Mon Sep 17 00:00:00 2001 From: max0y Date: Wed, 7 Mar 2018 23:32:15 +0800 Subject: [PATCH 6/6] update Makefile --- Makefile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index d195679..18e5364 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-cd8021x -PKG_VERSION=1.1 +PKG_VERSION=1.2.0 PKG_RELEASE:=1 +PKG_LICENSE:=GPLv3 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=max0y + PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) include $(INCLUDE_DIR)/package.mk