Group :: Development/C++
RPM: libcontrol++
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
15 june 2022 Alexey Appolonov <alexey at altlinux.org> 0.29.0-alt2
- Fixed build (was broken by the GCC update to version 12).
- Enhanced function "Split" that splits given string using whitespace if the
second argument is absent.
- Fixed and modified functions that process strings ("FindSubstrNthOccurrence",
"UnescapedQtnMarkPos" and others); - Corrected "TConf" class (regarding the parsing of assigns).
- Fixed segmentation faults in the "TConf" and "TPrinter" classes;
- Improved error handling of the "TConf" class;
- Improved indentation management of the "TPrinter" class (the API is changed!);
- Ability to use the "Stringify" functions with arguments of data types that
include strings.
- New functions that perform stringification.
- Fix of the "GetPermModeString" function that could produce incorrect string
representation of a permission mode.
- Build with debuginfo enabled.
- New function 'Join' that joins elements of an iterable;
- New function 'Split' that splits given string into a vector of substrings;
- New functions 'Keys' and 'KeysV' that get a set or a vector (respectively)
of keys of a given map; - New function 'GetVal' that returns a value of a given map or an empty value
(constructed fith a default constructor) if specified key is not found; - Improved capabilities of escaping of special characters;
- Ability to pass a vector of error/warning messages to a TPrinter object;
- Ability to handle an iterable of subpaths with the 'JoinFilePaths' function;
- Lots of minor improvements (the code is heavily refactored, so be aware!).
- Corrected functions 'StripPath' and 'GetWordFromLine';
- Corrected behaviour of 'TPrinter' class in case when winsize cannot be
properly defined.
- Some of the classes and functions have been relocated, some of the headers
are gone and the new headers have been added; - Enhanced trimming functions;
- Minor improvement of TPrinter.
- New abilities of TPrinter (switching off any activity of TPrinter object,
restoring 'silent' flag).
- Ability to store only the pointer to TFileMode attributes, and not copy
the data (performance gain up to 100%); - New abilities of TPrinter (printing various special messages,
handling indentation levels, etc.); - All the printing inside TPrinter is done through one and only point
of 'cout'-reference; - Small fixes and optimizations.
- Enhanced TConf class;
- Ability to give instant feedback for an operation.
- Ability to get string with current permission status for applied mode;
- Improved performance.
- Fix of the FormatFilePath function;
- Default mode for whitelists is 'neutral' mode;
- Custom mode for whitelists is allowed again.
- Handling SUID, GUID and Sticky bits;
- Escaping and unescaping special symbols when writing to
or reading from ini-file; - Ability to sort lines of file in alphabetical order;
- Custom mode for whitelists is disallowed.
- Simple line (not "left part - tie symbols - right part" structure)
can be printed with LineEnd method of TPrinter.
- Ability to check controversy between the permission modes;
- Ability to get all names of variables of the ini-file section;
- New interface of the GetUserId and GetGroupId functions;
- Fixed determination of the 'blacklist' section of the permissions
description file; - List section of the permissions description file is any kind of list
not just 'list'; - Sections 'blacklist' & 'whitelist' of the permissions description file
are considered recursive type.
- TFileMode as common interface for TFilePerm and TFileACL classes;
- TGroupOfFilesMode for handling params of a group of files;
- TSectorType for determining and storing sector types of a mode description;
- Ability to check if file is a dir.
- Fix of the checks made during access to the TRunMode flags;
- Enhanced constructor of the TFilePerm and TFileACL.
- Fixed JoinFilePaths function;
- Duplicate definition of the member variable is removed
from TGroupOfFilesACL class.
- Functions for searching through file paths;
- Ability to get user/group/other part of the file mode;
- Yes/No dialog;
- Function for comparison of the permission modes;
- Functions for verification of the file's owner/group;
- New section of the project for basic operations with file permissions;
- Ability to restart the print line;
- Class for the variable that can be assigned only once;
- Class for the set of params of a running program;
- Modified FormatFilePath and DirEnding func;
- Function for joining file paths;
- Function for rebasing file paths;
- Ability to set "base directory" for the permission mode;
- Way of determining the neutral mode;
- Ability to use pointer to a struct of params instead of the strings
for the permission mode; - Ability to limit the memory step when using PushBack function.
- Writting error messages by the ref instead of outputting;
- More secure way of TFilePerm data access and modification;
- New classes TFileACL and TGroupOfFilesACL;
- Ability to check permission/ACL completeness;
- Set of ACL-related functions;
- Function that forms TFilePerm object for a file;
- Functions to get user id/name and group id/name;
- Modified TPrinter class;
- Modified conf-related classes;
- New common functions - CompareFilenames, Subvector and RemoveEmptyElements;
- Text-processing functions are grouped into the 'text' section;
- Sets-related functions are grouped into the 'sets' section.
- New section for printing functionality;
- API changes (CutExtension, FormatFilePath and GetHomeDir functions);
- Ability to get feedback while changing permissions;
- Function that gets the intersection of two vectors;
- Function that gets vector that consist of elements of first given vector
that are not presented in the second given vector; - Function that gets sector of the conf by given name;
- Ability to clean DOM of the TConf object;
- Ability to add message at the top when rewriting conf;
- Various small modifications.
- New section for the filestat-related functions;
- Function for opening the dir and performing the operation inside of it;
- Ability to call the function for the dir or all the files of the dir;
- Ability to add new assgn to the conf DOM and to the conf file;
- Ability to rewrite conf file completely according to DOM;
- Functions for checking/cutting an extension of a filename;
- Function for forming vector of names of all the sectors of the conf file;
- Function for determining special reference dirs;
- Function for converting string to lowercase;
- Lots of small fixes and improvements.
- Introducing refs and const modifier wherever possible;
- Functions for trimming the string;
- Function to access the last element of the conf DOM;
- Attempt to write an empty string to a file not considered as an error;
- Explicit templates instances and unused typedefs was removed.
- libcontrol++ is a separate package now.
- Revised PrintOnEntireLine function.
- Memory leakage fix.
- New libcontrol++ features.
- New libcontrol++ features.
- New libcontrol++ features.
- Common classes and functions that can be used in other projects
compiled as libcontrol++.so
therefore libcontrol++ and libcontrol++-devel subpackages.
- Code restyling.
- Minor changes in units handling.
- New unit, that runs script stated in configuration file.
- Handling of values in quotes in configuration files.
- Verbose output with -v param when setting mode.
- Comment lines passing in configuration files.
- Ability to set permission modes.
- Restructure for better extensibility.
- Support of INI file format for the configuration file.
- Initial ALT Linux release.