Hello community, here is the log from the commit of package cronie for openSUSE:Factory checked in at 2014-09-24 13:09:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/cronie (Old) and /work/SRC/openSUSE:Factory/.cronie.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "cronie" Changes: -------- --- /work/SRC/openSUSE:Factory/cronie/cronie.changes 2014-09-12 11:19:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.cronie.new/cronie.changes 2014-09-24 13:09:06.000000000 +0200 @@ -1,0 +2,8 @@ +Mon Sep 22 09:39:02 UTC 2014 - kstreit...@suse.com + + - fixes bnc#833240: the first occurance of "/etc/anacrontab" +replaced with "/etc/crontab" in the manpage file + - version updated to 1.4.12 + * various small bugfixes + +------------------------------------------------------------------- Old: ---- cronie-1.4.11.tar.gz New: ---- cronie-1.4.12.tar.gz fix-manpage-replace-anacrontab-with-crontab.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ cronie.spec ++++++ --- /var/tmp/diff_new_pack.TyHtCc/_old 2014-09-24 13:09:07.000000000 +0200 +++ /var/tmp/diff_new_pack.TyHtCc/_new 2014-09-24 13:09:07.000000000 +0200 @@ -19,7 +19,7 @@ # 3 : we don't need to do something with /etc/sysconfig/cron for now %define cron_configs \{%{_sysconfdir}/pam.d/crond,%{_sysconfdir}/crontab,%{_sysconfdir}/cron.deny,%{_sysconfdir}/omc/srvinfo.d/cron.xml\} Name: cronie -Version: 1.4.11 +Version: 1.4.12 Release: 0 Summary: Cron Daemon License: BSD-3-Clause and GPL-2.0 and MIT @@ -48,6 +48,9 @@ Patch8: cronie-anacron-1.4.7-run-crons.patch Patch10: cronie-nofork-nopid.patch Patch12: cronie-piddir.patch +# PATCH-FIX-SUSE the first occurance of "/etc/anacrontab" was replaced by "/etc/crontab" +# in manpage file because the /etc/crontab is still used in SUSE. +Patch13: fix-manpage-replace-anacrontab-with-crontab.patch BuildRequires: audit-devel BuildRequires: libselinux-devel BuildRequires: pam-devel @@ -104,6 +107,7 @@ cp %{SOURCE7} ./cron_to_cronie.README %patch10 %patch12 -p1 +%patch13 -p1 %build # fill macro CRON_VERSION it is used in top three lines of crontab file,should be reworked ++++++ cronie-1.4.11.tar.gz -> cronie-1.4.12.tar.gz ++++++ ++++ 4848 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/COPYING new/cronie-1.4.12/COPYING --- old/cronie-1.4.11/COPYING 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/COPYING 2014-09-17 14:13:44.000000000 +0200 @@ -76,3 +76,342 @@ * * @(#)bitstring.h 8.1 (Berkeley) 7/19/93 */ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser 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. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + 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., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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) year 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. + + <signature of Ty Coon>, 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 Lesser General +Public License instead of this License. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/ChangeLog new/cronie-1.4.12/ChangeLog --- old/cronie-1.4.11/ChangeLog 2013-07-18 15:23:19.000000000 +0200 +++ new/cronie-1.4.12/ChangeLog 2014-09-17 15:00:12.000000000 +0200 @@ -1,3 +1,114 @@ +2014-09-17 Marcela Mašláňová <mmasl...@redhat.com> + + * contrib/cronie.systemd: Services must be running before starting + crond, otherwise many jobs is not running properly for no obvious + reason. nss-user-lookup.target should help when people are authenticated + through nss/sssd. Based on: https://bugzilla.redhat.com/show_bug.cgi?id=1067236 + +2014-07-30 Marcela Mašláňová <mmasl...@redhat.com> + + * src/cron.c: More logging when getpwnam fails. Based on: rhbz#1123984 Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-07-25 Marcela Mašláňová <mmasl...@redhat.com> + + * configure.ac, src/env.c: BSD doesn't define environ in unistd.h. + Also cronie didn't have option for enabling BSD specifics. Based on: na...@gentoo.org Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-07-25 Marcela Mašláňová <mmasl...@redhat.com> + + * anacron/readtab.c: Add missing brackets into anacron readtab. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-07-25 Marcela Mašláňová <mmasl...@redhat.com> + + * src/misc.c: Include missing header for signal handlers. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-07-04 Marcela Mašláňová <mmasl...@redhat.com> + + * contrib/cronie.systemd: Missing reload definition in unit file was + added. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-04-30 Marcela Mašláňová <mmasl...@redhat.com> + + * : commit b2c8cbcef8c97b5a175d6e71995249b288707b0f Author: Tomas + Mraz <tm...@fedoraproject.org> Date: Tue Apr 29 14:08:25 2014 + +0200 + +2014-03-31 Martin Poole <mpo...@redhat.com> + + * src/misc.c: crond installs a signal hander for SIGINT & SIGTERM + which removes the pid file and exits. This handler is not reset for + individual forked sub-processes which results in the condition that + if the child receives SIGINT or SIGTERM the pid file is erroneously + removed. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2014-02-14 Marcela Mašláňová <mmasl...@redhat.com> + + * anacron/readtab.c: Anacron does not correctly check configuration + parameters for validity and can segfault on certain data types. The return code + from the match_rx calls in readtab.c are not being checked + correctly. Bugfix let to segfaults in downstreams on non intel + architectures. All options in anacrontab should be now working + correctly. Based on patch from: Martin Poole + +2014-01-20 Marcela Mašláňová <mmasl...@redhat.com> + + * contrib/cronie.systemd: Remove syslog.target according to Fedora + and systemd guidelines. https://fedorahosted.org/fpc/ticket/177#comment:2 Thanks to: Ville Skyttä + +2014-01-17 Ville Skyttä <ville.sky...@iki.fi> + + * man/anacron.8: [PATCH] Fix anacron.8 UTF-8 encoding. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2013-12-18 Ville Skyta <ville.sky...@iki.fi> + + * anacron/lock.c, anacron/readtab.c, man/crontab.5, src/cron.c, + src/database.c: Spelling fixes. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2013-12-18 Ville Skytta <ville.sky...@iki.fi> + + * anacron/readtab.c, src/do_command.c: strncmp() size fixes. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2013-12-18 Martin Poole <mpo...@redhat.com> + + * anacron/readtab.c: Anacron does not correctly check configuration + parameters for validity and can segfault on certain data types. The + return code from the match_rx calls in readtab.c are not being + checked correctly. Signed-off-by: Marcela Mašláňová <mmasl...@redhat.com> + +2013-09-26 Marcela Mašláňová <mmasl...@redhat.com> + + * man/cron.8: crond -n must change pam setting. + +2013-09-12 Marcela Mašláňová <mmasl...@redhat.com> + + * cronie.init: Non-root user can't read configuration. Init file + will fail with proper error message. rhbz#1006869 + +2013-08-29 Marcela Mašláňová <mmasl...@redhat.com> + + * : commit 2ec335f9549e8134102ac37665171a40a5407512 Author: Saul + Wold <s...@linux.intel.com> Date: Mon Aug 26 11:18:27 2013 +0200 + +2013-08-16 Tomas Mraz <tm...@fedoraproject.org> + + * src/security.c: Pull PAM environment variables also from session + modules. - also fix memory leak of environment returned by pam_getenvlist() + +2013-08-13 Marcela Mašláňová <mmasl...@redhat.com> + + * contrib/cronie.systemd: KillMode in systemd unit file will enable + to finish jobs executed by cron. Even if cron dies, jobs should + continue. Based on: https://bugzilla.redhat.com/show_bug.cgi?id=919290 + +2013-08-09 Tomas Mraz <tm...@fedoraproject.org> + + * src/misc.c: Fcntl locking has different semantics than flock. + Prefer flock. + +2013-07-18 Marcela Mašláňová <mmasl...@redhat.com> + + * ChangeLog, configure.ac: Release 1.4.11 + 2013-06-11 Tomas Mraz <tm...@fedoraproject.org> * src/user.c: Log failures in load_user(). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/anacron/Makefile.am new/cronie-1.4.12/anacron/Makefile.am --- old/cronie-1.4.11/anacron/Makefile.am 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/anacron/Makefile.am 2014-03-31 18:01:14.000000000 +0200 @@ -9,6 +9,7 @@ nodist_anacron_SOURCES = $(common_nodist) BUILT_SOURCES = $(common_nodist) +AM_CFLAGS = -I$(top_srcdir) LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/anacron/lock.c new/cronie-1.4.12/anacron/lock.c --- old/cronie-1.4.11/anacron/lock.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/anacron/lock.c 2014-03-31 18:01:14.000000000 +0200 @@ -129,7 +129,7 @@ period = days_last_month (); bypass = days_this_month (); break; - case 2: /* yearly, annualy */ + case 2: /* yearly, annually */ period = days_last_year (); bypass = days_this_year (); break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/anacron/readtab.c new/cronie-1.4.12/anacron/readtab.c --- old/cronie-1.4.11/anacron/readtab.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/anacron/readtab.c 2014-07-29 13:17:25.000000000 +0200 @@ -110,7 +110,7 @@ static int job_arg_num(const char *ident) -/* Return the command-line-argument number refering to this job-identifier. +/* Return the command-line-argument number referring to this job-identifier. * If it isn't specified, return -1. */ { @@ -208,11 +208,11 @@ } jr = obstack_alloc(&tab_o, sizeof(job_rec)); - if (!strncmp ("@monthly", periods, 7)) { + if (!strncmp ("@monthly", periods, 8)) { jr->named_period = 1; - } else if (!strncmp("@yearly", periods, 7) || !strncmp("@annualy", periods, 8)) { + } else if (!strncmp("@yearly", periods, 7) || !strncmp("@annually", periods, 9) || !strncmp(/* backwards compat misspelling */"@annualy", periods, 8)) { jr->named_period = 2; - } else if (!strncmp ("@daily", periods, 7)) { + } else if (!strncmp ("@daily", periods, 6)) { jr->named_period = 3; } else if (!strncmp ("@weekly", periods, 7)) { jr->named_period = 4; @@ -271,7 +271,8 @@ if (strncmp(env_var, "START_HOURS_RANGE", 17) == 0) { r = match_rx("^([[:digit:]]+)-([[:digit:]]+)$", value, 2, &from, &to); - if ((r == -1) || (from == NULL) || (to == NULL)) goto reg_invalid; + if (r == -1) goto reg_err; + if (r == 0) goto reg_invalid; range_start = atoi(from); range_stop = atoi(to); if (range_stop < range_start) { @@ -282,6 +283,8 @@ } if (strncmp(env_var, "RANDOM_DELAY", 12) == 0) { r = match_rx("^([[:digit:]]+)$", value, 0); + if (r == -1) goto reg_err; + if (r == 0) goto reg_invalid; if (r != -1) { int i = random(); double x = 0; @@ -289,7 +292,6 @@ random_number = (int)x; Debug(("Randomized delay set: %d", random_number)); } - else goto reg_invalid; } if (strncmp(env_var, "PREFERRED_HOUR", 14) == 0) { r = match_rx("^([[:digit:]]+)$", value, 1, &pref_hour); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/configure.ac new/cronie-1.4.12/configure.ac --- old/cronie-1.4.11/configure.ac 2013-07-18 15:20:46.000000000 +0200 +++ new/cronie-1.4.12/configure.ac 2014-09-17 14:15:04.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([cronie],[1.4.11],[mmasl...@redhat.com,tm...@redhat.com]) +AC_INIT([cronie],[1.4.12],[mmasl...@redhat.com,tm...@redhat.com]) AC_CONFIG_HEADER([config.h]) AC_PREREQ(2.60) @@ -136,6 +136,8 @@ LDFLAGS="$LDFLAGS -Wl,-z,relro -Wl,-z,now" fi +AC_ARG_ENABLE(bsd, BSD_STRING(--enable-bsd,Build cronie with BSD specific parts)) + # Check whether user wants SELinux support SELINUX_MSG="no" LIBSELINUX="" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/contrib/cronie.systemd new/cronie-1.4.12/contrib/cronie.systemd --- old/cronie-1.4.11/contrib/cronie.systemd 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/contrib/cronie.systemd 2014-09-17 13:45:35.000000000 +0200 @@ -1,10 +1,12 @@ [Unit] Description=Command Scheduler -After=syslog.target auditd.service systemd-user-sessions.service time-sync.target +After=auditd.service nss-user-lookup.target systemd-user-sessions.service time-sync.target ypbind.service [Service] EnvironmentFile=/etc/sysconfig/crond ExecStart=/usr/sbin/crond -n $CRONDARGS +ExecReload=/bin/kill -HUP $MAINPID +KillMode=process [Install] WantedBy=multi-user.target diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/cronie.init new/cronie-1.4.12/cronie.init --- old/cronie-1.4.11/cronie.init 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/cronie.init 2014-03-31 18:01:14.000000000 +0200 @@ -34,7 +34,7 @@ # Source function library. . /etc/rc.d/init.d/functions -[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog +[ $UID -eq 0 ] && [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog start() { if [ $(id -ru) -ne 0 ] ; then diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/man/anacron.8 new/cronie-1.4.12/man/anacron.8 --- old/cronie-1.4.11/man/anacron.8 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/man/anacron.8 2014-03-31 18:01:14.000000000 +0200 @@ -213,5 +213,5 @@ .PP For Fedora, Anacron is maintained by .MT mmaslano@redhat.\:com -Marcela Mašláňov� +Marcela Mašláňová .ME . diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/man/cron.8 new/cronie-1.4.12/man/cron.8 --- old/cronie-1.4.11/man/cron.8 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/man/cron.8 2014-03-31 18:01:14.000000000 +0200 @@ -22,7 +22,7 @@ .\" .\" $Id: cron.8,v 1.8 2004/01/23 19:03:32 vixie Exp $ .\" -.TH CRON "8" "2013-01-02" "cronie" "System Administration" +.TH CRON "8" "2013-09-26" "cronie" "System Administration" .SH NAME crond \- daemon to execute scheduled commands .SH SYNOPSIS @@ -160,7 +160,11 @@ .TP .B "\-n" Tells the daemon to run in the foreground. This can be useful when -starting it out of init. +starting it out of init. With this option is needed to change pam setting. +.I /etc/pam.d/crond +must not enable +.I pam_loginuid.so +module. .TP .B "\-p" Allows diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/man/crontab.5 new/cronie-1.4.12/man/crontab.5 --- old/cronie-1.4.11/man/crontab.5 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/man/crontab.5 2014-03-31 18:01:14.000000000 +0200 @@ -253,7 +253,7 @@ and .I /etc/crontab are system jobs, which are used usually for more than one user, thus, -additionaly the username is needed. MAILTO on the first line is +additionally the username is needed. MAILTO on the first line is optional. .SH EXAMPLE OF A JOB IN /etc/cron.d/job .nf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/missing new/cronie-1.4.12/missing --- old/cronie-1.4.11/missing 2012-09-26 16:03:18.000000000 +0200 +++ new/cronie-1.4.12/missing 2014-09-10 13:53:59.000000000 +0200 @@ -1,10 +1,10 @@ #! /bin/sh -# Common stub for a few missing GNU programs while installing. +# Common wrapper for a few potentially missing GNU programs. -scriptversion=2012-01-06.18; # UTC +scriptversion=2012-06-26.16; # UTC -# Copyright (C) 1996-2012 Free Software Foundation, Inc. -# Originally by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # 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 @@ -29,61 +29,33 @@ exit 1 fi -run=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# In the cases where this matters, 'missing' is being run in the -# srcdir already. -if test -f configure.ac; then - configure_ac=configure.ac -else - configure_ac=configure.in -fi +case $1 in -msg="missing on your system" + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; -case $1 in ---run) - # Try to run requested program, and just exit if it succeeds. - run= - shift - "$@" && exit 0 - # Exit code 63 means version mismatch. This often happens - # when the user try to use an ancient version of a tool on - # a file that requires a minimum version. In this case we - # we should proceed has if the program had been absent, or - # if --run hadn't been passed. - if test $? = 63; then - run=: - msg="probably too old" - fi - ;; + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... -Handle 'PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an -error status if there is no known handling for PROGRAM. +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit - --run try to run the given command, and emulate it if it fails Supported PROGRAM values: - aclocal touch file 'aclocal.m4' - autoconf touch file 'configure' - autoheader touch file 'config.h.in' - autom4te touch the output file, or create a stub one - automake touch all 'Makefile.in' files - bison create 'y.tab.[ch]', if possible, from existing .[ch] - flex create 'lex.yy.c', if possible, from existing .c - help2man touch the output file - lex create 'lex.yy.c', if possible, from existing .c - makeinfo touch the output file - yacc create 'y.tab.[ch]', if possible, from existing .[ch] + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. @@ -98,228 +70,141 @@ ;; -*) - echo 1>&2 "$0: Unknown '$1' option" + echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# Now exit if we have it, but it failed. Also exit now if we -# don't have it and --version was passed (most likely to detect -# the program). This is about non-GNU programs, so use $1 not -# $program. -case $1 in - lex*|yacc*) - # Not GNU programs, they don't have --version. - ;; +# Run the given program, remember its exit status. +"$@"; st=$? - *) - if test -z "$run" && ($1 --version) > /dev/null 2>&1; then - # We have it, but it failed. - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - # Could not run --version or --help. This is probably someone - # running '$TOOL --version' or '$TOOL --help' to check whether - # $TOOL exists and not knowing $TOOL uses missing. - exit 1 - fi - ;; -esac - -# If it does not exist, or fails to run (possibly an outdated version), -# try to emulate it. -case $program in - aclocal*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acinclude.m4' or '${configure_ac}'. You might want - to install the Automake and Perl packages. Grab them from - any GNU archive site." - touch aclocal.m4 - ;; - - autoconf*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified '${configure_ac}'. You might want to install the - Autoconf and GNU m4 packages. Grab them from any GNU - archive site." - touch configure - ;; - - autoheader*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'acconfig.h' or '${configure_ac}'. You might want - to install the Autoconf and GNU m4 packages. Grab them - from any GNU archive site." - files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` - test -z "$files" && files="config.h" - touch_files= - for f in $files; do - case $f in - *:*) touch_files="$touch_files "`echo "$f" | - sed -e 's/^[^:]*://' -e 's/:.*//'`;; - *) touch_files="$touch_files $f.in";; - esac - done - touch $touch_files - ;; +# If it succeeded, we are done. +test $st -eq 0 && exit 0 - automake*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified 'Makefile.am', 'acinclude.m4' or '${configure_ac}'. - You might want to install the Automake and Perl packages. - Grab them from any GNU archive site." - find . -type f -name Makefile.am -print | - sed 's/\.am$/.in/' | - while read f; do touch "$f"; done - ;; - - autom4te*) - echo 1>&2 "\ -WARNING: '$1' is needed, but is $msg. - You might have modified some files without having the - proper tools for further handling them. - You can get '$1' as part of Autoconf from any GNU - archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo "#! /bin/sh" - echo "# Created by GNU Automake missing as a replacement of" - echo "# $ $@" - echo "exit 0" - chmod +x $file - exit 1 - fi - ;; - - bison*|yacc*) - echo 1>&2 "\ -WARNING: '$1' $msg. You should only need it if - you modified a '.y' file. You may need the Bison package - in order for those modifications to take effect. You can get - Bison from any GNU archive site." - rm -f y.tab.c y.tab.h - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -f y.tab.c; then - echo 'main() { return 0; }' >y.tab.c - fi - ;; - - lex*|flex*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.l' file. You may need the Flex package - in order for those modifications to take effect. You can get - Flex from any GNU archive site." - rm -f lex.yy.c - if test $# -ne 1; then - eval LASTARG=\${$#} - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -f lex.yy.c; then - echo 'main() { return 0; }' >lex.yy.c - fi - ;; - - help2man*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a dependency of a manual page. You may need the - Help2man package in order for those modifications to take - effect. You can get Help2man from any GNU archive site." - - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - fi - ;; - - makeinfo*) - echo 1>&2 "\ -WARNING: '$1' is $msg. You should only need it if - you modified a '.texi' or '.texinfo' file, or any other file - indirectly affecting the aspect of the manual. The spurious - call might also be the consequence of using a buggy 'make' (AIX, - DU, IRIX). You might want to install the Texinfo package or - the GNU make package. Grab either from any GNU archive site." - # The file to touch is that specified with -o ... - file=`echo "$*" | sed -n "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -z "$file"; then - # ... or it is the one specified with @setfilename ... - infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` - file=`sed -n ' - /^@setfilename/{ - s/.* \([^ ]*\) *$/\1/ - p - q - }' $infile` - # ... or it is derived from the source name (dir/f.texi becomes f.info) - test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info - fi - # If the file does not exist, the user really needs makeinfo; - # let's fail without touching anything. - test -f $file || exit 1 - touch $file - ;; - - *) - echo 1>&2 "\ -WARNING: '$1' is needed, and is $msg. - You might have modified some files without having the - proper tools for further handling them. Check the 'README' file, - it often tells you about the needed prerequisites for installing - this package. You may also peek at any GNU archive site, in case - some other package would contain this missing '$1' program." - exit 1 - ;; -esac +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi -exit 0 +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'automa4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/Makefile.am new/cronie-1.4.12/src/Makefile.am --- old/cronie-1.4.11/src/Makefile.am 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/Makefile.am 2014-03-31 18:01:14.000000000 +0200 @@ -15,6 +15,7 @@ nodist_crontab_SOURCES = $(common_nodist) BUILT_SOURCES = $(common_nodist) +AM_CFLAGS = -I$(top_srcdir) LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/cron.c new/cronie-1.4.12/src/cron.c --- old/cronie-1.4.11/src/cron.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/cron.c 2014-07-30 10:17:04.000000000 +0200 @@ -182,7 +182,7 @@ fprintf(stderr, "Options:\n"); fprintf(stderr, " -h print this message \n"); fprintf(stderr, " -i deamon runs without inotify support\n"); - fprintf(stderr, " -m <comm> off, or specify prefered client for sending mails\n"); + fprintf(stderr, " -m <comm> off, or specify preferred client for sending mails\n"); fprintf(stderr, " -n run in foreground\n"); fprintf(stderr, " -p permit any crontab\n"); fprintf(stderr, " -P use PATH=\"%s\"\n", _PATH_DEFPATH); @@ -593,6 +593,10 @@ job_add(e, u); /*will add job, if it isn't in queue already for NOW. */ } } + else { + log_it(uname, getpid(), "ERROR", "getpwnam() failed",errno); + Debug(DSCH | DEXT, ("%s:%d pid=%d time=%ld getpwnam(%s) failed errno=%d error=%s\n",__FILE__,__LINE__,getpid(),time(NULL),uname,errno,strerror(errno))); + } } } if (orig_tz != NULL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/database.c new/cronie-1.4.12/src/database.c --- old/cronie-1.4.11/src/database.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/database.c 2014-03-31 18:01:14.000000000 +0200 @@ -327,7 +327,7 @@ if (retval <= 0) { log_it("CRON", pid, "INOTIFY", "read failed", errno); - /* something fatal must have occured we have no other reasonable + /* something fatal must have occurred we have no other reasonable * way how to handle this failure than exit. */ (void) exit(ERROR_EXIT); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/do_command.c new/cronie-1.4.12/src/do_command.c --- old/cronie-1.4.11/src/do_command.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/do_command.c 2014-04-30 14:30:53.000000000 +0200 @@ -238,6 +238,12 @@ */ { char *shell = env_get("SHELL", jobenv); + int fd, fdmax = getdtablesize(); + + /* close all unwanted open file descriptors */ + for(fd = STDERR + 1; fd < fdmax; fd++) { + close(fd); + } #if DEBUGGING if (DebugFlags & DTEST) { @@ -410,7 +416,7 @@ /* Also skip it if MailCmd is set to "off" */ if (mailto && safe_p(usernm, mailto) - && strncmp(MailCmd,"off",4) && !SyslogOutput) { + && strncmp(MailCmd,"off",3) && !SyslogOutput) { char **env; char mailcmd[MAX_COMMAND]; char hostname[MAXHOSTNAMELEN]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/env.c new/cronie-1.4.12/src/env.c --- old/cronie-1.4.11/src/env.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/env.c 2014-07-29 13:17:25.000000000 +0200 @@ -30,6 +30,10 @@ #include "globals.h" #include "funcs.h" +#if defined(BSD) +extern char **environ; +#endif + char **env_init(void) { char **p = (char **) malloc(sizeof (char *)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/misc.c new/cronie-1.4.12/src/misc.c --- old/cronie-1.4.11/src/misc.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/misc.c 2014-07-29 13:17:25.000000000 +0200 @@ -29,6 +29,7 @@ #include <ctype.h> #include <errno.h> +#include <signal.h> #include <stdarg.h> #include <stdio.h> #include <stdlib.h> @@ -75,7 +76,9 @@ static int syslog_open = FALSE; #endif -#if defined(HAVE_FCNTL) && defined(F_SETLK) +#if defined(HAVE_FLOCK) +# define trylock_file(fd) flock((fd), LOCK_EX|LOCK_NB) +#elif defined(HAVE_FCNTL) && defined(F_SETLK) static int trylock_file(int fd) { struct flock fl; @@ -89,8 +92,6 @@ } #elif defined(HAVE_LOCKF) # define trylock_file(fd) lockf((fd), F_TLOCK, 0) -#elif defined(HAVE_FLOCK) -# define trylock_file(fd) flock((fd), LOCK_EX|LOCK_NB) #endif /* @@ -308,6 +309,9 @@ close(fd); fd = -1; } + /* and restore default sig handlers so we don't remove pid file if killed */ + signal(SIGINT,SIG_DFL); + signal(SIGTERM,SIG_DFL); return; } @@ -345,6 +349,13 @@ (void) fchmod(fd, 0644); (void) fcntl(fd, F_SETFD, 1); } +#if !defined(HAVE_FLOCK) + else { + /* Racy but better than nothing, just hope the parent exits */ + sleep(0); + trylock_file(fd); + } +#endif sprintf(buf, "%ld\n", (long) pid); (void) lseek(fd, (off_t) 0, SEEK_SET); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/popen.c new/cronie-1.4.12/src/popen.c --- old/cronie-1.4.11/src/popen.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/popen.c 2014-04-30 14:30:53.000000000 +0200 @@ -69,6 +69,7 @@ ssize_t out; char buf[PIPE_BUF]; struct sigaction sa; + int fd; #ifdef __GNUC__ (void) &iop; /* Avoid fork clobbering */ @@ -121,6 +122,11 @@ sa.sa_handler = SIG_DFL; sigaction(SIGPIPE, &sa, NULL); + /* close all unwanted open file descriptors */ + for (fd = STDERR + 1; fd < fds; fd++) { + close(fd); + } + if (cron_change_user_permanently(pw, pw->pw_dir) != 0) _exit(2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/cronie-1.4.11/src/security.c new/cronie-1.4.12/src/security.c --- old/cronie-1.4.11/src/security.c 2013-07-18 14:27:08.000000000 +0200 +++ new/cronie-1.4.12/src/security.c 2014-03-31 18:01:14.000000000 +0200 @@ -129,15 +129,13 @@ } #endif - *jobenv = build_env(e->envp); - #ifdef WITH_SELINUX /* we must get the crontab context BEFORE changing user, else * we'll not be permitted to read the cron spool directory :-) */ security_context_t ucontext = 0; - if (cron_get_job_range(u, &ucontext, *jobenv) < OK) { + if (cron_get_job_range(u, &ucontext, e->envp) < OK) { log_it(e->pwd->pw_name, getpid(), "ERROR", "failed to get SELinux context", 0); return -1; @@ -165,6 +163,8 @@ return -1; } + *jobenv = build_env(e->envp); + time_t job_run_time = time(0L); if ((minutely_time > 0) && ((job_run_time / 60) != (minutely_time / 60))) { @@ -615,11 +615,18 @@ */ static char **build_env(char **cronenv) { #ifdef WITH_PAM - char **jobenv; - char **pamenv = pam_getenvlist(pamh); + char **jobenv = pam_getenvlist(pamh); char *cronvar; int count = 0; - jobenv = env_copy(pamenv); + + if (jobenv == NULL) { + jobenv = env_init(); + if (jobenv == NULL) { + log_it("CRON", getpid(), + "ERROR", "Initialization of cron environment variables failed", 0); + return NULL; + } + } /* Now add the cron environment variables. Since env_set() * overwrites existing variables, this will let cron's ++++++ fix-manpage-replace-anacrontab-with-crontab.patch ++++++ >From 8769bba06b1632c6bd275f88c0fd10f591efdb9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=BDna=20Streitov=C3=A1?= <kstreit...@suse.cz> Date: Mon, 22 Sep 2014 10:41:14 +0200 Subject: [PATCH] fix manpage replace anacrontab with crontab /etc/anacrontab replaced by /etc/crontab in the first occurance of it. Fixes bnc#833240 --- man/cron.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/cron.8 b/man/cron.8 index 633dbc0..9716f8f 100644 --- a/man/cron.8 +++ b/man/cron.8 @@ -53,7 +53,7 @@ for crontab files which are named after accounts in The found crontabs are loaded into the memory. .I Cron also searches for -.I /etc/anacrontab +.I /etc/crontab and any files in the .I /etc/cron.d directory, which have a different format (see -- 1.8.4.5 -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org