ChangeLog 35.5 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2003-07-27  Per Cederqvist  <ceder@ceder.dyndns.org>

	Clean up some problems in ISC that the IPv6 support added.
	(Bug 563).
	* src/isc_addr.h: New file, that contains private structures
	extracted from isc.h.  This file should only be included by files
	in the isc library.
	* src/isc_tcp.c: Include isc_addr.h.
	* src/isc_socket.c: Include isc_addr.h.
	* src/isc.h: Don't include <sys/socket.h> and <netinet/in.h> from
	here.  The coding standard of lyskomd is to never include files
	from included files.
	(SOCKADDR_STORAGE): Moved to isc_addr.h.
	(union sockaddrs): Ditto.
	(union isc_address): Ditto, but keep a forward declaration.
	* src/intern.h (isc_mkipaddress): Moved to isc_addr.h.

18
19
20
21
22
23
2003-07-14  Per Cederqvist  <ceder@ceder.dyndns.org>

	Don't read when the output queue is full.
	* src/isc_event.c (isc_read_data): Return ISC_READ_WOULDBLOCK if
	the output queue is full.

24
25
26
27
28
29
30
2003-07-13  Per Cederqvist  <ceder@ceder.dyndns.org>

	Ensure that unused parameters are unused.
	* src/unused.h (UNUSED_H_CONCAT): New macro.
	(UNUSED): Mangle the name of the supposedly unused argument, so
	that the compiler will report errors if it actually is used.

31
32
2003-07-12  Per Cederqvist  <ceder@ceder.dyndns.org>

