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

Reply via email to