11999-11-01    <uwe@akiar.ohse.de>
2
3	* configure.in: changed version number to 0.2.4
4
5	* Makefile.am:
6	* README.check: added check.44
7
8	* check.44: new file.
9
10	* utftpd.h: include unget method in vc struct.
11
12	* utftpd.c: call VC->unget and unlink the file
13	  if a PUT request failed.
14
15	* utftpd_rcs.c:
16	* utftpd_novc.c: dummy entries for unget method
17
18	* utftpd_recv.c: do not unlink the file anymore in case the
19	  request failed. utftpd.c does that now.
20
21	* utftpd_sccs.c: provide unget method.
22
231999-10-25    <uwe@serak.ohse.de>
24
25	* uoio.c: fixed error in buffer write code which could
26 	  have lead to data corruption (highly unlikely to happen
27          in the case of utftpd, though).
28
29	* configure.in: inform the user which make program
30	  to use.
31
32	* utftp.c: opt_verbose did nothing, removed variable and
33	  option.
34
35	* Makefile.am: include check.43
36
37	* utftpd doesn't exit anymore if it can't make stdin
38	  nonblocking. That means standalone mode now works
39	  on OpenBSD.
40
411999-09-05    <uwe@akiar.ohse.de>
42
43	* utftpd.c (do_init): ignore garbage bytes at the end of the
44	  packet, unless they come after options.
45
46	* tftplib.h: add send_garbage flag to struct tftplib_ctrl.
47
48	* utftp.c:
49	* tftp_prepare.c:
50	  implement garbage sending (for test suite)
51
52	* check.42: check treatment of garbage bytes.
53
54	* configure.in: changed version number to 0.2.3
55
561999-08-24    <uwe@serak.ohse.de>
57
58    * utftpd.c (do_init): move the check whether we write as "root"
59      some lines up, before the possible creation of the files.
60      Stupid buglet.
61
621999-08-22  uwe  <uwe@serak.ohse.de>
63
64	* splitted tftplib.h in tftplib.h (client) and utftpd.h, to separate
65	  old struct tftplib_ctrl and new struct utftpd_ctrl (this way the
66	  server side is not clobbered if i add new debug/error provoking
67	  stuff the the client).
68
69	* utftpd_nak.c: new file
70
71	* tftp_receive: implement --force-timeout stuff.
72
73	* tftp_send: implement --force-timeout stuff.
74
75	* tftplib.h: struct tftplib_ctrl now has new member force_timeout.
76
77	* utftp.c: implement --force-timeout stuff.
78
79	* utftpd*.c: use utftpd.h instead of tftplib.h, use utftpd_nak
80	  instead of tftp_nak.
81
82	* utftpd.c: new function utftpd_setup_ctrl(). (Clone of
83	  tftp_setup_ctrl from the client library). Use that.
84
85	* utftpd_recv.c: rename got_timeout to got_timeouts, since utftpd_send
86	  names it so. Use adapative timeout.
87	  unlink new file in case we didn't get it completely.
88
89	* utftpd_send.c: use adaptive timeout.
90	  implement a fix for "Sorcerer's Apprentice Syndrome". It's a bit
91	  smarter than suggested by RFC 1123.
92
931999-07-07  uwe  <uwe@serak.ohse.de>
94
95	* all: package compiles with g++.
96
97	* Makefile.am: include no_tftp.h into noinst_HEADERS.
98
99	* cdb_seek.c:
100	* cdb_unpack.c:
101	* cdbmake.h:
102	* cdb.h: change some char * to unsigned char *.
103
104	* configure.in: change version number to 0.2.2.
105
106	* miniudpserv.c: adapt to changes in uogetopt.h.
107	  struct sockaddr_in s_in moved to main().
108
109	* utftpd.c: adapt to changes in uogetopt.h.
110	  struct sockaddr_in s_in moved to main().
111	  some casts to make g++ happy.
112
113	* utftpd_dump.c: some casts to make g++ happy.
114	  main returns int.
115
116	* utftpd_make.c: adapt to changes in uogetopt.h.
117	  some casts to make g++ happy.
118	  allocate cdbm dynamically.
119
120	* utftp.c: adapt to changes in uogetopt.h.
121	  opt_verbose is now not longer static (clashed with
122	  extern declaration in header file).
123
124	* parser.y: properly initialize all members of this_string.
125	  some casts to make g++ happy.
126
127	* tftp_s_ctrl.c: some casts to make g++ happy.
128
129	* utftpd_sccs.c: some casts to make g++ happy.
130
131	* str2num.h:
132	* str_ulong.c:
133	* str_ulong.h:
134	* parse_ipport.c:
135	* timing.c:
136	* uogetopt.c:
137	* uogetopt.h:
138	* uogetopt.3:
139	* uoio.c:
140	* uosock.h:
141	* uostr.c:
142	* uostr_mem.c:
143	* uostr.h:
144	* nonblock.h:
145	* nonblock.c: library updates.
146
1471999-06-15  uwe  <uwe@serak.ohse.de>
148
149	* utftpd.c: syslog() for configuration variables only if verbose,
150	  and changed text of that.
151
1521999-05-23  uwe  <uwe@serak.ohse.de>
153
154	* configure.in: check for yacc.
155
156	* utftpd_make.c: mostly rewritten.
157
158	* Makefile.am:
159	new files and rules for: check.41, utftpd_dump.c, parser.y
160
161	* utftpd.c:
162	change in rule format: read(..)write(..) -> read=..NULwrite=..NUL
163
164	* parser.y: new file
165
166	* .cvsignore, Makefile.in, configure, parser.c:
167	*** empty log message ***
168
169	* utftpd_make.h: new file
170
171	* utftpd.conf.5, sample.config: updated
172
173	* check.41, uostr.3, uostr.c, uostr.h, uostr_char.c:
174	*** empty log message ***
175
176	* utftpd_dump.c: new file
177
178	* Makefile.am, Makefile.in, uogetopt.3, uogetopt.c, uogetopt.h, utftpd.c:
179	improved uogetopt: UOGO_PRINT, UOGO_HIDDEN, manual page, copyright stuff
180
1811999-05-22  uwe  <uwe@serak.ohse.de>
182
183	* utftpd.c: adapted to new uogetopt version.
184
185	* uogetopt.c: updated.
186	* uogetopt.h: updated.
187	* uogetopt.3: new file.
188
1891999-05-02  uwe  <uwe@serak.ohse.de>
190
191	* timing.c, timing.h, Makefile.am, check_extra.1, tftplib.h, utftpd.c, utftpd_recv.c, utftpd_send.c, Makefile.in:
192	timing stuff
193
194	* utftpd.c: implemented UNIX tftpd style access control:
195	1. check filename against a list of directories on the command line
196	2. check st_mode field for "readable/writable by anyone".
197
198	* check_lib:
199	added check_restart() function to kill udpserv and restart it with new options
200
201	* NEWS, README.check, utftpd.8: updated
202
203	* Makefile.am: added check.40, check.39
204
205	* check.39, check.40: new tests for old style access control
206
2071999-05-01  uwe  <uwe@serak.ohse.de>
208
209	* ChangeLog, configure, configure.in: changed version number to 0.2.0
210
211	* utftpd_send.c, utftpd_recv.c:
212	adapted to changes in global version control interface: doesn't open the file anymore, leaves that to vc stuff
213
214	* utftpd_sccs.c, utftpd_rcs.c:
215	cleaned up interface, checkout for reading using pipes
216
217	* utftpd_make.c: hacked around efence
218
219	* utftpd.c:
220	wrapped version control stuff, hacked around efence, support 'revision' tftp option and --suppress-naks option
221
222	* utftp.c:
223	revision and retries options, changed exit code (see tftlib.h changes)
224
225	* utftp.1: *** empty log message ***
226
227	* uoio.c: cleaned up
228
229	* tftplib.h:
230	struct tftp_ctrl now includes "retries" (used in the client code),
231	"revision" (client + server code), "filename", "origfilename,"
232	"filefd", "pid" and "vc" fields (the last 5 are only used in the
233	server).
234	define struct utftpd_vc (version control interface).
235	declare utftpd_sccs, utftpd_rcs, utftpd_novc version controls.
236	changed lots of prototypes.
237	declare opt_verbose and opt_suppress_naks
238
239	* tftp_s_ctrl.c: initialize filefd to -1, retries to 5
240
241	* tftp_send.c: changed return codes, see tftplib.h change
242
243	* tftp_receive.c:
244	changed return codes, see tftplib.h change, remove #if 0'ed code
245
246	* tftp_prepare.c: revision option supported
247
248	* miniudpserv.c: hack around efence
249
250	* check_lib:
251	passing of options to utftpd possible, numeric expect values possibly, FAIL translates to 6
252
253	* check.30:
254	heavily modified to check what happens if there is a checked out copy
255
256	* check.27, check.17:
257	reversed the check since the logic in the code has been changed
258
259	* Makefile.in, README.check: *** empty log message ***
260
261	* Makefile.am: included new checks and new source files
262
263	* check.34, check.35, check.36, check.37, check.38: New checks
264
265	* utftpd_novc.c: New file: a dummy version control interface
266
267	* wait_check.c: New file: waitpid()+check exitstatus +logging
268
2691999-05-01  uwe  <uwe@serak.ohse.de>
270
271	* utftpd_send.c, utftpd_recv.c:
272	adapted to changes in global version control interface: doesn't open the file anymore, leaves that to vc stuff
273
274	* utftpd_sccs.c, utftpd_rcs.c:
275	cleaned up interface, checkout for reading using pipes
276
277	* utftpd_make.c: hacked around efence
278
279	* utftpd.c:
280	wrapped version control stuff, hacked around efence, support 'revision' tftp option and --suppress-naks option
281
282	* utftp.c:
283	revision and retries options, changed exit code (see tftlib.h changes)
284
285	* utftp.1: *** empty log message ***
286
287	* uoio.c: cleaned up
288
289	* tftplib.h:
290	struct tftp_ctrl now includes "retries" (used in the client code),
291	"revision" (client + server code), "filename", "origfilename,"
292	"filefd", "pid" and "vc" fields (the last 5 are only used in the
293	server).
294	define struct utftpd_vc (version control interface).
295	declare utftpd_sccs, utftpd_rcs, utftpd_novc version controls.
296	changed lots of prototypes.
297	declare opt_verbose and opt_suppress_naks
298	Define exit codes for tftp client.
299
300	* tftp_s_ctrl.c: initialize filefd to -1, retries to 5
301
302	* tftp_send.c: changed return codes, see tftplib.h change
303
304	* tftp_receive.c:
305	changed return codes, see tftplib.h change, remove #if 0'ed code
306
307	* tftp_prepare.c: revision option supported
308
309	* miniudpserv.c: hack around efence
310
311	* check_lib:
312	passing of options to utftpd possible, numeric expect values possibly, FAIL translates to 6
313
314	* check.30:
315	heavily modified to check what happens if there is a checked out copy
316
317	* check.27, check.17:
318	reversed the check since the logic in the code has been changed
319
320	* Makefile.in, README.check: *** empty log message ***
321
322	* Makefile.am: included new checks and new source files
323
324	* check.34, check.35, check.36, check.37, check.38: New checks
325
326	* utftpd_novc.c: New file: a dummy version control interface
327
328	* wait_check.c: New file: waitpid()+check exitstatus +logging
329
3301999-04-12  uwe  <uwe@serak.ohse.de>
331
332	* utftpd_send.c, wildmat.c, wildmat.h, cdb_hash.c, cdb_seek.c, cdbmake_add.c, cdbmake_hash.c, cdbmake_pack.c, miniudpserv.c, tftp_receive.c, tftp_send.c, tftplib.h, uogetopt.c, uoio.h, utftp.c, utftpd_make.c, utftpd_recv.c:
333	Pre-Ansi-modifications where necessary
334
335	* check.20, check.26, check.27, check.28, check.29, check.30, check.31,
336	  check.32, check.33, check.4, check.5, check_lib, check.12, check.13:
337	fix SCCS things, make BLOCKSIZES configurable ($BLOCKSIZES="512 1024").
338
3391999-04-11  uwe  <uwe@serak.ohse.de>
340
341	* check_lib: fix admin usage
342
343	* check.16, check.17, check.18, check.19, check.20, check.21, check.22,
344	  check.23, check.24, check.25, check_lib:
345	just another way to create SCCS files: the admin tool (SCO 4.2).
346
3471999-04-10  uwe  <uwe@serak.ohse.de>
348
349	* utftpd_make.c: indent ran for ansi2knr
350
351	* uostr_mem.c: made HPUX 9.00 pre-ANSI cc happy which complained:
352	'default' should appear at most once in 'switch'
353	"default:" -> "case 0:", which is the same here.
354
355	* README.check: new file.
356
357	* configure.in, configure: always use efence on serak
358
359	* check.28, check.29, check.3, check.30, check.31, check.32, check.33,
360	  check.4, check.5, check.6, check.7, check.cleanup, check_lib,
361	  check.12, check.13, check.14, check.15, check.16, check.17, check.18,
362	  check.19, check.2, check.20, check.21, check.22, check.23, check.24,
363	  check.25, check.26, check.27, Makefile.am, Makefile.in, README.check,
364	  check.10, check.11:
365	try to deal with version control system which do not handle binaries
366
367	* check_lib:
368	call external kill executable to stop some shells from whining about
369	killed children
370
371	* systype.in:
372	SCO support, fallback to /sbin/sysctl on BSD systems if it is not in PATH
373
374	* tftp_receive.c, tftp_send.c:
375	removed some warning with (struct sockaddr *) cast
376
377	* utftpd.c: used memory freed in 'blocksize' processing
378
379	* utftpd.8: update.
380
381	* utftpd.c: removed c++ style comments.
382
383	* utftpd_rcs.c, utftpd_recv.c, utftpd_sccs.c, miniudpserv.c,
384	  tftp_receive.c, tftp_send.c, utftpd.c:
385	solaris 2.6, warnings removed
386
387	* tftp_prepare.c, tftp_receive.c, utftpd.c, utftpd_make.c: removed
388	warnings under SCO 4.2
389
390	* utftpd_recv.c, tftp_receive.c, utftpd_make.c:
391	deal with missing fsync()
392
393	* utftpd.c:
394	slowlartis 5.5.1 does have th_u union in tftp header structure
395
396	* check.26, check.31: don't use 'test !' anymore, it's unportable
397
398	* check.16, check.17, check.18, check.19, check.20, check.21, check.22,
399	check.23, check.24, check.25:
400	adapted to SUNs aged sccs systems on slowlaris 5.5.1
401
402	* utftpd_sccs.c:
403	now give SCCS/s.file as argument to sccs commands instead of 'file' alone
404
405	* check_lib: make functions in bourne style
406
4071999-04-09  uwe  <uwe@serak.ohse.de>
408
409	* uogetopt.c:
410	fixed length of some help strings, added option to check length of help texts
411
412	* utftpd.c: fixed length of some help strings
413
414	* uogetopt.c: do not include uostr.h
415
416	* utftpd.conf.5: updated for new configuration variables
417
418	* configure, configure.in:
419	updated version to 0.1.5.
420	check for RCS programs co and ci.
421	check for SCCS programs get, delta, unget (standard) and clean (BitSCCS).
422
423	* check.26, check.27, check.28, check.29, check.30, check.31, check.32, check.33:
424	new files, checks for the RCS stuff.
425
426	* check.16, check.17, check.18, check.19, check.20, check.21, check.22, check.23, check.24, check.25:
427	new files, checks for the SCCS stuff.
428
429	* Makefile.am:
430	miniudpserv needs LIBOBJS
431	include new files utftpd_rcs.c and utftpd_sccs into utftpd. Add lots of checks.
432
433	* utftpd_recv.c:
434	don't send last ACK anymore, high level has to do that due to revision control
435	checkin.
436
437	* utftpd_sccs.c: new file
438
439	* utftpd_rcs.c: new file
440
441	* utftpd.c:
442	opt_sccs_unget, opt_sccs_clean, opt_rcs_ci, opt_rcs_co: new configuration file variables
443	check wether sccs delta failed if we commit a writable file we found.
444	send last ACK for a received file after sccs commit.  call setsid().
445	moved SCCS handling code to utftpd_sccs.c. added bugs report email address to
446	help text. Slightly improved help texts.
447
448	* utftp.c: workaround for missing LOG_PERROR
449	added bugs report email address to help text.
450
451	* utftpd_make.c: added bugs report email address to help text.
452
453	* tftplib.h: prototypes for functions in utftpd_sccs.c, utftpd_rcs.c.
454	declarations of global variables needed in those two files.
455
456	* uogetopt.c: make --help/longhelp work on --help, --longhelp, --version.
457
4581999-04-06  uwe  <uwe@serak.ohse.de>
459
460	* systype.in:
461	openbsd added. don't print error messages if config.guess is missing
462
4631999-04-05  uwe  <uwe@tirka.ohse.de>
464
465	* check.14, check.15, check.6, check.7:
466	fix checks for the 'no standard tftp client' case
467
4681999-04-05  uwe  <uwe@iniur.ohse.de>
469
470	* tftp_s_ctrl.c:
471	should have assigned the value to a union member, not the union
472
473	* check.4, check.5, check.1, check.12, check.13:
474	some portability fixes for the checks
475
476	* utftpd_send.c:
477	check whether the file is a regular file and not a directory
478
479	* check_lib: syntax fix
480
4811999-04-05  uwe  <uwe@serak.ohse.de>
482
483	* utftp.1: new manual page
484
485	* utftpd.8, utftpd.c: open configuration file before chroot()
486
487	* .cvsignore: miniudpserv and utftp added
488
489	* miniudpserv.c: new file: a simple inetd replacement for use in 'make check'
490
491	* Makefile.am: lots of additions.
492
493	* utftpd.c: lots of changes. parts moved out into other files, especially
494	  utftpd_recv.c and utftpd_send.c. redid access rights checking. cleaned up.
495
496	* utftpd.conf.5: new manual page describing the configuration file format.
497
498	* utftp.c: new file: simple tftp client
499
500	* wildmat.c: my address fixed.
501
502	* tftp_f_ctrl.c, tftp_nak.c, tftp_prepare.c, tftp_receive.c, tftp_s_ctrl.c, tftp_send.c, tftplib.h:
503	new tftp library functions, for use in the client (tftp_nak is also used in the server).
504
505	* utftpd_recv.c, utftpd_send.c:
506	new files, implementing the server side 'file send/receive' functions, moved out of utftpd.c
507
508	* check.1, check.10, check.11, check.12, check.13, check.14, check.15, check.2,
509	* check.3, check.4, check.5, check.8, check.9, check_lib:
510	self check adjusted.
511
5121999-04-04  uwe  <uwe@serak.ohse.de>
513
514	* check.6, check.7, check_lib, check.1, check.2, check.3, check.4, check.5:
515	selfcheck part 1
516
517	* str_ulong.h: illegal ; at end of define removed.
518
519	* uoio.c:
520	two stupid bugs fixed which basically lead to only the first 8192 bytes being used in most circumstances
521
522	* NOTES: new file
523
524	* utftpd_make.c: comma-separation of IP addresses didn't work
525
5261999-04-02  uwe  <uwe@serak.ohse.de>
527
528	* cdb_hash.c, cdb_seek.c, cdb_unpack.c, cdbmake.h, cdbmake_add.c, cdbmake_hash.c, cdbmake_pack.c, utftpd_make.c:
529	Copyright notices added
530
531	* utftpd.conf.5: new file
532
533	* Makefile.am, Makefile.in, utftpd.8, utftpd.c, utftpd_make.8:
534	documentation update
535
536	* config.h.in, configure, utftpd_make.c:
537	don't append a space before continuation lines
538
539	* configure.in, Makefile.in:
540	change version number to 0.1.4, don't check for resolver library anymore
541
542	* Makefile.am, uo_now.c: whole time library is not needed
543
544	* uo_dt2sec70.c: uo_dt2sec70.c is not needed
545
546	* uo_sec702dt.c: uo_sec702dt.c is not needed
547
548	* uo_monabbrev.c, Makefile.am: uo_monabbrev.c is not needed
549
550	* Makefile.in, utftpd.c, utftpd_make.c, wildmat.c, wildmat.h, ChangeLog, Makefile.am:
551	check_access() now knows about wildcards
552
553	* Makefile.in, utftpd_make.c, Makefile.am: continuation lines
554
5551999-03-28	Uwe Ohse  <uwe@ohse.de>
556	* all: Version 0.1.3
557	* utftpd.8: new
558	* utftpd.c: inet_ntoa for remote ip is now only called once,
559	  the result will be bufferd.
560	  Fix sendbuf and recvbuf changes from a week before. I *knew*
561	  something was not OK that day ...
562      check_access() allows not not only access to /XXX/* for any
563      configured /XXX, but also to /XXX itself.
564	  openlog() with LOG_NDELAY.
565	  syslog() if sccs-delta fails.
566	* utftpd_make.c:
567	  open tmpfile 0644, that is: read/write for anybody.
568
5691999-03-21  Uwe Ohse  <uwe@ohse.de>
570
571* uostr_mem.c: shut up compiler warning
572
573* utftpd.c (everythere): change sendbuf and recvbuf to unions, to get rid
574  of compiler warnings about alignment differences.
575
576* utftpd_make.c: fix an alpha compilation warning.
577
578