Per Cederqvist's avatar
Per Cederqvist committed
33
34
35
36
37
38
	Fix new compilation errors.
	* src/isc_socket.c (isc_getipnum): Fixed compilation errors for
	IPv6 configurations, which were introduced in the previous commit.
	(isc_gethostname): Ditto.
	(isc_getportnum): Ditto.

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
	Use liboop as a backend.  Only support TCP streams.  Removed a lot
	of stuff that isn't used by lyskom-server.  Move much internal
	stuff from isc.h to intern.h.
	* src/isc_wait.c: File removed.
	* src/isc_udp.c: File removed.
	* src/isc_tcp.c (isc_tcp_accept_fn): Renamed to isc_tcp_accept.
	Removed the unused hl and msg arguments.
	(isc_tcp_destroy_fn): Function removed.
	(isc_connecttcp): Ditto.
	(isc_opentcp): Ditto.
	(isc_tcp_funs): Function table removed.
	(isc_createtcp): Added mcb and initial_state arguments.  Removed
	obsolete bogus setsockopt() calls.
	(isc_bindtcp): Don't check the type of the session.
	(isc_accept_cb): New function.
	(isc_listentcp): Added the cb argument.  Don't set the state here;
	that is now done by isc_create().  Add isc_accept_cb() as a read
	callback.
	* src/isc_stdout.c (isc_putc): The ISC_STATE_CONNECTING state no
	longer exists.
	(isc_write): Ditto.
	* src/isc_socket.c (isc_getladdress): Don't check the type of the
	session.
	(isc_getraddress): Ditto.
	(isc_copyaddress): Function removed.
	(isc_getservice): Ditto.
	* src/isc_session.c (isc_default_read_fn): Function removed.
	(isc_default_write_fn): Ditto.
	(isc_default_close_fn): Ditto.
	(isc_close): Ditto.
	(isc_sessions): Ditto.
	(isc_openfd): Ditto.
	(isc_file_destroy_fn): Ditto.
	(isc_openfile): Ditto.
	(isc_default_fun): Function table removed.
	(isc_create): Removed the "IscHandler *fun" argument, and added
	mcb and initial_state arguments.  Initialize the currently
	existing fields.
	(isc_set_read_callback): New function.
	(isc_check_read_callback): Ditto.
	(isc_cancel_read_callback): Ditto.
	(isc_cancel_write_callback): Ditto.
	(isc_destroy): Cancel read, write and accept callbacks.  Free
	raddr and laddr instead of calling a destroy handler.
	(isc_disable): Remove the read callback.
	(isc_enable): Maybe add the read callback.
	* src/isc_relocate.c: Include "oop.h" and "s-string.h".
	* src/isc_queue.c (isc_pollqueue): Removed the external function.
	The macro is good enough.
	* src/isc_output.c (isc_flush): There is no longer any read queue.
	(write_cb): New function.
	(isc_oflush): Don't close the socket if the output queue is too
	big.  Instead, isc_check_read_callback() refuses to read input
	from the client until it reads enough of the output queue.  Assert
	that this isn't a listening session, but don't otherwise check the
	state.  Call write instead of using the handler mechanism.  Call
	the write_err_cb callback function if an error occurs.  Don't
	update statistics that nobody uses.  Set up a liboop write
	callback if we cannot send all output at once.  Call
	isc_check_read_callback().
	(isc_send): Function removed.
	(isc_sendto): Ditto.
	* src/isc_message.c (isc_allocmsg): Don't set the address field,
	which has been removed.
	(isc_reallocmsg): Function removed.
	(isc_copymsg): Ditto.
	(isc_mkstrmsg): Ditto.
	* src/isc_master.c (isc_initialize): Removed the cfg argument, and
	added the oop_source argument.  Allocate a cfg struct.
	(isc_cfg_fd_relocate): New function.
	(isc_shutdown): Free the cfg struct.
	* src/isc_handler.c: File removed.
	* src/isc_event.c (isc_read_data): New function.
	(isc_getnextevent): Function removed.
	(isc_dispose): Ditto.
	* src/isc_compat.c: Include "oop.h" and "s-string.h".
	* src/isc_alloc.c (isc_strdup): Function removed.
	* src/isc_abort.c (isc_setabortfn): Place inside #if 0, since it
	is currently unused.
	* src/isc.h: Removed several defines for structs and unions.  All
	users updated to use the real names instead:
	    IscSessionConfig  => struct isc_session_cfg
	    IscAddress        => union  isc_address
	    IscMessage        => struct isc_msg
	    IscMsgQE          => struct isc_msg_q_entry
	    IscMsgQueue       => struct isc_msgqueue
	    IscSession        => struct isc_scb
	    IscSessionList    => struct isc_scb_entry
	    IscMaster         => struct isc_mcb
	(IscMasterConfig): Define and struct removed.
	(IscConfig): Ditto.
	(IscHandlerCache): Ditto
	(IscHandler): Ditto.
	(IscHandlerList): Ditto.
	(IscEvent): Ditto.
	(IscEventType): Define and enum removed.
	(IscSessionType): Ditto.
	(IscSessionInfo): Define and union removed.
	(IscSessionStats): Ditto.
	(enum isc_session_state): Removed the states ISC_STATE_UNKNOWN,
	ISC_STATE_CONNECTING and ISC_STATE_CLOSING2.
	(union isc_address): Don't wrap the saddr field inside a
	meaningless struct named ip.
	(isc_initialize): Removed the cfg argument, and added the
	oop_source argument.
	(struct isc_scb): Removed the following fields: type, isc_errno,
	rd_msg_q, info, logintime, idlesince, stats and handlers.
	Added the following fields: raddr, laddr, master, accept_cb,
	write_err_cb, data_available_callback, data_available_user,
	data_available_registered and write_cb_registered.
	(struct isc_mcb): The scfg field is now a pointer, so that we
	don't have to expose the struct isc_session_cfg struct in isc.h.
	Added the event_source field.
	(isc_listentcp): Added the cb argument.
	(isc_openfd): Function removed.
	(isc_openfile): Ditto.
	(isc_openudp): Ditto.
	(isc_close): Ditto.
	(isc_sessions): Ditto.
	(isc_getnextevent): Ditto.
	(isc_wait): Ditto.
	(isc_dispose): Ditto.
	(isc_send): Ditto.
	(isc_sendto): Ditto.
	(isc_reallocmsg): Ditto.
	(isc_copymsg): Ditto.
	(isc_mkstrmsg): Ditto.
	(isc_createudp): Ditto.
	(isc_bindudp): Ditto.
	(isc_connecttcp): Ditto.
	(isc_connectudp): Ditto.
	(isc_listenudp): Ditto.
	(isc_copyaddress): Ditto.
	(isc_getservice): Ditto.
	(isc_newhandler): Ditto.
	(isc_freehandler): Ditto.
	(isc_copyhandler): Ditto.
	(isc_pushhandler): Ditto.
	(isc_pophandler): Ditto.
	(ISC_HCALLFUN1): Macro removed.
	(ISC_HCALLFUN2): Ditto.
	(ISC_HCALLFUN3): Ditto.
	(enum isc_read_result): New enum.
	(isc_read_data): New function.
	(isc_cfg_fd_relocate): Ditto.
	(isc_set_read_callback): Ditto.
	(isc_accept_callback): New callback function.
	(isc_write_error_cb): Ditto
	Moved some constants to intern.h:
	(ISC_DEFAULT_MAX_MSG_SIZE): Moved.
	(ISC_DEFAULT_MAX_QUEUED_SIZE): Moved.
	(ISC_DEFAULT_MAX_DEQUEUE_LEN): Moved.
	(ISC_DEFAULT_MAX_OPEN_RETRIES): Moved.
	(ISC_DEFAULT_MAX_BACKLOG): Moved.
	Moved some structs to intern.h:
	(struct isc_msg): Was: IscMessage.
	(struct isc_msg_q_entry): Was: IscMsgQE.
	(struct isc_msgqueue): Was: IscMsgQueue.
	(struct isc_session_cfg): Was: IscSessionConfig.
	(struct isc_scb_entry): Was: IscSessionList.
	Moved some functions to intern.h:
	(isc_freemsg): Moved.
	(isc_create): Moved.
	(isc_insert): Moved.
	(isc_remove): Moved.
	(isc_createtcp): Moved.
	(isc_bindtcp): Moved.
	(isc_allocmsg): Moved.
	Moved some functions from intern.h:
	(isc_setallocfn): Moved.
	* src/intern.h: Moved some constants from isc.h and changed their
	values:
	    ISC_DEFAULT_MAX_MSG_SIZE:   2048 => 8176
	    ISC_DEFAULT_MAX_QUEUED_SIZE: 600 => 50
	    ISC_DEFAULT_MAX_DEQUEUE_LEN:  10 => 30
	    ISC_DEFAULT_MAX_OPEN_RETRIES: 10 => 10
	    ISC_DEFAULT_MAX_BACKLOG:       5 => 50
	Moved some structs from isc.h and stopped using a defined name:
	(struct isc_msg): Was: IscMessage.
	(struct isc_msg_q_entry): Was: IscMsgQE.
	(struct isc_msgqueue): Was: IscMsgQueue.
	(struct isc_session_cfg): Was: IscSessionConfig.
	(struct isc_scb_entry): Was: IscSessionList.
	Moved some functions from isc.h:
	(isc_freemsg): Moved.
	(isc_create): Moved.
	(isc_insert): Moved.
	(isc_remove): Moved.
	(isc_createtcp): Moved.
	(isc_bindtcp): Moved.
	(isc_allocmsg): Moved.
	Moved some functions to isc.h:
	(isc_setallocfn): Moved.
	Other changes:
	(struct isc_msg): Removed the address field.
	(struct isc_session_cfg): Removed the version field.
	(isc_log): Function removed.
	(isc_create): Removed the "IscHandler *fun" argument, and added
	mcb and initial_state arguments.
	(isc_createtcp): Added mcb and initial_state arguments.
	(isc_strdup): Function removed.
	(isc_default_read_fn): Function removed.
	(isc_default_write_fn): Function removed.
	(isc_default_close_fn): Function removed.
	(isc_pollqueue): Removed the external function.  Retain the
	macro.
	(isc_setabortfn): Place inside #if 0, since it is currently
	unused.
	(isc_check_read_callback): New function.
	(isc_cancel_read_callback): New function.
	(isc_cancel_write_callback): New function.
	(ISC_SCALLFUN1): Macro removed.
	(ISC_SCALLFUN2): Macro removed.
	(ISC_SCALLFUN3): Macro removed.
	* src/Makefile.am (libisc_a_SOURCES): Removed isc_handler.c,
	isc_udp.c and isc_wait.c.
	(AM_CPPFLAGS): Added -I flags for libmisc (to get the string
	class), liboop, and the main include library (needed by
	s-string.h).

