/[smecontribs]/rpms/smeserver-phpvirtualbox/contribs10/smeserver-phpvirtualbox-5.2.1-multiple_changes.patch
ViewVC logotype

Annotation of /rpms/smeserver-phpvirtualbox/contribs10/smeserver-phpvirtualbox-5.2.1-multiple_changes.patch

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Tue Mar 7 05:11:19 2023 UTC (20 months, 2 weeks ago) by trevorb
Branch: MAIN
Changes since 1.1: +1115 -689 lines
fix multiple changes patch

1 trevorb 1.1 diff -urN smeserver-phpvirtualbox-5.2.1.old/COPYING.orig smeserver-phpvirtualbox-5.2.1/COPYING.orig
2 trevorb 1.2 --- smeserver-phpvirtualbox-5.2.1.old/COPYING.orig 2023-03-07 16:07:55.314655500 +1100
3     +++ smeserver-phpvirtualbox-5.2.1/COPYING.orig 1970-01-01 10:00:00.000000000 +1000
4     @@ -1,340 +0,0 @@
5     - GNU GENERAL PUBLIC LICENSE
6     - Version 2, June 1991
7     -
8     - Copyright (C) 1989, 1991 Free Software Foundation, Inc.
9     - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
10     - Everyone is permitted to copy and distribute verbatim copies
11     - of this license document, but changing it is not allowed.
12     -
13     - Preamble
14     -
15     - The licenses for most software are designed to take away your
16     -freedom to share and change it. By contrast, the GNU General Public
17     -License is intended to guarantee your freedom to share and change free
18     -software--to make sure the software is free for all its users. This
19     -General Public License applies to most of the Free Software
20     -Foundation's software and to any other program whose authors commit to
21     -using it. (Some other Free Software Foundation software is covered by
22     -the GNU Library General Public License instead.) You can apply it to
23     -your programs, too.
24     -
25     - When we speak of free software, we are referring to freedom, not
26     -price. Our General Public Licenses are designed to make sure that you
27     -have the freedom to distribute copies of free software (and charge for
28     -this service if you wish), that you receive source code or can get it
29     -if you want it, that you can change the software or use pieces of it
30     -in new free programs; and that you know you can do these things.
31     -
32     - To protect your rights, we need to make restrictions that forbid
33     -anyone to deny you these rights or to ask you to surrender the rights.
34     -These restrictions translate to certain responsibilities for you if you
35     -distribute copies of the software, or if you modify it.
36     -
37     - For example, if you distribute copies of such a program, whether
38     -gratis or for a fee, you must give the recipients all the rights that
39     -you have. You must make sure that they, too, receive or can get the
40     -source code. And you must show them these terms so they know their
41     -rights.
42     -
43     - We protect your rights with two steps: (1) copyright the software, and
44     -(2) offer you this license which gives you legal permission to copy,
45     -distribute and/or modify the software.
46     -
47     - Also, for each author's protection and ours, we want to make certain
48     -that everyone understands that there is no warranty for this free
49     -software. If the software is modified by someone else and passed on, we
50     -want its recipients to know that what they have is not the original, so
51     -that any problems introduced by others will not reflect on the original
52     -authors' reputations.
53     -
54     - Finally, any free program is threatened constantly by software
55     -patents. We wish to avoid the danger that redistributors of a free
56     -program will individually obtain patent licenses, in effect making the
57     -program proprietary. To prevent this, we have made it clear that any
58     -patent must be licensed for everyone's free use or not licensed at all.
59     -
60     - The precise terms and conditions for copying, distribution and
61     -modification follow.
62     -
63     - GNU GENERAL PUBLIC LICENSE
64     - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
65     -
66     - 0. This License applies to any program or other work which contains
67     -a notice placed by the copyright holder saying it may be distributed
68     -under the terms of this General Public License. The "Program", below,
69     -refers to any such program or work, and a "work based on the Program"
70     -means either the Program or any derivative work under copyright law:
71     -that is to say, a work containing the Program or a portion of it,
72     -either verbatim or with modifications and/or translated into another
73     -language. (Hereinafter, translation is included without limitation in
74     -the term "modification".) Each licensee is addressed as "you".
75     -
76     -Activities other than copying, distribution and modification are not
77     -covered by this License; they are outside its scope. The act of
78     -running the Program is not restricted, and the output from the Program
79     -is covered only if its contents constitute a work based on the
80     -Program (independent of having been made by running the Program).
81     -Whether that is true depends on what the Program does.
82     -
83     - 1. You may copy and distribute verbatim copies of the Program's
84     -source code as you receive it, in any medium, provided that you
85     -conspicuously and appropriately publish on each copy an appropriate
86     -copyright notice and disclaimer of warranty; keep intact all the
87     -notices that refer to this License and to the absence of any warranty;
88     -and give any other recipients of the Program a copy of this License
89     -along with the Program.
90     -
91     -You may charge a fee for the physical act of transferring a copy, and
92     -you may at your option offer warranty protection in exchange for a fee.
93     -
94     - 2. You may modify your copy or copies of the Program or any portion
95     -of it, thus forming a work based on the Program, and copy and
96     -distribute such modifications or work under the terms of Section 1
97     -above, provided that you also meet all of these conditions:
98     -
99     - a) You must cause the modified files to carry prominent notices
100     - stating that you changed the files and the date of any change.
101     -
102     - b) You must cause any work that you distribute or publish, that in
103     - whole or in part contains or is derived from the Program or any
104     - part thereof, to be licensed as a whole at no charge to all third
105     - parties under the terms of this License.
106     -
107     - c) If the modified program normally reads commands interactively
108     - when run, you must cause it, when started running for such
109     - interactive use in the most ordinary way, to print or display an
110     - announcement including an appropriate copyright notice and a
111     - notice that there is no warranty (or else, saying that you provide
112     - a warranty) and that users may redistribute the program under
113     - these conditions, and telling the user how to view a copy of this
114     - License. (Exception: if the Program itself is interactive but
115     - does not normally print such an announcement, your work based on
116     - the Program is not required to print an announcement.)
117     -
118     -These requirements apply to the modified work as a whole. If
119     -identifiable sections of that work are not derived from the Program,
120     -and can be reasonably considered independent and separate works in
121     -themselves, then this License, and its terms, do not apply to those
122     -sections when you distribute them as separate works. But when you
123     -distribute the same sections as part of a whole which is a work based
124     -on the Program, the distribution of the whole must be on the terms of
125     -this License, whose permissions for other licensees extend to the
126     -entire whole, and thus to each and every part regardless of who wrote it.
127     -
128     -Thus, it is not the intent of this section to claim rights or contest
129     -your rights to work written entirely by you; rather, the intent is to
130     -exercise the right to control the distribution of derivative or
131     -collective works based on the Program.
132     -
133     -In addition, mere aggregation of another work not based on the Program
134     -with the Program (or with a work based on the Program) on a volume of
135     -a storage or distribution medium does not bring the other work under
136     -the scope of this License.
137     -
138     - 3. You may copy and distribute the Program (or a work based on it,
139     -under Section 2) in object code or executable form under the terms of
140     -Sections 1 and 2 above provided that you also do one of the following:
141     -
142     - a) Accompany it with the complete corresponding machine-readable
143     - source code, which must be distributed under the terms of Sections
144     - 1 and 2 above on a medium customarily used for software interchange; or,
145     -
146     - b) Accompany it with a written offer, valid for at least three
147     - years, to give any third party, for a charge no more than your
148     - cost of physically performing source distribution, a complete
149     - machine-readable copy of the corresponding source code, to be
150     - distributed under the terms of Sections 1 and 2 above on a medium
151     - customarily used for software interchange; or,
152     -
153     - c) Accompany it with the information you received as to the offer
154     - to distribute corresponding source code. (This alternative is
155     - allowed only for noncommercial distribution and only if you
156     - received the program in object code or executable form with such
157     - an offer, in accord with Subsection b above.)
158     -
159     -The source code for a work means the preferred form of the work for
160     -making modifications to it. For an executable work, complete source
161     -code means all the source code for all modules it contains, plus any
162     -associated interface definition files, plus the scripts used to
163     -control compilation and installation of the executable. However, as a
164     -special exception, the source code distributed need not include
165     -anything that is normally distributed (in either source or binary
166     -form) with the major components (compiler, kernel, and so on) of the
167     -operating system on which the executable runs, unless that component
168     -itself accompanies the executable.
169     -
170     -If distribution of executable or object code is made by offering
171     -access to copy from a designated place, then offering equivalent
172     -access to copy the source code from the same place counts as
173     -distribution of the source code, even though third parties are not
174     -compelled to copy the source along with the object code.
175     -
176     - 4. You may not copy, modify, sublicense, or distribute the Program
177     -except as expressly provided under this License. Any attempt
178     -otherwise to copy, modify, sublicense or distribute the Program is
179     -void, and will automatically terminate your rights under this License.
180     -However, parties who have received copies, or rights, from you under
181     -this License will not have their licenses terminated so long as such
182     -parties remain in full compliance.
183     -
184     - 5. You are not required to accept this License, since you have not
185     -signed it. However, nothing else grants you permission to modify or
186     -distribute the Program or its derivative works. These actions are
187     -prohibited by law if you do not accept this License. Therefore, by
188     -modifying or distributing the Program (or any work based on the
189     -Program), you indicate your acceptance of this License to do so, and
190     -all its terms and conditions for copying, distributing or modifying
191     -the Program or works based on it.
192     -
193     - 6. Each time you redistribute the Program (or any work based on the
194     -Program), the recipient automatically receives a license from the
195     -original licensor to copy, distribute or modify the Program subject to
196     -these terms and conditions. You may not impose any further
197     -restrictions on the recipients' exercise of the rights granted herein.
198     -You are not responsible for enforcing compliance by third parties to
199     -this License.
200     -
201     - 7. If, as a consequence of a court judgment or allegation of patent
202     -infringement or for any other reason (not limited to patent issues),
203     -conditions are imposed on you (whether by court order, agreement or
204     -otherwise) that contradict the conditions of this License, they do not
205     -excuse you from the conditions of this License. If you cannot
206     -distribute so as to satisfy simultaneously your obligations under this
207     -License and any other pertinent obligations, then as a consequence you
208     -may not distribute the Program at all. For example, if a patent
209     -license would not permit royalty-free redistribution of the Program by
210     -all those who receive copies directly or indirectly through you, then
211     -the only way you could satisfy both it and this License would be to
212     -refrain entirely from distribution of the Program.
213     -
214     -If any portion of this section is held invalid or unenforceable under
215     -any particular circumstance, the balance of the section is intended to
216     -apply and the section as a whole is intended to apply in other
217     -circumstances.
218     -
219     -It is not the purpose of this section to induce you to infringe any
220     -patents or other property right claims or to contest validity of any
221     -such claims; this section has the sole purpose of protecting the
222     -integrity of the free software distribution system, which is
223     -implemented by public license practices. Many people have made
224     -generous contributions to the wide range of software distributed
225     -through that system in reliance on consistent application of that
226     -system; it is up to the author/donor to decide if he or she is willing
227     -to distribute software through any other system and a licensee cannot
228     -impose that choice.
229     -
230     -This section is intended to make thoroughly clear what is believed to
231     -be a consequence of the rest of this License.
232     -
233     - 8. If the distribution and/or use of the Program is restricted in
234     -certain countries either by patents or by copyrighted interfaces, the
235     -original copyright holder who places the Program under this License
236     -may add an explicit geographical distribution limitation excluding
237     -those countries, so that distribution is permitted only in or among
238     -countries not thus excluded. In such case, this License incorporates
239     -the limitation as if written in the body of this License.
240     -
241     - 9. The Free Software Foundation may publish revised and/or new versions
242     -of the General Public License from time to time. Such new versions will
243     -be similar in spirit to the present version, but may differ in detail to
244     -address new problems or concerns.
245     -
246     -Each version is given a distinguishing version number. If the Program
247     -specifies a version number of this License which applies to it and "any
248     -later version", you have the option of following the terms and conditions
249     -either of that version or of any later version published by the Free
250     -Software Foundation. If the Program does not specify a version number of
251     -this License, you may choose any version ever published by the Free Software
252     -Foundation.
253     -
254     - 10. If you wish to incorporate parts of the Program into other free
255     -programs whose distribution conditions are different, write to the author
256     -to ask for permission. For software which is copyrighted by the Free
257     -Software Foundation, write to the Free Software Foundation; we sometimes
258     -make exceptions for this. Our decision will be guided by the two goals
259     -of preserving the free status of all derivatives of our free software and
260     -of promoting the sharing and reuse of software generally.
261     -
262     - NO WARRANTY
263     -
264     - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
265     -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
266     -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
267     -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
268     -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
269     -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
270     -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
271     -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
272     -REPAIR OR CORRECTION.
273     -
274     - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
275     -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
276     -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
277     -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
278     -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
279     -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
280     -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
281     -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
282     -POSSIBILITY OF SUCH DAMAGES.
283     -
284     - END OF TERMS AND CONDITIONS
285     -
286     - How to Apply These Terms to Your New Programs
287     -
288     - If you develop a new program, and you want it to be of the greatest
289     -possible use to the public, the best way to achieve this is to make it
290     -free software which everyone can redistribute and change under these terms.
291     -
292     - To do so, attach the following notices to the program. It is safest
293     -to attach them to the start of each source file to most effectively
294     -convey the exclusion of warranty; and each file should have at least
295     -the "copyright" line and a pointer to where the full notice is found.
296     -
297     - <one line to give the program's name and a brief idea of what it does.>
298     - Copyright (C) 19yy <name of author>
299     -
300     - This program is free software; you can redistribute it and/or modify
301     - it under the terms of the GNU General Public License as published by
302     - the Free Software Foundation; either version 2 of the License, or
303     - (at your option) any later version.
304     -
305     - This program is distributed in the hope that it will be useful,
306     - but WITHOUT ANY WARRANTY; without even the implied warranty of
307     - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
308     - GNU General Public License for more details.
309     -
310     - You should have received a copy of the GNU General Public License
311     - along with this program; if not, write to the Free Software
312     - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
313     -
314     -
315     -Also add information on how to contact you by electronic and paper mail.
316     -
317     -If the program is interactive, make it output a short notice like this
318     -when it starts in an interactive mode:
319     -
320     - Gnomovision version 69, Copyright (C) 19yy name of author
321     - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
322     - This is free software, and you are welcome to redistribute it
323     - under certain conditions; type `show c' for details.
324     -
325     -The hypothetical commands `show w' and `show c' should show the appropriate
326     -parts of the General Public License. Of course, the commands you use may
327     -be called something other than `show w' and `show c'; they could even be
328     -mouse-clicks or menu items--whatever suits your program.
329     -
330     -You should also get your employer (if you work as a programmer) or your
331     -school, if any, to sign a "copyright disclaimer" for the program, if
332     -necessary. Here is a sample; alter the names:
333     -
334     - Yoyodyne, Inc., hereby disclaims all copyright interest in the program
335     - `Gnomovision' (which makes passes at compilers) written by James Hacker.
336     -
337     - <signature of Ty Coon>, 1 April 1989
338     - Ty Coon, President of Vice
339     -
340     -This General Public License does not permit incorporating your program into
341     -proprietary programs. If your program is a subroutine library, you may
342     -consider it more useful to permit linking proprietary applications with the
343     -library. If this is what you want to do, use the GNU Library General
344     -Public License instead of this License.
345 trevorb 1.1 diff -urN smeserver-phpvirtualbox-5.2.1.old/COPYING.rej smeserver-phpvirtualbox-5.2.1/COPYING.rej
346 trevorb 1.2 --- smeserver-phpvirtualbox-5.2.1.old/COPYING.rej 2023-03-07 16:07:55.315656000 +1100
347     +++ smeserver-phpvirtualbox-5.2.1/COPYING.rej 1970-01-01 10:00:00.000000000 +1000
348     @@ -1,343 +0,0 @@
349     ---- COPYING 1970-01-01 10:00:00.000000000 +1000
350     -+++ COPYING 2023-02-25 16:29:54.000000000 +1100
351     -@@ -0,0 +1,340 @@
352     -+ GNU GENERAL PUBLIC LICENSE
353     -+ Version 2, June 1991
354     -+
355     -+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
356     -+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
357     -+ Everyone is permitted to copy and distribute verbatim copies
358     -+ of this license document, but changing it is not allowed.
359     -+
360     -+ Preamble
361     -+
362     -+ The licenses for most software are designed to take away your
363     -+freedom to share and change it. By contrast, the GNU General Public
364     -+License is intended to guarantee your freedom to share and change free
365     -+software--to make sure the software is free for all its users. This
366     -+General Public License applies to most of the Free Software
367     -+Foundation's software and to any other program whose authors commit to
368     -+using it. (Some other Free Software Foundation software is covered by
369     -+the GNU Library General Public License instead.) You can apply it to
370     -+your programs, too.
371     -+
372     -+ When we speak of free software, we are referring to freedom, not
373     -+price. Our General Public Licenses are designed to make sure that you
374     -+have the freedom to distribute copies of free software (and charge for
375     -+this service if you wish), that you receive source code or can get it
376     -+if you want it, that you can change the software or use pieces of it
377     -+in new free programs; and that you know you can do these things.
378     -+
379     -+ To protect your rights, we need to make restrictions that forbid
380     -+anyone to deny you these rights or to ask you to surrender the rights.
381     -+These restrictions translate to certain responsibilities for you if you
382     -+distribute copies of the software, or if you modify it.
383     -+
384     -+ For example, if you distribute copies of such a program, whether
385     -+gratis or for a fee, you must give the recipients all the rights that
386     -+you have. You must make sure that they, too, receive or can get the
387     -+source code. And you must show them these terms so they know their
388     -+rights.
389     -+
390     -+ We protect your rights with two steps: (1) copyright the software, and
391     -+(2) offer you this license which gives you legal permission to copy,
392     -+distribute and/or modify the software.
393     -+
394     -+ Also, for each author's protection and ours, we want to make certain
395     -+that everyone understands that there is no warranty for this free
396     -+software. If the software is modified by someone else and passed on, we
397     -+want its recipients to know that what they have is not the original, so
398     -+that any problems introduced by others will not reflect on the original
399     -+authors' reputations.
400     -+
401     -+ Finally, any free program is threatened constantly by software
402     -+patents. We wish to avoid the danger that redistributors of a free
403     -+program will individually obtain patent licenses, in effect making the
404     -+program proprietary. To prevent this, we have made it clear that any
405     -+patent must be licensed for everyone's free use or not licensed at all.
406     -+
407     -+ The precise terms and conditions for copying, distribution and
408     -+modification follow.
409     -+
410     -+ GNU GENERAL PUBLIC LICENSE
411     -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
412     -+
413     -+ 0. This License applies to any program or other work which contains
414     -+a notice placed by the copyright holder saying it may be distributed
415     -+under the terms of this General Public License. The "Program", below,
416     -+refers to any such program or work, and a "work based on the Program"
417     -+means either the Program or any derivative work under copyright law:
418     -+that is to say, a work containing the Program or a portion of it,
419     -+either verbatim or with modifications and/or translated into another
420     -+language. (Hereinafter, translation is included without limitation in
421     -+the term "modification".) Each licensee is addressed as "you".
422     -+
423     -+Activities other than copying, distribution and modification are not
424     -+covered by this License; they are outside its scope. The act of
425     -+running the Program is not restricted, and the output from the Program
426     -+is covered only if its contents constitute a work based on the
427     -+Program (independent of having been made by running the Program).
428     -+Whether that is true depends on what the Program does.
429     -+
430     -+ 1. You may copy and distribute verbatim copies of the Program's
431     -+source code as you receive it, in any medium, provided that you
432     -+conspicuously and appropriately publish on each copy an appropriate
433     -+copyright notice and disclaimer of warranty; keep intact all the
434     -+notices that refer to this License and to the absence of any warranty;
435     -+and give any other recipients of the Program a copy of this License
436     -+along with the Program.
437     -+
438     -+You may charge a fee for the physical act of transferring a copy, and
439     -+you may at your option offer warranty protection in exchange for a fee.
440     -+
441     -+ 2. You may modify your copy or copies of the Program or any portion
442     -+of it, thus forming a work based on the Program, and copy and
443     -+distribute such modifications or work under the terms of Section 1
444     -+above, provided that you also meet all of these conditions:
445     -+
446     -+ a) You must cause the modified files to carry prominent notices
447     -+ stating that you changed the files and the date of any change.
448     -+
449     -+ b) You must cause any work that you distribute or publish, that in
450     -+ whole or in part contains or is derived from the Program or any
451     -+ part thereof, to be licensed as a whole at no charge to all third
452     -+ parties under the terms of this License.
453     -+
454     -+ c) If the modified program normally reads commands interactively
455     -+ when run, you must cause it, when started running for such
456     -+ interactive use in the most ordinary way, to print or display an
457     -+ announcement including an appropriate copyright notice and a
458     -+ notice that there is no warranty (or else, saying that you provide
459     -+ a warranty) and that users may redistribute the program under
460     -+ these conditions, and telling the user how to view a copy of this
461     -+ License. (Exception: if the Program itself is interactive but
462     -+ does not normally print such an announcement, your work based on
463     -+ the Program is not required to print an announcement.)
464     -+
465     -+These requirements apply to the modified work as a whole. If
466     -+identifiable sections of that work are not derived from the Program,
467     -+and can be reasonably considered independent and separate works in
468     -+themselves, then this License, and its terms, do not apply to those
469     -+sections when you distribute them as separate works. But when you
470     -+distribute the same sections as part of a whole which is a work based
471     -+on the Program, the distribution of the whole must be on the terms of
472     -+this License, whose permissions for other licensees extend to the
473     -+entire whole, and thus to each and every part regardless of who wrote it.
474     -+
475     -+Thus, it is not the intent of this section to claim rights or contest
476     -+your rights to work written entirely by you; rather, the intent is to
477     -+exercise the right to control the distribution of derivative or
478     -+collective works based on the Program.
479     -+
480     -+In addition, mere aggregation of another work not based on the Program
481     -+with the Program (or with a work based on the Program) on a volume of
482     -+a storage or distribution medium does not bring the other work under
483     -+the scope of this License.
484     -+
485     -+ 3. You may copy and distribute the Program (or a work based on it,
486     -+under Section 2) in object code or executable form under the terms of
487     -+Sections 1 and 2 above provided that you also do one of the following:
488     -+
489     -+ a) Accompany it with the complete corresponding machine-readable
490     -+ source code, which must be distributed under the terms of Sections
491     -+ 1 and 2 above on a medium customarily used for software interchange; or,
492     -+
493     -+ b) Accompany it with a written offer, valid for at least three
494     -+ years, to give any third party, for a charge no more than your
495     -+ cost of physically performing source distribution, a complete
496     -+ machine-readable copy of the corresponding source code, to be
497     -+ distributed under the terms of Sections 1 and 2 above on a medium
498     -+ customarily used for software interchange; or,
499     -+
500     -+ c) Accompany it with the information you received as to the offer
501     -+ to distribute corresponding source code. (This alternative is
502     -+ allowed only for noncommercial distribution and only if you
503     -+ received the program in object code or executable form with such
504     -+ an offer, in accord with Subsection b above.)
505     -+
506     -+The source code for a work means the preferred form of the work for
507     -+making modifications to it. For an executable work, complete source
508     -+code means all the source code for all modules it contains, plus any
509     -+associated interface definition files, plus the scripts used to
510     -+control compilation and installation of the executable. However, as a
511     -+special exception, the source code distributed need not include
512     -+anything that is normally distributed (in either source or binary
513     -+form) with the major components (compiler, kernel, and so on) of the
514     -+operating system on which the executable runs, unless that component
515     -+itself accompanies the executable.
516     -+
517     -+If distribution of executable or object code is made by offering
518     -+access to copy from a designated place, then offering equivalent
519     -+access to copy the source code from the same place counts as
520     -+distribution of the source code, even though third parties are not
521     -+compelled to copy the source along with the object code.
522     -+
523     -+ 4. You may not copy, modify, sublicense, or distribute the Program
524     -+except as expressly provided under this License. Any attempt
525     -+otherwise to copy, modify, sublicense or distribute the Program is
526     -+void, and will automatically terminate your rights under this License.
527     -+However, parties who have received copies, or rights, from you under
528     -+this License will not have their licenses terminated so long as such
529     -+parties remain in full compliance.
530     -+
531     -+ 5. You are not required to accept this License, since you have not
532     -+signed it. However, nothing else grants you permission to modify or
533     -+distribute the Program or its derivative works. These actions are
534     -+prohibited by law if you do not accept this License. Therefore, by
535     -+modifying or distributing the Program (or any work based on the
536     -+Program), you indicate your acceptance of this License to do so, and
537     -+all its terms and conditions for copying, distributing or modifying
538     -+the Program or works based on it.
539     -+
540     -+ 6. Each time you redistribute the Program (or any work based on the
541     -+Program), the recipient automatically receives a license from the
542     -+original licensor to copy, distribute or modify the Program subject to
543     -+these terms and conditions. You may not impose any further
544     -+restrictions on the recipients' exercise of the rights granted herein.
545     -+You are not responsible for enforcing compliance by third parties to
546     -+this License.
547     -+
548     -+ 7. If, as a consequence of a court judgment or allegation of patent
549     -+infringement or for any other reason (not limited to patent issues),
550     -+conditions are imposed on you (whether by court order, agreement or
551     -+otherwise) that contradict the conditions of this License, they do not
552     -+excuse you from the conditions of this License. If you cannot
553     -+distribute so as to satisfy simultaneously your obligations under this
554     -+License and any other pertinent obligations, then as a consequence you
555     -+may not distribute the Program at all. For example, if a patent
556     -+license would not permit royalty-free redistribution of the Program by
557     -+all those who receive copies directly or indirectly through you, then
558     -+the only way you could satisfy both it and this License would be to
559     -+refrain entirely from distribution of the Program.
560     -+
561     -+If any portion of this section is held invalid or unenforceable under
562     -+any particular circumstance, the balance of the section is intended to
563     -+apply and the section as a whole is intended to apply in other
564     -+circumstances.
565     -+
566     -+It is not the purpose of this section to induce you to infringe any
567     -+patents or other property right claims or to contest validity of any
568     -+such claims; this section has the sole purpose of protecting the
569     -+integrity of the free software distribution system, which is
570     -+implemented by public license practices. Many people have made
571     -+generous contributions to the wide range of software distributed
572     -+through that system in reliance on consistent application of that
573     -+system; it is up to the author/donor to decide if he or she is willing
574     -+to distribute software through any other system and a licensee cannot
575     -+impose that choice.
576     -+
577     -+This section is intended to make thoroughly clear what is believed to
578     -+be a consequence of the rest of this License.
579     -+
580     -+ 8. If the distribution and/or use of the Program is restricted in
581     -+certain countries either by patents or by copyrighted interfaces, the
582     -+original copyright holder who places the Program under this License
583     -+may add an explicit geographical distribution limitation excluding
584     -+those countries, so that distribution is permitted only in or among
585     -+countries not thus excluded. In such case, this License incorporates
586     -+the limitation as if written in the body of this License.
587     -+
588     -+ 9. The Free Software Foundation may publish revised and/or new versions
589     -+of the General Public License from time to time. Such new versions will
590     -+be similar in spirit to the present version, but may differ in detail to
591     -+address new problems or concerns.
592     -+
593     -+Each version is given a distinguishing version number. If the Program
594     -+specifies a version number of this License which applies to it and "any
595     -+later version", you have the option of following the terms and conditions
596     -+either of that version or of any later version published by the Free
597     -+Software Foundation. If the Program does not specify a version number of
598     -+this License, you may choose any version ever published by the Free Software
599     -+Foundation.
600     -+
601     -+ 10. If you wish to incorporate parts of the Program into other free
602     -+programs whose distribution conditions are different, write to the author
603     -+to ask for permission. For software which is copyrighted by the Free
604     -+Software Foundation, write to the Free Software Foundation; we sometimes
605     -+make exceptions for this. Our decision will be guided by the two goals
606     -+of preserving the free status of all derivatives of our free software and
607     -+of promoting the sharing and reuse of software generally.
608     -+
609     -+ NO WARRANTY
610     -+
611     -+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
612     -+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
613     -+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
614     -+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
615     -+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
616     -+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
617     -+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
618     -+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
619     -+REPAIR OR CORRECTION.
620     -+
621     -+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
622     -+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
623     -+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
624     -+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
625     -+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
626     -+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
627     -+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
628     -+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
629     -+POSSIBILITY OF SUCH DAMAGES.
630     -+
631     -+ END OF TERMS AND CONDITIONS
632     -+
633     -+ How to Apply These Terms to Your New Programs
634     -+
635     -+ If you develop a new program, and you want it to be of the greatest
636     -+possible use to the public, the best way to achieve this is to make it
637     -+free software which everyone can redistribute and change under these terms.
638     -+
639     -+ To do so, attach the following notices to the program. It is safest
640     -+to attach them to the start of each source file to most effectively
641     -+convey the exclusion of warranty; and each file should have at least
642     -+the "copyright" line and a pointer to where the full notice is found.
643     -+
644     -+ <one line to give the program's name and a brief idea of what it does.>
645     -+ Copyright (C) 19yy <name of author>
646     -+
647     -+ This program is free software; you can redistribute it and/or modify
648     -+ it under the terms of the GNU General Public License as published by
649     -+ the Free Software Foundation; either version 2 of the License, or
650     -+ (at your option) any later version.
651     -+
652     -+ This program is distributed in the hope that it will be useful,
653     -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
654     -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
655     -+ GNU General Public License for more details.
656     -+
657     -+ You should have received a copy of the GNU General Public License
658     -+ along with this program; if not, write to the Free Software
659     -+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
660     -+
661     -+
662     -+Also add information on how to contact you by electronic and paper mail.
663     -+
664     -+If the program is interactive, make it output a short notice like this
665     -+when it starts in an interactive mode:
666     -+
667     -+ Gnomovision version 69, Copyright (C) 19yy name of author
668     -+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
669     -+ This is free software, and you are welcome to redistribute it
670     -+ under certain conditions; type `show c' for details.
671     -+
672     -+The hypothetical commands `show w' and `show c' should show the appropriate
673     -+parts of the General Public License. Of course, the commands you use may
674     -+be called something other than `show w' and `show c'; they could even be
675     -+mouse-clicks or menu items--whatever suits your program.
676     -+
677     -+You should also get your employer (if you work as a programmer) or your
678     -+school, if any, to sign a "copyright disclaimer" for the program, if
679     -+necessary. Here is a sample; alter the names:
680     -+
681     -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
682     -+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
683     -+
684     -+ <signature of Ty Coon>, 1 April 1989
685     -+ Ty Coon, President of Vice
686     -+
687     -+This General Public License does not permit incorporating your program into
688     -+proprietary programs. If your program is a subroutine library, you may
689     -+consider it more useful to permit linking proprietary applications with the
690     -+library. If this is what you want to do, use the GNU Library General
691     -+Public License instead of this License.
692     diff -urN smeserver-phpvirtualbox-5.2.1.old/createlinks smeserver-phpvirtualbox-5.2.1/createlinks
693     --- smeserver-phpvirtualbox-5.2.1.old/createlinks 2022-10-18 09:49:44.000000000 +1100
694     +++ smeserver-phpvirtualbox-5.2.1/createlinks 2023-03-01 16:58:09.000000000 +1100
695     @@ -9,17 +9,22 @@
696     #see the /etc/systemd/system-preset/49-koozali.preset should be present for systemd integration on all you yum update event
697    
698     foreach my $file (qw(
699     - /etc/php-fpm.d/phpvirtualbox.conf
700     - /opt/phpvirtualbox/config.php
701     + /etc/httpd/conf/httpd.conf
702     + /etc/opt/remi/php74/php-fpm.d/www.conf
703     + /etc/samba/smb.conf
704     + /opt/phpvirtualbox/config.php
705     ))
706     {
707     templates2events( $file, $event );
708     };
709     +#we need to expand /opt/phpvirtualbox/config.php when changing the vboxweb runtime user passwd
710     +templates2events( '/opt/phpvirtualbox/config.php', 'smeserver-virtualbox-update');
711     +
712     #action needed in case we have a systemd unit
713     #event_link('systemd-default', $event, '10');
714     #event_link('systemd-reload', $event, '50');
715     #services we need to restart
716     -#event_services($event, 'vboxdrv' => 'restart', 'vboxweb-service' => 'restart');
717     +event_services($event, 'httpd-e-smith' => 'restart', 'php74-php-fpm' => 'restart', 'smbd' => 'restart');
718    
719     #backup_includes("smeserver-virtualbox", qw(
720     #/home/e-smith/files/users/vbox
721     diff -urN smeserver-phpvirtualbox-5.2.1.old/README.md smeserver-phpvirtualbox-5.2.1/README.md
722     --- smeserver-phpvirtualbox-5.2.1.old/README.md 2015-08-08 21:37:59.000000000 +1000
723     +++ smeserver-phpvirtualbox-5.2.1/README.md 1970-01-01 10:00:00.000000000 +1000
724     @@ -1,2 +0,0 @@
725     -smeserver-phpvirtualbox
726     -=======================
727     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/adminUser smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/adminUser
728     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/adminUser 1970-01-01 10:00:00.000000000 +1000
729     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/adminUser 2023-02-25 16:29:54.000000000 +1100
730     @@ -0,0 +1 @@
731     +admin
732     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/authtype smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/authtype
733     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/authtype 2022-10-17 09:14:35.000000000 +1100
734     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/authtype 2023-02-25 16:29:54.000000000 +1100
735     @@ -1 +1 @@
736     -disabled
737     +WebAuth
738     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/type smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/type
739     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/type 2015-08-08 21:37:59.000000000 +1000
740     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/type 2023-02-25 16:29:54.000000000 +1100
741     @@ -1 +1 @@
742     -service
743     +configuration
744     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/userGroups smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/userGroups
745     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/userGroups 1970-01-01 10:00:00.000000000 +1000
746     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/defaults/phpvirtualbox/userGroups 2023-02-28 17:37:52.000000000 +1100
747     @@ -0,0 +1 @@
748     +vboxusers
749     \ No newline at end of file
750     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/migrate/40phpvirtualbox-change-webauth-to-enabled smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/migrate/40phpvirtualbox-change-webauth-to-enabled
751     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/migrate/40phpvirtualbox-change-webauth-to-enabled 2015-08-08 21:37:59.000000000 +1000
752     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/migrate/40phpvirtualbox-change-webauth-to-enabled 1970-01-01 10:00:00.000000000 +1000
753     @@ -1,8 +0,0 @@
754     -{
755     - my $PVBwebauth = $DB->get_prop('phpvirtualbox', 'webauth') or return;
756     - if ($PVBwebauth eq 'disabled')
757     - {
758     - $DB->set_prop('phpvirtualbox',"webauth", "enabled" );
759     - }
760     -}
761     -
762     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/migrate/phpvirtualbox smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/migrate/phpvirtualbox
763     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/db/configuration/migrate/phpvirtualbox 1970-01-01 10:00:00.000000000 +1000
764     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/db/configuration/migrate/phpvirtualbox 2023-02-25 16:29:54.000000000 +1100
765     @@ -0,0 +1,23 @@
766     +{
767     + my $rec = $DB->get('phpvirtualbox')
768     + || $DB->new_record('phpvirtualbox', {type => 'configuration'});
769     +
770     + # webauth replaced by authType, which can have multiple values
771     + if ($rec->prop('webauth')) {
772     + $rec->set_prop('authType', 'WebAuth');
773     + $rec->del_prop('webauth');
774     + }
775     +
776     + # Group has been replaced with userGroups, which already allowed for multiple groups
777     + if ($rec->prop('Group')) {
778     + $rec->set_prop('userGroups', $rec->prop('Group'));
779     + $rec->del_prop('Group');
780     + }
781     +
782     + # User replaced by Users, because it already allows for multiple users
783     + if ($rec->prop('User')) {
784     + $rec->set_prop('Users', $rec->prop('User'));
785     + $rec->del_prop('User');
786     + }
787     +
788     +}
789     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalUnixGroup smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalUnixGroup
790     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalUnixGroup 1970-01-01 10:00:00.000000000 +1000
791     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35ExternalUnixGroup 2023-03-07 12:10:50.000000000 +1100
792     @@ -0,0 +1 @@
793     +DefineExternalGroup ugroup environment /usr/bin/unixgroup
794     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35-group-auth smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35-group-auth
795     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35-group-auth 2015-08-08 21:37:59.000000000 +1000
796     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35-group-auth 1970-01-01 10:00:00.000000000 +1000
797     @@ -1,5 +0,0 @@
798     -{
799     - $OUT .= " AddExternalGroup ugroup /usr/bin/unixgroup\n";
800     - $OUT .= " SetExternalGroupMethod ugroup environment\n";
801     -}
802     -
803     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/92phpvirtualhost smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/92phpvirtualhost
804     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/92phpvirtualhost 2022-10-18 08:09:34.000000000 +1100
805     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/92phpvirtualhost 2023-03-07 12:09:59.000000000 +1100
806     @@ -6,8 +6,8 @@
807     $OUT = "";
808     my $satisfy = 'all';
809     my $name = $phpvirtualbox{'Name'} || 'phpvirtualbox';
810     - my @phpvuser = split(",", ($phpvirtualbox{'User'} || "") );
811     - my @phpvgroup = split(",", ($phpvirtualbox{'Group'} || "") );
812     + my @phpvboxusers = split(",", ($phpvirtualbox{'Users'} || "") );
813     + my @phpvboxgroups = split(",", ($phpvirtualbox{'userGroups'} || "") );
814     my $alias = ($phpvirtualbox{'URL'} || 'phpvirtualbox');
815    
816     $OUT .= "#------------------------------------------------------------\n";
817     @@ -18,20 +18,23 @@
818     $OUT .= "\n";
819     if ($phpvirtualbox{'authtype'} ne 'disabled') {
820     $OUT .= "<Location /$alias>\n";
821     - if ($phpvirtualbox{'authtype'} eq 'httpd_webauth') {
822     + if ($phpvirtualbox{'authtype'} eq 'WebAuth') {
823     $OUT .= " AuthName \"$name\"\n";
824     - $OUT .= " AuthType Basic\n";
825     - $OUT .= " AuthBasicProvider \n";
826     - $OUT .= " AuthExternal webauth\n";
827     - $OUT .= " GroupExternal ugroup\n";
828     - $OUT .= " Require user admin @phpvuser\n";
829     - $OUT .= " Require group @phpvgroup\n";
830     + $OUT .= " AuthType Basic\n";
831     + $OUT .= " AuthBasicProvider external\n";
832     + $OUT .= " AuthExternal pwauth\n";
833     + $OUT .= " GroupExternal ugroup\n";
834     + $OUT .= " Require user admin @phpvboxusers\n";
835     + $OUT .= " Require external-group @phpvboxgroups\n";
836     } elsif ($phpvirtualbox{'authtype'} eq 'httpd_LDAP') {
837     - $OUT .= " AuthName \"$name\"\n";
838     - $OUT .= " AuthType Basic\n";
839     - $OUT .= " AuthBasicProvider ldap\n";
840     - $OUT .= " Require ldap-user admin @phpvuser\n";
841     - $OUT .= " Require ldap-group cn=@phpvgroup, o=*\n";
842     + $OUT .= " AuthName \"$name\"\n";
843     + $OUT .= " AuthType Basic\n";
844     + $OUT .= " AuthBasicProvider ldap\n";
845     + $OUT .= " AuthLDAPURL = ldap://localhost/0=$smb{'Workgroup'},%uid\n";
846     + $OUT .= " Require ldap-user admin @phpvboxusers\n";
847     + foreach my $group (@phpvboxgroups) {
848     + $OUT .= " Require ldap-group cn=@group, o=*\n";
849     + }
850     }
851     $OUT .= "</Location>\n";
852     $OUT .= "\n";
853     @@ -46,4 +49,3 @@
854     $OUT .= " AddType application/x-httpd-php .php\n";
855     $OUT .= "</Directory>\n";
856     }
857     -
858     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/phpvirtualbox.conf/50phpvirtualbox smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/php-fpm.d/phpvirtualbox.conf/50phpvirtualbox
859     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/phpvirtualbox.conf/50phpvirtualbox 2022-10-12 14:58:16.000000000 +1100
860     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/php-fpm.d/phpvirtualbox.conf/50phpvirtualbox 1970-01-01 10:00:00.000000000 +1000
861     @@ -1,32 +0,0 @@
862     -[php74-phpvirtualbox]
863     -user = www
864     -group = www
865     -listen.owner = root
866     -listen.group = www
867     -listen.mode = 0660
868     -listen = /var/run/php-fpm/php74-phpvirtualbox.sock
869     -pm = dynamic
870     -pm.max_children = 15
871     -pm.start_servers = 3
872     -pm.min_spare_servers = 3
873     -pm.max_spare_servers = 4
874     -pm.max_requests = 1000
875     -slowlog = /var/log/php/phpvirtualbox/slow.log
876     -php_admin_value[session.save_path] = /var/lib/php/php74/phpvirtualbox/session
877     -php_admin_value[opcache.file_cache] = /var/lib/php/php74/phpvirtualbox/opcache
878     -php_admin_value[upload_tmp_dir] = /var/lib/php/php74/phpvirtualbox/tmp
879     -php_admin_value[sys_temp_dir] = /var/lib/php/php74/phpvirtualbox/tmp
880     -php_admin_flag[display_errors] = on
881     -php_admin_flag[log_errors] = on
882     -php_admin_value[error_log] = /var/log/php/phpvirtualbox/error.log
883     -php_admin_value[memory_limit] = 128M
884     -php_admin_value[max_execution_time] = 30
885     -php_admin_value[upload_max_filesize] = 10M
886     -php_admin_value[max_input_time] = 60
887     -php_admin_flag[allow_url_fopen] = 1
888     -php_admin_flag[file_upload] = on
889     -php_admin_flag[session.cookie_httponly] = on
890     -php_admin_flag[allow_url_include] = off
891     -php_admin_value[session.save_handler] = files
892     -php_admin_value[open_basedir] = /opt/phpvirtualbox/:/var/lib/php/php74/phpvirtualbox/:/var/log/php/phpvirtualbox/:/var/run/php-fpm/
893     -php_admin_value[eaccelerator.enable] = 1
894     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpvirtualbox smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpvirtualbox
895     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpvirtualbox 1970-01-01 10:00:00.000000000 +1000
896     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/php-fpm.d/www.conf/15phpvirtualbox 2023-02-25 16:29:54.000000000 +1100
897     @@ -0,0 +1,65 @@
898     +{
899     +
900     + my $phpversion = ($phpvirtulabox{Version} || '74');
901     + if ($PHP_VERSION eq $phpversion) {
902     + if (($phpvirtualbox{'status'} || 'disabled') eq 'enabled') {
903     + my $max_upload_size = ($phpvirtualbox{MaxUploadSize} || '4096');
904     + $max_upload_size .= 'M' if ($max_upload_size =~ m/^\d+$/);
905     + my $memory_limit = ($phpvirtualbox{MemoryLimit} || '500M');
906     + $memory_limit .= 'M' if ($memory_limit =~ m/^\d+$/);
907     + my $open_basedir= $phpvirtualbox{PHPBaseDir} || '';
908     + my $id = 'phpvirtualbox';
909     + $open_basedir = "/opt/phpvirtualbox/:/var/log/php/$id/:/var/lib/php/$id/:$open_basedir";
910     + my $max_children = $phpvirtualbox{'PHPmaxChildren'} || 20;
911     + my $min_spare_servers = $phpvirtualbox{'PHPminServers'} || 4;
912     + my $start_servers = $phpvirtualbox{'PHPstartServers'} || 6;
913     + my $max_spare_servers = $phpvirtualbox{'PHPmaxServers'} || 8;
914     + my $max_requests = $phpvirtualbox{'PHPmaxRequests'} || 1000;
915     + $min_spare_servers = ( $min_spare_servers > $max_spare_servers ) ? printf("%.0f",$max_spare_servers/2) : $min_spare_servers;
916     + $start_servers = ( $start_servers > $max_spare_servers ) ? printf("%.0f", $max_spare_servers /2 + $min_spare_servers/2 ) : $start_servers;
917     +
918     + $OUT .=<<_EOF;
919     +
920     +[php$PHP_VERSION-$id]
921     +user = www
922     +group = www
923     +listen.owner = root
924     +listen.group = www
925     +listen.mode = 0660
926     +listen = /var/run/php-fpm/php$PHP_VERSION-$id.sock
927     +pm = dynamic
928     +pm.max_children = $max_children
929     +pm.start_servers = $start_servers
930     +pm.min_spare_servers = $min_spare_servers
931     +pm.max_spare_servers = $max_spare_servers
932     +pm.max_requests = $max_requests
933     +php_admin_value[session.save_path] = /var/lib/php/$id/session
934     +php_admin_value[session.gc_maxlifetime] = 86400
935     +php_admin_value[opcache.file_cache] = /var/lib/php/$id/opcache
936     +php_admin_value[upload_tmp_dir] = /var/lib/php/$id/tmp
937     +php_admin_value[error_log] = /var/log/php/$id/error.log
938     +slowlog = /var/log/php/$id/slow.log
939     +php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f php@{ $DomainName }
940     +php_admin_flag[display_errors] = off
941     +php_admin_flag[log_errors] = on
942     +php_admin_value[memory_limit] = $memory_limit
943     +php_admin_value[max_execution_time] = 3600
944     +php_admin_value[post_max_size] = $max_upload_size
945     +php_admin_value[upload_max_filesize] = $max_upload_size
946     +php_admin_value[disable_functions] = system, show_source, symlink, dl, passthru, phpinfo, escapeshellarg, escapeshellcmd
947     +php_admin_value[open_basedir] = $open_basedir
948     +php_admin_flag[allow_url_fopen] = on
949     +php_admin_flag[file_uploads] = on
950     +php_admin_flag[session.cookie_httponly] = on
951     +php_admin_flag[allow_url_include] = off
952     +php_admin_value[session.save_handler] = files
953     +php_admin_flag[output_buffering] = off
954     +php_admin_flag[eaccelerator.enable] = on
955     +
956     +_EOF
957     +
958     + } else {
959     + $OUT .= '; phpvirtualbox is disabled';
960     + }
961     + }
962     +}
963     \ No newline at end of file
964     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/smb.conf/60phpvirtualbox smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/smb.conf/60phpvirtualbox
965     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/etc/smb.conf/60phpvirtualbox 1970-01-01 10:00:00.000000000 +1000
966     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/etc/smb.conf/60phpvirtualbox 2023-03-07 13:11:47.000000000 +1100
967     @@ -0,0 +1,33 @@
968     +{
969     + my $validusers = '';
970     + if ($phpvirtualbox{'adminUser'} || $phpvirtualbox{'userGroups'}) {
971     + if ($phpvirtualbox{'adminUser'}) {
972     + $validusers = "$phpvirtualbox{'adminUser'}";
973     + if ($phpvirtualbox{'userGroups'}) {
974     + $validusers .= ",+$phpvirtualbox{'userGroups'}";
975     + }
976     + } else {
977     + if ($phpvirtualbox{'userGroups'}) {
978     + $validusers = "+$phpvirtualbox{'userGroups'}";
979     + }
980     + }
981     + }
982     +
983     + $OUT .=<<_VBOX;
984     +
985     +[virtualbox]
986     +comment = virtualbox ISO directory
987     +path = /opt/vbox/ISOs
988     +read only = no
989     +writable = yes
990     +printable = no
991     +inherit permissions = yes
992     +create mode = 0640
993     +
994     +_VBOX
995     +
996     + if ($validusers) {
997     + $OUT .= "valid users = $validusers\n";
998     + }
999     +
1000     +}
1001     \ No newline at end of file
1002     diff -urN smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/opt/phpvirtualbox/config.php/config.php smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/opt/phpvirtualbox/config.php/config.php
1003     --- smeserver-phpvirtualbox-5.2.1.old/root/etc/e-smith/templates/opt/phpvirtualbox/config.php/config.php 2023-03-07 16:07:55.309653000 +1100
1004     +++ smeserver-phpvirtualbox-5.2.1/root/etc/e-smith/templates/opt/phpvirtualbox/config.php/config.php 2023-03-07 12:07:39.000000000 +1100
1005     @@ -1,38 +1,90 @@
1006     {
1007     +# domain stuff
1008     + my $baseDN = esmith::util::ldapBase($DomainName);
1009     + my $workgroup = $smb{'Workgroup'};
1010     +# vboxweb parameters
1011     + my $username = (${'vboxweb-service'}{'user'} || 'vbox');
1012     + my $password = ${'vboxweb-service'}{'password'};
1013     + my $location = ("http://${'vboxweb-service'}{'access'}:${'vboxweb-service'}{'TCPPort'}/" || "http://127.0.0.1:18083/");
1014     +# phpvirtualbox parameters for users
1015     + my $adminUser = ($phpvirtualbox{'adminUser'} || 'admin');
1016     + my $adminGroup = ($phpvirtualbox{'adminGroup'} || 'admin');
1017     + my $userGroups = $phpvirtualbox{'userGroups'};
1018     +# phpvirtualbox config parameters
1019     + my $language = ($phpvirtualbox{'language'} || 'en');
1020     + my $vrdeports = ($phpvirtualbox{'vrdeports'} || '19000-19100');
1021     + my $maxProgressList = ($phpvirtualbox{'maxProgressList'} || 5);
1022     + my $deleteOnRemove = ($phpvirtualbox{'deleteOnRemove'} || true);
1023     + my $browserRestrictFiles = ($phpvirtualbox{'browserRestrictFiles'} || "'.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd'");
1024     + my $browserRestrictFolders = ($phpvirtualbox{'browserRestrictFolders'} || "'/opt/vbox/ISOs','/opt/vbox/VMs'");
1025     + my $hostMemInfoRefreshInterval = ($phpvirtualbox{'hostMemInfoRefreshInterval'} || 5);
1026     + my $consoleResolutions = ($phpvirtualbox{'consoleResolutions'} || "'640x480','800x600','1024x768','1280x720','1440x900'");
1027     + my $consoleKeyboardLayout = ($phpvirtualbox{'consoleKeyboardLayout'} || 'EN');
1028     + my $nicMax = ($phpvirtualbox{'nicMax'} || 4);
1029     +# working
1030     + my @phpvboxusers = split(",", ($phpvirtualbox{'Users'} || "") );
1031     + my @phpvboxgroups = split(",", ($phpvirtualbox{'userGroups'} || "") );
1032    
1033     $OUT .=<<_PARMS;
1034     -
1035     +
1036     class phpVBoxConfig {
1037     -var \$username = 'vbox';
1038     -var \$location = 'http://127.0.0.1:18083/';
1039     -var \$language = 'en';
1040     -var \$vrdeports = '9000-9100';
1041     -var \$maxProgressList = 5;
1042     -var \$deleteOnRemove = true;
1043     -var \$browserRestrictFiles = array('.iso','.vdi','.vmdk','.img','.bin','.vhd','.hdd','.ovf','.ova','.xml','.vbox','.cdr','.dmg','.ima','.dsk','.vfd');
1044     -var \$hostMemInfoRefreshInterval = 5;
1045     -var \$consoleResolutions = array('640x480','800x600','1024x768','1280x720','1440x900');
1046     -var \$consoleKeyboardLayout = 'EN';
1047     -var \$nicMax = 4;
1048     +# default paramaters
1049     +var \$username = '$username';
1050     +var \$password = '$password';
1051     +var \$location = '$location';
1052     +var \$language = '$language';
1053     +var \$vrdeports = '$vrdeports';
1054     +var \$maxProgressList = $maxProgressList;
1055     +var \$deleteOnRemove = $deleteOnRemove;
1056     +var \$browserRestrictFiles = array($browserRestrictFiles);
1057     +var \$browserRestrictFolders = array($browserRestrictFolders);
1058     +var \$hostMemInfoRefreshInterval = $hostMemInfoRefreshInterval;
1059     +var \$consoleResolutions = array($consoleResolutions);
1060     +var \$consoleKeyboardLayout = '$consoleKeyboardLayout';
1061     +var \$nicMax = $nicMax;
1062     +
1063     +# authentication parameters
1064     _PARMS
1065    
1066     - my $authtype = $phpvirtualbox{'authtype'} || 'disabled';
1067     - if ($authtype eq 'webauth') {
1068     - $OUT .= "var \$authLib = 'WebAuth';\n";
1069     - $OUT .= "var \$authConfig = array('adminUser' => 'admin');\n";
1070     - } elsif ($authtype eq 'Builtin') {
1071     +# authentication stuff
1072     + my $authtype = ($phpvirtualbox{'authType'} || 'WebAuth');
1073     + if ($authtype eq 'Builtin') {
1074     $OUT .= "var \$authLib = 'Builtin';\n";
1075     + } elsif ($authtype eq 'WebAuth') {
1076     + $OUT .= "var \$authLib = 'WebAuth';\n";
1077     + $OUT .= "var \$authConfig = array('adminUser' => '$adminUser');\n";
1078     } elsif ($authtype eq 'LDAP') {
1079     $OUT .= "var \$authLib = 'LDAP';\n";
1080     $OUT .= "var \$authConfig = array(\n";
1081     - $OUT .= " 'host' => '127.0.0.1',\n";
1082     - $OUT .= " 'bind_dn' => 'uid=%s, ou=Users, dc=mycompany, dc=local',\n";
1083     - $OUT .= " 'adminUser' => 'admin');\n";
1084     + $OUT .= " 'host' => '127.0.0.1',\n";
1085     + $OUT .= " 'bind_dn' => 'uid=%s, ou=Users, $baseDN',\n";
1086     + $OUT .= " 'adminUser' => $adminUser);\n";
1087     + } elsif ($authtype eq 'AD' && $workgroup ) {
1088     + $OUT .= "var \$authLib = 'ActiveDirectory';\n";
1089     + $OUT .= "var \$authConfig = array(\n";
1090     + $OUT .= " 'host' => '127.0.0.1',\n";
1091     + $OUT .= " 'domain' => '$workgroup',\n";
1092     + $OUT .= " 'admin_group' => '$adminGroup'";
1093     + if ($userGroups) {
1094     + foreach my $group (@phpvboxgroups) {
1095     + $OUT .= ",\n";
1096     + $OUT .= " 'user_group' => '$group'";
1097     + }
1098     + };
1099     + $OUT .= ");\n";
1100     } else {
1101     $OUT .= "var \$noAuth=true;\n";
1102     }
1103     -
1104     +
1105     +# allow inclusion of any generic parameter stored in config db for phpvirtualbox
1106     + $OUT .= "# additional parameters defined in configuration DB\n";
1107     + my @stdparms = qw(type status Name Users userGroups adminUser adminGroup authtype language vrdeports maxProgressList deleteOnRemove browserRestrictFiles browserRestrictFolders consolresolutions hostMemInfoRefreshInterval consoleKeyboardLayout nicMax);
1108     + while (my ($param, $value) = each (%phpvirtualbox)) {
1109     + next if ( $param ~~ @stdparms );
1110     + $OUT .= "var \$$param = $value;\n";
1111     + }
1112     +
1113     $OUT .= "}\n";
1114     -
1115     +
1116     }
1117    

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed