aboutsummaryrefslogtreecommitdiff
path: root/pies
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2008-12-01 15:58:59 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2008-12-01 15:58:59 +0000
commit86b32383788162f3d8ee03a194d71620bdbcedb8 (patch)
tree320de49cadca50ad5cf07060a2d71213a6a89da0 /pies
parente6a9ae567b117459c146a48f807e89e2a432217d (diff)
downloadpies-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.y6
-rw-r--r--pies/meta1lex.l2
-rw-r--r--pies/pies.c54
-rw-r--r--pies/pies.h14
-rw-r--r--pies/progman.c96
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);
}
}

Return to:

Send suggestions and report system problems to the System administrator.