259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
2003-01-07  Per Cederqvist  <ceder@lysator.liu.se>

	Port to IRIX64, where "unsigned long" isn't large enough to avoid
	alignment problems.
	* configure.in: Handle --disable-malloc-guards.  Check for
	intptr_t, intmax_t and size_t.
	* src/isc_alloc.c: Include inttypes.h and stdint.h.  Check
	USE_MALLOC_GUARDS.
	(union overhead): New union, to fix alignmentproblems.
	(OVERHEAD): New macro.
	(isc_malloc): Use union overhead instead of unsigned long.
	Removed unneeded casts.  Handle USE_MALLOC_GUARDS.
	(isc_realloc): Ditto.
	(isc_free): Ditto.

Per Cederqvist's avatar
Per Cederqvist committed
274
275
2003-01-06  Per Cederqvist  <ceder@ceder.dyndns.org>

276
	Fix IPv4 under Solaris 2.8.  (Patch by Thorild Seln.)
Per Cederqvist's avatar
Per Cederqvist committed
277
278
279
280
281
	* src/isc_tcp.c (isc_bindtcp): Pass the proper size to bind() for
	IPv4 and IPv6.
	* src/isc_udp.c (isc_bindudp): Pass the proper size to bind() for
	IPv4 and IPv6.

282
283
284
285
286
287
288
289
2002-12-30  Per Cederqvist  <ceder@ceder.dyndns.org>

	Autoconf: better check for "attribute unused" support.
	* configure.in: Use CMOD_C_WORKING_ATTRIBUTE_UNUSED instead of
	CMOD_C_ATTRIBUTE_UNUSED.
	* acinclude.m4 (CMOD_C_ATTRIBUTE_UNUSED): Removed.
	(CMOD_C_WORKING_ATTRIBUTE_UNUSED): New defun.

290
291
292
293
294
295
296
297
298
299
300
301
302
2002-11-29  Per Cederqvist  <ceder@ceder.dyndns.org>

	Fixed more IPv6 portability problems.
	* configure.in: Check for freehostent.
	* src/intern.h: Require HAVE_FREEHOSTENT to be defined if we are
	to use getipnodebyname.
	* src/isc_udp.c (isc_mkudpaddress): Don't call freehostent()
	unless hp has been allocated by getipnodebyname().
	* src/isc_tcp.c (isc_mktcpaddress): Don't call freehostent()
	unless hp has been allocated by getipnodebyname().
	* src/isc_socket.c (isc_getipnum): Fixed typo: strncpy was spelled
	"strncopy".

303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
2002-11-28  Per Cederqvist  <ceder@ceder.dyndns.org>

	Give credits to Thorild for the IPv6 porting.
	* AUTHORS: Added Thorild Seln.
	
	Fix IPv6 portability problems to various versions of AIX, HP-UX
	and Solaris.
	* src/intern.h: Define USE_GETIPNODEBYNAME if both
	HAVE_GETIPNODEBYNAME and AI_ADDRCONFIG are defined.  AIX 4.2 lacks
	AI_ADDRCONFIG.
	* src/isc_udp.c (isc_mkudpaddress): Declare error_num if
	USE_GETIPNODEBYNAME is defined.  Test USE_GETIPNODEBYNAME instead
	of HAVE_GETIPNODEBYNAME to determine if it should be used.  Don't
	access AF_INET6 unless USE_INET6 is true.
	* src/isc_tcp.c (isc_mktcpaddress): Declare error_num if
	USE_GETIPNODEBYNAME is defined.  Test USE_GETIPNODEBYNAME instead
	of HAVE_GETIPNODEBYNAME to determine if it should be used.

321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
2002-11-28  Thorild Seln  <thorild@Update.UU.SE>

	Added IPv6 support with IPv4 compatibility.  (ChangeLog entry
	written by ceder.  Some minor coding standard changes by ceder.
	Three minor problems noted by FIXME comments by ceder.)
	* configure.in: Added --enable-ipv6 switch.  Check for inet_ntop,
	inet_pton, getipnodebyname, gethostbyname2, and struct
	sockaddr_storage.
	* src/isc.h: This commit includes three broken things; see FIXMEs
	in the code.
	Include <sys/socket.h> and <netinet/in.h>.
	(SOCKADDR_STORAGE): Define it to struct sockaddr_storage or struct
	sockaddr, depending on HAVE_STRUCT_SOCKADDR_STORAGE.
	(union sockaddrs): New union.
	(IscAddress): Use union sockaddrs instead of struct sockaddr.
	* src/intern.h (isc_mkipaddress): Use SOCKADDR_STORAGE as
	argument, not struct sockaddr.
	(CHOOSE_IP4OR6): New macro.
	(FOR_EACH_AF): New macro.
	(FOR_EACH_PF): New macro.
	(STORE_ADDR): New macro.
	* src/isc_udp.c (isc_udp_read_fn): Handle IPv6.
	(isc_udp_write_fn): Handle IPv6.
	(isc_mkudpaddress): New argument: address_family.  All callers
	updated.  Handle IPv6.  Broadcast addresses are not supported.
	(isc_createudp): Handle IPv6.  The first argument of socket()
	should be PF_INET for IPv4, not AF_INET.
	(isc_bindudp): Handle IPv6.
	(isc_connectudp): Handle IPv6.
	* src/isc_tcp.c (isc_mktcpaddress): New argument: address_family.
	All callers updated.  Handle IPv6.
	(isc_createtcp): Handle IPv6.  The first argument of socket()
	should be PF_INET for IPv4, not AF_INET.
	(isc_bindtcp): Handle IPv6.
	(isc_connecttcp): Handle IPv6.
	* src/isc_socket.c (cast_to_sockaddr_in): Removed.
	(isc_mkipaddress): Changed struct sockaddr to SOCKADDR_STORAGE.
	(isc_getladdress): Ditto.  Cast argument of getsockname from
	SOCKADDR_STORAGE* to struct sockaddr*.
	(isc_getraddress): Ditto (but for getpeername instead of
	getsockname).
	(isc_getipnum): Handle IPv6.
	(isc_gethostname): Ditto.
	(isc_getportnum): Ditto.
	(isc_getservice): Use isc_getportnum to simplify code.

