cronie (1.7.2-4) unstable; urgency=medium . * d/patches: Fix FTBFS with GCC-15 . cronie (1.7.2-3) unstable; urgency=medium . * Move to unstable . cronie (1.7.2-2) experimental; urgency=medium . * Move aliased files from / to /usr (Closes: #1073727) . cronie (1.7.2-1) unstable; urgency=medium . * New upstream version * Standards-Version: 4.7.0 (routine-update) * Remove trailing whitespace in debian/copyright (routine-update) * Refresh patches . cronie (1.7.1-1) unstable; urgency=medium . * New upstream release. * Refresh cronie-service-debianization.patch . cronie (1.7.0-2) unstable; urgency=medium . * d/patches: Update Manpage-and-typo-fixes.patch . cronie (1.7.0-1) unstable; urgency=medium . * New upstream release. * Refresh patches. . cronie (1.6.1-9) unstable; urgency=medium . * d/control: Drop dependency on adduser (Closes: #1051839) * d/cronie.postinst: Trim duplicated code that is in cron-daemon-common * d/etc: Remove files installed with cron-daemon-common . cronie (1.6.1-8) unstable; urgency=medium . * reorganized debian/control like the same file in cron package. Closes: #1046898 . cronie (1.6.1-7) unstable; urgency=medium . * Move to unstable (Closes: #1043361) * d/watch: Update to grab correct source file * d/copyright: Update year to 2023 for debian files * d/control: Update standards version to 4.6.2 and update maintainer email * d/upstream/metadata: Add upstream metadata . cronie (1.6.1-6) experimental; urgency=medium . [lq27267@gmail.com] * Fix watch file to grab most recent upstream release . [georgesk@debian.org] * replaced the dependency on lsb-base by a dependency on sysvinit-utils, and removed the versioned mention about the dependency on libpam-runtime . cronie (1.6.1-5) experimental; urgency=medium . * cronie pre-depends now on cron-daemon-common, and does no longer install conflicting files. Closes: #1023325 . cronie (1.6.1-4) experimental; urgency=medium . * fixed the watch file . cronie (1.6.1-3) experimental; urgency=medium . * reverted previous changes, as I did not notice the closed ITA bug #974038, came back to contents authored by Lin Lance. . cronie (1.6.1-2) experimental; urgency=medium . * refreshed debian patches, which were targetted to version 1.5.5 . cronie (1.6.1-1) experimental; urgency=medium . * New upstream version (1.6.1) * Refreshed patches * d/control: New maintainer (Closes: #974038) * d/control: Updated standards (4.6.0), dh-compat (13) . cronie (1.5.5-3) experimental; urgency=medium . * Add Hurd-workaround-for-PATH_MAX.patch (Closes: #638048) * Fix spelling error in previous changelog entry . cronie (1.5.5-2) experimental; urgency=medium . * Don't build /usr/sbin/anacron /usr/sbin/anacron is still provided by src:anacron. Thanks, Andreas Beckmann, for catching this! (Closes: #944024) . cronie (1.5.5-1) experimental; urgency=medium . * New upstream version 1.5.5 * Drop patches (included upstream): - crond-report-missing-newline-before-EOF.patch - crontab-Add-Y-N-to-retry-prompt.patch - crontab-fsync-to-check-for-full-disk.patch - crontab.1-Various-fixes-and-improvements.patch - entries-Explicitly-validate-upper-ranges-and-steps.patch * Refresh patches - debian/patches/Manpage-and-typo-fixes.patch - debian/patches/Rename-PAM-service-to-cronie.patch + Split out Unbundle-upstream-PAM-config.patch from this one . cronie (1.5.4-final-2) experimental; urgency=medium . * build: Set default EDITOR to /usr/bin/sensible-editor * d/patches (added): - crond-report-missing-newline-before-EOF.patch - entries-Explicitly-validate-upper-ranges-and-steps.patch - crontab.1-Various-fixes-and-improvements.patch - crontab-Add-Y-N-to-retry-prompt.patch - crontab-fsync-to-check-for-full-disk.patch . cronie (1.5.4-final-1) experimental; urgency=medium . * New upstream release. (Closes: #697811, #783856) . [ Andreas Henriksson ] * debian/watch: update for cronie move to github * Modify patches to apply against new upstream release * Add debian/gbp.conf * Adjust and ship the cronie.service file * Use debian/clean to remove src/cron-paths.h * Fix lintian warning about not using default-mta * Fix typo in patch tagging meta-header . [ Christian Kastner ] * d/control: - Switch Build-Depends from debhelper to debhelper-compat - Bump debhelper compatibility level to 12 - Bump Standards-Version to 4.4.1 (no changes needed) - Remove now obsolete d/compat file - Set Rules-Requires-Root: no We don't need (fake)root for building the package. - Point Homepage to GitHub - Set Vcs-* URLs for Salsa - Mark package cronie as Multi-Arch: foreign - Add Pre-Depends: ${misc:Pre-Depends} to binary package As recommended by lintian's skip-systemd-native-flag-missing-pre-depends * d/cronie.default: Add new daemon flag "-P" * d/rules: - Add hardening flags - Stop passing actions to dh_installinit This has been obsoleted by dependency-based booting in Wheezy, see https://lists.debian.org/debian-devel/2013/05/msg01109.html - Use DEB_HOST_ARCH_OS from /usr/share/dpkg/architecture.mk - Proper passing of CFLAGS through DEB_CFLAGS_MAINT_APPEND * d/copyright: - Fix syntax errors - Switch URL to official policy URL - Point Source to GitHub fedorahosted.org has been retired - Bump copyrights * d/clean: Remove generated files for (non-enabled) anacron build * Sync maintscripts with src:cron . cronie (1.4.8-1~exp1) experimental; urgency=low . * Initial release (Closes: #590876) * debian/patches added: - 0001-Unbundle-anacron - 0002-Manpage-and-typo-fixes - 0003-Rename-PAM-service-to-cronie - 0004-Debian-specific-paths-and-features - 0005-Extend-support-for-kFreeBSD-and-GNU-HURD
188 lines
5.6 KiB
Diff
188 lines
5.6 KiB
Diff
Author: Lance Lin <lq27267@gmail.com>
|
|
Date: Tue, 25 Feb 2025 20:27:50 +0700
|
|
Description: Fix FTBFS with GCC-15
|
|
|
|
--- a/src/cronnext.c
|
|
+++ b/src/cronnext.c
|
|
@@ -55,7 +55,7 @@
|
|
|
|
#ifdef WITH_SELINUX
|
|
int get_security_context(const char *name, int crontab_fd,
|
|
- security_context_t *rcontext, const char *tabname) {
|
|
+ char **rcontext, const char *tabname) {
|
|
/* empty stub */
|
|
(void)name;
|
|
(void)crontab_fd;
|
|
@@ -64,7 +64,7 @@
|
|
return 0;
|
|
}
|
|
|
|
-void free_security_context(security_context_t *scontext) {
|
|
+void free_security_context(char **scontext) {
|
|
/* empty stub */
|
|
(void)scontext;
|
|
}
|
|
--- a/src/crontab.c
|
|
+++ b/src/crontab.c
|
|
@@ -303,7 +303,7 @@
|
|
break;
|
|
#ifdef WITH_SELINUX
|
|
case 's':
|
|
- if (getprevcon((security_context_t *) & (selinux_context))) {
|
|
+ if (getprevcon((char **) & (selinux_context))) {
|
|
fprintf(stderr, "Cannot obtain SELinux process context\n");
|
|
exit(ERROR_EXIT);
|
|
}
|
|
--- a/src/funcs.h
|
|
+++ b/src/funcs.h
|
|
@@ -89,7 +89,7 @@
|
|
user *load_user(int, struct passwd *, const char *, const char *, const char *),
|
|
*find_user(cron_db *, const char *, const char *);
|
|
|
|
-entry *load_entry(FILE *, void (*)(), struct passwd *, char **);
|
|
+entry *load_entry(FILE *, void (*)(const char *), struct passwd *, char **);
|
|
|
|
FILE *cron_popen(char *, const char *, struct passwd *, char **);
|
|
|
|
@@ -115,11 +115,11 @@
|
|
|
|
int get_security_context(const char *name,
|
|
int crontab_fd,
|
|
- security_context_t *rcontext,
|
|
+ char **rcontext,
|
|
const char *tabname
|
|
);
|
|
|
|
-void free_security_context( security_context_t *scontext );
|
|
+void free_security_context( char **scontext );
|
|
|
|
int crontab_security_access(void);
|
|
|
|
--- a/src/security.c
|
|
+++ b/src/security.c
|
|
@@ -94,8 +94,8 @@
|
|
static char **build_env(char **cronenv);
|
|
|
|
#ifdef WITH_SELINUX
|
|
-static int cron_change_selinux_range(user * u, security_context_t ucontext);
|
|
-static int cron_get_job_range(user * u, security_context_t * ucontextp,
|
|
+static int cron_change_selinux_range(user * u, char * ucontext);
|
|
+static int cron_get_job_range(user * u, char ** ucontextp,
|
|
char **jobenv);
|
|
#endif
|
|
|
|
@@ -137,7 +137,7 @@
|
|
/* 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;
|
|
+ char * ucontext = 0;
|
|
|
|
if (cron_get_job_range(u, &ucontext, e->envp) < OK) {
|
|
log_it(e->pwd->pw_name, getpid(), "ERROR",
|
|
@@ -276,8 +276,8 @@
|
|
|
|
|
|
#ifdef WITH_SELINUX
|
|
-static int cron_authorize_context(security_context_t scontext,
|
|
- security_context_t file_context) {
|
|
+static int cron_authorize_context(char * scontext,
|
|
+ char * file_context) {
|
|
struct av_decision avd;
|
|
int retval;
|
|
security_class_t tclass;
|
|
@@ -309,8 +309,8 @@
|
|
#endif
|
|
|
|
#ifdef WITH_SELINUX
|
|
-static int cron_authorize_range(security_context_t scontext,
|
|
- security_context_t ucontext) {
|
|
+static int cron_authorize_range(char * scontext,
|
|
+ char * ucontext) {
|
|
struct av_decision avd;
|
|
int retval;
|
|
security_class_t tclass;
|
|
@@ -345,7 +345,7 @@
|
|
/* always uses u->scontext as the default process context, then changes the
|
|
level, and returns it in ucontextp (or NULL otherwise) */
|
|
static int
|
|
-cron_get_job_range(user * u, security_context_t * ucontextp, char **jobenv) {
|
|
+cron_get_job_range(user * u, char ** ucontextp, char **jobenv) {
|
|
char *range;
|
|
|
|
if (is_selinux_enabled() <= 0)
|
|
@@ -398,7 +398,7 @@
|
|
#endif
|
|
|
|
#ifdef WITH_SELINUX
|
|
-static int cron_change_selinux_range(user * u, security_context_t ucontext) {
|
|
+static int cron_change_selinux_range(user * u, char * ucontext) {
|
|
char *msg = NULL;
|
|
|
|
if (is_selinux_enabled() <= 0)
|
|
@@ -481,10 +481,10 @@
|
|
#ifdef WITH_SELINUX
|
|
int
|
|
get_security_context(const char *name, int crontab_fd,
|
|
- security_context_t * rcontext, const char *tabname) {
|
|
- security_context_t scontext = NULL;
|
|
- security_context_t file_context = NULL;
|
|
- security_context_t rawcontext=NULL;
|
|
+ char ** rcontext, const char *tabname) {
|
|
+ char * scontext = NULL;
|
|
+ char * file_context = NULL;
|
|
+ char * rawcontext=NULL;
|
|
context_t current_context = NULL;
|
|
int retval;
|
|
char *current_context_str = NULL;
|
|
@@ -589,7 +589,7 @@
|
|
#endif
|
|
|
|
#ifdef WITH_SELINUX
|
|
-void free_security_context(security_context_t * scontext) {
|
|
+void free_security_context(char ** scontext) {
|
|
if (*scontext != NULL) {
|
|
freecon(*scontext);
|
|
*scontext = NULL;
|
|
@@ -601,7 +601,7 @@
|
|
int crontab_security_access(void) {
|
|
int selinux_check_passwd_access = -1;
|
|
if (is_selinux_enabled() > 0) {
|
|
- security_context_t user_context;
|
|
+ char * user_context;
|
|
if (getprevcon_raw(&user_context) == 0) {
|
|
security_class_t passwd_class;
|
|
access_vector_t crontab_bit;
|
|
--- a/src/structs.h
|
|
+++ b/src/structs.h
|
|
@@ -57,9 +57,6 @@
|
|
*
|
|
* These are the crontabs.
|
|
*/
|
|
-#ifndef WITH_SELINUX
|
|
-#define security_context_t unsigned
|
|
-#endif
|
|
|
|
typedef struct _user {
|
|
struct _user *next, *prev; /* links */
|
|
@@ -67,7 +64,7 @@
|
|
char *tabname; /* /etc/cron.d/ file name or NULL */
|
|
time_t mtime; /* last modtime of crontab */
|
|
entry *crontab; /* this person's crontab */
|
|
- security_context_t scontext; /* SELinux security context */
|
|
+ char * scontext; /* SELinux security context */
|
|
int system; /* is it a system crontab */
|
|
} user;
|
|
|
|
--- a/src/entry.c
|
|
+++ b/src/entry.c
|
|
@@ -90,7 +90,7 @@
|
|
/* return NULL if eof or syntax error occurs;
|
|
* otherwise return a pointer to a new entry.
|
|
*/
|
|
-entry *load_entry(FILE * file, void (*error_func) (), struct passwd *pw,
|
|
+entry *load_entry(FILE * file, void (*error_func) (const char *), struct passwd *pw,
|
|
char **envp) {
|
|
/* this function reads one crontab entry -- the next -- from a file.
|
|
* it skips any leading blank lines, ignores comments, and returns
|