cronie/debian/patches/fix-ftbfs-gcc-15.patch
Lance Lin 9eb71df9d6 Import Debian changes 1.7.2-4
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
2025-08-06 17:45:07 +02:00

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