367
368
369
370
371
372
373
2002-11-25  Per Cederqvist  <ceder@ceder.dyndns.org>

	Port to Autoconf 2.56 and Automake 1.7.1.
	* configure.in: Use autoconf-2.56 and automake-1.7.1: Use
	AC_COMPILE_IFELSE and AC_LANG_PROGRAM instead of AC_TRY_COMPILE.
	Fixed broken quoting.

374
375
376
377
378
379
2002-10-09  Per Cederqvist  <ceder@ceder.dyndns.org>

	Fixed socklen_t fallback code.
	* configure.in: The fallback for socklen_t when no compilation
	worked without a warning was broken.  Fix.

Per Cederqvist's avatar
Per Cederqvist committed
380
381
382
383
384
385
386
387
388
2002-10-02  Per Cederqvist  <ceder@ceder.dyndns.org>

	Port to the ecc compiler.
	* acinclude.m4 (CMOD_C_ATTRIBUTE_UNUSED): Improve the test, by
	checking that __attribute__((unused)) is accepted in a function
	declaration.  The ecc compiler on Linux/ia64 seems to accept it
	and give a warning when used on a local variable, but chokes on
	it when used in a function declaration.

389
390
391
392
393
394
395
396
397
398
399
2002-09-21  Per Cederqvist  <ceder@ceder.dyndns.org>

	Get rid of AIX 4.2 compiler warnings.
	* src/isc_wait.c: Include strings.h.
	* src/isc_event.c: Include strings.h.
	* src/intern.h (socklen_t): Use the type that the configure script
	has found, instead of always using unsigned int.  AIX 4.2 wants an
	size_t, which is an unsigned long.
	* configure.in: Check for strings.h.  Check for a socklen_t type
	that produces no warnings.

400
401
402
403
404
405
406
2002-09-10  Per Cederqvist  <ceder@ingate.com>

	As expected, uint32_t is not universally available.  SunOS
	4.1.1_U1 lacks it.
	* configure.in: Check for uint32_t, and sizeof int and long.
	* src/intern.h: Typedef uint32_t when needed.

