ipa-2.1.2 released Changes: * autoconf 2.68 -> 2.69, automake 1.11.1 -> 1.12.2. * Corrected compilation with --enable-ctl-creds on NetBSD. * Corrected output for "ipactl -a ... status". * Corrected work with the -n switch in ipactl. ----------------------------------------------------------------------- ipa-2.1.1 released Changes: * Corrected compilation when --with-ipa-pthread or --with-ipastat-pthread was specified. * Corrected format of tables in "ipactl memory" output. * Corrected access to free memory in ipa when dynamic rule is deleted. * Call log_stderr() and log_stdout() after ipa.conf file parsing. * Simplified and renamed confcommon.c:print_spaces(). * Corrected output of "ipa -v" and "ipa -h". ----------------------------------------------------------------------- ipa-2.1 released Changes: * Versions of ipa_{ac,db,st}_mod APIs were changed to 2. * Optimized and simplified source code of IPA. * New parameter "ictl" in ipa.conf. * New parameter "ctl_query_max_size" in ipa.conf. * New parameter "value_units" in ipa.conf and ipastat.conf. * Now "restart" and "expire" parameters are optional in ipa.conf. * Now "limit" and "threshold" parameters in ipa.conf can be equal to zero. * Now ipactl can create and delete dynamic rules. * Now ipactl accepts commands "set limit ... counter ..." and "set threshold ... counter ...". * If a limit or a threshold uses "null" database and if it was initialized, then next time during initialization (when some time related problem occurred) imitate its old state from its current state. * Allow to use '_' characters in macro variables names. * Added support for ipactl's messages credentials checking for NetBSD. * Give limitation on the depth of included files (macro variable INCLUDE_DEPTH_MAX with default value 100). * configure.ac was optimized. * All manual pages were reformatted to follow traditional typographic style. * Now all debug messages in ipa and ipastat are written with the "DEBUG: " prefix. * Check correctness of names of dynamic rules and names in received control commands. * Check correctness of names in ipa, ipastat and ipactl options arguments. * Now ipa does not use SIGALRM in timeout implementation for control socket. * Now ipactl does not use SIGALRM in timeout implementation. * Now non-standard function mem_vasprintf() exported to modules returns number of characters in allocated buffer. * Now if some configuration error occurred in included file, then ipa and ipastat log include history, that allows much easy identify point of failure. * Now ipactl does not have limits on lengths of rules, limits, thresholds names. * In some places where EWOULDBLOCK is checked, checks for EAGAIN were added, as it is documented in SUSv3. * On some systems there is no strtoull(3) function, which is part of SUSv3, check it in the configure script and use own version if it is absent. ----------------------------------------------------------------------- ipa-2.0.9 released Changes: * Check that a module defined db_deinit_rule(), st_init_rule(), st_deinit_rule(), st_init_limit(), st_deinit_limit(), st_init_threshold() and st_deinit_deinit_threshold() before calling these functions. * Corrected one race condition: ipa could forget about a SIGCHLD signal and as a result it did not call waitpid(2) for exited child process and could perform polling in select(2). * "ipa -t" did not show "debug_exec" parameter for "autorule" section, corrected. ----------------------------------------------------------------------- ipa-2.0.8 released Changes: * autoconf 2.62 -> 2.68, automake 1.10.1 -> 1.11.1. * Time events in ipa.conf for +h, +D and +W could be incorrectly scheduled (plus one extra hour for +h and plus one extra day for +D and +W), corrected. * If threshold's tm_from time and tm_updated time are equal and their month day is the last day in a month, then ipa incorrectly calculated previous threshold_time_width value during threshold's initialization. ----------------------------------------------------------------------- ipa-2.0.7 released Changes: * If during initialization a limit has time of START, REACH or UPDATED event greater than current time, then ipa will not restart such limit immediately. * If during initialization a not reached limit has time of START event greater than current time, then ipa will change time of this event to current time and will not restart such limit immediately. ----------------------------------------------------------------------- ipa-2.0.6 released Changes: * autoconf 2.61 -> 2.62, automake 1.10 -> 1.10.1. * When time goes back or changes too quickly, then ipa incorrectly used too much CPU time and generated a lot of log messages. Reported and tested by Philip Jocks . * Now several databases can be written in "db_list" parameter's value in ipa.conf. * Now lint can check source code of IPA. ----------------------------------------------------------------------- ipa-2.0.5 released Changes: * When ipa received a control command from "ipactl -n", then it did not close opened file descriptor. * All sections inside rule { startup{}} in ipa.conf were ignored. * Time events for +D and +W in ipa.conf could be incorrectly scheduled at 24:00:00. * Time events for +W in ipa.conf could be incorrectly scheduled at 00:00:00 of Sunday. * If SYM_PREFIX is defined and if symbols in modules with SYM_PREFIX were successfully lookuped, then ipa and ipastat incorrectly refused to use such modules. ----------------------------------------------------------------------- ipa-2.0.4 released Changes: * Now IPA can be used on Cygwin (previously it only could be built). * If SYM_PREFIX is defined, then ipa and ipastat try to lookup symbols in modules with SYM_PREFIX, if this attempt failed, then they try to lookup symbols without prefix. * Use closefrom() system call if the system supports it. * During startup ipa could unlink locked PID-file that was locked by another ipa process. * WCOREDUMP macro is not mentioned in SUSv3 (#ifdef it). ----------------------------------------------------------------------- ipa-2.0.3 released Changes: * If value in command line for ipactl is given in time units, then ipactl ignored overflow during parsing. * If limits and thresholds were disabled during compilation, then ipactl did not accept the -r option. * The limit{} section in ipastat.conf placed in incorrect place could cause segmentation fault. ----------------------------------------------------------------------- ipa-2.0.2 released Changes: * If a system does not have LOG_PERROR flag for syslog(3) (this is a non-standard flag), then "ipa -d" did not output log messages to stderr. * Now the configure script checks vsyslog() function, which is not mentioned in SUSv3. * Added checks for int32_t, uint32_t, int64_t and uint64_t to configure. * autoconf 2.59 -> 2.61, automake 1.9.6 -> 1.10. * Now autoheader is used for generating src/config.in.h. * New options for configure: --enable-gcc-more-warns, --disable-gcc-warns. * It was not possibly to correctly redefine SYM_PREFIX macro variable, added relevant description to INSTALL. * If positive counter of some rule is overflowed, then statistics was incorrectly updated in databases. * Initialization of descriptors in ipa was incorrect if stdin, stdout and stderr were closed. * Usage of "include_files" parameter in ipastat.conf caused fake log messages about memory leak. * Values in "limit", "expire", "restart" and "threshold" parameters could not be written with spaces, corrected. * In the configure script --enable-FEATURE and --disable-FEATURE disabled FEATURE. ----------------------------------------------------------------------- ipa-2.0.1 released Changes: * Now if some included configuration file has wrong owner or permission bits, then ipa always considers this as an error. * One memory leak, which occurred during reconfiguration in ipa, was found. * If threshold_deviation was not given in per cents, then a threshold worked incorrectly, this was corrected. * ipastat did not honor ipa_st_mod API when called conf_event() function for modules. * Check for infinitive cycles with "ac_gather_*" parameters was removed, previous check does not honor "worktime" parameters. * Handling of SIGCHLD signal for running command in foreground in "ipa -x ..." was removed, this is not necessary. * Use ctime_r(), getpwnam_r(), getgrnam_r() and strerror_r() functions in thread-safe version of ipa and ipastat. * memfunc.c was simplified: not needed types castings were removed. * Checks for errno values from readdir(), getgr*() and getpw*() functions were added. * Now it is possible to build IPA on 64bits systems: found one typo in function argument's type; offsetof and sizeof return size_t result, socklen_t and sig_atomic_t can be long integers. * Possible race condition between creating control local domain socket and changing access permission for its file was corrected. * Configure option --disable-ctl-creds was changed to --enable-ctl-creds. * On FreeBSD during ipactl's messages credentials checking incorrectly EGID of sending process was checked. * If some error occurred during initialization and if autorules are used, ipa could pass uninitialized rules_ptr_marray pointer to memfunc's functions. ----------------------------------------------------------------------- ipa-2.0 released Notes: * First release of Pluggable Accounting System, which supports static and dynamic rules; limits, sublimits and thresholds; external accounting, database and statistics modules and many more.