aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2010-01-03 11:44:34 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2010-01-03 11:49:20 +0200
commitc2cbf4e863a8f3a5081357d4b48f54cec2cd5d69 (patch)
tree93711f398c585fcc8ac0b19bbcfe15b79f4c6b73 /src
parenta2489ce17e9c9a03b649d5b63183d4f830c639a1 (diff)
downloadwydawca-c2cbf4e863a8f3a5081357d4b48f54cec2cd5d69.tar.gz
wydawca-c2cbf4e863a8f3a5081357d4b48f54cec2cd5d69.tar.bz2
Do not pass spool as a separate parameter, register it early in the triplet.
* src/directive.c (process_directives): Remove spool parameter. * src/gpg.c (verify_directive_signature) (verify_detached_signature): Remove spool parameter. * src/process.c (scan_spool_unlocked): Update call to register_file. * src/triplet.c (register_file): Take spool ptr as second argument. (triplet_processor): Ignore proc_data. (enumerate_triplets): Pass NULL as proc_data. * src/verify.c (verify_directive_file): Remove spool parameter. * src/wydawca.h (ASGN_SPOOL): New macro. (register_file, verify_directive_file) (verify_directive_signature, verify_detached_signature) (process_directives): Remove spool parameter. * src/getopt.m4 (print_help): Minor fix.
Diffstat (limited to 'src')
-rw-r--r--src/directive.c8
-rw-r--r--src/getopt.m42
-rw-r--r--src/gpg.c14
-rw-r--r--src/process.c2
-rw-r--r--src/triplet.c16
-rw-r--r--src/verify.c11
-rw-r--r--src/wydawca.h28
7 files changed, 47 insertions, 34 deletions
diff --git a/src/directive.c b/src/directive.c
index 401397d..93830b1 100644
--- a/src/directive.c
+++ b/src/directive.c
@@ -589,5 +589,5 @@ external_check (struct file_triplet *trp)
589 589
590/* Process the directives from TRP, using given SPOOL */ 590/* Process the directives from TRP */
591int 591int
592process_directives (struct file_triplet *trp, const struct spool *spool) 592process_directives (struct file_triplet *trp)
593{ 593{
@@ -596,3 +596,5 @@ process_directives (struct file_triplet *trp, const struct spool *spool)
596 char *relative_dir; 596 char *relative_dir;
597 const struct spool *spool;
597 598
599 ASGN_SPOOL (spool, trp, return 1);
598 UPDATE_STATS (STAT_COMPLETE_TRIPLETS); 600 UPDATE_STATS (STAT_COMPLETE_TRIPLETS);
@@ -627,3 +629,3 @@ process_directives (struct file_triplet *trp, const struct spool *spool)
627 case filename_dir: 629 case filename_dir:
628 rc = verify_detached_signature (trp, spool); 630 rc = verify_detached_signature (trp);
629 if (rc == 0) 631 if (rc == 0)
diff --git a/src/getopt.m4 b/src/getopt.m4
index b615ec3..fc50ff9 100644
--- a/src/getopt.m4
+++ b/src/getopt.m4
@@ -248,3 +248,3 @@ print_help(void)
248 gettext (args_doc)); 248 gettext (args_doc));
249 if (doc && doc[0]) 249 if (doc[0])
250 print_option_descr(gettext (doc), 0, RMARGIN); 250 print_option_descr(gettext (doc), 0, RMARGIN);
diff --git a/src/gpg.c b/src/gpg.c
index cca5048..979d0c0 100644
--- a/src/gpg.c
+++ b/src/gpg.c
@@ -217,6 +217,4 @@ gpg_verify_signature (gpgme_ctx_t ctx, gpgme_signature_t sig,
217/* Verify the directive file from TRP using public key PUBKEY */ 217/* Verify the directive file from TRP using public key PUBKEY */
218/* FIXME: spool currently unused */
219int 218int
220verify_directive_signature (struct file_triplet *trp, 219verify_directive_signature (struct file_triplet *trp)
221 const struct spool *spool)
222{ 220{
@@ -227,3 +225,3 @@ verify_directive_signature (struct file_triplet *trp,
227 struct uploader_info *uptr; 225 struct uploader_info *uptr;
228 226
229 create_gpg_homedir (); 227 create_gpg_homedir ();
@@ -261,3 +259,3 @@ verify_directive_signature (struct file_triplet *trp,
261 UPDATE_STATS (STAT_BAD_SIGNATURE); 259 UPDATE_STATS (STAT_BAD_SIGNATURE);
262 notify (spool->notification, trp, ev_bad_directive_signature); 260 notify (trp->spool->notification, trp, ev_bad_directive_signature);
263 rc = 1; 261 rc = 1;
@@ -285,4 +283,3 @@ verify_directive_signature (struct file_triplet *trp,
285int 283int
286verify_detached_signature (struct file_triplet *trp, 284verify_detached_signature (struct file_triplet *trp)
287 const struct spool *spool)
288{ 285{
@@ -290,3 +287,6 @@ verify_detached_signature (struct file_triplet *trp,
290 const char *argv[5]; 287 const char *argv[5];
288 const struct spool *spool;
291 289
290 ASGN_SPOOL (spool, trp, return 1);
291
292 fail_if_err (gpgme_get_engine_info (&info)); 292 fail_if_err (gpgme_get_engine_info (&info));
diff --git a/src/process.c b/src/process.c
index 23641cd..676e565 100644
--- a/src/process.c
+++ b/src/process.c
@@ -204,3 +204,3 @@ scan_spool_unlocked (const struct spool *spool, int uc, uid_t *uv)
204 204
205 register_file (&finfo); 205 register_file (&finfo, spool);
206 } 206 }
diff --git a/src/triplet.c b/src/triplet.c
index 0744daa..efe4a0b 100644
--- a/src/triplet.c
+++ b/src/triplet.c
@@ -62,3 +62,3 @@ hash_triplet_free (void *data)
62void 62void
63register_file (struct file_info *finfo) 63register_file (struct file_info *finfo, const struct spool *spool)
64{ 64{
@@ -71,3 +71,4 @@ register_file (struct file_info *finfo)
71 tp->name[finfo->root_len] = 0; 71 tp->name[finfo->root_len] = 0;
72 72 tp->spool = spool;
73
73 if (! ((triplet_table 74 if (! ((triplet_table
@@ -125,3 +126,3 @@ check_triplet_state (struct file_triplet *trp)
125 { 126 {
126 if (verify_directive_file (trp, trp->spool)) 127 if (verify_directive_file (trp))
127 return triplet_bad; 128 return triplet_bad;
@@ -178,5 +179,2 @@ triplet_processor (void *data, void *proc_data)
178 struct file_triplet *trp = data; 179 struct file_triplet *trp = data;
179 const struct spool *spool = proc_data;
180
181 trp->spool = spool;
182 180
@@ -195,3 +193,3 @@ triplet_processor (void *data, void *proc_data)
195 logmsg (LOG_DEBUG, _("processing triplet `%s'"), trp->name); 193 logmsg (LOG_DEBUG, _("processing triplet `%s'"), trp->name);
196 if (process_directives (trp, spool)) 194 if (process_directives (trp))
197 remove_triplet (trp); 195 remove_triplet (trp);
@@ -212,3 +210,3 @@ triplet_processor (void *data, void *proc_data)
212 210
213 if (triplet_expired_p (trp, spool->file_sweep_time)) 211 if (triplet_expired_p (trp, trp->spool->file_sweep_time))
214 { 212 {
@@ -230,3 +228,3 @@ enumerate_triplets (const struct spool *spool)
230 { 228 {
231 hash_do_for_each (triplet_table, triplet_processor, (void*) spool); 229 hash_do_for_each (triplet_table, triplet_processor, NULL);
232 hash_clear (triplet_table); 230 hash_clear (triplet_table);
diff --git a/src/verify.c b/src/verify.c
index 7520466..01c61ea 100644
--- a/src/verify.c
+++ b/src/verify.c
@@ -195,11 +195,14 @@ uploader_find_frp (struct uploader_info *list, const char *fpr)
195int 195int
196verify_directive_file (struct file_triplet *trp, const struct spool *spool) 196verify_directive_file (struct file_triplet *trp)
197{ 197{
198 char *command; 198 char *command;
199 struct dictionary *dict = spool->dictionary[project_uploader_dict];
200 int rc; 199 int rc;
201 void *md; 200 void *md;
202
203 size_t nrows, ncols, i; 201 size_t nrows, ncols, i;
204 struct uploader_info *head, *tail; 202 struct uploader_info *head, *tail;
203 const struct spool *spool;
204 struct dictionary *dict;
205
206 ASGN_SPOOL (spool, trp, return 1);
207 dict = spool->dictionary[project_uploader_dict];
205 208
@@ -303,3 +306,3 @@ verify_directive_file (struct file_triplet *trp, const struct spool *spool)
303 306
304 if (verify_directive_signature (trp, spool)) 307 if (verify_directive_signature (trp))
305 { 308 {
diff --git a/src/wydawca.h b/src/wydawca.h
index 54ecf00..b44b5d7 100644
--- a/src/wydawca.h
+++ b/src/wydawca.h
@@ -240,2 +240,16 @@ struct spool
240 240
241#define ASGN_SPOOL(spool, trp, faction) \
242 do \
243 { \
244 spool = (trp)->spool; \
245 if (!spool) \
246 { \
247 logmsg (LOG_CRIT, \
248 _("INTERNAL ERROR at %s:%d: spool not defined for %s"),\
249 __FILE__, __LINE__, (trp)->name); \
250 faction; \
251 } \
252 } \
253 while (0)
254
241 255
@@ -403,3 +417,3 @@ void register_spool (struct spool *spool);
403struct spool *wydawca_find_spool (const char *name); 417struct spool *wydawca_find_spool (const char *name);
404void register_file (struct file_info *finfo); 418void register_file (struct file_info *finfo, const struct spool *spool);
405void enumerate_triplets (const struct spool *); 419void enumerate_triplets (const struct spool *);
@@ -430,8 +444,5 @@ unsigned dictionary_num_cols (struct dictionary *dict);
430/* Verification functions */ 444/* Verification functions */
431int verify_directive_file (struct file_triplet *trp, 445int verify_directive_file (struct file_triplet *trp);
432 const struct spool *spool); 446int verify_directive_signature (struct file_triplet *trp);
433int verify_directive_signature (struct file_triplet *trp, 447int verify_detached_signature (struct file_triplet *trp);
434 const struct spool *spool);
435int verify_detached_signature (struct file_triplet *trp,
436 const struct spool *spool);
437int fill_project_name (struct file_triplet *trp); 448int fill_project_name (struct file_triplet *trp);
@@ -452,4 +463,3 @@ int directive_next (struct file_triplet *trp, int n,
452 const char **pkey, const char **pval); 463 const char **pkey, const char **pval);
453int process_directives (struct file_triplet *trp, 464int process_directives (struct file_triplet *trp);
454 const struct spool *spool);
455 465

Return to:

Send suggestions and report system problems to the System administrator.