also add -fwrapv to CFLAGS (addresses #698908)
[alioth/cvs.git] / src / ChangeLog
1 2005-09-30  Larry Jones  <lawrence.jones@ugs.com>
2
3         * expand_path.c (expand_path): Fix memory leaks.
4
5 2005-09-29  Mark D. Baushke  <mdb@gnu.org>
6
7         * main.c (main): Simplify commitid creation.
8
9         * main.c (main): Not all hosts support O_NOCTTY for open.
10         Try to use more random data when time() returns -1.
11         
12 2005-09-29  Derek Price  <derek@ximbiot.com>
13
14         * main.c (main): Check for error return from time().
15
16 2005-09-29  Paul Eggert  <eggert@CS.UCLA.EDU>
17             Derek Price  <derek@ximbiot.com>
18
19         * client.c (handle_m, handle_e): Remove incomplete workaround for
20         O_NONBLOCK problem; no longer needed because of the fix below.
21         * cvs.h (piped_child): New bool argument saying whether O_NONBLOCK
22         fix is needed.  All uses changed.
23         * rsh-client.c (start_rsh_server): We need the O_NONBLOCK fix,
24         so pass 'true' to piped_child to enable the workaround.
25         * run.c (work_around_openssh_glitch): New function.
26         (piped_child): Use it if the fix is requested.  Avoid call call to
27         vfork with undefined behavior.
28
29 2005-09-29  Mark D. Baushke  <mdb@gnu.org>
30
31         * main.c (main): Rename N as COMMITID_RAW_SIZE.
32         Use base62 encoding for non-urandom case.
33
34 2005-09-29  Derek Price  <derek@ximbiot.com>
35
36         * buffer.c (fd_buffer_input), client.c (handle_m, handle_e): Use new
37         fd_select in place of select.
38
39         * subr.c: Remove select includes - the sleep functions are now in
40         lib.
41
42 2005-09-28  Mark D. Baushke  <mdb@gnu.org>
43
44         * main.c (N, RANDOM_BYTES): New constants for base62 conversion.
45         (divide_by): Used in base62 conversion.
46         (convert): Ditto.
47         (main): Set global_session_id using more random data and the
48         current time in base62 if possible, otherwise fallback to the old
49         method.
50
51 2005-09-25  Conrad T. Pino  <Conrad@Pino.com>
52
53         * rcs.c: Use "#ifdef HAVE_FSYNC" just like every where else.
54
55 2005-09-25  Conrad T. Pino  <Conrad@Pino.com>
56
57         * buffer.c client.h socket-client.h:  Remove HAVE_WINSOCK_H macro &
58         change <winsock.h> to <sys/socket.h> include.
59
60         * server.c:  Remove HAVE_WINSOCK_H and <winsock.h> include.
61
62 2005-09-25  Derek Price  <derek@ximbiot.com>
63
64         * rcs.c (rcs_internal_unlockfile): Fsync files before renaming them.
65         Patch from Rahul Bhargava <rahul@wandisco.com>.
66
67         * cvs.h, filesubr.c, main.c, server.c:
68         s/push_cvs_tmp_dir/push_cvs_temp_dir/.
69
70         * main.c (get_cvs_temp_dir): Use new get_system_temp_dir function.
71         (push_env_temp_dir): Move to...
72         * filesubr.c (push_env_temp_dir): ...here to split from Windows.
73         (get_system_temp_dir): New function.
74         * cvs.h (get_cvs_temp_dir, push_env_temp_dir): Add protos.
75
76         * buffer.c (fd_buffer_input): Fix spelling in header comment block.
77
78 2005-09-24  Derek Price  <derek@ximbiot.com>
79
80         * socket-client.c: Check HAVE_CONFIG_H, not HAVE_CONFIG.
81
82         * socket-client.c, socket-client.h: Minor cleanup.
83
84         * Makefile.am (cvs_SOURCES): Move socket-client.[ch] to...
85         (EXTRA_cvs_SOURCES): ...here to avoid compiling them.
86         * socket-client.c (init_sockaddr), socket-client.h (init_sockaddr):
87         Move to...
88         * client.c (init_sockaddr), client.c (init_sockaddr): ...here.
89
90         * socket-client.c (socket_buffer_input): Avoid overflow problems.
91
92         * socket-client.c: General cleanup.
93
94 2005-09-23  Larry Jones  <lawrence.jones@ugs.com>
95
96         * checkout.c (export_usage): Note that -r requires a tag.
97
98 2005-09-22  Derek Price  <derek@ximbiot.com>
99
100         * classify.c (Classify_File): Correct comment.
101
102 2005-09-22  Larry Jones  <lawrence.jones@ugs.com>
103
104         * patch.c (patch_usage): Document -k option.
105
106 2005-09-22  Derek Price  <derek@ximbiot.com>
107
108         * classify.c (Classify_File): If a file had a conflict and the
109         timestamp hasn't changed, it still has a conflict.  Add comment about
110         how T_MODIFIED could later turn out to have conflict markers and why
111         it should not be checked in this function.
112         * client.c (send_fileproc): Don't send contents for files known to have
113         conflicts unless this is for `cvs diff'.
114         * commit.c (check_fileproc): T_CONFLICT should be handled like
115         T_MODIFIED, since force could be requested.  Simplify logic since
116         T_CONFLICT can now be trusted.
117         * rcs.c (RCS_Checkout): Comment noexec behavior in header block.
118         * server.c (serve_unchanged, serve_is_modified): Handle conflicts.
119         * status.c (status_fileproc): Trust T_CONFLICT to simplify.
120         * subr.c (file_has_conflict): Removed.
121         * subr.h (file_has_conflict): Remove proto.
122         * update.c (update_fileproc): Trust T_CONFLICT.
123         (RegisterMerge): New function factored from...
124         (merge_file, join_file): ...these two functions.
125         * vers_ts.c (time_stamp_server): Handle = conflict timestamps in server
126         entdata.
127         * sanity.sh (files-12): Account for slight behavior improvement.
128         (status, conflicts, mwrap): Account for corrected behavior.
129         (join-readonly-conflict-10): Correct comment.
130         (binfiles-con1b): New test for correct behavior.
131
132         * classify.c (Classify_File): Consolidate redundant conditionals.
133
134 2005-09-21  Derek Price  <derek@ximbiot.com>
135
136         * entries.c: Remove obsolete comment.
137
138 2005-09-20  Derek Price  <derek@ximbiot.com>
139
140         * myndbm.c: #include getdelim.h for Windows.
141
142         * main.c: #include setenv.h for Windows.
143
144 2005-09-19  Derek Price  <derek@ximbiot.com>
145
146         * sanity.sh (modules5-8): Rename...
147         (modules5-8r): ...to this and comment Mac OS X failure.
148         Comment Solaris 9 failure below with a `FIXME?' tag.
149
150         * sanity.sh: Remove previous hack in favor of setting TESTDIR on
151         Solaris (and Mac OS X) until problem is solved correctly.
152
153 2005-09-15  Derek Price  <derek@ximbiot.com>
154
155         * sanity.sh: Use /bin/pwd to verify current dir since Solaris 9 is
156         sometimes resolving symlinked paths.
157
158 2005-09-14  Derek Price  <derek@ximbiot.com>
159
160         * edit.c (edit_usage, unedit_usage, editors_usage), watch.c
161         (watch_usage, watchers_usage): Add quotes and reword for clarity and
162         consistency.
163
164         * edit.c (edit_usage): Add missing syntax.  Reword description for
165         clarity.  Mention default behavior.
166
167 2005-09-13  Derek Price  <derek@ximbiot.com>
168
169         * sanity.sh ($anyusername): Reduce charset to that allowed on Linux.
170
171         * sanity.sh ($anyusername): Make more robust and expand comments.
172         Reported by Mark D. Baushke <mdb@gnu.org>.
173
174         * sanity.sh: Split $username into $username & $username8.  Rename
175         $author as $anyusername.
176
177 2005-09-12  Derek Price  <derek@ximbiot.com>
178
179         * sanity.sh (username): Cut $username down to 8 characters when longer,
180         since that is all that appears in output.
181
182 2005-09-11  Derek Price  <derek@ximbiot.com>
183
184         [bug #14504]
185         * main.c (main): Set server_hostname before it is used by
186         gserver_authenticate_connection.
187         (Report from Serguei E. Leontiev <leo@sai.msu.ru>.)
188
189 2005-09-08  Larry Jones  <lawrence.jones@ugs.com>
190
191         * server.c (parseServerOptions): getopt() returns int, not char.
192
193 2005-09-07  Derek Price  <derek@ximbiot.com>
194
195         * rcs.c (RCS_parse): Minor reformatting.
196
197         Close <http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14462>.
198         * rcs.c (RCS_parse): Free variable *after* using it for the last time.
199
200 2005-09-06  Derek Price  <derek@ximbiot.com>
201
202         * sanity.sh (tempfile): All CVS temp files start with "cvs".
203
204         * sanity.sh (tempfile): New var.
205         (tempname): Set to $TMPDIR/$tempfile after $TMPDIR is set.
206         (info): s#$TMPDIR/##.
207
208         * rcs.c (RCS_putdtree): Remove unused variable.
209
210 2005-09-06  Mark D. Baushke  <mdb@gnu.org>
211
212         Close <https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14435>.
213         * rcs.c (RCS_putdtree): Avoid stack overflow which may be
214         possible with excessive recursive calls to RCS_putdtree().
215         (Patch from Serg Masyutin.)
216
217 2005-09-06  Derek Price  <derek@ximbiot.com>
218
219         Close <http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14448>.
220         * kerberos-client.c (start_kerberos4_server): Pass new root arg to
221         make_bufs_from_fds.
222         (Patch from <Manuel.Guijarro.AT.cern.ch>.)
223
224         * server.c: Reorganize includes slightly and alphabetize sections.
225
226         * server.c: #include canon-host.h.
227         (gserver_authenticate_connection): Print out canon-host errors.
228         * subr.c: #include canon-host.h.
229         (isThisHost): Print out canon-host errors.
230
231         * parseinfo.c (parse_config): Don't check hostname without client
232         or server support.
233
234         * main.c (main): Set cvs_cmd_name before calling parseServerOptions.
235
236 2005-09-05  Derek Price  <derek@ximbiot.com>
237
238         * cvs.h (Tmpdir): Remove global decl.
239         (get_cvs_tmp_dir, push_env_tmp_dir): New protos.
240         * filesubr.c (cvs_temp_file): Use get_cvs_tmp_dir.
241         * main.c (Tmpdir): Remove global.
242         (tmpdir_cmdline, tmpdir_env): New globals.
243         (get_cvs_tmp_dir, push_env_tmp_dir): New functions.
244         (main): Discard most tmpdir overhead in favor of new globals and
245         functions.
246         * parseinfo.c (parse_config): Parse TmpDir.
247         * sanity.sh (config4): New tests.
248         * server.c (serve_root): Set env TMPDIR after parsing config.  Create
249         tmpdir here instead of...
250         (serve_co, server): ...either of thse locations.
251         (server_cleanup): Use new function in favor of obsolete Tmpdir.
252
253         * sanity.sh (config2): Don't overwrite potentially significant config.
254
255         * sanity.sh (info): Use $tempfile instead of reproducing the regex.
256
257         * sanity.sh (info): Accept `.' in temp file names.
258
259         * main (main): Set the actual PID, not a pointer to a string.
260
261 2005-09-04  Derek Price  <derek@ximbiot.com>
262
263         * sanity.sh (config3): Generalize.
264
265         * main.c (main), server.c (serve_root, switch_to_user): Replace putenv
266         with GNULIB setenv.
267         * sanity.config.sh.in (HAVE_PUTENV): Remove.
268         * sanity.sh (env): Remove reference to $HAVE_PUTENV.
269
270         * sanity.sh (tests): Add config2 & config3.
271
272         * server.c (isSamePath, isThisHost): Move to...
273         * subr.c (isSamePath, isThisHost): ...here.
274         * subr.h (isSamePath, isThisHost): Add protos.
275         * parseinfo.c (parse_config): Handle [rootspec] syntax.
276         * main.c (main): Always set server_hostname.
277         * sanity.sh (config3): New tests for same.
278
279         * server.c (gserver_authenticate_connection): Output hostname in
280         error message.
281
282         * server.c (isThisHost): Fix typo.
283
284         * server.c (isThisHost, gserver_authenticate_connection): Simplify
285         using canon_host().
286
287         * root.c (free_cvsroot_t): Update header comment.
288
289         * root.c (new_cvsroot_t): directory is not client-specific.
290         (free_cvsroot_t): Declare static.
291         * root.h (free_cvsroot_t): Remove proto.
292         * server.c (server_init): Don't free cvsroot_t when finished with it.
293
294 2005-09-03  Derek Price  <derek@ximbiot.com>
295
296         * root.h (cvsroot_t->isremote): Update comment.
297
298         * history.c (read_hrecs_file): Suppress signed/unsigned char warning.
299
300         * root.h (cvsroot_t->isremote): Declare bool.
301         * root.c (new_cvsroot_t): Initialize isremote to false instead of 0.
302
303         * add.c (add_usage): Standardize usage message somewhat.
304
305 2005-09-02  Larry Jones  <lawrence.jones@ugs.com>
306
307         * commit.c (checkaddfile): Improve error messages for lock_RCS failure.
308         * release.c (release): Improve error message for pclose failure.
309
310         * root.h (struct cvsroot_s): Always declare isremote to simplify
311         other code.  Simplify referencing code.
312         * root.c (new_cvsroot_t): Always initialize isremote.
313         * server.h: Always declare server_active to simplify other code.
314         Simplify referencing code.
315         * server.c: Always define server_active.
316
317 2005-09-02  Larry Jones  <lawrence.jones@ugs.com>
318
319         * parseinfo.c (parse_config): Variable declarations must precede
320         executable code for pre-C99 compilers.  Pass correct line number
321         variable to expand_path.
322
323 2005-09-01  Derek Price  <derek@ximbiot.com>
324
325         * recurse.c: Update bug report email address.
326
327 2005-08-31  Derek Price  <derek@ximbiot.com>
328
329         * cvs.h (expand_path): Update proto.
330         * expand_path.c (expand_variable): Accept and use cvsroot arg inplace
331         of global.
332         (expand_path): Accept and pass through cvsroot arg.
333         * main.c (main): Prescan args for config path before config options are
334         used.  Pass config path on as needed.  Update comment. 
335         * modules.c (do_module): Update expand_path call.
336         * parseinfo.ci (Parse_Info): Ditto.
337         (allowed_config_prefixes): New global.
338         (parse_config): Accept configPath arg, update expand_path calls, and
339         expand LockDir path.
340         * parseinfo.h (parse_config): Update proto.
341         * root.c (root_allow_add, get_root_allow_config): Accept new configPath
342         arg and pass through to parse_config.
343         * root.h (root_allow_add, get_root_allow_config): Update protos.
344         * server.c (gConfigPath, server_usage): New globals.
345         (parseServerOptions): New function.
346         (server): Use new usage var.
347         (pserver_authenticate_connection): Update get_root_allow_config call.
348         * server.h (parseServerOptions): New proto.
349         * wrapper.c (wrap_add): Update expand_path calls.
350         * sanity.sh (server): New tests for setting config file path.
351
352 2005-08-31  Derek Price  <derek@ximbiot.com>
353
354         * sanity.sh (close-stdout): Remove archive dir when done.
355
356 2005-08-31  Larry Jones  <lawrence.jones@ugs.com>
357
358         * import.c (import_descend): Lock repository directory during import.
359
360 2005-08-31  Derek Price  <derek@ximbiot.com>
361
362         * server.c (isSamePath): Compare args rather than assuming values.
363
364 2005-08-29  Derek Price  <derek@ximbiot.com>
365
366         Add %{sV} format string to verifymsg script.
367         * logmsg.c (do_verify): Accept change list arg, pass through to...
368         (verifymsg_proc): ...here, to pass through to format_cmdline.
369         * commit.c (commit_fileproc, commit_direntproc), import.c (update):
370         Update all callers of do_verify.
371         * cvs.h (do_verify): Update proto.
372         * sanity.sh (info): Test new verifymsg format strings.
373
374 2005-08-09  Derek Price  <derek@ximbiot.com>
375
376         * sanity.sh: Remove debugging echo.
377         (watch6, watch6-0): Clean up properly.
378
379 2005-08-03  Jim Hyslop <jhyslop@dreampossible.ca>
380
381         * edit.c, watch.c, watch.h, sanity.sh: fixed problems with watch not
382         setting default attributes, when directory specified.
383
384 2005-07-20  Derek Price  <derek@ximbiot.com>
385
386         * main.c: s/cvshome.org/nongnu.org.etc.../.
387
388 2005-07-12  Derek Price  <derek@ximbiot.com>
389
390         * buffer.c, buffer.h, client.h, expand_path.c, history.c, myndbm.h,
391         release.c: Add copyright notices.
392
393 2005-07-12  Derek Price  <derek@ximbiot.com>
394
395         * client.c: Update fwrite usage to use size & count in the standard
396         order.
397
398 2005-07-11  Derek Price  <derek@ximbiot.com>
399
400         * buffer.c, buffer.h, client.h, expand_path.c, history.c, myndbm.h,
401         release.c: Update license notices.
402
403 2005-06-28  Derek Price  <derek@ximbiot.com>
404
405         * server.c (serve_co): Remove obsolete support for Repository request.
406
407 2005-06-10  Derek Price  <derek@ximbiot.com>
408
409         * filesubr.c, ignore.c, import.c, vers_ts.c: Include "lstat.h".
410
411 2005-06-10  Derek Price  <derek@ximbiot.com>
412
413         * logmsg.c (logmsg_list_to_args_proc): Add format character for
414         destination tag.
415         (Original patch from Todd Vierling <tv@duh.org>).
416
417         * tag.c (pretag_list_to_args_proc): Likewise.
418         (check_fileproc): Set destination tag name.
419         (tag_delproc): Delete destination tag name.
420         * sanity.sh (info, taginfo): Test new format strings.
421
422 2005-06-08  Derek Price  <derek@ximbiot.com>
423
424         * parseinfo.c: Restore comparison to NULL in assignment within
425         conditional to placate non-GNU compilers.  Eliminate assignments in
426         conditionals where possible by GNU coding standards.  Eliminate other
427         comparisons to NULL where possible.
428         (Parse_Info): Make int a true bool.
429
430 2005-06-03  Derek Price  <derek@ximbiot.com>
431
432         * client.c (force_gzip): New static global.
433         (handle_force_gzip): New function.
434         (responses): Add `Force-gzip'.
435         (start_server): Turn on encryption and compression before potentially
436         sending other rooted requests.  Turn on compression when requested by
437         the user or the server.
438         * main.c (opt_usage):  Note that -z<level> *requests* compression
439         <level> from the server.
440         * parseinfo.c (new_config):  Initialize MaxCompressionLevel.
441         (parse_config): Parse MinCompressionLevel & MaxCompressionLevel.
442         * parseinfo.h (struct config): Add MinCompressionLevel &
443         MaxCompressionLevel.
444         * server.c (pending_warning_text):  New static global.
445         (print_pending_error): Print pending warnings too.
446         (warning_pending): New macro.
447         (alloc_pending_internal): New function with much content...
448         (alloc_pending): ...previously from here.
449         (alloc_pending_warning): New function.
450         (server_root, serve_gzip_contents, gzip_stream): Force gzip_level into
451         configured restrictions.
452         (serve_command_prep): Print pending errors.
453         (requests): Make `Gzip-stream', `gzip-file-contents',
454         `Kerberos-encrypt', `Gssapi-encrypt', & `Gssapi-authenticate' requests
455         rootless to allow them before compression starts.
456         (serve_valid_requests): Send `Force-gzip' response when needed.
457         (server): Abort if a rootless compression request forced compression
458         outside restricted levels.
459         * zlib.c (struct compress_buffer, compress_buffer_initialize): Store
460         compression level.
461         (compress_buffer_output): Reset compression level when global
462         gzip_level has changed.
463         * sanity.sh (config2): New tests for compression restrictions.
464
465 2005-06-03  Derek Price  <derek@ximbiot.com>
466
467         * zlib.c (compress_buffer_input): Update comment.
468
469 2005-06-03  Derek Price  <derek@ximbiot.com>
470
471         * error.c (error): Correct spelling and grammar in comment.
472
473 2005-06-03  Derek Price  <derek@ximbiot.com>
474
475         * modules.c (my_module), wrappers.c (wrap_add): Use new expand_path
476         API.
477
478 2005-06-03  Derek Price  <derek@ximbiot.com>
479
480         * cvs.h (expand_path): Rearrange args and use bool for formatsafe flag.
481         * expand_path.c: Globally: Remove init of globals to NULL by C89,
482         reformat to CVS conventions, remove unnecessary comparisons to NULL and
483         0, & remove unnecessary typecasts.
484         (expand_variable): Remove proto and move function above first use.
485         Make return value const.
486         (expand_path): Don't refer to var when contents are known.  Rearrange
487         args per cvs.h changes.  Improve header comment block.
488         * parseinfo.c (Parse_Info): Use new expand_path API.
489
490 2005-06-02  Derek Price  <derek@ximbiot.com>
491
492         * client.c: Don't set NULL for globals by C89.  Globally remove
493         comparisons to NULL or replace with !.  Similarly remove or replace
494         comparisons of strcmp and strncmp return value to 0.  Remove some
495         unneeded braces around single-element blocks.
496         (handle_*): Remove unecessary protos.
497         (handle_notified, notified_a_file): Move up before first use.
498
499 2005-06-02  Derek Price  <derek@ximbiot.com>
500
501         * sanity.sh (config): Simplify cleanup.
502
503 2005-06-02  Derek Price  <derek@ximbiot.com>
504
505         * zlib.c (compress_buffer_input): Don't request more bytes from the
506         underlying buffer than asked for.
507         (compress_buffer_shutdown_input): Don't attempt to read EOF from the
508         client during shutdown.  It might never be sent.
509         * sanity.sh (abspath2): Test for this.
510
511 2005-05-31  Derek Price  <derek@ximbiot.com>
512
513         * rcscmds.c (call_diff_argc_allocated): Rename to...
514         (call_diff_arg_allocated): ...to match similar usage in other files.
515
516 2005-05-31  Derek Price  <derek@ximbiot.com>
517         for Alexander Taler <alex@0--0.org>
518
519         * rcscmds.c: Change type of call_diff_argc_allocated from int to
520         size_t, to match the prototype of run_add_arg_p().  This fixes a
521         bus error in OpenBSD 3.6 sparc64.
522
523 2005-05-27  Derek Price  <derek@ximbiot.com>
524
525         * client.c (send_arg): Make arg const.  Remove unnecessary copy to
526         buffer.
527         (send_option_string): Rename to...
528         (send_options): ...this and accept argc/argv in place of string.
529         * client.h: Update protos to match the changes to client.c.
530         * cvs.h (RCS_exec_rcsdiff, diff_exec): Update protos.
531         (run_add_arg_p, run_arg_free_p): New protos.
532         * diff.c (opts, opts_allocated): Replace with...
533         (diff_argv, diff_argc, diff_arg_allocated): ...these.
534         (add_diff_args): New convenience function.
535         (diff): Use new constructs and APIs.
536         * patch.c (patch_fileproc, RCS_checkin, RCS_delete_revs), rcscmds.c
537         (call_diff_add_arg, call_diff_setup, RCS_merge, RCS_exec_rcsdiff,
538         diff_exec, RCS_output_diff_options), update.c (patch_file): Use new
539         APIs.
540         * run.c (run_add_arg_p, run_arg_free_p): New functions.
541         (run_argc_allocated): Make size_t.
542         (run_setup, run_add_arg): Use new functions.
543         * sanity.sh: Accomodate above changes.
544         (rcslib-diffrgx-3): Slip in test for space splitting.
545
546 2005-05-26  Derek Price  <derek@ximbiot.com>
547
548         * subr.c (isabsolute), subr.h (isabsolute): Remove this function.
549         * root.c: Likewise, plus some reformatting.
550         * checkout.c, client.c, find_names.c, import.c, modules.c, parseinfo.c,
551         repos.c, root.c, server.c, subr.c: s/isabsolute/ISABSOLUTE/.
552
553 2005-05-26  Derek Price  <derek@ximbiot.com>
554
555         * cvs.h: Move "system.h" include before GNULIB includes.  Move some
556         GNULIB includes from "system.h".
557
558 2005-05-26  Conrad T. Pino <Conrad@Pino.com>
559
560         * buffer.c, buffer.h: Add & use typedefs for function pointer arguments
561         and struct buffer function pointers.  New typedefs are useful in casts.
562         * socket-client.c: Function pointers passed to buf_initialize use size_t
563         not int arguments.  buf_initialize warnings are gone from Windows build.
564
565 2005-05-24  Derek Price  <derek@ximbiot.com>
566
567         * client.c, entries.c, filesubr.c, hardlink.c, ignore.c, import.c,
568         lock.c, logmsg.c, mkmodules.c, rcs.c, rcscmds.c, server.c, subr.c,
569         update.c, vers_ts.c: s/CVS_STAT/stat/ & s/CVS_LSTAT/lstat/.
570
571 2005-05-23  Derek Price  <derek@ximbiot.com>
572
573         * filesubr.c (xresolvepath): Move to...
574         * subr.c (xcanonicalize_file_name): ...here and rename.  Use new
575         GNULIB canonicalize module.
576         * cvs.h (xresolvepath): Move proto...
577         * subr.h (xcanonicalize_file_name): ...here.
578         * checkout.c (safe_location), server.c (isSamePath): Use new function
579         name.
580
581 2005-05-23  Derek Price  <derek@ximbiot.com>
582
583         * sanity.sh (rcslib-symlink-10): Accept empty result due to broken glob
584         in glibc 2.3.5.
585
586 2005-05-18  Derek Price  <derek@ximbiot.com>
587
588         * sanity.sh (config-9): Split to local/remote tests to avoid unportable
589         expr characters.
590
591 2005-05-17  Derek Price  <derek@ximbiot.com>
592
593         * sanity.sh: Use a predictable umask.
594
595 2005-05-13  Derek Price  <derek@ximbiot.com>
596
597         * login.c (password_entry_parseline): Placate gcc -Wall.
598
599 2005-05-11  Derek Price  <derek@ximbiot.com>
600
601         * cvs.h (find_files): New proto.
602         * find_names.c (find_files, strip_rcsext): New functions.
603         (find_rcs): Make arg const.  Use new find_files.  Improve header
604         comment block.
605         * history.c (histfile): Remove global.
606         (get_history_log_name): New function.
607         (history, history_write): Use new functions.
608         (read_hrecs_file): New function containing most content from...
609         (read_hrecs): ...this function, which now accepts a file list and calls
610         read_hrecs_file once for each file.
611         * parseinfo.c (parse_config): Parse HistoryLogPath & HistorySearchPath.
612         * parseinfo.h (struct config): Add HistoryLogPath & HistorySearchPath.
613         * sanity.sh (basic2-64): Remove obsolete comment.
614         (config): Test new history options.
615         (crerepos): Cleanup.
616
617 2005-05-09  Derek Price  <derek@ximbiot.com>
618
619         * error.c (error): Avoid unportable calls to vsyslog.
620
621 2005-05-09  Derek Price  <derek@ximbiot.com>
622
623         * history.c (history_write): Add FIXME.
624
625 2005-05-09  Derek Price  <derek@ximbiot.com>
626
627         * hash.c (removenode, mergelists): New function.
628         (delnode): Use removenode.
629         * hash.h (mergelists): New proto.
630
631 2005-05-04  Derek Price  <derek@ximbiot.com>
632
633         * error.c (error): Avoid recursion and syslog the problem.
634
635 2005-05-03  Derek Price  <derek@ximbiot.com>
636
637         * tag.c (is_in_val_tags): Remove unnecessary existance checking for the
638         val-tags file and just rely on open() to create it when necessary.
639
640 2005-05-03  Derek Price  <derek@ximbiot.com>
641
642         * tag.c (tag_check_valid): Don't verify the_val_args.found when it is
643         not initialized.
644
645 2005-05-03  Derek Price  <derek@ximbiot.com>
646
647         * add.c: Update comment to include the -k option.  This resolves issue
648         #226 on cvshome.org.
649
650 2005-05-02  Derek Price  <derek@ximbiot.com>
651
652         Remove unnecessary level of indirection.
653         * lock.c (L_HISTORY_LOCK, L_VAL_TAGS_LOCK): Remove macros.
654         (internal_lock, internal_clear_lock): Accept lock as argument.
655         (history_lock, clear_history_lock, val_tags_lock, clear_val_tags_lock):
656         Replace old macro arg with an actual lock pointer.
657
658 2005-05-02  Derek Price  <derek@ximbiot.com>
659
660         * lock.c (internal_lock, internal_clear_lock): Add protos.
661         (history_lock, val_tags_lock): Return the chartered true/false status.
662
663 2005-05-02  Derek Price  <derek@ximbiot.com>
664
665         * cvs.h (CVSHISTLCK): Rename macro to...
666         (CVSHISTORYLCK): ...this.
667         (CVSVALTAGSLCK): New macro.
668         (val_tags_lock, clear_val_tags_lock): New functions.
669         * lock.c (global_val_tags_lock): New global.
670         (Lock_Cleanup): Clean up after val-tags lock if necessary.
671         (L_HISTORY_LOCK, L_VAL_TAGS_LOCK): New local macros.
672         (internal_lock, val_tags_lock, clear_val_tags_lock): New functions.
673         (history_lock): Use new internal function.
674         * tag.c (is_in_val_tags, add_to_val_tags): New functions using the
675         write lock for val-tags and factored from...
676         (tag_check_valid): ...this function.
677         * sanity.sh (lockfiles-22): Add val-tags lock test.
678
679 2005-04-30  Mark D. Baushke  <mdb@cvshome.org>
680
681         * lock.c (global_readlock, global_writelock, global_history_lock):
682         Add missing alternatives for non-LOCK_COMPATIBILITY initialization.
683
684 2005-04-28  Derek Price  <derek@ximbiot.com>
685
686         * cvs.h (history_lock, clear_history_lock): New protos.
687         * lock.c (struct lock): Add lockdirname.
688         (global_history_lock): New global.
689         (global_read_lock): Initialize.
690         (lock_name): Handle const args.
691         (lock_simple_remove): Factor out code in favor of clear_lock call.
692         (set_lock): Handle variable lockdirname.
693         (lock_filesdoneproc): Set new lockdirname.
694         (history_lock, clear_history_lock): New functions.
695         (clear_lock): Avoid segfault on missing lock.
696         (Lock_Cleanup): Clean up history locks when necessary.
697         * history.c (history_write): Use new lock.
698         * sanity.sh (lockfiles-20): Test new lock.
699
700 2005-04-28  Derek Price  <derek@ximbiot.com>
701
702         * sanity.sh (lockfiles): Port some locking tests over from 1.12.x.
703
704 2005-04-28  Derek Price  <derek@ximbiot.com>
705
706         * lock.c (clear_lock): Improve comment.
707
708 2005-04-28  Derek Price  <derek@ximbiot.com>
709
710         * lock.c (struct lock): Store lockdir name.
711         (masterlock): Remove global.
712         (remove_lock_files, clear_lock, set_lock): Update to compensate.
713
714 2005-04-25  Mark D. Baushke  <mdb@cvshome.org>
715
716         * server.c: Add support for <pam/pam_appl.h> to allow
717         --enable-pam to work on MacOSX 10.2 and newer.
718         (Pach from Moriyoshi Koizumi <moriyoshi@at.wakwak.com>.)
719
720 2005-04-25  Derek Price  <derek@ximbiot.com>
721
722         * mkmodules.c (mkmodules): Remove `#if 0' and reformat comment.
723
724 2005-04-22  Mark D. Baushke  <mdb@cvshome.org>
725
726         * expand_path.c (expand_variable): Add SESSIONID and COMMITID
727         internal variables. Both return the unique global session id of
728         the CVS process. Passing this information to administrative
729         triggers seems reasonable. (The same feature exists in CVSNT and
730         the names were chosen to be the same as the CVSNT names.)
731
732         * sanity.sh (info): Add a test for $COMMITID and $SESSIONID.
733
734 2005-04-20  Mark D. Baushke  <mdb@cvshome.org>
735
736         * sanity.sh (rcs4): Fix a typo.
737
738 2005-04-20  Derek Price  <derek@ximbiot.com>
739
740         * sanity.sh (rcs5): Minor cosmetic change.
741
742 2005-04-20  Derek Price  <derek@ximbiot.com>
743
744         * sanity.sh (tests): Add rcs4.
745         (rcs5): Add comments.
746
747 2005-04-20  Derek Price  <derek@ximbiot.com>
748
749         * rcs.c (expand_keywords): Avoid buffer overflow.
750         (Original patch from Stewart Brodie <stewart@eh.org>.)
751
752         * sanity.sh (rcs5): New tests for the above.
753
754 2005-04-08  Derek Price  <derek@ximbiot.com>
755
756         * edit.c (edit_fileproc, unedit_fileproc): s/GMT/-0000/.
757         * rcs.c (RCS_getrevtime): Ditto, & replace a sprintf into a static
758         buffer with an Xasprintf which creates a dynamic one.
759         * sanity.sh: Update tests to compensate.
760         (Original bug report from Ian Abbott <abbotti@mev.co.uk>.)
761
762 2005-03-26  Mark D. Baushke  <mdb@cvshome.org>
763
764         * checkout.c (checkout_proc): Use Xasprintf/xstrdup instead of
765         xmalloc/strcpy+strcat.
766
767 2005-03-22  Mark D. Baushke  <mdb@cvshome.org>
768
769         * Makefile.in: Regenerated.
770
771 2005-03-22  Mark D. Baushke  <mdb@cvshome.org>
772
773         * rcs.c (linevector_add): Use xnrealloc.
774         * server.c (serve_argument): Ditto.
775
776 2005-03-22  Mark D. Baushke  <mdb@cvshome.org>
777
778         * rcs.c (linevector_copy): Use xtimes in argument.
779
780         * patch.c (patch): Remove dead code.
781
782         * lock.c (set_readlock_name): Use Xasprintf instead of
783         xmalloc/sprintf.
784         (lock_exists, set_promotable_lock, lock_wait): Ditto.
785         (lock_obtained, lock_dir_for_write): Ditto.
786         * log.c (rlog_proc): Ditto.
787
788         * ignore.c (ign_dir_add): Use xnrealloc.
789         * modules.c (save_d): Ditto.
790         * rcs.c (linevector_copy): Ditto.
791
792         * add.c (add): Use xstrdup instead of xmalloc/strcpy.
793         * client.c (client_process_import_file): Ditto.
794         * kerberos4-client.c (start_kerberos4_server): Ditto.
795         * logmsg.c (verifymsg_proc): Ditto.
796         * log.c (log_expand_revlist): Ditto.
797         * patch.c (patch_fileproc): Ditto.
798         * rcs.c (RCS_tag2rev, RCS_nodeisbranch, RCS_getbranch): Ditto.
799         (RCS_getdatebranch, expand_keywords, RCS_addbranch): Ditto.
800         (RCS_checkin): Ditto.
801         * remove.c (remove_fileproc): Ditto.
802
803 2005-03-18  Derek Price  <derek@ximbiot.com>
804
805         * server.c: Reindent pragmas.
806         (become_proxy): Add parentheses for -Wall.
807
808 2005-03-18  Derek Price  <derek@ximbiot.com>
809
810         * error.c (error): Simplify using vasnprintf.
811
812 2005-03-17  Mark D. Baushke  <mdb@cvshome.org>
813
814         * admin.c (postadmin_proc): Cast NULL when it is an argument to
815         stdarg function to ensure it is the correct type.
816         * commit.c (precommit_proc): Ditto.
817         * edit.c (notify_proc): Ditto.
818         * fileattr.c (postwatch_proc): Ditto.
819         * logmsg.c (logfile_write, verifymsg_proc): Ditto.
820         * server.c (prepost_proxy_proc): Ditto.
821         * subr.c (cmdlineescape): Ditto.
822         * tag.c (posttag_proc): Ditto.
823         (Thanks to a report from Derek Price <derek@ximbiot.com>.)
824         
825 2005-03-17  Derek Price  <derek@ximbiot.com>
826
827         * rcs.h (RCSNode): Improve comment.
828         * rcs.c (RCS_head): Ditto, plus gratuitous reformatting.
829
830 2005-03-17  Derek Price  <derek@ximbiot.com>
831
832         * rcs.c (RCS_deltas): Use rcs->print_path.
833
834 2005-03-17  Derek Price  <derek@ximbiot.com>
835
836         * login.c (password_entry_parseline): Avoid using uninitialized
837         variable.
838         * rcs.c (RCS_deltas): Avoid buffer overflow.
839         (RCS_checkout): Avoid using uninitialized loglen.
840         * patch.c (patch_fileproc): Free original pointer, not one that may
841         have been incremented.
842         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
843
844 2005-03-17  Derek Price  <derek@ximbiot.com>
845
846         * commit.c (checkaddfile): Avoid dereferencing a NULL pointer in
847         response to a rare error.
848         * admin.c (admin_fileproc), log.c (log_expand_revlist), mkmodules.c
849         (checkout_file), rcs.c (RCS_getdate, RCS_deltas, RCS_findlock_or_tip,
850         RCS_tag2rev): Avoid dereferencing NULL pointer.
851         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
852
853 2005-03-17  Derek Price  <derek@ximbiot.com>
854
855         * rcs.c (RCS_reparsercsfile): Avoid memory leak.
856         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
857
858 2005-03-17  Derek Price  <derek@ximbiot.com>
859
860         * log.c (log_expand_revlist): Suppress message and not error handling
861         when really_quiet.
862
863 2005-03-16  Mark D. Baushke  <mdb@cvshome.org>
864
865         * buffer.c (fd_buffer_shutdown): Replace (int *) 0 with NULL.
866         * server.c (do_cvs_command): Ditto.
867
868         * client.c (update_entries): Use xnmalloc.
869
870         * checkin.c (Checkin): Replace (char *) 0 with NULL.
871         * patch.c (patch_fileproc): Ditto.
872         * update.c (update_fileproc): Ditto.
873         * no_diff.c (No_Difference): Ditto.
874         * patch.c (patch_fileproc): Ditto.
875         * rcscmds.c (call_diff_setup, call_diff_add_arg): Ditto.
876
877         * update.c (join_file): Replace (RCSCHECKOUTPROC)0 with NULL.
878         * rcs.c (RCS_checkin, RCS_cmp_file, RCS_delete_revs) 
879         (RCS_delete_revs): Ditto.
880         * rcscmds.c (RCS_merge, RCS_exec_rcsdiff): Ditto.
881         
882         * annotate.c, checkin.c, classify.c, fileattr.c, find_names.c,
883         hash.c, lock.c, login.c, logmsg.c, main.c, modules.c, myndbm.c,
884         no_diff.c, patch.c, rcs.c, rcscmds.c, remove.c, server.c,
885         status.c, subr.c, tag.c, update.c, vers_ts.c: Avoid casting NULL.
886
887 2005-03-17  Derek Price  <derek@ximbiot.com>
888
889         * client.c (call_in_directory): Put function call after var decls.
890
891 2005-03-16  Derek Price  <derek@ximbiot.com>
892
893         * client.c (call_in_directory), commit.c (commit_filesdoneproc), log.c
894         (log_expand_revlist, log_version), logmsg.c (logfile_write), modules
895         (my_module), no_diff.c (No_Difference), parseinfo.c (Parse_Info), rcs.c
896         (RCS_deltas, RCS_checkin, RCS_addbranch, do_locks, do_symbols),
897         rcscmds.c (RCS_merge), root.c (parse_cvsroot, normalize_cvsroot),
898         update.c (merge_file): Verify assumptions via assertions.
899         (Thanks to (probably) incorrect reports from Alen Zukich
900         <alen.zukich@klocwork.com>.)
901
902 2005-03-16  Mark D. Baushke  <mdb@cvshome.org>
903
904         * rcs.c (RCS_check_kflag): Use Xasprintf instead of
905         sprintf/xstrdup.
906
907         * mkmodules.c (checkout_file): Use Xasprintf instead of
908         xmalloc/strcpy+strcat.
909         * wrapper.c (wrap_unparse_rcs_options): Ditto.
910         (wrap_rcsoption): Ditto.
911
912         * subr.c (getcaller): Use Xasprintf instead of sprintf/xstrdup.
913
914         * history.c (history): Use Xasprintf instead of xmalloc/sprintf.
915         * lock.c (lock_name, set_lockers_name): Ditto.
916         * main.c (cmd_synonyms, main): Ditto.
917         * mkmodules.c (rename_rcsfile, init): Ditto
918         * modules.c (cat_module): Ditto.
919         * parseinfo.c (Parse_Info): Ditto.
920         * rcscmds.c (diff_exec, RCS_output_diff_options): Ditto.
921         * recurse.c (start_recursion, do_dir_proc): Ditto.
922         * remove.c (remove_fileproc): Ditto.
923         * repos.c (Name_Repository): Ditto.
924         * root.c (Name_Root, Create_Root): Ditto.
925         * status.c (status_fileproc, tag_list_proc): Ditto. 
926         * wrapper.c (wrap_setup, wrap_tocvs_process_file): Ditto.
927
928         * hash.c (sortlist): Use xnmalloc.
929         * main.c (cmd_synonyms): Ditto.
930         * server.c (cvs_pam_conv): Ditto.
931
932         * create_adm.c (Create_Admin): Clean up use of Xasprintf/xstrdup.
933         * entries.c (WriteTag, base_walk): Ditto.
934         * modules.c (my_module): Ditto.
935
936         * wrapper.c (wrap_fromcvs_process_file): Use Xasprintf instead of
937         xmalloc/sprintf and clean up control flow.
938
939 2005-03-16  Derek Price  <derek@ximbiot.com>
940
941         * history.c (history_write): Remove test that always evaluates to
942         false.
943
944 2005-03-16  Derek Price  <derek@ximbiot.com>
945
946         * server.c (become_proxy): Close pipe to primary when pipe from it
947         closes.
948
949 2005-03-16  Mark D. Baushke  <mdb@cvshome.org>
950
951         * sanity.sh (debug-log-nonfatal): Only set CVS_CLIENT_LOG to the
952         old value if it was previously set.
953
954 2005-03-16  Derek Price  <derek@ximbiot.com>
955
956         * server.c (create_adm_p, serve_entry), tag.c (rtag_proc): Avoid memory
957         leaks.
958         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
959
960 2005-03-16  Derek Price  <derek@ximbiot.com>
961
962         * logmsg.c (do_verify): Don't check for NULL return from xfopen().
963
964 2005-03-16  Derek Price  <derek@ximbiot.com>
965
966         * sanity.sh (debug-log-nonfatal): New test.
967
968 2005-03-16  Derek Price  <derek@ximbiot.com>
969
970         * sanity.sh (writeproxy-ssh-noredirect): Don't unconditionally create
971         a primary debug log.
972
973 2005-03-16  Derek Price  <derek@ximbiot.com>
974
975         * cvs.h (open_file): Move proto...
976         * subr.h (xfopen): ...here and rename.
977         * filesubr.c (open_file): Move function...
978         * subr.c (xfopen): ...here, with additional commenting and minor
979         cosmetic changes.
980         * add.c, checkout.c, client.c, cvsrc.c, edit.c, entries.c, filesubr.c,
981         logmsg.c, mkmodules.c, modules,c, patch.c, root.c, subr.c:
982         s/open_file/xfopen/.
983
984 2005-03-16  Derek Price  <derek@ximbiot.com>
985
986         * log-buffer.c (setup_logfiles): Failure to open a debug log file
987         should be non-fatal.
988
989 2005-03-16  Derek Price  <derek@ximbiot.com>
990
991         * server.c (cvs_outerr): Quote error text in syslog messages.
992
993 2005-03-15  Mark D. Baushke  <mdb@cvshome.org>
994
995         * history.c (select_hrec): Avoid possible memory leak.
996
997 2005-03-15  Derek Price  <derek@ximbiot.com>
998
999         * patch.c (patch_proc): Avoid memory leak.
1000         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
1001
1002 2005-03-12  Mark D. Baushke  <mdb@cvshome.org>
1003
1004         * server.c (receive_partial_file): Use ssize_t to deal with < 0
1005         return value from write().
1006
1007 2005-03-12  Mark D. Baushke  <mdb@cvshome.org>
1008
1009         * history.c (save_file): Bug fix from last change.
1010
1011 2005-03-11  Mark D. Baushke  <mdb@cvshome.org>
1012
1013         * update.c (get_linkinfo_proc): Use Xasprintf instead of
1014         xmalloc/sprintf.  Gratuitous reformatting.
1015         (update_ignproc, update_dirent_proc, checkout_file): Ditto.
1016         (patch_file, merge_file, join_file): Ditto.
1017         * modules.c (open_module): Ditto.
1018
1019         * modules (my_module): Use Xasprintf instead of xmalloc/sprintf
1020         and avoid possibility of trying to free(NULL).
1021
1022         * subr.c (backup_file): Use Xasprintf instead of xmalloc/sprintf.
1023         (cmdlinequote): Use Xasprintf instead of xmalloc/strcat+strlen.
1024         * modules.c (my_module): Ditto.
1025
1026         * client.c (handle_module_expansion): Use xnmalloc, xnrealloc,
1027         and xstrdup in place of xmalloc, xrealloc, and xmalloc/strcpy.
1028         (start_server): Do not assume gzip_level precision encoding.
1029         (send_modified): Do not assume 1024 bytes is sufficient for
1030         a temporary filename.
1031
1032         * modules.c (my_module): Use xnmalloc and xnrealloc. Gratuitous
1033         reformatting.
1034         * subr.c (line2argv): Ditto.
1035
1036 2005-03-11  Mark D. Baushke  <mdb@cvshome.org>
1037
1038         * modules.c (my_module): Protect against free (NULL) code path.
1039
1040 2005-03-11  Derek Price  <derek@ximbiot.com>
1041
1042         * annotate.c (rannotate_proc), fileattr.c (fileattr_write), rcs.c
1043         (RCS_deltas), server.c (check_repository_password), update.c (update):
1044         Avoid memory leaks.
1045         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
1046
1047 2005-03-10  Derek Price  <derek@ximbiot.com>
1048
1049         * diff.c (diff_fileproc): Remove unnecessary check for NULL.
1050
1051 2005-03-10  Mark D. Baushke  <mdb@cvshome.org>
1052
1053         * commit.c: Gratuitous reformatting.
1054         * entries.c: Ditto.
1055         * import.c (import, import_descend): Ditto.
1056
1057         * commit.c (commit): Use xnmalloc. Gratuitous reformatting.
1058         * history.c (save_user, save_file, save_module, read_hrecs): Ditto.
1059         * ignore.c (ign_add): Ditto.
1060
1061         * hardlink.c (lookup_file_by_inode): Use Xasprintf instead of
1062         xmalloc/sprintf.  Gratuitous reformatting.
1063         (update_hardlink_info, list_linked_files_on_disk): Ditto.
1064         (find_checkedout_proc): Ditto.
1065         * history.c (history, history_write, save_file): Ditto.
1066         (select_hrec): Ditto. 
1067         * ignore.c (ign_setup, ignore_files): Ditto.
1068         * import.c (process_import_file, import_descend_dir): Ditto.
1069
1070         * import.c (import_descend_dir): Use Xasprintf instead of
1071         xmalloc/strcpy+strcat+strcat.
1072
1073         * history.c (read_hrecs): Make function argument a const.
1074         
1075 2005-03-10  Derek Price  <derek@ximbiot.com>
1076
1077         * fileattr.c (fileattr_read): Only eat a newline when it really is a
1078         newline.
1079
1080 2005-03-10  Mark D. Baushke  <mdb@cvshome.org>
1081
1082         * zlib.c: Include "pagealign_alloc.h".
1083
1084 2005-03-09  Derek Price  <derek@ximbiot.com>
1085
1086         * add.c (add, add_directory), buffer.c (allocate_buffer_datas),
1087         client.c (update_entries), commit.c (checkaddfile), entries.c
1088         (Entries_Open), fileattr.c (fileattr_read), ignore.c (ign_add),
1089         import.c (import), main.c (main), parseinfo.c (parse_config), rcs.c
1090         (RCS_reparsercsfile, RCS_getbranchpoint, RCS_checkout,
1091         RCS_delete_revs, apply_rcs_changes): Avoid memory leaks.
1092         (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
1093
1094         * hardlink.c, hardlink.h: Avoid compiling entire contents of these
1095         files w/o preserve permissions support.
1096
1097 2005-03-09  Mark D. Baushke  <mdb@cvshome.org>
1098
1099         * history.c (history, save_file): Cleanup the API to match the
1100         comments.
1101
1102 2005-03-08  Derek Price  <derek@ximbiot.com>
1103
1104         * rcs.c: Define MAP_FILE & MAP_FAILED when necessary.
1105
1106 2005-03-08  Derek Price  <derek@ximbiot.com>
1107
1108         * zlib.c (compress_buffer_input): Use pagealign_xalloc when allocating
1109         buffer datas.
1110         (compress_buffer_output, compress_buffer_flush,
1111         compress_buffer_shutdown_output): Don't assume that BUFFER_DATA_SIZE is
1112         a constant.
1113         (Thanks to report from Larry Jones <lawrence.jones@ugs.com>.)
1114
1115 2005-03-08  Larry Jones  <lawrence.jones@ugs.com>
1116
1117         * release.c (release): Remove unneeded code.
1118
1119 2005-03-07  Conrad T. Pino  <Conrad@Pino.com>
1120
1121         * buffer.h (buf_free_data): Compile with proxy disabled.
1122         (Thanks to report from Larry Jones <lawrence.jones@ugs.com>.)
1123
1124 2005-03-07  Mark D. Baushke  <mdb@cvshome.org>
1125
1126         * add.c (add_directory): Xasprintf instead of xmalloc/sprintf+strcat.
1127         * admin.c (arg_add): Ditto.
1128         (admin_fileproc, postadmin_proc, admin_fileproc): Gratuitous
1129         reformatting.
1130
1131         * client.c (mode_to_string): Use Xasprintf.
1132         
1133         * checkout.c (checkout): Xasprintf instead of xmalloc/sprintf.
1134         Gratuitous reformatting.
1135         * entries.c (WriteTag): Ditto
1136         (subdir_record, base_walk): Ditto.
1137         * fileattr.c (fileattr_read, fileattr_set, fileattr_write): Ditto.
1138         * filesubr.c (deep_remove_dir, cvs_temp_file): Ditto.
1139         (strcat_filename_onto_homedir): Ditto.
1140         * find_names.c (Find_Names): Ditto.
1141
1142         * filesubr.c (expand_wild): Use xnmalloc instead of xmalloc.
1143
1144 2005-03-07  Derek Price  <derek@ximbiot.com>
1145
1146         * buffer.c (buf_free_data): Compile with proxy disabled.
1147         (Thanks to report from Larry Jones <lawrence.jones@ugs.com>.)
1148
1149 2005-03-07  Derek Price  <derek@ximbiot.com>
1150
1151         * buffer.c (packetizing_buffer_input, packetizing_buffer_output): Don't
1152         assume BUFFER_DATA_SIZE is a constant.
1153         (Thanks to report from Larry Jones <lawrence.jones@ugs.com>.)
1154
1155 2005-03-03  Derek Price  <derek@ximbiot.com>
1156
1157         Use new pagealign_alloc() and pagealign_free() functions in
1158         lieu of maintaining pointers for reuse.  On most systems this should be
1159         faster.
1160         * buffer.c: Include "pagealign_alloc.h".
1161         (free_buffer_data): Remove this global.
1162         (allocate_buffer_datas): Remove this function.
1163         (buf_free, buf_send_output): Call buf_free_data().
1164         (get_buffer_data): Use pagealign_alloc().
1165         (buf_free_datas): New function.
1166         (buf_send_output, buf_free_data, buf_read_file, buf_read_file_to_eof,
1167         buf_read_short_line, buf_read_data, buf_copy_counted): Call
1168         buf_free_datas().
1169         * buffer.h: Include "getpagesize.h".
1170         (BUFFER_DATA_SIZE): Default to getpagesize ();
1171         * rcs.c: Lean on m4/mmap-anon.m4 to simplify mmap setup.
1172
1173 2005-03-02  Jim Meyering  <jim@meyering.net>
1174
1175         Detect and report write failure for e.g., cvs up -p FILE > /dev/full
1176         * main.c: Include "closeout.h".
1177         (main): Arrange to close standard output upon exit.
1178         * sanity.sh (close-stdout): New test for this fix.
1179
1180 2005-03-01  Mark D. Baushke  <mdb@cvshome.org>
1181
1182         * checkout.c (emptydir_name): Xasprintf instead of
1183         xmalloc/sprintf.
1184
1185         * add.c (add): Xasprintf instead of xmalloc/sprintf.
1186         Gratuitous reformatting.
1187         (add_directory, build_entry): Ditto.
1188         * annotate.c (rannotate_proc): Ditto.
1189         * checkout.c (checkout_proc): Ditto.
1190         * client.c (call_in_directory): Ditto.
1191         (template, send_dirent_proc): Ditto.
1192         (client_process_import_file): Ditto.
1193         * commit.c (check_fileproc, precommit_proc): Ditto.
1194         (commit_fileproc, finaladd): Ditto.
1195         (checkaddfile): Ditto.
1196         * create_adm.c (Create_Admin): Ditto.
1197         * edit.c (notify_do): Ditto.
1198
1199 2005-03-01  Derek Price  <derek@ximbiot.com>
1200
1201         * subr.c (get_date): Minor reformatting.
1202
1203 2005-03-01  Derek Price  <derek@ximbiot.com>
1204
1205         * subr.c (get_date): Replace obsolete timeb cruft in this stub.
1206
1207 2005-02-28  Mark D. Baushke  <mdb@cvshome.org>
1208
1209         * admin.c (arg_add): Use xnmalloc and xnrealloc.
1210         (admin): Use xnmalloc. Minor reformatting.
1211         Xasprintf instead of xmalloc/strcpy+strcat.
1212         * client.c (client_expand_modules): Use xnmalloc.
1213         Minor reformatting.
1214         * cvsrc.c (read_cvsrc): Use xnmalloc and xnrealloc.
1215         Minor reformatting.
1216         * history.c (read_hrecs): Use xnrealloc. Minor reformatting.
1217         * ignore.c (ign_add): Use xnrealloc. Minor reformatting.
1218         * rcscmds.c (call_diff_add_arg): Use xnrealloc.
1219         * wrapper.c (wrap_add_entry): Use xnrealloc. Gratuitous
1220         reformatting.
1221
1222 2005-02-28  Derek Price  <derek@ximbiot.com>
1223
1224         * edit.c (notify_proc), logmsg.c (logfile_write): Minor reformatting.
1225
1226 2005-02-28  Derek Price  <derek@ximbiot.com>
1227
1228         * root.c (parse_root): Trigger a later error message rather than
1229         maintaining two copies.
1230
1231 2005-02-27  Mark D. Baushke  <mdb@cvshome.org>
1232
1233         * client.c (connect_to_pserver): Use TRACE_FUNCTION, not 1 in
1234         TRACE() calls.
1235         (connect_to_pserver,send_modified): Ditto.
1236         * create_adm.c (Create_Admin): Ditto.
1237         * entries.c (Register, Scratch_Entry, WriteTemplate): Ditto.
1238         * filesubr.c (copy_file, xchmod, rename_file): Ditto.
1239         * history.c (history_write): Ditto.
1240         * kerberos4-client.c (start_kerberos4_server): Ditto.
1241         * no_diff.c (No_Difference): Ditto.
1242         * parseinfo.c (Parse_Info): Ditto.
1243         * rcs.c (RCS_checkout): Ditto.
1244         * server.c (server_register): Ditto.
1245         * update.c (join_file): Ditto.
1246
1247         * no_diff.c (No_Difference): Gratuitous reformatting.
1248         * kerberos4-client.c (start_kerberos4_server): Ditto.
1249
1250 2005-02-27  Jim Meyering  <jim@meyering.net>
1251
1252         * login.c (password_entry_operation): Exit nonzero when
1253         failing to close a just-appended-to .cvspass file.
1254
1255 2005-02-26  Derek Price  <derek@ximbiot.com>
1256
1257         * root.c: Gratuitous reformatting.
1258
1259 2005-02-26  Mark D. Baushke  <mdb@cvshome.org>
1260
1261         * root.c (parse_cvsroot): Handle another Bad CVSROOT.
1262         * sanity.sh (parseroot-8r): Test for it.
1263         (Problem report from Hiroyuki Ikezoe <poincare@ikezoe.net>.)
1264
1265 2005-02-26  Derek Price  <derek@ximbiot.com>
1266
1267         * server.c: Include netdb.h with server support.  Other reformatting.
1268
1269 2005-02-25  Derek Price  <derek@ximbiot.com>
1270
1271         * sanity.sh (multiroot2-9a): Correct for new TRACE message.
1272
1273 2005-02-25  Derek Price  <derek@ximbiot.com>
1274
1275         * cvs.h (tag_check_valid): Declare NAME arg const.
1276         * tag.c (tag_check_valid): Ditto, update to account for this.
1277         Xasprintf instead of xmalloc/sprintf.
1278
1279 2005-02-25  Derek Price  <derek@ximbiot.com>
1280
1281         * client.c (send_modified): Suppress a -Wall warning.
1282
1283 2005-02-25  Derek Price  <derek@ximbiot.com>
1284
1285         * cvs.h (global_session_id): New global declaration.
1286         * import.c (add_rcs_file), rcs.c (RCS_checkin): Save commitid.
1287         * log.c (log_version), status.c (status_fileproc): Output commitid.
1288         * main.c (global_session_id): Define new global.
1289         (main): Create session ID.
1290         * sanity.sh: Update to compensate.
1291         (Original patch from Frank Hemer <frank@hemer.org>.)
1292
1293 2005-02-24 Derek Price <derek@ximbiot.com>
1294
1295         * subr.h (cvs_trace, TRACE*): Move to...
1296         * server.h: ...here.
1297         * subr.c: Ditto, but to...
1298         * server.c: ...here, and print out 'P' instead of 'S' for traces from
1299         secondary (proxy) servers.
1300
1301 2005-02-24 Derek Price <derek@ximbiot.com>
1302
1303         * admin.c (admin): Suppress warning with -Wall and --disable-client.
1304         * server.c: Don't declare functions that won't be defined when
1305         --disable-server.
1306
1307 2005-02-24 Derek Price <derek@ximbiot.com>
1308
1309         * sanity.sh (primary-wrapper): Rename CVS_SERVER_LOG for the primary in
1310         writeproxy mode to avoid overwriting.
1311
1312 2005-02-24 Derek Price <derek@ximbiot.com>
1313
1314         * client.c (open_connection_to_server): Fail with an expressive error
1315         message when connection is attempted via an unsupported protocol since
1316         this is no longer caught in parse_root().
1317         * edit.c (edit_fileproc), import.c (import): Don't verify
1318         current_parsed_root->isremote without client support.
1319         * parseinfo.c (parse_config): Parse PrimaryServer without proxy
1320         support.  Postpone method verification until the connect phase.
1321         * parseinfo.h (struct config): Always include PrimaryServer.
1322         * root.c (primary_root_translate, primary_root_inverse_translate):
1323         Don't declare vars without PROXY_SUPPORT when they won't be used.
1324         (parse_cvsroot): Parse remote connection methods with server support
1325         for PrimaryServer/Redirects.  Delay method support verification until
1326         the connect phase.
1327         * root.h (cvsroot_t): Include remote elements with SERVER_SUPPORT.
1328         * server.c (isProxyServer): Delay method verification until the connect
1329         phase.
1330
1331 2005-02-23 Derek Price <derek@ximbiot.com>
1332
1333         * tag.c (tag): Handle -r<tag>:<date>.
1334         * sanity.sh (tagdate-13.*): New tests.
1335
1336 2005-02-23 Derek Price <derek@ximbiot.com>
1337
1338         * annotate.c (annotate), ls.c (ls): Handle -r<tag>:<date>.
1339
1340 2005-02-23 Derek Price <derek@ximbiot.com>
1341
1342         * diff.c: Some reformatting.
1343         (diff): Handle -r<tag>:<date>.
1344         * sanity.sh (tagdate-13b): New test.
1345
1346 2005-02-23 Derek Price <derek@ximbiot.com>
1347
1348         * checkout.c (checkout): Use parse_tagdate.
1349         * tag.c (tag_check_valid_join): Remove this function.
1350         * cvs.h (tag_check_valid_join): Ditto for the proto.
1351         (parse_tagdate): New proto.
1352         (Make_Date): Make arg const.
1353         * main.c (Make_Date): Ditto.
1354         (parse_tagdate): New function.
1355         * update.c (date_rev1, date_rev2): Rename these globals...
1356         (join_date1, join_date2): ...to this.
1357         (update): Use parse_tagdate.
1358         (do_update): Use new API.
1359         * update.h (do_update): Update proto.
1360         * sanity.sh: Misc reformatting.
1361         (tagdate-12): This test now passes.
1362         (tagdate-12b): New test.
1363         (multiroot-9a): Handle new TRACE.
1364
1365 2005-02-23 Derek Price <derek@ximbiot.com>
1366
1367         * rsh-client.c (start_rsh_server): Update comment.  Replace
1368         malloc/sprintf combo with a call to Xasprintf.
1369
1370 2005-02-22 Derek Price <derek@ximbiot.com>
1371
1372         * error.c (error): Handle unsigned int format char.
1373         * parseinfo.c (parse_error): New function.
1374         (parse_config): Keep track of line number and output it in error
1375         messages.
1376         * rcs.c (RCS_setlocalid): Accept file path and line number for error
1377         messages.  Add header comment block.
1378         * rcs.h (RCS_setlocalid): Update prototype to match.
1379         * parseinfo.h (parse_error): Declare new function.
1380         * sanity.sh: Accept new --noredirect argument.
1381         (checklongoptarg): Accept longoptmode as an argument
1382         rather than via an environment variable.
1383         (notnoredirect): New function.
1384         (newroot): Handle root options.
1385         (keywordexpand, config): Skip in noredirect mode.  Update for new
1386         config error messages.
1387         (multiroot): Some reformatting.
1388         (writeproxy, writeproxy-noredirect): Skip in noredirect mode.
1389         (commit, writeproxy-noredirect): Quote CVSROOT arguments since they
1390         might contain semicolons.
1391
1392 2005-02-21  Mark D. Baushke  <mdb@cvshome.org>
1393
1394         * import.c (import): Avoid using assert with side effects it may
1395         be configured away using NDEBUG.
1396         (Patch from Frank Hemer <frank@hemer.org>.)
1397
1398 2005-02-20  Mark D. Baushke  <mdb@cvshome.org>
1399
1400         * main.c (main): Check the results from xgethostname(). Print a
1401         message with the errno and use "localhost" if NULL is returned.
1402
1403 2005-02-20 Derek Price <derek@ximbiot.com>
1404
1405         * cvs.h (run_arg): Rename to...
1406         (run_add_arg): New function.
1407         * run.c (run_arg): Remove.
1408         (run_add_arg): Remove static declaration.
1409         (run_piped): New function.
1410         * logmsg.c, modules.c: s/run_arg/run_add_arg/.
1411         * release.c (release): Replace use of piped_child with a call
1412         to run_piped to avoid quoting issues.
1413         * sanity.sh (info-cleanup-0): Expect success.
1414
1415 2005-02-19 Derek Price <derek@ximbiot.com>
1416
1417         * edit.c (unedit_fileproc, mark_up_to_date): Replace xmallc/strcat
1418         sequence with single call to Xasprintf.
1419
1420 2005-02-08 Derek Price <derek@ximbiot.com>
1421
1422         * rsh-client.c: Some reformatting.
1423
1424 2005-02-04 Derek Price <derek@ximbiot.com>
1425
1426         * zlib.c (compress_buffer_input): Don't return EOF when there is data
1427         pending.
1428
1429 2005-02-01 Derek Price <derek@ximbiot.com>
1430
1431         * main.c: Update year in copyright notice to match GNU standards.
1432         * sanity.sh (version-1): Update to match.
1433
1434 2005-02-01  Larry Jones  <lawrence.jones@ugs.com>
1435
1436         * log.c (log_fileproc, log_expand_revlist): Add support for BASE tag.
1437         * sanity.sh (log): New tests for above.
1438
1439 2005-01-31 Derek Price <derek@ximbiot.com>
1440
1441         * main.c: Rephrase --version message.
1442         * sanity.sh (version-1): Update to match.
1443
1444 2005-01-31 Derek Price <derek@ximbiot.com>
1445
1446         * Makefile.am, add.c, admin.c, annotate.c, checkin.c, checkout.c,
1447         classify.c, commit.c, create_adm.c, cvs.h, cvsrc.c, diff.c, entries.c,
1448         find_names.c, hash.c, hash.h, history.h, import.c, lock.c, log.c,
1449         login.c, logmsg.c, main.c, mkmodules.c, modules.c, myndbm.c, no_diff.c,
1450         parseinfo.c, patch.c, rcs.c, rcs.h, rcscmds.c, recurse.c, remove.c,
1451         repos.c, root.c, root.h, server.h, stack.c, stack.h, status.c, subr.c,
1452         tag.c, update.c, vers_ts.c, version.c: Update copyright notices.
1453
1454 2005-01-29 Derek Price <derek@ximbiot.com>
1455
1456         * log.c (log_usage): Add note about using -S with revision info
1457         supression and selection.
1458         (Suggestion from Dan Peterson <dbpete@aol.com>.)
1459
1460 2005-01-29 Derek Price <derek@ximbiot.com>
1461
1462         * sanity.sh (writeproxy-ssh-noredirect): Remove some commented out
1463         code.
1464
1465 2005-01-25  Larry Jones  <lawrence.jones@ugs.com>
1466
1467         * expand_path.c (expand_path): Rewrite using offsets instead of
1468         pointers to simplify and avoid reallocation bugs.
1469         (Inspired by Jeremy Bopp <jeremy@motive.com>.)
1470
1471 2005-01-20 Brian Murphy <brian@murphy.dk>
1472
1473         * server.c fixing the style of the pam function calls and if
1474         statements
1475
1476 2005-01-19 Brian Murphy <brian@murphy.dk>
1477
1478         * server.c (pam_username, pam_password) new global static
1479         variables to hold the username and pasword for cvs_pam_conv.
1480         (cvs_pam_conv) using pam_username and pam_password.
1481         (check_pam_password) set pam_username, pam_password before
1482         authentication and clear them when authentication is finished.
1483         (server, switch_to_user) Check for pamh being set before using
1484         pam functionality, NULL indicating that this user was authenticated
1485         using the repository password file.
1486
1487 2004-12-09 Derek Price <derek@ximbiot.com>
1488
1489         * log-buffer.c (buf_count_mem): Compile this for PROXY_SUPPORT.
1490         (Report from Brad L. Chisholm <blc@bsdwins.com>.)
1491
1492 2004-12-09 Derek Price <derek@ximbiot.com>
1493
1494         * sanity.sh (modules7): New test group.
1495         (Based on a patch from Mark D. Baushke <mdb@cvshome.org>, based on a
1496         report from Richard Verhoeven <Richard_Verhoeven@WestLB.de>.)
1497
1498 2004-12-09  Derek Price  <derek@ximbiot.com>
1499
1500         * client.c (start_server): Avoid advertising the Redirect response when
1501         the user asked us not to.
1502         * root.h (cvsroot_t): Add redirect field.
1503         * root.c (new_cvsroot_t): Init redirect field.
1504         (parse_cvsroot_t): Parse Redirect method option.
1505         * server.c (serve_command_prep): Don't throw proxy_log away when
1506         Redirect isn't supported and it might be needed later.
1507         * sanity.sh (parseroot): Improve comment, add a few new tests.
1508         (writeproxy-ssh): Specify Redirect=yes explicitly.
1509         (writeproxy-ssh-noredirect): New test group.
1510
1511 2004-12-09  Mark D. Baushke  <mdb@cvshome.org>
1512
1513         * main.c (usg): Remove Dr. Pascal Molli's CVS URL from the
1514         documentation.
1515
1516 2004-12-08  Derek Price  <derek@ximbiot.com>
1517
1518         * root.c (Name_Root): s/TRACE_FUNCTION/TRACE_FLOW/.
1519
1520 2004-12-08  Derek Price  <derek@ximbiot.com>
1521
1522         * root.c (parse_cvsroot): Suppress -Wall warning.
1523
1524 2004-12-08  Derek Price  <derek@ximbiot.com>
1525
1526         * root.c (parse_cvsroot): findnode() compares LIST to NULL w/o help.
1527
1528 2004-12-08  Derek Price  <derek@ximbiot.com>
1529
1530         * root.c (Name_root), server.c (serve_referrer): Don't free cvsroot_t.
1531         * server.sh (reposmv): Reaccount for multiple potential warnings and
1532         comment.
1533
1534 2004-12-07  Derek Price  <derek@ximbiot.com>
1535
1536         * root.c (parse_cvsroot): Cache parsed values for efficiency and to
1537         avoid printing warnings about non-fatal parsing errors multiple times.
1538         * client.c,, login.c, main.c, recurse.c: Don't dispose of parsed roots,
1539         parse_cvsroot() has control.
1540         * sanity.sh (reposmv): Stop accounting for multiple warnings.
1541
1542 2004-12-03  Mark D. Baushke  <mdb@cvshome.org>
1543
1544         * root.h (cvsroot_t): Add cvs_rsh and cvs_server for bookkeeping
1545         purposes.
1546         * root.c (new_cvsroot_t, free_cvsroot_t): Add support for case
1547         insensitive options CVS_RSH and CVS_SERVER.
1548         (parse_cvsroot): Ditto and make all keywords case insensitive.
1549         * client.c (connect_to_forked_server): Add support for the new
1550         "CVS_SERVER" option to CVSROOT.
1551         * rsh-client.c (connect_to_forked_server): Ditto
1552         (start_rsh_server): Ditto and add support for the new "CVS_RSH"
1553         option to CVSROOT.
1554         * sanity.sh (parseroot3): New tests for the new options to
1555         CVSROOT.
1556
1557 2004-11-30  Larry Jones  <lawrence.jones@ugs.com>
1558
1559         * mkmodules.c (config_contents): Add LocalKeyword and KeywordExpand,
1560         misc. cleanup.
1561
1562 2004-11-30  Derek Price  <derek@ximbiot.com>
1563
1564         * parseinfo.c (readBool): Update quotes in error message for
1565         consistency.  Move function to...
1566         * subr.c (readBool): ...here.
1567         (*): Gratuitous reformatting.
1568         * cvs.h: Move all subr.c function prototypes to...
1569         * subr.h: ...this new file.
1570         * Makefile.am (cvs_SOURCES): Add subr.h.
1571
1572 2004-11-30  Derek Price  <derek@ximbiot.com>
1573
1574         * parseinfo.c (readBool): Reorder arguments to error() and improve
1575         header comment.
1576
1577 2004-11-30  Derek Price  <derek@ximbiot.com>
1578
1579         * client.c (handle_referrer): New function.
1580         (handle_redirect): Handle possibility that CLIENT_REFERRER was set via
1581         a response.
1582         * server.c (serve_command_prep): Send a normalized Referrer response
1583         before a Redirect when the client supports it.
1584
1585 2004-11-29  Mark D. Baushke  <mdb@cvshome.org>
1586
1587         * rcs.c (RCS_setlocalid): Do more configuration validation.
1588         Include some gratuitous reformatting.
1589         * sanity.sh (keywordexpand): Add tests for new validation code.
1590
1591 2004-11-24  Derek Price  <derek@ximbiot.com>
1592
1593         * server.c (become_proxy): Note assumptions about syncronized primary
1594         and secondary versions with `FIXME?' note.
1595
1596 2004-11-22  Mark D. Baushke  <mdb@cvshome.org>
1597
1598         * sanity.sh (info): Ignore comments in verifymsg test.
1599
1600 2004-11-22  Mark D. Baushke  <mdb@cvshome.org>
1601
1602         * mkmodules.c (loginfo_contents, verifymsg_contents,
1603         commitinfo_contents, taginfo_contents, preproxy_contents,
1604         postadmin_contents, postproxy_contents, posttag_contents,
1605         postwatch_contents, notify_contents): Add comments regarding the
1606         additional format strings that are available. Include some
1607         gratuitous reformatting.
1608
1609 2004-11-19  Derek Price  <derek@ximbiot.com>
1610
1611         * subr.c (Xasnprintf): Improve header comment block.
1612
1613 2004-11-19  Derek Price  <derek@ximbiot.com>
1614
1615         * root.c (normalize_cvsroot): Improve header comment block.
1616
1617 2004-11-19  Derek Price  <derek@ximbiot.com>
1618
1619         * server.c: Misc reformatting and comment corrections.
1620
1621 2004-11-19  Derek Price  <derek@ximbiot.com>
1622
1623         * cvs.h (hostname): Redeclare as pointer rather than array.
1624         * main.c: Include xgethostname.h.  Declare server_hostname.
1625         (main): Use xgethostname().  Set server_hostname.
1626         * server.c (MAXHOSTNAMELEN): Remove this macro.
1627         (isThisHost): Reference global HOSTNAME rather than looking it up.
1628         Improve header comment block.
1629         (gserver_authenticate_connection): Likewise.
1630         (serve_command_prep): Correct comment.
1631         (serve_hostname): Don't bother to validate hostname length.
1632
1633 2004-11-19  Derek Price  <derek@ximbiot.com>
1634
1635         * server.c (isThisHost): strcasecmp before consulting the DNS as an
1636         optimization.
1637
1638 2004-11-18  Mark D. Baushke  <mdb@cvshome.org>
1639
1640         * checkout.c (checkout_proc): Passing the repository to
1641         tag_check_valid seems to stop the assertion failure in recurse.c
1642         do_recursion.
1643         * sanity.sh (basic2-21a): Removed.
1644         (basic2-21c): Fixed.
1645
1646 2004-11-18  Derek Price  <derek@ximbiot.com>
1647
1648         * sanity.sh (skip_always, notproxy): New functions.
1649         (skip, remoteonly, sshstdio, client): Use new functions.
1650
1651 2004-11-17  Mark D. Baushke  <mdb@cvshome.org>
1652
1653         * sanity.sh (basic2-21a): The val-tags file should have
1654         at least 'rtagged-by-head y' in it. Test from cvs 1.11.18 that
1655         shows fixed result.
1656         (basic2-21b, basic2-21c): New tests showing a cvs bug when
1657         val-tags is not present.
1658         (Report from "John Elgin" <John@JCElgin.com>.)
1659
1660         * sanity.sh (basicb-21): POSIX 1003.2 specifies 'illegal option'
1661         while lots of getopt implementations still use 'invalid option'.
1662         Allow either form for this test.
1663
1664 2004-11-17  Mark D. Baushke  <mdb@cvshome.org>
1665
1666         * buffer.c (fd_buffer_block): Deal with BSD and BSDI problems to
1667         set block/nonblock on /dev/null.
1668
1669 2004-11-17  Derek Price  <derek@ximbiot.com>
1670
1671         * Makefile.am (distclean-local): Clean check.plog~.
1672
1673 2004-11-11  Derek Price  <derek@ximbiot.com>
1674
1675         * sanity.sh: s/cp -r/cp -R/ to meet POSIX specification.
1676         (Thanks to report from Paul Eggert <eggert@cs.ucla.edu>.)
1677
1678 2004-11-10  Mark D. Baushke  <mdb@cvshome.org>
1679
1680         * ms-buffer.c (ms_buffer_input): Avoid UNICOS cc error where
1681         'Both sides of the assignment operator are not compatible.'
1682
1683         * sanity.sh (importc, rcs, rcs4, tagdate): Use TZ=UTC0 not TZ=UTC
1684         to get proper POSIX behavior on MacOS X.
1685
1686 2004-11-10  Derek Price  <derek@ximbiot.com>
1687
1688         * sanity.sh: Actually parse -e option like we claim to.
1689
1690 2004-11-10  Derek Price  <derek@ximbiot.com>
1691
1692         * sanity.sh: Maintain pass/skip/warn status and output at end.
1693         (usage): Note new functionality of -e.
1694         (warn): New function.
1695         (verify_tmp_empty): Warn instead of failing.  Delete turds if warn()
1696         doesn't exit.
1697
1698 2004-11-10  Derek Price  <derek@ximbiot.com>
1699
1700         * sanity.sh (verify_tmp_empty): New function.
1701         (dotest_internal_*): Call verify_tmp_empty as needed.
1702
1703 2004-11-09  Mark D. Baushke  <mdb@cvshome.org>
1704
1705         * sanity.sh (expr_tooltest3): Bugfix. Use $expr rather than $EXPR.
1706
1707 2004-11-08  Derek Price  <derek@ximbiot.com>
1708
1709         * sanity.sh (version_test): Echo good version data to the log, even
1710         when it went to stderr.  Don't echo bad version data.
1711
1712 2004-11-08  Mark D. Baushke  <mdb@cvshome.org>
1713
1714         * sanity.sh (tool_find): Rewrite. API changed to allow a list of
1715         tests to be used against a list of possible command names found on
1716         the SEARCHPATH.
1717         (version_test): Obtain the version of tools under test if
1718         possible.
1719         (id_tool_test): Check that 'id -u' and 'id -un' work.
1720         (expr_tooltest1): Check for NextStep 3.3 expr bug.
1721         (expr_tooltest2): Check for SunOS expr multi-line pattern bug.
1722         (expr_create_bar): Create a test file for expr testing.
1723         (expr_tooltest3): Use it and test for big multi-line identity
1724         matches.
1725         (expr_set_ENDANCHOR): Find and set the right value for ENDANCHOR.
1726         (expr_set_DOTSTAR): Find and set the right value for DOTSTAR.
1727         (expr_tooltest_DOTSTAR): Ensure that DOTSTAR works with big
1728         matches.
1729         (tr_tooltest1): Verify that tr handles NUL bytes.
1730         (ls_tooltest): See if /bin/ls returns true even if wildcard does
1731         not match any files.
1732         (awk_tooltest1): Verify that awk the BEGIN clause works properly.
1733         (awk_tooltest2): Verify that print %c format item works properly.
1734
1735 2004-11-08  Derek Price  <derek@ximbiot.com>
1736
1737         * sanity.sh (verify_tmp_empty): New function.
1738         (dotest_internal_*): Call verify_tmp_empty as needed.
1739
1740 2004-11-08  Derek Price  <derek@ximbiot.com>
1741
1742         * sanity.sh (run_filter): Add function header comment block.
1743
1744 2004-11-07  Larry Jones  <lawrence.jones@ugs.com>
1745
1746         * sanity.sh: Remove trailing / from cp -r commands.
1747
1748 2004-11-04  Derek Price  <derek@ximbiot.com>
1749
1750         * gssapi-client.c (connect_to_gserver): Silence gcc -Wall.
1751
1752 2004-11-04  Derek Price  <derek@ximbiot.com>
1753
1754         * sanity.sh (set_bad_tool): Remove unnecessary quotes.
1755
1756 2004-11-04  Derek Price  <derek@ximbiot.com>
1757
1758         * sanity.sh: s/depends_on_/require/.
1759
1760 2004-11-04  Derek Price  <derek@ximbiot.com>
1761
1762         * sanity.sh (find_tool): Eliminate variable with single reference.
1763
1764 2004-11-04  Mark D. Baushke  <mdb@cvshome.org>
1765
1766         * sanity.sh (SEARCHPATH): Unify the PATHs that are to be searched.
1767         (Which,find_tool): Use SEARCHPATH.
1768         (LS): Use default $SEARCHPATH for Which.
1769         (depend_on_rsync): Use default $SEARCHPATH for Which.
1770
1771 2004-11-04  Mark D. Baushke  <mdb@cvshome.org>
1772
1773         * sanity.sh (depends_on_rsync): Do not echo rsync information to
1774         stdout. Look for rsync in more directories.
1775
1776 2004-11-04  Derek Price  <derek@ximbiot.com>
1777
1778         * sanity.sh (depends_on_rsync): Minor simplifications.  Make sure that
1779         an rsync that doesn't understand `--version' sends its error message to
1780         the log file too.
1781
1782 2004-11-04  Mark D. Baushke  <mdb@cvshome.org>
1783
1784         * sanity.sh (set_bad_tool, is_bad_tool): Avoid printing errors
1785         about the same tool multiple times.
1786
1787 2004-11-03  Mark D. Baushke  <mdb@cvshome.org>
1788
1789         * sanity.sh (depends_on_rsync): Deal with missing rsync.
1790
1791 2004-11-03  Mark D. Baushke  <mdb@cvshome.org>
1792
1793         * sanity.sh (depends_on_rsync): Include rsync version information
1794         in output.
1795
1796 2004-11-03  Mark D. Baushke  <mdb@cvshome.org>
1797
1798         * sanity.sh (depends_on_rsync): More rigorous tests for rsync
1799         2.3.1 problems with --delete --include dir --exclude '*/.
1800
1801 2004-11-03  Derek Price  <derek@ximbiot.com>
1802
1803         * sanity.sh (depends_on_rsync): Verify that `rsync --delete' actually
1804         does what it is supposed ot do.
1805
1806 2004-11-03  Derek Price  <derek@ximbiot.com>
1807
1808         * subr.c (Xreadlink): Remove MAXSIZE macro.  Minor reformatting.
1809
1810 2004-11-03  Mark D. Baushke  <mdb@cvshome.org>
1811
1812         * filesubr.c (xreadlink): Remove and use GNULIB version.
1813         (islink): Return ssize_t instead of bool.
1814         (copy_file): Use Xreadlink().
1815         * cvs.h: Add include "xreadlink.h"
1816         (islink): Return ssize_t instead of bool.
1817         * import.c (preserve_initial_permissions): Use Xreadlink.
1818         * rcs.c (RCS_checkin): Ditto.
1819         * update.c (special_file_mismatch): Ditto.
1820         * subr.c (get_file): Ditto.
1821         (resolve_symlink): Ditto.
1822         (Xreadlink): New interface to xreadlink(), never return NULL.
1823
1824 2004-11-02  Mark D. Baushke  <mdb@cvshome.org>
1825
1826         * filesubr.c (MAXSIZE): New macro.
1827         (xreadlink): Ensure initial buffer size does not exceed MAXSIZE.
1828         Avoid cast. If readlink fails with buffer size just under MAXSIZE,
1829         try again with MAXSIZE.
1830
1831 2004-11-02  Mark D. Baushke  <mdb@cvshome.org>
1832
1833         * filesubr.c (xreadlink): AIX and HP-UX readlink() returns ERANGE
1834         when there is not enough room in the buffer.
1835
1836 2004-11-01  Derek Price  <derek@ximbiot.com>
1837
1838         * cvs.h: Remove getdate proto in favor of including getdate.h.
1839         * client.c (handle_mod_time), history.c (history), main.c (Make_Date,
1840         format_date_alloc), rcs.c (RCS_getrevtime), server.c
1841         (serve_checkin_time): Use new get_date API.
1842
1843 2004-11-01  Derek Price  <derek@ximbiot.com>
1844
1845         * sanity.sh (rcslib): Fix typo in path.
1846
1847 2004-11-01  Derek Price  <derek@ximbiot.com>
1848
1849         * sanity.sh (rcslib): Test a link to a path longer than 128
1850         characters.
1851
1852 2004-10-30  Mark D. Baushke  <mdb@cvshome.org>
1853
1854         * patch.c (patch_cleanup): Add signal argument and use it.
1855
1856 2004-10-30  Mark D. Baushke  <mdb@cvshome.org>
1857
1858         * client.c: Adjust include files to avoid problems with incomplete
1859         types under --disable-client.
1860         * msg-buffer.c: Deal with --disable-client --disable-server
1861         implicitly meaning --disable-proxy.
1862         * server.c: Adjust include files to avoid problems with incomplete
1863         types under --disable-server.
1864
1865 2004-10-30  Mark D. Baushke  <mdb@cvshome.org>
1866
1867         * server.c (isThisHost): Deal with possibility of a missing
1868         hstrerror() function.
1869
1870 2004-10-29  Derek Price  <derek@ximbiot.com>
1871
1872         * server.c (server_root, move_file_offset, replace_file_offset):
1873         Remove dead code.
1874
1875 2004-10-29  Derek Price  <derek@ximbiot.com>
1876
1877         * filesubr.c (xreadlink): Make sure allocation is tried once at the
1878         maximum buffer size.  Protect against overflow.
1879
1880 2004-10-29  Derek Price  <derek@ximbiot.com>
1881
1882         * server.c (isSameHost): Handle gethostname & gethostbyname errors.
1883
1884 2004-10-29  Derek Price  <derek@ximbiot.com>
1885
1886         * server.c (isSameHost): Use strcasecmp to compare host names.
1887
1888 2004-10-29  Mark D. Baushke  <mdb@cvshome.org>
1889
1890         * server.c: Need to #include <netdb.h> for either PROXY_SUPPORT or
1891         HAVE_GSSAPI to get gethostbyname() declarations for
1892
1893 2004-10-29  Mark D. Baushke  <mdb@cvshome.org>
1894
1895         * filesubr.c (SIZE_MAX, SSIZE_MAX): Use #include "xsize.h" instead.
1896         (xreadlink): Use xrealloc instead of xmalloc/free.
1897
1898 2004-10-29  Mark D. Baushke  <mdb@cvshome.org>
1899
1900         * filesubr.c (SIZE_MAX, SSIZE_MAX): New constants.
1901         (xreadlink): Deal with symlinks longer than 127 bytes.
1902         (Problem reported as issue 190 by Gottfried Ganssauge
1903         <gotti@cvshome.org>.)
1904
1905 2004-10-29  Derek Price  <derek@ximbiot.com>
1906
1907         * server.c (isSameHost): New fuction.
1908         (same_path): Rename to...
1909         (isSamePath): ...this.
1910         (isProxyServer): Use new functions/names.
1911
1912 2004-10-29  Mark D. Baushke  <mdb@cvshome.org>
1913
1914         * sanity.sh (writeproxy): Use DOTSTAR to avoid problems with
1915         a missing Gssapi-authenticate in Valid-requests.
1916
1917 2004-10-28  Derek Price  <derek@ximbiot.com>
1918
1919         * server.c (same_path): New function.
1920         (isProxyServer): Use new function.
1921         * sanity.sh (writeproxy): Test that server resolves symlinks when
1922         deciding whether it is a primary server.
1923
1924 2004-10-28  Derek Price  <derek@ximbiot.com>
1925
1926         * cvs.h (isdir, isfile, islink, isdevice, isreadable, iswritable,
1927         isaccessible, isabsolute): Return boolean rather than int.
1928         * filesubr.c (isdir, isfile, islink, isdevice, isreadable, iswritable,
1929         isaccessible), subr.c (isabsolute): Ditto.  Some reformatting.
1930         * filesubr.c (xresolvepath): Use save_cwd in place of xgetwd.  Some
1931         reformatting.
1932
1933 2004-10-28  Derek Price  <derek@ximbiot.com>
1934
1935         * client.c (handle_redirect): Detect redirect loops.
1936         * sanity.sh (client-20): Test that client detects redirect loops.
1937
1938 2004-10-28  Mark D. Baushke  <mdb@cvshome.org>
1939
1940         * release.c (release): Allow builds of cvs with --disable-server
1941         --disable-client both used for local installation configuration.
1942         * root.c (Name_Root): Ditto.
1943         * update.c (checkout_file): Ditto.
1944         * edit.c (edit_fileproc): Ditto.
1945         * import.c (import): Ditto.
1946         (Problem reported by Jean Olivier Caron <jecar@mlab.t.u-tokyo.ac.jp>.)
1947
1948 2004-10-27  Mark D. Baushke  <mdb@cvshome.org>
1949
1950         * cvs.h (RCS_FLAGS_USETIME): New flag.
1951         * rcs.c (RCS_checkin): Add citime argument.
1952         * rcs.h (RCS_checkin): Ditto.
1953         * checkin.c (Checkin): Pass new RCS_checkin argument.
1954         * commit.c (remove_file, checkaddfile): Ditto.
1955         * import.c (add_rev): Ditto.
1956
1957         * sanity.sh (tagdate): Delete tagdate-19b as an incorrect test.
1958
1959 2004-10-27  Mark D. Baushke  <mdb@cvshome.org>
1960
1961         * sanity.sh (tagdate): Provide more output.
1962
1963 2004-10-26  Mark D. Baushke  <mdb@cvshome.org>
1964
1965         * commit.c (checkaddfile): Create a dead version for a new file
1966         added to a branch. Fixes FIXCVS for tagdate tests.
1967         * sanity.sh (tagdate): Update to expect correct results.
1968         (death2, branch-after-import, join, ignore-on-branch): Ditto.
1969
1970 2004-10-26  Mark D. Baushke  <mdb@cvshome.org>
1971
1972         * server.c (isProxyServer): Fix hostname setup.
1973
1974 2004-10-26  Derek Price  <derek@ximbiot.com>
1975
1976         Call all exit handlers via atexit() & exit().  Signal handlers exit().
1977         Eliminates a compiler warning.
1978
1979         * exithandle.c (cleanup_register): Don't register a signal handler.
1980         Register a function to block signals before the exit handler is called.
1981         * lock.c (Lock_Cleanup): Remove never_run_again cruft and assoc. cmts.
1982         * rcs.c (rcs_cleanup), server.c (server_cleanup): Ditto, plus assume
1983         signals are blocked.
1984         * main.c (main_cleanup): Declare noreturn attribute.
1985
1986 2004-10-26  Derek Price  <derek@ximbiot.com>
1987
1988         * gssapi-client.c (connect_to_gserver): Avoid truncating error messages
1989         from the GSSAPI server.
1990         (Report from Dan Peterson <dbpete@aol.com>.)
1991
1992 2004-10-26  Derek Price  <derek@ximbiot.com>
1993
1994         * sanity.sh (import-quirks): Test an even branch number.
1995
1996 2004-10-25  Derek Price  <derek@ximbiot.com>
1997
1998         * import.c (import): Repair regex for regressions introduced in last
1999         commit.
2000         * sanity.sh (import-quirks): Test a few branch numbers import shouldn't
2001         have a problem with.
2002
2003 2004-10-25  Mark D. Baushke  <mdb@cvshome.org>
2004
2005         * sanity.sh (modes3): Quiet rsync messages in proxy mode when
2006         permissions are removed. They are expected and not a problem here.
2007
2008 2004-10-25  Derek Price  <derek@ximbiot.com>
2009
2010         * import.c (import): Anchor and simplify branch verification regex.
2011         * sanity.sh (import-quirks): Test another pattern that should fail.
2012
2013 2004-10-25  Derek Price  <derek@ximbiot.com>
2014
2015         * cvs.h (yesno): Remove prototype.
2016         * edit.c, release.c: Include yesno.h.  Flush output before calling
2017         yesno().
2018
2019 2004-10-25  Mark D. Baushke  <mdb@cvshome.org>
2020
2021         * sanity.sh (tagdate): Added some additional tests and FIXCVS
2022         comments for dealing properly with a 'cvs add' of a file to
2023         a branch that already exists on the mainline.
2024         (Problem reported by Renny Barrett <rbarrett@curamsoftware.com>.)
2025
2026         * sanity.sh (getrlogdate): New shell function.
2027         (tagdate-{13,14,16}): Use it to avoid 'sleep 60' by using
2028         the exact 1.1.4.1 timestamp for tagdate-14 and tagdate-16.
2029
2030 2004-10-25  Derek Price  <derek@ximbiot.com>
2031
2032         * sanity.sh (depends_on_rsync): Redirect rsync output to /dev/null when
2033         just testing.
2034
2035 2004-10-23  Mark D. Baushke  <mdb@cvshome.org>
2036
2037         * socket-client.c (socket_buffer_initialize): Drop obsolete
2038         arguments to buf_initialize().
2039
2040 2004-10-22  Mark D. Baushke  <mdb@cvshome.org>
2041
2042         * client.c (handle_m, handle_e): Winsock is returning
2043         SOCK_ERRNO == WSAENOTSOCK for select() problems and not
2044         setting errno. Do not bother with printing an error from a
2045         select() that is not returning an non-zero errno.
2046         (Report from Conrad T. Pino <Conrad@Pino.com>.)
2047
2048 2004-10-22  Mark D. Baushke  <mdb@cvshome.org>
2049
2050         * sanity.sh (proxy): proxycheck depends on rsync, but skip all if
2051         no rsync is found rather than generate an error return.
2052
2053 2004-10-22  Mark D. Baushke  <mdb@cvshome.org>
2054
2055         * Makefile.am (proxycheck): New test target.
2056         * sanity.sh: Keep one more level of check.log backup.
2057         * Makefile.in: Regenerated.
2058
2059 2004-10-22  Derek Price  <derek@ximbiot.com>
2060
2061         * client.c, update.c: Use new MD5 interface.
2062
2063 2004-10-22  Mark D. Baushke  <mdb@cvshome.org>
2064
2065         * sanity.sh (find_tool): Search /usr/pkg/bin for NetBSD tools
2066         like rsync.
2067
2068 2004-10-22  Mark D. Baushke  <mdb@cvshome.org>
2069
2070         * sanity.sh (tagdate): Fix typo.
2071
2072 2004-10-21  Derek Price  <derek@ximbiot.com>
2073
2074         * subr.c: #include vasnprintf.h to avoid compiler warning.
2075
2076 2004-10-21  Derek Price  <derek@ximbiot.com>
2077
2078         * cvs.h (error_use_protocol): Move decl here from lib/error.h so that
2079         we may use an unforked error.h from GNULIB.
2080
2081 2004-10-21  Derek Price  <derek@ximbiot.com>
2082
2083         * main.c: #include strftime.h.
2084         (format_time_t, gmformat_time_t): Supply missing args to my_strftime.
2085
2086 2004-10-21  Derek Price  <derek@ximbiot.com>
2087
2088         * buffer.c: Don't maintain last_index & last_count for buffers.
2089         * buffer.h (struct buffer): Update struct.
2090         (buf_initialize): Update proto.
2091         * log-buffer.c, ms-buffer.c, zlib.c: Update all callers.
2092
2093 2004-10-21  Derek Price  <derek@ximbiot.com>
2094
2095         * sanity.sh: Fail gracefully in proxy mode when rsync is defective.
2096         (depends_on_rsync): New function.
2097         (writeproxy, writeproxy-noredirect, writeproxy-ssh): Skip these tests
2098         gracefully when rsync is missing.
2099
2100 2004-10-21  Mark D. Baushke  <mdb@cvshome.org>
2101
2102         * add.c (add): Pay attention to cvswrite mode when resurrecting a
2103         file that was not yet committed.
2104         (Report from Frank Hemer <frank@hemer.org>.)
2105         * sanity.sh (resurrection): Add new tests to deal with read-only
2106         mode on a cvs add durring a resurrection. Verify that -r is not
2107         honored when the resurrected file must be committed to be seen.
2108
2109 2004-10-21  Derek Price  <derek@ximbiot.com>
2110
2111         * ls.c (ls_fileproc): Deal with files specified on the command line.
2112         (ls_delproc): Move to a more accessible location.
2113
2114 2004-10-20  Derek Price  <derek@ximbiot.com>
2115
2116         * add.c (add): Avoid unnecessary typecast.
2117
2118 2004-10-20  Mark D. Baushke  <mdb@cvshome.org>
2119
2120         * Makefile.in: Regenerate for new configure.in.
2121
2122 2004-10-19  Mark D. Baushke  <mdb@cvshome.org>
2123
2124         * add.c (add): Backout last typecasts cleanup.
2125
2126 2004-10-19  Derek Price  <derek@ximbiot.com>
2127
2128         * add.c (add): Avoid attempting to resurrect a dead rev 1.1.
2129         * sanity.sh (resurrection): Add test for the above.
2130         (Report from Dan Peterson <dbpete@aol.com>.)
2131
2132 2004-10-19  Derek Price  <derek@ximbiot.com>
2133
2134         * add.c (add): Avoid unnecessary typecasts.
2135
2136 2004-10-19  Derek Price  <derek@ximbiot.com>
2137
2138         * cvs.h: Prototype new function.
2139         * subr.c (Xasnprintf): New function.
2140         * root.c (primary_root_translate, primary_root_inverse_translate):
2141         s/asnprintf/Xasnprintf/.
2142         * client.c (connect_to_pserver): Store line length for efficiency.
2143
2144 2004-10-19  Derek Price  <derek@ximbiot.com>
2145
2146         * history.c: Remove unecessary typecasts.  Some reformatting.
2147
2148 2004-10-18  Derek Price  <derek@ximbiot.com>
2149
2150         * server.c (serve_modified): Eliminate >= 0 check since size_t may not
2151         be negative.
2152         (Originally reported by Martin Neitzel <neitzel@sco.gaertner.de>.)
2153
2154 2004-10-18  Derek Price  <derek@ximbiot.com>
2155
2156         * cvs.h (DEVNULL): This is system dependant.  Move it to lib/system.h.
2157         * client.c (copy_a_file): Consolidate USE_VMS_FILENAMES stuff under a
2158         single #ifdef.
2159
2160 2004-10-15  Derek Price  <derek@ximbiot.com>
2161
2162         * cvs.h: Don't include vasnprintf.h.
2163         (Xasprintf): New prototype.
2164         * client.c, edit.c, history.c, import.c, ls.c, main.c, parseinfo.c,
2165         recurse.c, release.c, repos.c, root.c, server.c, status.c, subr.c,
2166         vers_ts.c: s/asnprintf/Xasprintf/.
2167         * root.c: Include vasnprintf.h.
2168         (primary_root_translate, primary_root_inverse_translate): Use
2169         asnprintf() properly.
2170         * subr.c: Include vasprintf.h.
2171         (Xasprintf): New function.
2172
2173 2004-10-14  Derek Price  <derek@ximbiot.com>
2174
2175         * import.c (import): Remove an unecessary level of nesting.  Simplify
2176         xmalloc/sprintf with asnprintf.  Remove useless comment.
2177
2178 2004-10-14  Derek Price  <derek@ximbiot.com>
2179
2180         * import.c (import): Verify branch specifications more thoroughly.
2181         * sanity.sh (importb): Adapt to new error message.
2182         (import-quirks): New test.
2183
2184 2004-10-14  Mark D. Baushke  <mdb@cvshome.org>
2185
2186         * server.c (server_pause_check, do_cvs_command, server_cleanup):
2187         Avoid typecasts.
2188
2189 2004-10-14  Derek Price  <derek@ximbiot.com>
2190
2191         * gssapi-client.c: Use new size_t buffer APIs.
2192
2193 2004-10-11  Mark D. Baushke  <mdb@cvshome.org>
2194
2195         * buffer.h, buffer.c (buf_output, buf_input_data, buf_read_line,
2196         buf_read_data, struct packetizing_buffer,
2197         packetizing_buffer_initialize) Use size_t instead of int.
2198         Silences warnings in buffer.c, server.c, and zlib.c on OpenBSD
2199         sparc64 where sizeof(int) is not the same as sizeof(size_t).
2200         * client.c (read_line_via, read_line, try_read_from_server,
2201         get_server_response, handle_ok, handle_error,
2202         handle_valid_requests, handle_checked_in, handle_new_entry,
2203         handle_checksum, handle_copy_file, handle_updated, handle_merged,
2204         handle_patched, handle_rcs_diff, handle_removed,
2205         handle_remove_entry, handle_set_static_directory,
2206         handle_clear_static_directory, handle_set_sticky,
2207         handle_clear_sticky, handle_clear_template,
2208         handle_module_expansion, handle_wrapper_rcs_option, handle_m,
2209         handle_e, handle_f, handle_notified): Ditto
2210         * client.h (struct response): Ditto.
2211         * server.c (receive_partial_file, receive_file, serve_modified,
2212         do_cvs_command): Ditto.
2213         * zlib.c (compress_buffer_input, compress_buffer_shutdown_input):
2214         Ditto.
2215         (Patch from Alexander Taler <dissent@cvshome.org>.)
2216
2217 2004-10-08  Derek Price  <derek@ximbiot.com>
2218
2219         * client.c (send_args): Carry through a const to silence gcc -Wall.
2220         * hardlink.c (delhardlist): New function.
2221         (lookup_file_by_inode): Use new function as delproc since it should
2222         work.  Carry through a const to silence gcc -Wall.
2223         * ms-buffer.c (ms_buffer_initialize): Use a working delproc.
2224
2225 2004-10-08  Derek Price  <derek@ximbiot.com>
2226
2227         * client.c (open_connection_to_server, close_connection_to_server,
2228         handle_redirect): Add traces.
2229
2230 2004-10-07  Derek Price  <derek@ximbiot.com>
2231
2232         * Makefile.am (cvs_SOURCES): Add parseinfo.h.
2233
2234 2004-10-07  Mark D. Baushke  <mdb@cvshome.org>
2235
2236         * vers_ts.c (entries_time): Use size_t pointers. sizeof(int)
2237         may not be the same as sizeof(size_t) on OpenBSD sparc64.
2238         (Patch from Alexander Taler <dissent@cvshome.org>.)
2239
2240         * wrapper.c (wrap_clean_fmt_str): Make static.
2241
2242 2004-10-07  Mark D. Baushke  <mdb@cvshome.org>
2243
2244         * client.h (struct response): Make name a const.
2245         * cvs.h (RETSIGTYPE): Use a full prototype.
2246         * hash.h (struct node): Use a full prototype for delproc.
2247
2248         * client.c (send_arg, send_option_string, option_with_arg): Make
2249         args of function const.
2250         * client.h (send_arg, send_option_string, option_with_arg): Ditto.
2251
2252         * checkout.c (checkout): Make valid_options const.
2253
2254 2004-10-06  Derek Price  <derek@ximbiot.com>
2255
2256         * release.h: Silence gcc -Wall.
2257
2258 2004-10-06  Derek Price  <derek@ximbiot.com>
2259
2260         * cvs.h: Move include of getopt.h to system.h with similar headers.
2261
2262 2004-10-06  Derek Price  <derek@ximbiot.com>
2263
2264         * login.c: Include getpass.h.
2265
2266 2004-10-06  Derek Price  <derek@ximbiot.com>
2267
2268         * cvs.h: Include strcase.h.
2269         (cvs_casecmp): remove proto.
2270         * subr.c (cvs_casecmp): Remove function.
2271         * parseinfo.c: s/cvs_casecmp/strcasecmp/.
2272
2273 2004-10-06  Derek Price  <derek@ximbiot.com>
2274
2275         * cvs.h: Move getopt.h and regex.h into the GNULIB include section.
2276
2277 2004-10-06  Derek Price  <derek@ximbiot.com>
2278
2279         * main.c (cmds): Release calls unedit, to it modifies the repository.
2280         (struct cmd): Add const and full prototype where needed.
2281         * sanity.sh (edit-check): Use modify_repo where needed.
2282         (release): No more special case for release in proxy mode.
2283         (Patch from Mark D. Baushke  <mdb@cvshome.org>.)
2284
2285         * release.c (release): Simplify login in if statement.
2286
2287 2004-10-06  Derek Price  <derek@ximbiot.com>
2288
2289         * client.c (send_file_names): Back out broken portion of previous
2290         change.
2291
2292 2004-10-06  Derek Price  <derek@ximbiot.com>
2293
2294         * client.c (call_in_directory): Make args of function arg const.
2295         * client.h, client.c, edit.h, edit.c, server.h, zlib.c: Carry change
2296         through to called functions and functions passed in as args.
2297
2298 2004-10-06  Derek Price  <derek@ximbiot.com>
2299
2300         * checkout.c, commit.c, edit.c, rcs.c: Avoid typecasts.  Some
2301         reformatting.
2302
2303 2004-10-06  Derek Price  <derek@ximbiot.com>
2304
2305         * client.c: Avoid more typecasts.  Some reformatting.
2306
2307 2004-10-06  Mark D. Baushke  <mdb@cvshome.org>
2308
2309         * client.c (send_file_names): Use new save-cwd API.
2310         (connect_to_pserver): Use a union to avoid incompatible pointer
2311         type warnings.
2312
2313 2004-10-05  Derek Price  <derek@ximbiot.com>
2314
2315         * cvs.h (Xstrdup): New proto mapped via define to xstrdup.
2316         * subr.c (Xstrdup): New function.
2317
2318 2004-10-05  Derek Price  <derek@ximbiot.com>
2319
2320         * add.c, client.c, history.c, import.c, mkmodules.c, modules.c,
2321         recurse.c, release.c, tag.c, update.c: Use new save-cwd API.
2322
2323 2004-10-05  Derek Price  <derek@ximbiot.com>
2324
2325         * checkout.c, client.c, commit.c, create_adm.c, cvs.h, filesubr.c,
2326         hardlink.c, history.c, logmsg.c, main.c, recurse.c, update.c:
2327         s/xgetwd/xgetcwd/.
2328
2329 2004-10-04  Derek Price  <derek@ximbiot.com>
2330
2331         * client.c (responses): Add "Edit-file".
2332         (handle_edit_file): New function.
2333         * commit.c (usage): Add -c option.
2334         (check_fileproc): Check for edit when requested.
2335         (commit_fileproc): Use new notify_do API.
2336         * edit.c (check_edited): New global.
2337         (setting_tedit, setting_tunedit, setting_tcommit): s/int/bool/.
2338         (ncheck_fileproc): Use new notify_do API.
2339         (send_notifications): Remove redundant proto.  Remove unnecessary
2340         repository lock.
2341         (editors_output, find_editors_and_output, edit_file): New functions.
2342         edit_file() factored from...
2343         (edit_fileproc): ...here.  Skip files with existing editors when
2344         requested.
2345         (usage): Add -c and -f.
2346         (edit): Handle new -c and -f options.
2347         (notify_do): Accept update_dir as an argument for user messages.
2348         (editors_fileproc): Factor most content to find_editors_and_output()
2349         and edit_file().
2350         * edit.h (notify_do): Proto new API.
2351         (editors_output, edit_file): New functions.
2352         * rcs.c (RCS_unlock): Use new notify_do() API.
2353         * sanity.sh: Update assorted tests to compensate for new output.
2354         (edit-check): New tests.
2355         * server.c (gupdate_dir): New global.
2356         (struct notify_note): Keep track of update_dir.
2357         (serve_notify): Use update_dir.
2358         (serve_hostname, serve_localdir, serve_edit, server_edit_file): New
2359         functions.
2360         (server_notify): Use new notify_do() API.
2361         (requests): Add Hostname, LocalDir, and edit.
2362         * server.h (server_edit_file): New proto.
2363         (Note: Original design of new advisory lock behavior came from Noel Yap
2364         <yap_noel@yahoo.com>'s original advisory locks patch, originally ported
2365         forward and enhanced by Matthew Ogilvie <mmo9317bd@mailcan.com>.)
2366
2367 2004-10-04 Derek Price <derek@ximbiot.com>
2368
2369         * admin.c (postadmin_proc), edit.c (notify_proc), fileattr.c
2370         (postwatch_proc), logmsg.c (logfile_write, verifymsg_proc), server.c
2371         (prepost_proxy_proc), tag.c (pretag_proc, posttag_proc): Pass referrer
2372         to called scripts when possible.
2373         * client.c (handle_redirect): Save the original server.
2374         (start_server): Send referrer to the new server if possible.
2375         * sever.c (referrer): New global.
2376         (serve_referrer): Save referrer.
2377         (requests): Add "Referrer" response.
2378         * server.h (referrer): Add extern decl.
2379         * sanity.sh (ssh-wrapper): Use in remote mode too.
2380         (writeproxy-ssh): New tests.
2381
2382 2004-10-04 Derek Price <derek@ximbiot.com>
2383
2384         * cvs.h (CVSROOT_DFLT): Undef rather than defining to NULL.
2385         * main.c (main): Untangle parsing of CVSROOT, eliminating several
2386         variables in the process.  Simplify xmalloc/sprintf with asnprintf.
2387
2388 2004-10-04 Derek Price <derek@ximbiot.com>
2389
2390         * root.c (primary_root_translate, primary_root_inverse_translate,
2391         get_local_root_dir, local_cvsroot): Simplify logic without proxy
2392         support.
2393
2394 2004-10-02  Mark D. Baushke  <mdb@cvshome.org>
2395
2396         * root.c (primary_root_translate, primary_root_inverse_translate,
2397         get_local_root_dir): Protect PrimaryServer with #ifdef
2398         PROXY_SUPPORT
2399
2400 2004-10-01  Mark D. Baushke  <mdb@cvshome.org>
2401
2402         * main.c (main): Initialize CVSroot before it is used.
2403         (Report and patch by Martin Neitzel <neitzel@sco.gaertner.de>.)
2404         * sanity.sh (status): Test it.
2405
2406 2004-10-01  Derek Price <derek@ximbiot.com>
2407
2408         * checkout.c (checkout_proc), fileattr.c (fileattr_read), find_names.c
2409         (Find_Names), myndbm.c (mydbm_open, mydbm_load_file), parseinfo.c
2410         (Parse_Info), rcs.c (RCS_parsercsfile_i, rcsbuf_getkey,
2411         rcsbuf_getrevnum, rcsbuf_valword): Root translation functions no longer
2412         allocate.
2413         * commit.c (commit): Use send_a_repository rather than reimplementing.
2414         * main.c (main): Remove --primary-root option.
2415         * root.c (primary_root_add): Remove this function.
2416         (primary_root_in, primary_root_out): Remove globals.
2417         (primary_root_translate, primary_root_inverse_translate): Return const.
2418         Don't allocate return value.  Rely on parsed root and confg's
2419         PrimarServer rather than separately maintained globals.
2420         (get_local_root_dir): New function.
2421         (local_cvsroot): Translate requests for primary roots when necessary.
2422         * root.h (primary_root_add, primary_root_translate,
2423         primary_root_inverse_translate): Update protos to match.
2424         * sanity.sh (top level, writeproxy): Simplify $proxy setup.
2425         (client): Don't execute $proxy.  Simplify skips and reindent.
2426         (writeproxy-noredirect): Use --allow-root in place of --primary-root.
2427         Save and restore $PRIMARY_CVSROOT*.
2428         * server.c (serve_root): Rely on local_cvsroot() to do any necessary
2429         root translation.
2430         (serve_directory): Root translation functions no longer allocate.
2431
2432 2004-10-01  Derek Price <derek@ximbiot.com>
2433
2434         * client.c (arg_should_not_be_sent_to_server), create_adm.c
2435         (Create_Admin), recurse.c (start_recursion, do_recursion, do_dir_proc),
2436         release.c (release), repos.c (Name_Repository, Short_Repository),
2437         update.c (update_filesdone_proc):
2438         s/original_root/original_parsed_root->MEMBER/.
2439         * main.c (set_root_directory): Set original_parsed_root when setting
2440         current_parsed_root.
2441         (main): s/original_root/original_parsed_root->MEMBER/.
2442         * root.c (original_root): Make cvsroot_t and rename to...
2443         (original_parsed_root): ...this.
2444         * root.h: Update extern decl to match.
2445         * server.c (serve_root): Set original_parsed_root.
2446
2447 2004-10-01  Derek Price <derek@ximbiot.com>
2448
2449         * server.c (serve_questionable): Use pending errors per API.
2450
2451 2004-10-01  Derek Price <derek@ximbiot.com>
2452
2453         * repos.c (Name_Repository): asnprintf, not sprintf.
2454
2455 2004-10-01  Derek Price <derek@ximbiot.com>
2456
2457         * sanity.sh (ignore-11r): Rename second occurance to...
2458         (ignore-11ar): ...this.
2459
2460 2004-10-01  Derek Price <derek@ximbiot.com>
2461
2462         * sanity.sh (1): Rename to...
2463         (init-1): ...this.
2464
2465 2004-10-01  Derek Price <derek@ximbiot.com>
2466
2467         * repos.c (Name_Repository): Simplify string construction with
2468         asnprintf().  Improve comment.  Some reformatting.
2469
2470 2004-10-01  Derek Price <derek@ximbiot.com>
2471
2472         * release.c (release): Simplify string construction with asnprintf().
2473
2474 2004-10-01  Derek Price <derek@ximbiot.com>
2475
2476         * recurse.c (do_file_proc): Improve header comment.  Replace
2477         xmalloc()/strcat() combination with asnprintf().
2478
2479 2004-09-29  Derek Price <derek@ximbiot.com>
2480
2481         * sanity.sh (config): Handle $SECONDRY_ROOT_DIRNAME output in $proxy
2482         mode.
2483
2484 2004-09-29  Mark D. Baushke  <mdb@cvshome.org>
2485
2486         * sanity.sh: Workaround MacOS X '/bin/ls' is not returning false
2487         when no files are listed.  Label some old tests.
2488
2489 2004-09-29  Derek Price <derek@ximbiot.com>
2490
2491         * cvs.h: Include parseinfo.h.
2492         (top_level_admin, UseNewInfoFmtStrings,
2493         ImportNewFilesToVendorBranchOnly, PrimaryServer, MaxProxyBufferSize,
2494         MaxCommentLeaderLength, UseArchiveCommentLeader, RereadLogAfterVerify,
2495         lock_dir, UserAdminOptions):  Move extern decls for global config opts
2496         to config struct in parseinfo.h.
2497         (config): New global.
2498         (parse_config): Move proto to...
2499         * parseinfo.h: This new file.
2500         * parseinfo.c (parse_config): Return struct config.
2501         (new_config): New function.
2502         * admin.c: Remove global UserAdminOptions.
2503         (admin): Don't check config on client.
2504         * checkin.c (Checkin), checkout.c (checkout_proc), filesubr.c (xchmod),
2505         import.c (import, add_rcs_file, expand_and_copy_contents):
2506         Use config instead
2507         of globals.  Some reformatting.
2508         * history.c (logHistory): Move to struct config.
2509         (history_write): Use config instead of globals.
2510         * lock.c (lock_dir): Move global to struct config.
2511         (lock_name): Use config instead of globals.
2512         * logmsg.c (RereadLogAfterVerify): Move global to struct config.
2513         (do_verify, logfile_write, verifymsg_proc): Prefer config to globals.
2514         * main.c (top_level_admin, UseNewInfoFmtStrings, PrimaryServer,
2515         MaxProxyBufferSize, MaxCommentLeaderLength, UseArchiveCommentLeader,
2516         ImportNewFilesToVendorBranchOnly): Move globals to struct config.
2517         (config): New global.
2518         (main): Use new parse_config API.
2519         * rcs.c (preserve_perms, keywords): Move globals to struct config.
2520         (keyword_local): Move to struct rcs_keyword.
2521         (new_keywords, free_keywords): New functions.
2522         (expand_keywords, RCS_setlocalid, RCS_setincexc): Prefer config to
2523         globals.
2524         * rcs.h (free_keywords): New proto.
2525         (RCS_setincexc, RCS_setlocalid): Accept opaque keywords element.
2526         * root.c (delconfig, get_root_allow_config): New functions.
2527         * root.h (get_root_allow_config): New proto.
2528         * server.c (system_auth): Move global to struct config.
2529         (isProxyServer, become_proxy, serve_command_prep): Prefer config to
2530         globals.
2531         (serve_root): Ditto.  Set config.
2532         * server.h (system_auth): Move extern decl for global moved to config.
2533
2534 2004-09-29  Derek Price <derek@ximbiot.com>
2535
2536         * history.h: Protect against multiple include.
2537
2538 2004-09-29  Derek Price <derek@ximbiot.com>
2539
2540         * root.c (root_allow_count, root_allow_vector, root_allow_size):
2541         Replace with...
2542         (root_allow): ...this single List *.
2543         (root_allow_add, root_allow_free, root_allow_ok): Use new List API.
2544         Make args const.  Return bool rather than int when necessary.
2545         * root.h (root_allow_add, root_allow_ok): Update protos to match.
2546
2547 2004-09-29  Derek Price <derek@ximbiot.com>
2548
2549         * admin.c (admin): s/int/bool/ as appropriate.  Some reformatting.
2550
2551 2004-09-29  Derek Price <derek@ximbiot.com>
2552
2553         * history.c (history_write): Use asnprintf().  Some reformatting.
2554
2555 2004-09-29  Derek Price <derek@ximbiot.com>
2556
2557         * import.c (killnew): s/int/bool/.
2558         (add_rcs_file): Ditto for do_killnew.
2559         * rcs.h (add_rcs_file): Change proto to match.
2560
2561 2004-09-29  Derek Price <derek@ximbiot.com>
2562
2563         * client.c (start_server): Use bool in place of int.
2564
2565 2004-09-29  Derek Price <derek@ximbiot.com>
2566
2567         * subr.c (cvs_trace): Correct header comment.  Some reformatting.
2568
2569 2004-09-28  Mark D. Baushke  <mdb@cvshome.org>
2570
2571         * sanity.sh (ssh-wrapper-env): New script to avoid the assumption
2572         that the remote end of a $CVS_RSH is running a bourne shell.
2573         (ssh-wrapper): Use it.
2574
2575 2004-09-28  Derek Price <derek@ximbiot.com>
2576
2577         * sanity.sh (writeproxy): Remove some setup obsoleted by redirects.
2578
2579 2004-09-27  Derek Price <derek@ximbiot.com>
2580
2581         Use original_root for client comparisons with CVS/Root since
2582         current_parsed_root may be the product of a redirect.
2583
2584         * client.c (handle_redirect): Don't free current_parsed_root.  Validate
2585         new roots.
2586         (args_should_not_be_sent_to_server):
2587         s/current_parsed_root->original/original_root/.
2588         * create_adm.c (Create_Admin): Likewise.
2589         * cvs.h (current_parsed_root): Move extern decl...
2590         * root.h: ...here.  Decl original_root extern.
2591         * main.c (set_root_directory): Store original_root.
2592         (main): s/current_parsed_root->original/original_root/.
2593         * recurse.c, release.c, update.c: Likewise.
2594         * root.c: Declare original_root.
2595
2596 2004-09-24  Derek Price <derek@ximbiot.com>
2597
2598         * sanity.sh (parseroot2): Correct two test names.  Restore CVSROOT.
2599
2600 2004-09-24  Derek Price <derek@ximbiot.com>
2601
2602         * root.c (parse_cvsroot): Use TRACE_FLOW, not TRACE_FUNCTION since this
2603         routine is called repeatedly by the recursion routines.
2604         * sanity.sh (multiroot2): Adjust to compensate.
2605
2606 2004-09-24  Derek Price <derek@ximbiot.com>
2607
2608         * sanity.sh (parseroot2): Use remoteonly.
2609
2610 2004-09-24  Derek Price <derek@ximbiot.com>
2611
2612         * sanity.sh (tests): Add parseroot2.
2613
2614 2004-09-24  Derek Price <derek@ximbiot.com>
2615
2616         * recurse.c (do_recursion, do_dir_proc): Make process_this_directory a
2617         boolean.
2618
2619 2004-09-24  Derek Price <derek@ximbiot.com>
2620
2621         * sanity.sh (parseroot2): New test for root parsing consistency.
2622         (Original patch from Alexander Taler <dissent@cvshome.org>.)
2623
2624         * cvs.h (Name_Root, free_cvsroot_t, parse_cvsroot, local_cvsroot,
2625         Create_Root, root_allow_add, root_allow_free, root_allow_ok): Move
2626         these protos to...
2627         * root.h: ...here.
2628         * client.c (arg_should_not_be_sent_to_server), recurse.c
2629         (start_recusrion, do_recursion): Use new Name_Root API.
2630         * main.c (current_root): Remove global.
2631         (set_root_directory): Set current_parsed_root directly.
2632         (main): Use new Name_Root API.  Restore deletion of root directories
2633         list.
2634         * root.c (Name_Root): Return a parsed cvsroot_t rather than a string.
2635
2636 2004-09-24  Mark D. Baushke  <mdb@cvshome.org>
2637
2638         * buffer.c (buf_append_buffer): Fix typo in comment.
2639
2640 2004-09-23  Mark D. Baushke  <mdb@cvshome.org>
2641
2642         * buffer.c (buf_read_file): Fix typo in comment.
2643         (buf_read_file_to_eof): Ditto.
2644         * server.c (serve_command_prep): Ditto.
2645
2646 2004-09-23  Derek Price <derek@ximbiot.com>
2647
2648         * sanity.sh (depends_on_ssh, sshstdio): Don't use skip() to skip
2649         remote-only tests.
2650
2651 2004-09-23  Derek Price <derek@ximbiot.com>
2652
2653         * sanity.sh (crerepos, sshstdio): Minor modifications to make use of
2654         the new depends_on_?sh API.
2655
2656 2004-09-23  Derek Price <derek@ximbiot.com>
2657
2658         * sanity.sh: Accept new -e option to interpret non-fatal calls to skip
2659         as errors.
2660         (skip, depends_on_rsh, depends_on_ssh): New functions.
2661
2662 2004-09-23  Mark D. Baushke  <mdb@cvshome.org>
2663
2664         * server.c (cvs_output, cvs_output_binary): fflush (stderr)
2665         here to avoid problems with 'cvs status 2>&1'.
2666         (Report by Frank Hemer <frank@hemer.org>.)
2667
2668 2004-09-17  Derek Price  <derek@ximbiot.com>
2669
2670         * buffer.c, buffer.h, log-buffer.c, log-buffer.h, main.c, mkmodules.c,
2671         parseinfo.c, server.c: Remove TRUST_OS_FILE_CACHE.
2672
2673 2004-09-17  Derek Price  <derek@ximbiot.com>
2674
2675         * buffer.c (fd_set_block): Ignore FreeBSD /dev/null problem.
2676
2677 2004-09-17  Derek Price  <derek@ximbiot.com>
2678
2679         * cvs.h (strip_trailing_slashes): Remove proto in favor of including
2680         dirname.h from GNULIB.
2681         * sever.c (dir_name): Rename to...
2682         (gDirname): ...this to avoid conflicts with the GNULIB function.
2683
2684 2004-09-16  Derek Price  <derek@ximbiot.com>
2685
2686         * expand_path.c (expand_path): Silence `gcc -Wall'.  Reformat some
2687         comments to fit in 80 characters.
2688
2689 2004-09-15  Derek Price  <derek@ximbiot.com>
2690
2691         * sanity.sh (sync-secondary, writeproxy, writeproxy-noredirect): Remove
2692         redundant checks for $RSYNC readability.
2693
2694 2004-09-15  Derek Price  <derek@ximbiot.com>
2695
2696         * sanity.sh: Only find $RSYNC once.
2697
2698 2004-09-15  Derek Price  <derek@ximbiot.com>
2699
2700         * sanity.sh (writeproxy, writeproxy-noredirect): Find $RSYNC in a
2701         portable manner.
2702
2703 2004-09-15  Mark D. Baushke  <mdb@cvshome.org>
2704
2705         * sanity.sh: Find $RSYNC in a portable manner.
2706
2707 2004-09-15  Derek Price  <derek@ximbiot.com>
2708
2709         * parseinfo.c (parse_config): Complete parsing of the remainder of the
2710         config file when errors are encountered.  Accept and ignore
2711         UseNewInfoFmtStrings=yes when !SUPPORT_OLD_INFO_FMT_STRINGS.
2712
2713 2004-09-15  Derek Price  <derek@ximbiot.com>
2714
2715         * buffer.c (buf_copy_data): Pass args to buf_append_data correctly.
2716
2717 2004-09-15  Derek Price  <derek@ximbiot.com>
2718
2719         * sanity.sh: Set $RSYNC in proxy mode.
2720
2721 2004-09-15  Derek Price  <derek@ximbiot.com>
2722
2723         * main.c: Fix typo in comment.
2724
2725 2004-09-15  Derek Price  <derek@ximbiot.com>
2726
2727         * rcs.c: s/abort/assert/.  Reformat function headers.  Remove
2728         unnecessary typecasts & prototypes.
2729
2730 2004-09-14  Mark D. Baushke  <mdb@cvshome.org>
2731
2732         * parseinfo.c (readBool): Remove dead code.
2733
2734         * filesubr.c (cvs_casecmp): Move to...
2735         * subr.c (cvs_casecmp): ...here.
2736         * cvs.h (cvs_casecmp): No longer ifdef under SERVER_SUPPORT
2737
2738         * parseinfo.c (readBool): Return false when there was no boolean
2739         found.
2740
2741 2004-09-14  Derek Price  <derek@ximbiot.com>
2742
2743         * cvs.h (top_level_admin, ImportNewFilesToVendorBranchOnly):
2744         s/int/bool/.
2745         (MaxCommentLeaderLength, UseArchiveCommentLeader): New vars.
2746         * main.c: Ditto, for all four vars above.
2747         * mkmodules.c (config_contents): Add default info for
2748         MaxCommentLeaderLength & UseArchiveCommentLeader.
2749         * parseinfo.c (readBool, readSizeT): New functions.
2750         (parse_info): Use new functions.  Parse MaxCommentLeaderLength &
2751         UseArchiveCommentLeader.
2752         * rcs.c (expand_keywords): Limit the size of the comment leader to
2753         MaxCommentLeaderLength & fall back to the comment leader specified in
2754         the RCS archive when requested.
2755         (preserve_perms): s/int/bool/.
2756         * rcs.h (preserve_perms), server.c (system_auth), server.h
2757         (system_auth): Likewise.
2758         * sanity.sh (keywordlog): Add new tests for the above.
2759
2760 2004-09-12  Mark D. Baushke  <mdb@cvshome.org>
2761
2762         * rcs.c (RCS_checkout): Allow noexec to do checkouts when
2763         server_active is true.
2764         * sanity.sh (join7): Test above change (fixes a FIXCVS).
2765
2766 2004-09-09  Derek Price  <derek@ximbiot.com>
2767
2768         * buffer.c (stuct packetizing_buffer): Use size_t & bool as appropriate
2769         in preference to int.
2770         (packetizing_buffer_output): s/int/size_t/ as appropriate.
2771
2772 2004-09-09  Derek Price  <derek@ximbiot.com>
2773
2774         * buffer.c (packetizing_buffer_input): s/int/size_t/ as appropriate.
2775
2776 2004-09-09  Mark D. Baushke  <mdb@cvshome.org>
2777
2778         * root.c (primary_root_inverse_translate): No longer inline.
2779
2780 2004-09-09  Conrad T. Pino  <Conrad@Pino.com>
2781
2782         * server.c: Add comment before #if at line 5580 to move it further
2783         into the file which seems to work around an apparent buffer managment
2784         bug in Microsoft Visual C++ 6.0 compiler.
2785
2786 2004-09-08  Mark D. Baushke  <mdb@cvshome.org>
2787
2788         * sanity.sh (join7): Fix if-then-else conditional.
2789
2790         * sanity.sh (join7): Re-order join7-5 and join7-6 tests.
2791
2792 2004-09-08  Conrad T. Pino  <Conrad@Pino.com>
2793
2794         * server.c: Remove extra token in conditional compile line 5580
2795         causing error in Windows Visual C++ 6.0 compile.
2796
2797 2004-09-08  Mark D. Baushke  <mdb@cvshome.org>
2798
2799         * buffer.c (fd_buffer_block): Protect fcntl calls when F_GETFL,
2800         O_NONBLOCK and F_SETFL are not available.
2801         * server.c (move_file_offset): Ditto.
2802         (set_nonblock_fd): Ditto.
2803
2804         * buffer.c (packetizing_buffer_input): Use size_t rather than int.
2805         (struct packetizing_buffer): Ditto.
2806
2807 2004-09-07  Mark D. Baushke  <mdb@cvshome.org>
2808
2809         * server.c (server_updated): Deal with cvs -n update -jt1 -jt2
2810         "protocol error: uncounted data discarded" problem.
2811         * sanity.sh (join7): New test for this case.
2812
2813 2004-09-04  Derek Price  <derek@ximbiot.com>
2814
2815         * socket-client.c (socket_client_initialize): Pass new args to
2816         buf_initialize.
2817
2818 2004-09-04  Derek Price  <derek@ximbiot.com>
2819
2820         Silence `gcc -Wall'.
2821
2822         * buffer.c (buf_initialize): Remove unnecessary typecasts by using
2823         size_t instead of int or bool as args.
2824         * buffer.c, import.c, log-buffer.c, ms-buffer.c, zlib.c: Change all
2825         callers.
2826         * buffer.h, cvs.h: Update protos.
2827         * client.c, ls.c, main.c, rcs.c, root.c, server.c: Remove unused vars,
2828         add parens, as requested by `gcc -Wall'.
2829
2830 2004-09-04  Mark D. Baushke  <mdb@cvshome.org>
2831
2832         * sanity.sh (writeproxy-noredirect): Between "Set" and
2833         "expand-modules" are the optional Kerberos-encrypt, Gssapi-encrypt
2834         and Gssapi-authenticate entries. Use ${DOTSTAR} to deal with
2835         these optionally configured requests.
2836
2837 2004-09-04  Mark D. Baushke  <mdb@cvshome.org>
2838
2839         * import.c (expand_at_signs): Typecasting for fwrite results.
2840         * log-buffer.c (log_buffer_input, log_buffer_output,
2841         log_buffer_initialize): Ditto.
2842
2843         * log-buffer.c (log_buffer_initialize): Protect reference to
2844         fatal_errors.
2845
2846         * parseinfo.c (parse_config): Protect reference to PrimaryServer
2847         using #ifdef PROXY_SUPPORT.
2848
2849         * ls.c (ls_fileproc): Remove unused variables.
2850         * subr.c (increment_revnum): Ditto.
2851         * vers_ts.c (time_stamp): Ditto.
2852
2853 2004-09-03  Derek Price  <derek@ximbiot.com>
2854
2855         * rcs.c (RCS_checkin), commit.c (remove_file): Accept UPDATE_DIR
2856         argument and use it to output full relative path on commit.
2857         * rcs.h (RCS_checkin): Update prototype.
2858         * checkin.c, commit.c, import.c: Change all callers.
2859         * sanity.sh: Adjust to compensate.
2860
2861 2004-09-03  Derek Price  <derek@ximbiot.com>
2862
2863         * client.c (call_in_directory): Change passed in function to accept
2864         void * to avoid typecasting.  Change all functions using this API.
2865
2866 2004-09-03  Derek Price  <derek@ximbiot.com>
2867
2868         * sanity.sh (secondary-wrapper, writeproxy-secondary-wrapper): Improve
2869         comments.  Use exec to launch server.
2870         (writeproxy-noredirect): New tests for writeproxy functionality in
2871         conjunction with clients that cannot handle the `Redirect' response.
2872
2873 2004-09-03  Derek Price  <derek@ximbiot.com>
2874
2875         * log-buffer.c, rsh-client.c, client.c: Reformat function headers.
2876         Remove unnecessary typecasts and prototypes.
2877         * client.h: Remove unnecessary extern declarations on protos.
2878
2879 2004-09-03  Derek Price  <derek@ximbiot.com>
2880
2881         * sanity.sh (skip): New function.
2882         (sshstdio): Use new function.
2883         (writeproxy): Skip test when rsync isn't found.
2884
2885 2004-09-02  Mark D. Baushke  <mdb@cvshome.org>
2886
2887         * server.c (serve_directory): C89 compilers do not like mixed
2888         declarations and code.
2889
2890 2004-08-19  Mark D. Baushke  <mdb@cvshome.org>
2891
2892         * sanity.sh (sync-secondary): 'dirname -b' fails during the
2893         spacefiles-5 test on FreeBSD, so use 'dirname -- "\$dir"' for now
2894         and look to AS_DIRNAME at some future date.
2895
2896 2004-08-19  Derek Price  <derek@ximbiot.com>
2897
2898         * sanity.sh (ssh-wrapper): Create for $proxy mode too & forward CVS_PID
2899         for crerepos.
2900
2901 2004-08-18  Mark D. Baushke  <mdb@cvshome.org>
2902
2903         * sanity.sh (writeproxy): Use CVS_PID instead of PPID as the
2904         former environment variable is set by cvs and the latter is
2905         NOT set by all bourne shells.
2906
2907 2004-08-18  Mark D. Baushke  <mdb@cvshome.org>
2908
2909         * log-buffer.c (log_buffer_rewind): Avoid FreeBSD compilation
2910         error for dereferencing a void * pointer tmp as well as using it
2911         as a buffer pointer under some conditions.
2912
2913 2004-08-17  Derek Price  <derek@ximbiot.com>
2914
2915         * server.c (isProxyServer): Always compile.  Cache hostname lookup.
2916         (serve_notify): Ignore notifications in conjunction with redirects.
2917         (do_cvs_command): Send an error when !PROXY_SUPPORT and a client does
2918         not support redirects.  Only close proxy logs when they exist.
2919         (serve_command_prep): New function.
2920         * sanity.sh (secondary-wrapper, writeproxy): Dynamically switch the
2921         servers proxy/primary status for testing.
2922         (basica): Gratuitous reformatting.
2923         (devcom3, config, release): Handle some new proxy/redirect error
2924         messages.
2925
2926 2004-08-17  Derek Price  <derek@ximbiot.com>
2927
2928         * main.c (PrimaryServer): Include without PROXY_SUPPORT to support
2929         redirects.
2930         (main): Handle --primary-root without PROXY_SUPPORT.
2931         * mkmodules.c (PrimaryServer), parseinfo.c (parse_config), root.c
2932         (primary_root_add, primary_root_translate,
2933         primary_root_inverse_translate): Likewise.
2934
2935 2004-08-17  Derek Price  <derek@ximbiot.com>
2936
2937         * client.c: Misc reformatting.
2938         (handle_redirect, close_connection_to_server): New functions.
2939         (failure_exit,*): s/int/bool/.
2940         (responses): Add `Redirect'.
2941         (get_server_responses): Handle response_type_redirect.
2942         (get_responses_and_close): Use close_connection_to_server().
2943         (supported_request): Change API to use bool & const.
2944         (start_server): Handle response_type_redirect.
2945         * client.h (supported_request): Update proto.
2946         (type): Add response_type_redirect.
2947         * main.c (lookup_command_attribute): Declare arg const.
2948         * cvs.h (lookup_command_attribute): Ditto.
2949         * sever.c (requests): Create dummy `Command-prep' request.
2950
2951 2004-08-12  Derek Price  <derek@ximbiot.com>
2952
2953         * main.c (main): Don't process --primary-root without PROXY_SUPPORT.
2954         * root.c (primary_root_translate, primary_root_inverse_translate):
2955         Declare inline.
2956
2957 2004-08-11  Derek Price  <derek@ximbiot.com>
2958
2959         * ms-buffer.h, ms-buffer.c: Disable contents without PROXY_SUPPORT.
2960
2961 2004-08-11  Derek Price  <derek@ximbiot.com>
2962
2963         * server.c (isProxyServer): Declare inline.
2964         (reprocess_proxy_log): Rename to...
2965         (rewind_buf_from_net): ...this and change all callers.
2966
2967 2004-08-11  Derek Price  <derek@ximbiot.com>
2968
2969         * sanity.sh (sync-secondary): Don't bother to log sync activity.
2970
2971 2004-08-11  Derek Price  <derek@ximbiot.com>
2972
2973         * buffer.c (buf_copy_data), buffer.h (buf_copy_data), log-buffer.c
2974         (log_buffer_initialize, log_buffer_input, log_buffer_output,
2975         log_buffer_rewind, log_buffer_closelog), log-buffer.h
2976         (log_buffer_initialize), main.c (MaxProxyBufferSize), mkmodules.c
2977         (config_contents), parseinfo.c (parse_config), server.c (server):
2978         Switch eariler support for logs in memory buffers on
2979         TRUST_OS_FILE_CACHE.
2980
2981 2004-08-11  Derek Price  <derek@ximbiot.com>
2982
2983         * buffer.c (buf_free_data, buf_copy_data): Only compile with proxy
2984         support.
2985         * buffer.h: Ditto for including the protos.
2986
2987 2004-08-11  Derek Price  <derek@ximbiot.com>
2988
2989         * buffer.c (fd_buffer_input): Bracket misguided attempt at improved
2990         I/O efficiency with TRUST_OS_FILE_CACHE pragmas.
2991
2992 2004-08-10  Derek Price  <derek@ximbiot.com>
2993
2994         * cvs.h, main.c, mkmodules.c, parseinfo.c, server.c:
2995         s/MaxSecondaryBufferSize/MaxProxyBufferSize/.
2996
2997 2004-08-10  Derek Price  <derek@ximbiot.com>
2998
2999         * sever.c (secondary_log, secondary_log_out): Rename globals everywhere
3000         to...
3001         (proxy_log, proxy_log_out): ...these.
3002         (isSecondaryServer): Rename function...
3003         (isProxyServer): ...to this.
3004
3005 2004-08-10  Derek Price  <derek@ximbiot.com>
3006
3007         * log-buffer.c: #ifdef PROXY_SUPPORT in appropriate places.
3008
3009 2004-08-10  Derek Price  <derek@ximbiot.com>
3010
3011         * cvs.h, log-buffer.h, main.c, mkmodules.c, parseinfo.c, server.c:
3012         s/SECONDARY_SUPPORT/PROXY_SUPPORT/.
3013
3014 2004-08-10  Derek Price  <derek@ximbiot.com>
3015
3016         * server.c (isSecondaryServer): Declare static.
3017         * server.h (isSecondaryServer): Remove proto.
3018
3019 2004-08-10  Derek Price  <derek@ximbiot.com>
3020
3021         * log-buffer.h (log_buffer_rewind, log_buffer_closelog): Don't define
3022         protos without SECONDARY_SUPPORT.
3023         * server.c (*): #ifdef correctly for !SECONDARY_SUPPORT.
3024         * version.c (version): Remove unused code.
3025
3026 2004-08-10  Derek Price  <derek@ximbiot.com>
3027
3028         * server.c (server_cleanup): Remove unused variable.
3029
3030 2004-08-10  Derek Price  <derek@ximbiot.com>
3031
3032         * server.c (buf_from_net_save): Remove obsolete variable.
3033         (server_cleanup): Don't close BUF_FROM_NET_SAVE.
3034
3035 2004-08-09  Derek Price  <derek@ximbiot.com>
3036
3037         * sanity.sh (sync-secondary, *info): Sync only the updated directories
3038         rather than the entire repository after a write for a minor efficiency
3039         improvement.
3040         (info, taginfo): Hack *info to sync all dirs for these tests rather
3041         than rewriting the sync-secondary script to handle old-style *info
3042         format strings.
3043
3044 2004-08-05  Derek Price  <derek@ximbiot.com>
3045
3046         Beginnings of support for turning off writeproxy support (still broke.)
3047         * cvs.h (PrimaryServer, MaxSecondaryBufferSize), main.c (PrimaryServer,
3048         MaxSecondaryBufferSize), mkmodules.c (config_contents), parseinfo.c
3049         (parse_config): Switch off when writeproxy support disabled.
3050         * server.c (replace_file_offset, move_file_offset): Comment out
3051         temporarily.
3052
3053 2004-08-05  Derek Price  <derek@ximbiot.com>
3054
3055         * filesubr.c (copy_file): Don't fsync.  It's slow.
3056
3057 2004-08-05  Derek Price  <derek@ximbiot.com>
3058
3059         * buffer.c (buf_copy_data): New function.
3060         * buffer.h: Proto new function.
3061         * cvs.h (MaxSecondaryBufferSize): Declare new config global.
3062         * log-buffer.c: Allow file-backed memory buffers for "speed".
3063         (struct log_buffer): Add new fields.
3064         (log_buffer_force_file): New function.
3065         (log_buffer_initialize): Initialize new fields.
3066         (log_buffer_input, log_buffer_output): Handle logging to memory when
3067         asked.
3068         (log_buffer_disable): Remove function, moving much functionality...
3069         (log_buffer_rewind): ...to this new function and expanding.
3070         (log_buffer_closelog): Handle new fields and structs.
3071         (log_buffer_get_fd): Remove function.
3072         (setup_logfiles): Use new _initialize API.
3073         * log-buffer.h: Update protos to match.
3074         * main.c (MaxSecondaryBufferSize): Init new config global.
3075         * mkmodules.c (config_contents): Add comments 4 MaxSecondaryBufferSize.
3076         * parseinfo.c (parse_config): Parse MaxSecondaryBufferSize..
3077         * server.c (secondary_log_name, secondary_log_out_name): Remove unused
3078         globals.
3079         (read_secondary_log): Remove function.
3080         (reprocess_secondary_log): Use log_buffer_rewind() instead of the above.
3081         (become_proxy): Ditto.
3082         (server_cleanup): No need to clean up logfiles any longer.
3083         (server): Use new log_buffer_initialize API.
3084
3085 2004-08-04  Derek Price  <derek@ximbiot.com>
3086
3087         * buffer.c (buf_read_data): s/abort/assert/.
3088
3089 2004-08-04  Derek Price  <derek@ximbiot.com>
3090
3091         * server.c (loop_over_inputs): Remove function, moving contents back...
3092         (server): ...to here.
3093
3094 2004-08-03  Derek Price  <derek@ximbiot.com>
3095
3096         Checking in IO changes intended to improve speed for posterity since
3097         they actually increase CPU usage by about .2% in remote mode and 5% in
3098         writeproxy mode.
3099         * Makefile.am (cvs_SOURCES): Add ms-buffer.c & ms-buffer.h.
3100         * buffer.c (buf_free_data): New function.
3101         (buf_read_data): s/abort/assert/.
3102         (fd_buffer_input): Try to improve efficiency of blocking read.
3103         * buffer.h (buf_free_data): New proto.
3104         * server.c (reprocess_secondary_log): Only reopen log and attach to
3105         BUF_FROM_NET - don't actually loop over inputs.
3106         (become_proxy, serve_co, do_cvs_command): Use new log from above.
3107         * ms-buffer.c, ms-buffer.h: New files.
3108
3109 2004-08-03  Derek Price  <derek@ximbiot.com>
3110
3111         * sanity.sh (TIMING): Make this work when not in $remotehost mode.
3112         (reserved-13b): Use sorted output.
3113
3114 2004-08-03  Derek Price  <derek@ximbiot.com>
3115
3116         * log-buffer.c: Improve comments.
3117
3118 2004-08-02  Derek Price  <derek@ximbiot.com>
3119
3120         * sanity.sh (ssh-wrapper): Export CVSUMASK to remote host.
3121         (*): Remove some hacks that were needed because CVSUMASK was not
3122         exported to the remote host.  Misc cleanup.
3123
3124 2004-07-28  Mark D. Baushke  <mdb@cvshome.org>
3125
3126         * sanity.sh (pserver-auth-no-dos): ENOMEM on Solaris 7, 8, 9, and
3127         AIX 4.3 all use the text "Not enough space" instead of the text
3128         "Cannot allocate memory" as is printed on GNU/Linux, NetBSD, and
3129         FreeBSD systems.
3130
3131 2004-07-28  Derek Price  <derek@ximbiot.com>
3132
3133         * sanity.sh (ssh-wrapper): Export CVS_RSH on remote host.
3134
3135 2004-07-28  Mark D. Baushke  <mdb@cvshome.org>
3136
3137         * sanity.sh (secondary-wrapper): Not all $TESTSHELL shells
3138         are able to set a variable and export it at the same time.
3139         Separate the value assignment from the export statement.
3140         (writeproxy-secondary-wrapper): Ditto.
3141
3142 2004-07-28  Derek Price  <derek@ximbiot.com>
3143
3144         * server.c (isSecondaryServer): Fix array out of bounds problem.
3145         * sanity.sh (ssh-wrapper): Wrap any rsh implementation we are handed to
3146         forward variables relevant to testing.  Add new $TIMING variable to
3147         allow timing of processes on a remote host.
3148         (*): Gratuitous reformatting.
3149
3150 2004-07-26  Derek Price  <derek@ximbiot.com>
3151
3152         * server.c (read_secondary_log): Minor comment corrections.
3153
3154 2004-07-23  Derek Price  <derek@ximbiot.com>
3155
3156         * buffer.c (fd_buffer_output): Don't fsync.  It is unneeded and slow.
3157         * server.c (move_file_offset, replace_file_offset): Ditto.
3158         * log-buffer.c (log_buffer_flush_log): Remove function.
3159
3160 2004-07-19  Derek Price  <derek@ximbiot.com>
3161
3162         * log-buffer.c (log_buffer_disable): Return log FILE *.  Don't close
3163         log.  Fix header comment.
3164         (log_buffer_closelog): New function.
3165         * log-buffer.h: Update protos to match.
3166         * server.c (read_secondary_log): Rewind file pointer rather than
3167         closing and reopening file for speed.
3168         (serve_root): Close secondary log rather than just disabling when not
3169         running in secondary mode.
3170
3171 2004-07-19  Derek Price  <derek@ximbiot.com>
3172
3173         * buffer.c (buf_flush): Replace abort w/assert.
3174         * log-buffer.c (log_buffer_flush_log): New function for syncing a log.
3175         (log_buffer_flush, log_buffer_flush): Don't sync log for speed.
3176         * log-buffer.h (log_buffer_flush_log): New proto.
3177         * sanity.sh: Tidy.
3178         (run_filter): Accept file name to filter as argument.
3179         (dotest_*): pass new arg to run_filter.
3180         * server.c (read_secondary_log): Sync log before reopening.
3181
3182 2004-07-16  Derek Price  <derek@ximbiot.com>
3183
3184         * buffer.c (fd_buffer_input): Back out previous two changes due to
3185         incompatibility with current state of write proxies.
3186         * log-buffer.c (log_buffer_initialize): Handle new buffers which
3187         already have some data in them.
3188         (log_buffer_input): Don't fsync here.  It is slow.
3189         * server.c (serve_root): Disable the secondary output log too.
3190         (serve_noop, pserver_authenticate_connection): Misc cleanup.
3191         * sanity.sh: Misc gratuitous cleanup.
3192
3193 2004-07-16  Derek Price  <derek@ximbiot.com>
3194
3195         * buffer.c (fd_buffer_input): Don't overwrite the input buffer the
3196         second time through the blocking read loop.
3197
3198 2004-07-15  Derek Price  <derek@ximbiot.com>
3199
3200         * buffer.c (fd_buffer_input): Improve efficiency.
3201         * sanity.sh (modify_repo): Move timestamp race avoidance to...
3202         (sync-secondary): This script.
3203         (big): Misc cleanup.
3204
3205 2004-07-15  Derek Price  <derek@ximbiot.com>
3206
3207         * sanity.sh: Misc gratuitous cleanup.
3208         (modify_repo): Sleep 1 before rsync to avoid timestamp comparison
3209         issues.
3210
3211 2004-07-15  Derek Price  <derek@ximbiot.com>
3212
3213         * log-buffer.c (log_buffer_output): Remove extremely slow fsync call.
3214         (log_buffer_disable): Move to here so log files are sync'd before
3215         close.
3216         * sanity.sh (run_filter): New function to allow for filtering of cruft
3217         output by Rational Quantify or other profilers.
3218         (dotest_*): Call new function.
3219
3220 2004-07-13  Derek Price  <derek@ximbiot.com>
3221
3222         * server.c (prepost_proxy_proc): Add the CVSROOT string for the primary
3223         server, as documented.
3224
3225 2004-07-13  Derek Price  <derek@ximbiot.com>
3226
3227         * tag.c (tag_filesdoneproc): Don't track posttag errors.
3228         (cvstag): Move addition of successful tags to val-tags to...
3229         (tag_fileproc): ...here and...
3230         (rtag_fileproc): ...here.  Consolidate returns at single location.
3231         (*): Misc reformatting.
3232         * sanity.sh (sync-secondary): Include more data in the update-log.
3233
3234 2004-07-13  Derek Price  <derek@ximbiot.com>
3235
3236         * .cvsignore: Ignore coverage data generated by GCC.
3237
3238 2004-07-12  Derek Price  <derek@ximbiot.com>
3239
3240         * sanity.sh: Watch $servercvs and other minor fixes.
3241
3242 2004-07-12  Derek Price  <derek@ximbiot.com>
3243
3244         * server.c: Gratuitous reformatting.
3245         * sanity.sh: Misc write proxy accommodations.
3246
3247 2004-07-11  Derek Price  <derek@ximbiot.com>
3248
3249         * log.c (log_fileproc, log_expand_revlist, log_fix_singledate,
3250         log_count_print, log_tree, log_abranch, log_version), parseinfo.c
3251         (Parse_Info, parse_config), rcs.c (RCS_fully_parse, rcsbuf_getkey,
3252         rcsbuf_getrevnum, rcsbuf_valword, RCS_getbranchpoint, RCS_getdate,
3253         RCS_getrevtime, RCS_checkout, RCS_findlock_or_tip, RCS_addbranch,
3254         RCS_cmp_file, RCS_lock, RCS_unlock, RCS_delete_revs, RCS_deltas,
3255         RCS_getdeltatext, RCS_putdtree): Print primary path.
3256         * server.c (serve_kopt): Handle secondary log.
3257         * sanity.sh: Misc accommodations.
3258
3259 2004-07-11  Derek Price  <derek@ximbiot.com>
3260
3261         * checkin.c (checkout_proc): Correct vi induced typo.
3262
3263 2004-07-11  Derek Price  <derek@ximbiot.com>
3264
3265         * admin.c (postadmin_proc), commit.c (precommit_proc), edit.c
3266         (notify_proc), fileattr.c (postwatch_proc), logmsg.c (logfile_write),
3267         server.c (prepost_proxy_proc), tag.c (posttag_proc, pretag_proc): Add
3268         default %c format string.
3269         * client.c, edit.c, lock.c, fileattr.c, mkmodules.c, myndbm.c,
3270         parseinfo.c, recurse.c: Misc gratuitous cleanup.
3271         * commit.c (commit_filesdoneproc): Move loginfo call to after CVSROOT
3272         sync.
3273         * checkout.c (checkout_proc), fileattr.c (fileattr_read), myndbm.c
3274         (mydbm_open, mydbm_load_file): Print primary path.
3275         * server.c (serve_checkin_time): Handle secondary log.
3276         (prepost_proxy_proc): Move before first call.
3277         (become_proxy): Move before first call.
3278         (serve_notify): Become proxy for this request.
3279         * sanity.sh: Misc accommodations.
3280
3281 2004-07-10  Derek Price  <derek@ximbiot.com>
3282
3283         * server.c (serve_notify): Handle secondary_log.
3284
3285 2004-07-08  Derek Price  <derek@ximbiot.com>
3286
3287         Intermediate checkin.  Adds some new server requests and test fixes.
3288         * sanity.sh: Update tests to handle proxies and new hooks.
3289         * cvs.h (CVSROOTADM_PREPROXY): Alphebetize & sub correct name.
3290         * mkmodules.c (filelist): Alphabetize.
3291         * server.c (serve_max_dotdot, serve_static_directory, serve_argumentx):
3292         Handle secondary_log.
3293         * tag.c (*): Misc gratuitous cleanup.
3294
3295 2004-07-08  Derek Price  <derek@ximbiot.com>
3296
3297         Intermediate checkin.  Adds preproxy, & postproxy hooks and some test
3298         cruft to test everything.
3299
3300         * cvs.h (CVSROOTADM_*): Add new hook config files.
3301         * log.c (log_fileproc): Print primary path.
3302         * mkmodules.c (*_content): Add init content for new files.
3303         (filelist): Add new files.
3304         * rcs.c (RCS_parsercs