From 4d143a42fe1314efc0348d83e9680eadf4c218cd Mon Sep 17 00:00:00 2001 From: Brian Read Date: Wed, 12 Jul 2023 09:00:21 +0100 Subject: [PATCH] initial commit of file from CVS for e-smith-ntp on Wed 12 Jul 09:00:21 BST 2023 --- .gitignore | 4 + Makefile | 21 + README.md | 18 +- additional/COPYING | 340 +++++++ additional/e-smith-ntp.spec | 665 ++++++++++++++ contriborbase | 1 + createlinks | 78 ++ e-smith-ntp.spec | 829 ++++++++++++++++++ .../db/configuration/defaults/ntpd/NTPServer | 1 + .../defaults/ntpd/SyncToHWClockSupported | 1 + .../db/configuration/defaults/ntpd/status | 1 + .../db/configuration/defaults/ntpd/type | 1 + .../migrate/30NTPRunDisconnected | 7 + .../e-smith/db/configuration/migrate/30pool | 8 + root/etc/e-smith/events/actions/conf-timezone | 66 ++ root/etc/e-smith/events/actions/set-time-date | 4 + .../en-us/etc/e-smith/web/functions/datetime | 239 +++++ .../templates/etc/logrotate.d/ntpd/10All | 8 + .../templates/etc/ntp.conf/00timeServer | 19 + .../templates/etc/ntp.conf/10localhost | 9 + .../templates/etc/ntp.conf/30driftfile | 3 + .../e-smith/templates/etc/ntp.conf/40noquery | 2 + .../templates/etc/ntp.conf/41allowLocalHost | 1 + .../etc/ntp/step-tickers/00timeServer | 19 + .../etc/ntp/step-tickers/template-begin | 0 .../e-smith/templates/etc/rsyslog.conf/32ntp | 4 + .../templates/etc/sysconfig/clock/30clock | 5 + .../templates/etc/sysconfig/clock/40UTC | 3 + .../templates/etc/sysconfig/clock/50ARC | 3 + .../49-koozali.preset/80-koozali-ntp.preset | 4 + .../ntpd.service.d/50koozali.conf/40service | 20 + .../ntpd.service.d/50koozali.conf/80install | 2 + root/etc/e-smith/web/functions/datetime | 47 + root/sbin/e-smith/systemd/initializedate | 25 + root/usr/lib/perl5/.gitignore | 0 .../systemd/system/ntpd.service.d/.gitignore | 0 .../esmith/FormMagick/Panel/datetime.pm | 774 ++++++++++++++++ 37 files changed, 3230 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 additional/COPYING create mode 100644 additional/e-smith-ntp.spec create mode 100644 contriborbase create mode 100755 createlinks create mode 100644 e-smith-ntp.spec create mode 100644 root/etc/e-smith/db/configuration/defaults/ntpd/NTPServer create mode 100644 root/etc/e-smith/db/configuration/defaults/ntpd/SyncToHWClockSupported create mode 100644 root/etc/e-smith/db/configuration/defaults/ntpd/status create mode 100644 root/etc/e-smith/db/configuration/defaults/ntpd/type create mode 100644 root/etc/e-smith/db/configuration/migrate/30NTPRunDisconnected create mode 100644 root/etc/e-smith/db/configuration/migrate/30pool create mode 100644 root/etc/e-smith/events/actions/conf-timezone create mode 100644 root/etc/e-smith/events/actions/set-time-date create mode 100644 root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/datetime create mode 100644 root/etc/e-smith/templates/etc/logrotate.d/ntpd/10All create mode 100644 root/etc/e-smith/templates/etc/ntp.conf/00timeServer create mode 100755 root/etc/e-smith/templates/etc/ntp.conf/10localhost create mode 100644 root/etc/e-smith/templates/etc/ntp.conf/30driftfile create mode 100644 root/etc/e-smith/templates/etc/ntp.conf/40noquery create mode 100644 root/etc/e-smith/templates/etc/ntp.conf/41allowLocalHost create mode 100644 root/etc/e-smith/templates/etc/ntp/step-tickers/00timeServer create mode 100644 root/etc/e-smith/templates/etc/ntp/step-tickers/template-begin create mode 100644 root/etc/e-smith/templates/etc/rsyslog.conf/32ntp create mode 100644 root/etc/e-smith/templates/etc/sysconfig/clock/30clock create mode 100644 root/etc/e-smith/templates/etc/sysconfig/clock/40UTC create mode 100644 root/etc/e-smith/templates/etc/sysconfig/clock/50ARC create mode 100644 root/etc/e-smith/templates/etc/systemd/system-preset/49-koozali.preset/80-koozali-ntp.preset create mode 100644 root/etc/e-smith/templates/usr/lib/systemd/system/ntpd.service.d/50koozali.conf/40service create mode 100644 root/etc/e-smith/templates/usr/lib/systemd/system/ntpd.service.d/50koozali.conf/80install create mode 100644 root/etc/e-smith/web/functions/datetime create mode 100644 root/sbin/e-smith/systemd/initializedate create mode 100644 root/usr/lib/perl5/.gitignore create mode 100644 root/usr/lib/systemd/system/ntpd.service.d/.gitignore create mode 100644 root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/datetime.pm diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e594810 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.rpm +*.log +*spec-20* +*.tar.xz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5b259ff --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: e-smith-ntp +# $Id: Makefile,v 1.1 2016/02/05 22:20:33 stephdl Exp $ +NAME := e-smith-ntp +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/README.md b/README.md index 7c2ba89..dfa3226 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,17 @@ -# e-smith-ntp +# e-smith-ntp -SMEServer Koozali developed git repo for e-smith-ntp smeserver \ No newline at end of file +SMEServer Koozali developed git repo for e-smith-ntp smeserver + +## Wiki +
https://wiki.koozali.org/ + +## Bugzilla +Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=e-smith-ntp&product=SME%20Server%2010.X&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED) + +## Description + +
*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.* +*Once it has been checked, then this comment will be deleted* +
+ +e-Smith-NTP is an open source software package designed to assist network administrators with the task of synchronizing computers on a network with an accurate time source. It is a secure, reliable, and highly accurate time server software package that is designed to work with virtually any computer system. In addition to providing an accurate time source, e-Smith-NTP also offers a range of features such as secure authentication of user accounts, and the ability to configure the time synchronization settings to suit individual requirements. e-Smith-NTP is a highly secure and reliable software package that is ideal for any business or organization that is looking for a reliable and accurate time source for their network. diff --git a/additional/COPYING b/additional/COPYING new file mode 100644 index 0000000..eeb586b --- /dev/null +++ b/additional/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey 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) 19yy + + 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 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/additional/e-smith-ntp.spec b/additional/e-smith-ntp.spec new file mode 100644 index 0000000..5f429fd --- /dev/null +++ b/additional/e-smith-ntp.spec @@ -0,0 +1,665 @@ +Summary: e-smith specific NTP configuration files and templates +%define name e-smith-ntp +Name: %{name} +%define version 1.15.2 +%define release 01 +Version: %{version} +Release: %{release} +License: GPL +Group: Networking/Daemons +Source: %{name}-%{version}.tar.gz +Packager: e-smith developers +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildArchitectures: noarch +BuildRequires: e-smith-devtools >= 1.13.1-03 +Requires: e-smith-base +Requires: ntp +Requires: e-smith-lib >= 1.15.1-19 +AutoReqProv: no + +%changelog +* Fri Oct 14 2005 Gordon Rowell +- [1.15.2-01] +- Remove L10Ns from base packages [SF: 1309520] + +* Fri Oct 14 2005 Gordon Rowell +- [1.15.1-01] +- New dev stream before relocating L10Ns + +* Fri Sep 30 2005 Gordon Rowell +- [1.15.0-14] +- Added Italian L10N - Thanks Filippo Carletti [SF: 1309266] + +* Mon Sep 26 2005 Gordon Rowell +- [1.15.0-13] +- Added German L10N - Thanks Dietmar Berteld [SF: 1293325] + +* Wed Aug 31 2005 Charlie Brady +- [1.15.0-12] +- Enforce minimum value of content of env/MEMLIMIT file. [SF: 1270649] + +* Tue Aug 23 2005 Charlie Brady +- [1.15.0-11] +- Fix update of /etc/localtime symlink after update via panel. [SF: 1264801] + +* Wed Aug 17 2005 Charlie Brady +- [1.15.0-10] +- Remove /etc/ntp.conf in %pre script, to work around + problems with update of ntpd RPM. Add conditional expand-template + to run script to be sure that file is regenerated before we need + it. [SF: 1237968] + +* Fri Aug 12 2005 Charlie Brady +- [1.15.0-09] +- Open config db r/w to allow property update. [SF: 1216546] + +* Tue Jul 19 2005 Charlie Brady +- [1.15.0-08] +- Update to current db access APIs. [SF: 1216546] + +* Thu Jun 23 2005 Charlie Brady +- [1.15.0-07] +- Increase MemLimit setting to 6MB (for CentOS4 build). [SF: 1225925] +- Remove obsolete "authenticate" directive from ntpd.conf. [SF: 1225925] + +* Thu Jun 16 2005 Charlie Brady +- [1.15.0-06] +- Ensure that 'status' property is recognised at startup. [MN00061795] + +* Thu Mar 31 2005 Charlie Brady +- [1.15.0-05] +- Add default fragment for MemLimit property of ntp service. + [MN00064130] + +* Thu Mar 31 2005 Charlie Brady +- [1.15.0-04] +- Remove explicity call of generic_template_expand - it's now + implicit. [MN00064130] + +* Tue Mar 8 2005 Charlie Brady +- [1.15.0-03] +- Fix template expansion of /etc/ntp/step-tickers and ./env/MEMLIMIT + [MN00064130] +- Use generic service adjust action for reload/restart. [MN00065576] + +* Tue Jan 25 2005 Charlie Brady +- [1.15.0-02] +- Combine set-date and set-clock, and use a shell script rather than + perl. [MN00064941] +- Use generic_template_expand action where possible, in place + of specific actions. Update e-smith-lib dependency. [MN00064130] + +* Tue Jan 25 2005 Charlie Brady +- [1.15.0-01] +- Changing version to development stream number - 1.15.0 + +* Thu Nov 11 2004 Michael Soulier +- [1.14.0-02] +- Patched stderr "leaking" from ntpdate call. [msoulier MN00056927] + +* Wed Nov 3 2004 Charlie Brady +- [1.14.0-01] +- Changing version to stable stream number - 1.14.0 + +* Tue Oct 19 2004 Gordon Rowell +- [1.13.0-21] +- pool.ntp.org now uses 0, 1, 2 prefixes rather than relying on + short DNS TTLs. So, we need to add the prefixes if we are talking + with pool.ntp.org or {region}.pool.ntp.org and revert to listing + "normal" NTP servers once [gordonr MN00053174] + +* Mon Oct 18 2004 Gordon Rowell +- [1.13.0-20] +- List the ntp server three times, for DNS round-robin servers, + such as pool.ntp.org, {region}.pool.ntp.org and time.nrc.ca +- [gordonr MN00053174] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-19] +- Convert ntp.conf/10localhost template fragment from DOS text format + [charlieb MN00050805] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-18] +- Convert ntp.conf/30other template fragment from DOS text format + [charlieb MN00050805] +- Don't create pid file, and remove one if we find an old one. + [charlieb MN00050806] +- ntpdate should log to standard output, not to syslog. [charlieb MN00049205] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-17] +- Need to create empty /service/ntpd/env directory for template to be + expanded into. [charlieb MN00050192] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-16] +- Increase memory limit for running ntpd. While we are at it, + we'll make the value templated, and update code in conf-ntpd + to modern standards. [charlieb MN00050192] + +* Tue Sep 28 2004 Michael Soulier +- [1.13.0-15] +- Fixed logging to go to stdout. [msoulier MN00049205] + +* Fri Sep 3 2004 Charlie Brady +- [1.13.0-14] +- Clean BuildRequires. [charlieb MN00043055] + +* Wed May 5 2004 Michael Soulier +- [1.13.0-13] +- Fixed a logic error from last change. [msoulier MN00027900] + +* Wed May 5 2004 Michael Soulier +- [1.13.0-12] +- Added localhost as a stratum 10 server. [msoulier MN00027900] + +* Wed Jan 28 2004 Michael Soulier +- [1.13.0-11] +- Added ntpdate call to run script. [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-10] +- Raised the softlimit for ntpd. libc is big. :) [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-09] +- Moved proxy-start/stop to e-smith-proxy where they belong. [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-08] +- Fixed missing directives to genfilelist. [msoulier 10586] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-07] +- Fixed a typo in createlinks. The new ntpd initscript must not conflict with + the one in the ntpd package. [msoulier 10586] + +* Wed Jan 21 2004 Michael Soulier +- [1.13.0-06] +- Removing old symlink creation and moving to createlinks. [msoulier 10586] + +* Wed Jan 21 2004 Michael Soulier +- [1.13.0-05] +- Adding supervision of ntpd. [msoulier 10586] + +* Fri Nov 7 2003 Gordon Rowell +- [1.13.0-04] +- Enable ntpd by default [gordonr 10566] + +* Fri Nov 7 2003 Gordon Rowell +- [1.13.0-03] +- Default time server to pool.ntp.org [gordonr 10566] + +* Tue Jul 22 2003 Charlie Brady +- [1.13.0-02] +- Remove deprecated -startup script, and add default db + fragments [charlieb 9553] +- s/Copyright/License/ + +* Tue Jul 8 2003 Charlie Brady +- [1.13.0-01] +- Changing version to development stream number - 1.13.0 + +* Thu Jun 26 2003 Charlie Brady +- [1.12.0-01] +- Changing version to stable stream number - 1.12.0 + +* Fri May 9 2003 Tony Clayton +- [1.11.0-22] +- Fix save button justification [tonyc 1588] + +* Tue May 6 2003 Lijie Deng +- [1.11.0-21] +- Add Spanish lexicon for datetime panel [lijied 3793] + +* Thu May 1 2003 Tony Clayton +- [1.11.0-20] +- Background the timeserver-update event in panel [tonyc 1588] + +* Wed Apr 30 2003 Tony Clayton +- [1.11.0-19] +- Fix datetime panel when ntp stays disabled [tonyc 1588] +- Show date when ntp is enabled [tonyc 1588] + +* Thu Apr 17 2003 Gordon Rowell +- [1.11.0-18] +- Start ntp after external network is (possibly) up [gordonr 8391] + +* Thu Apr 10 2003 Lijie Deng +- [1.11.0-17] +- Change $q->table back [lijied 8034] + +* Wed Apr 9 2003 Lijie Deng +- [1.11.0-16] +- Added French trans for "Set Date and Time" [lijied 7949] + +* Fri Apr 4 2003 Lijie Deng +- [1.11.0-15] +- Changed $q->table to $->start_table where necessary [lijied 8034] + +* Thu Apr 3 2003 Lijie Deng +- [1.11.0-14] +- Removed en-us and fr 'Mitel Networks SME Server' branding [lijied 8016] + +* Tue Apr 1 2003 Tony Clayton +- [1.11.0-13] +- Fix datetime to loop back to Initial page w/ status report [tonyc 1588] +- Fix link to Verify page [tonyc 1588] + +* Tue Apr 1 2003 Tony Clayton +- [1.11.0-12] +- Add container table to fix IE 6 handling of table-layout: fixed [tonyc 1588] +- Remove redundant newlines from some print statements [tonyc 1588] + +* Fri Mar 28 2003 Tony Clayton +- [1.11.0-11] +- Update fr l10n strings [tonyc 1588] + +* Thu Mar 27 2003 Lijie Deng +- [1.11.0-10] +- Major refactoring and cleanup of datetime.pm [tonyc 1588] +- Expand tabs to spaces in datetime.pm [tonyc 1588] +- Add radio buttons and don't allow setting date manually when ntp is enabled + [tonyc 1588] +- Modified French lexicon to use lang="fr", rename the lexicon + directory to fr [lijied 6787] + +* Mon Mar 17 2003 Lijie Deng +- [1.11.0-09] +- Deleted inappropriate template-begin file + deleted empty template-end files [lijied 3295] + +* Thu Mar 6 2003 Lijie Deng +- [1.11.0-08] +- Modified datetime panel order [lijied 7356] + +* Tue Mar 4 2003 Lijie Deng +- [1.11.0-07] +- Split en-us lexicon from datetime panel [lijied 4030] + +* Mon Mar 3 2003 Lijie Deng +- [1.11.0-06] +- Add French lexicon for datetime [lijied 5003] + +* Thu Jan 16 2003 Mark Knox +- [1.11.0-05] +- Use new gen_locale_date_string routine [markk 3357] + +* Fri Dec 27 2002 Mike Dickson +- [1.11.0-04] +- updated the datetime panel to use css [miked 5494] + +* Tue Dec 10 2002 Mike Dickson +- [1.11.0-03] +- ui update [miked 5494] + +* Thu Nov 21 2002 Mike Dickson +- [1.11.0-02] +- update to new UI system [miked 5494] + +* Wed Nov 20 2002 Mike Dickson +- [1.11.0-01] +- Changing to development stream; version upped to 1.11.0 + +* Fri Oct 11 2002 Charlie Brady +- [1.10.0-01] +- Rolling stable version number to 1.10.0 + +* Fri Aug 23 2002 Mark Knox +- [1.9.4-01] +- Fixed duplicate English-only footers in panel [markk 3615] + +* Mon Aug 19 2002 Charlie Brady +- [1.9.3-01] +- Remove masq script update and restart symlinks. They are no longer + needed not that we have connection tracking enabled. [charlieb 4501] +- Add rc7.d symlink, and don't set obsolete InitscriptsOrder property + [charlieb 4458] + +* Thu Aug 8 2002 Charlie Brady +- [1.9.2-01] +- Remove NTP masq template fragment. We no longer need it, as netfilter + connection tracking allows NTP replies. [charlieb 4499] + +* Wed Jul 17 2002 Charlie Brady +- [1.9.1-01] +- Change masq script fragment to use iptables. [charlieb 1268] + +* Wed Jun 5 2002 Charlie Brady +- [1.9.0-01] +- Changing version to development stream number - 1.9.0 + +* Fri May 31 2002 Charlie Brady +- [1.8.0-01] +- Changing version to maintained stream number to 1.8.0 + +* Thu May 23 2002 Gordon Rowell +- [1.7.5-01] +- RPM rebuild forced by cvsroot2rpm + +* Wed May 8 2002 Mark Knox +- [1.7.4-01] +- Subst -> in lexicon [markk 3309] + +* Tue May 7 2002 Gordon Rowell +- [1.7.3-01] +- Localised "Network Time Server" heading [markk 3311] +- Localised date display [markk 3311] +- Added nav bar entry [gordonr 3155] + +* Mon Apr 15 2002 Mark Knox +- [1.7.2-01] +- Moved all code into module datetime.pm [markk 3159] +- Converted to FormMagick panel and internationalized [markk 3159] +- Added POD and testsuite [markk 3159] + +* Fri Apr 5 2002 Kirrily Robert +- [1.7.1-01] +- Testing CVS import + +* Fri Apr 5 2002 Kirrily Robert +- [1.7.0-01] +- rollRPM: Rolled version number to 1.7.0-01. Includes patches up to 1.6.0-01. + +* Tue Dec 11 2001 Jason Miller +- [1.6.0-01] +- rollRPM: Rolled version number to 1.6.0-01. Includes patches up to 1.5.0-02. + +* Tue Nov 06 2001 Charlie Brady +- [1.5.0-02] +- Initialise TimeZone db setting from /etc/sysconfig/clock if not set +- Branding changes in web panel. + +* Tue Nov 6 2001 Charlie Brady +- [1.5.0-01] +- Rolled version number to 1.5.0-01. Includes patches upto 1.4.0-03. + +* Tue Aug 28 2001 Gordon Rowell +- [1.4.0-03] +- Removed deprecated post-restore event directory + +* Fri Aug 17 2001 gordonr +- [1.4.0-02] +- Autorebuild by rebuildRPM + +* Wed Aug 8 2001 Charlie Brady +- [1.4.0-01] +- Rolled version number to 1.4.0-01. Includes patches upto 1.3.0-06. + +* Thu Aug 02 2001 Gordon Rowell +- [1.3.0-06] +- More branding changes + +* Sun Jul 29 2001 Jason Miller +- [1.3.0-05] +- Branding text changes to the datetime web panel + +* Tue Jul 17 2001 Jason Miller +- [1.3.0-04] +- Patch to datetime panel to fix mismatched section headers + +* Tue May 29 2001 Tony Clayton +- [1.3.0-03] +- fixed actions that had tied %conf when calling serviceControl (4 actions) + +* Wed Apr 11 2001 Adrian Chung +- [1.3.0-02] +- changing h4 tags to paragraph bold tags. + +* Wed Apr 11 2001 Adrian Chung +- [1.3.0-01] +- Rolled version number to 1.3.0-01. Includes patches upto 1.2.0-13. + +* Fri Feb 23 2001 Paul Nesbit +- [1.2.0-13] +- Fixed conf-timezone to properly handle timezone after restore + +* Mon Feb 12 2001 Adrian Chung +- Roll release number for GPG signing. + +* Mon Feb 12 2001 Charlie Brady +- [1.2.0-12] +- Expand ntp.conf always, even when ntpd is disabled. Otherwise ntpd + refuses to shut down. + +* Fri Feb 9 2001 Adrian Chung +- Added restart-crond to timezone-update event. + +* Thu Feb 8 2001 Adrian Chung +- Rolling release number for GPG signing. + +* Wed Feb 07 2001 Charlie Brady +- [1.2.0-08] +- Add some missing event symlinks + +* Sun Feb 04 2001 Gordon Rowell +- [1.2.0-07] +- Loop through all addresses in case NTPServer refers to multiple IPs + +* Fri Feb 02 2001 Gordon Rowell +- [1.2.0-06] +- Build ip masq rule with IP address of NTP server + +* Tue Jan 30 2001 Jason Miller +- [1.2.0-05] +- Updated datetime panel to run the timeserver-update + event (added rules to make sure that updates to the + configuration database aren't affected UnsavedChanges flag). + +* Tue Jan 30 2001 Jason Miller +- [1.2.0-04] +- Added a comment in the ipchains rules +- Added symlinks for the conf-masq and restart-masq actions + to be run as part of timeserver-update event (thereby + expanding the /etc/rc.d/init.d/masq template). + +* Sat Jan 27 2001 Charlie Brady +- [1.2.0-03] +- Change ref to %conf => %services in masq template fragment + +* Thu Jan 25 2001 Peter Samuel +- [1.2.0-02] +- Fix perl syntax error in masq template fragment +- Save/restore unsavedchanges flag around timezone change. + +* Thu Jan 25 2001 Peter Samuel +- [1.2.0-01] +- Rolled version number to 1.2.0-01. Includes patches upto 1.1.0-28. + +* Wed Jan 24 2001 Charlie Brady +- [1.1.0-28] +- Remove restart-ntp from post-upgrade action +- Remove post-restore event +- Tighten up NTP packet filter rule. +- Remove conf-ntpd from ip-change event +- Remove duplication of timezone migration code - it is in base as well. + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-27] +- Changed conf-timezone action so that during an upgrade + it will preserve the existing symlink for /etc/localtime + and use that value to set the configuration database + value for TimeZone + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-26] +- removed the signal event for datetime-set in the datetime + web panel + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-25] +- combined the timezone-update and datetime-set events + into a single event (and might combine the action scripts + as well) + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-24] +- added new service control mechanism to not background + the proxy-stop action to shutdown squid + +* Tue Jan 23 2001 Jason Miller +- moved all date and time settings into a new event/action + sequence (datetime-set) which then calls the proxy-stop, + set-date, set-clock, proxy-start and removed the previous + system calls from the web manager form +- removed the squid stop/start actions from conf-timezone + action + +* Mon Jan 22 2001 Jason Miller +- Updated createlinks to have update-timezone and + update-timeserver events link in the action restart-syslog + to improve on the strange log times recorded otherwise + +* Mon Jan 22 2001 Jason Miller +- Added service control to stop the proxy server (squid) + from running prior to changing the timezone information + in conf-timezone, then starting it again after the change + to remove squid hangups on shutdown + +* Mon Jan 22 2001 Gordon Rowell +- Added NTP fragment to packet filter - Thanks Bernd Leibing + +* Tue Jan 16 2001 Jason Miller +- Removed the %postun section which was deleting ntpd + configuration values after uninstalling e-smith-ntp + (which occurs in an upgrade) and the %post section + which expanded the templates for ntpd without checking + the status (now done properly in the actions) + +* Tue Jan 16 2001 Jason Miller +- Fixed the /etc/ntp.conf template expansion to pull + the NTPServer value from the ntpd service configuration + settings + +* Tue Jan 16 2001 Jason Miller +- Changed the order of system time setting: +- Set timezone first, then clock settings + +* Fri Jan 12 2001 Jason Miller +- Merged the conf-clock and reset-link into a single + action script of conf-timezone +- Removed symlinks to post-upgrade and update-timezone +- Added symlink for conf-timezone to update-timezone +- Added symlink for conf-timezone to bootstrap-console-save + (instead of post-upgrade) + +* Fri Jan 12 2001 Jason Miller +- Added reset-link and conf-clock to the post-upgrade + event + +* Fri Jan 12 2001 Gordon Rowell +- Added conf-ntpd-startup + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-13] +- remove extra signal events based on what time setting + choice gets made + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-12] +- updated datetime panel to take into account the new + action scripts called by timezone-update event + +* Thu Jan 11 2001 Gordon Rowell +- [1.1.0-11] +- use serviceControl() + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-10] +- fixed /etc/sysconfig/clock template generation + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-9] +- added conf-clock to configure /etc/sysconfig/clock +- added reset-link to unlink and re-symlink + /etc/localtime to the correct timezone + +* Sat Jan 6 2001 Jason Miller +- [1.1.0-7] +- Charlie changed spec file in %post and %postun to + generate ntpd templates in runlevel 7 and to remove + it if e-smith-ntp is uninstalled +- Added configuration parameter for timeZone which + will be used by default as the timezone value for + date and time, otherwise it defaults to /etc/localtime + +* Fri Jan 5 2001 Adrian Chung +- [1.1.0-6] +- add new event timezone-update that calls restart httpd +- datetime panel modified to call both time{server,zone}-update + +* Fri Jan 5 2001 Charlie Brady +- [1.1.0-5] +- Disable ntpd by default - without an NTPServer setting there's no + point in enabling ntpd. +- Remove timeserver web form. Add Jay's new combined datetime and + timeserver form. + +* Fri Dec 15 2000 Adrian Chung +- Changed NTPserver to NTPServer in 00timeServer fragment +- Modified timeserver panel to record timeserver value to ntpd + property instead of legacy variable. + +* Wed Dec 6 2000 Adrian Chung +- Removed 'private' property setting in conf-ntpd +- Added link for conf-ntpd to post-install + +* Wed Dec 6 2000 Adrian Chung +- Re-rolled tar ball to get rid of symlinks + +* Mon Dec 4 2000 Adrian Chung +- Initial release + +%description +Configuration files and templates for the NTP daemon. + +%prep +%setup + +%build +for i in ip-change post-install post-upgrade timeserver-update \ + timezone-update bootstrap-console-save +do + mkdir -p root/etc/e-smith/events/$i +done +perl createlinks +/sbin/e-smith/buildtests 30e-smith-datetime + +# Manage supervise and multilog. +mkdir -p root/service +ln -s ../var/service/ntpd root/service/ntpd +mkdir -p root/var/service/ntpd/supervise +mkdir -p root/var/service/ntpd/env +touch root/var/service/ntpd/down +mkdir -p root/var/service/ntpd/log/supervise +mkdir -p root/var/log/ntpd + +%install +rm -rf $RPM_BUILD_ROOT +(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) +/sbin/e-smith/genfilelist \ + --dir '/var/service/ntpd' 'attr(1755,root,root)' \ + --file '/var/service/ntpd/down' 'attr(0644,root,root)' \ + --file '/var/service/ntpd/run' 'attr(0755,root,root)' \ + --dir '/var/service/ntpd/supervise' 'attr(0700,root,root)' \ + --dir '/var/service/ntpd/env' '%attr(0755,root,root)' \ + --file '/var/service/ntpd/env/MEMLIMIT' 'attr(0644,root,root)' \ + --dir '/var/service/ntpd/log' 'attr(1755,root,root)' \ + --file '/var/service/ntpd/log/run' 'attr(0755,root,root)' \ + --dir '/var/log/ntpd' 'attr(2750,smelog,nofiles)' \ + $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc COPYING" >> %{name}-%{version}-filelist + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +rm -f /etc/ntp.conf + +%preun +%post +%postun + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) diff --git a/contriborbase b/contriborbase new file mode 100644 index 0000000..ef36a67 --- /dev/null +++ b/contriborbase @@ -0,0 +1 @@ +sme10 diff --git a/createlinks b/createlinks new file mode 100755 index 0000000..465d2b2 --- /dev/null +++ b/createlinks @@ -0,0 +1,78 @@ +#!/usr/bin/perl -w + +use esmith::Build::CreateLinks qw(:all); + +#-------------------------------------------------- +# actions for manager panel +#-------------------------------------------------- +my $panel = "manager"; + +panel_link("datetime", $panel); + +#-------------------------------------------------- +# actions for ip-change event +#-------------------------------------------------- + +$event = "ip-change"; + +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ntpd"); + +# Configuration template expansion of ntp.conf +foreach my $file ( + qw(/etc/ntp/step-tickers /etc/ntp.conf /usr/lib//systemd/system/ntpd.service.d/50koozali.conf)) +{ + templates2events($file, qw( + timeserver-update + bootstrap-console-save + )); +} + +#-------------------------------------------------- +# actions for timeserver-update event +#-------------------------------------------------- + +$event = "timeserver-update"; + +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ntpd"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyslog"); + +#-------------------------------------------------- +# actions for timezone-update event +#-------------------------------------------------- + +$event = "timezone-update"; + +event_link("conf-timezone", $event, "30"); +event_link("set-time-date", $event, "40"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/crond"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyslog"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/squid"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); + +#-------------------------------------------------- +# actions for bootstrap-console-save event +#-------------------------------------------------- + +$event = "bootstrap-console-save"; + +event_link("conf-timezone", $event, "04"); + +#-------------------------------------------------- +# actions for e-smith-ntp-update event +#-------------------------------------------------- + +$event = "e-smith-ntp-update"; + +foreach my $file (qw(/etc/ntp/step-tickers /etc/ntp.conf /usr/lib//systemd/system/ntpd.service.d/50koozali.conf /etc/systemd/system-preset/49-koozali.preset /etc/rsyslog.conf /etc/logrotate.d/ntpd)) +{ + templates2events( $file, $event ); +} + +event_link("systemd-default", $event, "10"); +event_link("conf-timezone", $event, "30"); +event_link("systemd-reload", $event, "50"); + +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/ntpd"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/rsyslog"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/squid"); +safe_symlink("restart", "root/etc/e-smith/events/$event/services2adjust/httpd-e-smith"); diff --git a/e-smith-ntp.spec b/e-smith-ntp.spec new file mode 100644 index 0000000..eac41fa --- /dev/null +++ b/e-smith-ntp.spec @@ -0,0 +1,829 @@ +# $Id: e-smith-ntp.spec,v 1.21 2023/02/06 07:14:17 jpp Exp $ + +Summary: e-smith specific NTP configuration files and templates +%define name e-smith-ntp +Name: %{name} +%define version 2.6.0 +%define release 19 +Version: %{version} +Release: %{release}%{?dist} +License: GPL +Group: Networking/Daemons +Source: %{name}-%{version}.tar.xz + +BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot +BuildArchitectures: noarch +BuildRequires: e-smith-devtools >= 1.13.1-03 +Requires: e-smith-formmagick >= 1.4.0-9 +Requires: e-smith-base +Requires: ntp +Requires: e-smith-lib >= 1.15.1-19 +AutoReqProv: no + +%changelog +* Wed Jul 12 2023 cvs2git.sh aka Brian Read 2.6.0-19.sme +- Roll up patches and move to git repo [SME: 12338] + +* Wed Jul 12 2023 BogusDateBot +- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday, + by assuming the date is correct and changing the weekday. + +* Mon Feb 06 2023 Jean-Philippe Pialasse 2.6.0-18.sme +- fix noise about chown on driftfile [SME: 12177] + +* Wed Jul 20 2022 Jean-Philippe Pialasse 2.6.0-17.sme +- dedicated log and logrotate [SME: 12115] + thanks to bunkobugsy for this patch + +* Sun Jul 17 2022 Jean-Philippe Pialasse 2.6.0-15.sme +- untainting fields [SME: 12107] + +* Sun Jan 03 2021 Jean-Philipe Pialasse 2.6.0-13.sme +- fix ntpd crashing with panic_stop [SME: 11298] + +* Sun Dec 13 2020 Jean-Philipe Pialasse 2.6.0-12.sme +- update override.conf to 50koozali.conf [SME: 11008] + +* Sun Nov 29 2020 Jean-Philipe Pialasse 2.6.0-11.sme +- adding missing folder /usr/lib/systemd/system/ntpd.service.d [SME: 11008] + +* Sun Nov 29 2020 Jean-Philipe Pialasse 2.6.0-10.sme +- fix typo in path for new driftfile [SME: 8881] + +* Fri Nov 27 2020 Jean-Philipe Pialasse 2.6.0-9.sme +- fix systemd-preset fragment [SME: 11008] + add +x to ExecStartPRe script + +* Thu Nov 26 2020 Jean-Philipe Pialasse 2.6.0-8.sme +- improve systemd integration [SME: 11008] +- change driftfile path [SME: 8881] + +* Wed Sep 23 2020 Michel Begue 2.6.0-6.sme +- from service to systemd [SME: 11008] +- add ntpd-update event [SME: 11009] + +* Fri Jan 25 2019 Jean-Philipe Pialasse 2.6.0-5.sme +- revert last change [SME: 10190] + on sme10 systemd has ntpd disabled by default + +* Fri Jan 25 2019 Jean-Philipe Pialasse 2.6.0-5.sme +- revert last change [SME: 10190] + on sme10 systemd has ntpd disabled by default + +* Wed Nov 15 2017 Jean-Philipe Pialasse 2.6.0-4.sme +- added post transaction rule for ntp [SME: 10190] +- thank you to Stefano Zamboni for this work + +* Fri Jul 22 2016 Jean-Philipe Pialasse 2.6.0-3.sme +- fix wrong link to restart rsyslog [SME: 9690] + +* Thu May 12 2016 Daniel Berteaud 2.6.0-2.sme +- Rebuild for [SME: 9393] + +* Fri Feb 05 2016 stephane de Labrusse 2.6.0-1.sme +- Initial release to sme10 + +* Sat Jan 3 2015 Charlie Brady 2.4.0-6.sme +- Allow ntp status queries from localhost. [SME: 8764] + +* Mon Feb 3 2014 chris burnat 2.4.0-5.sme +- Prevent server being used in NTP amplification attacks. +- Code by Jesper Holck [SME: 8181] + +* Fri Mar 22 2013 Daniel Berteaud 2.4.0-4.sme +- Increase memory limit [SME: 7502] + +* Mon Feb 4 2013 Ian Wells 2.4.0-3.sme +- Remove default and migrate fragments for ntpd memory limit [SME: 7243] + +* Mon Feb 4 2013 Ian Wells 2.4.0-2.sme +- Increase memory limit for ntpd [SME: 7243] + +* Fri Feb 1 2013 Ian Wells 2.4.0-1.sme +- Rolling for SME 9 + +* Fri Oct 07 2011 Jonathan Martens 2.2.0-5.sme + Tue Oct 07 2011 --> Tue Oct 04 2011 or Fri Oct 07 2011 or Tue Oct 11 2011 or .... +- Set the TimeZone property earlier, so templates can rely on it [SME: 6754] + +* Sun Nov 21 2010 Ian Wells 2.2.0-4.sme +- SME 8.0 Changelog Cleanup [SME: 6368] + +* Tue Oct 12 2010 Daniel Berteaud 2.2.0-3.sme +- Support large drifts [SME: 5648] + +* Tue Jun 8 2010 Jonathan Martens 2.2.0-2.sme +- Do not allow pool.ntp.org as NTP server [SME: 5957] + +* Tue Oct 7 2008 Shad L. Lords 2.2.0-1.sme +- Roll new stream to separate sme7/sme8 trees [SME: 4633] + +* Mon Jul 7 2008 Jonathan Martens 1.16.0-17 +- Remove tags now in general [SME: 3923] + +* Wed Feb 13 2008 Stephen Noble 1.16.0-16 +- Remove tags now in general [SME: 3923] + +* Sat Feb 09 2008 Gavin Weight 1.16.0-15 +- Remove the expand-template as set in previous patch, as we already + expand correct places. [SME: 3868] + +* Fri Feb 8 2008 Filippo Carletti 1.16.0-14 +- Choose correct step-ticker for pool.ntp.org hosts. [SME: 3868] + +* Fri Nov 30 2007 Gavin Weight 1.16.0-13 +- Fix use of uninitialized value in 30pool migrate. [SME: 3594] + +* Sun Jul 08 2007 Stephen Noble 1.16.0-12 +- Migrate pool.ntp.org to smeserver.pool.ntp.org [SME: 1426] + +* Sun Jul 08 2007 Stephen Noble 1.16.0-11 +- Change default to smeserver.pool.ntp.org [SME: 1426] + +* Tue Jun 26 2007 Gavin Weight 1.16.0-10 +- Change Initial to First in the Datetime panel. [SME: 3108] + +* Sun Apr 29 2007 Shad L. Lords +- Clean up spec so package can be built by koji/plague + +* Mon Jan 22 2007 Shad L. Lords 1.16.0-9 +- Up memory limit to remove out of memory errors [SME: 2241] + +* Tue Jan 16 2007 Shad L. Lords 1.16.0-8 +- Rework hwclock sync patch to function properly. [SME: 1954] + +* Tue Jan 16 2007 Shad L. Lords 1.16.0-7 +- Remove HWClockSupport needs rework. [SME: 1954] +- Rework success patch needs delay before signal-event [SME: 2292] + +* Sun Jan 14 2007 Shad L. Lords 1.16.0-6 +- Fix migrate fragment [SME: 1954] + +* Sat Jan 13 2007 Shad L. Lords 1.16.0-5 +- Make success/failure messages standard [SME: 2292] + +* Tue Jan 2 2007 Charlie Brady 1.16.0-4 +- Add patch from Zac Sprackett to support sync to HW clock. [SME: 1954] + +* Thu Dec 07 2006 Shad L. Lords +- Update to new release naming. No functional changes. +- Make Packager generic + +* Sat Dec 02 2006 Shad L. Lords 1.16.0-02 +- Bump version so it gets installed on upgrade and forces ntp to be installed. + +* Wed Mar 15 2006 Charlie Brady 1.16.0-01 +- Roll stable stream version. [SME: 1016] + +* Wed Nov 30 2005 Gordon Rowell 1.15.2-02 +- Bump release number only + +* Fri Oct 14 2005 Gordon Rowell +- [1.15.2-01] +- Remove L10Ns from base packages [SF: 1309520] + +* Fri Oct 14 2005 Gordon Rowell +- [1.15.1-01] +- New dev stream before relocating L10Ns + +* Fri Sep 30 2005 Gordon Rowell +- [1.15.0-14] +- Added Italian L10N - Thanks Filippo Carletti [SF: 1309266] + +* Mon Sep 26 2005 Gordon Rowell +- [1.15.0-13] +- Added German L10N - Thanks Dietmar Berteld [SF: 1293325] + +* Wed Aug 31 2005 Charlie Brady +- [1.15.0-12] +- Enforce minimum value of content of env/MEMLIMIT file. [SF: 1270649] + +* Tue Aug 23 2005 Charlie Brady +- [1.15.0-11] +- Fix update of /etc/localtime symlink after update via panel. [SF: 1264801] + +* Wed Aug 17 2005 Charlie Brady +- [1.15.0-10] +- Remove /etc/ntp.conf in %pre script, to work around + problems with update of ntpd RPM. Add conditional expand-template + to run script to be sure that file is regenerated before we need + it. [SF: 1237968] + +* Fri Aug 12 2005 Charlie Brady +- [1.15.0-09] +- Open config db r/w to allow property update. [SF: 1216546] + +* Tue Jul 19 2005 Charlie Brady +- [1.15.0-08] +- Update to current db access APIs. [SF: 1216546] + +* Thu Jun 23 2005 Charlie Brady +- [1.15.0-07] +- Increase MemLimit setting to 6MB (for CentOS4 build). [SF: 1225925] +- Remove obsolete "authenticate" directive from ntpd.conf. [SF: 1225925] + +* Thu Jun 16 2005 Charlie Brady +- [1.15.0-06] +- Ensure that 'status' property is recognised at startup. [MN00061795] + +* Thu Mar 31 2005 Charlie Brady +- [1.15.0-05] +- Add default fragment for MemLimit property of ntp service. + [MN00064130] + +* Thu Mar 31 2005 Charlie Brady +- [1.15.0-04] +- Remove explicity call of generic_template_expand - it's now + implicit. [MN00064130] + +* Tue Mar 8 2005 Charlie Brady +- [1.15.0-03] +- Fix template expansion of /etc/ntp/step-tickers and ./env/MEMLIMIT + [MN00064130] +- Use generic service adjust action for reload/restart. [MN00065576] + +* Tue Jan 25 2005 Charlie Brady +- [1.15.0-02] +- Combine set-date and set-clock, and use a shell script rather than + perl. [MN00064941] +- Use generic_template_expand action where possible, in place + of specific actions. Update e-smith-lib dependency. [MN00064130] + +* Tue Jan 25 2005 Charlie Brady +- [1.15.0-01] +- Changing version to development stream number - 1.15.0 + +* Thu Nov 11 2004 Michael Soulier +- [1.14.0-02] +- Patched stderr "leaking" from ntpdate call. [msoulier MN00056927] + +* Wed Nov 3 2004 Charlie Brady +- [1.14.0-01] +- Changing version to stable stream number - 1.14.0 + +* Tue Oct 19 2004 Gordon Rowell +- [1.13.0-21] +- pool.ntp.org now uses 0, 1, 2 prefixes rather than relying on + short DNS TTLs. So, we need to add the prefixes if we are talking + with pool.ntp.org or {region}.pool.ntp.org and revert to listing + "normal" NTP servers once [gordonr MN00053174] + +* Mon Oct 18 2004 Gordon Rowell +- [1.13.0-20] +- List the ntp server three times, for DNS round-robin servers, + such as pool.ntp.org, {region}.pool.ntp.org and time.nrc.ca +- [gordonr MN00053174] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-19] +- Convert ntp.conf/10localhost template fragment from DOS text format + [charlieb MN00050805] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-18] +- Convert ntp.conf/30other template fragment from DOS text format + [charlieb MN00050805] +- Don't create pid file, and remove one if we find an old one. + [charlieb MN00050806] +- ntpdate should log to standard output, not to syslog. [charlieb MN00049205] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-17] +- Need to create empty /service/ntpd/env directory for template to be + expanded into. [charlieb MN00050192] + +* Tue Sep 28 2004 Charlie Brady +- [1.13.0-16] +- Increase memory limit for running ntpd. While we are at it, + we'll make the value templated, and update code in conf-ntpd + to modern standards. [charlieb MN00050192] + +* Tue Sep 28 2004 Michael Soulier +- [1.13.0-15] +- Fixed logging to go to stdout. [msoulier MN00049205] + +* Fri Sep 3 2004 Charlie Brady +- [1.13.0-14] +- Clean BuildRequires. [charlieb MN00043055] + +* Wed May 5 2004 Michael Soulier +- [1.13.0-13] +- Fixed a logic error from last change. [msoulier MN00027900] + +* Wed May 5 2004 Michael Soulier +- [1.13.0-12] +- Added localhost as a stratum 10 server. [msoulier MN00027900] + +* Wed Jan 28 2004 Michael Soulier +- [1.13.0-11] +- Added ntpdate call to run script. [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-10] +- Raised the softlimit for ntpd. libc is big. :) [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-09] +- Moved proxy-start/stop to e-smith-proxy where they belong. [msoulier 10929] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-08] +- Fixed missing directives to genfilelist. [msoulier 10586] + +* Thu Jan 22 2004 Michael Soulier +- [1.13.0-07] +- Fixed a typo in createlinks. The new ntpd initscript must not conflict with + the one in the ntpd package. [msoulier 10586] + +* Wed Jan 21 2004 Michael Soulier +- [1.13.0-06] +- Removing old symlink creation and moving to createlinks. [msoulier 10586] + +* Wed Jan 21 2004 Michael Soulier +- [1.13.0-05] +- Adding supervision of ntpd. [msoulier 10586] + +* Fri Nov 7 2003 Gordon Rowell +- [1.13.0-04] +- Enable ntpd by default [gordonr 10566] + +* Fri Nov 7 2003 Gordon Rowell +- [1.13.0-03] +- Default time server to pool.ntp.org [gordonr 10566] + +* Tue Jul 22 2003 Charlie Brady +- [1.13.0-02] +- Remove deprecated -startup script, and add default db + fragments [charlieb 9553] +- s/Copyright/License/ + +* Tue Jul 8 2003 Charlie Brady +- [1.13.0-01] +- Changing version to development stream number - 1.13.0 + +* Thu Jun 26 2003 Charlie Brady +- [1.12.0-01] +- Changing version to stable stream number - 1.12.0 + +* Fri May 9 2003 Tony Clayton +- [1.11.0-22] +- Fix save button justification [tonyc 1588] + +* Tue May 6 2003 Lijie Deng +- [1.11.0-21] +- Add Spanish lexicon for datetime panel [lijied 3793] + +* Thu May 1 2003 Tony Clayton +- [1.11.0-20] +- Background the timeserver-update event in panel [tonyc 1588] + +* Wed Apr 30 2003 Tony Clayton +- [1.11.0-19] +- Fix datetime panel when ntp stays disabled [tonyc 1588] +- Show date when ntp is enabled [tonyc 1588] + +* Thu Apr 17 2003 Gordon Rowell +- [1.11.0-18] +- Start ntp after external network is (possibly) up [gordonr 8391] + +* Thu Apr 10 2003 Lijie Deng +- [1.11.0-17] +- Change $q->table back [lijied 8034] + +* Wed Apr 9 2003 Lijie Deng +- [1.11.0-16] +- Added French trans for "Set Date and Time" [lijied 7949] + +* Fri Apr 4 2003 Lijie Deng +- [1.11.0-15] +- Changed $q->table to $->start_table where necessary [lijied 8034] + +* Thu Apr 3 2003 Lijie Deng +- [1.11.0-14] +- Removed en-us and fr 'Mitel Networks SME Server' branding [lijied 8016] + +* Tue Apr 1 2003 Tony Clayton +- [1.11.0-13] +- Fix datetime to loop back to Initial page w/ status report [tonyc 1588] +- Fix link to Verify page [tonyc 1588] + +* Tue Apr 1 2003 Tony Clayton +- [1.11.0-12] +- Add container table to fix IE 6 handling of table-layout: fixed [tonyc 1588] +- Remove redundant newlines from some print statements [tonyc 1588] + +* Fri Mar 28 2003 Tony Clayton +- [1.11.0-11] +- Update fr l10n strings [tonyc 1588] + +* Thu Mar 27 2003 Lijie Deng +- [1.11.0-10] +- Major refactoring and cleanup of datetime.pm [tonyc 1588] +- Expand tabs to spaces in datetime.pm [tonyc 1588] +- Add radio buttons and don't allow setting date manually when ntp is enabled + [tonyc 1588] +- Modified French lexicon to use lang="fr", rename the lexicon + directory to fr [lijied 6787] + +* Mon Mar 17 2003 Lijie Deng +- [1.11.0-09] +- Deleted inappropriate template-begin file + deleted empty template-end files [lijied 3295] + +* Thu Mar 6 2003 Lijie Deng +- [1.11.0-08] +- Modified datetime panel order [lijied 7356] + +* Tue Mar 4 2003 Lijie Deng +- [1.11.0-07] +- Split en-us lexicon from datetime panel [lijied 4030] + +* Mon Mar 3 2003 Lijie Deng +- [1.11.0-06] +- Add French lexicon for datetime [lijied 5003] + +* Thu Jan 16 2003 Mark Knox +- [1.11.0-05] +- Use new gen_locale_date_string routine [markk 3357] + +* Fri Dec 27 2002 Mike Dickson +- [1.11.0-04] +- updated the datetime panel to use css [miked 5494] + +* Tue Dec 10 2002 Mike Dickson +- [1.11.0-03] +- ui update [miked 5494] + +* Thu Nov 21 2002 Mike Dickson +- [1.11.0-02] +- update to new UI system [miked 5494] + +* Wed Nov 20 2002 Mike Dickson +- [1.11.0-01] +- Changing to development stream; version upped to 1.11.0 + +* Fri Oct 11 2002 Charlie Brady +- [1.10.0-01] +- Rolling stable version number to 1.10.0 + +* Fri Aug 23 2002 Mark Knox +- [1.9.4-01] +- Fixed duplicate English-only footers in panel [markk 3615] + +* Mon Aug 19 2002 Charlie Brady +- [1.9.3-01] +- Remove masq script update and restart symlinks. They are no longer + needed not that we have connection tracking enabled. [charlieb 4501] +- Add rc7.d symlink, and don't set obsolete InitscriptsOrder property + [charlieb 4458] + +* Thu Aug 8 2002 Charlie Brady +- [1.9.2-01] +- Remove NTP masq template fragment. We no longer need it, as netfilter + connection tracking allows NTP replies. [charlieb 4499] + +* Wed Jul 17 2002 Charlie Brady +- [1.9.1-01] +- Change masq script fragment to use iptables. [charlieb 1268] + +* Wed Jun 5 2002 Charlie Brady +- [1.9.0-01] +- Changing version to development stream number - 1.9.0 + +* Fri May 31 2002 Charlie Brady +- [1.8.0-01] +- Changing version to maintained stream number to 1.8.0 + +* Thu May 23 2002 Gordon Rowell +- [1.7.5-01] +- RPM rebuild forced by cvsroot2rpm + +* Wed May 8 2002 Mark Knox +- [1.7.4-01] +- Subst -> in lexicon [markk 3309] + +* Tue May 7 2002 Gordon Rowell +- [1.7.3-01] +- Localised "Network Time Server" heading [markk 3311] +- Localised date display [markk 3311] +- Added nav bar entry [gordonr 3155] + +* Mon Apr 15 2002 Mark Knox +- [1.7.2-01] +- Moved all code into module datetime.pm [markk 3159] +- Converted to FormMagick panel and internationalized [markk 3159] +- Added POD and testsuite [markk 3159] + +* Fri Apr 5 2002 Kirrily Robert +- [1.7.1-01] +- Testing CVS import + +* Fri Apr 5 2002 Kirrily Robert +- [1.7.0-01] +- rollRPM: Rolled version number to 1.7.0-01. Includes patches up to 1.6.0-01. + +* Tue Dec 11 2001 Jason Miller +- [1.6.0-01] +- rollRPM: Rolled version number to 1.6.0-01. Includes patches up to 1.5.0-02. + +* Tue Nov 06 2001 Charlie Brady +- [1.5.0-02] +- Initialise TimeZone db setting from /etc/sysconfig/clock if not set +- Branding changes in web panel. + +* Tue Nov 6 2001 Charlie Brady +- [1.5.0-01] +- Rolled version number to 1.5.0-01. Includes patches upto 1.4.0-03. + +* Tue Aug 28 2001 Gordon Rowell +- [1.4.0-03] +- Removed deprecated post-restore event directory + +* Fri Aug 17 2001 gordonr +- [1.4.0-02] +- Autorebuild by rebuildRPM + +* Wed Aug 8 2001 Charlie Brady +- [1.4.0-01] +- Rolled version number to 1.4.0-01. Includes patches upto 1.3.0-06. + +* Thu Aug 02 2001 Gordon Rowell +- [1.3.0-06] +- More branding changes + +* Sun Jul 29 2001 Jason Miller +- [1.3.0-05] +- Branding text changes to the datetime web panel + +* Tue Jul 17 2001 Jason Miller +- [1.3.0-04] +- Patch to datetime panel to fix mismatched section headers + +* Tue May 29 2001 Tony Clayton +- [1.3.0-03] +- fixed actions that had tied %conf when calling serviceControl (4 actions) + +* Wed Apr 11 2001 Adrian Chung +- [1.3.0-02] +- changing h4 tags to paragraph bold tags. + +* Wed Apr 11 2001 Adrian Chung +- [1.3.0-01] +- Rolled version number to 1.3.0-01. Includes patches upto 1.2.0-13. + +* Fri Feb 23 2001 Paul Nesbit +- [1.2.0-13] +- Fixed conf-timezone to properly handle timezone after restore + +* Mon Feb 12 2001 Adrian Chung +- Roll release number for GPG signing. + +* Mon Feb 12 2001 Charlie Brady +- [1.2.0-12] +- Expand ntp.conf always, even when ntpd is disabled. Otherwise ntpd + refuses to shut down. + +* Fri Feb 9 2001 Adrian Chung +- Added restart-crond to timezone-update event. + +* Thu Feb 8 2001 Adrian Chung +- Rolling release number for GPG signing. + +* Wed Feb 07 2001 Charlie Brady +- [1.2.0-08] +- Add some missing event symlinks + +* Sun Feb 04 2001 Gordon Rowell +- [1.2.0-07] +- Loop through all addresses in case NTPServer refers to multiple IPs + +* Fri Feb 02 2001 Gordon Rowell +- [1.2.0-06] +- Build ip masq rule with IP address of NTP server + +* Tue Jan 30 2001 Jason Miller +- [1.2.0-05] +- Updated datetime panel to run the timeserver-update + event (added rules to make sure that updates to the + configuration database aren't affected UnsavedChanges flag). + +* Tue Jan 30 2001 Jason Miller +- [1.2.0-04] +- Added a comment in the ipchains rules +- Added symlinks for the conf-masq and restart-masq actions + to be run as part of timeserver-update event (thereby + expanding the /etc/rc.d/init.d/masq template). + +* Sat Jan 27 2001 Charlie Brady +- [1.2.0-03] +- Change ref to %conf => %services in masq template fragment + +* Thu Jan 25 2001 Peter Samuel +- [1.2.0-02] +- Fix perl syntax error in masq template fragment +- Save/restore unsavedchanges flag around timezone change. + +* Thu Jan 25 2001 Peter Samuel +- [1.2.0-01] +- Rolled version number to 1.2.0-01. Includes patches upto 1.1.0-28. + +* Wed Jan 24 2001 Charlie Brady +- [1.1.0-28] +- Remove restart-ntp from post-upgrade action +- Remove post-restore event +- Tighten up NTP packet filter rule. +- Remove conf-ntpd from ip-change event +- Remove duplication of timezone migration code - it is in base as well. + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-27] +- Changed conf-timezone action so that during an upgrade + it will preserve the existing symlink for /etc/localtime + and use that value to set the configuration database + value for TimeZone + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-26] +- removed the signal event for datetime-set in the datetime + web panel + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-25] +- combined the timezone-update and datetime-set events + into a single event (and might combine the action scripts + as well) + +* Wed Jan 24 2001 Jason Miller +- [1.1.0-24] +- added new service control mechanism to not background + the proxy-stop action to shutdown squid + +* Tue Jan 23 2001 Jason Miller +- moved all date and time settings into a new event/action + sequence (datetime-set) which then calls the proxy-stop, + set-date, set-clock, proxy-start and removed the previous + system calls from the web manager form +- removed the squid stop/start actions from conf-timezone + action + +* Mon Jan 22 2001 Jason Miller +- Updated createlinks to have update-timezone and + update-timeserver events link in the action restart-syslog + to improve on the strange log times recorded otherwise + +* Mon Jan 22 2001 Jason Miller +- Added service control to stop the proxy server (squid) + from running prior to changing the timezone information + in conf-timezone, then starting it again after the change + to remove squid hangups on shutdown + +* Mon Jan 22 2001 Gordon Rowell +- Added NTP fragment to packet filter - Thanks Bernd Leibing + +* Tue Jan 16 2001 Jason Miller +- Removed the %postun section which was deleting ntpd + configuration values after uninstalling e-smith-ntp + (which occurs in an upgrade) and the %post section + which expanded the templates for ntpd without checking + the status (now done properly in the actions) + +* Tue Jan 16 2001 Jason Miller +- Fixed the /etc/ntp.conf template expansion to pull + the NTPServer value from the ntpd service configuration + settings + +* Tue Jan 16 2001 Jason Miller +- Changed the order of system time setting: +- Set timezone first, then clock settings + +* Fri Jan 12 2001 Jason Miller +- Merged the conf-clock and reset-link into a single + action script of conf-timezone +- Removed symlinks to post-upgrade and update-timezone +- Added symlink for conf-timezone to update-timezone +- Added symlink for conf-timezone to bootstrap-console-save + (instead of post-upgrade) + +* Fri Jan 12 2001 Jason Miller +- Added reset-link and conf-clock to the post-upgrade + event + +* Fri Jan 12 2001 Gordon Rowell +- Added conf-ntpd-startup + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-13] +- remove extra signal events based on what time setting + choice gets made + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-12] +- updated datetime panel to take into account the new + action scripts called by timezone-update event + +* Thu Jan 11 2001 Gordon Rowell +- [1.1.0-11] +- use serviceControl() + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-10] +- fixed /etc/sysconfig/clock template generation + +* Thu Jan 11 2001 Jason Miller +- [1.1.0-9] +- added conf-clock to configure /etc/sysconfig/clock +- added reset-link to unlink and re-symlink + /etc/localtime to the correct timezone + +* Sat Jan 6 2001 Jason Miller +- [1.1.0-7] +- Charlie changed spec file in %post and %postun to + generate ntpd templates in runlevel 7 and to remove + it if e-smith-ntp is uninstalled +- Added configuration parameter for timeZone which + will be used by default as the timezone value for + date and time, otherwise it defaults to /etc/localtime + +* Fri Jan 5 2001 Adrian Chung +- [1.1.0-6] +- add new event timezone-update that calls restart httpd +- datetime panel modified to call both time{server,zone}-update + +* Fri Jan 5 2001 Charlie Brady +- [1.1.0-5] +- Disable ntpd by default - without an NTPServer setting there's no + point in enabling ntpd. +- Remove timeserver web form. Add Jay's new combined datetime and + timeserver form. + +* Fri Dec 15 2000 Adrian Chung +- Changed NTPserver to NTPServer in 00timeServer fragment +- Modified timeserver panel to record timeserver value to ntpd + property instead of legacy variable. + +* Wed Dec 6 2000 Adrian Chung +- Removed 'private' property setting in conf-ntpd +- Added link for conf-ntpd to post-install + +* Wed Dec 6 2000 Adrian Chung +- Re-rolled tar ball to get rid of symlinks + +* Mon Dec 4 2000 Adrian Chung +- Initial release + +%description +Configuration files and templates for the NTP daemon. + +%prep +%setup +/usr/bin/rm -rf root/var/service/ntpd/ +mkdir -p root/usr/lib/systemd/system/ntpd.service.d + +%build +for i in ip-change post-install post-upgrade timeserver-update \ + timezone-update bootstrap-console-save +do + mkdir -p root/etc/e-smith/events/$i +done +perl createlinks +/sbin/e-smith/buildtests 30e-smith-datetime + +# Manage supervise and multilog. +#mkdir -p root/service +#ln -s ../var/service/ntpd root/service/ntpd +#mkdir -p root/var/service/ntpd/supervise +#mkdir -p root/var/service/ntpd/env +#touch root/var/service/ntpd/down +#mkdir -p root/var/service/ntpd/log/supervise +#mkdir -p root/var/log/ntpd + +%install +rm -rf $RPM_BUILD_ROOT +(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) +/sbin/e-smith/genfilelist \ + --file '/sbin/e-smith/systemd/initializedate' 'attr(0554,root,root)' \ + $RPM_BUILD_ROOT > %{name}-%{version}-filelist +# --dir '/var/service/ntpd' 'attr(1755,root,root)' \ +# --file '/var/service/ntpd/down' 'attr(0644,root,root)' \ +# --file '/var/service/ntpd/run' 'attr(0755,root,root)' \ +# --dir '/var/service/ntpd/supervise' 'attr(0700,root,root)' \ +# --dir '/var/service/ntpd/env' '%attr(0755,root,root)' \ +# --file '/var/service/ntpd/env/MEMLIMIT' 'attr(0644,root,root)' \ +# --dir '/var/service/ntpd/log' 'attr(1755,root,root)' \ +# --file '/var/service/ntpd/log/run' 'attr(0755,root,root)' \ +# --dir '/var/log/ntpd' 'attr(2750,smelog,nofiles)' \ +# $RPM_BUILD_ROOT > %{name}-%{version}-filelist +echo "%doc COPYING" >> %{name}-%{version}-filelist + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +rm -f /etc/ntp.conf + +%preun +%post +%postun + +%files -f %{name}-%{version}-filelist +%defattr(-,root,root) diff --git a/root/etc/e-smith/db/configuration/defaults/ntpd/NTPServer b/root/etc/e-smith/db/configuration/defaults/ntpd/NTPServer new file mode 100644 index 0000000..5c16c5c --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ntpd/NTPServer @@ -0,0 +1 @@ +smeserver.pool.ntp.org diff --git a/root/etc/e-smith/db/configuration/defaults/ntpd/SyncToHWClockSupported b/root/etc/e-smith/db/configuration/defaults/ntpd/SyncToHWClockSupported new file mode 100644 index 0000000..7cfab5b --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ntpd/SyncToHWClockSupported @@ -0,0 +1 @@ +yes diff --git a/root/etc/e-smith/db/configuration/defaults/ntpd/status b/root/etc/e-smith/db/configuration/defaults/ntpd/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ntpd/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/ntpd/type b/root/etc/e-smith/db/configuration/defaults/ntpd/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/ntpd/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/db/configuration/migrate/30NTPRunDisconnected b/root/etc/e-smith/db/configuration/migrate/30NTPRunDisconnected new file mode 100644 index 0000000..db8b59a --- /dev/null +++ b/root/etc/e-smith/db/configuration/migrate/30NTPRunDisconnected @@ -0,0 +1,7 @@ +{ + my $ntpd = $DB->get('ntpd'); + return unless $ntpd; + return if $ntpd->prop('SyncToHWClockSupported'); + + $ntpd->set_prop('status', 'enabled') unless ($ntpd->prop('status') || 'disabled') eq 'enabled'; +} diff --git a/root/etc/e-smith/db/configuration/migrate/30pool b/root/etc/e-smith/db/configuration/migrate/30pool new file mode 100644 index 0000000..7613107 --- /dev/null +++ b/root/etc/e-smith/db/configuration/migrate/30pool @@ -0,0 +1,8 @@ +{ + my $pool = $DB->get_prop('ntpd', 'NTPServer'); + return unless defined $pool; + if ($pool eq 'pool.ntp.org') + { + $DB->set_prop('ntpd', 'NTPServer', 'smeserver.pool.ntp.org') + } +} diff --git a/root/etc/e-smith/events/actions/conf-timezone b/root/etc/e-smith/events/actions/conf-timezone new file mode 100644 index 0000000..bc7b485 --- /dev/null +++ b/root/etc/e-smith/events/actions/conf-timezone @@ -0,0 +1,66 @@ +#!/usr/bin/perl -w + +#---------------------------------------------------------------------- +# copyright (C) 2001-2005 Mitel Networks Corporation +# +# 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 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +#---------------------------------------------------------------------- + +package esmith; + +use strict; +use Errno; +use esmith::ConfigDB; +use esmith::templates; + +my $db = esmith::ConfigDB->open or die "Could not open config db"; + +# Obtain the TimeZone configuration database value +my $timezone = $db->get("TimeZone"); + +if (defined $timezone) +{ + $timezone = $timezone->value; +} +else +{ + # Initialise timezone from /etc/sysconfig/clock if not already set + if (open(CLOCK, "/etc/sysconfig/clock")) + { + while() + { + $timezone = $1 if /^ZONE="(.*)"/; + last if defined $timezone; + } + close(CLOCK) or warn("Could not close CLOCK: $!"); + } + else + { + warn("Could not open /etc/sysconfig/clock: $!"); + } + # If all else fails ... + $timezone = "US/Eastern" unless defined $timezone; + $db->new_record('TimeZone')->set_value($timezone); +} + +# Undo the previous symlink and remake it to the correct time zone +unlink "/etc/localtime"; +symlink "../usr/share/zoneinfo/$timezone", "/etc/localtime"; + +# Process the template for /etc/sysconfig/clock +processTemplate ({TEMPLATE_PATH => "/etc/sysconfig/clock"}); + +exit (0); diff --git a/root/etc/e-smith/events/actions/set-time-date b/root/etc/e-smith/events/actions/set-time-date new file mode 100644 index 0000000..9cead79 --- /dev/null +++ b/root/etc/e-smith/events/actions/set-time-date @@ -0,0 +1,4 @@ +#!/bin/sh + +/bin/date "$2" +/sbin/clock -u -w diff --git a/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/datetime b/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/datetime new file mode 100644 index 0000000..f61d88c --- /dev/null +++ b/root/etc/e-smith/locale/en-us/etc/e-smith/web/functions/datetime @@ -0,0 +1,239 @@ + + + FORM_TITLE + Date and time configuration + + + INITIAL_DESC + + This is where you configure the date and time of this server. You may use an existing network time server or + manually set the date and time for your time zone. + + + + SET_DATE_TITLE + Set Date and Time + + + COULD_NOT_OPEN_TZ_FILE + Error: Could not open timezone file for reading: + + + JANUARY + January + + + FEBRUARY + February + + + MARCH + March + + + APRIL + April + + + MAY + May + + + JUNE + June + + + JULY + July + + + AUGUST + August + + + SEPTEMBER + September + + + OCTOBER + October + + + NOVEMBER + November + + + DECEMBER + December + + + NEW_M/D/Y + New month/day/year: + + + NEW_H/M/S + New hour/min/sec: + + + AM/PM_AND_TZ + AM/PM and time zone: + + + NTP_ENABLE_DESC + + The server can periodically synchronize the system clock to a network time protocol (NTP) server. If you select this option, enter the hostname or IP address of the NTP server below. + + + + NTP_CONFIGURE_DESC + + The server is periodically synchronizing the system clock to the network time protocol (NTP) server specified below. To synchronize to a different NTP server, enter a different hostname or IP address in the field below. + + + + NTP_DISABLE_DESC + + Choose this option to stop syncronizing the system clock to the NTP + server. When the NTP service is disabled, you can set the system date + and time manually from this page. + + + + NTP_SERVER + NTP Server + + + VERIFY_DATE_AND_TIME + Verify date and time + + + NEW_DATE_AND_TIME + New date and time setting: + + + SETTING_DATE_AND_TIME + Setting date and time + + + INVALID_DAY + Error: invalid day of month: + + + BETWEEN_1_AND_31 + Please choose a day between 1 and 31. + + + INVALID_YEAR + Error: invalid year: + + + FOUR_DIGIT_YEAR + Please choose a four-digit year between 1900 and 2200. + + + INVALID_HOUR + Error: invalid hour: + + + BETWEEN_1_AND_12 + Please choose an hour between 1 and 12. + + + INVALID_MINUTE + Error: invalid minute: + + + BETWEEN_0_AND_59 + Please choose a minute between 0 and 59. + + + INVALID_SECOND + Error: invalid second + + + INVALID_MONTH + Error: invalid month + + + MONTH_BETWEEN_1_AND_12 + Please choose a month value between 1 and 12. + + + UPDATING_CLOCK + + here + to verify changes. + ]]> + + + + ERR_SETTING_CLOCK + Error occurred while setting system time and hardware clock. + + + SERVER_DISABLED + Network time server disabled successfully + + + SERVER_DISABLED_DESC + + will not try to synchronize from a time server. + ]]> + + + + ERR_CHANGING_TS + Error while changing network time server setting + + + INVALID_NTP_ADDR + Invalid NTP server address: + + + SETTINGS_CHANGED + Network time server setting changed successfully + + + SYNC_WITH + This server is now configured to synchronize periodically + (via the Internet) with: + + + + INVALID_NTP_SERVER + + will not try to synchronize + from a time server. + ]]> + + + + NETWORK_TIME_SERVER + Network Time Server + + + NTP_CONFIGURE_TITLE + Configure Network Time Server + + + NTP_ENABLE_TITLE + Enable Network Time Server + + + NTP_DISABLE_TITLE + Disable Network Time Server + + + CURRENT_SETTING + Current setting + + + Date and time + Date and time + + diff --git a/root/etc/e-smith/templates/etc/logrotate.d/ntpd/10All b/root/etc/e-smith/templates/etc/logrotate.d/ntpd/10All new file mode 100644 index 0000000..23abd47 --- /dev/null +++ b/root/etc/e-smith/templates/etc/logrotate.d/ntpd/10All @@ -0,0 +1,8 @@ +/var/log/ntp.log \{ + missingok + weekly + rotate 24 + compress + notifempty + copytruncate +\} diff --git a/root/etc/e-smith/templates/etc/ntp.conf/00timeServer b/root/etc/e-smith/templates/etc/ntp.conf/00timeServer new file mode 100644 index 0000000..fc4e3a1 --- /dev/null +++ b/root/etc/e-smith/templates/etc/ntp.conf/00timeServer @@ -0,0 +1,19 @@ +{ + # vim: ft=perl: + my $server = $ntpd{NTPServer} || ''; + return "# sync to hw clock" if $server =~ m#^\s*$#; + + if ( ($ntpd{'SupportLargeDrift'} || 'disabled') eq 'enabled' ){ + $OUT .= "tinker panic 0\n"; + } + + if ($server =~ /pool.ntp.org/) + { + # The 0, 1, 2, 3 prefixes ensure NTP pool round-robin + $OUT .= "server $_.$server\n" for (0..3); + } + else + { + $OUT .= "server $server\n"; + } +} diff --git a/root/etc/e-smith/templates/etc/ntp.conf/10localhost b/root/etc/e-smith/templates/etc/ntp.conf/10localhost new file mode 100755 index 0000000..f7a0779 --- /dev/null +++ b/root/etc/e-smith/templates/etc/ntp.conf/10localhost @@ -0,0 +1,9 @@ +{ +$OUT = ''; +unless ( ($ntpd{'SupportLargeDrift'} || 'disabled') eq 'enabled' ){ + $OUT .= < 35000000; + + # If there is a memory limit in the database and it is below the minimum, delete it. + if (defined $ntpd{MemLimit} && $ntpd{MemLimit} < MIN_MEMORY_LIMIT) + { + $DB->get_prop_and_delete('ntpd','MemLimit'); + delete $ntpd{MemLimit}; + } + + $OUT .= "MemoryLimit="; + $OUT .= $ntpd{MemLimit} || MIN_MEMORY_LIMIT; + $OUT .= "\n"; + +} +ExecStartPre=-/sbin/e-smith/expand-template /etc/ntp.conf +ExecStartPre=-/sbin/e-smith/systemd/initializedate +Restart=always diff --git a/root/etc/e-smith/templates/usr/lib/systemd/system/ntpd.service.d/50koozali.conf/80install b/root/etc/e-smith/templates/usr/lib/systemd/system/ntpd.service.d/50koozali.conf/80install new file mode 100644 index 0000000..aa4f147 --- /dev/null +++ b/root/etc/e-smith/templates/usr/lib/systemd/system/ntpd.service.d/50koozali.conf/80install @@ -0,0 +1,2 @@ +[Install] +WantedBy=sme-server.target diff --git a/root/etc/e-smith/web/functions/datetime b/root/etc/e-smith/web/functions/datetime new file mode 100644 index 0000000..f0cde33 --- /dev/null +++ b/root/etc/e-smith/web/functions/datetime @@ -0,0 +1,47 @@ +#!/usr/bin/perl -wT + +#---------------------------------------------------------------------- +# heading : Configuration +# description : Date and time +# navigation : 6000 6100 +# +# Copyright (c) 2001 Mitel Networks Corporation +# +# 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 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Technical support for this program is available from e-smith, inc. +# Please visit our web site www.e-smith.com for details. +#---------------------------------------------------------------------- + +use strict; +use esmith::FormMagick::Panel::datetime; + +my $panel = esmith::FormMagick::Panel::datetime->new(); +$|=1; +$panel->display(); + +__DATA__ +
+ + INITIAL_DESC + + + + VERIFY_DATE_AND_TIME + + +
diff --git a/root/sbin/e-smith/systemd/initializedate b/root/sbin/e-smith/systemd/initializedate new file mode 100644 index 0000000..7b28e81 --- /dev/null +++ b/root/sbin/e-smith/systemd/initializedate @@ -0,0 +1,25 @@ +#!/bin/bash +#first move old drift file if in the way +OLDFILE='/etc/ntp/drift' +NEWFILE='/var/lib/ntp/drift' +if [ -f "$NEWFILE" ]; then + if [ -f "$OLDFILE" ];then + /usr/bin/rm -f $OLDFILE + fi +else + if [ -f "$OLDFILE" ];then + /usr/bin/mv $OLDFILE $NEWFILE + fi +fi +if [ -f "$NEWFILE" ]; then + /usr/bin/chown ntp:ntp $NEWFILE +fi + +# Run ntpdate so we're not way off on startup. +ntpstep=/etc/ntp/step-tickers +tickers=`/bin/sed -e 's/\#.*$//g' $ntpstep` +#get current date (will need to update this command soon to be retired : ntpd -q -x -g -g -g -g +/usr/sbin/ntpdate -b -p 8 $tickers +# set hardware clock to the current time +/usr/sbin/hwclock --systohc +exit 0 diff --git a/root/usr/lib/perl5/.gitignore b/root/usr/lib/perl5/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/root/usr/lib/systemd/system/ntpd.service.d/.gitignore b/root/usr/lib/systemd/system/ntpd.service.d/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/datetime.pm b/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/datetime.pm new file mode 100644 index 0000000..06e3cf5 --- /dev/null +++ b/root/usr/share/perl5/vendor_perl/esmith/FormMagick/Panel/datetime.pm @@ -0,0 +1,774 @@ +#!/usr/bin/perl -wT +# +# Copyright (C) 2002 Mitel Networks Corporation +# +# Technical support for this program is available from e-smith, inc. +# Please call us at (613) 236-0743 or visit our web site www.e-smith.net +# for details. +# +# $Id: datetime.pm,v 1.13 2003/04/04 19:24:58 lijied Exp $ +# +#---------------------------------------------------------------------- + + +package esmith::FormMagick::Panel::datetime; + +use strict; +use Exporter; +use esmith::ConfigDB; +use esmith::FormMagick; +use esmith::cgi; +use esmith::TestUtils; + +our @ISA = qw(esmith::FormMagick Exporter); +our @EXPORT = qw( + showInitial performAndShowResult verifyResult flushOn +); +our $VERSION = sprintf '%d.%03d', q$Revision: 1.13 $ =~ /: (\d+).(\d+)/; + +=pod + +=head1 NAME + +esmith::FormMagick::Panel::datetime - useful panel functions + +=head1 SYNOPSIS + + use esmith::FormMagick::Panel::datetime; + my $panel = esmith::FormMagick::Panel::datetime->new(); + $panel->display(); + +=head1 DESCRIPTION + +=head2 new + +Exactly as for esmith::FormMagick + +=begin testing + +use_ok('esmith::FormMagick::Panel::datetime'); +$FM = esmith::FormMagick::Panel::datetime->new(); +isa_ok($FM, 'esmith::FormMagick::Panel::datetime'); +$FM->{cgi} = CGI->new; + +=end testing + +=cut + +sub new +{ + shift; + my $self = esmith::FormMagick->new(); + $self->{calling_package} = (caller)[0]; + bless $self; + return $self; +} + +=pod + +=head2 showInitial + +Display the contents of the initial page + +=begin testing + +is($FM->showInitial(), '', 'showInitial'); +like($_STDOUT_, qr/NEW_M\/D\/Y/, ' .. new m/d/y field'); +like($_STDOUT_, qr/NEW_H\/M\/S/, ' .. new h/m/s field'); +like($_STDOUT_, qr/SAVE_DATE_TIME/, ' .. save date/time button'); +like($_STDOUT_, qr/ENABLE_NTP/, ' .. enable NTP box'); +like($_STDOUT_, qr/SAVE_NTP/, ' .. save NTP button'); + +=end testing + +=cut + +sub showInitial +{ + my $self = shift; + my $q = $self->{cgi}; + + #-------------------------------------------------- + # Get a sorted list of time zones + #-------------------------------------------------- + + $ENV{BASH_ENV} = ''; + if (! open (ZONES, "cd /usr/share/zoneinfo; /usr/bin/find . -type f -or -type l | /bin/grep '^./[A-Z]' |")) + { + print $q->h3 ($self->localise('COULD_NOT_OPEN_TZ_FILE').$!.'.'); + return; + } + my $zone; + my @zones = (); + + while (defined ($zone = )) + { + chop ($zone); + $zone =~ s/^.\///; + push @zones, $zone; + } + close ZONES; + @zones = sort @zones; + #-------------------------------------------------- + # Read the time + #-------------------------------------------------- + + my ($weekdaydefault, + $monthnamedefault, + $monthdefault, + $daydefault, + $yeardefault, + $hourdefault, + $minutedefault, + $seconddefault, + $ampmdefault) = split /\|/, + `/bin/date '+%A|%B|%-m|%-d|%Y|%-I|%M|%S|%p'`; + + # get rid of trailing carriage return on last field + chop ($ampmdefault); + + #-------------------------------------------------- + # Figure out time zone by looking first looking at + # the configuration database value of TimeZone. + # If that is not defined, try and get it from /etc/localtime. + # If that doesn't work, default to US/Eastern. + #-------------------------------------------------- + my $localtime; + my $timezonedefault = "US/Eastern"; + + my $conf = esmith::ConfigDB->open(); + if (defined $conf->get('TimeZone')) + { + $timezonedefault = $conf->get('TimeZone')->value; + } + else + { + if (defined ($localtime = readlink '/etc/localtime')) + { + my $pos = index $localtime, 'zoneinfo/'; + if ($pos > -1) + { + $timezonedefault = substr $localtime, ($pos + 9); + } + } + } + + my $now_string = $self->gen_locale_date_string(); + + my $oldNTPServer = ''; + $conf = esmith::ConfigDB->open(); + my $rec = $conf->get('ntpd'); + if ($rec) + { + $oldNTPServer = $rec->prop('NTPServer') || ''; + } + my $ntpEnabled = 0; + + if ($rec and $rec->prop('status') eq "enabled") + { + $ntpEnabled = 1 unless ($rec->prop('SyncToHWClockSupported') || 'yes') eq 'yes' and $oldNTPServer =~ m#^\s*$#; + } + + + #-------------------------------------------------- + # Display the time setting form + #-------------------------------------------------- + + my %monthlabels = ('1' => $self->localise('JANUARY'), + '2' => $self->localise('FEBRUARY'), + '3' => $self->localise('MARCH'), + '4' => $self->localise('APRIL'), + '5' => $self->localise('MAY'), + '6' => $self->localise('JUNE'), + '7' => $self->localise('JULY'), + '8' => $self->localise('AUGUST'), + '9' => $self->localise('SEPTEMBER'), + '10' => $self->localise('OCTOBER'), + '11' => $self->localise('NOVEMBER'), + '12' => $self->localise('DECEMBER')); + + # create radio buttons in the same group + my ($rbDisableNTP, $rbEnableNTP) = + $q->radio_group(-name => 'ntpStatus', + -values => ['disabled', 'enabled'], + -default => $ntpEnabled ? 'enabled' : 'disabled', + -linebreak => 'true', + -labels => {enabled => '', disabled => ''}); + + print "\n"; + + if (! $ntpEnabled) + { + + + print $q->Tr( + $q->td({-class => "sme-radiobutton"}, $rbDisableNTP), + $q->td($q->h3($self->localise('SET_DATE_TITLE')))), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td( + $q->p ($self->localise('CURRENT_SETTING').": ", + $q->b ($now_string)))), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td( + $q->table({-class => "sme-noborders"}, + $q->Tr (esmith::cgi::genCell ($q, + $self->localise('NEW_M/D/Y'), "sme-noborders-label"), + esmith::cgi::genCell ($q, + $q->popup_menu (-name => 'month', -values => [ 1..12 ], + -default => $monthdefault, -labels => \%monthlabels), + "sme-noborders-content"), + esmith::cgi::genCell ($q, + $q->textfield (-name => 'day', -override => 1, + -default => $daydefault, -size => 12), + "sme-noborders-content"), + esmith::cgi::genCell ($q, + $q->textfield (-name => 'year', -override => 1, + -default => $yeardefault, -size => 12), + "sme-noborders-content")), + $q->Tr (esmith::cgi::genCell ($q, + $self->localise('NEW_H/M/S'), "sme-noborders-label"), + esmith::cgi::genCell ($q, + $q->textfield (-name => 'hour', -override => 1, + -default => $hourdefault, -size => 12), + "sme-noborders-content"), + esmith::cgi::genCell ($q, + $q->textfield (-name => 'minute', -override => 1, + -default => $minutedefault, -size => 12), + "sme-noborders-content"), + esmith::cgi::genCell ($q, + $q->textfield (-name => 'second', -override => 1, + -default => $seconddefault, -size => 12), + "sme-noborders-content")), + $q->Tr (esmith::cgi::genCell ($q, + $self->localise('AM/PM_AND_TZ'), "sme-noborders-label"), + esmith::cgi::genCell ($q, + $q->popup_menu (-name => 'ampm', -values => ['AM', 'PM'], + -default => $ampmdefault), + "sme-noborders-content"), + esmith::cgi::genDoubleCell ($q, + $q->popup_menu (-name => 'timezone', -values => \@zones, + -default => $timezonedefault))), + ) + ) + ),"\n"; + + } + + #-------------------------------------------------- + # Display the NTP form + #-------------------------------------------------- + + my $ntpEnabledTitle; + my $ntpEnabledDesc; + my $showTime; + + if ($ntpEnabled) + { + $ntpEnabledTitle = $self->localise('NTP_CONFIGURE_TITLE'); + $ntpEnabledDesc = $self->localise('NTP_CONFIGURE_DESC'); + $showTime = $q->p ($self->localise('CURRENT_SETTING').": ", + $q->b ($now_string)); + } + else + { + $ntpEnabledTitle = $self->localise('NTP_ENABLE_TITLE'); + $ntpEnabledDesc = $self->localise('NTP_ENABLE_DESC'); + } + + print $q->Tr( + $q->td({-class => "sme-radiobutton"}, $rbEnableNTP), + $q->td($q->h3($ntpEnabledTitle))), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td($ntpEnabledDesc)), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td($showTime)), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td( + $q->table ({-class => "sme-noborders"}, + $q->Tr (esmith::cgi::genCell ($q, + $self->localise('NTP_SERVER'), "sme-noborders-label"), + esmith::cgi::genCell ($q, + $q->textfield(-name => 'ntpServer', -size => '32', + -default => "$oldNTPServer"), + "sme-noborders-content")), + ) + ) + ),"\n"; + + if ($ntpEnabled) + { + print $q->Tr( + $q->td({-class => "sme-radiobutton"}, $rbDisableNTP), + $q->td($q->h3 ($self->localise("NTP_DISABLE_TITLE")))), + $q->Tr( + $q->td({-class => "sme-radiobutton"}, " "), + $q->td($self->localise('NTP_DISABLE_DESC'))),"\n"; + } + + print $q->Tr( + $q->td({-colspan => 2}, + $q->table ({-class => "sme-noborders", -width=>'100%'}, + $q->Tr( + $q->th({-class => "sme-layout"}, + $q->submit (-name => 'action', + -value => $self->localise('SAVE')))) + ) + ) + ),"\n"; + + print "
\n"; + return ''; +} + +=pod + +=head2 performAndShowResult + +Subroutine to perform actions and display result + +=for testing +is($FM->performAndShowResult(), '', 'performAndShowResult'); + +=cut + +sub performAndShowResult +{ + my $self = shift; + my $q = $self->{cgi}; + + my $conf = esmith::ConfigDB->open(); + my $ntpd = $conf->get('ntpd'); + $conf->close(); + + my $hwSync = $ntpd->prop('SyncToHWClockSupported') || 'yes'; + + my $oldNtpServer = $ntpd->prop('NTPServer') || ''; + my $oldNtpStatus = ($hwSync eq 'yes' and $oldNtpServer =~ m#^\s*$#) ? 'disabled' : ($ntpd->prop('status') || 'disabled'); + + my $newNtpServer = $q->param('ntpServer') || ''; + my $newNtpStatus = $q->param('ntpStatus') || ''; + + # If ntp status was and still is disabled, then set the time. + if (($oldNtpStatus eq 'disabled') && + ($newNtpStatus eq 'disabled')) + { + $self->_performSetDateTime(); + } + + # If the ntp status changed, then force a reconfigure. + # If it is enabled and the server changed then force a reconfigure. + if (($oldNtpStatus ne $newNtpStatus) || + (($newNtpStatus eq 'enabled') && + ($oldNtpServer ne $newNtpServer))) + { + # let ntp enable/disable itself as required + $self->_performSetTimeserver(); + } + $q->Delete('ntpServer'); + $q->Delete('ntpStatus'); + + return ''; +} + +=pod + +=head2 verifyResult + +Subroutine to verify result + +=begin testing + +is($FM->verifyResult(), '', 'verifyResult'); +like($_STDOUT_, qr/NEW_DATE_AND_TIME/, ' .. new date and time'); + +=end testing + +=cut + +sub verifyResult +{ + my $self = shift; + my $q = $self->{cgi}; + + $ENV{BASH_ENV} = ''; + + #-------------------------------------------------- + # Read the time + #-------------------------------------------------- + + my ($weekdaydefault, + $monthnamedefault, + $monthdefault, + $daydefault, + $yeardefault, + $hourdefault, + $minutedefault, + $seconddefault, + $ampmdefault) = split /\|/, `/bin/date '+%A|%B|%-m|%-d|%Y|%-I|%M|%S|%p'`; + + # get rid of trailing carriage return on last field + chop ($ampmdefault); + + #-------------------------------------------------- + # Figure out time zone by looking at /etc/localtime. + # If that doesn't work, default to US/Eastern. + #-------------------------------------------------- + + my $localtime; + my $timezonedefault = "US/Eastern"; + + if (defined ($localtime = readlink '/etc/localtime')) + { + my $pos = index $localtime, 'zoneinfo/'; + if ($pos > -1) + { + $timezonedefault = substr $localtime, ($pos + 9); + } + } + + #-------------------------------------------------- + # Display the time + #-------------------------------------------------- + + print $q->Tr($q->td($q->p ($self->localise('NEW_DATE_AND_TIME'), + $q->b ($weekdaydefault, + $monthnamedefault, + $daydefault, + $yeardefault . ',', + $hourdefault . ':' . $minutedefault . ':' . + $seconddefault, + $ampmdefault, + $timezonedefault)))); + return ''; +} + +=pod + +=head2 _performSetDateTime + +Subroutine to set the date and time of the e-smith server + +=begin testing + +$FM->{cgi}->param(-name=>'day', -value=>'55'); +$FM->{cgi}->param(-name=>'year', -value=>'5'); +is($FM->_performSetDateTime(), '', 'performSetDateTime'); +like($_STDOUT_, qr/INVALID_DAY/, ' .. invalid day check'); +$FM->{cgi}->param(-name=>'day', -value=>'10'); +$FM->_performSetDateTime(); +like($_STDOUT_, qr/INVALID_YEAR/, ' .. invalid year check'); +$FM->{cgi}->param(-name=>'year', -value=>'1984'); +$FM->{cgi}->param(-name=>'hour', -value=>'60'); +$FM->{cgi}->param(-name=>'minute', -value=>'90'); +$FM->_performSetDateTime(); +like($_STDOUT_, qr/INVALID_HOUR/, ' .. invalid hour check'); +$FM->{cgi}->param(-name=>'hour', -value=>'12'); +$FM->_performSetDateTime(); +like($_STDOUT_, qr/INVALID_MINUTE/, ' .. invalid minute check'); +$FM->{cgi}->param(-name=>'minute', -value=>'00'); +$FM->{cgi}->param(-name=>'second', -value=>'00'); + +SKIP: { + skip "unsafe!", 2 unless esmith::TestUtils::destruction_ok(); + is($FM->_performSetDateTime(), '', ' .. exited happily'); + like($_STDOUT_, qr/UPDATING_CLOCK/, ' .. updating clock in background'); +} + +=end testing + +=cut + +sub _performSetDateTime +{ + my $self = shift; + my $q = $self->{cgi}; + + # Turn on autoflush, since setting the time forward makes Apache + # stop waiting for CGI output: + + $| = 1; + + #-------------------------------------------------- + # Untaint parameters and check for validity + #-------------------------------------------------- + + my $timezone = $q->param ('timezone'); + if ($timezone =~ /^([\w\-]+\/?[\w\-+]*)$/) { + $timezone = $1; + } else { + $timezone = "US/Eastern"; + } + + my $month = $q->param ('month'); + if ($month =~ /^(\d{1,2})$/) { + $month = $1; + } else { + $month = "1"; + } + if (($month < 1) || ($month > 12)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_MONTH')." $month. ". + $self->localise('MONTH_BETWEEN_1_AND_12'))); + return $self->error($self->localise('INVALID_MONTH')." $month. ". + $self->localise('MONTH_BETWEEN_1_AND_12')); + } + + + my $day = $q->param ('day'); + if ($day =~ /^(\d{1,2})$/) { + $day = $1; + } else { + $day = "1"; + } + if (($day < 1) || ($day > 31)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_DAY')." $day. ". + $self->localise('BETWEEN_1_AND_31'))); + return $self->error($self->localise('INVALID_DAY')." $day. ". + $self->localise('BETWEEN_1_AND_31')); + } + + my $year = $q->param ('year'); + if ($year =~ /^(\d{4})$/) { + $year = $1; + } else { + $year = "2000"; + } + if (($year < 1900) || ($year > 2200)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_YEAR')." $year. ". + $self->localise('FOUR_DIGIT_YEAR'))); + return $self->error($self->localise('INVALID_YEAR')." $year. ". + $self->localise('FOUR_DIGIT_YEAR')); + } + + my $hour = $q->param ('hour'); + if ($hour =~ /^(\d{1,2})$/) { + $hour = $1; + } else { + $hour = "12"; + } + if (($hour < 1) || ($hour > 12)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_HOUR')." $hour. ". + $self->localise('BETWEEN_1_AND_12'))); + return $self->error($self->localise('INVALID_HOUR')." $hour. ". + $self->localise('BETWEEN_1_AND_12')); + } + + my $minute = $q->param ('minute'); + if ($minute =~ /^(\d{1,2})$/) { + $minute = $1; + } else { + $minute = "0"; + } + if (($minute < 0) || ($minute > 59)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_MINUTE')." $minute. ". + $self->localise('BETWEEN_0_AND_59'))); + return $self->error(self->localise('INVALID_MINUTE')." $minute. ". + $self->localise('BETWEEN_0_AND_59')); + } + + my $second = $q->param ('second'); + if ($second =~ /^(\d{1,2})$/) { + $second = $1; + } else { + $second = "0"; + } + if (($second < 0) || ($second > 59)) + { + $q->param(-name => "status_message", + -value => $q->p($self->localise('INVALID_SECOND')." $second. ". + $self->localise('BETWEEN_0_AND_59'))); + return $self->error($self->localise('INVALID_SECOND')." $second. ". + $self->localise('BETWEEN_0_AND_59')); + } + + my $ampm = $q->param ('ampm'); + if ($ampm =~ /^(AM|PM)$/) { + $ampm = $1; + } else { + $ampm = "AM"; + } + + # convert to 24 hour time + + $hour = $hour % 12; + if ($ampm eq "PM") + { + $hour = $hour + 12; + } + + #-------------------------------------------------- + # Store time zone in configuration database + #-------------------------------------------------- + + my $conf = esmith::ConfigDB->open(); + my $old = $conf->get('UnsavedChanges')->value; + my $rec = $conf->get('TimeZone'); + unless ($rec) + { + $rec = $conf->new_record('TimeZone',undef); + } + $rec->set_value($timezone); + $conf->get('UnsavedChanges')->set_value($old); + + #-------------------------------------------------- + # Signal event to change time zone, system time + # and hardware clock + #-------------------------------------------------- + + my $newdate = sprintf "%02d%02d%02d%02d%04d.%02d", + $month, $day, $hour, $minute, $year, $second; + + esmith::util::backgroundCommand(2, + "/sbin/e-smith/signal-event","timezone-update",$newdate); + + return $self->success('UPDATING_CLOCK'); +} + +=pod + +=head2 _performSetTimeserver + +Subroutine to set the NTP server + +=begin testing + +SKIP: { + skip "unsafe!", 3 unless esmith::TestUtils::destruction_ok(); + is($FM->_performSetTimeserver(), '', 'performSetTimeserver'); + $FM->{cgi}->param(-name=>'ntpEnabled', -value=>'on'); + $FM->{cgi}->param(-name=>'ntpServer', -value=>'time.nrc.ca'); + $FM->_performSetTimeserver(); + like($_STDOUT_, qr/SETTINGS_CHANGED/, ' .. changed settings'); + $FM->{cgi}->param(-name=>'ntpEnabled', -value=>'off'); + $FM->_performSetTimeserver(); + like($_STDOUT_, qr/SETTINGS_CHANGED/, ' .. and disabled'); +} + +=end testing + +=cut + +sub _performSetTimeserver +{ + my $self = shift; + my $q = $self->{cgi}; + my $msg; + + #------------------------------------------------------------ + # Verify the arguments and untaint the variables (see Camel + # book, "Detecting and laundering tainted data", pg. 358) + #------------------------------------------------------------ + + my $newStatus = ''; + my $ntpServer = ''; + + if ($q->param ('ntpStatus') eq 'enabled') + { + $newStatus = "on"; + } + else + { + $newStatus = "off"; + } + + if (defined ($q->param ('ntpServer'))) + { + $ntpServer = $q->param ('ntpServer'); + } + else + { + $ntpServer = ""; + } + + if ($newStatus ne "on") # asking to have NTP disabled + { + # make sure that the parameters are set for disabled + + my $conf = esmith::ConfigDB->open(); + my $old = $conf->get('UnsavedChanges')->value; + my $rec = $conf->get('ntpd'); + if ($rec) + { + $rec->set_prop('status', ($rec->prop('SyncToHWClockSupported') || 'yes') eq 'yes' ? 'enabled' : 'disabled'); + $rec->set_prop('NTPServer',''); + } + else + { + $rec = $conf->new_record('ntpd', + {type=>'service', status=>'enabled', SyncToHWClockSupported => 'yes', NTPServer=>''}); + } + $conf->get('UnsavedChanges')->set_value($old); + + $msg = 'SERVER_DISABLED_DESC'; + + } + else # enable service and synch with ntpServer + { + if ($ntpServer eq "pool.ntp.org") + { + return $self->error('INVALID_NTP_ADDR'); + } + elsif ($ntpServer =~ /^([a-zA-Z0-9\.\-]+)$/) + { + $ntpServer = $1; + } + elsif ($ntpServer =~ /^\s*$/) + { + $ntpServer = ""; + } + else + { + return $self->error('INVALID_NTP_ADDR'); + } + + #------------------------------------------------------------ + # Looks good; go ahead and change the parameters. + #------------------------------------------------------------ + + my $conf = esmith::ConfigDB->open(); + my $old = $conf->get('UnsavedChanges')->value; + my $rec = $conf->get('ntpd'); + if ($rec) + { + $rec->set_prop('status','enabled'); + $rec->set_prop('NTPServer',$ntpServer); + } + else + { + $rec = $conf->new_record('ntpd', + {type=>'service',status=>'enabled',SyncToHWClockSupported => 'yes',NTPServer=>$ntpServer}); + } + $conf->get('UnsavedChanges')->set_value($old); + + $msg = 'SETTINGS_CHANGED'; + if ($ntpServer =~ /^\s*$/) + { + $rec->set_prop('status', ($rec->prop('SyncToHWClockSupported') || 'yes') eq 'yes' ? 'enabled' : 'disabled'); + $rec->set_prop('NTPServer', ''); + $msg = 'INVALID_NTP_SERVER' if ($rec->prop('SyncToHWClockSupported') || 'yes') ne 'yes'; + } + + } + + esmith::util::backgroundCommand(2, + "/sbin/e-smith/signal-event", "timeserver-update"); + + return $self->success($msg); +} + +1; +