aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFiles
2009-12-12Minor fixes.release-1.2Sergey Poznyakoff1
* src/Makefile.am: Fix rules for inetd.
2009-12-11Final cleanup for version 1.2.Sergey Poznyakoff6
* 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.
2009-12-11Finish the docs.Sergey Poznyakoff2
* doc/inetd.texi: Update. * doc/pies.texi: Update.
2009-12-11New meta-variable for notifications.Sergey Poznyakoff1
* src/progman.c (notify): New meta-var "instance".
2009-12-11Bugfixes.Sergey Poznyakoff2
* src/meta1gram.y (xlat_listen_socket): Handle all relevant assignments in the listen_socket block. * src/url.c (url_parse_host): Always assign port_s. Handle arguments without preceding path. (url_parse_user): Parse path without preceding user/pass specs. (url_parse_scheme): Require exactly two slashes after 'scheme:'.
2009-12-10Document state files and instances.Sergey Poznyakoff1
* doc/pies.texi: Update.
2009-12-10Improve status output.Sergey Poznyakoff2
* doc/pies.texi: Document new status output format. * src/progman.c (progman_dump_stats): Redesign flags column.
2009-12-10Upgrade grecs.Sergey Poznyakoff1
2009-12-10Improve docs + bugfix.Sergey Poznyakoff5
* 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.
2009-12-10UpdateSergey Poznyakoff4
* 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.
2009-12-09Improve docs.Sergey Poznyakoff3
* 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.
2009-12-02Minor changesSergey Poznyakoff2
* doc/pies.texi: Update * src/progman.c (run_command): handle return-code for inetd components.
2009-11-29New option --instance.Sergey Poznyakoff1
2009-11-28Optionally provide an inetd wrapper.Sergey Poznyakoff4
* configure.ac: New option --enable-inetd * src/inetd.in: New file. * src/.gitignore: Add inetd.sh. * src/Makefile.am (inetd.sh): New goal. (install-exec-hook): New rule.
2009-11-28Handle per-tcpmux ACL's. Optionally pass socket data via environment variables.Sergey Poznyakoff5
* src/inetd-bi.c (tcpmux): Consult the component's ACL before deciding whether to handle the connection. * src/pies.c (str_to_socket_type): Rewrite using strtotok. (socket_type_to_str): New function (str_to_cf): New flags: sockenv and resolve. Use strtotok. (main): Log_tag defaults to program instance name. * src/pies.h: Include socket-related headers. (CF_SOCKENV, CF_RESOLVE): New flags. (pies_sockaddr_storage): New union. (check_acl): New proto. (progman_run_comp): Change signature. (socket_type_to_str): New proto. * src/progman.c (struct prog): New members sa_storage, sa_len. (prog_sockenv): New function. (progman_run_comp): Call prog_sockenv. Initialize sa_storage and sa_len of the created struct prog. (prog_start): Call prog_sockenv. Do not close 2 if logging to stderr. (check_acl): Remove static. (_prog_accept): Use union pies_sockaddr_storage. Pass socket address in pinst->v.p.sa_storage and pinst->v.p.sa_len. (sockenv_hint, envsize): New variables. (add_env): New function. (env_setup): Remove. (environ_setup): New function. * src/socket.c: Remove unnecessary includes.
2009-11-26Switch to grecs master.Sergey Poznyakoff1
2009-11-26Fix config-help outputSergey Poznyakoff1
2009-11-26Implement internal inetd services in the pies config.Sergey Poznyakoff6
* src/pies.h (CF_INTERNAL): New flag. (ISCF_TCPMUX): New macro. (struct component): Reorder fields. New field: tcpmux. (progman_lookup_service): Remove proto. (progman_lookup_tcpmux): New proto. (struct inetd_builtin.foo): Change signature. All uses updated. * src/progman.c (progman_lookup_service): Remove. (progman_lookup_tcpmux): New function. (progman_create_sockets): Skip tcpmux subservices. (progman_start): Skip disabled inetd components. * src/inetd-bi.c (tcpmux): Use progman_lookup_tcpmux. * src/inetd.c (tcpmux_service, mktag): New functions. (inetd_conf_file): Minor changes. * src/pies.c (_cb_bitmask, _cb_precious) (_cb_disabled, _cb_wait): Remove. (str_to_cf, _cb_flags): New functions. (component_keywords): Remove keywords: disable, precious, wait. Add keywords: flags, service, tcpmux-master. (component_verify): Improve. * src/url.c (pies_url_destroy): Fix coredump on NULL argument.
2009-11-26Allow to specify several config files in the command line.Sergey Poznyakoff2
Change output --status format. * src/pies.c (instance): New global. (conffile): Remove. (pidfile,ctlfile,statfile,qotdfile): Remove initializers. (config_syntax, config_file): New types. (conf_head, conf_tail): New variables. (config_syntax_tab): New variable. (add_config): New function. (options): New option --syntax. (current_syntax): New variable. (parse_opt): Change handling of -i (mkfilename, set_file_names): New functions. (main): Allow to specify several different config files in the command line. * src/progman.c (progman_dump_stats): Change output format.
2009-11-25Implement TCPMUX internal service.Sergey Poznyakoff4
* src/pies.h (CF_TCPMUX, CF_TCPMUXPLUS): New flags. (struct component): New member: service. (progman_lookup_service, progman_run_comp) (progman_iterate_comp): New protos. * src/progman.c (progman_iterate_comp) (prog_lookup_by_service) (progman_lookup_service): New functions (prog_start_prologue, prog_execute): New functions, extracted from prog_start. (progman_run_comp): New function. (prog_start): Replace extracted parts of code with calls to prog_start_prologue and prog_execute. * src/inetd-bi.c: Implement TCPMUX * src/inetd.c (inetd_conf_file): Handle tcpmux extries.
2009-11-24Implement inetd builtin services.Sergey Poznyakoff6
* src/inetd-bi.c: New file. * src/Makefile.am (pies_SOURCES): Add inetd-bi.c. * src/pies.h (struct component): New member `builtin'. (qotdfile): New extern. (inetd_builtin): New struct. (inetd_builtin_lookup): New proto. * src/progman.c (prog_start): Handle internal services. * src/inetd.c (inetd_conf_file): Handle internal services. * src/pies.c (qotdfile): New global. (pies_keywords): New keyword "qotd-file".
2009-11-24Implement inetd connection rate.Sergey Poznyakoff4
* src/pies.h (struct component): New member "max_rate". (default_max_rate): New extern. * src/progman.c (check_rate): New function. (check_spawn_rate, check_connection_rate): New functions. (prog_open_socket): New function. (prog_start): Rewrite using the above functions. (_prog_accept): Check connection rate. (progman_start): Special handling for inetd listeners. (progman_wake_sleeping): Likewise. * src/pies.c (default_max_rate): New global. (component_keywords): New keyword max-rate. (options): New option "rate". (parse_opt): Handle the new option. * src/inetd.c (inetd_conf_file): Set max_rate, instead of max_instances.
2009-11-24Implement parsing of inetd.conf files.Sergey Poznyakoff7
* src/Makefile.am (pies_SOURCES): Add inetd.c. * src/inetd.c: New file. * src/pies.c (inetd_mode): New global. (str_to_socket_type): New function. (_cb_socket_type): Use str_to_socket_type. (_cm_include_meta1): Rename to _cb_include_meta1. (_cb_include_inetd): New function. (pies_keywords): New keyword "include-inetd". (options): New option --inetd. (main): Handle inetd mode. * src/pies.h (str_to_socket_type): New proto. (disable_socket, enable_socket): Fix return type. * src/progman.c (redirect_to_file): Avoid coredump on privs.user == NULL. (open_redirector,env_setup) (progman_start,run_command): Remove unneeded variable. (progman_start): Fix diagnostic message. * src/socket.c (disable_socket, enable_socket): Fix return type. Do nothing if fd < 0. * src/userprivs.c (switch_to_privs): Allow to pass uid==0.
2009-11-24Handle non-stream sockets. Pies can now replace inetd (- inetd.conf and ↵Sergey Poznyakoff5
built-in services). * src/pies.c (component_keywords): New keywords: wait, socket-type. (component_verify): Add more checks. * src/pies.h (CF_WAIT): New define. (struct component): New member: socket_type. (struct pies_url): Rename proto to scheme. New members: proto, proto_s, port_s (register_listener): Remove proto. (register_socket): New proto. (create_socket): Change signature. (disable_socket, enable_socket): New protos. * src/progman.c (close_fds): New function. (open_redirector): Use close_fds. (prog_start): Use close_fds. Update call to create_socket. Disable socket if wait is set. (progman_accept): Support non-stream (and stream+wait) sockets. (component_fixup_depend): Update call to create_socket. Call register_socket. (run_command): Use close_fds. Re-enable socket if wait is set. * src/socket.c (create_socket): Take additional argument: socket_type. (register_socket): New function. (disable_socket, enable_socket): New functions. (pies_pause): Add missing break. * src/url.c (url_parse_host): Accept service name and numberic port number. (url_parse_proto): Rename to url_parse_scheme. All callers updated. (url_parse_scheme): Allow for optional protocol specification in scheme field (after a '+' sign). (pies_url_destroy): Free new fields.
2009-11-23Limit number of instances for inetd-style components.Sergey Poznyakoff3
* src/pies.c (component_keywords): New keyword `max-instances'. * src/pies.h (struct component): New member: max_instances. * src/progman.c (struct prog): Rename count to failcount. All uses changed. New members num_instances and listener. (progman_accept): Keep track of the number of instances. Deny connection if it is greater than max_instances (unless the latter is 0). (progman_cleanup): Keep track of the number of instances in inetd listeners.
2009-11-23Minor change.Sergey Poznyakoff4
* src/pies.h (CF_DISABLED) (CF_PRECIOUS): New defines. (struct component): Replace precious and disabled by a bitmask member `flags'. All uses updated. * src/progman.c: Reflect the above change. * src/pies.c (_cb_bitmask): New function. (_cb_precious, _cb_disabled): New callbacks. (component_keywords): Change handling of precious and disabled. * bootstrap.conf: Add Emacs mode marker
2009-11-22Take translations from the TP.Sergey Poznyakoff1
2009-11-09Minor change.Sergey Poznyakoff3
* src/depmap.c (struct pies_depmap.nrows,rowlen): Change type to size_t. (depmap_alloc, depmap_rowptr) (depmap_set, depmap_isset) (depmap_next, depmap_first): Use size_t to index map elements. * src/pies.h: Update prototypes accordingly. * src/progman.c: Update depmap function usage.
2009-10-29Fix doc/CommitSergey Poznyakoff2
* doc/Commit (gray_print_section): Output anchors before chapter/section/etc. titles, so that the heading menu in monolithic document works properly.
2009-10-26Rearrange structures prog and component.Sergey Poznyakoff3
* config_array_to_argv (config_array_to_argv): Take four arguments. Return argc in the memory location pointed to by the 4th one (unless NULL). All callers updated. (_cb_command): Fill both comp->argv and comp->argc. (component_keywords): Pass pointer to struct component to _cb_command. * src/pies.h (struct component): New member `argc'. * src/progman.c (struct prog): Move idx to v.p; change its type to unsigned. Remove v.p.argc. All uses updated. (numprog): Rename to numcomp; change type to unsigned. (prog_lookup_by_idx): Check only elements of type TYPE_COMPONENT.
2009-10-26Register mailers and `exec' actions in the prog list.Sergey Poznyakoff2
* src/pies.c (return_code_keywords): Fix docstring wording. * src/progman.c (prog_type): New enum. (struct prog): New union member `c'. (IS_PROG): Rename to IS_COMPONENT. (destroy_prog): Handle TYPE_COMMAND. (register_command): New function. (wait_for_child): Remove. (propagate_child_exit): New function. (wordsplit_string): New function. (send_msg): Register command. In child: Reset all signals; call propagate_child_exit. (run_command): Do not reset SIGPIPE. Register command. (progman_cleanup): Handle TYPE_COMMAND. (progman_stop_component): For sleeping components, reset v.p.count. (progman_dump_stats): Handle TYPE_COMMAND.
2009-10-26Improve diagnostic output.Sergey Poznyakoff4
* src/diag.c (diag_output): New variable. (diag_setup): New function. (vlogmsg): Use diag_output to decide where to output the message. Output to both stderr and syslog if diag_output says so. * src/pies.c (log_to_stderr): Rename to log_to_stderr_only. All uses changed. (log_setup): Remove. (main): Use diag_setup to initialize diagnostics. * src/pies.h (log_to_stderr): Remove. (DIAG_TO_SYSLOG, DIAG_TO_STDERR): New defines. (diag_setup): New function.
2009-10-26Minor changesSergey Poznyakoff3
* doc/Config (EXTRA_HEAD, AFTER_BODY_OPEN): Use qq{} to quote contents. * doc/fdl.texi: Upgrade to v.1.3. * doc/pies.texi: Likewise.
2009-10-26Pies dubbed a GNU package. Update all files accordingly.Sergey Poznyakoff35
2009-10-20Minor fix.Sergey Poznyakoff1
* doc/Config: Fix links in the main menu.
2009-10-20Version 1.1release-1.1Sergey Poznyakoff2
* configure.ac, NEWS: Raise version number.
2009-10-20Fix diagnostics.Sergey Poznyakoff7
* po/POTFILES.in: Add missing files. * src/acl.c, src/meta1lex.l, src/pies.c, src/progman.c, src/socket.c, src/userprivs.c: Fix diagnostic messages.
2009-10-19Update.Sergey Poznyakoff2
* doc/Config, doc/gendocs_template: Update for the new layout.
2009-10-19Updates.Sergey Poznyakoff2
* src/meta1lex.l (%top): Include config.h to accomodate for the latest gnulib. This requires flex >= 2.5.30 * grecs: Upgrade.
2009-10-19Account for possible system clock inaccuracies.Sergey Poznyakoff4
* src/pies.h (progman_wake_sleeping): Takes one argument. * src/progman.c (progman_wake_sleeping): Takes one argument. Account for possible clock inaccuracy. (progman_cleanup): Print correct signal number in the diagnostics. Update call to progman_wake_sleeping. * src/pies.c (main): Update call to progman_wake_sleeping.
2009-10-18Imrove the docs.Sergey Poznyakoff4
* 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.
2009-10-17Release 1.0.release-1.0Sergey Poznyakoff3
* NEWS: Update. * bootstrap.conf: Call submodule init unconditionally. * doc/pies.texi: Minor changes.
2009-10-16Bugfixes.Sergey Poznyakoff2
* src/acl.c (acl_hasher): Fix signature. * src/progman.c (notify): Fix warnings.
2009-10-16Move to grecs master.Sergey Poznyakoff1
2009-10-16Improve diagnostics output.Sergey Poznyakoff5
* configure.ac (AC_CHECK_FUNCS): Remove checks for unused functions. * gnulib.modules: Add fprintftime. Remove quote. * src/pies.c (pidfile_read): Do not print error message if 'No such process' is returned. (main): Set default quoting style to shell. * src/pies.h: Include fprintftime.h. * src/progman.c (prog_start, progman_dump_stats): Quote arguments on output. (progman_dump_stats): Use fprintftime.
2009-10-16Move to grecs master.Sergey Poznyakoff1
2009-10-16Implement -D and -U options (preprocessor control).Sergey Poznyakoff6
* 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
2009-10-16Various improvements.Sergey Poznyakoff8
* 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.
2009-10-15Proofread the docs.Sergey Poznyakoff2
* doc/pies.texi: Final cleanup. * doc/usr-acl.texi: Minor fix.
2009-10-15More fixes.Sergey Poznyakoff2
* doc/pies.texi: More fixes. * pp-setup: Remove MFD leftovers.

Return to:

Send suggestions and report system problems to the System administrator.