Lines 32-37
Link Here
|
32 |
#include <dirent.h> |
32 |
#include <dirent.h> |
33 |
#include <errno.h> |
33 |
#include <errno.h> |
34 |
#include <fcntl.h> |
34 |
#include <fcntl.h> |
|
|
35 |
#include <limits.h> |
35 |
#include <pwd.h> |
36 |
#include <pwd.h> |
36 |
#include <stdlib.h> |
37 |
#include <stdlib.h> |
37 |
#include <string.h> |
38 |
#include <string.h> |
Lines 252-258
process_crontab(const char *uname, const char *fname, const char *tabname,
Link Here
|
252 |
static int |
253 |
static int |
253 |
cluster_host_is_local(void) |
254 |
cluster_host_is_local(void) |
254 |
{ |
255 |
{ |
255 |
char filename[MAXNAMLEN+1]; |
256 |
char filename[NAME_MAX+1]; |
256 |
int is_local; |
257 |
int is_local; |
257 |
FILE *f; |
258 |
FILE *f; |
258 |
char hostname[MAXHOSTNAMELEN], myhostname[MAXHOSTNAMELEN]; |
259 |
char hostname[MAXHOSTNAMELEN], myhostname[MAXHOSTNAMELEN]; |
Lines 348-354
void check_inotify_database(cron_db * old_db) {
Link Here
|
348 |
} |
349 |
} |
349 |
else { |
350 |
else { |
350 |
while (NULL != (dp = readdir(dir))) { |
351 |
while (NULL != (dp = readdir(dir))) { |
351 |
char tabname[MAXNAMLEN + 1]; |
352 |
char tabname[NAME_MAX + 1]; |
352 |
|
353 |
|
353 |
if (not_a_crontab(dp)) |
354 |
if (not_a_crontab(dp)) |
354 |
continue; |
355 |
continue; |
Lines 366-377
void check_inotify_database(cron_db * old_db) {
Link Here
|
366 |
} |
367 |
} |
367 |
else { |
368 |
else { |
368 |
while (NULL != (dp = readdir(dir))) { |
369 |
while (NULL != (dp = readdir(dir))) { |
369 |
char fname[MAXNAMLEN + 1], tabname[MAXNAMLEN + 1]; |
370 |
char fname[NAME_MAX + 1], tabname[NAME_MAX + 1]; |
370 |
|
371 |
|
371 |
if (not_a_crontab(dp)) |
372 |
if (not_a_crontab(dp)) |
372 |
continue; |
373 |
continue; |
373 |
|
374 |
|
374 |
strncpy(fname, dp->d_name, MAXNAMLEN); |
375 |
strncpy(fname, dp->d_name, NAME_MAX); |
375 |
|
376 |
|
376 |
if (!glue_strings(tabname, sizeof tabname, SPOOL_DIR, |
377 |
if (!glue_strings(tabname, sizeof tabname, SPOOL_DIR, |
377 |
dp->d_name, '/')) |
378 |
dp->d_name, '/')) |
Lines 492-498
int load_database(cron_db * old_db) {
Link Here
|
492 |
} |
493 |
} |
493 |
else { |
494 |
else { |
494 |
while (NULL != (dp = readdir(dir))) { |
495 |
while (NULL != (dp = readdir(dir))) { |
495 |
char tabname[MAXNAMLEN + 1]; |
496 |
char tabname[NAME_MAX + 1]; |
496 |
|
497 |
|
497 |
if (not_a_crontab(dp)) |
498 |
if (not_a_crontab(dp)) |
498 |
continue; |
499 |
continue; |
Lines 519-530
int load_database(cron_db * old_db) {
Link Here
|
519 |
is_local = cluster_host_is_local(); |
520 |
is_local = cluster_host_is_local(); |
520 |
|
521 |
|
521 |
while (is_local && NULL != (dp = readdir(dir))) { |
522 |
while (is_local && NULL != (dp = readdir(dir))) { |
522 |
char fname[MAXNAMLEN + 1], tabname[MAXNAMLEN + 1]; |
523 |
char fname[NAME_MAX + 1], tabname[NAME_MAX + 1]; |
523 |
|
524 |
|
524 |
if (not_a_crontab(dp)) |
525 |
if (not_a_crontab(dp)) |
525 |
continue; |
526 |
continue; |
526 |
|
527 |
|
527 |
strncpy(fname, dp->d_name, MAXNAMLEN); |
528 |
strncpy(fname, dp->d_name, NAME_MAX); |
528 |
|
529 |
|
529 |
if (!glue_strings(tabname, sizeof tabname, SPOOL_DIR, fname, '/')) |
530 |
if (!glue_strings(tabname, sizeof tabname, SPOOL_DIR, fname, '/')) |
530 |
continue; /* XXX log? */ |
531 |
continue; /* XXX log? */ |
Lines 601-607
static int not_a_crontab(DIR_T * dp) {
Link Here
|
601 |
|
602 |
|
602 |
len = strlen(dp->d_name); |
603 |
len = strlen(dp->d_name); |
603 |
|
604 |
|
604 |
if (len >= MAXNAMLEN) |
605 |
if (len >= NAME_MAX) |
605 |
return (1); /* XXX log? */ |
606 |
return (1); /* XXX log? */ |
606 |
|
607 |
|
607 |
if ((len > 0) && (dp->d_name[len - 1] == '~')) |
608 |
if ((len > 0) && (dp->d_name[len - 1] == '~')) |
Lines 628-634
static void max_mtime(const char *dir_name, struct stat *max_st) {
Link Here
|
628 |
} |
629 |
} |
629 |
|
630 |
|
630 |
while (NULL != (dp = readdir(dir))) { |
631 |
while (NULL != (dp = readdir(dir))) { |
631 |
char tabname[MAXNAMLEN + 1]; |
632 |
char tabname[NAME_MAX + 1]; |
632 |
|
633 |
|
633 |
if ( not_a_crontab ( dp ) && strcmp(dp->d_name, CRON_HOSTNAME) != 0) |
634 |
if ( not_a_crontab ( dp ) && strcmp(dp->d_name, CRON_HOSTNAME) != 0) |
634 |
continue; |
635 |
continue; |
635 |
- |
|
|