Hello, sorry for the really late announce, new version v0.41 is here. It has a number of significant improvements.
The major changes * template stuff (see cgconfig.conf.5) * new logging there are a lot of bugfixes and documentation improvements. The tarballs are available from: https://sourceforge.net/projects/libcg/files/ Thanks to all contributors: Dhaval Giani (5): cgconfig: Do not touch subsystems not mounted by cgconfig libcgroup wrappers: Remove duplicated code wrappers: Add a cgroup_get_cgroup_name API libcgroup: Add a cgroup element to point to the owner in the controller v0.39.rc1 Glauber Costa (2): error.h: fix numbering of error codes Fix cgroup_modify_cgroup gratuitous failure Ivana Hutarova Varekova (116): testsuite: add test environment script testsuite: cgconfigparser simple sanity test Remove unnecessary blacklisted variables testsuite: fix tests Makefile to parse tools subdirectory testsuite: add TESTDIR variable to testenv testsuite: new cgconfigparser test cgclassify: add argument check cgclassify: improve(unify) the usage output cgclassify: add -h option Fix strcpy problems in api funtions fix a typo in cgget.1 add missing arg test to theree api functions unify lssubsys output cgconfigparser_simple test: remove duplicate output message Add -h option to cgdelete tool Add -h option to cgexec tool cgdelete: add the possibility to use -g : cgdelete: do -h output more verbose cgcreate.1: sort the options in cgcreate.1 cgcreate: fix help output lscgroup: add the possibility to use -g : lscgroup: more verbose output of -h option cgget: add the possibility to use -g : cgget(1): fix the manual page to describe -g properly cgget: unify -h|--help output tests: remove not used and obsolete test pathtest cg_build_path: use max FILENAME_MAX characters for array in 2nd parameter Fix the malloc error codes cgget: fix return value checks cgsnapshot: fix return value checks cgget: fix final cgget cleanup api: cg_rd_ctrl_file does not free fd cgsnapshot: in special cases memory/fd is not freed api: cgroup_walk_tree_begin not freeing entry api: cg_set_control_value strncat fix lscgroup: removed unused variable testsuite: fix wrong lssubsys call testsuite: fix cgclear call in testenv.sh api.c: remove obsolete error message Removed unused variable ‘cgroup_dir_path’ in lscgroup in function ‘display_controller_data’. Remove unused error code ECGSENTINEL - it was used for test whether error code is in valid interval, now it is unused. cgclear: missing indentation in -h output cgcreate: --help patch From: Ivana Hutarova Varekova <varek...@redhat.com> cgcreate.1: -s option problem testsuite: incorporate OPAQUE_HIERARCHY testsuite: wrong cgroup mount points parsing testsuite: runlibcgrouptest have to be configurable testsuite: fix cgclear call in testenv.sh II man pages typos cg_build_path adds needless "/" character lscgroup: don't trim "/" api.c: fix typo in error code description cgsnapshot: add the end of string character when it is necessary update TODO lists unify libcgroup tools -h output cgclear: fix -h option parsing/output cgclassify: improve help output cgexec: more verbose help cgset: more verbose -h output cgconfigparser: fix error message cgrules.conf: no documentation inside config file cgroup_change_cgroup_flags: create template control group on the fly cgconfigparser: add template tag to cgconfigparser cgconfig.conf: parse template tag and fill relevant structures config.h: create function for init/reload cgconfig template cache api: add function for creating template control groups cgrulesengd: cache templates cgroup_change_cgroup_flags: use templates if they are in rules update documentation to reflect the changes regarding templates api.c: cgroup_create_template_group templates crashing templates have to be coppied in proper way to template_table structure remove useless include from log.h v0.40.rc1 remove useless cgroup_rules_loaded fix permissions of logger.sh cgroup_get_cgroup: remove bogus comment fix template function to copy template groups properly documentation: fix cgroup_copy cgroup description config.c: better detect whether template group already is created parse: fix template parsing lex: suppress useless warning message during compilation create_cgroup_from_name_value_pairs can't deal n/v pairs from the same controller cgsnapshot: don't display mountpoints which are not wanted cgclassify: polish usage function cgclassify: unify help output cgclear: polish usage function cgconfig: polish usage function cgclear: unify help output cgconfig: unify the help output cgcreate: polish usage function cgdelete: polish usage function cgdelete: unification of usage function output cgexec: polish usage function cgexec: unify the help output cgget: polish usage function cgset: polish usage function cgsnapshot: polish usage function cgsnapshot: unify help output lscgroup: polish usage function lscgroup: unify help output lssubsys: polish usage function lssubsys: unify help output cgroup_init: stop mntopt parsing if there is a bug in named hierarchy cgroup_copy_with_slash: two typos cgroup_get_current_controller_path: test whether strtok_r returns NULL cgroup_config_create_template_group: fix strncpy limits cgroup_config_create_template_group: test the right variable cgroup_{reload|init}_cached_templates:memory leaks cgroup_create_cgroup: write error on fail cgconfig.conf: enable sign "@" in cgroup name bindings: remove -nostdinc compiler option 'make dist' command compiles "bindings" directory content even if bindings are not enabled in configuration file. This patch fix it. Revert "'make dist' command compiles "bindings" directory content even if bindings are not enabled in configuration file." v0.40.rc1 Release v0.41 Jan Chaloupka (1): lex: add \ character into regexp for ID token Jan Safranek (85): Fix cgclear to continue unmounting on error Fix configure --enable-debug Added tests for cgclassify tool Added README for the tool test suite Fixed cgrules.conf restore in testenv.sh Fixed parsing of mount options Fixed libcgroup to be aware of hierarchies mounted multiple times. Added iterators to go through all mount points of a hierarchy. Updated cgsnapshot to show multiple mount points of hierarchies. Added -M option to lssubsys to show multiple mount points of hierarchies. Fixed cgclear to unmount all hierarchies mounted multiple times. Enhanced cgsnapshot to print named hierarchies. Added support for named hierarchies to cgconfigparser. Added tests for herarcheis mounted several times. Updated cgconfig.conf man page with named hierarchies. Fixed cgconfigparser to allow configs with no 'mount' section Updated cgconfig service descriptions Fixed cg_chmod_recursive Fixed multimount tests Permissions settings documentation tests: Check cgroup_add_controller return value in test_functions cgsnapshot: fixed return value checks in parse_mountpoints() cgsnapshot: fixed exit codes when parsing of mountpoints fails cgconfigparser: Fixed checking of getpw/grnam_r return codes lssubsys: remove unused variable tests: Check cgroup_init() results libcgroup: Fixed potential crash when setting a parameter value cgconfigparser: Made YY_FATAL_ERROR really fatal when parsing cgconfig.conf cgrulesengd: Fixed closing of daemon sockets on error tests: Check getpwnam() return value libcgroup: Fixed a memory leak during cgrules.conf parsing libcgroup: Fixed leaked file descriptor when enumerating controllers libcgroup: Fixed memory and file descriptor leak when enumerating processes cgconfigparser: Fixed memory leak when parsing invalid cgconfig.conf cgsnapshot: Fixed file descriptor leak when getting out of memory cgsnapshot: Fixed file descriptor leak when enumerating controllers libcgroup: Rework walk_tree iterator to release all resources on error. lssubsys: Fixed file descriptor leak on error enumerating controllers. tests: Fixed memory leak in test_functions libcgroup: Added checks for NULL when creating an internal dictionary cgclear: Simplified error handling when unmounting controllers libcgroup: Fixed dereferencing of uninitialized variable when modifying a group libcgroup: Remove unreachable code cgrulesengd: Fixed processing of symlinked executables. libcgroup: fixed chmod cg_chmod_recursive_controller libcgroup: ignore 'tasks' file when changing permission of control files Added cgconfigparser test with fperm and dperm config options libcgroup: added new flag to cgroup_delete_cgroup_ext to delete only empty groups libcgroup: split config parser to standalone function libcgroup: the library can be re-initialize by cgroup_init() libcgroup: allow parsing to be called several times libcgroup: free global config_cgroup_table libcgroup: added cgroup_config_unload_config() function libcgroup: Added simple structure for list of strings. cgclear: delete cgroups from config file cgconfigparser: Allow multiple config files libcgroup: cgroup_delete_cgroup_ext was made namespace aware tests: Added cgconfig tests doc: Man page updates lscgroup: Fixed too many '/' characters on output libcgroup: Define NO_UID_GID. cgconfigparser: Add 'default' section. cgconfigparser: Allow SUID and SGID permissions in 'fperm' and 'dperm' options. tests: Added checks for UID and GID in permission test. tests: Added tests for default permissions. tools: Added parse_mode() and parse_uid_gid() to tools_common.c. libcgroup: Added cgroup_config_set_default() function. cgconfigparser: Added options to set default owners/permissions. tools: Fixed parsing of SUID/SGID/sticky bits in -t and -a options. tests: Added tests for cgconfigparser witg -f, -d, -a and -t options. libcgroup: added new error code when removing non-empty group. cgclear: fixed exit code with -e option tests: Fixed tests for cgclear -e cgcreate, cgconfigparser: Fixed permissions when only one of '-f' and '-d' is set. cgcreate, cgconfigparser: Added new parameter for tasks file permissions. cgcreate, cgconfigparser: Fixed help and documentation style. cgconfigparser: Added 'default' section documentation to cgconfig.conf man. libcgroup: Added compile-time option to ignore certain hierarchies (e.g. systemd). libcgroup: Added README_systemd file. Libcgroup: added cgconfig.service unit for systemd. libcgroup: Fixed cgroup_strerror() typo. tests: added missing files to Makefile.am Add README_systemd to release Updated release process documentation. v0.38.rc1 release Jiri Slaby (2): doc: fix cgconfig manpage scripts: cgconfig, wait for ypbind John Fastabend (1): libcg: scan running tasks at start time to classify existing pids Libo Chen (8): log.h: add head file <stdarg.h> cgcreate: add err check cgconfig: add err check cgconfig: fix the excursive processing cgconfig: add parameter check cgconfig: correct freeing default_cgroup cgconfig: add check and nonzero cgconfig: change function usage behavior Michal Hocko (3): Add file and directory permissions into cgroup cgconfig: enable setting file permissions chmod_file: Introduce intelligent file permissions setting Peter Schiffer (24): Fixed few findings from Coverity scan Removed cgroup_dbg from cgrulesengd Reworked libcgroup logging Enabled default logging Reworked logging configuration Added parsing of CGROUP_LOGLEVEL Recognize DEBUG level of CGROUP_LOGLEVEL variable in daemon Fixed cgrulesengd to log libcgroup log messages to syslog Changed log level of various messages Added new errors/warnings Enabled logging in cgconfigparser Added new logging to the tools Added a test for the new logging Added CGROUP_LOGLEVEL to man pages + fixed the style of 'FILES' section where appropriate. Update default logging for cgrulesengd Make cg_mkdir_p() function compatible with read-only fs Use cache when reading /etc/passwd file Cgred service won't start if /etc/cgrules.conf is missing Typo in debug message in cgexec.c file Incorrect cast Invalid reallocation of config_table in config_insert_cgroup() Templates letter case is switched Use cache when calling cgroup_change_cgroup_flags() Variable procname leaks Philipp Thomas (1): This Patch is meant to enhance the wording of the man pages Robert Milasan (1): fix defaultcgroup detection (better description) Roberto Polli (1): support indented comments in cgconfigparser Weng Meiling (6): cgsnapshot: fix the print message when use cgsnapshot with -f when we use cgsnapshot with the given controller, the result always displays the last mounted controller which is not specified, so fix it. It's more readable and friendly to use the enum value instead of number. cgclassify: use the error message instead of error number cgred:cgred should start when cgroup is mounted cgcreate: fix the wrong uid/gid set. Ivana Hutarova Varekova ------------------------------------------------------------------------------ Put Bad Developers to Shame Dominate Development with Jenkins Continuous Integration Continuously Automate Build, Test & Deployment Start a new project now. Try Jenkins in the cloud. http://p.sf.net/sfu/13600_Cloudbees _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel