diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-12-01 15:58:59 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2008-12-01 15:58:59 +0000 |
commit | 86b32383788162f3d8ee03a194d71620bdbcedb8 (patch) | |
tree | 320de49cadca50ad5cf07060a2d71213a6a89da0 /pies | |
parent | e6a9ae567b117459c146a48f807e89e2a432217d (diff) | |
download | pies-86b32383788162f3d8ee03a194d71620bdbcedb8.tar.gz pies-86b32383788162f3d8ee03a194d71620bdbcedb8.tar.bz2 |
Documentation and minor fixes.
* pies/pies.c, pies/progman.c, pies/meta1gram.y, pies/pies.h,
pies/meta1lex.l: Normalize output redirection terminology, fix the
debug levels.
* pmult/pmult.c: Fix error message
* doc/pies.texi: Document the configuration.
Diffstat (limited to 'pies')
-rw-r--r-- | pies/meta1gram.y | 6 | ||||
-rw-r--r-- | pies/meta1lex.l | 2 | ||||
-rw-r--r-- | pies/pies.c | 54 | ||||
-rw-r--r-- | pies/pies.h | 14 | ||||
-rw-r--r-- | pies/progman.c | 96 |
5 files changed, 86 insertions, 86 deletions
diff --git a/pies/meta1gram.y b/pies/meta1gram.y index 7ab93a7..4966634 100644 --- a/pies/meta1gram.y +++ b/pies/meta1gram.y @@ -233,7 +233,7 @@ void meta1_parser_set_debug () { mu_log_level_t lev = mu_global_debug_level ("meta1"); - if (lev & MU_DEBUG_LEVEL_MASK (MU_DEBUG_TRACE7)) + if (lev & MU_DEBUG_LEVEL_MASK (MU_DEBUG_TRACE6)) yydebug = 1; } @@ -338,7 +338,7 @@ create_string_node (const char *tag, const char *str, mu_cfg_locus_t *locus) } static mu_cfg_node_t * -create_retr_node (const char *tag, const char *dir, +create_redir_node (const char *tag, const char *dir, const char *name, mu_cfg_locus_t *locus) { mu_config_value_t *val = create_value (MU_CFG_ARRAY); @@ -411,7 +411,7 @@ translate_node_list (mu_cfg_node_t *src, const char *name) tail->next = node; tail = node; - node = create_retr_node ("stderr", META1_QUEUE_DIR (), name, locus); + node = create_redir_node ("stderr", META1_QUEUE_DIR (), name, locus); tail->next = node; tail = node; diff --git a/pies/meta1lex.l b/pies/meta1lex.l index 4d8b9d0..312a1fd 100644 --- a/pies/meta1lex.l +++ b/pies/meta1lex.l @@ -177,7 +177,7 @@ void meta1_lexer_set_debug () { mu_log_level_t lev = mu_global_debug_level ("meta1"); - yy_flex_debug = (lev & MU_DEBUG_LEVEL_MASK (MU_DEBUG_TRACE2)); + yy_flex_debug = (lev & MU_DEBUG_LEVEL_MASK (MU_DEBUG_TRACE7)); } static int diff --git a/pies/pies.c b/pies/pies.c index 836ea9c..6daf6b0 100644 --- a/pies/pies.c +++ b/pies/pies.c @@ -418,13 +418,13 @@ _cb_facility (mu_debug_t debug, void *data, mu_config_value_t *val) } static int -_cb_retr (mu_debug_t debug, void *data, mu_config_value_t *arg) +_cb_redir (mu_debug_t debug, void *data, mu_config_value_t *arg) { - struct retranslator *rp = data; - static struct mu_kwd retrtab[] = { - { "null", retr_null }, - { "syslog", retr_syslog }, - { "file", retr_file }, + struct redirector *rp = data; + static struct mu_kwd redirtab[] = { + { "null", redir_null }, + { "syslog", redir_syslog }, + { "file", redir_file }, { NULL } }; int res; @@ -434,10 +434,10 @@ _cb_retr (mu_debug_t debug, void *data, mu_config_value_t *arg) case MU_CFG_STRING: if (strcmp (arg->v.string, "null") == 0) { - rp->type = retr_null; + rp->type = redir_null; break; } - rp->type = retr_syslog; + rp->type = redir_syslog; if (mu_string_to_syslog_priority (arg->v.string, &rp->v.prio)) { mu_cfg_format_error (debug, MU_DEBUG_ERROR, @@ -450,13 +450,13 @@ _cb_retr (mu_debug_t debug, void *data, mu_config_value_t *arg) case MU_CFG_ARRAY: if (mu_cfg_assert_value_type (&arg->v.arg.v[0], MU_CFG_STRING, debug)) return 0; - if (mu_kwd_xlat_name (retrtab, arg->v.arg.v[0].v.string, &res)) + if (mu_kwd_xlat_name (redirtab, arg->v.arg.v[0].v.string, &res)) mu_cfg_format_error (debug, MU_DEBUG_ERROR, - _("%s: unrecognised retranslator type"), + _("%s: unrecognised redirector type"), arg->v.arg.v[0].v.string); else { - if (res != retr_null) + if (res != redir_null) { if (arg->v.arg.c != 2) { @@ -470,10 +470,10 @@ _cb_retr (mu_debug_t debug, void *data, mu_config_value_t *arg) switch (res) { - case retr_null: + case redir_null: break; - case retr_syslog: + case redir_syslog: if (mu_string_to_syslog_priority (arg->v.arg.v[1].v.string, &rp->v.prio)) { @@ -484,7 +484,7 @@ _cb_retr (mu_debug_t debug, void *data, mu_config_value_t *arg) } break; - case retr_file: + case redir_file: rp->v.file = xstrdup (arg->v.arg.v[1].v.string); break; } @@ -616,21 +616,21 @@ struct mu_cfg_param component_cfg_param[] = { N_("Per-component access control list") }, { "remove-file", mu_cfg_string, NULL, mu_offsetof (struct component, rmfile), NULL, - N_("Remove file before starting the component.") + N_("Remove file before starting the component."), N_("file") }, { "facility", mu_cfg_callback, NULL, mu_offsetof (struct component, facility), _cb_facility, - N_("Override default facility for this component."), + N_("Override default syslog facility for this component."), N_("arg") }, { "stdout", mu_cfg_callback, NULL, - mu_offsetof (struct component, retr[RETR_OUT]), _cb_retr, + mu_offsetof (struct component, redir[RETR_OUT]), _cb_redir, N_("Redirect program's standard output to the given file or " "syslog priority."), /* TRANSLATORS: file and syslog are keywords. Do not translate them. */ N_("type: {file | syslog}> <channel: string") }, { "stderr", mu_cfg_callback, NULL, - mu_offsetof (struct component, retr[RETR_ERR]), _cb_retr, + mu_offsetof (struct component, redir[RETR_ERR]), _cb_redir, N_("Redirect program's standard error to the given file or " "syslog priority."), /* TRANSLATORS: file and syslog are keywords. Do not translate them. */ @@ -737,26 +737,26 @@ component_verify (struct component *comp, mu_debug_t debug) } if (comp->mode != pies_comp_exec - && comp->retr[RETR_OUT].type != retr_null) + && comp->redir[RETR_OUT].type != redir_null) { - COMPERR ("%s", _("stdout retranslation invalid in this mode")); - comp->retr[RETR_OUT].type = retr_null; + COMPERR ("%s", _("stdout translation invalid in this mode")); + comp->redir[RETR_OUT].type = redir_null; } for (i = RETR_OUT; i <= RETR_ERR; i++) { - if (comp->retr[i].type == retr_file && comp->retr[i].v.file[0] != '/') + if (comp->redir[i].type == redir_file && comp->redir[i].v.file[0] != '/') { if (comp->dir) { - char *p = make_full_name (comp->dir, comp->retr[i].v.file); - free (comp->retr[i].v.file); - comp->retr[i].v.file = p; + char *p = make_full_name (comp->dir, comp->redir[i].v.file); + free (comp->redir[i].v.file); + comp->redir[i].v.file = p; } else COMPERR (_("%s: must be an absolute " "file name or chdir must be specified"), - comp->retr[i].v.file); + comp->redir[i].v.file); } } @@ -785,7 +785,7 @@ component_section_parser (enum mu_cfg_section_stage stage, { comp = xzalloc (sizeof (*comp)); comp->facility = mu_log_facility; - comp->retr[RETR_OUT].type = comp->retr[RETR_ERR].type = retr_null; + comp->redir[RETR_OUT].type = comp->redir[RETR_ERR].type = redir_null; comp->tag = node->label ? xstrdup (node->label->v.string) : NULL; } *section_data = comp; diff --git a/pies/pies.h b/pies/pies.h index 2591ea0..5659749 100644 --- a/pies/pies.h +++ b/pies/pies.h @@ -54,16 +54,16 @@ #define RETR_OUT 0 #define RETR_ERR 1 -enum retr_type +enum redir_type { - retr_null, - retr_syslog, - retr_file + redir_null, + redir_syslog, + redir_file }; -struct retranslator +struct redirector { - enum retr_type type; + enum redir_type type; union { int prio; @@ -134,7 +134,7 @@ struct component mu_acl_t acl; /* Retranslators: */ int facility; /* Syslog facility. */ - struct retranslator retr[2]; /* Retranslators for stdout and stderr */ + struct redirector redir[2]; /* Repeaters for stdout and stderr */ /* Actions to execute on various exit codes: */ struct action *act[MAX_RETURN_CODE+1]; }; diff --git a/pies/progman.c b/pies/progman.c index 9a5b0c5..04b1b26 100644 --- a/pies/progman.c +++ b/pies/progman.c @@ -46,7 +46,7 @@ struct prog struct component *comp; int argc; /* Number of elements in comp->argv */ int socket; - struct prog *retr[2]; /* Pointers to retranslators */ + struct prog *redir[2]; /* Pointers to redirectors */ time_t timestamp; /* Time of last startup */ size_t count; /* Number of failed starts since timestamp */ enum prog_status status; /* Current component status */ @@ -169,12 +169,12 @@ destroy_prog (struct prog **pp) } static char * -retr_tag (struct prog *master, int type) +redir_tag (struct prog *master, int type) { - static char *retrstr[2] = { "stdout", "stderr" }; + static char *redirstr[2] = { "stdout", "stderr" }; char *str = NULL; - if (type < MU_ARRAY_SIZE(retrstr)) - asprintf (&str, "%s/%s", master->tag, retrstr[type]); + if (type < MU_ARRAY_SIZE(redirstr)) + asprintf (&str, "%s/%s", master->tag, redirstr[type]); else asprintf (&str, "%s/%d", master->tag, type); if (!str) @@ -183,9 +183,9 @@ retr_tag (struct prog *master, int type) } static struct prog * -register_retr (int type, struct prog *master) +register_redir (int type, struct prog *master) { - char *tag = retr_tag (master, type); + char *tag = redir_tag (master, type); char *pstr; struct prog *pp = xzalloc (sizeof (*pp) + strlen (tag) + 1 + 2 * sizeof (char**)); @@ -206,17 +206,17 @@ register_retr (int type, struct prog *master) } void -update_retr (int type, struct prog *master, pid_t pid) +update_redir (int type, struct prog *master, pid_t pid) { struct prog *pp; - if (master->v.p.retr[type] == NULL) + if (master->v.p.redir[type] == NULL) { - pp = register_retr (type, master); - master->v.p.retr[type] = pp; + pp = register_redir (type, master); + master->v.p.redir[type] = pp; } else { - pp = master->v.p.retr[type]; + pp = master->v.p.redir[type]; prog_stop (pp, SIGKILL); /* Just in case */ } pp->pid = pid; @@ -248,7 +248,7 @@ register_prog0 (struct component *comp, int index) comp->act[i] = default_component.act[i]; if (comp->mode != pies_comp_exec) - comp->retr[RETR_OUT].type = retr_null; + comp->redir[RETR_OUT].type = redir_null; link_prog (newp, 0); return newp; @@ -331,7 +331,7 @@ progman_running_count () } RETSIGTYPE -retr_exit (int sig) +redir_exit (int sig) { _exit (0); } @@ -340,24 +340,24 @@ int redirect_to_file (struct prog *master, int stream) { struct passwd *pw; - int fd = open (master->v.p.comp->retr[stream].v.file, O_RDWR|O_CREAT, + int fd = open (master->v.p.comp->redir[stream].v.file, O_RDWR|O_CREAT, 0644 & ~master->v.p.comp->umask); if (fd == -1) { mu_error (_("cannot open output file %s: %s"), - master->v.p.comp->retr[stream].v.file, + master->v.p.comp->redir[stream].v.file, mu_strerror (errno)); return -1; } /* Fix file ownership */ pw = getpwnam (master->v.p.comp->privs.user); if (pw) - chown (master->v.p.comp->retr[stream].v.file, pw->pw_uid, pw->pw_gid); + chown (master->v.p.comp->redir[stream].v.file, pw->pw_uid, pw->pw_gid); return fd; } int -open_retranslator (struct prog *master, int stream) +open_redirector (struct prog *master, int stream) { int p[2]; FILE *fp; @@ -367,15 +367,15 @@ open_retranslator (struct prog *master, int stream) int i, prio; char *tag; - switch (master->v.p.comp->retr[stream].type) + switch (master->v.p.comp->redir[stream].type) { - case retr_null: + case redir_null: return -1; - case retr_file: + case redir_file: return redirect_to_file (master, stream); - case retr_syslog: + case redir_syslog: break; } @@ -384,8 +384,8 @@ open_retranslator (struct prog *master, int stream) { case 0: /* Retranslator process */ - tag = retr_tag (master, stream); - mf_proctitle_format ("%s retranslator", tag); + tag = redir_tag (master, stream); + mf_proctitle_format ("%s redirector", tag); free (tag); for (i = getmaxfd (); i >= 0; i--) @@ -395,26 +395,26 @@ open_retranslator (struct prog *master, int stream) } log_setup (0); - signal_setup (retr_exit); + signal_setup (redir_exit); close (p[1]); fp = fdopen (p[0], "r"); if (fp == NULL) exit (1); openlog (master->tag, LOG_PID, master->facility); - prio = master->v.p.comp->retr[stream].v.prio; + prio = master->v.p.comp->redir[stream].v.prio; while (getline (&buf, &size, fp) > 0) syslog (prio, "%s", buf); exit (0); case -1: mu_diag_output (MU_DIAG_CRIT, - _("cannot run retranslator `%s': fork failed: %s"), + _("cannot run redirector `%s': fork failed: %s"), master->tag, mu_strerror (errno)); return -1; default: - update_retr (stream, master, pid); + update_redir (stream, master, pid); close (p[0]); return p[1]; } @@ -570,7 +570,7 @@ prog_start (struct prog *prog) int i; pid_t pid; time_t now; - int retr[2]; + int redir[2]; if (prog->pid > 0 || !IS_PROG (prog)) return; @@ -658,8 +658,8 @@ prog_start (struct prog *prog) prog->tag, prog->v.p.comp->rmfile, mu_strerror (errno)); } - retr[RETR_OUT] = open_retranslator (prog, RETR_OUT); - retr[RETR_ERR] = open_retranslator (prog, RETR_ERR); + redir[RETR_OUT] = open_redirector (prog, RETR_OUT); + redir[RETR_ERR] = open_redirector (prog, RETR_ERR); switch (pid = fork ()) { @@ -707,14 +707,14 @@ prog_start (struct prog *prog) { case pies_comp_pass_fd: case pies_comp_exec: - if (retr[RETR_OUT] == -1) + if (redir[RETR_OUT] == -1) { close (1); open ("/dev/null", O_WRONLY); } - else if (retr[RETR_OUT] != 1) + else if (redir[RETR_OUT] != 1) { - dup2 (retr[RETR_OUT], 1); + dup2 (redir[RETR_OUT], 1); } break; @@ -727,14 +727,14 @@ prog_start (struct prog *prog) break; } - if (retr[RETR_ERR] == -1) + if (redir[RETR_ERR] == -1) { close (2); open ("/dev/null", O_WRONLY); } - else if (retr[RETR_ERR] != 1) + else if (redir[RETR_ERR] != 1) { - dup2 (retr[RETR_ERR], 2); + dup2 (redir[RETR_ERR], 2); } /* Close unneded descripitors */ @@ -1183,7 +1183,7 @@ prog_start_prerequisites (struct prog *prog) for (i = 0; prog->prereq[i]; i++) { struct prog *dp = prog_lookup_by_tag (prog->prereq[i]); - if (!IS_PROG (dp)) /* Skip retranslators */ + if (!IS_PROG (dp)) /* Skip redirectors */ continue; if (prog->v.p.comp->precious) continue; @@ -1222,12 +1222,12 @@ prog_start_prerequisites (struct prog *prog) } void -prog_stop_retranslators (struct prog *prog) +prog_stop_redirectors (struct prog *prog) { - if (prog->v.p.retr[RETR_OUT]) - prog_stop (prog->v.p.retr[RETR_OUT], SIGTERM); - if (prog->v.p.retr[RETR_ERR]) - prog_stop (prog->v.p.retr[RETR_ERR], SIGTERM); + if (prog->v.p.redir[RETR_OUT]) + prog_stop (prog->v.p.redir[RETR_OUT], SIGTERM); + if (prog->v.p.redir[RETR_ERR]) + prog_stop (prog->v.p.redir[RETR_ERR], SIGTERM); } void @@ -1237,7 +1237,7 @@ prog_stop_dependents (struct prog *prog) unsigned n; int warned = 0; - prog_stop_retranslators (prog); + prog_stop_redirectors (prog); for (n = depmap_first (depmap, depmap_row, prog->idx, &pos); n != (unsigned)-1; n = depmap_next (depmap, pos)) @@ -1482,7 +1482,7 @@ progman_cleanup (int expect_term) { if (prog->v.p.comp->mode == pies_comp_inetd) { - prog_stop_retranslators (prog); + prog_stop_redirectors (prog); destroy_prog (&prog); } else @@ -1523,9 +1523,9 @@ progman_cleanup (int expect_term) } else { - /* It was a retranslator of an already finished inetd process. */ + /* It was a redirector of an already finished inetd process. */ MU_DEBUG1 (pies_debug, MU_DEBUG_TRACE1, - _("removing inetd retranslator %s\n"), prog->tag); + _("removing inetd redirector %s\n"), prog->tag); destroy_prog (&prog); } } @@ -1629,7 +1629,7 @@ progman_dump_stats (const char *filename) break; case TYPE_RETR: - fprintf (fp, _("retranslator %s %lu\n"), prog->tag, + fprintf (fp, _("redirector %s %lu\n"), prog->tag, (unsigned long) prog->pid); } } |