ChangeLog for the e-tunity utility library ------------------------------------------ 4.38 [KK 2007-03-07] - Implemented ps_sortsnapshot() 4.37 [KK 2006-07-19] - Bugfix in ps_makesnapshot (related to Linux kernels 2.6+) - RPM creation & uploading disabled. This lib will have to be made from source. - Fix in rx_match(): when 2nd string argument is 0, RX_NOMATCH is returned. 4.36 [KK 2006-05-15] - Installation defaults to /usr/local/* when $EBASE isn't set. [KK 2006-06-02] - Small update regarding Cygwin portability. 4.35 [KK 2005-10-27] - A topline 'make install' now hits getline's 'make install' too. - A 'make install' in the C branch forces a 'make local' in a better way. 4.34 [KK 2005-09-28] - Added c-conf 4.33 [KK 2005-09-22] - Port to OSX, 'configure' utility added. Dynamic build on Darwin implemented. 4.32 [RE 2005-07-14] - Added ­ to e-mlcode.txt [KK 2005-07-11] - Added c/Makefile for e-lib onboarding in other projects. Removed fcgi based compile. Revamped make process. [KK 2005-07-11] - Added c/Makefile for e-lib onboarding in other projects. [RE 2005-07-06] - Fixed compile errors in checksumadler32.c and fchecksumadler32.c 4.31 [KK 2005-06-21] - Added make_socket(), checksum_adler(), fchecksum_adler() 4.30 [KK 2005-05-10] - Rewired daemonize() to use better IPC. Improved docs. 4.29 [KK 2005-04-07] - Small documentation (manppage) fixes. [KK 2005-05-06] daemonize() added. 4.28 [KK 2005-04-05] - getline() renamed to gl_getline(), to avoid conflicts with a new function of stdio.h 4.27 [RE 2005-02-04] - bugfix in logsetup.c 4.26 [KK 2005-01-06] - sha1() implemented 4.25 [KK 2004-12-20] - Library flag -lm added when testing C libs 4.24 [KK 2004-07-07] - tmp_fopen() and tmp_file() are more robust. When the compiletime symbol ETMP is missing, then "/tmp" gets substituted. - Minor documentation fixes. - "make installdoc" fixed; manpages for the separate C functions would sometimes not be installed. 4.23 [KK 2004-06-23] - random_ulong() implemented 4.22 [KK 2004-06-21] - rx_find() added 4.21 [KK 2004-06-21] - Renamed mm_*() to mmsg_*() to avoid name collisions with a memory allocation lib, that also holds mm_destroy(). 4.20 [KK 2004-06-15] - Makefile.help added, RPM construction improved - mm_*() functions added for mail message parsing - Make target 'documentation' created. - Make target 'test' now uses local libraries. Previously, a 'make install' was neccessary. 4.19 [KK 2004-05-25] - Added RPM build. - Installed manpages are now compressed (also those of getline). - Dropped version ID in installed library name, RPM installs will handle that. 4.18 [KK 2004-04-27] - sf_sleep() added 4.17 [KK 2004-04-19] - Documentation updated (text on environment variables during installation added). - Docs on some C functions (rc_read and so on) updated. 4.16 [KK 2003-12-16] - Fixed /dev/syslog/*/* logging via logmsg(). Services local0 thru local7 were handled incorrectly. 4.15 [KK 2003-11-18] - ' encoding added to html_(un)escape() 4.14 [KK 2003-11-14] - ml_encode() / ml_decode() have a wider range - html_escape() / html_unescape() now support numeric codings as in { 4.13 [KK 2003-10-31] - get_log_setup() function implemented. 4.12 [KK 2003-10-09] - md5() function implemented. 4.11 [KK 2003-10-01] - /dev/syslog/FACILITY/LEVEL implemented for log_setup() and family. 4.10 [KK 2003-09-09] - Small code changes in C/C++ sources to make GCC 3.3 cleanly compile. - C++ libs don't get built any more for FastCGI support. The C libs still do though, that's still being used. - logmsg() can now be called with 0 as the format string, in that case, only log rotations will occur. 4.09 [KK 2003-06-17] - Bugfix in fgetline(). The old function wouldn't properly handle extremely long lines that were not \n-terminated (e.g., a very long last line of a file). - Bugfix in elib_require(). 4.08 [KK 2003-06-16] - base64_encode() and base64_decode() rebuilt, implemented and documented - Top level Makefile changed: "make install" will now just make the libs, a separate "make install_doc" is needed to install the manpages 4.07 [HK 2003-05-13] - encode_base64 () added - decode_base64 () added 4.06 [KK 2003-04-07] - ps_makesnapshot() and ps_freesnapshot() added: /proc-based process table analyzers 4.05 [KK 2003-01-30] - rc_setval() implemented. - Small fix in logmsg(). 4.04 [KK 2003-01-29] - Documentation update in rc_read(). 4.03 [KK 2003-01-09] - Makefile slightly changed. - rc_clean() implemented. - btn_*() and bth_*() implemented. Finally, some generic binary tree / hash functions. Also hash() and hashbuf() are here. 4.02 [KK 2003-01-09] - Added sig_catch() to C library. 4.01 [KK 2003-01-02] - Added INCLUDE depth testing to rc_read(). This avoids endless nesting. 4.00 [KK 2002-12-04] - Conversion to shared object usage. The C functions are installed as libe.so (or libefcgi.so, for FastCGI), the C++ classes are installed as libepp.so (no FastCGI version available). The libs are installed with a version suffix, symlinks point to the right version. - Source tree restructured. - elib_version() and elib_require() implemented. - Test runs implemented. LD_LIBRARY_PATH gets set during these runs, incase /etc/ld.so.conf isn't active yet. - Docs updated. 3.22 [KK 2002-11-27] - cmm_blocksize() implemented. - Default tmpfile prefix changed to /tmp/e; this was: /tmp/e- (note the hyphen). 3.21 [KK 2002-11-26] Makefile changed. The FastCGI versions are only made when FastCGI is available on the system. 3.20 [KK 2002-11-20] - copyfile(): return value CP_DST_IS_NO_FILE implemented - movefile(): implemented 3.19 [KK 2002-11-19] - Zipping taken out of log_rotate(). We would probably prefer more allocation of disk space, than load on the CPU. (Previously the history files would be gzipped.) - Some embedded documentation in C sources fixed. 3.18 [KK 2002-11-18] - Environment checks implemented, the current environment is checked during a make. - tmp_fileprefix(): a / is appended to the prefix if the argument name is a directory. - tmp_fopen() implemented 3.17 [KK 2002-11-11] - Bugfix in filetype(): fclose() was missing... 3.16 [KK 2002-10-29] - Separate function log_rotate() implemented. logmsg() now rotates via this one. 3.15 [KK 2002-10-28] - rc_read() expanded: INCLUDE directive added, environment variable RC_NAME implemented to overrule any filename to source - All-in-one manpage e-lib(3) added. 3.14 [RE 2002-10-23] e_zip_threshold renamed to zip_threshold. 3.13 [KK 2002-10-23] "make upload" now also sends the version ID and the ChangeLog. 3.12 [KK 2002-10-22] Updated docs for zip_threshold(). Makefile changed: "make upload" added, conforming to the public area of e-tunity.com. 3.11 [KK 2002-10-11] "make clean" now removes stale document results 3.10 [KK 2002-10-07] lap_start() and family now also log the duration (elapsed time), not only CPU ticks 3.09 [KK 2002-05-31] copyright() modified to show the right years 3.08 [KK 2002-05-27] Documentation: manpages are now named just like the contained C function or the contained class. 3.07 [RE 2002-05-21] Documentation changed to man format. 3.06 [KK 2002-05-16] More accessors for eStr made (using an eStr* argument). 3.05 [KK 2002-05-10] eStrArr changed again: (eStr const *) arguments also supported. 3.04 [KK 2002-05-08] eStrArr class changed: push(), add(), unshift() all support (char const *) arguments now 3.03 [KK 2002-05-01] Minor bugfix in the make process. 3.02 [KK 2002-04-25] The "make install_lib" doesn't invoke e-libman anymore to install PMMP's. This is now done during "make documentation". 3.01 [KK 2002-04-16] Added eStrArr::sort(), eStr::strip() Bugfix in the wrapping during eProgram::msg(). 3.00 [KK 2002-02-01] Merged e-lib (C-style) and epp-lib (C++ style) into new e-lib. Both are in two tastes: plain and FCGI. Original C++-style epp-lib ChangeLog: ------------------------------------- 1.10 [KK 2002-01-23] eHttpRequest::empty() implemented 1.09 [KK 2002-01-21] eHttpRequest now also handles HTTP/1.0 type requests with "close" connection. This is used by e.g. htdig. 1.08 [KK 2002-01-17] Classes eHttpHdr and eHttpRequest added. "make clean" cannot really clean up, but touches all cc and h files, so that a subsequent "make" is forced to recompile. 1.07 [KK 2002-01-15] eProgram::cmdline(char *switches, char *cmd) implemented 1.06 [KK 2002-01-14] eStrArr enhanced. 1.05 [KK 2002-01-02] ostream support for eStr added 1.04 [KK 2001-12-27] in eStrArr: proper includes added, const added for the "get" accessor, as in eArray. 1.03 [KK 2001-12-20] in eProgram: wrapmsg() implemented, and wrapping mechanism for msg() calls 1.02 [KK 2001-12-18] in eProgram::cmdline(): options that are specified more than once result in an error. 1.01 [KK 2001-12-17] eStrArr added 1.00 [KK 2001-12-01] First version. Original C-style e-lib ChangeLog: --------------------------------- 2.02 [KK 2002-01-23] Make target "install_lib" is new. The "install" also makes and installs the HTML docs. 2.01 [KK 2002-01-23] html_unescape() implemented 2.00 [KK 2002-01-22] Public release. Also: - HTML generation revisited - tmp_file(): compilation symbol ETMP gets #defined if it wasn't so already 1.44 - cmm_setlevel(-1) works again, that code somehow fell over. The internal CMM_ELIB_LEVEL is now -2. 1.43 - Check for positive size implemented in cmm_malloc() and cmm_realloc(). - Implemented: log_wrap(). 1.42 - C++ wrapping of all C-functions implemented. - e-mail adress of copyright() changed to e-tunity.com, years updated 1.41 - copyfile() changed: last 2 arguments can be NULL pointers, in which case the counts of read/written bytes are not updated. - Bugfix in tmp_file(): the temporary file prefix (directory) is now stored under CMM level CMM_ELIB_LEVEL. This makes tmp_file() c.s. re-entrant for programs that do garbage collection. 1.40 rc_*() functions now expand variables, in the format $(var). This is done right after a file has been scanned in rc_read(). 1.39 "Make check" now disregards *zip*.c from checking. This is because the headers under minilzo/ don't grok in e-lint (unsupported typedef syntax). 1.38 Message generation through msg() always results in flushing stderr. 1.37 ml_encode() and ml_decode() added 1.36 Bugfix in zip_decompress(). The compression/decompression would fail when the exact same buffer lengths would be reached. 1.35 stricmp() rewired. Previously the compared buffers would be allocated in memory, this is not necessary. 1.34 Added recognition for XML filetype (.xml) 1.33 Bugfix on 1.32. 1.32 Persistent CMM level for "e-lib internal usage" implemented. This level is used in: log_setup(), set_progname(), tmp_fileprefix(), fin_push() fin_read(), lap_start (), rc_read(), tmp_file(), 1.31 - Cosmetic change in cmm_realloc(). - Both normal and FCGI libs are created now. 1.30 Gigantic speedup in cmm*() achieved by using a hash table that accesses linked lists of memory blocks. 1.29 - FCGI build is now optional, via a macro in the Makefile. - Bugfixes in cmm*(). 1.28 - Global macros C_DEBUGGING, C_OPTIMIZING etc. used in the Makefile's CFLAGS settings for better portability - Installation of the docs to $ELIBMANDIR first removes old *.pmmp's. That ensures that old functions's docs are removed. - dp_*() functions removed, since the datapool for say Dantras is now in MySQL. Besides, these functions don't belong in e-lib anyway. - cmm*() functions implemented. 1.27 - ANSIDATE and ANSITIME macros in the Makefile changed for better system independence. - MySQL functions removed from e-lib (meta*()). 1.26 In image_size(): the JPEG sizing now looks for the right frame marker 0xc0 (previously: 0xc*); this means that we need the FIRST frame to determine the image size. This supports, e.g., HyperSnap jpegs. 1.25 log_dontflush() added 1.24 Double build implemented: once a single version, once a FCGI-enabled library construction. 1.23 Filetypes .doc (Office document) and .rtf (Rich Text format) added. 1.22 - supply_ext() added - suggest_ext() added 1.21 - tmp_fileprefix() added - script "makehtml" enhanced 1.20 - copyright() notice changed: build-information now includes username and hostname and build timestamp - cgi_setpostfile() added 1.19 - skipline() function added - multipart CGI processing added 1.18 equal() function renamed to str_equal(), and the semantics have somewhat changed. The function now returns the number of matched chars. To avoid problems, the old name no longer exists in the library. 1.17 zip_*() functions and subdirectory minilzo/ added. 1.16 Makefile adapted to allow "make check". 1.15 Added: stab_popstr(): pops a string off a string table stack 1.14 Checks for __E_LINT__ added in e-lib.h. When detected, __GNUC__ gets undefined so that GNU extensions are suppressed in the included headers. 1.13 copyright_setoutput() added 1.12 stab_addsprintf() added 1.11 "Out of memory" handling added: xstrdup(), xmalloc(), xrealloc(), with the auxiliary functions out_of_memory() and set_memerr(). 1.10 stab_maxlen() added 1.09 Make html calls "e-libman -1" via the script makehtml. The pages are now cleaner.. 1.08 - Makefile enhanced. - "make html" added as option for the make process; shell script "makehtml" will produce the e-libman-like pages in a subdir html. 1.07 - Installation of *.pmmp now creates a TimeStamp file. - Function cgi_getdata() "un-escapes" both the CGI variable name and its value. 1.06 Textual information of some functions adapted (for e-libman). 1.05 Making order changed. The installation of pmmp files (poor-man's man pages) occurs now during the install phase. NOTE THAT e-libman is needed for that... so the "make install" in the e-libman directory must occur before the "make install" here. The top-level Makefile should take care of that. 1.04 msg_and_log() added 1.03 checksum() added 1.02 copyfile() added 1.01 log_setup() overrules its arguments via the environment ELOGFILE etc., see "e-libman log_setup" 1.00 First issued version number. Versioning is now implemented also in the e-lib and displayed via copyright(). Previous e-lib versions do not use an internal versioning.