Version 0.2.2 Bugfixes: - Fixed possible bugs due to incorrect memmory allocations and frees. - Fixed invalid reports when the query references a port pair that is not used. Feature Additions: - Wrappers for allocating routines that terminate on a failure to allocate. - Kenny Root contributed an RPM spec file. To create an RPM, decompress (but do not untar) the tarball, and "rpmbuild -ti cidentd-.tar". See the manpage for rpmbuild for more information. Miscellaneous code cleanups. Fixed a couple of misdocumentations in the info page. Version 0.2.1 Final release of this version. Feature added: - Info and man pages. Code cleanup: - If the userdir is not set, no userfiles are checked for; however, the cached entries are still stored. This should be rewritten in the next version. Version 0.2.1.rc1 This is a semi-serious revamp and code cleanup effort. To that end: - CachedAnswer has been completely discarded. AnswerConfig more than suffices. - The threaded model has been completely discarded. We will only 'accept()' up to 'max-queries' and poll the open sockets. The limiting factor is the max number of file descriptors allowed to be open (256). - This program will not open user files larger than 5k. The supplied cidentd.conf, which includes all the server configs and a ton of comments, has less than 5k. Bugfixes: - Implied answer-type works correctly. - Error type "actual" implemented and documented. Feature Addition: - Signal handlers for clean exit and for toggling debug output at runtime (SIGUSR2). Version 0.2.1.pre2 Bugfixes: - thread deadlock when user updates file. - error report only sends *one* query string as part of the response. - pidfile is removed (if possible) if it refers to an expired process. - The token is "USERID", not "USER-ID". Feature addition: - "-d" "--debug" runtime option. This will turn on extra reporting (mostly in the subthreads). Code cleanups: - "make" handles internal libraries sensibly instead of makeing up-teen renames. - file and line reporting only if "-d" specified. Version 0.2.1-pre1 Note: This program is functional, but has not been thoroughly tested. This is going to be a significant upgrade since the last version. Some of the changes include: - Complete command line and config file processing. - Security checks. - Ability to easily change compiled in defaults, with error checking during the make process to avoid compiling in erroneous defaults. For developers, certain parts of the source may be of interest: - src/init/tbtopt: This is extraordinarily helpful in the maintenance of command line options and associated help strings. Uses libgetopt (included in most libraries using "unistd.h" and "getopt.h"). "_GNU_SOURCE" must be defined to work correctly. - src/bits/state/procprivs: This is an attempt to intelligently maintain control of a process' privilages. These modules are not readily transportable to other projects without some modification. I plan to (eventually) release these as fully transportable modules or maybe even shared libraries. Version 0.1 Initial concept and proof by code. This version is usable, but may not be safe. Some memory leaks exist. Sub-threads fail under heavy load (about 10,000 concurrent queries) with segfaults, leading to memory leaks. The file that is read must be a literal userid to send, and must be in the form of: " [, ] :"