Age | Commit message (Collapse) | Author | Files |
|
|
|
* src/comp.c (component_link): Restore "next" link.
|
|
Implement clean configuration reload on SIGHUP.
Use SIGUSR1 to restart the program (previously initiated by SIGHUP).
* src/Makefile.am (pies_SOURCES): Add comp.c
* src/comp.c: New file.
* src/acl.c (pies_acl_free): Don't coredump on NULL arg.
(_parse_from): Set cmp function for the sockaddr list.
(_acl_common_section_parser): Set cmp function for the ACL
(pies_acl_cmp): New function.
* src/acl.h (pies_acl_cmp): New proto.
* src/cmdline.opt: Remove option --dump-prereq. Add options
--trace-prereq and --trace-depend.
* src/ctl.c: Use prog_tag to access tag of struct prog.
* src/depmap.c (depmap_clear)
(depmap_clear_all): New functions.
* src/inetd.c (inetd_conf_file): Don't register prog right
away. This is done later in component_config_commit.
(inetd_parse_conf): Rename to inetd_config_parse.
* src/limits.c (limits_cmp): New function.
* src/pies.c (config_file): Replace with struct config_syntax.
(str_to_config_syntax): Return a pointer to struct config_syntax.
(add_config): Rename to config_file_add.
(config_file_add_type): New function.
(return_code_keywords, create_action): Change handling of actions.
(return_code_section_parser): Likewise.
(component_verify, component_create)
(component_free, component_finish): Move to comp.c
(config_parse): Remove.
(pies_config_parse): New function.
(pies_read_config,pies_reload): New function.
(pies_reload): Rename to request_reload.
(pies_status): Rename to request_status.
(pies_stop): Rename to request_stop.
(main): Change configuration file handling.
SIGHUP reloads configuration, instead of restarting the program.
(default_sigv,sig_handler): Handle SIGUSR1.
* src/pies.h (component): New members: prev, next, listidx, arridx,
ref_count, prog.
Remove act_head, act_tail, act_temp.
Add new prototypes.
* src/prog.h (prog): Remove tag and prereq.
* src/progman.c (prog_tag): New function.
(destroy_prog): Update component reference count.
(register_redir): Likewise.
(register_prog0): Take one argument.
Update component reference count.
(register_prog): Update comp->prog
(prog_rebuild_prerequisites): Remove.
(component_fixup_depend): Remove.
(fixup_prerequisites,rebuild_prerequisites)
(print_dep,progman_dump_prereq)
(progman_dump_depmap,progman_build_depmap): Remove.
(prog_start_prerequisites): Scan depmap to find prerequisites.
(prog_stop_dependents): Likewise.
(progman_wait): Remove.
(progman_wait_until): New function.
(progman_stop): Rewrite using progman_wait_until.
(react): Rewrite using grecs_list
* src/sysvinit.c: Use prog_tag when needed.
* src/userprivs.c (pies_privs_cmp, pies_privs_free): New functions.
* grecs: Update.
* lib/safe_strcmp.c: New file.
* lib/Makefile.am: Add safe_strcmp.c
* lib/libpies.h (safe_strcmp): New proto.
|
|
* configure.ac (GRECS_SETUP): Require parser-meta1
* grecs: Upgrade.
* po/POTFILES.in: Update.
* src/Makefile.am: Remove meta1gram.y and meta1lex.l
Add meta1parse.c and meta1parse.h
* src/meta1gram.y: Remove.
* src/meta1lex.l: Remove.
* src/meta1parse.c: New file.
* src/meta1parse.h: New file.
* src/pies.c: Include meta1parse.h instead of meta1lex.h
|
|
* configure.ac (GRECS_SETUP): Request sockaddr-list
* grecs: Upgrade.
* po/POTFILES.in: Remove meta.c
* src/piesctl-cl.opt: Use client.url
* src/piesctl.c (client_conn): New struct.
(instance_keywords,piesctl_keywords): New keyword: "source".
(parse_config): Initialize grecs_sockaddr_hints.
(shttp_connect): Optionally bind to the selected local IP
before connecting.
* src/utmp.c (write_wtmpx,write_utmpx): Remove spurious notice.
|
|
* grecs: Upgrade.
* src/ctl.c (restab): Split /programs in two endpoints.
(eval_env): New members allowed_state, fun, total_count,
success_count, and noperm_count.
(pcond_type): pcond_and and pcond_or can take arbitrary
number of arguments. All uses updated.
(selector): Rewrite.
* src/piesctl.c: All commands that operate on components take
conditional expression as argument.
(pcond_parse_and)
(pcond_parse_or): Optimize consecutive operations.
|
|
* configure.ac (DEFAULT_CONTROL_URL): New subst variable.
* grecs: Upgrade.
* ident/pam.c (overwrite_and_free): Free ptr.
* lib/Makefile.am: Add new sources.
* src/addrfmt.c: Move to lib/addrfmt.c
* lib/grecsasrt.c: New file.
* lib/grecsasrt.h: New file.
* lib/mkfilename.c: New file.
* lib/netrc.c: New file.
* lib/pp.c: New file.
* lib/split3.c: New file.
* src/url.c: Move from lib/url.c
(pies_url_free_user, pies_url_free_passwd): New finctions.
* lib/libpies.h (strsplit3): New proto.
(pies_url_create, pies_url_destroy)
(pies_url_get_arg, pies_url_copy)
(pies_url_free_user, pies_url_free_passwd)
(netrc_scan)
(pp_add_option, pp_command_line, mkfilename)
(sockaddr_to_str, sockaddr_to_astr): New protos
* src/Makefile.am (bin_PROGRAMS): New program: piesctl
(pies_SOURCES): Remove addrfmt.c and url.c.
(noinst_HEADERS, BUILT_SOURCES): Add piesctl-cl.h
* src/cmdline.opt: Use pp_* function family to build
preprocessor command line.
* src/ctl.c (http_header_hash): Use case-insensitive hashing.
(ctlio_finalize_reply): Don't close connection after sending 401
response.
(input): Remove ws and wsflags. All uses changed.
(input_append): Use strsplit3 to parse the request line.
* src/pies.c: Use pp_* function family to build
preprocessor command line.
Move assert_, mkfilename and _cb+_url functions into libpies.
* src/pies.h (pies_sockaddr_storage): Move to libpies.h
* src/piesctl.c: New file.
* src/piesctl-cl.opt: New file.
|
|
* configure.ac (GRECS_SETUP): Add json
* gnulib.modules: Add base64.
* grecs: Upgrade.
* src/ctl.c: Rewrite as REST.
|
|
|
|
* grecs: Upgrade.
* lib/parsetime.c: Fix senseless compiler warnings.
* src/acl.c: Fix docstrings.
* src/meta1gram.y (yyerror): Change argument
* src/meta1lex.l: Add flex options
* src/pies.h (meta1error): Change signature.
* src/progman.c (prog_lookup_by_socket): Remove.
* src/sysvinit.c (sysvinit_stop_filter): Remove.
|
|
|
|
* Makefile.am (SUBDIRS): Add src.
* configure.ac: Check for crypt.h and PAM
Build ident/Makefile
* grecs: Update.
* ident/Makefile.am: New file.
* ident/ident.c: New file.
* ident/ident.h: New file.
* ident/identity.h: New file.
* ident/pam.c: New file.
* ident/provider.c: New file.
* ident/system.c: New file.
* lib/Makefile.am: Add arraymember.c
* lib/arraymember.c: New file.
* lib/libpies.h (is_array_member): New proto.
* src/Makefile.am (LDADD): Add libident.a and @PAM_LIBS@
* src/acl.c (acl_entry): Remove groups. Add new members:
names and name_match.
(pies_acl_create): Deep copy the locus.
Set free_entry function for the list.
(pies_acl_free): Free locus.
(_parse_from): Set free_entry function for the list.
(_parse_group): Parse the "user" construct.
(parse_acl_line): Deep copy the locus.
Allow for null value.
(acl_keywords): Update docstrings.
(_acl_check): Rewrite identity checks.
* src/acl.h (acl_input)<user,groups>: Remove.
<identity>: New member.
(pies_acl_free): New proto.
* src/ctl.c (identity): New global.
(cmdtab): New command: auth
(ctlio) <addr,addrlen>: New members.
(ctlio_create): Start from authenticated state
only if no identity_providers are configured.
(cmd_auth): New function.
(cmd_help): Print only commands that are available
in the current state.
(ctl_accept): Initialize io->addr and io->addrlen.
* src/inetd-bi.c: Change call to check_acl
* src/pies.c: Include identity.h
(control_keywords): New statement "identity-acl"
(pies_keywords): New statement "identity-provider"
(config_init): Register identity mechanisms.
(config_parse): New function.
(config_help): Print help on identity-provider
statements.
(main): Use config_parse to parse grecs-style configurations.
* src/pies.h: Include identity.h
(check_acl): Change argument list. All callers changed.
(control): Remove acl. Add conn_acl and id_acl instead.
* src/progman.c (check_acl): Change argument list. Take
identity as the 3rd argument.
|
|
* src/progman.c (prog_start): Close redirection fd's
* grecs: Upgrade.
|
|
* 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.
|
|
|
|
* grecs: Upgrade.
* lib/Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
* src/Makefile.am: Likewise.
* src/acl.c: Update grecs_keyword definitions.
* src/inetd.c (inetd_conf_file): Bugfix. The ws structure could
be free'd prior to initialization.
* src/pies.c: Update grecs_keyword definitions.
(init_process,initdefault,dfl_level): New globals.
(modetab) <once>: New keyword.
(component_keywords)<runlevels,initdefault>: New keywords.
(main): Initial support for init(8) mode.
* src/pies.h (pies_comp_mode) <pies_comp_exec_once>: New constant.
(component)<runlevels>: New member.
(init_process,console_device,initdefault): New externs.
* src/progman.c (prog_status)<status_finished>: New status.
(prog)<runlevels>: New member.
(progman_running_p): New function.
(prog_start): Special handling for init process mode.
(progman_start): Likewise. Take into account runlevels.
(progman_dump_stats): New flag 'f' for status_finished.
|
|
* Makefile.am (ChangeLog): Use git2chg.awk to build it.
* NEWS: Update.
* bootstrap.conf (gnulib_modules): Grecs does not depend on gnulib any more.
* configure.ac: Version 1.2.90.
Define GRECS_HOST_PROJECT_INCLUDES, remove grecs Makefiles from
AC_CONFIG_FILES: it is now done by GRECS_SETUP itself.
* gnulib.modules (gitlog-to-changelog,argp): Remove.
(configmake): New module.
* grecs: Update to a52ab6c6.
* lib/libpies.h: Remove redefinitions of _() and N_().
* src/Makefile.am: Update for the recent grecs.
* src/acl.c: Rewrite using Grecs support for lists and symtabs.
* src/acl.h: Likewise.
* src/diag.c: Likewise.
* src/inetd.c: Likewise.
* src/meta1gram.y: Likewise.
* src/meta1lex.h: Likewise.
* src/meta1lex.l: Likewise.
* src/pies.c: Likewise.
* src/pies.h: Likewise.
* src/progman.c: Likewise.
* src/userprivs.c: Likewise.
|
|
|
|
|
|
|
|
* src/meta1lex.l (%top): Include config.h to accomodate for the
latest gnulib. This requires flex >= 2.5.30
* grecs: Upgrade.
|
|
|
|
|
|
* Makefile.am (ACLOCAL_AMFLAGS): Add grecs/am
* bootstrap.conf: Skip po.
Initialize submodule.
* configure.ac: Mailutils no longer needed.
(AC_CONFIG_FILES): Add new subdirs.
* gnulib.modules: Add more modules. Arrange entries
alphabetically.
* lib/Makefile.am: Rename library to libpies.
* lib/libpies.h (mf_privs)
(switch_to_privs, get_user_groups)
(mf_priv_setup, mf_epriv_setup): Move to src/pies.h
(config_array_to_argv, config_array_to_string)
(config_cb_timeout): Remove.
(tokendef): New struct.
(strtotok_len, strtotok_len_ci)
(strtotok, strtotok_ci, toktostr): New prototypes.
* lib/nls.c: Remove call to mu_init_nls.
* src/acl.c: New file.
* src/addrfmt.c: New file.
* src/diag.c: New file.
* src/meta.c: New file.
* src/url.c: New file.
* src/userprivs.c: New file.
* src/acl.h: New file.
* src/pp-setup: New file.
* src/Makefile.am (pies_SOURCES): Add acl.c,
addrfmt.c, diag.c, meta.c, url.c, userprivs.c.
(noinst_HEADERS): Add acl.h.
(inc_DATA): Add pp-setup.
* src/limits.c, src/meta1gram.y,
src/meta1lex.h, src/meta1lex.l,
src/pies.c, src/pies.h, src/progman.c,
src/socket.c, src/userprivs.c: Remove calls to
functions from Mailutils.
|