diff options
author | Sergey Poznyakoff <gray@gnu.org> | 2020-04-22 11:14:40 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org> | 2020-04-22 11:14:40 +0300 |
commit | db5b8989ceefb9f1889219067be6d68651a4da2c (patch) | |
tree | a4051da0625d89a631bf3dead4dc43be7d815be5 /src/wydawca.h | |
parent | 9d7ec5d8cc6ca98b3abb3fc67bf4292faba7e2d6 (diff) | |
download | wydawca-db5b8989ceefb9f1889219067be6d68651a4da2c.tar.gz wydawca-db5b8989ceefb9f1889219067be6d68651a4da2c.tar.bz2 |
Avoid double-checking of the directive files. Fix triplet expiration.
* doc/wydawca.texi: Document the default value for file-sweep-time.
* src/config.c (parse_single_statmask): Remove the invert pointer.
(parse_statmask): Reflect the above.
(config_finish): Ensure safe value for file_sweep_time.
* src/triplet.c (register_file): Initialize the directive_verified
member.
(triplet_expired_p): No special handling for ttl==0.
* src/verify.c (verify_directive_file): Cache the result in
trp->directive_verified.
* src/wydawca.c (file_sweep_time): Initialize to DEFAULT_FILE_SWEEP_TIME.
* src/wydawca.h (DEFAULT_FILE_SWEEP_TIME): New constant.
(DIRECTIVE_UNCHECKED,DIRECTIVE_GOOD)
(DIRECTIVE_BAD): New constants.
(struct wy_triplet): New member: directive_verified.
* tests/cwdrepl.c: Fix a prematurely closed comment.
Diffstat (limited to 'src/wydawca.h')
-rw-r--r-- | src/wydawca.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/wydawca.h b/src/wydawca.h index 467daa0..90a886e 100644 --- a/src/wydawca.h +++ b/src/wydawca.h @@ -60,7 +60,7 @@ #define SP(s) ((s) ? (s) : "NONE") -#define WYDAWCA_EX_AGAIN 1 +#define DEFAULT_FILE_SWEEP_TIME 300 /* The range of directive versions we accept (major * 100 + minor) */ #define MIN_DIRECTIVE_VERSION 101 @@ -171,11 +171,19 @@ struct file_info { struct stat sb; }; +/* Values for the triplet directive_verified member */ +enum { + DIRECTIVE_UNCHECKED = -1, + DIRECTIVE_GOOD = 0, + DIRECTIVE_BAD = 1 +}; + /* File triplet */ struct wy_triplet { char *name; /* Triplet base name */ struct file_info file[FILE_TYPE_COUNT]; /* Components */ unsigned version; /* Protocol version */ + int directive_verified; /* Directive file verification result */ struct spool *spool; /* Owning spool */ char *relative_dir; /* Directory relative to spool->dest_dir */ char **directive; /* Decoded directive pairs (key: value\0) */ |