407
408
409
410
411
412
2002-09-10  Per Cederqvist  <ceder@ceder.dyndns.org>

	Get rid of more warnings.  (This will probably break on several
	platforms that don't have uint32_t.)
	* configure.in: Cast INADDR_NONE to uint32_t.

Per Cederqvist's avatar
Per Cederqvist committed
413
414
415
416
417
2002-09-09  Per Cederqvist  <ceder@ceder.dyndns.org>

	Port to SunOS 5.4.
	* src/isc_compat.c: Include <netinet/in.h>, needed by SunOS 5.4.

418
419
2002-09-08  Per Cederqvist  <ceder@ceder.dyndns.org>

420
421
422
423
424
	Fix more socklen_t and inet_aton problems.
	* src/intern.h [!HAVE_INET_ATON]: Declare struct in_addr.  
	[!HAVE_SOCKLEN_T]: Add typedef for socklen_t.
	* configure.in: Check for socklen_t.

425
426
427
	Fix include problems with isc_compat.c.
	* src/isc_compat.c: Include <sys/types.h> and <sys/socket.h>.

428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
	Avoid a warning about memset.
	* src/isc_wait.c: Include <string.h> if available, to get rid of a
	warning generated from FD_ZERO on some platforms.

	Use socklen_t and inet_aton to reduce warnings and increase
	stability.
	* src/isc_udp.c (isc_udp_read_fn): Changed type of len from int
	to socklen_t.
	(isc_mkudpaddress): Use inet_aton instead of inet_addr.
	* src/isc_tcp.c (isc_tcp_accept_fn): The third argument of
	accept() should be pointer to socklen_t, not pointer to int.
	(isc_mktcpaddress): Use inet_aton instead of inet_addr.
	* src/isc_socket.c (isc_getladdress): Changed type of len from int
	to socklen_t.
	(isc_getraddress): Ditto.

	Provide a replacement for inet_aton for systems that only have
	inet_addr.
	* src/isc_compat.c: New file.
	(inet_aton): New compatibility function.
	* src/intern.h (inet_aton): Added a declaration if HAVE_INET_ATON
	is false.
	* src/Makefile.am (libisc_a_SOURCES): Added isc_compat.c.
	* configure.in: Check for -lsockt and -lnsl if needed.  Check for
	inet_aton.  Check for INADDR_NONE only if inet_aton isn't
	available.

455
456
2002-09-07  Per Cederqvist  <ceder@ceder.dyndns.org>

457
458
459
460
461
462
463
464
	Get rid of warnings from casting a struct sockaddr* to a struct
	sockaddr_in*.
	* src/isc_socket.c (cast_to_sockaddr_in): New static inline
	function.
	(isc_getipnum): Use it, to get rid of a warning.
	(isc_gethostname): Ditto.
	(isc_getportnum): Ditto.
	(isc_getservice): Ditto.
Per Cederqvist's avatar
Per Cederqvist committed
465
	* configure.in: Check for inline support.
466

467
468
469
	Use INADDR_NONE to get rid of a compiler warning.
	* src/isc_udp.c (isc_mkudpaddress): Use INADDR_NONE instead of -1.
	* src/isc_tcp.c (isc_mktcpaddress): Use INADDR_NONE instead of -1.
Per Cederqvist's avatar
Per Cederqvist committed
470
	* configure.in: Check for INADDR_NONE.
471

Per Cederqvist's avatar
Per Cederqvist committed
472
473
474
475
476
477
2002-08-23  Per Cederqvist  <ceder@ceder.dyndns.org>

	Waste less bytes.
	* src/isc_socket.c (isc_getipnum): Use the entire hostname
	buffer.

478
479
480
481
482
483
484
485
2002-08-20  Per Cederqvist  <ceder@ceder.dyndns.org>

	Don't include <sys/time.h> when it isn't available.
	* configure.in: Check for <sys/time.h>.
	* src/isc_event.c: Fix include guards for <time.h> and <sys/time.h>.
	* src/isc_socket.c: Ditto.
	* src/isc_wait.c: Ditto.

Per Cederqvist's avatar
Per Cederqvist committed
486
487
488
489
490
491
2002-08-10  Per Cederqvist  <ceder@ceder.dyndns.org>

	Check for ar. (Bug 523).
	* configure.in: Check for ar.  Look in $PATH:/usr/ccs/bin, and
	stop with an error if no ar can be found.

492
493
2002-04-11  David Byers  <david.byers@swipnet.se>

Per Cederqvist's avatar
Per Cederqvist committed
494
	* configure.in: Added AC_PREREQ(2.53).
495

Per Cederqvist's avatar
Per Cederqvist committed
496
2001-09-23  Per Cederqvist  <ceder@moria>
497

Per Cederqvist's avatar
Per Cederqvist committed
498
	* Re-applied a couple of lyskomd modifications.
499

Per Cederqvist's avatar
Per Cederqvist committed
500
    1999-07-05  Per Cederqvist  <ceder@gratia>
501
502
503
504
505

	Delay problems with sessions that are deconnected until we can
	do a proper fix.
	* src/isc.h (ISC_DEFAULT_MAX_QUEUED_SIZE): Double to 600.

Per Cederqvist's avatar
Per Cederqvist committed
506
    1999-05-21  Per Cederqvist  <ceder@lysator.liu.se>
507
508
509
510
511

	Remove all gcov files in "make mostlyclean".
	* src/Makefile.am (MOSTLYCLEANFILES): Added "*.da", "*.bb",
	"*.gcov" and "*.bbg".

Per Cederqvist's avatar
Per Cederqvist committed
512
    1999-05-17  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
513
514
515
516
517
518

	Don't needlessly call time().
	* src/isc.h (IscSession): Comment out idlesince.
	* src/isc_event.c (isc_getnextevent): Don't waste time setting
	idlesince, which lyskomd doesn't use.

Per Cederqvist's avatar
Per Cederqvist committed
519
    1999-05-01  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
520
521
522
523
524
525
526
527

	The LysKOM server should not install isc thingies.
	* src/Makefile.am (noinst_LIBRARIES, noinst_HEADERS): Use instead
	of lib_LIBRARIES and include_HEADERS so that nothing from isc gets
	installed by lyskomd.
	* man/Makefile.am (noinst_MANS): Use noinst_MANS instead of
	man_MANS so that nothing from isc gets installed by lyskomd.

Per Cederqvist's avatar
Per Cederqvist committed
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
2001-09-23  Per Cederqvist  <ceder@lysator.liu.se>

	* Version 1.01 released.

	Release preparations.
	* configure.in: Release 1.01.
	* NEWS: Entry for 1.01 written.

	Port to Autoconf 2.52 and Automake 1.5.
	* RELEASING: Updated for automake 1.5.
	* configure.in: Adjusted to autoconf 2.52: AC_INIT Now takes
	package name and version as arguments.  Use AC_CONFIG_SRCDIR.  Use
	AC_HELP_STRING to format help strings.  Use CMOD_CHECK_CC_OPT
	instead of CMOD_COMPILER_CC_ACCEPTS.  Don't use -Wpointer-arith.
	Use AC_CONFIG_FILES.
	* acinclude.m4 (CMOD_COMPILER_CC_ACCEPTS): Removed.
	(CMOD_CHECK_CC_OPT): New macro.
	* README.DEVO: Updated for autoconf 2.52 and automake 1.5.

	Removed an unused attribute in IscSession.  Handle
	isc_getraddress() failures properly.
	* src/isc_tcp.c (isc_tcp_accept_fn): Don't set scb->mode.  Fail
	properly if isc_getraddress() fails.
	* src/isc.h (IscSession): Delete the "mode" attribute, which was
	only set in some cases and never used.
	* src/isc_session.c (isc_openfile): Don't set scb->mode.

Per Cederqvist's avatar
Per Cederqvist committed
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
1999-05-01  Per Cederqvist  <ceder@lysator.liu.se>

	* Version 1.00 released.

	Release preparations.
	* configure.in: Release 1.00.
	* TODO: Updated.
	* README: Updated.
	* NEWS: Entry for 1.00 written.

	"make maintainer-clean" shoudl remove everything that can be
	recreated.
	* Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in,
	aclocal.m4, configure, install-sh, mkinstalldirs, missing, INSTALL
	and COPYING.
	* src/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in.
	* man/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in.
	* doc/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in.
	* demo/Makefile.am (MAINTAINERCLEANFILES): Added Makefile.in.

	Removed support for isc_printf and isc_vprintf for license,
	performance and portability reasons.
	* configure.in: Removed --enable-isc-printf.
	* src/isc_stdout.c (isc_printf): Removed.
	(isc_vprintf): Removed.
	(send_scb): Removed.
	(send_putc): Removed.
	* src/isc.h (isc_printf): Removed.
	(isc_vprintf): Removed.
	* src/Makefile.am (libisc_a_LIBADD): Removed.
	(isc_stdout.o): No longer depend on ../config.status.
	* src/printf.c: Removed.

	Merged in all changes made to ISC in the lyskomd code from the
	isc_merge_1999_04_21 tag to the isc_merge_1999_05_01 tag.  Details
	follows:

    1999-04-28  Per Cederqvist  <ceder@lysator.liu.se>
Per Cederqvist's avatar
Per Cederqvist committed
593
594
595
596
597
598
599

	Added some output functions.
	* src/isc_stdout.c (isc_puts): New function.
	(isc_putul): New function.
	* src/isc.h (isc_puts): New function.
	(isc_putul): New function.

Per Cederqvist's avatar
Per Cederqvist committed
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
1999-04-24  Per Cederqvist  <ceder@lysator.liu.se>

	Make it easier to compile ISC out-of-the-repository.
	* README.DEVO: Mention bootstrap.sh.
	* bootstrap.sh: New file.

	Fix file inclusions.
	* src/isc_relocate.c: <time.h> and <stddef.h> must be included
	before "isc.h".
	* src/isc_alloc.c: <time.h> must be included before "isc.h".
	* src/isc_master.c: Likewise.
	* src/isc_output.c: Likewise.
	* src/isc_tcp.c: Likewise.
	* src/isc_udp.c: Likewise.

	Update at least one of the man pages.
	* man/isc_close.3x: Updated.

	Distribute ISC under LGPL.
	* README: Changed license to LGPL.
	* COPYING.LIB: New file, containing LGPL, the license this
	library is distributed under.
	* COPYING: No longer under version control.  This file is still
	included in the distribution, even though ISC is licensed under
	LGPL instead of GPL, for two reasons: LGPL allows you to change
	the license to GPL, and automake requires the file COPYING.
	* Makefile.am: Changed license to LGPL.
	* configure.in: Changed license to LGPL.
	* demo/Makefile.am: Changed license to LGPL.
	* man/Makefile.am: Changed license to LGPL.
	* man/TEMPLATE: Changed license to LGPL.
	* man/isc.3x: Changed license to LGPL.
	* man/isc_close.3x: Changed license to LGPL.
	* man/isc_createtcp.3x: Changed license to LGPL.
	* man/isc_destroy.3x: Changed license to LGPL.
	* man/isc_initialize.3x: Changed license to LGPL.
	* man/isc_listentcp.3x: Changed license to LGPL.
	* man/isc_openfd.3x: Changed license to LGPL.
	* man/isc_openfile.3x: Changed license to LGPL.
	* man/isc_opentcp.3x: Changed license to LGPL.
	* man/isc_shutdown.3x: Changed license to LGPL.
	* man/isc_unlisten.3x: Changed license to LGPL.
	* src/Makefile.am: Changed license to LGPL.
	* src/intern.h: Changed license to LGPL.
	* src/isc.h: Changed license to LGPL.
	* src/isc_abort.c: Changed license to LGPL.
	* src/isc_alloc.c: Changed license to LGPL.
	* src/isc_event.c: Changed license to LGPL.
	* src/isc_handler.c: Changed license to LGPL.
	* src/isc_master.c: Changed license to LGPL.
	* src/isc_message.c: Changed license to LGPL.
	* src/isc_output.c: Changed license to LGPL.
	* src/isc_queue.c: Changed license to LGPL.
	* src/isc_relocate.c: Changed license to LGPL.
	* src/isc_session.c: Changed license to LGPL.
	* src/isc_socket.c: Changed license to LGPL.
	* src/isc_stdout.c: Changed license to LGPL.
	* src/isc_tcp.c: Changed license to LGPL.
	* src/isc_udp.c: Changed license to LGPL.
	* src/isc_wait.c: Changed license to LGPL.
	* src/unused.h: Changed license to LGPL.

1999-04-22  Per Cederqvist  <ceder@lysator.liu.se>

	Distribute administrative files.
	* Makefile.am (EXTRA_DIST): Added README.DEVO and RELEASING.

	Merged in all changes made to ISC in the lyskomd code from ISC
	0.99 to the isc_merge_1999_04_21 tag.  Details follows:

    1999-04-17  Per Cederqvist  <ceder@lysator.liu.se>
671
672
673
674
675
676
677
678

	Added full support for fd relocation.
	* src/isc_relocate.c (isc_relocate_fd): Implemented for real.
	* src/isc_event.c (isc_getnextevent): Return
	ISC_EVENT_LOGIN_UNRELOCATED instead of ISC_EVENT_LOGIN if a
	file descriptor relocation failed.
	* src/isc.h (IscEventType): New event: ISC_EVENT_LOGIN_UNRELOCATED.

Per Cederqvist's avatar
Per Cederqvist committed
679
    1999-04-17  Per Cederqvist  <ceder@gratia>
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697

	Added limited support for fd relocation.  Error handling still
	needed.
	* src/isc_udp.c (isc_createudp): Relocate the fd.
	* src/isc_tcp.c (isc_tcp_accept_fn): isc_createtcp will close the
	file descriptor if it fails, so don't re-close it here.
	isc_createtcp will also set the fd attribute of the session; don't
	set it again.
	(isc_createtcp): Relocate the fd.  Be careful to always close it
	if an error occurs.
	* src/isc_relocate.c (isc_relocate_fd): New file and function.
	This is still a dummy implementation.
	* src/isc_master.c (isc_initialize): Expect master config version
	1006 and session config 1002.  Handle fd_relocate.
	* src/isc.h (IscSessionConfig): Added fd_relocate.
	* src/intern.h (isc_relocate_fd): New function.
	* src/Makefile.am (libisc_a_SOURCES): Added isc_relocate.c.

Per Cederqvist's avatar
Per Cederqvist committed
698
    1999-04-16  Per Cederqvist  <ceder@gratia>
699
700
701
702
703

	Simplify the use of IscHandlerList.  (This needs more
	documentation.)
	* src/isc.h (IscSession): Removed the "IscHandlerCache fun"
	member.
Per Cederqvist's avatar
Per Cederqvist committed
704
	(IscHandlerList): Renamed the "old" member to "current".
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
	(ISC_HCALLFUN1): Adapted to IscHandlerList changes.
	(ISC_HCALLFUN2): Adapted to IscHandlerList changes.
	(ISC_HCALLFUN3): Adapted to IscHandlerList changes.
	* src/intern.h (ISC_SCALLFUN1): Use ISC_HCALLFUN1 to simplify
	code.  Adapted to IscHandlerList changes.
	(ISC_SCALLFUN2): Analogous.
	(ISC_SCALLFUN3): Analogous.
	* src/isc_handler.c (isc_pushhandler): Modified so that the
 	members of the member "current" of IscHandlerList objects points
 	to the IscHandler object where the callbacks that should be used
 	exist.  Once that changes was done, there is no need for the
 	"scb->fun" member, so it was removed.
	(isc_pophandler): Adjusted accordingly.
	* src/isc_session.c (isc_create): Removed the code that
	initialized scb->fun.
	(isc_destroy): Use scb->handlers->current instead of scb->fun.
	* src/isc_event.c (isc_getnextevent): Use scb->handlers->current
	instead of scb->fun.

Per Cederqvist's avatar
Per Cederqvist committed
724
    1999-04-15  Per Cederqvist  <ceder@lysator.liu.se>
725
726
727
728
729
730
731
732
733
734
735
736

	Allow disabled sessions to emit data.  It is input from the
	sessions that is disabled.
	* src/isc_stdout.c (isc_putc): Allow output to sessions that are
	in state ISC_STATE_DISABLED.
	(isc_write): Likewise.
	* src/isc_output.c (isc_flush): Flush pending output even
	when the session is in ISC_STATE_DISABLED.
	(isc_oflush): Likewise.
	* src/isc_event.c (isc_getnextevent): Flush pending output even
	when the session is in ISC_STATE_DISABLED.

Per Cederqvist's avatar
Per Cederqvist committed
737
    1999-04-11  Per Cederqvist  <ceder@gratia>
Per Cederqvist's avatar
Per Cederqvist committed
738
739
740
741

	Rebuild more often.
	* src/Makefile.am (isc_stdout.o): Depend on ../config.status.

Per Cederqvist's avatar
Per Cederqvist committed
742
    1999-04-05  Per Cederqvist  <ceder@gratia>
743
744
745
746

	Get rid of useless compiler warnings.
	* configure.in: Don't use -Wtraditional.

Per Cederqvist's avatar
Per Cederqvist committed
747
    1999-02-05  Per Cederqvist  <ceder@gratia>
748
749
750
751
752

	Get rid of a compiler warning.
	* src/isc_alloc.c (ISC_MAGIC_ALLOC): This is an unsigned constant.
	(ISC_MAGIC_FREE): Likewise.

Per Cederqvist's avatar
Per Cederqvist committed
753
    1999-01-18  David Byers  <davby@ida.liu.se>
754
755
756

	* src/.cvsignore: Added .bbg, .bb, .da and .gcov files.

Per Cederqvist's avatar
Per Cederqvist committed
757
    1999-01-15  David Byers  <davby@ida.liu.se>
758
759
760
761

	* configure.in: Added --with-checker, --with-gcov and
	--with-optimization.

Per Cederqvist's avatar
Per Cederqvist committed
762
    1998-10-06  Per Cederqvist  <ceder@gratia>
Per Cederqvist's avatar
Per Cederqvist committed
763
764
765
766

	Port to glibc2.
	* src/isc_session.c: Include <time.h>.

Per Cederqvist's avatar
Per Cederqvist committed
767
    1998-07-09  Per Cederqvist  <ceder@lysator.liu.se>
768
769
770
771

	--enable-isc-printf was broken.
	* src/isc_wait.c: Include <stdarg.h>.

Per Cederqvist's avatar
Per Cederqvist committed
772
773
774
775
776
777
778
779
780
1999-04-21  Per Cederqvist  <ceder@lysator.liu.se>
	
	* demo/Makefile.am: Insert copyright header.

	Clean up the configure script.
	* configure.in (AC_PROG_MAKE_SET, AC_PROG_INSTALL): Removed.  This
	is automatically done by AM_INIT_AUTOMAKE.
	(AM_PROG_CC_STDC):  Use it instead of AM_C_PROTOTYPES.

Per Cederqvist's avatar
Per Cederqvist committed
781
782
1998-07-06  Per Cederqvist  <ceder@lysator.liu.se>

Per Cederqvist's avatar
Per Cederqvist committed
783
784
	* Version 0.99 released.

Per Cederqvist's avatar
Per Cederqvist committed
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
	Release preparations.
	* NEWS: Updated.
	* README: Updated.
	* RELEASING: New file.
	* README.DEVO: New file.

	Include isc_wait.o in the built library.
	* src/Makefile.am (libisc_a_SOURCES): Added isc_wait.c.

	Improved portability.
	* src/isc_wait.c: Check TIME_WITH_SYS_TIME.
	* src/isc_socket.c: Check TIME_WITH_SYS_TIME.
	* src/isc_event.c: Check TIME_WITH_SYS_TIME.

	Ported to Solaris 2.7 Beta/gcc 2.8.1.
	* src/isc_udp.c: Include <unistd.h>.
	(isc_udp_read_fn): Now static.  Flag unused arguments.
	(isc_udp_destroy_fn): Likewise.
	(isc_udp_write_fn): Now static.
	(isc_mkudpaddress): Likewise.  Don't pass potentially negative
	characters to isdigit.
	* src/isc_tcp.c: Include <unistd.h>.
	(isc_tcp_accept_fn): Now static.  Flag unused arguments.
	(isc_tcp_destroy_fn): Likewise.
	(isc_mktcpaddress): Now static.  Don't pass potentially negative
	characters to isdigit.
	* src/isc_session.c: Include <unistd.h>.
	(isc_default_read_fn): Flag unused arguments.
	(isc_default_write_fn): Flag unused arguments.
	(isc_default_close_fn): Flag unused arguments.
	(isc_file_destroy_fn): Flag unused arguments.
	* src/isc_alloc.c (isc_realloc): Code simplified.
	(isc_free): Code simplified.
	* src/unused.h: New file (taken from cmod).

	Added automake/autoconf support.
	* AUTHORS: New file.
	* Makefile.am: New file.
	* NEWS: New file.
	* acinclude.m4: New file.
	* configure.in: New file.
	* demo/Makefile.am: New file.
	* demo/README: New file.
	* doc/Makefile.am: New file.
	* man/Makefile.am: New file.
	* src/Makefile.am: New file.
	* man/Makefile: This file is now generated by configure.  Don't
	store it under version control.
	* src/Makefile: Likewise.
	* demo/Makefile: Likewise.
	* build/stddef.h: File removed.
	* build/gmkdep: File removed.
	
1998-06-21  Per Cederqvist  <ceder@lysator.liu.se>

	Incorporated all relevant improvements made to ISC in
	the committed sources of lyskomd as of 1998-06-21.  Edited details
	follows.

	Include file improvements.
	* src/isc_event.c: Include <sys/select.h>, <unistd.h> and
	<string.h> for increased portability.
	* src/printf.c: Check HAVE_STRING_H and HAVE_STDLIB_H before
	including those files.  Don't forward-declare memchr.

	Ignore attempts to look up the NULL host name.
	* src/isc_socket.c (isc_gethostname): Return NULL if given a NULL
	IscAddress.

1998-05-07  Per Cederqvist  <ceder@lysator.liu.se>

	Incorporated all relevant improvements made to ISC in
	kom++-0.7.post.2.  Edited details follows.
	
	Avoid including more files than necessary.
	* src/isc.h: Don't include any include files.
	* src/isc_abort.c: Don't declare system functions.  Fixed include
	statements.
	* src/isc_alloc.c: Likewise.
	* src/isc_event.c: Likewise.
	* src/isc_message.c: Likewise.
	* src/isc_output.c: Likewise.
	* src/isc_session.c: Likewise.
	* src/isc_socket.c: Likewise.
	* src/isc_stdout.c: Likewise.
        * src/isc_tcp.c: Likewise.
	* src/isc_udp.c: Likewise.
	* src/isc_handler.c: Fixed include statements.
	* src/isc_master: Likewise.
	* src/isc_queue.c: Likewise.

	Added the ability to wait until a connection attempt (initiated by
	this process) either fails or succeeds.
	* src/isc.h: (isc_wait): Prototype added.
	* src/isc_wait.c: New file, containing isc_wait.

	Only support isc_printf and isc_vprintf if ISC_PRINTF_SUPPORT if
	defined.  These functions may lead to bad use of the buffers.
	* src/isc.h: (isc_vprintf, isc_printf): Only declare if
	ISC_PRINTF_SUPPORT is defined.  Fail to compile if
	ISC_PRINTF_SUPPORT is defined but HAVE_STDARG_H isn't.
 	* src/isc_stdout.c (send_scb, send_putc, isc_vprintf, isc_printf):
	Only defined if ISC_PRINTF_SUPPORT is defined.

	Make sure that isc_getnextevent only returns a single
	ISC_EVENT_LOGOUT message when a session logs out.
	* src/isc.h: (IscSessionState): New state: ISC_STATE_CLOSING2.
	* src/isc_event.c (isc_getnextevent): There is now only one
	ISC_EVENT_LOGOUT message per session.  Set the state to
	ISC_STATE_CLOSING2 when generating an ISC_EVENT_LOGOUT message.
 	* src/isc_output.c (isc_flush): Treat ISC_STATE_CLOSING2 as
	ISC_STATE_CLOSING.
	(isc_oflush): Likewise.
	
	Portability fixes.
	* src/isc_alloc.c (isc_mallocfn, isc_reallocfn, isc_freefn):
	Removed lame casts.

	Make sure that isc_malloc returns a block that is aligned on a
	"long" boundary.
 	* src/isc_alloc.c (isc_malloc, isc_free, isc_realloc): Portablilty
	fix: Align data on a "long" boundary, not only an "int" boundary.

	Typo fix.
	* src/isc_event.c (isc_getnextevent): Fixed a spelling error in a
	comment.
	
	Make sure that errors are reported to the proper session.
  	* src/isc_event.c (isc_getnextevent): event->session was sometimes
	set erronously if an error occured in select() or if a timeout
	occured.

	Use O_NONBLOCK instead of the now obsolete name FNDELAY.
	* src/isc_session.c (isc_openfd): Use O_NONBLOCK instead of FNDELAY.
	* src/isc_tcp.c (isc_createtcp): Use O_NONBLOCK instead of FNDELAY.
	* src/isc_udp.c (isc_createudp): Use O_NONBLOCK instead of FNDELAY.

	Avoid warnings by adding a dubious cast.
 	* src/isc_socket.c (isc_gethostname): Cast argument to
	gethostbyaddr to a char* to avoid a warning.
	
	Portability fix: Renamed _printf to UCB_printf.
	* src/isc_stdout.c (isc_printf, isc_vprintf): Call UCB_printf
	instead of _printf.
	* src/printf.c (UCB_printf): Renamed _printf to UCB_printf (to avoid
	conflicts on HPUX).

	Don't use obsolete setsockopt interfaces.
	* src/isc_tcp.c (isc_createtcp): Fixed calls to setsockopt with
	SO_LINGER and SO_REUSEADDR arguments.  The old-style style
	previously used should no longer be necessary on modern operating
	systems, and in fact it no longer works everywere.  
	* src/isc_udp.c (isc_createudp): Fixed calls to setsockopt with
	SO_LINGER and SO_REUSEADDR arguments.  The old-style style
	previously used should no longer be necessary on modern operating
	systems, and in fact it no longer works everywere.  

	If an attempt to bind failed with EADDRINUSE all the retries
	would automatically fail.
	* src/isc_tcp.c (isc_listentcp): Clear errno on each loop in the
	retry loop.

	Include the licensing conditions used by this package.
	* COPYING: New file.

1998-04-03  Per Cederqvist  <ceder@signum.se>

	Port to glibc 2, where errno is a macro.
	* isc.h (IscSession::isc_errno): New name for former struct member
	errno.  All users updated.

1996-07-24  Per Cederqvist  <ceder@lysator.liu.se>

	ISC_EVENT_LOGIN events now return the listening session in the
	event, so that it can be used to easily determine which kind of
	connection that was made.  66.7 % of the code was contributed by
	<linus@lysator.liu.se>.
	* src/isc.h (IscEvent): New field: listen_session.
	* src/isc_event.c (isc_getnextevent): Fill in listen_session when
	an ISC_EVENT_LOGIN event is created.  Set it to NULL in all other
	cases.

1996-07-23  Per Cederqvist  <ceder@lysator.liu.se>

	* Imported ISC version 0.98.3.