Age | Commit message (Collapse) | Author | Files |
|
* NEWS: Document the "env" statement and the PIES_MASTER_PID
environment variable.
Version 1.3.91
* configure.ac: Version 1.3.91
* doc/pies.texi: Document the new "env" statement syntax. Provide
instructions on how to convert legacy "env" statement to the new
form.
* lib/envop.c (environ_unset): Take reference value as argument.
If supplied, unset the variable only if its value matches the
reference one.
* lib/envop.h (environ_unset): Change proto.
* src/pies.c (parse_legacy_env): Minor changes.
(_cb_env_unset): Allow to specify value.
* src/progman.c (run_command): Define PIES_MASTER_PID.
* tests/env.at: Check the legacy env syntax.
* tests/envop.at: Additional checks.
|
|
Presence of the ~/.netrc file can slow down execution because of eventual
DNS calls in hostcmp. Provide an option to disable netrc parsing and use
it in tests.
* src/piesctl-cl.opt: New option: --no-netrc.
* doc/pies.texi: Document --no-netrc
* src/piesctl.c (shttp_connect): Don't read ~/.netrc if given --no-netrc.
* tests/env.at: Pass --no-netrc to piesctl.
* tests/respawn.at: Likewise.
* tests/shell.at: Likewise.
* tests/shutdown.at: Likewise.
* tests/startup.at: Likewise.
|
|
The new flag "shell" instructs pies to run the command marked with it
as '/bin/sh -c $command'. Alternative shell can be supplied ising the
'program' statement.
This is useful if the command line uses shell-specific features (command
or variable expansion, redirection, pipes, etc.)
This commit also fixes a bug in the 'env' statement handling: a single
argument with embedded whitespaces was undergoing word splitting and
thus incorrectly handled as multiple arguments.
* NEWS: Document changes.
* doc/pies.texi: Likewise.
* src/comp.c (component_free): Free command.
(component_finish): Split command into argv/argc as directed by the
CF_SHELL flag.
* src/pies.c (_cb_command): Remove. Functionality moved to
component_finish().
(_cb_env): Bugfix. Don't split arguments.
* src/pies.h (CF_SHELL): New flag.
(component) <command>: New member.
* tests/Makefile.am: Add new tests.
* tests/testsuite.at: Add new tests.
* tests/aux/respawn: Change default timeout to 1 second.
* tests/respawn.at: Minor change.
* tests/shell.at: New test.
|
|
|
|
|
|
|
|
|
|
* grecs: Upgrade.
* src/pies.h: Fix include paths.
* src/piesctl.c: Likewise.
* NEWS: Document changes.
* doc/pies.texi: Likewise.
|
|
|
|
|
|
* doc/pies.texi: Document piesctl and identity providers.
* src/piesctl.c: Fix reference to the docs.
|
|
pies -T is now fully compatible with the legacy telinit command
* src/telinit.opt: New file.
* src/Makefile.am: Add telinit.opt
* src/cmdline.opt (-T): Remove explicit variable. Rest of
command line is processed specially.
* src/pies.h (telinit): Change prototype.
* src/sysvinit.c (telinit): Rewrite.
* src/.gitignore: Update.
* doc/pies.texi: Document telinit.
|
|
All ACL keywords can be used in simple statement as well as in block form.
As simple statements, they take a name of an already defined named ACL. E.g.:
defacl forbid {
deny any;
}
component foo {
list-acl forbid;
}
This commit also fixes some eventual double-frees.
* doc/pies.texi: Update.
* src/acl.c (pies_acl)<refcnt>: New member.
(pies_acl_use): New function.
(pies_acl_create): Initialize refcnt.
(pies_acl_destroy): New function.
(pies_acl_free): Rewrite as a wrapper over pies_acl_destroy.
(_parse_sub_acl): Call pies_acl_use when installing a named ACL.
(_acl_common_section_parser): Handle grecs_callback_set_value.
* src/acl.h (pies_acl_destroy)
(pies_acl_use): New function.
* src/comp.c (component_free): Free acl.
|
|
|
|
* src/comp.c (component_verify): Fix stdout redirection check.
* src/meta1parse.c (meta1_translate_node): Skip simple statements.
(meta1_translate_node): Allocate comp->dir
* doc/pies.texi: Use @example instead of @smallexample
|
|
* doc/Makefile.am (check-sub-config): Fix regexps.
* doc/pies.texi: Document init operation.
|
|
* src/prog.h (status_enabled, status_disabled): Remove.
(status_stopped, status_running): New modes.
All uses updated.
* src/comp.c (component_finish): Disable ondemand component
by default.
* src/ctl.c (json_object_set_bool): New function.
(pies_status_str): Update.
(prog_serialize): Set "disabled" attribute.
(fun_stop, fun_start): Use CF_DISABLED flag.
(res_runlevel): Schedule ACTION_RELOAD.
* src/pies.h (json_object_set_bool): New proto.
* src/piesctl.c (status_trans): Reflect changes in modes.
(print_comp): Check the "disabled" attribute.
* src/progman.c (register_prog0)
(prog_open_socket,prog_start,prog_stop)
(progman_wake_sleeping)
(prog_start_prerequisites)
(react, progman_cleanup)
(progman_stop_component): Update.
(no_children_left): Fix.
* src/sysvinit.c (enablecomp): Make CF_DISABLED flag
persist for ondemand components.
(runlevel_setup_prog): Use CF_DISABLED flag.
(inittrans): Stop inactivated processes.
* doc/pies.texi: Update.
|
|
* src/comp.c (component_link): Restore "next" link.
|
|
* gnulib.modules: Remove unneded modules.
* ident/ident.h: Remove xalloc.h, include errno.h
* ident/ident.c: Use standard allocation functions instead of x*
* ident/pam.c: Remove.
* ident/provider.c: Remove.
* ident/system.c: Remove.
* src/meta.c: Remove.
* src/Makefile.am: Remove meta.c
* src/progman.c: Use grecs_* allocation functions instead of x*.
(notify): Use wordsplit to expand variables within message.
Rename variables: program-name to program_name;
canonical-program-name to canonical_program_name.
* doc/pies.texi: Update.
* src/depmap.c: Use grecs_* allocation functions instead of x*.
(depmap_end): New function.
* src/diag.c (logmsg_vprintf): Use grecs_txtacc instead of obstack.
* src/pies.h (depmap_end): New proto.
Remove unused includes.
* src/acl.c: Use grecs_* allocation functions instead of x*.
* src/ctl.c: Likewise.
* src/inetd.c: Likewise.
* src/limits.c: Likewise.
* src/meta1gram.y: Likewise.
* src/meta1lex.l: Likewise.
* src/pies.c: Likewise.
* src/socket.c: Likewise.
* src/sysvinit.c: Likewise.
* src/userprivs.c: Likewise.
|
|
The default Config file applies to all output formats, which is wrong.
Use a dedicated configuration file for html output formats, and
defaults for the rest.
* doc/Config: Rename to doc/html.init (with changes).
|
|
* doc/Config: Rewrite.
* doc/Makefile.am: Use Makeinfo 5 instead of texi2htm
* doc/gendocs_template: Ps is not built
* imprimatur: Upgrade.
|
|
* NEWS: Update.
* doc/pies.texi: Document nullinput flag.
* src/pies.c (str_to_cf): New flag: nullinput
* src/pies.h (CF_NULLINPUT): New flag.
* src/progman.c (prog_start): If CF_NULLINPUT flag is set,
redirect /dev/null to the stdin
|
|
* grecs: Upgrade.
* doc/pies.texi: Document built-in include and line directives.
* src/cmdline.opt: New option -I (--include-directory).
* configure.ac: Version 1.2.91
* NEWS: Update.
|
|
|
|
|
|
* doc/Makefile.am (check-options): Change to match the recent changes.
|
|
* .gitmodules: Add imprimatur.
* Makefile.am (ACLOCAL_AMFLAGS,SUBDIRS): Add imprimatur.
* configure.ac: Require gettext 0.18. Call IMPRIMATUR_INIT.
Define ATTRIBUTE_NORETURN, if not defined already.
* doc/Makefile.am: Use imprimatur. Drop files that are
no longer necessary.
* doc/check-docs.sh: Delete.
* doc/fix-sentence-spacing.sed: Delete.
* doc/mastermenu.el: Delete.
* doc/rendition.texi: Delete.
* doc/untabify.el: Delete.
* doc/pies.texi: Use @: where appropriate.
* src/pies.c (main): Use _() instead of N_().
|
|
Happy GNU Year!
|
|
* configure.ac (INETD_SH): Rename to INETD.
* NEWS: Update.
* src/.gitignore (inetd.sh): rename to inetd.
* doc/pies.texi: Update.
* src/Makefile.am (pkgstatedir): New variable.
(AM_CPPFLAGS): Add define.
(inetd.sh): Replace with inetd.
(install-exec-hook): Remove.
* src/pies.c (statedir): New variable.
(pies_keywords): New keyword: "state-directory".
(set_file_names): Split in two functions:
(set_conf_file_names, set_state_file_names).
(main): Call set_conf_file_names before,
and set_state_file_names after parsing the configs.
|
|
* doc/inetd.texi: Update.
* doc/pies.texi: Update.
|
|
* doc/pies.texi: Update.
|
|
* doc/pies.texi: Document new status output format.
* src/progman.c (progman_dump_stats): Redesign flags column.
|
|
* doc/inetd.texi: New file.
* doc/Makefile.am: Add inetd.texi.
* doc/pies.texi, doc/usr-acl.texi: Update.
* src/pies.c (socktype_xtab): SOCK_PACKET not always defined.
|
|
* doc/macros.texi (xprindex)
(example-output, mtasimopt): Remove
(RFC): New macro.
* doc/pies.texi: Document inetd-style components.
* doc/Makefile.am (fix-sentence-spacing): Fix rule.
* src/progman.c (progman_lookup_tcpmux): Use case-insensitive
comparison, as required by RFC.
|
|
* doc/fix-sentence-spacing.sed: New file.
* doc/Makefile.am (EXTRA_DIST): Add fix-sentence-spacing.sed.
(check-tabs, check-sentence-spacing)
(fix-sentence-spacing): New rules.
(check-format): Rewrite rule.
* doc/pies.texi: Update.
|
|
* doc/pies.texi: Update
* src/progman.c (run_command): handle return-code for inetd components.
|
|
* doc/Commit (gray_print_section): Output anchors before
chapter/section/etc. titles, so that the heading menu in
monolithic document works properly.
|
|
* doc/Config (EXTRA_HEAD, AFTER_BODY_OPEN): Use qq{} to quote contents.
* doc/fdl.texi: Upgrade to v.1.3.
* doc/pies.texi: Likewise.
|
|
|
|
* doc/Config: Fix links in the main menu.
|
|
* doc/Config, doc/gendocs_template: Update for the new
layout.
|
|
* doc/Config: New file. Configuration for texi2html.
* doc/Makefile.am (manual): Update rule.
(man-tar): New rule.
* doc/gendocs_template: Rewrite using the new site
layout.
* doc/pies.texi: Minor changes.
|
|
* NEWS: Update.
* bootstrap.conf: Call submodule init unconditionally.
* doc/pies.texi: Minor changes.
|
|
* Makefile.am (dist-hook,alpha,alphacheck): New rules.
(ChangeLog): Be silent.
* NEWS: Update.
* doc/pies.texi: Update.
* gnulib.modules: Add quote and quotearg
* src/pies.c: Implement -D and -U options. Improve --help
output.
* src/pies.h: Include quotearg.h
|
|
* configure.ac (AC_CHECK_FUNCS): Check for vsyslog.
* src/diag.c (syslog_printer) [!HAVE_VSYSLOG]: call syslog.
* src/pies.c (component_keywords): Remove settle-timeout,
replace it with pass-fd-timeout.
(main): Force syslog logging if !foreground.
Do not close first three fds before restarting
if log_to_stderr is set.
* src/pies.h (DEFAULT_PASS_FD_TIMEOUT): New constant.
(struct component): Replace settle_timeout with
pass_fd_timeout. All uses changed.
(pass_fd): Pass timeout as argument.
* src/progman.c (prog_start): Remove hardcoded sleep before
calling pass_fd. Update call to pass_fd.
(prog_start_prerequisites): Remove handling of settle_timeout.
* src/socket.c (open_unix_socket): Remove.
(pass_fd): Rewrite.
* doc/pies.texi: Update.
|
|
* doc/pies.texi: Final cleanup.
* doc/usr-acl.texi: Minor fix.
|
|
* doc/pies.texi: More fixes.
* pp-setup: Remove MFD leftovers.
|
|
* README: Fix typo.
* doc/usr-acl.texi: New file.
* doc/Makefile.am (pies_TEXINFOS): Remove pies.texi,
add usr-acl.texi
(check-config, check-sub-config): Handle @deffnx
* doc/pies.texi: Update.
* src/Makefile.am (AM_CPPFLAGS): Remove superfluous defs,
use ../gnu/configmake.h instead
* src/acl.c (_acl_common_section_parser): Handle tag, depending
on the value of `flag' parameter.
Avoid coredumping on NULL pacl.
(acl_section_parser, defacl_section_parser): Update calls to
_acl_common_section_parser.
* src/pies.c (STATEDIR): Replace with LOCALSTATEDIR.
(GRECS_VALUE_IS_EMPTY): New define (possibly belongs to
grecs more than to pies).
(assert_grecs_value_type)
(return_code_section_parser): Use GRECS_VALUE_IS_EMPTY to check
for empty value.
(_get_array_arg): Bugfix.
(component_keywords, pies_keywords): Add missing docstrings.
* src/progman.c (TYPE_RETR): Rename to TYPE_REDIRECTOR.
All uses updated.
|
|
* doc/Makefile.am (check-sub-config): Silent the rule.
* doc/pies.texi: Update.
* src/progman.c (default_termination_message): Use ${termination}
(notify): Fix wording in ${termination}.
|
|
* README: Update.
* configure.ac: Change bug-reporting address.
* doc/pies.texi: Minor fixes.
* src/pies.c: New configuration statements: mailer-program
and mailer-command-line.
(mailer_program, mailer_command_line)
(mailer_argc, mailer_argv): New globals.
* src/pies.h (mailer_program, mailer_command_line)
(mailer_argc, mailer_argv): New globals.
* src/progman.c (destroy_prog): Bugfix: update master
program when destroying a retranslator.
(send_msg): Several bugfixes. Use mailer_argc, mailer_argv
instead of hardcoding sendmail command line. Remove
invalid recipient addresses from the resulting command line.
|