File: ChangeLog

package info (click to toggle)
librudiments0 0.27-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 4,528 kB
  • ctags: 2,284
  • sloc: cpp: 14,657; sh: 7,547; ansic: 2,664; makefile: 945; xml: 15
file content (308 lines) | stat: -rw-r--r-- 13,365 bytes parent folder | download
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.