1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308
|
0.27 - added (slightly modified) pkgconfig stuff from Dolphpower's pkgconfig
patch
fixed comment detection in xmlsax
STRIPPROG is set before calling install-sh now
made return value of pass/receiveFileDescriptor a bool
fixed filedescriptor::safeRead(); when trying to read more bytes than
are available, it now returns the number of bytes read rather
than 0
updated rudiments-config and pkgconfig scripts to include pthreads/ssl
libs and cflags
added optional ssl support to filedescriptor class and all child classes
added optional pcre support
re-engineered regular expression class
xmlsax class uses mmap if it's available
inet/unix client/server sockets inherit from generic socket class now
added blocking/non-blocking mode switches to filedescriptor/socket class
added support for connect with timeout to socket client classes
changed (void *) cast to (const void *) for setsockopt calls
added check for (const void *) vs. (const char *) for setsockopt calls
added setDelimiter method to parameterstring class
added support for cygwin >=1.5.7-1
added search for gthreads to configure for SCO
added netToHost/hostToNet virtual methods to fildescriptor class,
override them in datatransport class to call ntohl/ntohs
and htonl/htons, removed a bunch of read/write methods from
datatransport
added primitve xml path methods
added static getLength() method to charstring class
added wait() with timeout methods to semaphore class
added chown/fchown,unlink,rename,link,symlink,readlink,fsync,fdatasync,
utimes,mknod,mkfifo,mkstemp,access,xattr-related function
wrappers to the file class
added basename/dirname methods and ftok wrapper to file class
added a few pathconf wrappers to file class
added dup/dup2 wrappers to filedescriptor class
added directory class
removed static methods that took an "int fd" from file class
added device class
added intervaltimer class
reworked filedescriptor/client/server heirarchy to reduce size of
library's data segment
added test for crypt.h
added container class
made charstring/rawbuffer classes NULL-safe
added zero method to rawbuffer class
no stripping is done at compile, link or install time now
added getMonthName/Abbreviation to datetime class
0.26.3 - updated spec file to work on suse 9.0
config.mk uses includedir instead of incdir now
docs are installed in ${datadir}/doc/rudiments instead of
${prefix}/doc/rudiments now
0.26.2 - fixes for Mac OS 10.2 and Fedora Core 1 compatibility
timezonefile class build is now independent of datetime
0.26.1 - a couple of build fixes
added shadowentry, serviceentry and rpcentry classes and test programs
reorganized *entry class code a bit to generate smaller code
uses -pipe compilation flag now if possible
-fomit-frame-pointer -fno-exceptions are used now, debugging
build just uses -fno-exceptions
rpc/rpcent.h is included if necessary for getrpcbyxxx_r
rpc/rpc.h is included if necessary for getrpcbyxxx_r
pthread.h is included for xxxentry classes now no matter what
shadowentry is disabled on systems that have no shadow support
added filesystem class
added test for s_warn, s_inact, s_expire and s_flag in struct spwd and
compile in support for them if found in shadowentry class
applied Taguchi Takeshi's listener and inetsocketclient patches
check for shmat()!=-1 instead of shmat()>-1 in sharedmemory class now
as a memory address could actually be larger than 2^31-1 (or
2^64-1), appear to be negative and still be valid as long as
it's not -1
fixed rpm 4.1 doc-install complaints
added --enable-debug option to configure, only 1 library is built now
fixed xmldomnode::getNextTagSibling()
reworked xmldom relationship in dtd class
fixed ssize_t safeSelect() -> int safeSelect() declaration
updated config.sub, config.guess and ltmain.sh
made a bunch of methods return bool instead of int
renamed string class charstring to avoid stl collision
0.25 - doc's mention genericsocket class now
configure script figures out rpm build directory better
added rudiments-config script
Makefile.in's are just Makefile's now
read/write methods return ssize_t's now
added logger class and logdestination classes
implemented totally different client/server class structure
renamed lots of methods to just read(),write(),open(),close(),etc.
added xmlsax,xmldom,xmldomnode class
added errorhandler class
made other classes report errors through the errorhandler class
added SONAME_VERSION_INFO and WITH_LIBTOOL variables to config.mk (fmw)
added the debian directory (fmw)
added memorypool class
made lots of (char *)'s into (const char *)'s.
made lots of methods const methods
inlined lots of methods
used autoconf/autoheader 2.53
made libtool build the default
made build process cross-compile-friendly
added --with-system-libtool option to configure (fmw)
added fileproperties class (wrapper for stat/lstat)
added conectiondata class for use with clienttransport children
added right/left justify and center methods to text class
added --debug-profiling-libs to rudiments-config
added stringbuffer class, made errorhandler use it
added --enable-small-code and --with-inlines to configure script
added -fno-exceptions to default CXXFLAGS
added variablebuffer class
added dtd class
uses reentrant getpw/getgr functions if available
uses reentrant gethostbyname/getprotobyname functions if available
uses localtime_r function if available
uses static instead of dynamically allocated variables now where
possible
configure defines -DSMALL_CODE=1 so routines can be written one way
or the other
moved fileproperties class into file class
incorporated matthias saou's spec file instead of mine, added devel
package to it
removed make rpm target and associated cruft
removed kdevelop files
uses RUDIMENTS_INLINE instead of just INLINE to avoid conflicts
added slackware packaged build target
added support for gcc-3.2.2
added a features.mk file so features could be compiled in/out
moved text class stuff into string class
removed unnecessary -pedantic from CXXFLAGS
added linkedlist/dictionary classes, other classes use them instead of
implementing their own lists/dicts
added environment class
datetime class handles timezones properly now
added mutexes to datetime, *entry classes
added read/write with timeout methods to filedescriptor/datatransport
inetsocketclient uses getaddrinfo_r now if possible
0.24 - fixed poor linger implementation
added options for SO_REUSEADDR
added simple/complex port initilization methods to server class
added options to server/client class to automatically retry reads that
were interrupted by signals
spec file takes libdir, incdir, prefix and exec_prefix into account
added support for file descriptor passing over unix sockets
server/client classes split into genericsocket, serversocket,
clientsocket classes
serversocketpool class added which can listen on an
arbitrary number of ports
make generates a profiling version of librudiments.a now
test programs are statically linked now
added create/attach and createOrAttach methods to semaphoreset class
semaphoreset correctly cleans up now
include files moved to rudiments subdir of incdir
in genericsocket class, reads which didn't get all of the data but
did not encounter an error keep trying until all the data
is read now
safeRead handles count>SSIZE_MAX and eof conditions correctly now
setuid/setgid were replaced with setreuid/setregid
added #include <netinet/in.h> and defined _XPG4_2 around
#include <socket.h> for solaris8
tests don't build by default now
clientsocket correctly checks for connect() error now
0.23 - fixed stupidity where semaphoreset destructor was trying to
individually delete all of the semaphores in a set rather
than just the whole set at once
0.22 - added support for "make rpm"
added lingerOnClose and disconnectClient calls to svr.C test program
check for ld -G vs ld -shared
0.21 - got rid of some compiler warnings
made client/server write/read methods use unsigned long/short
added strip commands to text class
made configure script take --includedir and --exec-prefix into account
added return values for disconnectClient(), stopListening() and
closeConnection() methods in client/server classes
added linger socket options to server/client classes
0.20 - changed DYNAMICAR to use ld -G -o instead of g++ -Wl,-G -o, it was
putting an undefined main symbol in the library which java
doesn't like
tries=0 in client class causes the client to loop infinitely now
changed daemon class name to daemonprocess to avoid conflict with
daemon function in unistd.h
made daemonprocess signal handlers pointers and handled them as such;
not doing so and using ld -G -o to create the library caused
any program using the daemonprocess class to crash
client class reports a "failed to connect" error only after it's tried
for the number of times it's supposed to try, not each time
added server/client programs to the test suite
0.19 - added test suite
simplified random number scaling code
added negative number tests to random number tester
changed randomnumber to prefer rand/srand over nrand48/srand48
because SCO's RAND_MAX is 2^15-1 but it's nrand48 returns
a number between 0 and 2^32-1 which caused scaling errors
but it's rand returns a number between 0 and 2^15-1.
added a getRandMax method to the randomnumber class
0.18 - getUnixServerPort() returns NULL now if the unix socket was never
opened in server class
initialized serverportin in server class
initialized serversock in client class
made a bunch of methods static
rolled casechange, trim and encoding classes into text class
totally changed random number class
added setUsername/setGroupname methods to semaphoreset class
daemon class handles SIGCLD by waiting on dead child processes
on it's own now
changed several method names in the server class
some tweaks for microsoft platform compatibility
added a permissions class
changed some method names in the signalhandler class
added documentation to all of the header files
added signalset and signalmanager classes
changed signalhandler.h/C to signalclasses.h/C
added programming examples to documentation
added isNumber/isInteger methods to text class, made them both
recognize negative numbers
make clean now removes the .pics directories that Konqueror makes
0.17.1 - quick-fix: closeServerSocket() doesn't unlink the unix socket anymore
0.17 - added some new methods to the regularexpression class
added datetime class
0.16 - got rid of some unnecessary strlen()'s
fixed some "I wasn't such a good programmer back then" errors
removed idiotic readFromXXX(char *buffer) functions which had no
length parameters from client/server classes
added methods to daemon class so it can run as a given user/group
0.15 - tweaks for gcc-2.96
0.14 - added more writeToServer/writeToClient and readFromServer/readFromClient
methods for writing/reading non-character data
added chdir("/") and umask(0) to detach() method in daemon class
closing a unix socket unlinks the associated file now
added socket option SO_REUSEADDR to inet sockets in server class
0.13 - removed redundant -fpic and unnecessary -DPIC
added #include <sys/types.h> to regularexpression, sharedmemory and
semaphoreset classes
allowed c++ to be used instead of forcing g++
changed check for integer signal handler type
fixed a few memory leaks
preliminary CYGWIN support
added detach method to daemon class, must be explicitly called for the
daemon to detach from the controlling tty.
0.12 - added Unix Domain support to server and client classes
removed the extern "C" { #undef __cplusplus ... #define __cplusplus }
stuff, it caused more trouble than it overcame
build improvements
error messages go to stderr now and include the strerror() of the
error number
detect signal handler function signature
changed signal handler function signature to void handler() from
void handler(int) for greater compatibility
added randomnumber class
0.11 - added sharedmemory class
removed select from the readfromfileptr routine
(wasn't supposed to be there anyway)
made wait() and signal() semaphoreset class members not use SEM_UNDO
by default and added waitWithUndo() and signalWithUndo()
members
0.10 - added select before accept in server class
0.9 - documentation improvements and fixes
added -fpic -fPIC -DPIC to CXXFLAGS
added extern "C" and #undef/#define __cplusplus in various places
added modes to install scripts
fixed the server class to allow connections using INADDR_ANY
0.8 - build fix: made calls to "test" more compatible
0.7 - cleaner build
client::openConnection now tries to connect to all the addresses that
a hostname resolves to before giving up
client::openConnection fails gracefully if gethostbyname or
getprotobyname fails
0.6 - removed LDFLAGS from config.mk
general Makefile maintenance
0.5 - documentation installs now
detection of union semun at configure time
reingineered Makefiles to be frienlier to non-gnu make
0.4 - more robust build/install/uninstall
0.3 - configure based install.
Reorganization of includes.
make install/uninstall directives.
Got rid of RCS.
0.2 - bug fixes.
0.1 - First release.
|