12005-09-30 Larry Jones <lawrence.jones@ugs.com> 2 3 * expand_path.c (expand_path): Fix memory leaks. 4 52005-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 122005-09-29 Derek Price <derek@ximbiot.com> 13 14 * main.c (main): Check for error return from time(). 15 162005-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 292005-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 342005-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 422005-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 512005-09-25 Conrad T. Pino <Conrad@Pino.com> 52 53 * rcs.c: Use "#ifdef HAVE_FSYNC" just like every where else. 54 552005-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 622005-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 782005-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 942005-09-23 Larry Jones <lawrence.jones@ugs.com> 95 96 * checkout.c (export_usage): Note that -r requires a tag. 97 982005-09-22 Derek Price <derek@ximbiot.com> 99 100 * classify.c (Classify_File): Correct comment. 101 1022005-09-22 Larry Jones <lawrence.jones@ugs.com> 103 104 * patch.c (patch_usage): Document -k option. 105 1062005-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 1342005-09-21 Derek Price <derek@ximbiot.com> 135 136 * entries.c: Remove obsolete comment. 137 1382005-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 1442005-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 1532005-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 1582005-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 1672005-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 1772005-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 1822005-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 1892005-09-08 Larry Jones <lawrence.jones@ugs.com> 190 191 * server.c (parseServerOptions): getopt() returns int, not char. 192 1932005-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 2002005-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 2102005-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 2172005-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 2362005-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 2612005-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 2942005-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 3052005-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 3172005-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 3232005-09-01 Derek Price <derek@ximbiot.com> 324 325 * recurse.c: Update bug report email address. 326 3272005-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 3522005-08-31 Derek Price <derek@ximbiot.com> 353 354 * sanity.sh (close-stdout): Remove archive dir when done. 355 3562005-08-31 Larry Jones <lawrence.jones@ugs.com> 357 358 * import.c (import_descend): Lock repository directory during import. 359 3602005-08-31 Derek Price <derek@ximbiot.com> 361 362 * server.c (isSamePath): Compare args rather than assuming values. 363 3642005-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 3742005-08-09 Derek Price <derek@ximbiot.com> 375 376 * sanity.sh: Remove debugging echo. 377 (watch6, watch6-0): Clean up properly. 378 3792005-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 3842005-07-20 Derek Price <derek@ximbiot.com> 385 386 * main.c: s/cvshome.org/nongnu.org.etc.../. 387 3882005-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 3932005-07-12 Derek Price <derek@ximbiot.com> 394 395 * client.c: Update fwrite usage to use size & count in the standard 396 order. 397 3982005-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 4032005-06-28 Derek Price <derek@ximbiot.com> 404 405 * server.c (serve_co): Remove obsolete support for Repository request. 406 4072005-06-10 Derek Price <derek@ximbiot.com> 408 409 * filesubr.c, ignore.c, import.c, vers_ts.c: Include "lstat.h". 410 4112005-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 4222005-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 4302005-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 4652005-06-03 Derek Price <derek@ximbiot.com> 466 467 * zlib.c (compress_buffer_input): Update comment. 468 4692005-06-03 Derek Price <derek@ximbiot.com> 470 471 * error.c (error): Correct spelling and grammar in comment. 472 4732005-06-03 Derek Price <derek@ximbiot.com> 474 475 * modules.c (my_module), wrappers.c (wrap_add): Use new expand_path 476 API. 477 4782005-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 4902005-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 4992005-06-02 Derek Price <derek@ximbiot.com> 500 501 * sanity.sh (config): Simplify cleanup. 502 5032005-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 5112005-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 5162005-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 5232005-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 5462005-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 5532005-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 5582005-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 5652005-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 5712005-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 5812005-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 5862005-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 5912005-05-17 Derek Price <derek@ximbiot.com> 592 593 * sanity.sh: Use a predictable umask. 594 5952005-05-13 Derek Price <derek@ximbiot.com> 596 597 * login.c (password_entry_parseline): Placate gcc -Wall. 598 5992005-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 6172005-05-09 Derek Price <derek@ximbiot.com> 618 619 * error.c (error): Avoid unportable calls to vsyslog. 620 6212005-05-09 Derek Price <derek@ximbiot.com> 622 623 * history.c (history_write): Add FIXME. 624 6252005-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 6312005-05-04 Derek Price <derek@ximbiot.com> 632 633 * error.c (error): Avoid recursion and syslog the problem. 634 6352005-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 6402005-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 6452005-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 6502005-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 6582005-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 6632005-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 6792005-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 6842005-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 7002005-04-28 Derek Price <derek@ximbiot.com> 701 702 * sanity.sh (lockfiles): Port some locking tests over from 1.12.x. 703 7042005-04-28 Derek Price <derek@ximbiot.com> 705 706 * lock.c (clear_lock): Improve comment. 707 7082005-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 7142005-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 7202005-04-25 Derek Price <derek@ximbiot.com> 721 722 * mkmodules.c (mkmodules): Remove `#if 0' and reformat comment. 723 7242005-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 7342005-04-20 Mark D. Baushke <mdb@cvshome.org> 735 736 * sanity.sh (rcs4): Fix a typo. 737 7382005-04-20 Derek Price <derek@ximbiot.com> 739 740 * sanity.sh (rcs5): Minor cosmetic change. 741 7422005-04-20 Derek Price <derek@ximbiot.com> 743 744 * sanity.sh (tests): Add rcs4. 745 (rcs5): Add comments. 746 7472005-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 7542005-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 7622005-03-26 Mark D. Baushke <mdb@cvshome.org> 763 764 * checkout.c (checkout_proc): Use Xasprintf/xstrdup instead of 765 xmalloc/strcpy+strcat. 766 7672005-03-22 Mark D. Baushke <mdb@cvshome.org> 768 769 * Makefile.in: Regenerated. 770 7712005-03-22 Mark D. Baushke <mdb@cvshome.org> 772 773 * rcs.c (linevector_add): Use xnrealloc. 774 * server.c (serve_argument): Ditto. 775 7762005-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 8032005-03-18 Derek Price <derek@ximbiot.com> 804 805 * server.c: Reindent pragmas. 806 (become_proxy): Add parentheses for -Wall. 807 8082005-03-18 Derek Price <derek@ximbiot.com> 809 810 * error.c (error): Simplify using vasnprintf. 811 8122005-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 8252005-03-17 Derek Price <derek@ximbiot.com> 826 827 * rcs.h (RCSNode): Improve comment. 828 * rcs.c (RCS_head): Ditto, plus gratuitous reformatting. 829 8302005-03-17 Derek Price <derek@ximbiot.com> 831 832 * rcs.c (RCS_deltas): Use rcs->print_path. 833 8342005-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 8442005-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 8532005-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 8582005-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 8632005-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 8872005-03-17 Derek Price <derek@ximbiot.com> 888 889 * client.c (call_in_directory): Put function call after var decls. 890 8912005-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 9022005-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 9392005-03-16 Derek Price <derek@ximbiot.com> 940 941 * history.c (history_write): Remove test that always evaluates to 942 false. 943 9442005-03-16 Derek Price <derek@ximbiot.com> 945 946 * server.c (become_proxy): Close pipe to primary when pipe from it 947 closes. 948 9492005-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 9542005-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 9602005-03-16 Derek Price <derek@ximbiot.com> 961 962 * logmsg.c (do_verify): Don't check for NULL return from xfopen(). 963 9642005-03-16 Derek Price <derek@ximbiot.com> 965 966 * sanity.sh (debug-log-nonfatal): New test. 967 9682005-03-16 Derek Price <derek@ximbiot.com> 969 970 * sanity.sh (writeproxy-ssh-noredirect): Don't unconditionally create 971 a primary debug log. 972 9732005-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 9842005-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 9892005-03-16 Derek Price <derek@ximbiot.com> 990 991 * server.c (cvs_outerr): Quote error text in syslog messages. 992 9932005-03-15 Mark D. Baushke <mdb@cvshome.org> 994 995 * history.c (select_hrec): Avoid possible memory leak. 996 9972005-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 10022005-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 10072005-03-12 Mark D. Baushke <mdb@cvshome.org> 1008 1009 * history.c (save_file): Bug fix from last change. 1010 10112005-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 10362005-03-11 Mark D. Baushke <mdb@cvshome.org> 1037 1038 * modules.c (my_module): Protect against free (NULL) code path. 1039 10402005-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 10472005-03-10 Derek Price <derek@ximbiot.com> 1048 1049 * diff.c (diff_fileproc): Remove unnecessary check for NULL. 1050 10512005-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 10752005-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 10802005-03-10 Mark D. Baushke <mdb@cvshome.org> 1081 1082 * zlib.c: Include "pagealign_alloc.h". 1083 10842005-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 10972005-03-09 Mark D. Baushke <mdb@cvshome.org> 1098 1099 * history.c (history, save_file): Cleanup the API to match the 1100 comments. 1101 11022005-03-08 Derek Price <derek@ximbiot.com> 1103 1104 * rcs.c: Define MAP_FILE & MAP_FAILED when necessary. 1105 11062005-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 11152005-03-08 Larry Jones <lawrence.jones@ugs.com> 1116 1117 * release.c (release): Remove unneeded code. 1118 11192005-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 11242005-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 11442005-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 11492005-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 11552005-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 11732005-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 11802005-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 11992005-03-01 Derek Price <derek@ximbiot.com> 1200 1201 * subr.c (get_date): Minor reformatting. 1202 12032005-03-01 Derek Price <derek@ximbiot.com> 1204 1205 * subr.c (get_date): Replace obsolete timeb cruft in this stub. 1206 12072005-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 12222005-02-28 Derek Price <derek@ximbiot.com> 1223 1224 * edit.c (notify_proc), logmsg.c (logfile_write): Minor reformatting. 1225 12262005-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 12312005-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 12502005-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 12552005-02-26 Derek Price <derek@ximbiot.com> 1256 1257 * root.c: Gratuitous reformatting. 1258 12592005-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 12652005-02-26 Derek Price <derek@ximbiot.com> 1266 1267 * server.c: Include netdb.h with server support. Other reformatting. 1268 12692005-02-25 Derek Price <derek@ximbiot.com> 1270 1271 * sanity.sh (multiroot2-9a): Correct for new TRACE message. 1272 12732005-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 12792005-02-25 Derek Price <derek@ximbiot.com> 1280 1281 * client.c (send_modified): Suppress a -Wall warning. 1282 12832005-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 12932005-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 13012005-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 13072005-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 13122005-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 13312005-02-23 Derek Price <derek@ximbiot.com> 1332 1333 * tag.c (tag): Handle -r<tag>:<date>. 1334 * sanity.sh (tagdate-13.*): New tests. 1335 13362005-02-23 Derek Price <derek@ximbiot.com> 1337 1338 * annotate.c (annotate), ls.c (ls): Handle -r<tag>:<date>. 1339 13402005-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 13462005-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 13652005-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 13702005-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 13922005-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 13982005-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 14032005-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 14152005-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 14202005-02-08 Derek Price <derek@ximbiot.com> 1421 1422 * rsh-client.c: Some reformatting. 1423 14242005-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 14292005-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 14342005-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 14392005-01-31 Derek Price <derek@ximbiot.com> 1440 1441 * main.c: Rephrase --version message. 1442 * sanity.sh (version-1): Update to match. 1443 14442005-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 14542005-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 14602005-01-29 Derek Price <derek@ximbiot.com> 1461 1462 * sanity.sh (writeproxy-ssh-noredirect): Remove some commented out 1463 code. 1464 14652005-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 14712005-01-20 Brian Murphy <brian@murphy.dk> 1472 1473 * server.c fixing the style of the pam function calls and if 1474 statements 1475 14762005-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 14872004-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 14922004-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 14982004-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 15112004-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 15162004-12-08 Derek Price <derek@ximbiot.com> 1517 1518 * root.c (Name_Root): s/TRACE_FUNCTION/TRACE_FLOW/. 1519 15202004-12-08 Derek Price <derek@ximbiot.com> 1521 1522 * root.c (parse_cvsroot): Suppress -Wall warning. 1523 15242004-12-08 Derek Price <derek@ximbiot.com> 1525 1526 * root.c (parse_cvsroot): findnode() compares LIST to NULL w/o help. 1527 15282004-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 15342004-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 15422004-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 15572004-11-30 Larry Jones <lawrence.jones@ugs.com> 1558 1559 * mkmodules.c (config_contents): Add LocalKeyword and KeywordExpand, 1560 misc. cleanup. 1561 15622004-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 15722004-11-30 Derek Price <derek@ximbiot.com> 1573 1574 * parseinfo.c (readBool): Reorder arguments to error() and improve 1575 header comment. 1576 15772004-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 15852004-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 15912004-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 15962004-11-22 Mark D. Baushke <mdb@cvshome.org> 1597 1598 * sanity.sh (info): Ignore comments in verifymsg test. 1599 16002004-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 16092004-11-19 Derek Price <derek@ximbiot.com> 1610 1611 * subr.c (Xasnprintf): Improve header comment block. 1612 16132004-11-19 Derek Price <derek@ximbiot.com> 1614 1615 * root.c (normalize_cvsroot): Improve header comment block. 1616 16172004-11-19 Derek Price <derek@ximbiot.com> 1618 1619 * server.c: Misc reformatting and comment corrections. 1620 16212004-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 16332004-11-19 Derek Price <derek@ximbiot.com> 1634 1635 * server.c (isThisHost): strcasecmp before consulting the DNS as an 1636 optimization. 1637 16382004-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 16462004-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 16512004-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 16642004-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 16692004-11-17 Derek Price <derek@ximbiot.com> 1670 1671 * Makefile.am (distclean-local): Clean check.plog~. 1672 16732004-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 16782004-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 16862004-11-10 Derek Price <derek@ximbiot.com> 1687 1688 * sanity.sh: Actually parse -e option like we claim to. 1689 16902004-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 16982004-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 17032004-11-09 Mark D. Baushke <mdb@cvshome.org> 1704 1705 * sanity.sh (expr_tooltest3): Bugfix. Use $expr rather than $EXPR. 1706 17072004-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 17122004-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 17352004-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 17402004-11-08 Derek Price <derek@ximbiot.com> 1741 1742 * sanity.sh (run_filter): Add function header comment block. 1743 17442004-11-07 Larry Jones <lawrence.jones@ugs.com> 1745 1746 * sanity.sh: Remove trailing / from cp -r commands. 1747 17482004-11-04 Derek Price <derek@ximbiot.com> 1749 1750 * gssapi-client.c (connect_to_gserver): Silence gcc -Wall. 1751 17522004-11-04 Derek Price <derek@ximbiot.com> 1753 1754 * sanity.sh (set_bad_tool): Remove unnecessary quotes. 1755 17562004-11-04 Derek Price <derek@ximbiot.com> 1757 1758 * sanity.sh: s/depends_on_/require/. 1759 17602004-11-04 Derek Price <derek@ximbiot.com> 1761 1762 * sanity.sh (find_tool): Eliminate variable with single reference. 1763 17642004-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 17712004-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 17762004-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 17822004-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 17872004-11-03 Mark D. Baushke <mdb@cvshome.org> 1788 1789 * sanity.sh (depends_on_rsync): Deal with missing rsync. 1790 17912004-11-03 Mark D. Baushke <mdb@cvshome.org> 1792 1793 * sanity.sh (depends_on_rsync): Include rsync version information 1794 in output. 1795 17962004-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 18012004-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 18062004-11-03 Derek Price <derek@ximbiot.com> 1807 1808 * subr.c (Xreadlink): Remove MAXSIZE macro. Minor reformatting. 1809 18102004-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 18242004-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 18312004-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 18362004-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 18432004-11-01 Derek Price <derek@ximbiot.com> 1844 1845 * sanity.sh (rcslib): Fix typo in path. 1846 18472004-11-01 Derek Price <derek@ximbiot.com> 1848 1849 * sanity.sh (rcslib): Test a link to a path longer than 128 1850 characters. 1851 18522004-10-30 Mark D. Baushke <mdb@cvshome.org> 1853 1854 * patch.c (patch_cleanup): Add signal argument and use it. 1855 18562004-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 18652004-10-30 Mark D. Baushke <mdb@cvshome.org> 1866 1867 * server.c (isThisHost): Deal with possibility of a missing 1868 hstrerror() function. 1869 18702004-10-29 Derek Price <derek@ximbiot.com> 1871 1872 * server.c (server_root, move_file_offset, replace_file_offset): 1873 Remove dead code. 1874 18752004-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 18802004-10-29 Derek Price <derek@ximbiot.com> 1881 1882 * server.c (isSameHost): Handle gethostname & gethostbyname errors. 1883 18842004-10-29 Derek Price <derek@ximbiot.com> 1885 1886 * server.c (isSameHost): Use strcasecmp to compare host names. 1887 18882004-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 18932004-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 18982004-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 19052004-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 19122004-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 19172004-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 19242004-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 19332004-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 19382004-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 19482004-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 19592004-10-27 Mark D. Baushke <mdb@cvshome.org> 1960 1961 * sanity.sh (tagdate): Provide more output. 1962 19632004-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 19702004-10-26 Mark D. Baushke <mdb@cvshome.org> 1971 1972 * server.c (isProxyServer): Fix hostname setup. 1973 19742004-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 19862004-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 19922004-10-26 Derek Price <derek@ximbiot.com> 1993 1994 * sanity.sh (import-quirks): Test an even branch number. 1995 19962004-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 20032004-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 20082004-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 20132004-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 20192004-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 20302004-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 20352004-10-23 Mark D. Baushke <mdb@cvshome.org> 2036 2037 * socket-client.c (socket_buffer_initialize): Drop obsolete 2038 arguments to buf_initialize(). 2039 20402004-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 20482004-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 20532004-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 20592004-10-22 Derek Price <derek@ximbiot.com> 2060 2061 * client.c, update.c: Use new MD5 interface. 2062 20632004-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 20682004-10-22 Mark D. Baushke <mdb@cvshome.org> 2069 2070 * sanity.sh (tagdate): Fix typo. 2071 20722004-10-21 Derek Price <derek@ximbiot.com> 2073 2074 * subr.c: #include vasnprintf.h to avoid compiler warning. 2075 20762004-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 20812004-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 20862004-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 20932004-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 21002004-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 21092004-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 21142004-10-20 Derek Price <derek@ximbiot.com> 2115 2116 * add.c (add): Avoid unnecessary typecast. 2117 21182004-10-20 Mark D. Baushke <mdb@cvshome.org> 2119 2120 * Makefile.in: Regenerate for new configure.in. 2121 21222004-10-19 Mark D. Baushke <mdb@cvshome.org> 2123 2124 * add.c (add): Backout last typecasts cleanup. 2125 21262004-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 21322004-10-19 Derek Price <derek@ximbiot.com> 2133 2134 * add.c (add): Avoid unnecessary typecasts. 2135 21362004-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 21442004-10-19 Derek Price <derek@ximbiot.com> 2145 2146 * history.c: Remove unecessary typecasts. Some reformatting. 2147 21482004-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 21542004-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 21602004-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 21732004-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 21782004-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 21842004-10-14 Mark D. Baushke <mdb@cvshome.org> 2185 2186 * server.c (server_pause_check, do_cvs_command, server_cleanup): 2187 Avoid typecasts. 2188 21892004-10-14 Derek Price <derek@ximbiot.com> 2190 2191 * gssapi-client.c: Use new size_t buffer APIs. 2192 21932004-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 22172004-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 22252004-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 22302004-10-07 Derek Price <derek@ximbiot.com> 2231 2232 * Makefile.am (cvs_SOURCES): Add parseinfo.h. 2233 22342004-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 22422004-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 22542004-10-06 Derek Price <derek@ximbiot.com> 2255 2256 * release.h: Silence gcc -Wall. 2257 22582004-10-06 Derek Price <derek@ximbiot.com> 2259 2260 * cvs.h: Move include of getopt.h to system.h with similar headers. 2261 22622004-10-06 Derek Price <derek@ximbiot.com> 2263 2264 * login.c: Include getpass.h. 2265 22662004-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 22732004-10-06 Derek Price <derek@ximbiot.com> 2274 2275 * cvs.h: Move getopt.h and regex.h into the GNULIB include section. 2276 22772004-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 22872004-10-06 Derek Price <derek@ximbiot.com> 2288 2289 * client.c (send_file_names): Back out broken portion of previous 2290 change. 2291 22922004-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 22982004-10-06 Derek Price <derek@ximbiot.com> 2299 2300 * checkout.c, commit.c, edit.c, rcs.c: Avoid typecasts. Some 2301 reformatting. 2302 23032004-10-06 Derek Price <derek@ximbiot.com> 2304 2305 * client.c: Avoid more typecasts. Some reformatting. 2306 23072004-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 23132004-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 23182004-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 23232004-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 23292004-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 23672004-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 23822004-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 23882004-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 23942004-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 24002004-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 24062004-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 24322004-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 24472004-10-01 Derek Price <derek@ximbiot.com> 2448 2449 * server.c (serve_questionable): Use pending errors per API. 2450 24512004-10-01 Derek Price <derek@ximbiot.com> 2452 2453 * repos.c (Name_Repository): asnprintf, not sprintf. 2454 24552004-10-01 Derek Price <derek@ximbiot.com> 2456 2457 * sanity.sh (ignore-11r): Rename second occurance to... 2458 (ignore-11ar): ...this. 2459 24602004-10-01 Derek Price <derek@ximbiot.com> 2461 2462 * sanity.sh (1): Rename to... 2463 (init-1): ...this. 2464 24652004-10-01 Derek Price <derek@ximbiot.com> 2466 2467 * repos.c (Name_Repository): Simplify string construction with 2468 asnprintf(). Improve comment. Some reformatting. 2469 24702004-10-01 Derek Price <derek@ximbiot.com> 2471 2472 * release.c (release): Simplify string construction with asnprintf(). 2473 24742004-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 24792004-09-29 Derek Price <derek@ximbiot.com> 2480 2481 * sanity.sh (config): Handle $SECONDRY_ROOT_DIRNAME output in $proxy 2482 mode. 2483 24842004-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 24892004-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 25342004-09-29 Derek Price <derek@ximbiot.com> 2535 2536 * history.h: Protect against multiple include. 2537 25382004-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 25472004-09-29 Derek Price <derek@ximbiot.com> 2548 2549 * admin.c (admin): s/int/bool/ as appropriate. Some reformatting. 2550 25512004-09-29 Derek Price <derek@ximbiot.com> 2552 2553 * history.c (history_write): Use asnprintf(). Some reformatting. 2554 25552004-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 25612004-09-29 Derek Price <derek@ximbiot.com> 2562 2563 * client.c (start_server): Use bool in place of int. 2564 25652004-09-29 Derek Price <derek@ximbiot.com> 2566 2567 * subr.c (cvs_trace): Correct header comment. Some reformatting. 2568 25692004-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 25752004-09-28 Derek Price <derek@ximbiot.com> 2576 2577 * sanity.sh (writeproxy): Remove some setup obsoleted by redirects. 2578 25792004-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 25962004-09-24 Derek Price <derek@ximbiot.com> 2597 2598 * sanity.sh (parseroot2): Correct two test names. Restore CVSROOT. 2599 26002004-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 26062004-09-24 Derek Price <derek@ximbiot.com> 2607 2608 * sanity.sh (parseroot2): Use remoteonly. 2609 26102004-09-24 Derek Price <derek@ximbiot.com> 2611 2612 * sanity.sh (tests): Add parseroot2. 2613 26142004-09-24 Derek Price <derek@ximbiot.com> 2615 2616 * recurse.c (do_recursion, do_dir_proc): Make process_this_directory a 2617 boolean. 2618 26192004-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 26362004-09-24 Mark D. Baushke <mdb@cvshome.org> 2637 2638 * buffer.c (buf_append_buffer): Fix typo in comment. 2639 26402004-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 26462004-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 26512004-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 26562004-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 26622004-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 26682004-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 26732004-09-17 Derek Price <derek@ximbiot.com> 2674 2675 * buffer.c (fd_set_block): Ignore FreeBSD /dev/null problem. 2676 26772004-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 26842004-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 26892004-09-15 Derek Price <derek@ximbiot.com> 2690 2691 * sanity.sh (sync-secondary, writeproxy, writeproxy-noredirect): Remove 2692 redundant checks for $RSYNC readability. 2693 26942004-09-15 Derek Price <derek@ximbiot.com> 2695 2696 * sanity.sh: Only find $RSYNC once. 2697 26982004-09-15 Derek Price <derek@ximbiot.com> 2699 2700 * sanity.sh (writeproxy, writeproxy-noredirect): Find $RSYNC in a 2701 portable manner. 2702 27032004-09-15 Mark D. Baushke <mdb@cvshome.org> 2704 2705 * sanity.sh: Find $RSYNC in a portable manner. 2706 27072004-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 27132004-09-15 Derek Price <derek@ximbiot.com> 2714 2715 * buffer.c (buf_copy_data): Pass args to buf_append_data correctly. 2716 27172004-09-15 Derek Price <derek@ximbiot.com> 2718 2719 * sanity.sh: Set $RSYNC in proxy mode. 2720 27212004-09-15 Derek Price <derek@ximbiot.com> 2722 2723 * main.c: Fix typo in comment. 2724 27252004-09-15 Derek Price <derek@ximbiot.com> 2726 2727 * rcs.c: s/abort/assert/. Reformat function headers. Remove 2728 unnecessary typecasts & prototypes. 2729 27302004-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 27412004-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 27602004-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 27662004-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 27722004-09-09 Derek Price <derek@ximbiot.com> 2773 2774 * buffer.c (packetizing_buffer_input): s/int/size_t/ as appropriate. 2775 27762004-09-09 Mark D. Baushke <mdb@cvshome.org> 2777 2778 * root.c (primary_root_inverse_translate): No longer inline. 2779 27802004-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 27862004-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 27922004-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 27972004-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 28072004-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 28132004-09-04 Derek Price <derek@ximbiot.com> 2814 2815 * socket-client.c (socket_client_initialize): Pass new args to 2816 buf_initialize. 2817 28182004-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 28302004-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 28372004-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 28532004-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 28612004-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 28662004-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 28732004-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 28792004-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 28852004-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 28902004-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 28962004-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 29012004-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 29072004-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 29132004-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 29262004-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 29352004-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 29512004-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 29572004-08-11 Derek Price <derek@ximbiot.com> 2958 2959 * ms-buffer.h, ms-buffer.c: Disable contents without PROXY_SUPPORT. 2960 29612004-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 29672004-08-11 Derek Price <derek@ximbiot.com> 2968 2969 * sanity.sh (sync-secondary): Don't bother to log sync activity. 2970 29712004-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 29812004-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 29872004-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 29922004-08-10 Derek Price <derek@ximbiot.com> 2993 2994 * cvs.h, main.c, mkmodules.c, parseinfo.c, server.c: 2995 s/MaxSecondaryBufferSize/MaxProxyBufferSize/. 2996 29972004-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 30052004-08-10 Derek Price <derek@ximbiot.com> 3006 3007 * log-buffer.c: #ifdef PROXY_SUPPORT in appropriate places. 3008 30092004-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 30142004-08-10 Derek Price <derek@ximbiot.com> 3015 3016 * server.c (isSecondaryServer): Declare static. 3017 * server.h (isSecondaryServer): Remove proto. 3018 30192004-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 30262004-08-10 Derek Price <derek@ximbiot.com> 3027 3028 * server.c (server_cleanup): Remove unused variable. 3029 30302004-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 30352004-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 30442004-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 30532004-08-05 Derek Price <derek@ximbiot.com> 3054 3055 * filesubr.c (copy_file): Don't fsync. It's slow. 3056 30572004-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 30852004-08-04 Derek Price <derek@ximbiot.com> 3086 3087 * buffer.c (buf_read_data): s/abort/assert/. 3088 30892004-08-04 Derek Price <derek@ximbiot.com> 3090 3091 * server.c (loop_over_inputs): Remove function, moving contents back... 3092 (server): ...to here. 3093 30942004-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 31092004-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 31142004-08-03 Derek Price <derek@ximbiot.com> 3115 3116 * log-buffer.c: Improve comments. 3117 31182004-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 31242004-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 31312004-07-28 Derek Price <derek@ximbiot.com> 3132 3133 * sanity.sh (ssh-wrapper): Export CVS_RSH on remote host. 3134 31352004-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 31422004-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 31502004-07-26 Derek Price <derek@ximbiot.com> 3151 3152 * server.c (read_secondary_log): Minor comment corrections. 3153 31542004-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 31602004-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 31712004-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 31822004-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 31932004-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 31982004-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 32052004-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 32112004-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 32202004-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 32252004-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 32342004-07-13 Derek Price <derek@ximbiot.com> 3235 3236 * .cvsignore: Ignore coverage data generated by GCC. 3237 32382004-07-12 Derek Price <derek@ximbiot.com> 3239 3240 * sanity.sh: Watch $servercvs and other minor fixes. 3241 32422004-07-12 Derek Price <derek@ximbiot.com> 3243 3244 * server.c: Gratuitous reformatting. 3245 * sanity.sh: Misc write proxy accommodations. 3246 32472004-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 32592004-07-11 Derek Price <derek@ximbiot.com> 3260 3261 * checkin.c (checkout_proc): Correct vi induced typo. 3262 32632004-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 32812004-07-10 Derek Price <derek@ximbiot.com> 3282 3283 * server.c (serve_notify): Handle secondary_log. 3284 32852004-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 32952004-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_parsercsfile_i): Set print_path. Misc gratuitous cleanup. 3305 (freercsnode): Free print_path. 3306 * rcs.h (struct rcsnode): Add print_path. 3307 * rcscmds.c (RCS_merge, RCS_exec_rcsdiff): Print primary path. 3308 * server.c (isSecondaryServer): No longer static. 3309 (serve_sticky, serve_argumentx): Handle secondary logging. 3310 (prepost_proxy_proc): New function. 3311 (become_proxy): Call pre & post proxy hooks. Handle IO closing better. 3312 * server.h (isSecondaryServer): No longer static. 3313 * status.c (status_fileproc): Print primary path. 3314 * sanity.sh: Accept --proxy argument and run in write proxy mode when 3315 seen. Misc fixes to account for other changes. Misc gratuitous 3316 cleanup. 3317 33182004-07-02 Derek Price <derek@ximbiot.com> 3319 3320 Woo-hoo! Write proxies work! 3321 * client.c (open_connection_to_server): Set up log files... 3322 (start_server): ...here. 3323 * server.c (secondary_log_out_name, secondary_log_out): New globals. 3324 (argument_cound, argument_vector, argument_vector_size): Move before... 3325 (reprocess_secondary_log): ...referencing here. Assume secondary_log. 3326 (read_secondary_log): Accept buf & name args. 3327 (serve_modified, serve_unchanged, serve_is_modified, serve_entry): 3328 Handle logging pass. 3329 (become_proxy): Use new output-to-client-log. Verify buffers still 3330 exist before using. 3331 (output_dir): Translate paths to the client on the secondary. 3332 (serve_co): Only reprocess the secondary log when one exists. 3333 (server_cleanup): Free buf after shutdown. Dispose of client output 3334 log. 3335 (server): Create client output log. 3336 (*): Misc reformatting & detypecasting. 3337 * log-buffer.c (log_buffer_output): Handle fatal_errors. 3338 (log_buffer_flush): Don't operate on NULL streams. 3339 (log_buffer_disable): Reformat so as not to confuse the optimizer. 3340 * root.c (primary_root_translate): Remove unused variable and redundant 3341 slash. 3342 (primary_root_inverse_translate): New function. 3343 * root.h: Add new proto. 3344 * sanity.sh (writeproxy): Wrap server executables to set args and 3345 server variables properly. Fill in some test gaps. Correct `cd' args. 3346 Clean up wrappers. 3347 33482004-06-30 Derek Price <derek@ximbiot.com> 3349 3350 * root.h (primary_root_add, primary_root_translate): New protos. 3351 * root.c (primary_root_add, primary_root_translate): New functions. 3352 * main.c (long_options): Add --primary-root. Handle --primary-root 3353 and --allow-root only with SERVER_SUPPORT. 3354 (main): Ditto. 3355 * server.c (move_file_offset): Set block before fsync. Report 3356 ftruncate errors. Force sync after rearranging data. 3357 (replace_file_offset): Force sync after replacing data. 3358 (serve_directory): Translate roots based on --primary-root arg. 3359 (serve_root): Likewise & don't rewrite the log file. 3360 (become_proxy): Increment select's N arg because it is required. 3361 (do_cvs_command): Use MAX macro appropriately. 3362 * sanity.sh (writeproxy): Wrap the secondary server in such a way that 3363 it gets the --primary-root option and the primary does not. Move the 3364 primary root out of the way for the read operations to prove only the 3365 secondary was accessed. 3366 33672004-06-30 Derek Price <derek@ximbiot.com> 3368 3369 * log-buffer.c (log_buffer_input, log_buffer_output): Flush logs as 3370 soon as they are written to better diagnose hangs. 3371 33722004-06-30 Derek Price <derek@ximbiot.com> 3373 3374 * client.c (connect_to_forked_server): Compile for SERVER_SUPPORT. 3375 33762004-06-30 Derek Price <derek@ximbiot.com> 3377 3378 * buffer.c (buf_append_buffer): Handle NULL from->data. 3379 33802004-06-28 Derek Price <derek@ximbiot.com> 3381 3382 * log-buffer.c (log_buffer_flush): Sync all, not just data. 3383 * buffer.c (fd_buffer_flush): Ditto. Ignore problems synchronizing 3384 unsynchronizable descriptors. 3385 33862004-06-28 Derek Price <derek@ximbiot.com> 3387 3388 Intermediate checkin on the way to enabling the write proxy. 3389 3390 * server.c (isSecondaryServer): Handle forked primary. 3391 (read_secondary_log, move_file_offset, replace_file_offset, 3392 become_proxy): New functions. 3393 (reprocess_secondary_log): Use new read_secondary_log(). 3394 (serve_root): Replace `Root' request with new version for primary. 3395 (do_cvs_command): Use new become_proxy() function. 3396 (*): Gratuitous reformatting. 3397 (server): Open new logs and avoid opening pipes to pserver twice. 3398 * buffer.c (buf_initialize): Handle new LAST_INDEX & LAST_COUNT 3399 initializers. 3400 (*): Remove unnecessary typecasts. Gratuitous reformatting. Use 3401 assert() rather than if()/abort(). 3402 (buf_append_buffer, buf_read_data, buf_copy_lines, buf_copy_counted): 3403 Track LAST_INDEX & LAST_COUNT. 3404 (buf_read_short_line): Track LAST_INDEX & LAST_COUNT. 3405 * buffer.h (struct buffer): Add LAST_INDEX & LAST_COUNT. 3406 * cvs.h: Include minmax.h. 3407 * root.h (enum CVSmethod): Force null_method to 0. 3408 * zlib.c: Remove unnecessary typecasts. Gratuitous reformatting. Use 3409 assert() rather than if()/abort(). 3410 34112004-06-23 Derek Price <derek@ximbiot.com> 3412 3413 Checkout and probably other read-only commands now work. 3414 3415 * server.c (serve_expand_modules): Discard arguments even when 3416 reprocessing. 3417 (serve_argument): Always process arguments. 3418 (serve_wrapper_sendme_rcs_options): Process in first pass. 3419 34202004-06-23 Derek Price <derek@ximbiot.com> 3421 3422 Operate correctly in non-write proxy mode, delaying processing of most 3423 commands until after the `Root' request is received. 3424 3425 * server.c (buf_from_net_save): New global variable to store the input 3426 buffer from the client while the secondary log is being reprocessed. 3427 (reprocessing): Global to track whether we are reprocessing. 3428 (various redundant prototypes): Removed. 3429 (fd_buffer_*): Remove unneeded typecasts. 3430 (serve_valid_responses, serve_global_option, serve_set, 3431 serve_valid_requests): Avoid processing twice. 3432 (command_pid, outbuf_memory_error, input_memory_error): Moved above new 3433 references. 3434 (server): Factor loop over the client inputs to... 3435 (loop_over_inputs): ...this new function. 3436 (serve_root): Loop over secondary log of client inputs when we 3437 discover we are not the secondary. 3438 (*): Add !secondary_log assertions to verify that certain code paths 3439 are not yet taken. 3440 (do_cvs_command, serve_init): Add switch and pseudo-code comments about 3441 what will need to be done on secondary servers. 3442 (seve_noop): Print errors & "ok" in the first pass, skip "ok" but 3443 restore handling of entries and notification in the second. 3444 (serve_co): Note what will need to be done on secondaries. 3445 (server_cleanup): Deal with buf_from_net_save when necessary. 3446 34472004-06-22 Derek Price <derek@ximbiot.com> 3448 3449 * server.c (server): Move previously fatal error on failure to open a 3450 secondary log to... 3451 (serve_root): ...here, and only when we discover we are actually a 3452 secondary server. 3453 (server): Ensure an interrupt cannot dump core. 3454 34552004-06-22 Derek Price <derek@ximbiot.com> 3456 3457 Enable the writeproxy log and turn it off when we determine we are not 3458 running as a secondary server. 3459 3460 * log-buffer.c: Compile log buffer routines in server mode for write 3461 proxy. 3462 (struct log_buffer): Add fatal_error member. 3463 (log_buffer_initialize, log_buffer_input): Allow for fatal write errors 3464 for writeproxy. 3465 (log_buffer_disable): Turn off the log when asked. 3466 (log_buffer_shutdown): Close log via log_buffer_disable. 3467 (log_buffer_input, log_buffer_output, log_buffer_flush): Don't operate 3468 on the log when it doesn't exist. 3469 (*): Misc gratuitous cleanup. 3470 (setup_logfiles): Use new log_buffer_initialize API. 3471 * log-buffer.h (log_buffer_initialize, log_buffer_disable): New 3472 prototypes. 3473 (log_buffer_initialize): Update prototype. 3474 * server.c: Include log-buffer.h. Gratuitous reformatting of pragmas. 3475 (secondary_log_name, secondary_log): New globals. 3476 (server): Set up recording for writeproxy. 3477 (serve_root): Turn off recording when we determine that we are not a 3478 secondary. 3479 34802004-06-21 Derek Price <derek@ximbiot.com> 3481 3482 * sanity.sh (writeproxy): Verify that secondary is updated after a 3483 commit. Comment test that verifies that commit took place on primary. 3484 34852004-06-10 Derek Price <derek@ximbiot.com> 3486 3487 * sanity.sh (writeproxy): Test response to a failing rsync. 3488 34892004-06-09 Derek Price <derek@ximbiot.com> 3490 3491 * server.c (isSecondaryServer): New function. 3492 (MAXHOSTNAMELEN): Move to top of file and improve comment. 3493 34942004-06-09 Derek Price <derek@ximbiot.com> 3495 3496 * parseinfo.c (parse_config): Get my enum references correct. 3497 34982004-06-09 Derek Price <derek@ximbiot.com> 3499 3500 * parseinfo.c (parse_config): Verify that the ProxyServer connection 3501 method is valid. 3502 35032004-09-02 Derek Price <derek@ximbiot.com> 3504 3505 * server.c (do_cvs_command): Pass new args to fd_buffer_initialize(). 3506 (server): Don't initialize BUF_TO_NET & BUF_FROM_NET when 3507 pserver_authenticate already did. 3508 (pserver_read_line): New function to access pserver auth dialogue via 3509 buffers. 3510 (pserver_authenticate_connection): Init buffers to/from net and access 3511 via pserver_read_line() and the buffer output functions. 3512 (fd_buffer_*): Move to... 3513 * buffer.c (fd_buffer_*): ...here. Handle blocking input more 3514 efficiently. 3515 (buf_initialize): Handle get_fd() argument. 3516 (buf_nonio_initialize, packetizing_buffer_initialize): Pass new 3517 get_fd() argument. 3518 (buf_copy_data, buf_free_data, buf_read_short_line, buf_get_fd, 3519 packetizing_buffer_get_fd): New functions. 3520 (bufread_line): Wrap buf_read_short_line(). 3521 (stdio_buffer_*): Remove these functions. 3522 (*): Some reformatting of function headers. 3523 * buffer.h (struct buffer, buf_initialize): Add get_fd(). 3524 (buf_read_short_line, buf_get_fd, buf_copy_data, buf_free_data, 3525 fd_buffer_initialize): New prototypes. 3526 * client.c (get_port_number, get_cvs_port_number, 3527 get_proxy_port_number): Compile with SERVER_SUPPORT. 3528 (make_bufs_from_fds): Likewise, and accept new ROOT arg and pass on to 3529 fd_buffer_initialize(). 3530 (connect_to_pserver, connect_to_forked_server): Pass ROOT to 3531 make_bufs_from_fds(). 3532 (start_server): Factor much functionality into... 3533 (open_connection_to_server): ...this new function. 3534 * client.h (make_bufs_from_fds): Update proto. 3535 (open_connection_to_server): New proto. 3536 * log-buffer.c (log_buffer_initialize): Handle get_gd(). 3537 (log_buffer_get_fd): New function. 3538 * zlib.c (compress_buffer_initialize, compress_buffer_get_fd): Ditto 3539 twice. 3540 * rsh-client.c (start_rsh_server): Pass ROOT to make_bufs_from_fds(). 3541 * sanity.sh (pserver): Expect new error messages. 3542 35432004-09-01 Derek Price <derek@ximbiot.com> 3544 3545 * run.c: Remove unneeded typecasts. Reformat function headers. Fix 3546 trace. 3547 35482004-08-31 Derek Price <derek@ximbiot.com> 3549 3550 * subr.c (format_cmdline), cvs.h (format_cmdline): Accept bool rather 3551 than int. 3552 * admin.c, commit.c, edit.c, fileattr.c, logmsg.c, tag.c: Change all 3553 callers. 3554 * main.c (UseNewInfoFmtStrings), cvs.h (UseNewInfoFmtStrings): 3555 s/int/bool/. 3556 * parseinfo.c: Change all references. 3557 35582004-08-31 Derek Price <derek@ximbiot.com> 3559 3560 * checkout.c: Reformat function headers. Remove unnecessary typecasts 3561 and prototypes. Some other reformatting for legibility. 3562 35632004-08-31 Derek Price <derek@ximbiot.com> 3564 3565 * buffer.c: Gratuitous reformatting of header comments. 3566 s/abort/assert/. Remove unnecessary typecasts. 3567 * buffer.h: Remove unnecessary "extern" decls. Some reformatting. 3568 35692004-08-24 Derek Price <derek@ximbiot.com> 3570 3571 * recurse.c (start_recursion): Don't shorten //. to / (use //). 3572 35732004-08-24 Derek Price <derek@ximbiot.com> 3574 3575 * recurse.c (start_recursion): Strip trailing CWD indirections on 3576 repository. 3577 * sanity.sh (rstar-toplevel): Update to account for new behavior. 3578 (Report from Dan Peterson <dbpete@aol.com>.) 3579 35802004-08-24 Mark D. Baushke <mdb@cvshome.org> 3581 3582 * recurse.c (do_recursion): Correct test for calling 3583 server_pause_check to occur when locktype != CVS_LOCK_WRITE. 3584 (Patch suggested by Ian Lance Taylor <ian@wasabisystems.com> 3585 in bug#198). 3586 35872004-08-24 Derek Price <derek@ximbiot.com> 3588 3589 * sanity.sh: Update a few tests to account for the recent error message 3590 changes. 3591 35922004-08-24 Derek Price <derek@ximbiot.com> 3593 3594 * rcs.c (RCS_valid_rev): Declare arg const. 3595 * rcs.h: Likewise. 3596 35972004-08-24 Derek Price <derek@ximbiot.com> 3598 3599 * rcs.c (translate_symtag): Prevent infinite loop. 3600 * tag.c (tag_check_valid): Check tag syntax before searching for tags. 3601 * sanity.sh (tag-space): Some tests for the above. 3602 (Report from Dan Peterson <dbpete@aol.com>.) 3603 36042004-08-24 Derek Price <derek@ximbiot.com> 3605 3606 * tag.c (tag_check_valid): Use RCS_valid_rev() rather than duplicating 3607 code. Misc error message improvements. 3608 36092004-08-24 Mark D. Baushke <mdb@cvshome.org> 3610 3611 * ignore.c (ignore_directory): Include the terminating NUL 3612 character in the directory name comparison to avoid matching 3613 substrings of directories by accident. 3614 (Report and suggested fix from James E Wilson 3615 <wilson@specifixinc.com>.) 3616 * sanity.sh (modules4): Add some more tests testing the above 3617 change. 3618 36192004-08-20 Mark D. Baushke <mdb@cvshome.org> 3620 3621 * sanity.sh (binfiles): Cleanup the 2a temporary directory. 3622 36232004-08-20 Derek Price <derek@ximbiot.com> 3624 3625 Cache tags in val-tags on successful creation to avoid problems with 3626 write proxies. Merged from `writeproxy2' branch. 3627 3628 * tag.c (tag_filesdoneproc): Don't track posttag errors. 3629 (cvstag): Move addition of successful tags to val-tags to... 3630 (tag_fileproc): ...here and... 3631 (rtag_fileproc): ...here. Consolidate returns at single location. 3632 (*): Misc reformatting. 3633 3634 * tag.c (add_val_tag): New function with content factored from... 3635 (tag_check_valid): ...here. 3636 (cvstag): Call add_val_tag() when needed. 3637 * annotate.c, checkout.c, commit.c, diff.c, ls.c, patch.c, recurse.c, 3638 tag.c, update.c: Pass new args to tag_check_valid. 3639 3640 Merge of postadmin, posttag, and postwatch functionality from 3641 `writeproxy2' branch. 3642 3643 * admin.c (postadmin_proc), commit.c (precommit_proc), edit.c 3644 (notify_proc), fileattr.c (postwatch_proc), logmsg.c (logfile_write), 3645 server.c (prepost_proxy_proc), tag.c (posttag_proc, pretag_proc): Add 3646 default %c format string. 3647 3648 * cvs.h (CVSROOTADM_POSTWATCH): New macro. 3649 * fileattr.c (*): Misc cleanup. 3650 (postwatch_proc): New function. 3651 (fileattr_write): Call watch proc when done writing fileattr. 3652 * mkmodules.c (postwatch_contents): New var. 3653 (filelist): Add postwatch. 3654 * watch.c (addremove_filesdoneproc): Remove function. 3655 (watch_addremove): Don't call above function. 3656 (*): Misc cleanup. 3657 * watch.h: Remove some unnecessary "extern" decls. 3658 3659 * admin.c (postadmin_proc, admin_filesdoneproc): New functions. 3660 (admin): Pass admin_filesdoneproc() to start_recursion(). 3661 (*): Misc gratuitous cleanup. 3662 * cvs.h (CVSROOTADM_*): Alphabetize, add new hook config files. 3663 (format_cmdline): Fix proto to match change below. 3664 * mkmodules.c (*_content): Add init content for new files. Misc 3665 cleanup. 3666 (filelist): Add new files. 3667 * tag.c (struct pretag_proc_data): Move before first use. 3668 (posttag_proc, tag_filesdoneproc): New functions. 3669 (rtag_proc): Pass new procs to start_recursion(). 3670 (*): Misc gratuitous cleanup. 3671 * sanity.sh: Misc accommodations. 3672 36732004-08-19 Mark D. Baushke <mdb@cvshome.org> 3674 3675 * log-buffer.c (log_buffer_output): Protect call to fsync() 3676 with #ifdef HAVE_FSYNC. 3677 36782004-08-18 Mark D. Baushke <mdb@cvshome.org> 3679 3680 * log-buffer.c (log_buffer_input): Protect call to fsync() 3681 with #ifdef HAVE_FSYNC. 3682 36832004-08-17 Mark D. Baushke <mdb@cvshome.org> 3684 3685 * sanity.sh (sshstdio): Fix comment typo plus gratuitous 3686 reformatting. 3687 3688 * client.c (handle_m): Workaround to deal with stdio getting put 3689 into non-blocking via redirection of stderr and interaction with 3690 ssh on some platforms. On those boxes, stdio can put stdout 3691 unexpectedly into non-blocking mode which may lead to fwrite() or 3692 fflush() failing with EAGAIN, but cvs not checking for the error. 3693 (Patch suggested by Frank Hemer <frank@hemer.org>.) 3694 3695 * client.c (handle_e): Similar fix for stderr. 3696 * sanity.sh (sshstdio): New test for non-blocking stdio via ssh. 3697 36982004-08-11 Derek Price <derek@ximbiot.com> 3699 3700 * sanity.sh (basicc): Work around a problem in Linux 2.2 & Bash 2.05b 3701 which prevents a `cd ..' from a deleted directory from working. 3702 (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.) 3703 37042004-07-18 Mark D. Baushke <mdb@cvshome.org> 3705 3706 * sanity.sh (newb-123j0): Use DOTSTAR at end of response. 3707 37082004-07-17 Mark D. Baushke <mdb@cvshome.org> 3709 3710 * main.c (ImportNewFilesToVendorBranchOnly): New variable. 3711 * cvs.h (ImportNewFilesToVendorBranchOnly): Declare new variable. 3712 * import.c (import): Respect setting of 3713 ImportNewFilesToVendorBranchOnly. 3714 * mkmodules.c (config_contents): Document the default 3715 ImportNewFilesToVendorBranchOnly=no option in newly generated 3716 config files. 3717 * parseinfo.c (parse_config): Parse 3718 ImportNewFilesToVendorBranchOnly option. 3719 * sanity.sh (importX2): New test, to test 3720 ImportNewFilesToVendorBranchOnly config file option. 3721 (New feature from Chris Demetriou <cgd@broadcom.com>.) 3722 37232004-07-17 Mark D. Baushke <mdb@cvshome.org> 3724 3725 * sanity.sh (basic2-14): Use DOTSTAR to be more portable. 3726 3727 * status.c (status_fileproc): Print datetimes using output_cvs_tagged. 3728 * sanity.sh (basic2-14): Allow for an extra blank line at the end. 3729 37302004-07-16 Derek Price <derek@ximbiot.com> 3731 3732 * server.c (pamh): New global static to hold the PAM handle. 3733 (server): Close the PAM session so that logging works properly. 3734 (switch_to_user): Opens a PAM session and gets credentials from PAM so 3735 that PAM modules can change group permissions. Get the username from 3736 PAM so that PAM modules can modify the final local username. 3737 (cvs_pam_conv): Changed the assertions to allow PAM to output text to 3738 the user. 3739 (check_system_password): Renamed to... 3740 (check_pam_password): ...this. Changed argument type for username so 3741 that PAM modules can modify the username under authentication. Setting 3742 a terminal so some PAM modules which expect it to be set work, it is 3743 set to the pam servicename which defaults to the binary name. Set the 3744 username from PAM after authentication if a module has changed it. 3745 (check_password): Calls check_pam_password if PAM is enabled otherwiseu 3746 calls check_system_password. 3747 (Patch from Brian Murphy <brian@murphy.dk>.) 3748 37492004-07-15 Derek Price <derek@ximbiot.com> 3750 3751 * sanity.sh (run_filter): New function to allow for filtering of cruft 3752 output by Rational Quantify or other profilers. 3753 (dotest_*): Call new function. 3754 37552004-07-13 Derek Price <derek@ximbiot.com> 3756 3757 * .cvsignore: Ignore GCC profiling data. 3758 37592004-07-12 Derek Price <derek@ximbiot.com> 3760 3761 * client.c: Misc reformatting. 3762 37632004-07-12 Derek Price <derek@ximbiot.com> 3764 3765 * main.c: fix format_time_t to call localtime 3766 (Patch from Bart Robinson <lomew@pobox.com>.) 3767 37682004-07-02 Derek Price <derek@ximbiot.com> 3769 3770 * vers_ts.c: Gratuitous reformatting & detypecasting. 3771 37722004-06-30 Derek Price <derek@ximbiot.com> 3773 3774 * log-buffer.c (log_buffer_input, log_buffer_output): Flush logs as 3775 soon as they are written to better diagnose hangs. 3776 37772004-06-29 Derek R. Price <derek@ximbiot.com> 3778 3779 * sanity.sh (toplevel-12): Handle new error output. 3780 37812004-06-29 Derek R. Price <derek@ximbiot.com> 3782 3783 * subr.c (xrealloc_and_strcat): Use bool in place of short. 3784 37852004-06-29 Derek R. Price <derek@ximbiot.com> 3786 3787 * client.c: Gratuitous reformatting. 3788 (send_repository): Send relative Directory when server reports it is 3789 able to handle it. 3790 * server.c (serve_directory): Handle relative directories. 3791 (output_dir): Send relative directories. 3792 (requests): Add `Relative-directory' request. 3793 37942004-06-26 Mark D. Baushke <mdb@cvshome.org> 3795 3796 * import.c (import_usage): Add new -X flag. 3797 (import): Handle new -X flag. 3798 (process_import_file): Handle new -X flag. 3799 (killnew): New static flag variable to indicate use of -X flag. 3800 (preserve_initial_permissions): New function, extracted from 3801 add_rcs_file(). 3802 (expand_and_copy_contents): Likewise. 3803 (add_rcs_file): New argument, do_killnew, to cause "import -X" flag 3804 processing. Implement -X flag, and use newly abstracted functions. 3805 * rcs.h (add_rcs_file): Update prototype for do_killnew argument. 3806 * commit.c (checkaddfile): Update for add_rcs_file function change. 3807 * mkmodules.c (init): Likewise. 3808 * client.c (handle_mt): Handle an importmergecmd tag without 3809 any conflicts (for 'import -X' support). 3810 * sanity.sh (importX): New test. 3811 (New feature from Chris Demetriou <cgd@broadcom.com>.) 3812 38132004-06-22 Derek Price <derek@ximbiot.com> 3814 3815 * wrapper.c: Add explicit "void" return type to "wrap_clean_fmt_str" 3816 definition. 3817 (Patch from Conrad T. Pino <Conrad@Pino.com>.) 3818 38192004-06-09 Derek Price <derek@ximbiot.com> 3820 3821 * server.c (entries, serve_is_modified): Reorder to remove prototypes. 3822 (supported_response): Remove prototype. 3823 38242004-06-09 Derek Price <derek@ximbiot.com> 3825 3826 * commit.c, filesubr.c, history.c, server.c, wrapper.c: Various 3827 security fixes. 3828 (Original patch from Stefan Essler <s.esser@e-matters.de> & Sebastian 3829 Krahmer <krahmer@suse.de>.) 3830 3831 * cvs.h: Include xsize.h. 3832 38332004-06-09 Derek Price <derek@ximbiot.com> 3834 3835 * server.c (serve_entry, serve_is_modified, serve_unchanged): Protect 3836 against malformed entries. 3837 * sanity.sh (server): Tests for same. 3838 38392004-06-07 Larry Jones <lawrence.jones@ugsplm.com> 3840 3841 * sanity.sh (basica): More tests for string-based revision inc. 3842 38432004-06-04 Larry Jones <lawrence.jones@ugsplm.com> 3844 3845 * subr.c (increment_revnum): Rewrite ala RCS to work directly on 3846 the string rather than converting to int to avoid overflow. 3847 * sanity.sh (basica): New tests for above, update others to match. 3848 38492004-06-04 Derek Price <derek@ximbiot.com> 3850 3851 Preliminary writeproxy functionality. 3852 * main.c: Declare PrimaryServer. 3853 * cvs.h: Likewise, but extern. 3854 * mkmodules.c: Add PrimaryServer to default CVSROOT/config content. 3855 * parseinfo.c: Handle PrimaryServer line. 3856 * sanity.sh: (Failing) tests for writeproxy functionality. 3857 38582004-05-28 Derek Price <derek@ximbiot.com> 3859 3860 * main.c (format_time_t, gm_format_time_t): Use my_strftime from 3861 GNULIB rather than the system-dependant strftime. 3862 38632004-05-20 Derek Price <derek@ximbiot.com> 3864 3865 * sanity.sh: s/GMT/UTC/ where appropriate. 3866 38672004-05-20 Derek Price <derek@ximbiot.com> 3868 3869 * server.c (cvs_output_tagged): Move new server code inside a 3870 SERVER_SUPPORT block. 3871 38722004-05-19 Derek Price <derek@ximbiot.com> 3873 3874 * cvs.h (gmformat_time_t, entries_time, unix_time_stamp): New protos. 3875 * ls.c (struct long_format_data): New structure. 3876 (ls_print): Print datetimes using cvs_output_tagged. 3877 (long_format_data_delproc): New function. 3878 (ls_fileproc, ls_direntproc): Keep track of long_format_data. 3879 * main.c (Make_Date): Use standard quotes. 3880 (format_time_t, gmformat_time_t): New functions. 3881 (format_date_alloc): Use new functions. Improve comments. 3882 * server.c (cvs_output_tagged): Only output in localtime in local mode. 3883 * vers_ts.c (entries_time, unix_time_stamp): New functions. 3884 (time_stamp): Use new functions. 3885 * sanity.sh (ls, branches2): Use $ISO8601DATE where applicable. 3886 38872004-05-19 Derek Price <derek@ximbiot.com> 3888 3889 Output `cvs log' times in the local timezone. 3890 3891 * client.c (handle_mt): Handle the new "date" MT response 3892 * server.c (cvs_output_tagged): Likewise 3893 * cvs.h: Proto for format_date_alloc 3894 * main.c (format_date_alloc, tm_diff): Added. 3895 * log.c (log_version): Use MT response to tag date output. 3896 (Original patch from Bart Robinson <lomew@pobox.com>.) 3897 3898 * sanity.sh (importc, rcs, rcs4): Use TZ=GMT for the duration of these 3899 tests to obtain consistent times in output. 3900 (ISO8601DATE, ISO8601DATE1971, ISO8601DATE2034): Use more precise 3901 regex. 3902 39032004-05-19 Derek Price <derek@ximbiot.com> 3904 3905 * server.c (serve_unchanged, serve_is_modified): Overwrite existing 3906 data in timefields. Fixes CAN-2004-0396. 3907 39082004-05-15 Derek Price <derek@ximbiot.com> 3909 3910 * lock.c (Lock_Cleanup), rcs.c (rcs_cleanup), server.c 3911 (server_cleanup): Clean up inchoherent comment. 3912 39132004-05-15 Derek Price <derek@ximbiot.com> 3914 3915 * cvs.h, client.c, history.c, main.c, rcs.c, sanity.sh, server.c: 3916 Back out get_date() changes from 2004-04-28. 3917 39182004-05-14 Mark D. Baushke <mdb@cvshome.org> 3919 3920 * sanity.sh (trailingslashes): During cleanup remove topfile,v to 3921 avoid problems in later tests (editor-1). 3922 39232004-05-13 Derek Price <derek@ximbiot.com> 3924 3925 * sanity.sh (trailingslashes): Note TODO item #205 in the comment. 3926 39272004-05-13 Derek Price <derek@ximbiot.com> 3928 3929 * sanity.sh (trailingslashes): New tests to expose a bug in CVS when 3930 paths are specified with trailing slashes. This relates to TODO #205. 3931 39322004-05-13 Mark D. Baushke <mdb@cvshome.org> 3933 3934 * ls.c (ls): Use client_senddate() so the server is able to parse 3935 the date/time. 3936 39372004-05-12 Derek Price <derek@ximbiot.com> 3938 3939 * entries.c, subr.c: Gratuitous reformatting. 3940 39412004-05-12 Derek Price <derek@ximbiot.com> 3942 3943 * subr.c (file_has_conflict), vers_ts.c (time_stamp_server): Only 3944 special case "=" when it is the only character in a timestamp field. 3945 Gratuitous reformatting. 3946 * vers_ts.c (time_stamp_server): Check for NULL in a consistent manner. 3947 Gratuitous reformatting. 3948 39492004-05-12 Derek Price <derek@ximbiot.com> 3950 3951 * sanity.sh (ls): Add some new tests of the ls command with dates 3952 specified and show an assertion error when an existing file is 3953 specifically requested. 3954 (Original patch from Alexander Taler <dissent@cvshome.org>.) 3955 39562004-05-11 Mark D. Baushke <mdb@cvshome.org> 3957 3958 * sanity.sh (RCSKEYDATE): New regular expression to match the rcs 3959 keyword date format. 3960 (keyword,keywordlog): Use it. 3961 (RCSDELTADATE): New regular expression to match the internal rcs 3962 file format delta. 3963 (admin): Use it. 3964 (RCSDATE): Deleted. 3965 (ISO8601DATE}: A more exact regular expression for cvs log date 3966 output than the previous RCSDATE variable. 3967 (basica,basic2,branches,branches3,multibranch,import,importb,importc, 3968 join,modules,editor,binfiles,log,log2,keyword,multibranch2,admin, 3969 reserved,recase,multiroot,trace): 3970 Use ${ISO8601DATE} for cvs log output date patterns. 3971 (TOUCH1971,ISO8601DATE1971): New variables for test importc. 3972 (TOUCH2034,ISO8601DATE2034): Ditto. 3973 (importc): Use them. Isolate the touch commands in a sub-shell 3974 with TZ=GMT to make the time more predictable. 3975 (RAWRCSDATE2000A,RAWRCSDATE1996A,RAWRCSDATE1996B): New date variables. 3976 (ISO8601DATE2000A,ISO8601DATE1996A,ISO8601DATE1996B): Regexps to match. 3977 (rcs): Use them. 3978 (rcs4): Put the touch commands into sub-shells for temporary 3979 TZ=GMT use. 3980 39812004-05-11 Derek Price <derek@ximbiot.com> 3982 3983 * checkin.c (Checkin), commit.c (commit_filesdoneproc, remove_file, 3984 checkaddfile), rcs.c (RCS_checkin): Remove redundant commit messages. 3985 Suppress output when really_quiet. 3986 * sanity.sh: Update to match. 3987 39882004-05-10 Derek Price <derek@ximbiot.com> 3989 3990 * sanity.sh (top-level): Rename to... 3991 (rstar-toplevel): ...this for clarity. 3992 39932004-05-10 Derek Price <derek@ximbiot.com> 3994 3995 * sanity.sh (dirs2-10ar): Remove unnecessary empty argument. 3996 39972004-05-08 Larry Jones <lawrence.jones@ugsplm.com> 3998 3999 * log.c (log_expand_revlist): Suppress warnings if really_quiet. 4000 40012004-05-08 Derek Price <derek@ximbiot.com> 4002 4003 * server.c: Gratuitous reformatting. Remove unnecessary prototype & 4004 unnecessary type cast. 4005 40062004-05-07 Derek Price <derek@ximbiot.com> 4007 4008 * sanity.sh (basica): Remove unnecessary empty arguments. 4009 40102004-05-07 Derek Price <derek@ximbiot.com> 4011 4012 * cvs.h (fopen_case): Remove obsolescent prototype. 4013 40142004-05-05 Derek Price <derek@ximbiot.com> 4015 4016 * sanity.sh: Wait a second and retry if cvs-serv* directories are 4017 discovered to avoid race conditions on some systems. 4018 (Patch from Pavel Roskin <proski@gnu.org>.) 4019 40202004-05-05 Derek Price <derek@ximbiot.com> 4021 4022 * commit.c: Some gratuitous reformatting. 4023 40242004-05-04 Derek Price <derek@ximbiot.com> 4025 4026 * update.c: Some gratuitous reformatting. 4027 40282004-05-04 Derek Price <derek@ximbiot.com> 4029 4030 * add.c (add): Remove obsolete FIXME comment. 4031 (*): Some gratuitous reformatting. 4032 40332004-05-03 Derek Price <derek@ximbiot.com> 4034 4035 * src/sanity.sh (branches2-14-ls-4): Change expectations due to new -d 4036 flag. 4037 40382004-05-02 Derek Price <derek@ximbiot.com> 4039 4040 * sanity.sh (ls): Add some new tests of ls -d flag. 4041 (Original patch from Alexander Taler <dissent@cvshome.org>.) 4042 4043 * ls.c (ls): Accept -d to show dead files. 4044 (ls_proc): Add W_ATTIC to start_recursion flags when user requests dead 4045 files. 4046 (ls_fileproc): Don't show dead files with -d. Print "dead" in long 4047 listings for dead files. 4048 40492004-05-02 Derek Price <derek@ximbiot.com> 4050 4051 * ls.c (ls_dirleaveproc): Return err. 4052 (Original patch from Mark D. Baushke <mdb@cvshome.org>.) 4053 40542004-05-02 Derek Price <derek@ximbiot.com> 4055 4056 * ls.c (ls_print): Return 0. 4057 (Patch from Mark D. Baushke <mdb@cvshome.org>.) 4058 40592004-04-30 Derek Price <derek@ximbiot.com> 4060 4061 * tag.c (tag_check_valid): Treat a NULL repository the same as an empty 4062 one. 4063 * sanity.sh (branches2-ls-7): Verify absence of assertion failure. 4064 40652004-04-29 Derek Price <derek@ximbiot.com> 4066 4067 * sanity.sh (branches2-rls-1): Reformat comment. 4068 40692004-04-28 Derek Price <derek@ximbiot.com> 4070 4071 * sanity.sh (rcs2-5): Update to cope with new getdate.y. 4072 40732004-04-28 Derek Price <derek@ximbiot.com> 4074 4075 * Makefile.am (cvs_LIBADD): Use libs for nanosleep & clock_gettime when 4076 necessary. 4077 * cvs.h: Remove get_date() proto and #include getdate.h. 4078 * client.c, history.c, main.c, rcs.c, server.c: Use new form of 4079 get_date(). 4080 * Makefile.in: Regenerated. 4081 40822004-04-28 Derek Price <derek@ximbiot.com> 4083 4084 * lock.c (set_lock), subr.c (sleep_past): Assume we have nanosleep. 4085 40862004-04-27 Derek Price <derek@ximbiot.com> 4087 4088 * root.c (normalize_cvsroot): Use asnprintf in preference to other 4089 indirections. 4090 40912004-04-27 Derek Price <derek@ximbiot.com> 4092 4093 Add dirname module from GNULIB. 4094 4095 * add.c, client.c, commit.c, find_names.c, import.c, lock.c, ls.c, 4096 repos.c, server.c, subr.c: s/ISDIRSEP/ISSLASH/. 4097 40982004-04-27 Derek Price <derek@ximbiot.com> 4099 4100 * commit.c, create_adm.c, entries.c, filesubr.c, hash.c, update.c: 4101 Gratuitious reformatting. 4102 41032004-04-27 Derek Price <derek@ximbiot.com> 4104 4105 * ls.c (ls_direntproc): Remove unneeded assertion. 4106 41072004-04-27 Derek Price <derek@ximbiot.com> 4108 4109 * ls.c (ls): Set client_prune_dirs in order to delete any directories 4110 created by the server. 4111 (ls_dirleaveproc): Always delete directories created by 4112 ls_direntproc(). 4113 * sanity.sh (ls): Update to match. 4114 41152004-04-27 Derek Price <derek@ximbiot.com> 4116 4117 * ls.c: Remove unneeded prototypes. Add `prune' option. 4118 (dircount): Remove static global. 4119 (set_tag, created_dir, ls_prune_dirs): New static globals. 4120 (ls): Handle new prune option. 4121 (ls_print_dir): Don't count directories, just remember not to print a 4122 blank line in front of the first one. Don't list empty directories 4123 when prune is specified. 4124 (ls_delproc): New function to dispose of dirlist. 4125 (ls_direntproc): Reorganize to assume a directory without a parent must 4126 be listed. Create missing directories a la update and checkout so that 4127 they may be processed. Use new delproc when creating new list nodes. 4128 (ls_dirleave_proc): New function to remove directories created by 4129 ls_direntproc. 4130 (ls_proc): Call start_recursion() once for each argument so that 4131 ls_direntproc() may assume that any directory without a parent in the 4132 dirlist must be listed and others must not unless recursing. 4133 * sanity.sh (ls): New tests. 4134 (Thanks to a report from Mark D. Baushke <mdb@cvshome.org>.) 4135 41362004-04-26 Derek Price <derek@ximbiot.com> 4137 4138 * rsh-client.c (start_rsh_server): Don't rely on GNU argument 4139 processing capabilities in the RSH command. 4140 (Report from Mark Andrews <Mark_Andrews@isc.org>.) 4141 41422004-04-26 Derek Price <derek@ximbiot.com> 4143 4144 * ls.c (dircount): s/long long/long/ for Windows. 4145 41462004-04-23 Derek Price <derek@ximbiot.com> 4147 4148 * ls.c (usage): Sync with manual. 4149 41502004-04-23 Derek Price <derek@ximbiot.com> 4151 4152 * Makefile.am (cvs_SOURCES): Add ls.c. 4153 * client.c, subr.c: Move #include vasnprintf.h to... 4154 * cvs.h: ...here. 4155 (ls): Add prototype. 4156 * ls.c: New file. 4157 * main.c (cmds): Add ls & rls entries. 4158 * server.c (serve_ls, serve_rls): New functions. 4159 (requests): Add list, ls, rlist, & global-list-quiet. 4160 * sanity.sh (branches2): Test new cvs ls & rls commands. 4161 * Makefile.in: Regenerated. 4162 (Thanks for patches from Alexander Taler <dissent@cvshome.org> 4163 and Mark D. Baushke <mdb@cvshome.org>.) 4164 41652004-04-23 Derek Price <derek@ximbiot.com> 4166 4167 * Makefile.am (AM_CPPFLAGS): No, really, $(top_builddir)/lib. 4168 * Makefile.in: Regenerated. 4169 41702004-04-23 Derek Price <derek@ximbiot.com> 4171 4172 * Makefile.am (AM_CPPFLAGS): Add the builddir/lib directory for 4173 generated header files. 4174 * Makefile.in: Regenerated. 4175 41762004-04-22 Derek Price <derek@ximbiot.com> 4177 4178 * cvs.h: Move include of fnmatch.h into lib/system.h with the other 4179 GNULIB headers. 4180 41812004-04-22 Derek Price <derek@ximbiot.com> 4182 4183 * tag.c: Use bool where appropriate. Some gratuitous reformatting. 4184 41852004-04-19 Derek Price <derek@ximbiot.com> 4186 4187 * ignore.c: Gratuitous reformatting. 4188 41892004-04-16 Derek Price <derek@ximbiot.com> 4190 4191 * tag.c: Gratuitous reformatting. 4192 41932004-04-16 Derek Price <derek@ximbiot.com> 4194 4195 * client.c (connect_to_pserver): Use size_t instead of int as argument 4196 to asnprintf. Some gratuitous reformatting. 4197 (Report from Mark <cm_mark@yahoo.com>.) 4198 41992004-04-15 Derek Price <derek@ximbiot.com> 4200 4201 * client.c, commit.c, server.c: Gratuitous reformatting. 4202 42032004-04-11 Derek Price <derek@ximbiot.com> 4204 4205 * client.c (call_in_directory): Check paths the server sends us to make 4206 sure they are within a sandbox the user requested be updated. 4207 (is_valid_client_path, path_list_prefixed): New functions. 4208 42092004-04-11 Derek Price <derek@ximbiot.com> 4210 4211 * modules.c (do_module): Don't allow up-level references in paths to 4212 step out of the repository. 4213 * sanity.sh (multiroot3): Update tests and add a few more. 4214 42152004-04-11 Derek Price <derek@ximbiot.com> 4216 4217 * client.c (get_proxy_port_number): Use CVS_PROXY_PORT as the default 4218 proxy port rather than CVS_AUTH_PORT. 4219 42202004-04-10 Mark D. Baushke <mdb@cvshome.org> 4221 4222 * client.c (get_cvs_port_number): Use CVS_AUTH_PORT as the default 4223 for "cvspserver" rather than the CVS_PROXY_PORT. 4224 (Fixes parseroot-3r on machines without "cvspserver" in 4225 their /etc/services file.) 4226 42272004-04-07 Derek Price <derek@ximbiot.com> 4228 4229 * sanity.sh (parseroot): s/oberon/$username/. 4230 42312004-04-06 Derek Price <derek@ximbiot.com> 4232 4233 Import Jim Kingdon's old, old patch which allows CVS to work via a 4234 web proxy server. 4235 * client.c (*): Some gratuitous restyling. 4236 (get_proxy_port_number): New function. 4237 (connect_to_pserver): Connect via proxy. 4238 * client.h (CVS_PROXY_PORT): Define. 4239 * root.c (parse_cvsroot): Parse method options. 4240 * sanity.sh (parseroot): Add new tests. 4241 42422004-04-06 Derek Price <derek@ximbiot.com> 4243 4244 * root.h (cvsroot_t): Move username, password, hostname, port inside 4245 CLIENT_SUPPORT ifdefs. 4246 * buffer.c, gssapi-client.c, root.c, sever.c: Add #ifdefs as necessary 4247 so that this will compile without client support and the root.h change. 4248 Some gratuitous restyling. 4249 42502004-04-06 Derek Price <derek@ximbiot.com> 4251 4252 * log.c, tag.c: Gratuitous restyling. 4253 42542004-04-04 Derek Price <derek@ximbiot.com> 4255 4256 * filesubr.c (isabsolute): Move... 4257 * subr.c: ...here and use new ISABSOLUTE macro. 4258 42592004-04-04 Derek Price <derek@ximbiot.com> 4260 4261 * client.c (send_file_names): Cast out an unneeded const to avoid a 4262 warning. 4263 42642004-04-03 Larry Jones <lawrence.jones@ugsplm.com> 4265 4266 * cvsrc.c: Remove unused declarations. 4267 * run.c: Ditto. 4268 * server.h (gunzip_and_write): Declare. 4269 4270 * client.c (send_file_names): Remove unused variables. 4271 42722004-04-02 Derek Price <derek@ximbiot.com> 4273 4274 * sanity.sh (client): Honor $keep. 4275 42762004-04-02 Derek Price <derek@ximbiot.com> 4277 4278 * log.c, patch.c, rcs.c: Gratuitous restyling. 4279 42802004-04-02 Derek Price <derek@ximbiot.com> 4281 4282 * import.c (import): Use ISDIRSEP rather than testing paths against `/' 4283 directly. Some gratuitos reformatting. 4284 42852004-04-02 Derek Price <derek@ximbiot.com> 4286 4287 * sanity.sh: Note the effectiveness of `tail -f check.log' in providing 4288 running status. 4289 42902004-04-02 Derek Price <derek@ximbiot.com> 4291 4292 * client.c (send_file_names): Move code which calculates and sends 4293 Max-dotdot... 4294 (send_max_dotdot): ...to this new function. 4295 (send_files): Call send_max_dotdot. 4296 * sanity.sh (files-14): Expect .. in paths to work now. 4297 (status): Add a few new tests using `..'. 4298 42992004-04-01 Derek Price <derek@ximbiot.com> 4300 4301 * lock.c: Gratuitous restyling. 4302 43032004-04-01 Derek Price <derek@ximbiot.com> 4304 4305 * commit.c, cvs.h, server.c: Gratuitous restyling. 4306 * run.c (run_exec): Ditto, plus call cvs_flush{out,err}() instead of 4307 flushing stderr & stdout directly. 4308 43092004-03-29 Derek Price <derek@ximbiot.com> 4310 4311 * login.c, server.c: Gratuitous restyling. 4312 43132004-03-25 Derek Price <derek@ximbiot.com> 4314 4315 * client.c (send_file_names): Initialize string to NULL rather than to 4316 a single byte string containing only a null byte. 4317 * subr.c (xrealloc_and_strcat): If the destination string is NULL, 4318 simply allocate a new string. 4319 (Original report from Chris Bohn <cbohn@rrinc.com>.) 4320 43212004-03-24 Mark D. Baushke <mdb@cvshome.org> 4322 4323 * sanity.sh (ISODATE): Fix ISO 8601 format comment. 4324 43252004-03-22 Derek Price <derek@ximbiot.com> 4326 4327 * sanity.sh (toplevel): Remove FIXME type comment and unneeded 4328 Emtptydir removal. 4329 43302004-03-22 Derek Price <derek@ximbiot.com> 4331 4332 * update.c: Some minor style cleanup. 4333 43342004-03-22 Derek Price <derek@ximbiot.com> 4335 4336 * update.c: Some minor style cleanup. 4337 43382004-03-22 Derek Price <derek@ximbiot.com> 4339 4340 * sanity.sh (top-level): Don't match most of the assertion since this 4341 string is often system dependent. 4342 (Thanks to Larry Jones <lawrence.jones@ugsplm.com>.) 4343 43442004-03-22 Derek Price <derek@ximbiot.com> 4345 4346 * sanity.sh (top-level): Don't match the assertion's line number. 4347 43482004-03-22 Derek Price <derek@ximbiot.com> 4349 4350 * sanity.sh (top-level): New test to confirm assertion failure. 4351 43522004-03-22 Derek Price <derek@ximbiot.com> 4353 4354 * sanity.sh: Only verify argument to -f when -f was passed. Check for 4355 $TMPDIR/cvsXXXXXX temp files after each test. 4356 43572004-03-22 Derek Price <derek@ximbiot.com> 4358 4359 * sanity.sh: Verify that the argument to -f is really a test. 4360 43612004-03-20 Larry Jones <lawrence.jones@ugsplm.com> 4362 4363 * cvs.h: Change command_name to cvs_command_name to avoid conflict 4364 on HP-UX (incredibly, it declares a global command_name in prot.h, 4365 which is included from shadow.h, which we include in server.c). 4366 Change all references. 4367 4368 * subr.c (previous_rev): Fix == vs = typo. 4369 4370 * buffer.h: Add prototype for buf_empty. 4371 4372 * add.c (add): Remove unused variable. 4373 43742004-03-20 Derek Price <derek@ximbiot.com> 4375 4376 * add.c (add, add_directory, build_entry), admin.c (admin_dirproc), 4377 checkin.c (Checkin), checkout.c (safe_location, build_dirs_and_chdir), 4378 client.c (add_prune_candidate, send_repository, send_a_repository, 4379 send_to_server, start_rsh_server, send_arg, send_modified, 4380 send_ignproc, send_filesdone_proc, send_dirent_proc, 4381 send_dirleave_proc, client_notify), commit.c (check_direntproc, 4382 check_filesdoneproc, checkaddfile, commit_direntproc, 4383 commit_dirleaveproc, lock_RCS, precommit_proc, find_data, 4384 find_dirent_proc, find_ignproc, find_filesdoneproc), create_adm.c 4385 (Create_Admin), cvsrc.c (read_cvsrc), diff.c (diff_dirproc, 4386 diff_filesdoneproc, diff_dirleaveproc), edit.c (onoff_filesdoneproc, 4387 mark_up_to_date, editor_set, notify_proc_args, notify_proc, notify_do, 4388 notify_check), entries.c (Scratch_Entry, Register, WriteTag), 4389 expand_path.c (expand_variable, expand_path), fileattr.c 4390 (fileattr_startdir), filesubr.c (mkdir_if_needed, xchmod, 4391 last_component), history.c (history_write), ignore.c (ignore_directory, 4392 ignore_files), import.c (get_comment, add_rcs_file, expand_at_signs),xi 4393 lock.c (lock_filesdoneproc), log.c (log_dirproc), logmsg.c 4394 (logfile_write, rcsinfo_proc, update_logfile_proc, editinfo_proc, 4395 verifymsg_proc, do_editor, do_verify, Update_Logfile), main.c (main 4396 program_name, program_path, command_name), parseinfo.c (Parse_Info), 4397 patch.c (patch_dirproc), rcs.c (RCS_getdatebranch, rcs_lockfilename, 4398 RCS_parse, RCS_setattic, RCS_getversion, RCS_gettag, RCS_getbranch, 4399 RCS_getdate, RCS_datecmp, RCS_getrevtime, RCS_setexpand, 4400 expand_keywords, RCS_checkout, RCS_addbranch, RCS_checkin, RCS_lock, 4401 RCS_cmp_file, RCS_deltas, rcs_lockfilename, make_file_label), 4402 rcscmds.c (RCS_output_diff_options, call_diff, RCS_merge, 4403 RCS_exec_rcsdiff, diff_exec), recurse.c (start_recursion, do_recursion, 4404 do_file_proc), remove.c (remove_dirproc), repos.c (Name_Repository, 4405 Short_Repository), root.c (Name_Root, Create_Root), run.c 4406 (piped_child), server.c (output_dir, server_register, 4407 server_checked_in, server_update_entries, server_copy_file, 4408 server_set_entstat, server_clear_entstat, server_set_sticky, 4409 server_template, cvs_output_tagged), status.c (status_dirproc), subr.c 4410 (make_message_rcslegal), tag.c (pretag_proc, tag_dirproc, 4411 check_fileproc, check_filesdoneproc, tag_fileproc, val_direntproc), 4412 update.c (update_dirent_proc, update_dirleave_proc, update_ignproc, 4413 update_filesdone_proc, isemptydir), vers_ts.c (time_stamp_server, 4414 time_stamp), watch.c (watch_modify_watchers, addremove_filesdoneproc), 4415 zlib.c (read_and_gzip): Make most string args const, mainly in the 4416 interest of preserving repository & updatedir but including some 4417 collateral damage. Update a few functions to comply with new 4418 requirement. Some style fixes. 4419 * client.h, cvs.h, edit.h, fileattr.h, rcs.h, server.h, update.h, 4420 watch.h: Update prototypes to match. 4421 44222004-03-20 Derek Price <derek@ximbiot.com> 4423 4424 * sanity.sh (conflicts2): s/cvs/$testcvs/. 4425 44262004-03-20 Derek Price <derek@ximbiot.com> 4427 4428 * add.c (add): Correct longstanding resurrection bugs. Remove FIXME 4429 comment to this effect. Set mode and Entries timestamps of resurrected 4430 files correctly. 4431 * sanity.sh (basica, binfiles, conflicts2, recase, resurrection, 4432 update-p): Update tests to compensate. Remove FIXCVS comments. 4433 44342004-03-19 Mark D. Baushke <mdb@cvshome.org> 4435 4436 * server.c (gserver_authenticate_connection): Handle large 4437 GSSAPI packets dynamically. 4438 (Bug report from Douglas Engert <DEEngert@anl.gov>) 4439 44402004-03-19 Derek Price <derek@ximbiot.com> 4441 4442 * cvs.h (pathname_levels, previous_rev): Remove leading underscore from 4443 prototype arguments to avoid potential conflicts with implementations. 4444 44452004-03-18 Derek Price <derek@ximbiot.com> 4446 4447 * cvs.h (pathname_levels): Make string argument const. 4448 * subr.c (pathname_levels): Simplify function. 4449 44502004-03-17 Derek Price <derek@ximbiot.com> 4451 4452 * commit.c (precommit_list_to_args_proc), logmsg.c (do_editor), subr.c 4453 (format_cmdline), tag.c (pretag_list_to_args_proc): 4454 s/atribute/attribute/. 4455 (Report from Matthew Doar <matt@trpz.com>.) 4456 44572004-03-17 Derek Price <derek@ximbiot.com> 4458 4459 * subr.c (pathname_levels): Get it right this time. 4460 44612004-03-17 Derek Price <derek@ximbiot.com> 4462 4463 * subr.c (pathname_levels): Remove incorrect assertion and just 4464 return 0 when pathname is NULL. 4465 44662004-03-17 Derek Price <derek@ximbiot.com> 4467 4468 * subr.c (pathname_levels): Use ISDIRSEP() instead of strchr('/') 4469 and remove FIXME comment to that effect. 4470 44712004-03-16 Derek Price <derek@ximbiot.com> 4472 4473 * main.c (main): Update the --version Copyright (c) string to 4474 include 2004. 4475 44762004-03-15 Mark D. Baushke <mdb@cvshome.org> 4477 4478 * release.c (release): Add missing xmalloc of update_cmd. 4479 44802004-03-15 Derek Price <derek@ximbiot.com> 4481 4482 * release.c (release): Enable authentication and encryption for a child 4483 update process when necessary. 4484 (Original patch from Dan Russell <russelld@aol.net> via Hal Mahaffey 4485 <HMahaffey@aol.com>.) 4486 44872004-03-14 Derek Price <derek@ximbiot.com> 4488 4489 * add.c (add): Only call server_updated() when we actual have a new 4490 resurrected file for the client. 4491 44922004-03-14 Derek Price <derek@ximbiot.com> 4493 4494 * cvs.h (previous_rev, write_letter): New prototypes. 4495 (struct file_info): Move to before the write_letter prototype. 4496 * add.c (add): Allow resurrection of files which used to exist on a 4497 branch. 4498 * subr.c (previous_rev): New function. 4499 * update.c: Consolidate like pragmas. 4500 (write_letter): Remove prototype. Remove static declaration. 4501 * sanity.sh (resurrection): New tests. 4502 45032004-03-14 Derek Price <derek@ximbiot.com> 4504 4505 * commit.c (remove_file): Print the actual previous revision instead of 4506 a branch number. 4507 * sanity.sh: Update to match. 4508 45092004-03-14 Derek Price <derek@ximbiot.com> 4510 4511 * rcs.c (RCS_cmp_file): Print the actual name of the file we failed to 4512 open in the error message. 4513 45142004-03-14 Derek Price <derek@ximbiot.com> 4515 4516 * diff.c (diff_fileproc): Allow diffing of new files against arbitrary 4517 revisions instead of assuming that there is no RCS archive file. 4518 45192004-03-14 Derek Price <derek@ximbiot.com> 4520 4521 * sanity.sh: Update serveral tests to use $CPROG & $SPROG correctly. 4522 45232004-03-14 Derek Price <derek@ximbiot.com> 4524 4525 * add.c (add): Update file resurrection messages for consistency. 4526 * sanity.sh: Update to match. 4527 45282004-03-13 Derek Price <derek@ximbiot.com> 4529 4530 * server.c (server_updated): Fix header comment. 4531 45322004-03-13 Derek Price <derek@ximbiot.com> 4533 4534 * Makefile.am (cvs_SOURCES): Remove error.h since it is now included in 4535 lib. 4536 * Makefile.in: Regenerated. 4537 45382004-03-09 Larry Jones <lawrence.jones@ugsplm.com> 4539 4540 * run.c: Move #includes required for cmdline_escape and friends... 4541 * subr.c: ...to here. 4542 45432004-03-07 Derek Price <derek@ximbiot.com> 4544 4545 * run.c (struct cmdline_bindings, cmdline_bindings_hash_node_delete, 4546 cmdline_escape, cmdline_quote, format_cmdline): Move... 4547 * subr.c: ...here so they will compile under Windows. 4548 45492004-03-03 Derek Price <derek@ximbiot.com> 4550 4551 * import.c (import): Check that the module name specified by the user 4552 does not contain `CVS' as a directory name. 4553 * ignore.c (ign_add): Never cease ignoring "CVS" - it is a reserved 4554 name. 4555 (Original patch from Dan Peterson <dbpete@aol.com>.) 4556 4557 * sanity.sh (import-CVS): New tests for the above. 4558 45592004-02-29 Larry Jones <lawrence.jones@ugsplm.com> 4560 4561 * import.c (expand_at_signs): Change type of len to size_t. 4562 * subr.c (resolve_symlink): Move declaration of newname inside 4563 #ifdef, clean up coding style. 4564 * zlib.c (gunzip_and_write): Fix up potential overlow problems. 4565 (read_and_gzip): Add explicit casts to placate paranoid compilers. 4566 45672004-02-28 Larry Jones <lawrence.jones@ugsplm.com> 4568 4569 * sanity.sh (join6): New tests for previous fix. 4570 4571 * update.c (join_file): One more fix to avoid dereferencing NULL. 4572 (Reported by Steve McIntyre <steve@einval.com>.) 4573 * sanity.sh (join6): New tests for above. 4574 45752004-02-25 Larry Jones <lawrence.jones@ugsplm.com> 4576 4577 * update.c (join_file): Fix optimization to avoid dereferencing NULL. 4578 (Reported by Steve McIntyre <steve@einval.com>.) 4579 45802004-02-25 Derek Price <derek@ximbiot.com> 4581 4582 No longer require directories specified to `checkout -d' to exist. 4583 4584 * checkout.c (safe_location): Only confirm that destination is a safe 4585 location for directories that already exist since we can assume that 4586 creating directories under such a safe directory is acceptable. 4587 (dir_to_build): Remove just_chdir member. 4588 (checkout_proc): Add trace. No longer set dir_to_build->just_chdir. 4589 Minor reformatting. 4590 (build_dirs_and_chdir): Don't create or register directories that are 4591 not created. 4592 * sanity.sh (*): Update tests to account for new behavior. 4593 45942004-02-25 Derek Price <derek@ximbiot.com> 4595 4596 * buffer.c (buf_empty): New function. 4597 * server.c (server): Check for unread data in buffer before closing. 4598 45992004-02-25 Derek Price <derek@ximbiot.com> 4600 4601 * release.c (release): Restore the initial directory before and after 4602 calling various sections of code that expect it to prevent corruption 4603 of CVS/Entries files on release of a subdir and tell unedit() what to 4604 release. 4605 * sanity.sh: Add test case for release.c fix. 4606 (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.) 4607 4608 * client.c (last_entries): Move global variable... 4609 (call_in_directory): ...here (now a local variable). Remove test that 4610 always evaluates to true. 4611 (last_dir_name): Remove unused global variable. 4612 46132004-02-24 Larry Jones <lawrence.jones@ugsplm.com> 4614 4615 * filesubr.c (xresolvepath): Fix crash in error case. 4616 (Reported by Reinhard Zierke <zierke@informatik.uni-hamburg.de>.) 4617 46182004-02-24 Derek Price <derek@ximbiot.com> 4619 4620 * sanity.sh (crerepos): Fix it so that it ignores the user's 4621 .cvsrc file (.cvsrc "checkout -r" used to cause the "rm -r 1" 4622 command to print warnings and wait for input). 4623 (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.) 4624 4625 * sanity.sh (reposmv, parseroot, devcom3, binwrap3): 4626 s/_SAVED\>/_save/ for consistency. 4627 46282004-02-24 Derek Price <derek@ximbiot.com> 4629 4630 * sanity.sh (taginfo-newfmt-examine-2): Correct expected results. 4631 46322004-02-23 Larry Jones <lawrence.jones@ugsplm.com> 4633 4634 * sanity.sh (taginfo-examine-1): Correct expected results. 4635 46362004-02-20 Derek Price <derek@ximbiot.com> 4637 4638 * subr.c (expand_string): Use x2realloc() from GNULIB for core 4639 functionality. 4640 46412004-02-20 Derek Price <derek@ximbiot.com> 4642 4643 * subr.c (set_nonblock_fd): Move back to... 4644 * server.c: ...here. 4645 * cvs.h: Remove protos for the above two functions. 4646 * buffer.c (stdio_buffer_shutdown): Remove unexessary and possibly 4647 dangerous check for unread data on a pipe with a nonblock read. 4648 46492004-02-20 Larry Jones <lawrence.jones@ugsplm.com> 4650 4651 * tag.c (check_fileproc): Remove unused variable. 4652 46532004-02-20 Derek Price <derek@ximbiot.com> 4654 4655 * ChangeLog, commit.c, filesubr.c, rcs.c, root.c, sanity.sh, subr.c, 4656 update.c: Remove VIM editor commands. 4657 46582004-02-20 Derek Price <derek@ximbiot.com> 4659 4660 Import xalloc module from GNULIB, as well as its remaining unimported 4661 dependency, the exitfail module. 4662 4663 * cvs.h: #include "xalloc.h". 4664 * subr.c (xmalloc, xrealloc, xstrdup): Remove these functions. 4665 46662004-02-20 Larry Jones <lawrence.jones@ugsplm.com> 4667 4668 * hash.h (struct node): Change data from char * to void *, change 4669 all callers. 4670 4671 * run.c (cmdlinequote, cmdlineescape): Use prototype in definition 4672 to match cvs.h. 4673 (format_cmdline): UNIQUE_*_TYPE_* macros imply HAVE_*, so no need 4674 to check for both. Remove duplicate code for size_t and ptrdiff_t. 4675 4676 * tag.c (check_fileproc): Remove spurious invalid cast, clean up 4677 coding style. 4678 4679 * commit.c (precommit_list_proc): Remove vestigial prototype. 4680 46812004-02-19 Derek Price <derek@ximbiot.com> 4682 4683 * run.c (format_cmdline): Don't accept printf `L' modifier at all when 4684 long doubles are not available. Allow UNIQUE_FLOAT_TYPE_LONG_DOUBLE to 4685 imply HAVE_LONG_DOUBLE. 4686 46872004-02-19 Derek Price <derek@ximbiot.com> 4688 4689 * run.c: Remove include of stddef.h - it is already included via 4690 lib/system.h. 4691 46922004-02-19 Larry Jones <lawrence.jones@ugsplm.com> 4693 4694 * run.c: Include the appropriate headers for wchar_t and wint_t, 4695 create a typedef for convproc and use it (required for va_arg), 4696 add explicit comparisons to keep gcc -Wall happy, remove unused 4697 variables. 4698 (format_cmdline): Fix bugs and portability problems. 4699 * tag.c: Remove unused global variable. 4700 (pretag_proc): Correct call to format_cmdline: %hhc is not a valid 4701 printf format (should just be %c) and NULL must be cast to the correct 4702 type in a varargs call. 4703 (pretag_list_to_args_proc): Initialize arg to keep gcc -Wall happy, 4704 remove unused variable, add auxiliary variable to simplify code, 4705 clean up coding style. 4706 4707 * commit.c (precommit_list_to_args_proc): Initialize arg to keep 4708 gcc -Wall happy, remove unused variable, clean up coding style. 4709 (precommit_proc): Cast NULL to the correct type in varargs call. 4710 * edit.c (notify_proc): Remove unused variables. 4711 * expand_path.c (expand_path): Initialize inquotes, add explicit 4712 comparison to keep gcc -Wall happy. 4713 * logmsg.c: Remove unused global variables and function decl. 4714 (do_verify): Add explicit comparison to keep gcc -Wall happy, 4715 clean up coding style. 4716 (logmsg_list_to_args_proc): Initialize arg to keep gcc -Wall happy, 4717 remove unused variable. 4718 (logfile_write): Cast NULL to the correct type in varargs call. 4719 (verifymsg_proc): Cast NULL to the correct type in varargs call. 4720 47212004-02-19 Derek Price <derek@ximbiot.com> 4722 4723 * run.c (format_cmdline): Correct some typos and cut/paste errors. 4724 Switch on HAVE_WINT_T for Solaris. Switch on HAVE_INTMAX_T for other 4725 pre-C99 platforms. 4726 47272004-02-19 Derek Price <derek@ximbiot.com> 4728 4729 * sanity.sh (crerepos): Correct comment. 4730 47312004-02-19 Derek Price <derek@ximbiot.com> 4732 4733 * logmsg.c (verifymsg_proc), run.c (format_cmdline): Plug memory leak. 4734 (Report from Mark D. Baushke <mdb@cvshome.org>.) 4735 4736 * run.c (format_cmdline): Simplify two expressions. 4737 47382004-02-19 Larry Jones <lawrence.jones@ugsplm.com> 4739 4740 * login.c (password_entry_operation): Initialize line. 4741 47422004-02-19 Derek Price <derek@ximbiot.com> 4743 4744 * sanity.sh (tests): Add errmsg3. 4745 47462004-02-19 Derek Price <derek@ximbiot.com> 4747 4748 * sanity.sh (errmsg3): Don't create directories named `tmp' in 4749 $TESTDIR to avoid conflicts with the default value of $TMPDIR. 4750 47512004-02-19 Derek Price <derek@ximbiot.com> 4752 4753 * sanity.sh (crerepos): Don't create directories named `tmp' in 4754 $TESTDIR to avoid conflicts with the default value of $TMPDIR. 4755 47562004-02-19 Derek Price <derek@ximbiot.com> 4757 4758 * sanity.sh (directory_cmp): Use $TESTDIR for temporary files, like the 4759 dotest functions. 4760 47612004-02-19 Derek Price <derek@ximbiot.com> 4762 4763 * sanity.sh: No longer allow user override of $tmp. Set $TMPDIR to a 4764 directory under $TESTDIR, as for $HOME, but still allowing for user 4765 override. Check for cvs-serv* directories under $TMPDIR rather than 4766 $tmp at the end of the script. 4767 47682004-02-19 Derek Price <derek@ximbiot.com> 4769 4770 * run.c (cmdline_quote): Plug memory leak. 4771 (format_cmdline): Don't bother with freeing memory before a call to 4772 error() which will exit. Plug memory leak. 4773 (Report from Mark D. Baushke <mdb@cvshome.org>.) 4774 47752004-02-18 Derek Price <derek@ximbiot.com> 4776 4777 * run.c (format_cmdline): Move variable declaration to a position more 4778 acceptable to the ANSI C standards. 4779 47802004-02-17 Derek Price <derek@ximbiot.com> 4781 4782 * commit.c (precommit_proc): Installed new format_cmdline() instead 4783 of the old, nonuniform info file interpreter. Support for new user 4784 data field in Parse_Info() callbacks. Use cmdlinequote() instead of c. 4785 10 lines of quote processing. 4786 * cvs.h (expand_path): Update proto. 4787 (UseNewInfoFmtStrings): New global variable to keep track of the config 4788 option of the same name. 4789 (format_cmdline): Added function prototypes and type definitions to 4790 support this new function. 4791 * edit.c (notify_proc): Added the formatsafe flag to an 4792 expand_path() call. Installed new format_cmdline() instead of the old, 4793 nonuniform info file interpreter. Support for new user data field in 4794 Parse_Info() callbacks. 4795 * expand_path.c (expand_path): Added the formatsafe flag to and some 4796 code to double up '%'s in variable subs if formatsafe is set on the 4797 presumption that the variables that expand_path() subs into the string 4798 are already working paths to files or whatever. It should be quoting 4799 too but I haven't done that yet. 4800 * logmsg.c (title_proc, logmsg_list_to_args_proc, update_logfile_proc, 4801 rcsinfo_proc, editinfo_proc, verifymsg_proc, logfile_write): Installed 4802 new format_cmdline() instead of the old, nonuniform info file 4803 interpreter. Support for new user data field in Parse_Info() 4804 callbacks. 4805 * main.c: Added global UseNewInfoFmtStrings variable to keep track 4806 of the config file option of the same name (see above). 4807 * mkmodules.c (commitinfo_contents, editinfo_contents, 4808 taginfo_contents, verifymsg_contents, loginfo_contents: Document new 4809 format string features. 4810 (config_contents): Added new UseNewInfoFmtStrings option with default 4811 of yes. 4812 * modules.c (do_module): Added the formatsafe flag to an 4813 expand_path call. 4814 * parseinfo.c (Parse_Info, parse_config): Added the formatsafe flag 4815 to an expand_path() call. Added handling for UseNewInfoFmtStrings 4816 option in the config file. Set to no, modifications needed to set to 4817 yes are harmless. Set to yes, modifications needed for full 4818 compatibility cause deprecation warnings. Eliminating deprecation 4819 warnings should allow executable to be compile with 4820 --disable-old-info-format-support passed into configure. Added user 4821 data field (closure) which is passed through into callproc to 4822 Parse_Info(). 4823 * run.c (format_cmdline): New function to provide uniform handling of 4824 *info file scripting hook lines. 4825 (cmdline_bindings_hash_node_delete, 4826 (cmdlineescape, cmdlinequote): New functions to "quote" and "escape" 4827 strings like you would to get them past a command line parser as an 4828 argument. 4829 (run_setup): Made quote aware 4830 * sanity.sh (info, taginfo, config, pserver, lockfiles, reserved): 4831 New tests for the new format string functionality as well as the 4832 support of backwards compatibility. Had to alter a few of the tests to 4833 not care which version of some of the (shared) config files they'd just 4834 checked in so that the tests can be run in any order. 4835 (taginfo): Add tests for file names with spaces in them. 4836 * server.c (template_proc): Support for new user data field in 4837 Parse_Info() callbacks. 4838 * tag.c (pretag_proc): Installed new format_cmdline() instead of the 4839 old, nonuniform info file interpreter. Add support for new user data 4840 field in Parse_Info() callbacks. 4841 (check_fileproc): Add proper tag_info struct as node data rather than a 4842 single revision number in a string and pass tlist properly rather than 4843 in a global variable. 4844 (check_filesdone_proc): Altered to use non-global tlist. 4845 (tag_delproc): Handle new tag_info struct data members. 4846 (pretag_list_to_args_proc): Ditto. 4847 (pretag_list_proc): Deleted. 4848 * wrapper.c (Parse_Info): Added the formatsafe flag to an expand_path() 4849 call. 4850 48512004-02-17 Derek Price <derek@ximbiot.com> 4852 4853 * sanity.sh: Check for $PWD != $TESTDIR after each set of tests rather 4854 than once at the end. Check that there are no cvs-serv* directories in 4855 $tmp after each set of remote tests. 4856 48572004-02-17 Derek Price <derek@ximbiot.com> 4858 4859 * sanity.sh: Don't check for an empty $TESTDIR - if $TESTDIR was empty 4860 then the preceding call to mkdir would have failed anyhow. 4861 48622004-02-17 Larry Jones <lawrence.jones@ugsplm.com> 4863 4864 * log.c (rlog_proc): Fix (harmless) uninitialized variable. 4865 4866 * sanity.sh (basicc): Add tests pointing out defective handling 4867 of the Entries file. 4868 48692004-02-17 Derek Price <derek@ximbiot.com> 4870 4871 * checkout.c (build_dir_and_chdir): Expand header comment. 4872 48732004-02-15 Mark D. Baushke <mdb@cvshome.org> 4874 4875 * annotate.c (rannotate_proc): Plug a memory leak. 4876 * log.c (log_fileproc): Ditto. 4877 * tag.c (tag_fileproc): Ditto. 4878 * update.c (checkout_file): Ditto. 4879 * server.c (server_updated): Do not buf_free (filebuf) here. 4880 48812004-02-15 Derek Price <derek@ximbiot.com> 4882 4883 Make error() accessible to the GNULIB functions. 4884 4885 * error.h: Move into the ../lib directory. 4886 48872004-02-13 Derek Price <derek@ximbiot.com> 4888 4889 * lock.c (Reader_Lock, lock_dir_for_write): Plug memory leaks. 4890 (Report from Mark D. Baushke <mdb@cvshome.org>.) 4891 48922004-02-13 Derek Price <derek@ximbiot.com> 4893 4894 * lock.c (remove_lock_files): Minor refactoring. 4895 48962004-02-12 Mark D. Baushke <mdb@cvshome.org> 4897 4898 * lock.c (lock_exists): Plug a memory leak. 4899 49002004-02-12 Derek Price <derek@ximbiot.com> 4901 4902 * modules.c: Reformat comment and line to fit in 80 chars. 4903 49042004-02-12 Mark D. Baushke <mdb@cvshome.org> 4905 4906 * server.c (do_cvs_command): Plug a memory leak. 4907 (Use buf_free() rather than free().) 4908 49092004-02-12 Derek Price <derek@ximbiot.com> 4910 4911 * sanity.sh (lockfiles): Reformat a comment for 80 characters. Fix a 4912 few minor issues that caused tests to fail in remote mode. Clean up 4913 after test. 4914 49152004-02-12 Derek Price <derek@ximbiot.com> 4916 4917 * lock.c (unlock_proc): Don't expect an int in closure as it is not 4918 condoned in the C standard. For now, just assume zero since this 4919 function is currently only called from one location. 4920 (remove_locks): Pass NULL for the closure argument to unlock_proc(). 4921 49222004-02-12 Derek Price <derek@ximbiot.com> 4923 4924 * lock.c (unlock_proc): Use closure as true/false free_repository 4925 free_repository argument to remove_lock_files. Move to a position 4926 above remove_locks and delete prototype. 4927 (remove_locks): Don't free storage, as specified in our header comment, 4928 in order to avoid a seg fault that could otherwise occur after waiting 4929 on a lock. 4930 * sanity.sh (lockfiles): Add tests for all operation (read, read 4931 promotably, or write) and lock combinations. 4932 (Original report from Mark <cm_mark@yahoo.com>.) 4933 49342004-02-12 Larry Jones <lawrence.jones@ugsplm.com> 4935 4936 * modules.c (_do_module): Rename to my_module to avoid reserved name. 4937 * stack.c (_push, _pop, _unshift, _shift): Rename to do_*. 4938 49392004-02-12 Mark D. Baushke <mdb@cvshome.org> 4940 4941 * commit.c (find_fileproc): Plug a memory leak. 4942 49432004-02-12 Larry Jones <lawrence.jones@ugsplm.com> 4944 4945 * lock.c (_lock_simple_remove): Rename to remove_lock_files to avoid 4946 reserved name. Fix typo (free => free_repository). 4947 (lock_simple_remove): Delete; use remove_lock_files directly. 4948 (lock_simple_remove_and_free): Ditto. 4949 (_lock_exists): Rename to lock_exists. 4950 49512004-02-11 Larry Jones <lawrence.jones@ugsplm.com> 4952 4953 * root.c (parse_cvsroot): Set hostname in fork mode for error messages. 4954 * buffer.c (stdio_buffer_shutdown): Undo previous change. 4955 49562004-02-11 Mark D. Baushke <mdb@cvshome.org> 4957 4958 * buffer.c (buf_free): Plug a memory leak. 4959 * commit.c (checkaddfile): Ditto. 4960 4961 * server.c (fd_buffer_shutdown): Avoid a double free(). 4962 4963 * parseinfo.c (parse_config): Fix comments. 4964 49652004-02-11 Derek Price <derek@ximbiot.com> 4966 4967 * buffer.c (stdio_buffer_shutdown): Add logic to avoid attempting to 4968 print current_parsed_root->hostname when using the fork method. 4969 49702004-02-11 Derek Price <derek@ximbiot.com> 4971 4972 * server.c (do_cvs_command): Simplify stream & pipe closing. 4973 (Suggestion from Eric Siegerman <erics@telepres.com>.) 4974 4975 * cvs.h, subr.c (set_block_fd): Remove this unnecessary function. 4976 49772004-02-11 Derek Price <derek@ximbiot.com> 4978 4979 * checkout.c (checkout_proc): Remove unneeded variable and enclosing 4980 block. 4981 * modules.c (_do_modules): Minor whitespace change. 4982 49832004-02-10 Derek Price <derek@ximbiot.com> 4984 4985 * lock.c (lock_simple_remove): Move core functionality... 4986 (_lock_simple_remove): ...here. 4987 (lock_simple_remove_and_free): New function. 4988 (set_promotable_lock): Use new function to avoid freeing data that will be 4989 reused. 4990 49912004-02-10 Derek Price <derek@ximbiot.com> 4992 4993 * server.c (do_cvs_command): s/FIXCVS/FIXME/ in comment. 4994 (set_block_fd, set_nonblock_fd): Move to... 4995 * subr.c: ...here. 4996 * cvs.h: Add protos for the above two functions. 4997 * buffer.c (stdio_buffer_shutdown): Replace fgetc() which checked for 4998 unread data on a pipe with a nonblock read. 4999 50002004-02-10 Derek Price <derek@ximbiot.com> 5001 5002 * server.c (do_cvs_command): Have the server child close all the pipes 5003 but the flow control pipe and wait on an EOF on the flow control pipe 5004 from the parent when done to avoid a race condition that could 5005 otherwise generate a SIGPIPE for the parent before the SIGCHILD when 5006 the other pipes were so full after a child exited that the parent 5007 attempted to write a stop byte to the flow control pipe. 5008 (Original report from <jesse_off@stchome.com>.) 5009 50102004-02-10 Derek Price <derek@ximbiot.com> 5011 5012 * buffer.c (stdio_buffer_shutdown): Add a helpful comment. 5013 50142004-02-09 Derek Price <derek@ximbiot.com> 5015 5016 * lock.c (lock_simple_remove): Add comments. Use critical sections to 5017 set some variables that might otherwise cause trouble. 5018 (struct lock): Correct comment. 5019 50202004-02-09 Derek Price <derek@ximbiot.com> 5021 5022 Attempt to improve readability of code. 5023 5024 * lock.c (promotable_lock): Rename to... 5025 (set_promotable_lock): ...this. 5026 (set_promotablelock_proc): Expand header comment. 5027 (Promotable_Lock): Rename to... 5028 (lock_tree_promotably): ...this. 5029 50302004-02-09 Derek Price <derek@ximbiot.com> 5031 5032 * lock.c (set_writelock_proc): Remove unused prototype. 5033 (promotable_lock): Remove unneded whitespace. 5034 (Promotable_Lock): Correct comments. 5035 50362004-02-09 Derek Price <derek@ximbiot.com> 5037 5038 * sanity.sh (co-d): Update comments and tests to reflect the current 5039 state of my side of my discussion with Larry Jones on how these 5040 commands should behave. 5041 50422004-02-09 Derek Price <derek@ximbiot.com> 5043 5044 * sanity.sh (emptydir): Add two new tests for how modules -d behaves 5045 when a directory already exists in the user's workspace. 5046 (emptydir): Add --keep functionality. 5047 50482004-02-09 Derek Price <derek@ximbiot.com> 5049 5050 * sanity.sh (co-d): New test to prove `co -d' failure case. 5051 50522004-02-05 Derek Price <derek@ximbiot.com> 5053 5054 * sanity.sh (recase): Fix typo that creeped in somehow between my last 5055 test run and my commit. 5056 50572004-02-04 Derek Price <derek@ximbiot.com> 5058 5059 * modules.c (do_modules): Move content to and make this function a 5060 wrapper for... 5061 (_do_modules): ...this new function which can watch for infinite loops 5062 in alias modules. 5063 * stack.c (_push, _pop, _unshift, _shift, push_string, pop_string, 5064 unshift_string, shift_string): New 5065 functions. 5066 * stack.h (push_string, pop_string, unshift_string, shift_string: New 5067 prototypes. 5068 * sanity.sh (modules): Add check for nested alias loops. 5069 50702004-02-04 Derek Price <derek@ximbiot.com> 5071 5072 * sanity.sh (recase): Update test names and comments for clarity and 5073 consistency. 5074 50752004-02-04 Derek Price <derek@ximbiot.com> 5076 5077 * sanity.sh (recase): Restore some cruft necessary when clients know 5078 they are on case insensitive systems. 5079 50802004-02-03 Derek Price <derek@ximbiot.com> 5081 5082 Preserve the case of checked out directories in a path as well as file 5083 names for client communication with the server. 5084 5085 * Makefile.am (cvs_SOURCES): Add stack.c & stack.h. 5086 * stack.c, stack.h: New files. 5087 * cvs.h: Include stack.h. 5088 * client.c (send_file_names): Preserve the case of directories in a 5089 path as well as file names for communication with the server. 5090 5091 * Makefile.in: Regenerated. 5092 50932004-02-04 Derek Price <derek@ximbiot.com> 5094 5095 * checkout.c (find_fileproc): Update error message for consistency. 5096 * sanity.sh (basica): Update to compensate. 5097 50982004-02-04 Derek Price <derek@ximbiot.com> 5099 5100 * classify.c (Classify_File): Update header comment block and reformat 5101 prototype for readability in 80 character widths. 5102 51032004-02-02 Derek Price <derek@ximbiot.com> 5104 5105 * sanity.sh (*): Update tests for the new status message from update.c. 5106 51072004-02-02 Derek Price <derek@ximbiot.com> 5108 5109 * sanity.sh (join-rm): New test for issue #104 & #159. 5110 51112004-02-02 Derek Price <derek@ximbiot.com> 5112 5113 * update.c (join_file): Correct status message for consistency. 5114 51152004-02-02 Derek Price <derek@ximbiot.com> 5116 5117 Continue removal from server of handling of case insensitive clients. 5118 5119 * cvs.h: Remove extern declaration of ign_case. 5120 * ignore.c (ign_case): Remove declaration. 5121 (ign_name): Remove support for ign_case. 5122 * server.c (serve_case): Ditto. 5123 (requests): No longer support the "Case" request. 5124 * rcs.c (locate_rcs): Remove reference to GLOBAL in function header 5125 comment. 5126 51272004-02-02 Derek Price <derek@ximbiot.com> 5128 5129 * client.c (send_file_names): Restore prescribed client handling of the 5130 FILENAMES_CASE_INSENSITIVE switch. 5131 51322004-01-25 Derek Price <derek@ximbiot.com> 5133 5134 * server.c (kserver_authenticate_connection): Fix call to 5135 switch_to_user(). 5136 (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 5137 51382004-01-22 Derek Price <derek@ximbiot.com> 5139 5140 * modules.c (do_module): Strip trailing slashes before checking for 5141 infinite alias loops. 5142 * sanity.sh (modules): Tests for response to infinite alias loops. 5143 51442004-01-17 Mark D. Baushke <mdb@cvshome.org> 5145 5146 * logmsg.c (do_verify): Eliminate double-free bug. 5147 (Original patch from Gerald Combs.) 5148 51492004-01-12 Mark D. Baushke <mdb@cvshome.org> 5150 5151 * lock.c (lock_name): Deal with potentially NULL string pointers 5152 in calls to TRACE. 5153 (promotable_lock): Ditto. 5154 (set_lock): Ditto. 5155 * sanity.sh (trace): Update to latest patterns. 5156 51572004-01-07 Larry Jones <lawrence.jones@ugsplm.com> 5158 5159 * checkout.c (safe_location): Remove unused variable(s). 5160 * lock.c (lock_tree_for_write): Ditto. 5161 * rcs.c (RCS_checkin): Ditto. 5162 * subr.c (compare_revnums): Ditto. 5163 * tag.c (tag_check_valid): Ditto. 5164 * mkmodules.c (init): Initialize err and return it rather than 0. 5165 * server.c (do_cvs_command): Only define and set max_command_fd if 5166 we're actually going to use it. 5167 51682004-01-06 Mark D. Baushke <mdb@cvshome.org> 5169 5170 * socket-client.c (socket_buffer_initialize): Fix argument 5171 declaration for VMS compiler. 5172 (Patch submitted from Michael Lemke 5173 <ai26@sternwarte.uni-erlangen.de>.) 5174 51752004-01-01 Larry Jones <lawrence.jones@ugsplm.com> 5176 5177 * zlib.c (read_and_gzip, gunzip_and_write): Fix potential buffer 5178 overruns, use names for magic numbers. 5179 (Original patch from Jeff Downs <heydowns@borg.com>.) 5180 51812003-12-17 Larry Jones <lawrence.jones@ugsplm.com> 5182 5183 * main.c (main): Don't reference isremote without CLIENT_SUPPORT. 5184 (Patch from Jim Salter <jsalterjim@earthlink.net>.) 5185 51862003-12-18 Derek Price <derek@ximbiot.com> 5187 5188 * server.c (switch_to_user): SysLog attempts to root from pserver. 5189 51902003-12-18 Derek Price <derek@ximbiot.com> 5191 5192 * server.c (switch_to_user): Don't allow CVS to run as root in pserver 5193 mode. 5194 (Original patch from Wichert Akkerman via Bradley M Kuhn 5195 <bkuhn@fsf.org>.) 5196 * sanity.sh (pserver): Check for bad root error message. 5197 51982003-12-17 Larry Jones <lawrence.jones@eds.com> 5199 5200 * run.c (close_on_exec): fcntl is not documented to return 0 for 5201 success (and QNX doesn't), only -1 for error. 5202 (Patch from George Refseth <george.refseth@arxi.no>.) 5203 52042003-12-10 Larry Jones <lawrence.jones@eds.com> 5205 5206 * rcs.c: Cleanup HAVE_MMAP code in preparation for falling back to 5207 stdio if mmap fails on large files. 5208 52092003-12-10 Mark D. Baushke <mdb@cvshome.org> 5210 5211 * tag.c (tag_check_valid): Fix typo. 5212 (Patch from Rob Clevenger <rob@robsite.org>.) 5213 52142003-12-09 Derek Price <derek@ximbiot.com> 5215 5216 Rewrite code to use promotable write locks to avoid locking more than a 5217 directory at a time for a full write. 5218 5219 * cvs.h (lock_tree_for_write): Rename to... 5220 (lock_tree_promotably): ...this. 5221 (Simple_Lock_Cleanup): New prototype. 5222 * lock.c: Remove some unneeded prototypes. Some function 5223 reorganization. 5224 (struct lock): Make repository const. Add file1 & file2 to 5225 track lock names. Keep track of when repository needs to be freed. 5226 (promotablelock, global_writelock): New globals. 5227 (locked_dir, locked_list): Remove unneeded globals. 5228 (lock_name): Take const args. 5229 (remove_locks): Update comment. Move readlock cleanup... 5230 (Simple_Lock_Cleanup): ...to this new function which also cleans up 5231 writelocks. 5232 (Lock_Cleanup): No need to clean up after the obsolete locked_dir & 5233 locked_list. 5234 (lock_simple_remove): Use new lock name cache. Set lock->repository to 5235 NULL to show locks are removed. Free repository name when necessary. 5236 (Reader_Lock): Copy xrepository argument so we do not need to trust the 5237 caller not to dispose of it. Use lock name cache. Factor code to set 5238 the global readlock variable... 5239 (set_readlock_name): ...to this new function so it can be used by 5240 promotable_lock too. 5241 (readers_exist): Factor common code and make wrapper for... 5242 (_lock_exists): ...this new function. 5243 (promotable_exists): Wrapper for _lock_exists(). 5244 (write_lock): Rename to... 5245 (promotable_lock): ...this and tweak for new behavior. 5246 (set_writelock_proc): Rename to... 5247 (set_promotablelock_proc): ...this and tweak for new functionality. 5248 (Write_Lock): Rename to... 5249 (Promotable_Lock): ...this and tweak for new functionality. 5250 (set_lock): Add trace. 5251 (lock_tree_for_write): Rename to... 5252 (lock_tree_promotably): ...this and tweak for new functionality. 5253 (lock_dir_for_write): Lock only one directory at a time in a promotable 5254 lock aware fashion using new interfaces. 5255 * admin.c, commit.c, edit.c, watch.c: 5256 s/lock_tree_for_write/lock_tree_promotably/. 5257 s/CVS_LOCK_NONE/CVS_LOCK_WRITE/ in calls to start_recursion that used 5258 to rely on lock_tree_for_write() to obtain their write locks. Remove 5259 some unnecessary typecasting. 5260 * recurse.c (do_recursion): Use Simple_Lock_Cleanup() rather than 5261 Lock_Cleanup to avoid removing promotable locks. 5262 * server.c (do_cvs_command): Add traces. 5263 (server): Add new way to sleep the parent server process for connecting 5264 a debugger. 5265 * sanity.sh (lockfiles, multiroot2): Update tests to accomodate minor 5266 trace inconsistencies. 5267 52682003-12-09 Mark D. Baushke <mdb@cvshome.org> 5269 5270 * sanity.sh (trace): Remove trace from the set of tests to run. 5271 The regexps used take an excessive amount of time and need to 5272 be simplified. 5273 52742003-12-08 Mark D. Baushke <mdb@cvshome.org> 5275 5276 * rcs.c (rcsbuf_ftell): Rename to... 5277 (rcsbuf_ftello): this. 5278 (rcsbuf_cache_open): Use off_t rather than long as the pos 5279 argument. Use fseeko rather than fseek and ftello rather than 5280 ftell. 5281 * rcs.h (struct rcsnode): delta_pos is now an off_t type. 5282 52832003-12-03 Derek Price <derek@ximbiot.com> 5284 5285 * sanity.sh (recase): Add some clarifying comments. 5286 52872003-12-03 Larry Jones <lawrence.jones@eds.com> 5288 5289 * expand_path.c (expand_variable): Expand ${CVSROOT} to just the 5290 directory like it's supposed to be. 5291 (Reported by Michael S. Tsirkin <cvs1@misha.eml.cc>.) 5292 52932003-11-26 Mark D. Baushke <mdb@cvshome.org> 5294 5295 * sanity.sh (recase-17sscs): Use ${CVSROOT_DIRNAME} in pattern. 5296 52972003-11-26 Derek Price <derek@ximbiot.com> 5298 5299 Remove server support for case insensitive clients. Includes some 5300 merges from 1.11.x. 5301 5302 * add.c, client.c, cvs.h, rcs.c, subr.c: Remove unnecessary support for 5303 case insensitive clients. 5304 * sanity.sh (tests): Add recase. 5305 (recase): New test of cases that might be expected to cause problems 5306 with a heterogeneous mix of case sensitive and case insensitive clients 5307 and servers. 5308 53092003-11-26 Derek Price <derek@ximbiot.com> 5310 5311 * sanity.sh (modules3-2): Simplify syntax that may have given Cygwin 5312 intermittent conniptions. 5313 53142003-11-25 Mark D. Baushke <mdb@cvshome.org> 5315 5316 * sanity.sh (binfiles2): Correct yet another Cygwin difficulty. 5317 53182003-11-25 Derek Price <derek@ximbiot.com> 5319 5320 * sanity.sh (release): Perform forgotten cleanup. 5321 53222003-11-25 Derek Price <derek@ximbiot.com> 5323 5324 * sanity.sh (env): Enable to work with $remotehost. 5325 53262003-11-25 Mark D. Baushke <mdb@cvshome.org> 5327 5328 * sanity.sh (trace-19): Separate stdout and stderr to workaround 5329 problems on SGI IRIX. 5330 (crecrepos): Use 'unset DISPLAY' to avoid problems with ssh 5331 X11Forwarding configurations. 5332 53332003-11-25 Derek Price <derek@ximbiot.com> 5334 5335 * sanity.sh (pserver, server, server2): Save $servercvs and use the 5336 local $testcvs for these tests. 5337 53382003-11-25 Derek Price <derek@ximbiot.com> 5339 5340 * commit.c (commit_fileproc): Reword comment. 5341 53422003-11-25 Derek Price <derek@ximbiot.com> 5343 5344 * sanity.sh (devcom3-9ar): Ignore the stderr output since it varies 5345 considerably between platforms. 5346 53472003-11-25 Mark D. Baushke <mdb@cvshome.org> 5348 5349 * sanity.sh (CVS_RSH): Read config file sooner to pickup RSH_DFLT 5350 for use in setting CVS_RSH variable. 5351 * sanity.config.sh.in (RSH_DFLT): Use new substitution variable. 5352 * Makefile.am (localcheck, remotecheck): Depend on sanity.config.sh. 5353 * Makefile.in: Regenerate for new Makefile.am. 5354 5355 * update.c (join_file): Deal with rev1 == NULL due to rev1 merge tag 5356 being missing from the current file. 5357 * sanity.sh (join6): New tests for this case. 5358 (trace): Renumber test cases. 5359 53602003-11-24 Larry Jones <lawrence.jones@eds.com> 5361 5362 * diff.c (diff_file_nodiff): use_rev1 does *not* imply that diff_rev1 5363 is not null, diff_date1 could be set instead (ditto for use_rev2). 5364 (Reported by <jnelson-cvsbug@jamponi.net>.) 5365 53662003-11-24 Mark D. Baushke <mdb@cvshome.org> 5367 5368 * client.c (connect_to_forked_server): Avoid passing NULL strings 5369 to TRACE. Calling printf("%s",NULL) is not defined and may 5370 segfault on some systems. 5371 * diff.c (diff_file_nodiff): Ditto. 5372 * main.c (main): Ditto. 5373 * modules.c (do_module): Ditto. 5374 * patch.c (patch_proc): Ditto. 5375 * rcs.c (RCS_cmp_file): Ditto. 5376 * recurse.c (start_recursion): Ditto. 5377 * root.c (parse_cvsroot): Ditto. 5378 * server.c (dirswitch, server_pathname_check, dirswitch, 5379 serve_directory): Ditto. 5380 * tag.c (rtag_proc, check_fileproc, tag_check_valid): Ditto. 5381 * sanity.sh (trace): New testcase to test the -t option. 5382 (RCSDATE, ISODATE, PFMT): New variables in aid of the trace tests. 5383 (dotest_fail_sort): New function in aid of the trace tests. 5384 (template): Fix cleanup. 5385 53862003-11-24 Derek Price <derek@ximbiot.com> 5387 5388 * sanity.sh (modes3): Skip modes3-5 entirely under Cygwin since 5389 permisions are broken there. This change removes most of the earlier 5390 Cygwin differentiation in this test ($cygwin_hack & $cygwin_hack2) in 5391 favor of skipping the test entirely. 5392 53932003-11-24 Derek Price <derek@ximbiot.com> 5394 5395 * sanity.sh: Add `-h <hostname>' option to enable testing across a 5396 :ext: connection to another host. Warn when `-h' is specified without 5397 $TESTDIR. Leave $TESTDIR intact when it looks absolute since it may 5398 contain symlinks. Allow $CVS_SERVER to be overridden via the 5399 environment for `-h'. Default $CVS_RSH to `ssh'. 5400 (*): Use $CVS_RSH to perform certain commands on the remote host (esp. 5401 `ln -s' and `chmod') when `-h' is specified to work around 5402 incompatibilities with CygWin & Samba. Add a few other minor 5403 workarounds for Cygwin bugs. 5404 5405 (newroot): New function. 5406 (*): Use newroot when appropriate. 5407 54082003-11-21 Larry Jones <lawrence.jones@eds.com> 5409 5410 * hash.c (printnode, printlist): Cast %p arguments to void * as 5411 required by the C standard. 5412 54132003-11-21 Larry Jones <lawrence.jones@eds.com> 5414 5415 * recurse.c (start_recursion, do_recursion): Cast %p arguments to 5416 void * as required by the C standard. 5417 54182003-11-19 Larry Jones <lawrence.jones@eds.com> 5419 5420 * rcs.c (RCS_getrevtime): Add error checking; cleanup. 5421 54222003-11-18 Derek Price <derek@ximbiot.com> 5423 5424 * socket-client.c (socket_buffer_initialize): Rename poorly named `n' 5425 to a slightly more descriptive `sbuf'. 5426 (Suggestion from Larry Jones <lawrence.jones@eds.com>.) 5427 54282003-11-18 Derek Price <derek@ximbiot.com> 5429 5430 * socket-client.c (socket_buffer_initialize): Pass in the socket 5431 closure we allocate. 5432 (Report from Larry Jones <lawrence.jones@eds.com>.) 5433 54342003-11-18 Derek Price <derek@ximbiot.com> 5435 5436 * modules.c (do_module): Reject absolute paths. 5437 (Report and suggested fix from Tony Hoyle <tmh@nodomain.org>.) 5438 5439 * sanity.sh (abspath2): Check for the above. 5440 (spacefiles): Remove tests that expect absolute paths to files in the 5441 top level repository directory to work. 5442 (tests): Add abspath2. 5443 54442003-11-18 Derek Price <derek@ximbiot.com> 5445 5446 * socket-client.c (socket_buffer_initialize): Correct a typo that 5447 happened to compile. 5448 (Report and suggested fix from Patrick Brown <BrownP@symbol.com>.) 5449 54502003-11-13 Derek Price <derek@ximbiot.com> 5451 5452 * rcs.c (RCS_delete_revs): It's `&&', not `and'. 5453 54542003-11-13 Derek Price <derek@ximbiot.com> 5455 5456 * sanity.sh: Create the empty log to make it easier to tail immediately 5457 after the script is started. 5458 54592003-11-13 Derek Price <derek@ximbiot.com> 5460 5461 * sanity.sh (exit_help): Correct help to specify `-H' and not `-h' as 5462 the help option. 5463 54642003-11-13 Derek Price <derek@ximbiot.com> 5465 5466 * rcs.c (RCS_delete_revs): Don't use the WOE32 kludge which refuses to 5467 delete revisions from bvinary files on Cygwin. I'm not sure what the 5468 kludge was trying to avoid, but commenting it out causes the test suite 5469 to pass. 5470 54712003-11-12 Derek Price <derek@ximbiot.com> 5472 5473 * main.c (main): Remove a trailing newline from the version string. 5474 Replace multiple calls to fputs to a single call reformated to C89 5475 specifications. Remove some typecasts unecessary under C89. 5476 * sanity.sh (version): Remove trailing newline from the version string. 5477 54782003-11-12 Derek Price <derek@ximbiot.com> 5479 5480 * add.c (add): Allocate more space for the string I added characters 5481 to. 5482 (Report from Mark D. Baushke <mdb@cvshome.org>.) 5483 54842003-11-11 Derek Price <derek@ximbiot.com> 5485 5486 * add.c (add), classify.c (Classify_File), client.c (update_entries), 5487 repos.c (Name_Repository): Use consistent quoting in error messages. 5488 Misc reformatting. 5489 * sanity.sh: Update to match. 5490 54912003-11-10 Derek Price <derek@ximbiot.com> 5492 5493 * commit.c (find_fileproc, check_fileproc): Refuse to remove files 5494 when the file exists in the sandbox. This used to cause data loss. 5495 (Report from Andreas Reifschneider <andyreif@studcs.uni-sb.de>.) 5496 5497 * sanity.sh (rmadd3): Update to match. Expand comments. 5498 54992003-11-10 Derek Price <derek@ximbiot.com> 5500 5501 * sanity.sh (rmadd3): Test the behavior of commit after the 5502 add/replace. 5503 (Report from Andreas Reifschneider <andyreif@studcs.uni-sb.de>.) 5504 55052003-11-10 Derek Price <derek@ximbiot.com> 5506 5507 * sanity.sh (rmadd3): Fix another typo. 5508 55092003-11-10 Mark D. Baushke <mdb@cvshome.org> 5510 5511 * recurse.c (do_dir_proc): Set xframe.repository to NULL after a 5512 call to free(). 5513 55142003-11-10 Derek Price <derek@ximbiot.com> 5515 5516 * sanity.sh (rmadd3): Fix typo. 5517 55182003-11-10 Derek Price <derek@ximbiot.com> 5519 5520 * sanity.sh (rmadd3): New tests that confirms that CVS refuses to 5521 delete a file it thinks was already removed. 5522 (Report and test from Andreas Reifschneider 5523 <andyreif@studcs.uni-sb.de>.) 5524 55252003-11-03 Derek Price <derek@ximbiot.com> 5526 5527 * sanity.sh (server): Test that the global `-l' option is ignored 5528 nonfatally. 5529 55302003-11-03 Derek Price <derek@ximbiot.com> 5531 5532 * server.c (serve_global_option): Warn that -l is being ignored rather 5533 than exiting fatally due to backwards compatibility complaints from 5534 administrators. 5535 55362003-11-01 Larry Jones <lawrence.jones@eds.com> 5537 5538 * filesubr.c (xcmp): Make sure S_ISLNK exists before calling it. 5539 (Reported by Paul Edwards <kerravon@nosppaam.w3.to>.) 5540 55412003-10-31 Derek Price <derek@ximbiot.com> 5542 5543 * sanity.sh: s/${TESTDIR}/cvsroot/${CVSROOT_DIRNAME}/. 5544 55452003-10-28 Derek Price <derek@ximbiot.com> 5546 5547 * sanity.sh (devcom): Renumber tests and use dotest function. 5548 55492003-10-28 Derek Price <derek@ximbiot.com> 5550 5551 * sever.h: Add the standard copyright notice. 5552 55532003-10-28 Derek Price <derek@ximbiot.com> 5554 5555 * lock.c: Remove some suggestions which have already been implemented 5556 or which have become obsolete from the header comment. 5557 55582003-10-26 Derek Price <derek@ximbiot.com> 5559 5560 * sanity.sh (join6): Fix a few typos in the last test and remove a 5561 misplaced test. 5562 55632003-10-25 Mark D. Baushke <mdb@cvshome.org> 5564 5565 * sanity.sh (parseroot): Use dokeep function. 5566 5567 * sanity.sh (parseroot): Perform this test in a subdirectory. 5568 It should avoid problems on case-insensitive systems where 5569 CVSROOT and cvsroot are the same directory (eg, MacOS X). 5570 55712003-10-24 Derek Price <derek@ximbiot.com> 5572 5573 * update.c (join_file): Restore the optimization Mark recently removed, 5574 but fix it. Move one other optimization up since it needs to be 5575 checked for first. Add bew status messages like merge_file produces 5576 when the requested diff has already been applied to the destination. 5577 Expand header comment. 5578 * sanity.sh (join6): Add tests for the new error messages. 5579 (import-113, join-admin-2, diffmerge1): Fix collateral damage. 5580 55812003-10-24 Derek Price <derek@ximbiot.com> 5582 5583 * update.c (merge_file): Optimize & eliminate code. 5584 55852003-10-24 Derek Price <derek@ximbiot.com> 5586 5587 * recurse.c (do_recursion): Assert that ignoring the return value of 5588 Name_Repository is not a memory leak. 5589 55902003-10-24 Derek Price <derek@ximbiot.com> 5591 5592 * repos.c (Name_Repository): Replace a FIXME with the improved error 5593 message it requested. 5594 * sanity.sh (errmsg3): New test for the above. 5595 55962003-10-24 Derek Price <derek@ximbiot.com> 5597 5598 * patch.c (patch_proc): Avoid memory leak. 5599 (Patch from Mark D. Baushke <mdb@cvshome.org>.) 5600 (patch_proc): Reformat a few long lines for readability. 5601 56022003-10-24 Derek Price <derek@ximbiot.com> 5603 5604 * vers_ts.c (Version_TS): Move variable declaration inside the only 5605 block where it is used and remove uneeded reinitialization. 5606 56072003-10-24 Derek Price <derek@ximbiot.com> 5608 5609 * server.h: s/^extern// off of function declarations per HACKING. 5610 Reformat protos for readability. 5611 56122003-10-24 Derek Price <derek@ximbiot.com> 5613 5614 * vers_ts.c (Version_TS): Reformat declaration and expand header 5615 comment. 5616 56172003-10-24 Derek Price <derek@ximbiot.com> 5618 5619 * update.c (merge_file): Remove code that hasn't been used since CVS 5620 used an external RCS (1.9.something). 5621 56222003-10-23 Mark D. Baushke <mdb@cvshome.org> 5623 5624 * update.c (join_file): Do the -jrev1 -jrev2 merge even when 5625 the file is already at rev2. 5626 * sanity.sh (join6): New testcase for above. 5627 (Suggested by Paul Edwards, from somewhere in Australia.) 5628 (import): Fix collateral damage. 5629 56302003-10-23 Derek Price <derek@ximbiot.com> 5631 5632 * sanity.sh (fail): Refer the user to the `TESTS' and `check.log' files 5633 on failure. 5634 56352003-10-22 Derek Price <derek@ximbiot.com> 5636 5637 * recurse.c (start_recursion): Reformat function declaration and 5638 expand comments. 5639 (Original patch from Terrence Enger <tenger@iSeries-guru.com>.) 5640 56412003-10-22 Derek Price <derek@ximbiot.com> 5642 5643 * Makefile.am (cvs_LDADD): Add $(LIBINTL) for gettext. 5644 * Makefile.in: Regenerated. 5645 56462003-10-19 Mark D. Baushke <mdb@cvshome.org> 5647 5648 * sanity.sh (admin-31): Fix more typos. 5649 56502003-10-18 Mark D. Baushke <mdb@cvshome.org> 5651 5652 * sanity.sh (admin): Fix a typo. 5653 5654 * admin.c (admin_fileproc): Restore the ':' character in the 5655 -mtag:message admin argument even if the tag does not exist so 5656 that other files with the tag will be found. Also, be more 5657 paranoid that a symbolic tag actually points to a version that 5658 exists. 5659 (Reported by Rodolfo Schulz de Lima <rodolfo@rodsoft.org>.) 5660 * sanity.sh (admin): Test these changes. 5661 56622003-10-17 Mark D. Baushke <mdb@cvshome.org> 5663 5664 * admin.c (admin_fileproc): Force tag match on admin 5665 -mversion:message rather than altering the wrong log message. 5666 (Patch from "Rodolfo Schulz de Lima" <rodsoft@uol.com.br>.) 5667 * sanity.sh (admin): Test case for it. 5668 56692003-10-15 Larry Jones <lawrence.jones@eds.com> 5670 5671 * commit.c (commit_fileproc, finaladd): Don't call fixaddfile() 5672 if the RCS file didn't get created at all. 5673 (Reported by David Wood <David.Wood@thestreet.com>.) 5674 56752003-10-14 Derek Price <derek@ximbiot.com> 5676 5677 Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux 5678 testing with _POSIX2_VERSION=200112 in the environment. 5679 5680 * sanity.sh: Use 'sed 1q', not 'head -1'. 5681 (Patch from Paul Eggert <eggert@twinsun.com>.) 5682 56832003-10-10 Derek Price <derek@ximbiot.com> 5684 5685 * lock.c (set_lock): Clarify comment. 5686 56872003-10-11 Larry Jones <lawrence.jones@eds.com> 5688 5689 * server.c (server_cleanup): Replace CVS_CHDIR call: some systems 5690 won't allow you to delete a directory tree containg your working 5691 directory. 5692 56932003-10-10 Derek Price <derek@ximbiot.com> 5694 5695 * server.c (cvs_output, cvs_outerr): Protect calls to syslog() 5696 with the usual preprocessor condition: HAVE_SYSLOG_H. 5697 (Original patch from Terrence Enger <tenger@iSeries-guru.com>.) 5698 56992003-10-09 Derek Price <derek@ximbiot.com> 5700 5701 * cvs.h: s/^extern// off of function declarations per HACKING. 5702 57032003-10-08 Derek Price <derek@ximbiot.com> 5704 5705 * Makefile.am (cvs_SOURCES): Add history.h. 5706 * history.c: Include history.h. Add the `P' record types to more 5707 comments. s/ALL_REC_TYPES/ALL_HISTORY_REC_TYPES/. 5708 (usage): Reference ALL_HISTORY_REC_TYPES rather than using a separate 5709 string literal. 5710 (report_hrecs): Handle `P' record type. 5711 (ALL_REC_TYPES): Rename and move... 5712 * history.h (ALL_HISTORY_REC_TYPES): ...here. 5713 * mkmodules.c: Include history.h. 5714 (config_contents): Update contents of and references to LogHistory 5715 records to use ALL_HISTORY_REC_TYPES. 5716 * sanity.sh (basic2-64): Update to include history records of type `P'. 5717 5718 * Makefile.in: Regenerated. 5719 57202003-10-08 Derek Price <derek@ximbiot.com> 5721 5722 * update.c (patch_file): Correct spelling and punctuation in comment. 5723 Update some lines to fit in 80 characters. 5724 57252003-10-08 Derek Price <derek@ximbiot.com> 5726 5727 * lock.c (remove_locks): Copy global struct and set status variable to 5728 NULL before calling disposal functions that might try to access it 5729 during calls to error(1,...). 5730 57312003-10-08 Larry Jones <lawrence.jones@eds.com> 5732 5733 * history.c (history): Don't conflate -e with -x since the client's 5734 idea of what -e means may not match the server's. 5735 (Reported by Frank Hemer <frank@hemer.org>.) 5736 57372003-10-08 Derek Price <derek@ximbiot.com> 5738 5739 * lock.c (Lock_Cleanup), rcs.c (rcs_cleanup), server.c 5740 (server_cleanup): Expand comments about the never_run_again variable 5741 and its interoperation with critical sections, exit, and interrupts. 5742 57432003-10-08 Derek Price <derek@ximbiot.com> 5744 5745 * lock.c (remove_locks): Reduce TRACE level since this function is 5746 rarely called and we can usually rely on tracing higher level 5747 functions. 5748 57492003-10-08 Derek Price <derek@ximbiot.com> 5750 5751 * lock.c (lock_name, lock_simple_remove), 5752 server.c (server_pathname_check, dirswitch): Add TRACE. 5753 57542003-10-08 Derek Price <derek@ximbiot.com> 5755 5756 * main.c: Reformat header comment to fit in 80 chars. 5757 57582003-10-08 Larry Jones <lawrence.jones@eds.com> 5759 5760 * sanity.sh: Use dotest_fail instead of dotest_status for diff tests 5761 since CVS only returns success/fail rather than 0/1/2 like diff does. 5762 57632003-10-08 Derek Price <derek@ximbiot.com> 5764 5765 Fix a client/server bug introduced via the data loss fix of 2003-03-17. 5766 Basically, the server was reporting ambiguous filename requests when it 5767 should have been trusting the user to type the intended case or using 5768 the case the client preserved in CVS/Entries before it tried to look 5769 anything up in case insensitive mode. 5770 5771 * rcs.c (locate_rcs): Use the filename exactly as cased before 5772 investigating a case insensitive lookup, per the client/server protocol 5773 specification. Expand comments. 5774 * subr.c (locate_file_in_dir): This function only needs to locate files 5775 case insensitively. Expand comments. 5776 * cvs.h (locate_file_in_dir): Only prototype when servers which need to 5777 handle case insensitivity are being compiled. 5778 57792003-10-08 Derek Price <derek@ximbiot.com> 5780 5781 * rcs.c (locate_rcs): Declare static. Move to an earlier location in 5782 file to avoid prototyping. 5783 * rcs.h (locate_rcs): Remove proto. 5784 57852003-10-08 Derek Price <derek@ximbiot.com> 5786 5787 * lock.c (lock_filesdoneproc): Reformat long function prototype. 5788 57892003-10-07 Larry Jones <lawrence.jones@eds.com> 5790 5791 * server.c (server_cleanup): Remove old code that was commented out 5792 with //, which isn't valid in C. 5793 57942003-10-04 Derek Price <derek@ximbiot.com> 5795 5796 * exithandle.c: New file. 5797 * Makefile.am (cvs_SOURCES): Add exithandle.c. 5798 * cvs.h (cleanup_register, signals_register): New prototypes. 5799 * lock.c (Lock_Cleanup, remove_locks), rcs.c (rcs_cleanup), 5800 server.c (server_cleanup): Avoid calling twice when called from a 5801 signal handler and then exit. Avoid being interrupted while globals 5802 that the signal handler might touch are in inconsistent states. Expand 5803 comments. 5804 * rcs.c (rcs_internal_lockfile): Ditto. Use cleanup_register rather 5805 than calling atexit() directly. 5806 * main.c (main): Consolidate signal stuff into a call to 5807 signals_register(). Call cleanup_register to register cleanup 5808 functions rather than calling atexit() directly. 5809 5810 * Makefile.in: Regenerated. 5811 58122003-10-04 Derek Price <derek@ximbiot.com> 5813 5814 * error.c, error.h: Remove error_exit() function. 5815 * add.c, client.c, history.c, import.c, main.c, mkmodules.c, modules.c, 5816 rcscmds.c, recurse.c, release.c, root.c, server.c, socket-client.c, 5817 tag.c, update.c: s/\<error_exit *();$/exit (EXIT_FAILURE);/. Remove 5818 related comments. 5819 58202003-10-04 Derek Price <derek@ximbiot.com> 5821 5822 * buffer.c: Reformat a few long function prototypes and lines. 5823 58242003-10-04 Derek Price <derek@ximbiot.com> 5825 5826 * hash.c (dellist): Immediately set input pointers to NULL in case they 5827 are references to global variables which might be accessed by interrupt 5828 handlers. 5829 58302003-10-04 Derek Price <derek@ximbiot.com> 5831 5832 * rcs.c (rcs_cleanup): Declare static. 5833 * rcs.h (rcs_cleanup): Remove prototype. 5834 58352003-10-03 Derek Price <derek@ximbiot.com> 5836 5837 Move calls to Lock_Cleanup to the atexit handler. 5838 5839 * commit.c (commit): Don't call Lock_Cleanup on error exit. 5840 * error.c (error_exit): Don't call Lock_Cleanup. 5841 * lock.c (Lock_Cleanup): Don't worry about recursive calls now that we 5842 are using atexit for calls on exit. Dispose locklist storage after the 5843 locks are removed. Expand comments. 5844 * main.c (main): Move Lock_Cleanup call into atexit(Lock_Cleanup). 5845 * server.c (server_notify): Add TRACE. 5846 58472003-10-03 Derek Price <derek@ximbiot.com> 5848 5849 * recurse.c (start_recursion): Remove unnecessary typecasts. 5850 (do_recursion): Ditto. Add TRACE. Expand comments. Remove unneeded 5851 parens. 5852 58532003-10-03 Derek Price <derek@ximbiot.com> 5854 5855 * main.c (main): Dispose of old Tmpdir and Editor when specified 5856 multiple times between the command line & the ~/.cvsrc file. 5857 58582003-10-03 Derek Price <derek@ximbiot.com> 5859 5860 * lock.c (remove_locks): Eliminate unecessary typecasting. 5861 58622003-10-03 Derek Price <derek@ximbiot.com> 5863 5864 Move calls to rcs_cleanup to the atexit handler. 5865 5866 * error.c (error_exit): Don't call rcs_cleanup. 5867 * rcs.c: Initialize global RCS_LOCKFILE to NULL. 5868 (rcs_internal_lockfile): Use atexit (rcs_cleanup) rather than 5869 setting up signal handlers. 5870 58712003-10-03 Derek Price <derek@ximbiot.com> 5872 5873 * modules.c (do_module): Format prototype. 5874 58752003-10-03 Derek Price <derek@ximbiot.com> 5876 5877 * server.c (server_cleanup): Skip BUF_TO_NET checks as an optimization 5878 when ERROR_USE_PROTOCOL is set. 5879 58802003-10-03 Derek Price <derek@ximbiot.com> 5881 5882 * modules.c (do_module): Use TRACE. 5883 58842003-10-02 Derek Price <derek@ximbiot.com> 5885 5886 * main.c (main): Don't free globals that might be needed by the cleanup 5887 functions. 5888 * server.c (server_cleanup): Only clean up when called in the parent 5889 process. Set buffers to NULL before shutting down and freeing in case 5890 we are interrupted. Improve comments. Add TRACE. 5891 58922003-10-01 Derek Price <derek@ximbiot.com> 5893 5894 * main.c (main): Use symbolic name for trace level. 5895 58962003-10-01 Derek Price <derek@ximbiot.com> 5897 5898 * client.c (connect_to_forked_server): Use TRACE macro rather than the 5899 old style. 5900 59012003-10-01 Derek Price <derek@ximbiot.com> 5902 5903 * server.c (protocol): Initialize the protocol buffer to NULL so that 5904 use before initialization may be detected. 5905 (cvs_output, cvs_outerr): Syslog messages when the appropriate buffers 5906 are not available. 5907 (server_cleanup): Reorganize for a single exit point and to eliminate 5908 duplicated code. Set buf_to_net to NULL before calling the buffer 5909 shutdown functions in order to force error messages into the syslog. 5910 * buffer.c (stdio_buffer_close): Remove FIXME comment re syslog since 5911 the calls to error should go through the cvs_outerr function anyhow. 5912 59132003-09-30 Derek Price <derek@ximbiot.com> 5914 5915 * entries.c (WriteTemplate): TRACE on entrance to a function, not exit. 5916 Don't worry about checking noexec without server support since this 5917 function will then do nothing. 5918 59192003-09-30 Derek Price <derek@ximbiot.com> 5920 5921 * update.c (do_update): Reformat function decl. Move and merge 5922 comment. 5923 59242003-09-30 Derek Price <derek@ximbiot.com> 5925 5926 * client.h (buf_output, buf_outerr): Check that our buffers exist 5927 before sending them data. 5928 (buf_output_binary): Assert that the output buffer is not NULL. 5929 59302003-09-30 Derek Price <derek@ximbiot.com> 5931 5932 * client.h, rcs.c, rcs.h, server.h: Assume __STDC__ since it is 5933 defined as part of the C89 spec. 5934 59352003-09-30 Derek Price <derek@ximbiot.com> 5936 5937 * commit.c (commit): Optimize function towards a single exit point. 5938 59392003-09-30 Derek Price <derek@ximbiot.com> 5940 5941 * error.c (error_exit): Remove call to SYSTEM_CLEANUP. 5942 * main.c (main): Set up atexit(SYSTEM_CLEANUP) rather than calling it 5943 explicitly before exit. 5944 * server.c (pserver_authenticate_connection): Don't call SYSTEM_CLEANUP 5945 before exiting. 5946 59472003-09-30 Derek Price <derek@ximbiot.com> 5948 5949 * error.c (exit_error): Remove call to server_cleanup. 5950 * main.c (main): Call atexit(server_cleanup). Let server_cleanup turn 5951 server_active off. 5952 * server.c (server_cleanup): Don't require an argument. Fill out 5953 header comment. Unset server_active when done. 5954 (server): Don't call server_cleanup - let it be called via the atexit 5955 handler. 5956 * server.h (server_cleanup): Update proto. 5957 59582003-09-30 Derek Price <derek@ximbiot.com> 5959 5960 * server.c (buf_output): Don't check that the buffers exist before 5961 using them since cvs_outerr does this without problems. 5962 59632003-09-30 Derek Price <derek@ximbiot.com> 5964 5965 * server.c: Remove some unecessary function prototypes. 5966 59672003-09-29 Derek Price <derek@ximbiot.com> 5968 5969 * rcs.c (make_file_label): Make a failure to stat a file a fatal error 5970 since it signals that a later read will also fail. 5971 59722003-09-29 Derek Price <derek@ximbiot.com> 5973 5974 * diff.c (diff_fileproc): Optimize the check for labels set by the 5975 user. 5976 59772003-09-26 Derek Price <derek@ximbiot.com> 5978 5979 * diff.c (diff): Add a FIXME re spaces in diff arguments. 5980 59812003-09-25 Mark D. Baushke <mdb@cvshome.org> 5982 5983 * rcs.c (make_file_label): Do not return an uninitialized label. 5984 (Reported by "Todd C. Miller" <Todd.Miller@courtesan.com>) 5985 59862003-09-24 Derek Price <derek@ximbiot.com> 5987 5988 * lock.c (lock_name): Remove useless prototype. 5989 59902003-09-12 Derek Price <derek@ximbiot.com> 5991 5992 * sanity.sh (mkmodules): Correct comments. 5993 59942003-09-12 Derek Price <derek@ximbiot.com> 5995 5996 * mkmodules.c (mkmodules): Do not pass a string which came from the 5997 checkoutlist file directly to error as a format string since we don't 5998 want to trust any user with access to checkoutlist with creating printf 5999 format strings. I already claimed I did this in the NEWS file. 6000 (Thanks to Larry Jones for spotting my mistake.) 6001 * sanity.sh (mkmodules): Test for the above. 6002 60032003-09-12 Derek Price <derek@ximbiot.com> 6004 6005 * mkmodules.c (checkoutlist_contents): Document the optional portions 6006 of this file format more accurately. 6007 (mkmodules): Ditto, in comments. Fix bug that always failed to ignore 6008 whitespace before error messages. 6009 * sanity.sh (mkmodules-temp-file-removal): Rename to... 6010 (mkmodules): ...this and add a test of the checkoutlist error message. 6011 Add cleanup step to restore checkoutlist. 6012 60132003-09-08 Derek Price <derek@ximbiot.com> 6014 6015 * filesubr.c (cvs_temp_file): Replace a chmod 0600, which shouldn't 6016 really be necessary and which provided a false sense of security, with 6017 an informative comment. 6018 (Thanks to Paul Eggert <eggert@cs.ucla.edu> for his educational 6019 advice.) 6020 60212003-08-29 Derek Price <derek@ximbiot.com> 6022 6023 * cvs.h: Delete reference to CVSADMROOT_EDITINFO. 6024 * logmsg.c (editinfo_proc): Delete function and proto. 6025 (do_editor): Don't look for editinfo script. 6026 * mkmodules.c (editinfo_contents): Delete. 6027 * sanity.sh (*): Remove references to editinfo in updates of the 6028 CVSROOT module. 6029 60302003-08-29 Derek Price <derek@ximbiot.com> 6031 6032 * remove.c (cvsremove): Update quotes for consistency. 6033 60342003-08-27 Larry Jones <lawrence.jones@eds.com> 6035 6036 * history.c: 'P' is a valid record type and has been for a long time. 6037 Add it to the comments, usage message, and, most important, 6038 ALL_REC_TYPES so it gets recorded by default. 6039 * server.c (do_cvs_command): Set global command_name to the real 6040 command name rather than leaving it set to "server". 6041 * sanity.sh: Update to match. 6042 (Reported by Dmitry Ryzhkov <rdim_outside@softhome.net>.) 6043 60442003-08-19 Derek Price <derek@ximbiot.com> 6045 6046 * filesubr.c (cvs_temp_file): Expand comments. Check for glibc version 6047 before compiling chmod command. Remove FIXME to this effect. 6048 60492003-08-19 Derek Price <derek@ximbiot.com> 6050 6051 * logmsg.c (do_editor): Use cvs_temp_file rather than cvs_temp_name to 6052 create and open the temporary file. Remove FIXME to this effect. 6053 60542003-08-19 Derek Price <derek@ximbiot.com> 6055 6056 * logmsg.c (do_editor): Move editinfo processing to before creation of 6057 the temp file so that it may be skipped when no editor is defined. 6058 Remove related FIXME. Add comments. Remove some processing of 6059 editinfo_editor rendered obsolete when editinfo_editor ceased to be a 6060 global. 6061 60622003-08-19 Derek Price <derek@ximbiot.com> 6063 6064 * (*.c): Move some includes to lib/system.h. 6065 60662003-08-18 Derek Price <derek@ximbiot.com> 6067 6068 * add.c (add): Use consistent quoting style in user messages. 6069 * sanity.sh (*): Ditto. 6070 60712003-08-13 Larry Jones <lawrence.jones@eds.com> 6072 6073 * server.c (server_cleanup): Don't shutdown buf_from_net if it's 6074 null. 6075 (Reported by Scott Mitchell <scott@fishballoon.org>.) 6076 60772003-08-03 Mark D. Baushke <mdb@cvshome.org> 6078 6079 * lock.c: Do not include xtime.h (already included via system.h). 6080 * subr.c: Ditto. 6081 (Original patch from Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 6082 to fix IRIX 5.3 problem.) 6083 60842003-08-01 Derek Price <derek@ximbiot.com> 6085 6086 * sanity.sh (join5): Use $SPROG rather than $PROG. 6087 60882003-08-01 Derek Price <derek@ximbiot.com> 6089 6090 * sanity.sh (join5): Use $PROG consistently and escape a `.'. 6091 60922003-08-01 Derek Price <derek@ximbiot.com> 6093 6094 * sanity.sh (join5): Use `[a-z]*' as opposed to `update'. 6095 60962003-07-31 Derek Price <derek@ximbiot.com> 6097 6098 * rcscmds.c (RCS_merge): Pass `--' before the filename arguments to 6099 diff so that filenames starting with `-' can be merged. 6100 * sanity.sh (join5): New test for same. 6101 61022003-07-31 Derek Price <derek@ximbiot.com> 6103 6104 * add.c (add_directory): Don't print status information in really_quiet 6105 mode. 6106 61072003-07-29 Derek Price <derek@ximbiot.com> 6108 6109 * commit.c (checkaddfile): Simplify the logic here, using assumptions 6110 already made later in the function to remove calls to locate_rcs and 6111 some conditionals. Use same assumptions to remove some variables. 6112 61132003-07-29 Derek Price <derek@ximbiot.com> 6114 6115 * login.c: Remove GETPASS & HAVE_GETPASSPHRASE cruft in favor of always 6116 using the GNULIB getpass since the system getpass was removed from the 6117 POSIX.2 specification. 6118 61192003-07-28 Derek Price <derek@ximbiot.com> 6120 6121 * subr.c (strip_trailiing_newlines): Use size_t rather than int to 6122 count string length. 6123 (Suggestion from Paul Edwards, who provides a broken return email 6124 address in Tonga. I believe he is actually from Australia.) 6125 61262003-07-28 Derek Price <derek@ximbiot.com> 6127 6128 * checkout.c (checkout): Remove out-of-date comment about Checkin.prog 6129 and Update.prog. 6130 61312003-07-25 Derek Price <derek@ximbiot.com> 6132 6133 * rcs.c (RCS_parsercsfile): Declare rcsfile argument as const. 6134 * rcs.h (RCS_parsercsfile): Update prototype to match. 6135 * commit.c (fixaddfile): Accept a single path to an rcs file as an 6136 argument rather than trying to look it up again when it is not 6137 necessary. 6138 61392003-07-25 Derek Price <derek@ximbiot.com> 6140 6141 * commit.c (finaladd): But don't free variables we no longer allocate. 6142 61432003-07-25 Derek Price <derek@ximbiot.com> 6144 6145 * checkin.c (Checkin): The rcs argument is unecessary since we know 6146 that the parsed RCS data always exists as part of finfo by the time 6147 this function gets called. 6148 * commit.c (commit_fileproc, finaladd): Use new Checkin() API. 6149 * cvs.h (Checkin): Update prototype. 6150 61512003-07-25 Derek Price <derek@ximbiot.com> 6152 6153 * subr.c (strip_trailing_newlines): Check len b4 str[len] to avoid 6154 exceeding the array bounds when the string length == 0. 6155 (Report from John Tytgat <JoTy@esko-graphics.com>.) 6156 61572003-07-25 Derek Price <derek@ximbiot.com> 6158 6159 * subr.c (strip_trailing_newlines): Generalize this function to watch 6160 len so that it cannot walk past the beginning of the string passed in. 6161 (Report from John Tytgat <JoTy@esko-graphics.com>.) 6162 61632003-07-25 Derek Price <derek@ximbiot.com> 6164 6165 * subr.c (strip_trailing_newlines): Leave the K&R function decl on this 6166 branch. 6167 61682003-07-25 Derek Price <derek@ximbiot.com> 6169 6170 * cvs.h (strip_trailing_newlines): Update prototype. 6171 * subr.c (strip_trailing_newlines): Return true when newlines are 6172 removed. 6173 * server.c (pserver_authenticate_connection): Don't give a DOS attack a 6174 chance to authenticate accidentally because I like to be paranoid. 6175 * sanity.sh (pserver): New test for same. 6176 61772003-07-24 Mark D. Baushke <mdb@cvshome.org> 6178 6179 * server.c (check_system_password): Cleanup pam_* return code 6180 checking. (Original patch from Brian Murphy <brian@murphy.dk>.) 6181 61822003-07-24 Derek Price <derek@ximbiot.com> 6183 6184 * main.c: But the GNULIB gethostname accepts an int not ssize_t. 6185 61862003-07-24 Derek Price <derek@ximbiot.com> 6187 6188 * main.c: Don't declare gethostname when we already have it to avoid 6189 decl conflicts. 6190 61912003-07-24 Derek Price <derek@ximbiot.com> 6192 6193 * server.c (server_directory): Add a TRACE for OS X debugging. 6194 61952003-07-23 Derek Price <derek@ximbiot.com> 6196 6197 * client.c: Avoid some warning from gcc -Wall. 6198 * lock.c: Ditto. 6199 * login.c: Ditto. 6200 * modules.c: Ditto. 6201 * server.c: Ditto. 6202 62032003-07-23 Derek Price <derek@ximbiot.com> 6204 6205 * filesubr.c (isaccessible): Correct some double const warnings from 6206 protoize. 6207 * login.c (password_entry_parseline): Ditto. 6208 * server.c (kserver_authenticate_connection): Remove a multi-line 6209 string along with the warning from GCC. 6210 62112003-07-23 Derek Price <derek@ximbiot.com> 6212 6213 * *.{c,h}: Back out the indent run. 6214 62152003-07-23 Derek Price <derek@ximbiot.com> 6216 6217 * cvs.h: Move some includes into lib/system.h. 6218 62192003-07-23 Derek Price <derek@ximbiot.com> 6220 6221 * *.{c,h}: Run these through GNU indent as per the NEWS file to fix 6222 some of the long function decls which came out of protoize. 6223 62242003-07-23 Derek Price <derek@ximbiot.com> 6225 6226 * *.c: Run these through GCC's protoize to convert the pre-ANSI C 6227 function decls to C89 compliance. 6228 62292003-07-22 Derek Price <derek@ximbiot.com> 6230 6231 * cvs.h: Remove support for the PTR macro, since we can assume void * 6232 under C89. It also was not being made use of in very many places so 6233 even most K&R compilers must have supported it, or nobody was using 6234 K&R compilers. We can also assume <stdarg.h> under C89, but move the 6235 include... 6236 * error.c: ...here, de-macro VA_START, and... 6237 * subr.c: ...put a copy here too, as well as de-macroing VA_START. 6238 * history.c: s/PTR /void */g; 6239 * modules.c: Ditto. 6240 62412003-07-22 Derek Price <derek@ximbiot.com> 6242 6243 * cvs.h: Include GNULIB exit.h. 6244 62452003-07-20 Derek Price <derek@ximbiot.com> 6246 6247 * server.c: Add PAM support. 6248 (cvs_pam_userinfo): New data type for PAM conversations. 6249 (cvs_pam_conv): New function. 6250 (check_password): Add PAM support. 6251 (Original patch from Brian Murphy <brian@murphy.dk>.) 6252 62532003-07-20 Derek Price <derek@ximbiot.com> 6254 6255 * wrapper.c: Remove mention of obsolete -f and -t wrapper options from 6256 a comment. 6257 62582003-07-18 Derek Price <derek@ximbiot.com> 6259 6260 * sanity.sh (release): Add new tests for release with unrecognized 6261 recognized directories. 6262 62632003-07-18 Derek Price <derek@ximbiot.com> 6264 6265 * vers_ts (Version_TS): Don't allow command line keyword expansion 6266 modes to override binary mode. 6267 * sanity.sh (): Tests for the above. 6268 (Original patch from Dieter Maurer <dieter@handshake.de>.) 6269 62702003-07-16 Derek Price <derek@ximbiot.com> 6271 6272 * add.c: s/PROTO//. 6273 * admin.c: Ditto. 6274 * annotate.c: Ditto. 6275 * buffer.c: Ditto. 6276 * buffer.h: Ditto. 6277 * checkout.c: Ditto. 6278 * classify.c: Ditto. 6279 * client.c: Ditto. 6280 * client.h: Ditto. 6281 * commit.c: Ditto. 6282 * cvs.h: Ditto. 6283 * diff.c: Ditto. 6284 * edit.c: Ditto. 6285 * edit.h: Ditto. 6286 * entries.c: Ditto. 6287 * error.c: Ditto. 6288 * error.h: Ditto. 6289 * expand_path.c: Ditto. 6290 * fileattr.c: Ditto. 6291 * fileattr.h: Ditto. 6292 * filesubr.c: Ditto. 6293 * find_names.c: Ditto. 6294 * gssapi-client.c: Ditto. 6295 * gssapi-client.h: Ditto. 6296 * hardlink.h: Ditto. 6297 * hash.c: Ditto. 6298 * hash.h: Ditto. 6299 * history.c: Ditto. 6300 * import.c: Ditto. 6301 * kerberos4-client.h: Ditto. 6302 * lock.c: Ditto. 6303 * log-buffer.c: Ditto. 6304 * log-buffer.h: Ditto. 6305 * log.c: Ditto. 6306 * login.c: Ditto. 6307 * logmsg.c: Ditto. 6308 * mkmodules.c: Ditto. 6309 * modules.c: Ditto. 6310 * myndbm.c: Ditto. 6311 * myndbm.h: Ditto. 6312 * patch.c: Ditto. 6313 * rcs.c: Ditto. 6314 * rcs.h: Ditto. 6315 * rcscmds.c: Ditto. 6316 * recurse.c: Ditto. 6317 * release.c: Ditto. 6318 * remove.c: Ditto. 6319 * root.c: Ditto. 6320 * rsh-client.h: Ditto. 6321 * run.c: Ditto. 6322 * server.c: Ditto. 6323 * server.h: Ditto. 6324 * socket-client.c: Ditto. 6325 * socket-client.h: Ditto. 6326 * status.c: Ditto. 6327 * subr.c: Ditto. 6328 * tag.c: Ditto. 6329 * update.c: Ditto. 6330 * update.h: Ditto. 6331 * vers_ts.c: Ditto. 6332 * watch.c: Ditto. 6333 * watch.h: Ditto. 6334 * wrapper.c: Ditto. 6335 * zlib.c: Ditto. 6336 63372003-07-16 Derek Price <derek@ximbiot.com> 6338 6339 * cvs.h: Include pathmax.h. 6340 63412003-07-16 Derek Price <derek@ximbiot.com> 6342 6343 * myndbm.c: Use the GNU getdelim function rather than our package 6344 getstr. 6345 * server.c: Use the (hopefully) GNULIB and more appropriately named 6346 getnline function rather than our getline_safe function. 6347 63482003-07-12 Larry Jones <lawrence.jones@eds.com> 6349 6350 * sanity.sh (diffnl): New tests for diff on files with no newline 6351 at end. 6352 (Patch from Andrew Moise <chops@demiurgestudios.com>.) 6353 63542003-07-11 Larry Jones <lawrence.jones@eds.com> 6355 6356 * Makefile.am (cvs_DEPENDENCIES): Include the libraries. 6357 * Makefile.in: Regenerated. 6358 6359 * diff.c (diff_file_nodiff): Fix -Wall complaints. 6360 * log.c (rlog_proc): Ditto. 6361 * rcs.c (RCS_setlocalid): Ditto. 6362 * recurse.c (start_recursion): Handle null repository_in in TRACE. 6363 63642003-07-09 Larry Jones <lawrence.jones@eds.com> 6365 6366 * sanity.sh: Use ${CPROG} instead of ${PROG} so that changes merged 6367 from cvs1-11-x-branch without updating won't appear to work. 6368 6369 * sanity.sh (keywordexpand): Use ${SPROG} instead of ${PROG} as 6370 required. 6371 6372 * add.c (add): Update "re-adding" message to have quotes around 6373 the file name like all the other similar messages. 6374 * sanity.sh: Update to match. 6375 6376 * update.c (join_file): Handle locally removed but not yet committed 6377 files. 6378 (Reported by Larry Lords <LordsLL@ldschurch.org>.) 6379 * sanity.sh (join, join4): New tests for above. 6380 63812003-06-28 Larry Jones <lawrence.jones@eds.com> 6382 6383 * commit.c (fixaddfile): Bail out if locate_rcs() fails. Make 6384 parameters const. 6385 6386 * add.c (add): Fix -Wall complaints. 6387 * diff.c (diff_file_nodiff): Ditto. 6388 * filesubr.c (cvs_casecmp): Ditto. 6389 * patch.c (patch_fileproc): Ditto. 6390 * rcs.c (RCS_cmp_file): Ditto. 6391 * root.c (parse_cvsroot): Ditto. 6392 * subr.c (locate_file_in_dir): Ditto. 6393 * cvs.h (cvs_casecmp, locate_file_in_dir): Update prototypes. 6394 63952003-06-27 Larry Jones <lawrence.jones@eds.com> 6396 6397 * lock.c (readers_exist): Use LockDir rather than always looking 6398 in the repository. 6399 (Original patch from Robert Ambalu <Robert.Ambalu@gs.com>.) 6400 Remove vestigial lock promotion code. 6401 64022003-06-27 Derek Price <derek@ximbiot.com> 6403 6404 * checkout.c (safe_location): Don't try and print from a NULL pointer. 6405 (Report and original patch from Sampo Kellomaki <sampo@symlabs.com>.) 6406 64072003-06-26 Larry Jones <lawrence.jones@eds.com> 6408 6409 * hash.c (sortlist): Avoid crash when list is null. 6410 64112003-06-23 Derek Price <derek@ximbiot.com> 6412 6413 * patch.c (patch_fileproc): Output revision number of the original 6414 revision in the removed case. 6415 (Idea from Paul Edwards <kerravon@w3.to>.) 6416 6417 * sanity.sh (rdiff-add-remove-nodiff): Rename to... 6418 (rdiff-short): ...this. Test for the above changes. Add some tests 6419 for when rev2 defaults to the trunk. Expand comments. 6420 64212003-06-23 Derek Price <derek@ximbiot.com> 6422 6423 * client.c: Reapply Alexey's changes to client.c from three commits 6424 back they were left out of the diff. 6425 64262003-06-23 Derek Price <derek@ximbiot.com> 6427 6428 * add.c (add): Fix xmalloc's strlen() of wrong variable. 6429 * checkout.c (safe_location): leak: reused where_location without free. 6430 * log.c (rlog_proc): leak: free where before exit. 6431 * logmsg.c (do_verify): leak: free verifymsg_script before exit. 6432 (Original patch from Kenneth Lorber <keni@his.com>.) 6433 64342003-06-23 Derek Price <derek@ximbiot.com> 6435 6436 * client.c: Remove silly comment. 6437 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6438 64392003-06-23 Derek Price <derek@ximbiot.com> 6440 6441 * kerberos4-client.h, kerberos4-client.c, client.c: Rename 6442 start_tcp_server() to start_kerberos4_server(). 6443 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6444 64452003-06-20 Derek Price <derek@ximbiot.com> 6446 6447 * kerberos-client.c, kerberos-client.h, client.c: Split out 6448 Kerberos 4 code to separate files. 6449 6450 * Makefile.am: Mention new files. 6451 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6452 6453 * Makefile.in: Regenerated. 6454 64552003-06-16 Derek Price <derek@ximbiot.com> 6456 6457 * cvs.h: Comment an #endif. 6458 64592003-06-13 Derek Price <derek@ximbiot.com> 6460 6461 * filesubr.c (cvs_temp_name): Remove portability cruft obsoleted by the 6462 import of GNULIB's mkstemp(). 6463 64642003-06-13 Derek Price <derek@ximbiot.com> 6465 6466 * subr.c (file_has_conflict): Fix comment. 6467 (Patch from Paul Edwards <kerravon@w3.to>.) 6468 64692003-06-13 Derek Price <derek@ximbiot.com> 6470 6471 * subr.c (xrealloc): Trivial comment fix. 6472 (Patch from Kenneth Lorber <keni@his.com>.) 6473 64742003-06-13 Derek Price <derek@ximbiot.com> 6475 6476 * diff.c (diff_fileproc): Fix memory leak. 6477 (Patch from Kenneth Lorber <keni@his.com>.) 6478 64792003-06-12 Derek Price <derek@ximbiot.com> 6480 6481 * root.c (parse_cvsroot, local_cvsroot): Parse trailing '/'s off the 6482 end of cvsroots. Make arguments const. 6483 * cvs.h: Update prototypes to match. 6484 (Idea from Miles Zarathustra <shiva@aranyaka.org>.) 6485 64862003-06-12 Derek Price <derek@ximbiot.com> 6487 6488 * checkout.c (safe_location): Fix memory leak. 6489 (Patch from Kenneth Lorber <keni@his.com>.) 6490 64912003-06-11 Larry Jones <lawrence.jones@eds.com> 6492 6493 * filesubr.c (xresolvepath): Fix memory leak. 6494 (Original patch from Kenneth Lorber <keni@his.com>.) 6495 64962003-06-11 Derek Price <derek@ximbiot.com> 6497 6498 * commit.c: Change Parse_Info calling convention to include void * 6499 suggested in HACKING file and generalize all argument to opt. 6500 * cvs.h: update defs for Parse_Info and its callproc. 6501 * edit.c: Change Parse_Info calls for new calling convention. 6502 * logmsg.c: Ditto. 6503 * parseinfo.c: Change Parse_Info for new calling convention. 6504 * server.c: Change Parse_Info calls for new calling convention. 6505 * tag.c: Ditto. 6506 (Original patch from Ken Lorber <keni@his.com>.) 6507 65082003-06-11 Derek Price <derek@ximbiot.com> 6509 6510 * Makefile.in: Regenerate for new configure.in. 6511 65122003-06-11 Larry Jones <lawrence.jones@eds.com> 6513 6514 * sanity.sh: Change warning messages to note that defective tools 6515 can result in defective results, both pass and fail. Also change 6516 "which" to "that" for errant grammar pedants. 6517 65182003-06-10 Derek Price <derek@ximbiot.com> 6519 6520 * recurse.c (start_recursion): Avoid unneeded allocation. 6521 65222003-06-10 Mark D. Baushke <mdb@gnu.org> 6523 6524 * rcs.c (RCS_setlocalid,RCS_setincexc): New functions to support 6525 LocalKeyword and KeywordExpand config keywords. 6526 6527 * rcs.h (RCS_setlocalid,RCS_setincexc): New prototypes. 6528 6529 * parseinfo.c (parse_config): Added LocalKeyword 6530 and KeywordExpand keywords. 6531 6532 * sanity.sh (keywordexpand): New CVSROOT/config tests for 6533 LocalKeyword and KeywordExpand options. 6534 65352003-06-09 Derek Price <derek@ximbiot.com> 6536 6537 * rcs.c (RCS_delete_revs): Reference WOE32 rather than WIN32 in 6538 accordance with the GNU convention to avoid implying that we consider 6539 the Microsoft Windows Operating Environment any sort of "win". 6540 65412003-06-09 Derek Price <derek@ximbiot.com> 6542 6543 * filesubr.c (cvs_temp_file): Tidy a comment. 6544 65452003-06-09 Derek Price <derek@ximbiot.com> 6546 6547 * patch.c (patch_fileproc): Don't assume the content of files is 6548 different just because the revision number is different. 6549 * sanity.sh (rdiff-add-remove-nodiff): New tests for the above. 6550 (Report & original patches from Paul Edwards <kerravon@w3.to>.) 6551 65522003-06-04 Derek Price <derek@ximbiot.com> 6553 6554 * cvs.h (locate_file_in_dir): New proto. 6555 (locate_rcs): Move proto... 6556 * rcs.h: ...here. 6557 * filesubr.c (locate_rcs): Move function... 6558 * rcs.c: ...here for Windows. 6559 * filesubr.c (locate_file_in_dir): Move function... 6560 * subr.c: ...here for Windows. 6561 65622003-06-02 Derek Price <derek@ximbiot.com> 6563 6564 * sanity.sh: Add comments re portability of test -x & test -e. Don't 6565 bother with quotes in arguments to test when we have laready checked 6566 the variables for empty content. 6567 65682003-06-02 Derek Price <derek@ximbiot.com> 6569 6570 * sanity.sh: Don't use `test -x' since BSD 4.3 doesn't like it. Minor 6571 reorganization for clarity. Don't check for $server = false after we 6572 set its default. Use </dev/null with calls to $prog --version when we 6573 don't know what $prog does for sure. 6574 65752003-06-02 Derek Price <derek@ximbiot.com> 6576 6577 * diff.c (diff_file_nodiff): Don't assume that because two specified 6578 revision numbers are different, the contents are different. 6579 (Original report & patch from Paul Edwards <kerravon@w3.to>.) 6580 6581 * diff.c (diff_file_nodiff): Pass through rev1_cache to be filled in 6582 by RCS_cmp_file when it needs to check out revision 1 into a file. Add 6583 some more informative error messages. Cleanup for efficiency & 6584 readability. 6585 (diff_fileproc): Pass the cached revision to RCS_exec_diff(). Clean up 6586 the error exit code. Remove code killed by the changes to 6587 diff_file_nodiff(). 6588 * rcscmds.c (RCS_exec_rcsdiff): Accept and use new cached revision text 6589 if present. 6590 * rcs.c (RCS_cmp_file): Accept a second revision number and cache the 6591 first revision if it needs to be checked out. 6592 6593 * checkin.c (Checkin): Use new RCS_cmp_file(). 6594 * import.c (update_rcs_file): Ditto. 6595 * no_diff.c (No_Difference): Ditto. 6596 6597 * cvs.h (RCS_exec_rcsdiff): New proto to match above changes. 6598 * rcs.h (RCS_cmp_file): Ditto. 6599 6600 * sanity.sh: Minor corrections to handle the above changes. 6601 66022003-05-31 Derek Price <derek@ximbiot.com> 6603 6604 * root.c (parse_cvsroot): Refuse :fork: only in client mode, not 6605 server. 6606 * client.c (connect_to_forked_server): Die without SERVER_SUPPORT when 6607 CVSSERVER isn't supplied in the environment. 6608 * sanity.sh: Default $servercvs to $testcvs. Add SPROG so that testing 6609 a client and server with different names works in order to test the 6610 above changes. s/PROG/SPROG/ almost everywhere. Misc corrections to 6611 tests when ${PROG} is required not to use [a-z]*. Misc uniqifications 6612 of test names. Misc replacement of CVS_SERVER=${testcvs} with 6613 CVS_SERVER=${servercvs}. Confirm ${testcvs} & ${servercvs} exist and 6614 are executable. Set testcvs_server_support=true if the ${testcvs} 6615 executable has server support. Misc comment corrections. 6616 (pserver): s/\$\{testcvs\}/${servercvs}/ for invocations of pserver. 6617 (server): Ditto for invocations of `cvs server'. 6618 (fork): Accept the `was not compiled with server support' error 6619 message. 6620 66212003-05-29 Derek Price <derek@ximbiot.com> 6622 6623 * client.c (start_server): Don't send -l to server. 6624 * history.c (history_write): Fix comment. 6625 * main.c (main): Don't process -l. 6626 * server.c (serve_global_option): Ditto. 6627 (Suggestion from Rob Lanphier <robla@real.com>.) 6628 66292003-05-29 Derek Price <derek@ximbiot.com> 6630 6631 * log-buffer.c, rsh-client.c, socket-client.c: Allow compilation 6632 with --disable-client. 6633 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6634 66352003-05-29 Derek Price <derek@ximbiot.com> 6636 6637 * gssapi-client.h: Move contents of lib/xgssapi.h here. 6638 * server.c: xgssapi.h is no more. 6639 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6640 66412003-05-28 Derek Price <derek@ximbiot.com> 6642 6643 * server.c: Use standard PROTOTYPES symbol instead of non-standard 6644 USE_PROTOTYPES. 6645 * error.h, cvs.h: Use PROTO.h. 6646 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6647 66482003-05-23 Larry Jones <lawrence.jones@eds.com> 6649 6650 * sanity.sh (info-cleanup-verifymsg): Avoid race in output. 6651 6652 * sanity.sh (template): Fix unintended duplicate DEFAULT lines, 6653 duplicate test names. 6654 66552003-05-22 Larry Jones <lawrence.jones@eds.com> 6656 6657 * commit.c (commit): Fix leading zero stripping code to not strip 6658 unless there's a following digit. 6659 6660 * parseinfo.c (Parse_Info): Warn if multiple DEFAULT lines found. 6661 * sanity.sh (info): New test for above. 6662 66632003-05-21 Derek Price <derek@ximbiot.com> 6664 6665 * Makefile.in: Regenerate with Automake version 1.7.5. 6666 66672003-05-20 Larry Jones <lawrence.jones@eds.com> 6668 6669 * parseinfo.c (Parse_Info): Fix stupid memory management error. 6670 6671 * logmsg.c (do_verify): Treate Parse_Info errors as failure. 6672 * parseinfo.c (Parse_Info): Don't call expand_path until executing 6673 the command so that errors in unexecuted commands aren't reported. 6674 * sanity.sh (info): New tests for above. 6675 66762003-05-20 Derek Price <derek@ximbiot.com> 6677 6678 * mkmodules.c (config_contents): Add missing newline. 6679 (Patch from Kenneth Lorber <keni@his.com>.) 6680 66812003-05-20 Derek Price <derek@ximbiot.com> 6682 6683 * Makefile.am: Macro subsitution for zlib include path and library 6684 location 6685 * zlib.c: #ifdef inclusion of <zlib.h> versus "zlib.h" 6686 (Original patch from Anthon Pang <apang@telus.net>.) 6687 6688 * Makefile.in: Regenerated 6689 66902003-05-20 Derek Price <derek@ximbiot.com> 6691 6692 * cvs.h: Move the standard includes into lib/system.h. 6693 * subr.c: s/malloc/CVS_MALLOC/;s/realloc/CVS_REALLOC/. 6694 66952003-05-19 Derek Price <derek@ximbiot.com> 6696 6697 * filesubr.c: s/\bstat\b/CVS_STAT/g;s/\blstat\b/CVS_LSTAT/g 6698 * hardlink.c: Ditto. 6699 * ignore.c: Ditto. 6700 * rcs.c: Ditto. 6701 * update.c: Ditto. 6702 67032003-05-18 Larry Jones <lawrence.jones@eds.com> 6704 6705 * checkout.c (safe_location): Remove unused variable. 6706 * hash.c (walklist, printnode, printlist): Use %p to print pointers 6707 if available, convert to unsigned long if not. 6708 * recurse.c (start_recursion, do_recursion): Ditto. 6709 * tag.c (rtag_proc, tag_check_valid): Ditto. 6710 67112003-05-18 Mark D. Baushke <mdb@gnu.org> 6712 6713 * Makefile.am (localcheck,remotecheck): Use cvs$(EXEEXT) not cvs. 6714 * Makefile.in: Regenerated. 6715 * sanity.sh (status-init-7): Use ${PROG} not cvs in tests. 6716 (branch-after-import-5): Ditto. 6717 (keywordname-update-11): Ditto. 6718 67192003-05-18 Larry Jones <lawrence.jones@eds.com> 6720 6721 * server.h (kserver_authenticate_connection, 6722 pserver_authenticate_connection): Add prototypes. 6723 6724 * client.c (update_entries): Set file's access time to the current 6725 time rather than the same as the modification time. 6726 * vers_ts.c (Version_TS): Ditto. 6727 67282003-05-09 Derek Price <derek@ximbiot.com> 6729 6730 * client.c: #ifdef inclusion of gssapi-client.h. 6731 * server.c: Ditto. 6732 (Reported by Boyd Lynn Gerber <gerberb@zenez.com>.) 6733 67342003-05-09 Derek Price <derek@ximbiot.com> 6735 6736 * client.h: Move some of the GSSAPI stuff... 6737 * gssapi-client.h: ...to this new file. 6738 * client.c (start_server): Use new initialize_gssapi_buffers(). 6739 (*): Move most of the GSSAPI stuff from here and... 6740 * server.c (*): ...here... 6741 * gssapi-client.c: ...to this new file. 6742 * Makefile.am (EXTRA_cvs_SOURCES, cvs_DEPENDENCIES, cvs_LDADD): Support 6743 $(cvs_client_objects). 6744 (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6745 6746 * Makefile.in: Regenerated. 6747 67482003-05-09 Derek Price <derek@ximbiot.com> 6749 6750 * buffer.c: Reindent some compiler directives in order to make nesting 6751 clearer. 6752 67532003-05-08 Derek Price <derek@ximbiot.com> 6754 6755 * client.c (log_buffer*): Move... 6756 * log-buffer.c (log_buffer*): ...to this new file. 6757 * log-buffer.h (setup_logfiles): New file to share prototype. 6758 * Makefile.am: Add log-buffer.c & log-buffer.h. 6759 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6760 6761 * Makefile.in: Regenerated. 6762 67632003-05-08 Derek Price <derek@ximbiot.com> 6764 6765 * client.c (init_sockaddr): Move... 6766 * socket-client.c (init_sockaddr): ...here. 6767 * socket-client.h (init_sockaddr): Prototype. 6768 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6769 67702003-05-08 Derek Price <derek@ximbiot.com> 6771 6772 * client.c (send_to_server): Move most of the functionality to and 6773 wrap... 6774 (send_to_server_via): ...this new function which accepts the buffer 6775 pointer as an argument. 6776 (read_line): Ditto, but to... 6777 (read_line_via): ...here. 6778 (auth_server): Rename lto_server & lfrom_server to s/^l//. Remove 6779 ugly code which sets the global versions of these variables 6780 temporarily for function calls. 6781 s/send_to_server(/send_to_server_via(to_server,/g, 6782 s/read_line(/read_line(from_server,/g, 6783 Remove emotional FIXME comment to the effect that all this is 6784 necessary. 6785 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6786 67872003-05-07 Derek Price <derek@ximbiot.com> 6788 6789 * client.c (from_server, to_server): Rename these global buffer 6790 pointers to... 6791 (global_from_server, global_to_server): ...this in order to avoid 6792 confusion. 6793 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6794 67952003-05-07 Derek Price <derek@ximbiot.com> 6796 6797 * client.c (make_bufs_from_fds, connect_to_forked_server, 6798 start_tcp_server): Rename struct buffer ** arguments to s/$/_p/ in an 6799 attempt to denote their pointerness more clearly. 6800 * rsh-client.c (start_rsh_client): Ditto. 6801 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6802 6803 * client.h (make_bufs_from_fds): Sanitize prototype so that the 6804 argument name change doesn't clash. 6805 68062003-05-07 Derek Price <derek@ximbiot.com> 6807 6808 * client.h (make_bufs_from_fd): Prototype in order to make available to 6809 rsh-client.c. 6810 * client.c (start_rsh_server): Moved most of the RSH (:ext:) client 6811 stuff to... 6812 * rsh-client.h: ...here... 6813 * rsh-client.c: ...and here. 6814 * Makefile.am (cvs_SOURCES): Add new source files. 6815 (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6816 6817 * Makefile.in: Regenerated. 6818 68192003-05-06 Derek Price <derek@ximbiot.com> 6820 6821 * client.c (socket_buffer_*): Moved most of the socket stuff to... 6822 * socket-client.h: ...here... 6823 * socket-client.c: ...and here. 6824 * Makefile.am (cvs_SOURCES): Add new source files. 6825 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6826 6827 * Makefile.in: Regenerated. 6828 68292003-05-05 Derek Price <derek@ximbiot.com> 6830 6831 * hash.c (findnode): Document behavior of this function when its list 6832 argument is NULL and document this behavior. Remove FIXME comment to 6833 the effect that this is necessary. 6834 68352003-05-01 Derek Price <derek@ximbiot.com> 6836 6837 * main.c (main): Ignore -z when CLIENT_SUPPORT is not defined. 6838 (Report from Jim Salter <jsalterjim@earthlink.net>.) 6839 68402003-05-01 Derek Price <derek@ximbiot.com> 6841 6842 * repos.c (Sanitize_Repository_Name): Remove some old comments about 6843 the defunct RELATIVE_REPOS macro. 6844 * server.c (outside_root): Ditto. 6845 68462003-04-30 Derek Price <derek@ximbiot.com> 6847 6848 * vers_ts.c (Version_TS): Minor optimization. 6849 68502003-04-30 Derek Price <derek@ximbiot.com> 6851 6852 * add.c (add): Fix a possible, if unlikely, memory out of bounds error. 6853 68542003-04-30 Derek Price <derek@ximbiot.com> 6855 6856 * commit.c: Free vers in single place 6857 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6858 68592003-04-30 Derek Price <derek@ximbiot.com> 6860 6861 * Makefile.am: Get rid of $includeopt, using $CPPFLAGS as intended by 6862 the Autoconf folk. 6863 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 6864 6865 * Makefile.in: Regenerated. 6866 68672003-04-30 Derek Price <derek@ximbiot.com> 6868 6869 * add.c (add): Fix a possible, if unlikely, memory out of bounds error. 6870 68712003-04-28 Derek Price <derek@ximbiot.com> 6872 6873 * client.c (save_prog): Remove unneeded struct. 6874 (checkin_progs, update_progs): Remove these unneeded globals. 6875 (handle_set_checkin_prog, handle_set_update_prog, do_deferred_progs): 6876 Remove these functions. 6877 (send_repository): Remove checkin and update prog support. 6878 (responses): Remove Set-checkin-prog and Set-update-prog. 6879 (get_responses_and_close): Don't call do_deferred_prog(). 6880 * commit.c (commit_usage): Remove reference to -n. 6881 (commit): Don't set and send run_module_prog via -n. Don't run 6882 Checkin.prog or Checkout.prog in local mode. 6883 * modules.c (CVSMODULE_OPTS): Remove -i and -u. 6884 (do_module): Don't process -i and -u options to set checkin and update 6885 progs, respectively. 6886 * server.c (server_prog, serve_checkin_prog, server_update_prog): 6887 Remove unused functions. 6888 (requests): Remove Checkin-prog and Update-prog. 6889 * update.c (update_dirleave_proc): Remove update prog functionality. 6890 6891 * cvs.h (CVSADM_CIPROG, CVSADM_UPROG): Remove unneeded defines. 6892 * server.h (server_prog): Remove proto. 6893 (progs): Remove enum. 6894 6895 * sanity.sh (modules5): Remove tests for checkin and update programs. 6896 68972003-04-15 Derek Price <derek@ximbiot.com> 6898 6899 * sanity.sh (*): Shrink the yucky case statement using sed's transform 6900 functionality. 6901 (getlongoptarg): Convert this function to only confirm the arg and move 6902 it... 6903 (checklongoptarg): ...here. 6904 69052003-04-10 Larry Jones <lawrence.jones@eds.com> 6906 6907 * Makefile.in: Regenerated. 6908 69092003-04-04 Larry Jones <lawrence.jones@eds.com> 6910 6911 * sanity.sh (branches4-15): New test. 6912 6913 * error.h: Avoid __pure__ for GCC versions < 2.96 & __malloc__ for GCC 6914 versions < 3.0. 6915 69162003-04-03 Derek Price <derek@ximbiot.com> 6917 6918 * Makefile.am (DISTCLEAN_FILES): Move the contents of this variable... 6919 (distclean-local): ...to this target now that Automake supports it. 6920 69212003-04-03 Derek Price <derek@ximbiot.com> 6922 6923 * cvs.h: Avoid __pure__ for GCC versions < 2.96 & __malloc__ for GCC 6924 versions < 3.0. 6925 69262003-04-02 Larry Jones <lawrence.jones@eds.com> 6927 6928 * update.c (update, update_fileproc, update_filesdone_proc, 6929 update_dirent_proc, update_dirleave_proc): Keep track of whether 6930 a tag is both a revision tag and a branch tag and warn the user. 6931 * sanity.sh (branches4): New tests for above. 6932 69332003-04-02 Derek Price <derek@ximbiot.com> 6934 6935 * recurse.c (do_recursion): Use strstr("/./") rather than strchr('.') 6936 to catch only indirections in paths and not directory names with dots 6937 in them. 6938 (Report from Pavel Roskin <proski@gnu.org>.) 6939 6940 * sanity.sh (multiroot): Put a dot in the CVSROOT_DIRNAMEs. 6941 (dottedroot): New test. 6942 (Based on a script from Pavel Roskin <proski@gnu.org>.) 6943 69442003-04-01 Derek Price <derek@ximbiot.com> 6945 6946 * sanity.sh (multiroot2-9): Add newly TRACEd parse_cvsroot() to 6947 expected output. 6948 69492003-03-31 Derek Price <derek@ximbiot.com> 6950 6951 * rcs.c (freercsnode): Revert an accidental change from the previous 6952 commit. 6953 69542003-03-31 Derek Price <derek@ximbiot.com> 6955 6956 * recurse.c (start_recursion): Accept new repository argument so that 6957 the working directory may be tracked by do_recursion without using 6958 xgetwd(), which returned a value different from the one the user 6959 requested when symlinks were in use. Add TRACE. Pass repository_in 6960 to do_recursion() as part of the recursion frame. 6961 (do_recursion): Default srepository to NULL and only set when we set 6962 repository. Keep track of repository using xframe.repository for the 6963 r* commands rather than xgetwd(), which used to break when CVSROOT was 6964 a symlink to a real root. 6965 6966 * cvs.h (xreadlink): #ifdef HAVE_READLINK proto. 6967 (xresolvepath): New proto. 6968 (start_recursion): Add repository to proto. 6969 (*): Define some more abstract TRACE levels. 6970 * update.h (do_update): Add repository argument to proto. 6971 6972 * checkout.c (safe_location): Add more complete header comment. Add 6973 TRACE. Use new xresolvepath() function. Always return true in 6974 client mode since checking our destination path against the CVSROOT 6975 path is usually meaningless in client/server mode. 6976 (checkout_proc): Pass repository to do_update() for later use with 6977 start_recursion(). 6978 (*): s/<chdir>/CVS_CHDIR/. 6979 * filesubr.c (xreadlink): #ifdef HAVE_READLINK this function. Add more 6980 complete header comment. 6981 (xresolvepath): New function. 6982 * hash.c (walklist): Add TRACE. 6983 * main.c (main): Don't copy and dispose of CVSRoot_cmdline twice. 6984 * patch.c (patch_proc): Add TRACE. Pass repository to 6985 tag_check_valid() for r* commands. 6986 * root.c (parse_cvsroot): Add TRACE. 6987 * tag.c (rtag_proc): Add TRACE. 6988 (check_fileproc): Ditto. 6989 (tag_check_valid): Ditto. 6990 * update.c (do_update): Accept new repository argument for co. 6991 (update): Pass NULL repository to do_update(). 6992 6993 * admin.c (*): Use new definition of start_recursion(). 6994 * annotate.c (*): Ditto. 6995 * client.c (*): Ditto. 6996 * commit.c (*): Ditto. 6997 * diff.c (*): Ditto. 6998 * edit.c (*): Ditto. 6999 * lock.c (*): Ditto. 7000 * log.c (*): Ditto. 7001 * patch.c (*): Ditto. 7002 * remove.c (*): Ditto. 7003 * status.c (*): Ditto. 7004 * tag.c (*): Ditto. 7005 * update.c (*): Ditto. 7006 * watch.c (*): Ditto. 7007 7008 * sanity.sh: Add new -l option to test symlinked roots. 7009 (abspath-3.2): Use [a-z]* rather than "checkout". 7010 (check_repository-1): Add server error messages about absolute paths 7011 since the client now skips destination validity checks. 7012 (check_repository-2): Process client error messages about CVSROOT 7013 files being in the way since the client skips destination validity 7014 checks since it should be rare that a client is running in 7015 client/server mode on the server and CVS has no current way to check if 7016 it is runnning on the server. 7017 70182003-03-27 Mark D. Baushke <mdb@cvshome.org> 7019 7020 * sanity.sh (rdiff2): Add new test case for SEGV problem reported 7021 against cvs 1.11.5. 7022 (Report from James Cribb) 7023 70242003-03-26 Derek Price <derek@ximbiot.com> 7025 7026 * client.c: Fix, reorganize, and comment ifdefs for AUTH_CLIENT_SUPPORT 7027 and HAVE_GSSAPI. 7028 * client.h: Ditto. Remove some unecessary server function prototypes. 7029 70302003-03-26 Derek Price <derek@ximbiot.com> 7031 7032 * client.c: Include the net headers for HAVE_GSSAPI. 7033 (Report from Jim Salter <jsalterjim@earthlink.net>.) 7034 70352003-03-26 Derek Price <derek@ximbiot.com> 7036 7037 * main.c (main): Verify the argument to -z when running without 7038 CLIENT_SUPPORT since Eric Siegerman complained about being bit 7039 by a run of `cvs -z -n up' which parsed the -n as the argument to 7040 -z. 7041 * sanity.sh (opterrmsg): New tests for -z argument checking. 7042 70432003-03-26 Larry Jones <lawrence.jones@eds.com> 7044 7045 * main.c (main): Use strtol() instead of atoi() when parsing -z 7046 to detect errors. 7047 (Reported by Eric Siegerman <erics@telepres.com>.) 7048 70492003-03-25 Derek Price <derek@ximbiot.com> 7050 7051 * cvs.h: Disable GNU attributes as part of PROTO behavior. 7052 * error.h: Mirror GNU attribute definitions from cvs.h. 7053 70542003-03-25 Derek Price <derek@ximbiot.com> 7055 7056 * subr.c (cvs_trace): #ifdef use of server_active. 7057 (Report from Jim Salter <jsalter@proofpoint.com>.) 7058 7059 * cvs.h (xmalloc, xrealloc, xstrdup, parse_cvsroot, 7060 local_cvsroot, normalize_cvsroot): Use GNU attributes. 7061 * error.h (error_exit): Fix PROTO/__attribute__ specification. 7062 * root.c (new_cvsroot_t): Add GNU attribute. 7063 70642003-03-24 Derek Price <derek@ximbiot.com> 7065 7066 * Makefile.am: Update copyright notice. 7067 7068 * Makefile.in: Regenerated. 7069 70702003-03-24 Larry Jones <lawrence.jones@eds.com> 7071 7072 * server.h (server_clear_template): Add declaration. 7073 (server_template): Add parameter names to prototype. 7074 70752003-03-20 Mark D. Baushke <mdb@cvshome.org> 7076 7077 * sanity.sh (env): Try more than one ps command if the first one 7078 fails. This may let the test succeed on more platforms. Also, 7079 keep the ps output that was processed for the error report. 7080 70812003-03-19 Mark D. Baushke <mdb@cvshome.org> 7082 7083 * sanity.sh (env): Use 'ps -el' rather than 'ps -l' so that 7084 crontab jobs that might be running these tests without a 7085 controlling terminal work properly. 7086 7087 * client.c (start_rsh_server): Use new definition of RSH_DFLT to 7088 allow "rsh" to be configured to default to "ssh" or some other 7089 local remote transport program. 7090 7091 * Makefile.in: Regenerated. 7092 70932003-03-19 Larry Jones <lawrence.jones@eds.com> 7094 7095 * filesubr.c (mkdir_if_needed): Save errno since isdir() can clobber. 7096 (Patch from Brian Poole <raj@cerias.purdue.edu>.) 7097 * sanity.sh (abspath-4): Update to match. 7098 7099 * filesubr.c (locate_rcs): Fix gcc warning. 7100 71012003-03-19 Derek Price <derek@ximbiot.com> 7102 7103 * add.c (add_directory): Only call WriteTemplate when the server is 7104 active. 7105 * create_adm.c (Create_Admin): Don't call WriteTemplate here since 7106 Create_Admin is only called from the client. 7107 * commit.c (commit_dirleaveproc): Don't call WriteTemplate here. I'm 7108 a little confused as to why since update_direntproc works for update.c, 7109 but I can't come up with a test case that fails when this call is 7110 missing. Nor can I come up with a test case that passes when this call 7111 is present and the one in commit_filesdoneproc is removed. 7112 * sanity.sh (template): Tidy, minimize, and add some extra tests. 7113 71142003-03-19 Mark D. Baushke <mdb@cvshome.org> 7115 7116 * .cvsignore: Added sanity.config.sh, a new auto-generated file. 7117 7118 * cvs.h (CVS_PID_ENV): New environment variable CVS_PID has the 7119 pid of the parent cvs process. 7120 * main.c (main): Initialize it. 7121 * sanity.sh (env): Test it. 7122 71232003-03-19 Derek Price <derek@ximbiot.com> 7124 7125 * sanity.config.sh.in: New file. 7126 * sanity.sh: Source new config file when available. Accept alternate 7127 config file as an argument to a -c option. Accept long options with 7128 arguments. 7129 (getlongoptarg): New function. 7130 7131 * Makefile.in: Regenerated. 7132 71332003-03-18 Derek Price <derek@ximbiot.com> 7134 7135 * root.c (parse_root): Add some more comments and expand 7136 #ifdef CLIENT_SUPPORT pragmas. Rearrange sanity checks slightly. 7137 71382003-03-18 Derek Price <derek@ximbiot.com> 7139 7140 * main.c (main): Output -R warning in quiet mode and correct spelling 7141 in this warning message. 7142 * sanity.sh (commit-readonlyfs-2r4): Correct cascaded spelling mistake 7143 in test. 7144 71452003-03-17 Derek Price <derek@ximbiot.com> 7146 7147 * add.c: Correct comment. 7148 * client.c: Ditto. 7149 * checkin.c (Checkin): Pass work file name to RCS_checkin so that this 7150 function works properly in the case insensitive mode. 7151 * commit.c (checkaddfile): Fix and factor add logic so that the 7152 correct files and directories are created in the case insensitive mode. 7153 Reuse code in RCS_parse() below. This avoids a problem that could 7154 cause corrupted RCS files to be created on an add from a case 7155 insensitive system. Corrupted RCS files could cause later assertion 7156 failures for everyone. 7157 (locate_rcs): Move this function... 7158 * filesubr.c (locate_rcs): ...here and rewrite it. 7159 (fopen_case): Remove this function. 7160 (locate_file_in_dir): New function. 7161 * cvs.h (locate_rcs): Prototype new function. 7162 * rcs.c (RCS_parse): Factor out file location into locate_rcs. 7163 71642003-03-17 Mark D. Baushke <mdb@cvshome.org> 7165 7166 * main.c (main): Issue a warning about readonlyfs options unless 7167 quiet or really_quiet is set. 7168 * lock.c (Writer_Lock): Modify readonlyfs error message text. 7169 * sanity.sh (commit-readonlyfs): Adjust test for new messages. 7170 71712003-03-17 Larry Jones <lawrence.jones@eds.com> 7172 7173 * server.c (switch_to_user): Add syslog calls for setgid/setuid 7174 failure. 7175 71762003-03-16 Mark D. Baushke <mdb@cvshome.org> 7177 7178 * cvs.h (CVSREADONLYFS_ENV): New macro to support new environment 7179 variable "CVSREADONLYFS" for read-only file-system repository mode. 7180 * lock.c (Reader_Lock, Writer_Lock): Add support for new read-only 7181 file-system repository mode. 7182 * main.c (main, opt_usage): Ditto. 7183 * root.c (parse_cvsroot): Ditto. 7184 * sanity.sh (commit-readonlyfs): Test new read-only file-system 7185 repository mode. 7186 71872003-03-14 Mark D. Baushke <mdb@cvshome.org> 7188 7189 * server.c (template_proc): Fix broken Template protocol code. 7190 Must call send buf_send_counted() for Template files to avoid 7191 "Protocol error: uncounted data discarded" messages in some 7192 circumstances. 7193 * sanity.sh (template): Test case to verify fix this fix. 7194 71952003-03-10 Mark D. Baushke <mdb@cvshome.org> 7196 7197 * cvs.h (WriteTemplate): Add missing prototype. 7198 71992003-03-07 Mark D Baushke <mdb@cvshome.org> 7200 7201 * sanity.sh: Fix broken setting of the servercvs variable. 7202 72032003-03-07 Derek Price <derek@ximbiot.com> 7204 7205 * sanity.sh (help): Add explanation of CVS-TO-TEST and edit for 7206 consistency. 7207 72082003-03-07 Derek Price <derek@ximbiot.com> 7209 7210 * sanity.sh (usage): Show users long --help rather than less 7211 informative -h. 7212 72132003-03-07 Derek Price <derek@ximbiot.com> 7214 7215 * sanity.sh: Add support for long options. 7216 (exit_usage): Move the actual generation of usage text to... 7217 (usage): ...this new function and improve the usage message. 7218 (exit_help): New function. 7219 72202003-03-07 Mark D. Baushke <mdb@cvshome.org> 7221 7222 * sanity.sh: Drop the clientcvs option. Add usage info for 7223 the -s servercvs option. 7224 72252003-03-07 Larry Jones <lawrence.jones@eds.com> 7226 7227 * commit.c (check_fileproc): Remove unused variables. 7228 7229 * patch.c (patch): Pass local to do_module so that -l actually works. 7230 (Reported by John Coers <coers@intrinsity.com>.) 7231 (patch_fileproc): Fix uninitialized variables. 7232 * sanity.sh: Define a DATE pattern for rdiff and use it. 7233 (basic2-24a): New test for above. 7234 72352003-03-07 Mark D. Baushke <mdb@cvshome.org> 7236 7237 * entries.c (WriteTemplate): New function to control updates to 7238 the CVS/Template file or its removal. 7239 * create_adm.c (Create_Admin): Use the new WriteTemplate function. 7240 * add.c (add_directory): Add a WriteTemplate() call 7241 when a new directory is added to the repository. 7242 * commit.c (commit_filesdoneproc): Ensure that the CVS/Template is 7243 updated at the end of a commit -- mostly to remove it if it is not 7244 relevant. 7245 (commit_dirleaveproc): Ensure that the CVS/Template gets updated 7246 when the directory is left. 7247 * update.c (update_dirent_proc): Update CVS/Template file. 7248 * server.c (server_clear_template): New protocol response to 7249 remove existing CVS/Template files. 7250 * client.c (clear_template): New function to remove or truncate a 7251 CVS/Template file. 7252 (handle_clear_template): New function. Handle Clear-template 7253 protocol response message. 7254 (save_prog): Add new Clear-template response line. 7255 * sanity.sh (template): Test the CVS/Template creation with 7256 the remote protocol. Nothing gets created locally. 7257 (multiroot2): Fix for minor changes to trace output. 7258 (getopts): Allow tests to be run with specified client and server 7259 cvs commands to allow for interoperatbility testing. 7260 (check_keep): New shell function for --keep processing. 7261 72622003-03-06 Derek Price <derek@ximbiot.com> 7263 7264 * subr.c (file_has_conflict): New file. 7265 * commit.c (check_fileproc): Factor code into new file_has_conflict() 7266 function. 7267 * update.c (update_fileproc): Ditto. 7268 * status.c (status_fileproc): Use new file_has_conflict() function. 7269 (Report from Bernd Kuemmerlen <bkuemmer@mevis.de>.) 7270 7271 * sanity.sh (status): New test for same. 7272 72732003-03-06 Larry Jones <lawrence.jones@eds.com> 7274 7275 * sanity.sh (branches3-4): Set and export CVS_LOCAL_BRANCH_NUM 7276 to be sure it really gets into the environment, then unset it 7277 when finished (ala CVSWRAPPERS et al). 7278 72792003-03-03 Mark D. Baushke <mdb@cvshome.org> 7280 7281 * sanith.sh (branches3): Localize the setting of 7282 the CVS_LOCAL_BRANCH_NUM environment variable. 7283 7284 * rcs.c (RCS_magicrev): CVS_LOCAL_BRANCH_NUM feature. 7285 Port of the FreeBSD hack for setting the next magic branch number 7286 to be used. The original patch was written by Peter Wemm 7287 <peter@FreeBSD.org> and may be found by visiting the URL: 7288 http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/cvs/src/rcs.c.diff?r1=1.1&r2=1.2 7289 Implement a horrible (but simple) hack to allow some control over the 7290 branch number that is assigned. This is specifically to support the 7291 local commit feature of cvsup. If one sets $CVS_LOCAL_BRANCH_NUM to 7292 (say) 1000 then branches the local repository, the revision numbers 7293 will look like 1.66.1000.xx. This is almost a dead-set certainty that 7294 there will be no conflicts with version numbers. 7295 (This needs to be something more than an option to 'cvs tag' or 'cvs 7296 rtag' as various parts of cvs "know" how to automatically branch files 7297 (eg: cvs add). Trying to remember state is getting "Too Hard (TM)") 7298 * sanity.sh (branches3): Test the CVS_LOCAL_BRANCH_NUM feature. 7299 73002003-03-04 Derek Price <derek@ximbiot.com> 7301 7302 * history.c (history_write): Remove unneeded O_CREAT in the call to 7303 open() since we abort a few lines earlier if the file doesn't exist. 7304 Add a comment to the effect that this is not the optimal method of 7305 doing things and needs fixed. 7306 73072003-02-28 Derek Price <derek@ximbiot.com> 7308 7309 * root.c (parse_cvsroot): Set no_password for :gserver: and :kserver: 7310 as tokens should already be obtained via external sources. 7311 * update.c (update_fileproc): Remove redundant code. 7312 73132003-02-28 Larry Jones <lawrence.jones@eds.com> 7314 7315 * lock.c (set_lock): If possible, try a short wait with no message 7316 before calling lock_wait() to optimize master lock contention. 7317 73182003-02-26 Larry Jones <lawrence.jones@eds.com> 7319 7320 * checkout.c (checkout): Send "--" before file names. 7321 * sanity.sh (spacefiles): Remote now works just like local. 7322 73232003-02-25 Derek Price <derek@ximbiot.com> 7324 7325 * sanity.sh (rcs4): Use UTC to work across timezones. 7326 73272003-02-25 Derek Price <derek@ximbiot.com> 7328 7329 * rcs.c (RCS_getdate): Fix a bug that shows up when checking out 7330 files by date with the "-D date" command line option. There is 7331 code in the original to handle a special case. If the date search 7332 finds revision 1.1 it is supposed to check whether revision 7333 1.1.1.1 has the same date stamp, which would indicate that the 7334 file was originally brought in with "cvs import". In that case it 7335 is supposed to return the vendor branch version 1.1.1.1. 7336 7337 However, there was a bug in the code. It actually compares the date 7338 of revision 1.1 for equality with the date given on the command 7339 line -- clearly wrong. This commit fixes the coding bug. 7340 7341 Note: There is an additional bug which is _not_ fixed in this 7342 commit. The date comparison should not be a strict equality test. 7343 It should allow a fudge factor of, say, 2-3 seconds. Old versions 7344 of CVS created the two revisions with two separate invocations of 7345 the RCS "ci" command. We have many old files in the tree in which 7346 the dates of revisions 1.1 and 1.1.1.1 differ by 1 second. 7347 7348 This bug was discovered and fixed for FreeBSD cvs. See v 1.21 of 7349 <http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/cvs/src/rcs.c.diff> 7350 for more information. 7351 7352 * sanity.sh (rcs4): Tests for same. 7353 (Patch from Mark D. Baushke <mdb@cvshome.org>.) 7354 73552003-02-25 Derek Price <derek@ximbiot.com> 7356 7357 * logmsg.c (logfile_write): Do not pass a NULL pointer to 7358 fprintf() when we have an empty log message. 7359 * sanity.sh (editor): Add new tests to verify correct behavior of 7360 empty log messages. 7361 (Patch from Mark D. Baushke <mdb@cvshome.org>, original report from 7362 Piotr KUCHARSKI <chopin@sgh.waw.pl>.) 7363 73642003-02-25 Derek Price <derek@ximbiot.com> 7365 7366 * cvs.h (user_admin_options): Rename to... 7367 (UserAdminOptions): ...this to match the convention set by 7368 of RereadLogAfterVerify. 7369 * admin.c (admin): Ditto. 7370 * parseinfo.c (parse_config): Ditto. 7371 7372 * mkmodules.c (config_contents): Update with UserAdminOptions 7373 information. 7374 73752003-02-25 Derek Price <derek@ximbiot.com> 7376 7377 * cvsbug.in: Import use of mktemp function from RedHat 8.0's 7378 CVS 1.11.2 RPM. Use new MKTEMP configure variable. Use new 7379 SENDMAIL from configure. 7380 7381 * Makefile.in: Regenerated. 7382 73832003-02-25 Derek Price <derek@ximbiot.com> 7384 7385 * cvs.h (user_admin_options): New global config option. 7386 * admin.c (admin): Handle user_admin_options. 7387 * parseinfo.c (parse_config): Handle UserAdminOptions. 7388 (Original patch from Dan Peterson <dbpete@aol.com>.) 7389 73902003-02-25 Derek Price <derek@ximbiot.com> 7391 7392 * watch.c (watch_usage): Use {} rather than () for literals. 7393 73942003-02-21 Larry Jones <lawrence.jones@eds.com> 7395 7396 * server.c (switch_to_user): Update comment, change error message 7397 so it's not an exact duplicate of the one in check_password. 7398 (check_repository_password): Add syslog call for password mismatches. 7399 (check_password): Add syslog call for password mismatches, rearrange 7400 code to simplify and eliminate redundancy. 7401 (pserver_authenticate_connection): Remove syslog call, now done by 7402 lower-level routines. 7403 74042003-02-19 Larry Jones <lawrence.jones@eds.com> 7405 7406 * sanity.sh (admin-10): Add test for repository files not in 7407 working directory. 7408 7409 * admin.c (admin_fileproc): Fix crash when no rcs file, return 7410 failure status for bogus files. 7411 * sanity.sh (admin-4a): Test for above. 7412 (Original patch submitted by Mark D. Baushke <mdb@cvshome.org>). 7413 74142003-02-14 Larry Jones <lawrence.jones@eds.com> 7415 7416 * log.c (log_expand_revlist): Fix crashes in error cases. 7417 (Reported by Bart Santy <Bart.Santy@switch.be>.) 7418 * sanity.sh (log): New tests for above. 7419 74202003-02-14 Derek Price <derek@ximbiot.com> 7421 7422 * rcs.h (RCSNode): Add a field for the original path to print with 7423 error messages. 7424 * rcs.c (RCS_parsercsfile_i): Keep track of the original path for error 7425 messages. 7426 (freercsnode): Free the origpath. 7427 74282003-02-14 Derek Price <derek@ximbiot.com> 7429 7430 * watch.c (watch_usage): Make the repeatability of -a part of the 7431 usage spec. 7432 74332003-02-14 Derek Price <derek@ximbiot.com> 7434 7435 * watch.c (watch_usage): Mention default for -a. Mention multiple 7436 invocations of -a. Mention -R as default. Use required () rather than 7437 optional [] around watch subcommand list in invocation spec. Use 7438 `path' instead of `file'. Put variable <> around `action' and `path'. 7439 74402003-02-12 Derek Price <derek@ximbiot.com> 7441 7442 * main.c (main): Update copyright message to 2003. 7443 74442003-02-08 Derek Price <derek@ximbiot.com> 7445 7446 * rcs.c (RCS_checkout): Supply the full function name in the TRACE 7447 output. 7448 * update.c (checkout_file, join_file): Supply tag properly to 7449 RCS_checkout more often. 7450 (patch_file): Ditto. Fill out comments. 7451 * sanity.sh (keyword, keywordname): Some changes to accomodate the fact 7452 that the above changes cause patches generated by patch_file to fail 7453 occassionally. 7454 74552003-02-07 Derek Price <derek@ximbiot.com> 7456 7457 * sanity.sh (*): Don't keep running after a test when --keep has been 7458 supplied. That was kind of silly, wasn't it? 7459 74602003-02-07 Derek Price <derek@ximbiot.com> 7461 7462 * rcscmds.c (RCS_merge): Add a FIXME. 7463 74642003-02-07 Derek Price <derek@ximbiot.com> 7465 7466 * commit.c (checkaddfile): Do not lose the vendor branch when 7467 adding files to a new branch. Avoids extranious conflicts for 7468 future vendor imports. This was found and fixed in FreeBSD cvs. 7469 See http://www.freebsd.org/cgi/query-pr.cgi?pr=4033 for details. 7470 * sanity.sh (branch-after-import): New test. 7471 (Thanks to Mark D Baushke <mdb@cvshome.org> for forwarding the 7472 patch and writing the test cases!) 7473 7474 * sanity.sh (branch-after-import): Misc portablility and standard 7475 changes. 7476 74772003-02-07 Derek Price <derek@ximbiot.com> 7478 7479 * add.c: Exercise the pet peeve Karl Fogel, I think, infected me with 7480 about using the word invalid rather than illegal and reserving illegal 7481 for use when actually discussing laws and governmentally enforced 7482 restrictions: 7483 s/illegal/invalid/g;s/legality/validity/g;s/legal/valid/g; 7484 * admin.c: Ditto. 7485 * cvs.h: Ditto. 7486 * expand_path.c: Ditto. 7487 * log.c: Ditto. 7488 * modules.c: Ditto. 7489 * rcs.c: Ditto. 7490 * rcs.h: Ditto. 7491 * repos.c: Ditto. 7492 * root.c: Ditto. 7493 * sanity.sh: Ditto. 7494 * scramble.c: Ditto. 7495 * server.c: Ditto. 7496 * subr.c: Ditto. 7497 74982003-02-06 Derek Price <derek@ximbiot.com> 7499 7500 * rcs.c (RCS_getdatebranch): Update header comment to reflect the state 7501 of the docs and the code's operation. 7502 75032003-02-06 Derek Price <derek@ximbiot.com> 7504 7505 * client.c: Use the complete path to the CVSADM_TEMPLATE file in 7506 error messages. Remove related FIXME. 7507 75082003-02-04 Derek Price <derek@ximbiot.com> 7509 7510 * status.c (status_fileproc): Add a FIXME comment. 7511 75122003-02-04 Derek Price <derek@ximbiot.com> 7513 7514 * sanity.sh (conflicts2- c. 142d): New test for double add and two 7515 attempted commits of files with the same name. Fill out some comments 7516 and change one FIXME to a FIXCVS THEN FIXME. 7517 75182003-02-03 Derek Price <derek@ximbiot.com> 7519 7520 * client.c (start_Server): Send multiple trace options when 7521 necessary. 7522 * server.c (server): Update trace option processing to accept multiple 7523 -t arguments. 7524 * *: Use new TRACE macro. 7525 75262003-02-02 Larry Jones <lawrence.jones@eds.com> 7527 7528 * error.c: Update to match error.h. 7529 7530 * cvs.h (cvs_trace): Add attribute for GNU printf format checking. 7531 * error.h: Use same check for prototypes as cvs.h. Use PROTO 7532 macro rather than #ifdef for error and error_exit. 7533 75342003-02-01 Larry Jones <lawrence.jones@eds.com> 7535 7536 * buffer.c (stdio_buffer_shutdown): Handle EINTR from waitpid. 7537 (Patch from Johannes Gr�dem <johs+n@ifi.uio.no>.) 7538 75392003-02-01 Derek Price <derek@ximbiot.com> 7540 7541 * lock.c: Remove extra line feed on TRACE output. 7542 75432003-01-31 Derek Price <derek@ximbiot.com> 7544 7545 * cvs.h: Move header includes in from... 7546 * error.c: ...here. Remove checks for definition of vprintf(). 7547 Since our error() function was making assumptions about the definition 7548 of VA_START, we must not have been compiling on platforms without 7549 vprintf for quite awhile and I've heard no complaints. 7550 (fperrmsg): Assume vprintf(). 7551 * subr.c (cvs_trace): Don't assume ANSI C function declarations. 7552 75532003-01-31 Derek Price <derek@ximbiot.com> 7554 7555 * main.c (main): Allow multiple -t options. 7556 (opt_usage): Correct usage. 7557 * cvs.h (TRACE): New macro. 7558 * subr.c (cvs_trace): New function. 7559 (Thanks to the team at the CVSNT project.) 7560 7561 * lock.c (*): Use new TRACE macro. 7562 75632003-01-31 Derek Price <derek@ximbiot.com> 7564 7565 * sanity.sh (keywordname): Change a "FIXME" comment to "FIXCVS". 7566 75672003-01-30 Derek Price <derek@ximbiot.com> 7568 7569 * sanity.sh (keywordname): New test. 7570 75712003-01-23 Larry Jones <lawrence.jones@eds.com> 7572 7573 * diff.c (diff_fileproc): Restructure code to simplify and eliminate 7574 redundant tests. 7575 7576 * server.c (do_cvs_command): Use WCOREDUMP macro rather than hard 7577 coding test for core file. 7578 75792003-01-21 Larry Jones <lawrence.jones@eds.com> 7580 7581 * root.c (method_name): Redefine as a 2D array. 7582 * root.h (method_name): Ditto. 7583 75842003-01-21 Jim Meyering <jim@meyering.net> 7585 7586 * add.c (add): Rename local-shadowing `i' to `j'. 7587 7588 * root.c (method_names): Declare to be a const array of const strings. 7589 (Name_Root): Save errno so it doesn't get clobbered 7590 by the intervening error call. 7591 Use getline's return value, mainly to save a call to strrchr. 7592 75932003-01-20 Larry Jones <lawrence.jones@eds.com> 7594 7595 * myndbm.c (O_ACCMODE): Parenthesize the replacement string so that 7596 it parses correctly. 7597 (Reported by Andres Bertens <abertens@entelchile.net>.) 7598 75992003-01-15 Karl Fogel <kfogel@collab.net> 7600 7601 * server.c (dirswitch): Don't free dir_name until right before 7602 allocating it again. This removes a potential double-free 7603 problem, whereby this function could free dir_name and then 7604 immediately return due to invalid directory syntax (without ever 7605 reassigning dir_name), then reenter and free dir_name again. 7606 7607 Thanks to Stefan Esser <s.esser@e-matters.de> for the fix. 7608 76092003-01-08 Larry Jones <lawrence.jones@eds.com> 7610 7611 * client.c (update_entries): Only "0" is a special version number; 7612 other numbers starting with 0 (like 0.1) are normal version numbers. 7613 * commit.c (find_fileproc): Ditto. Also reorganize the code to 7614 simplify the conditions. 7615 (Reported by Michele Zamparelli <michele.zamparelli@eso.org>.) 7616 76172003-01-02 Larry Jones <lawrence.jones@eds.com> 7618 7619 * rcs.c (getdelta): Use RCSDEAD rather than literal "dead". 7620 76212002-12-27 Derek Price <derek@ximbiot.com> 7622 7623 * admin.c: s/LOCK_(NONE|WRITE|READ)/CVS_$&/g; since the definition of 7624 LOCK_WRITE clashes with a definition in objidl.h on Windoze platforms. 7625 * annotate.c: Ditto. 7626 * client.c: Ditto. 7627 * commit.c: Ditto. 7628 * cvs.h: Ditto. 7629 * diff.c: Ditto. 7630 * edit.c: Ditto. 7631 * lock.c: Ditto. 7632 * log.c: Ditto. 7633 * patch.c: Ditto. 7634 * recurse.c: Ditto. 7635 * remove.c: Ditto. 7636 * status.c: Ditto. 7637 * tag.c: Ditto. 7638 * update.c: Ditto. 7639 * watch.c: Ditto. 7640 * myndbm.c: Ditto & define O_ACCMODE when it isn't defined, as under 7641 Windoze. 7642 (Thanks to Stephane Rouleau <s.rouleau@videotron.ca>, 7643 Cristopher Seawood <cls@seawood.org>, and 7644 Frederico Costa <frederico.costa@tiscali.no> for all their hints, 7645 tips, and patches for this problem.) 7646 76472002-12-20 Derek Price <derek@ximbiot.com> 7648 7649 * client.c (send_a_repository): Suppress a warning under Windoze. 7650 76512002-12-19 Derek Price <derek@ximbiot.com> 7652 7653 * Makefile.am: Remove reference to options.h. 7654 * cvs.h: Ditto. 7655 * options.h: Remove this obsolete file. 7656 * sanity.sh: Remove comment about external diffs causing tests to fail 7657 since CVS hasn't used external diffs in years. 7658 7659 * Makefile.in: Regenerated. 7660 76612002-12-16 Derek Price <derek@ximbiot.com> 7662 7663 * admin.c: Disable cvsadmin group checking on the client. 7664 (Reported by Dan Peterson <dbpete@aol.com>.) 7665 76662002-12-06 Derek Price <derek@ximbiot.com> 7667 7668 * buffer.c: Replace calls to malloc with calls to xmalloc and calls to 7669 realloc with calls to xrealloc. 7670 * parseinfo.c: Ditto. 7671 * root.c: Ditto. 7672 * server.c: Ditto. 7673 * zlib.c: Ditto. 7674 * scramble.c: Change some comments to refer to xmalloc rather than 7675 malloc. 7676 (Reported by Dan Peterson <dbpete@aol.com>.) 7677 76782002-12-04 Derek Price <derek@ximbiot.com> 7679 7680 * options.h: Remove CVS_ADMIN_GROUP. 7681 76822002-12-02 Larry Jones <lawrence.jones@eds.com> 7683 7684 * commit.c (commit): Strip leading zeros from numeric revision 7685 in addition to trailing dots. 7686 (Reported by Peter Meszaros <pme@prolan.hu>.) 7687 76882002-11-22 Larry Jones <lawrence.jones@eds.com> 7689 7690 * sanity.sh: Note that the tests run for a long time. 7691 7692 * checkout.c (safe_location): Use xstrdup, not strdup. 7693 (Reported by Terrence Enger <tenger@iSeries-guru.com>.) 7694 76952002-11-19 Larry Jones <lawrence.jones@eds.com> 7696 7697 * log.c (log_expand_revlist): Fix cross-branch correction code. 7698 7699 * sanity.sh: Set $LANG for systems that ignore $LC_ALL. 7700 (rcs2-7): Change date offset from 100 months to 96 months to reduce 7701 periodic problems with invalid dates. 7702 77032002-11-12 Derek Price <derek@ximbiot.com> 7704 7705 * sanity.sh (rcslib-symlink): Use rm -f rather than a simple rm when 7706 removing links because under some configurations of RH Linux 8.0 the 7707 script pauses to ask for removal approval. 7708 77092002-11-08 Derek Price <derek@ximbiot.com> 7710 7711 * sanity.sh (importc): Update the use of the touch command to be 7712 compliant with POSIX 1003.1-2001, SUS2, and SUS3 now that GNU touch 7713 supports this. If this breaks any test platforms we should test 7714 the behavior of touch like we do for other tools. 7715 77162002-11-03 Derek Price <derek@ximbiot.com> 7717 7718 * sanity.sh (rcs2-7): Notate with a wild untested hypothesis. 7719 77202002-11-03 Derek Price <derek@ximbiot.com> 7721 7722 * sanity.sh (rcs2-7): Notate with three more failure dates. 7723 77242002-10-25 Derek Price <derek@ximbiot.com> 7725 7726 * root.c: Change some calls to SYSTEM_CLEANUP() and then exit() to 7727 more appropriate calls to error_exit(). 7728 * server.c: Ditto. 7729 * tag.c: Ditto. 7730 77312002-10-24 Derek Price <derek@ximbiot.com> 7732 7733 * buffer.c (stdio_buffer_shutdown): Remove the getc() call used to 7734 detect spurious output from clients since getc() would sometimes 7735 block and hang indefinately if the client kept the conection open but 7736 sent no data. Bug reports state that this hapened frequently with 7737 older clients connecting to 1.11.2 servers, especially when 7738 compression is enabled. 7739 (Original report from Mark D. Baushke <mdb@juniper.net>. 7740 Original patch from Ralf S. Engelschall <rse@engelschall.com> 7741 via Peter Wemm <peter@freebsd.org>.) 7742 77432002-10-05 Larry Jones <lawrence.jones@eds.com> 7744 7745 * recurse.c (start_recursion, do_recursion): Allow write locking 7746 in addition to read locking. Change all callers. 7747 * cvs.h: Change prototype to match, add lock types. 7748 * tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Have start_recursion 7749 use write locks rather than calling lock_dir_for_write to avoid deadly 7750 embrace. 7751 77522002-10-04 Larry Jones <lawrence.jones@eds.com> 7753 7754 * client.c (get_responses_and_close, connect_to_pserver): Set 7755 to_server and from_server to NULL after freeing. 7756 * main.c (main): Clear server_active when finished. Also neaten 7757 up the SERVER_SUPPORT ifdef's. 7758 * server.c (do_cvs_command): Set protocol_inbuf, stderrbuf, and 7759 stdoutbuf to NULL after freeing. 7760 (server_cleanup): Free buf_from_net and buf_to_set and set to NULL. 7761 Also reset error_use_protocol. 7762 (server): Don't SIG_register server_cleanup. main_cleanup (which 7763 is already registered) outputs a fatal error which causes it to 7764 be called; registering it directly results in it being called twice. 7765 (cvs_output): Don't try to use buf_to_net or protocol if they're NULL. 7766 77672002-10-03 Larry Jones <lawrence.jones@eds.com> 7768 7769 * lock.c (readers_exist): Ignore our own read lock, if any, to 7770 allow upgrading an existing read lock to a write lock. 7771 * tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Rather than 7772 locking the entire tree, have start_recursion establish read 7773 locks and then upgrade the read lock to a write lock (so only 7774 one directory is locked at a time). 7775 77762002-09-27 Larry Jones <lawrence.jones@eds.com> 7777 7778 * add.c (add): Send "--" before file names. 7779 * admin.c (admin): Ditto. 7780 * annotate.c (annotate): Ditto. 7781 * commit.c (commit): Ditto. 7782 * diff.c (diff): Ditto. 7783 * edit.c (watch_onoff, editors): Ditto. 7784 * log.c (cvslog): Ditto. 7785 * remove.c (cvsremove): Ditto. 7786 * status.c (cvsstatus): Ditto. 7787 * tag.c (cvstag): Ditto. 7788 * update.c (update): Ditto. 7789 * watch.c (watch_addremove, watchers): Ditto. 7790 7791 * sanity.sh (client-9): Update to match. 7792 77932002-09-24 Derek Price <derek@ximbiot.com> 7794 7795 * options.h: Remove prototype of STDC exit() function. If this breaks 7796 a build, this should be detected in configure.in somehow rather than 7797 restoring the line to this file. 7798 77992002-09-24 Derek Price <derek@ximbiot.com> 7800 7801 * options.h: Move definition of AUTH_CLIENT_SUPPORT into configure.in. 7802 78032002-09-24 Derek Price <derek@ximbiot.com> 7804 7805 * options.h: Move definition of FORCE_USE_EDITOR into configure.in. 7806 78072002-09-24 Derek Price <derek@ximbiot.com> 7808 7809 * options.h: Move definition of UMASK_DFLT into configure.in. 7810 78112002-09-24 Derek Price <derek@ximbiot.com> 7812 7813 * Makefile.in: Regenerated using Automake 1.6.3. 7814 78152002-09-24 Larry Jones <lawrence.jones@eds.com> 7816 7817 * filesubr.c, history.c, import.c, rcs.c, update.c: Use 7818 HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV instead of 7819 the obsolete HAVE_ST_BLKSIZE and HAVE_ST_RDEV. 7820 78212002-09-24 Derek Price <derek@ximbiot.com> 7822 7823 * options.h: Move definition of TMPDIR_DFLT into configure.in. 7824 78252002-09-24 Derek Price <derek@ximbiot.com> 7826 7827 * options.h: Move defininition of EDITOR_DFLT into configure.in. 7828 7829 * Makefile.in: Regenerated. 7830 78312002-09-23 Jim Meyering <meyering@lucent.com> 7832 7833 If `cvs -d REPO commit ...' was used to override CVS/Root, 7834 then modified files in the directory from which cvs is invoked 7835 would not be committed. 7836 * client.c (arg_should_not_be_sent_to_server): The above would happen 7837 because this function would throw out a file name when CVS/Root 7838 did not match the current server. Fix by allowing the command-line- 7839 specified repository to take precedence over the value returned 7840 by Name_Root. Patch by Simon Walton <simonw@lucent.com>. 7841 * sanity.sh (commit-d): New tests for the above. 7842 Patch by Simon Walton <simonw@lucent.com>. 7843 78442002-09-20 Derek Price <derek@ximbiot.com> 7845 7846 * options.h: Move definition of SERVER_FLOWCONTROL, SERVER_HI_WATER, 7847 and SERVER_LO_WATER into configure.in. 7848 78492002-09-20 Derek Price <derek@ximbiot.com> 7850 7851 * options.h: Move definition of PATCH_PROGRAM to configure.in. 7852 78532002-09-18 Larry Jones <lawrence.jones@eds.com> 7854 7855 * client.c (call_in_directory): Don't create admin directory when 7856 exporting into an existing directory. 7857 (Reported by Jens Engel <Jens.Engel@marconi.com>.) 7858 * sanity.sh (basic2): New tests for above. 7859 78602002-09-16 Jim Meyering <meyering@lucent.com> 7861 7862 * server.c (do_cvs_command): Move declarations of locals, timeout and 7863 timeout_ptr, `up', out of enclosing `#ifdef SERVER_FLOWCONTROL' block. 7864 Otherwise, this file would not compile with SERVER_FLOWCONTROL 7865 turned off. Patch by Ed Santiago <esm@ascend.com>. 7866 78672002-09-15 Larry Jones <lawrence.jones@eds.com> 7868 7869 * myndbm.c (mydbm_open): Open the file read/write rather than read- 7870 only if that's what the user asked for to ensure that the later open 7871 for write will succeed. 7872 (Patch submitted by Josh Lehan <cvs@krellan.com>.) 7873 78742002-08-28 Larry Jones <lawrence.jones@eds.com> 7875 7876 * logmsg.c (do_editor): Fix bug which prevented reusing log messages. 7877 (Reported by Eric Siegerman <erics@telepres.com>.) 7878 78792002-08-16 Derek Price <derek@ximbiot.com> 7880 7881 * create_adm.c (Create_Admin): Assume RELATIVE_REPOS is set. 7882 * server.c (outside_root): Add comment. 7883 * options.h: Remove RELATIVE_REPOS & CVS_BADROOT. 7884 * sanity.sh: Remove a lot of !RELATIVE_REPOS cruft from tests. 7885 78862002-08-14 Derek Price <oberon@umich.edu> 7887 7888 * server.c (server): Dispose of the correct pointer. Tidy comment. 7889 78902002-08-13 Derek Price <oberon@umich.edu> 7891 7892 * client.c (get_cvs_port_number): Fix typo in comment. Add comments. 7893 * server.c (server): Fix a FIXME. Remove an errant "const" directive. 7894 Remove some redundant memory allocation and error handling code. 7895 78962002-08-08 Derek Price <oberon@umich.edu> 7897 7898 * import.c (import): Surrounded `server_active' with 7899 #ifdef SERVER_SUPPORT/#endif. 7900 * commit.c (commit_fileproc, commit_direntproc): Likewise. 7901 (Patch from John Tytgat <John.Tytgat@aaug.net>.) 7902 79032002-07-31 Derek Price <oberon@umich.edu> 7904 7905 * filesubr.c: Add a line so VIM can determine tab stops and shift widths. 7906 * root.c: Ditto. 7907 * (parse_cvsroot): Add comments and tidy slightly. 7908 79092002-07-31 Derek Price <oberon@umich.edu> 7910 7911 * sanity.sh: Add another date to the comment about rcs2-7 failing. 7912 79132002-07-26 Jim Meyering <meyering@lucent.com> 7914 7915 * commit.c (find_fileproc): When committing in client mode, 7916 arrange to fail if a `cvs add'ed file no longer exists in the 7917 working directory. 7918 * sanity.sh (commit-add-missing): New test for above. 7919 79202002-07-25 Larry Jones <lawrence.jones@eds.com> 7921 7922 * sanity.sh: Set $TMPDIR if it's not already set and use it rather 7923 than /tmp for the expected server temp directory path. 7924 79252002-07-09 Larry Jones <lawrence.jones@eds.com> 7926 7927 * vers_ts.c (time_stamp_server, time_stamp): Eliminate unneeded 7928 struct_tm copying. 7929 7930 * lock.c (lock_wait, lock_obtained): Display time in UTC if possible 7931 to reduce confusion in client/server mode. 7932 (Original patch from Eduardo Perez Ureta <eperez@it.uc3m.es>.) 7933 79342002-06-26 Larry Jones <lawrence.jones@eds.com> 7935 7936 * tag.c (check_fileproc): When checking up-to-date, T_REMOVE_ENTRY 7937 is also a valid status. 7938 (Reported by David Everly <David.Everly@wcom.com>.) 7939 * sanity.sh (tagc): New tests for above. 7940 79412002-06-18 Larry Jones <lawrence.jones@eds.com> 7942 7943 * update.c (patch_file): Don't patch if diff bigger than file. 7944 Don't bother adjusting the permission on the diff output if 7945 we're not going to use it. 7946 7947 79482002-06-18 Derek Price <oberon@umich.edu> 7949 7950 * server.c: Handle HPUX password expiration fields in the passwd 7951 string in case we are set up on a server with NIS passwords served 7952 from HPUX. 7953 (Original patch from John Cavanaugh <john_cavanaugh@agilent.com>.) 7954 79552002-06-17 Larry Jones <lawrence.jones@eds.com> 7956 and Jonathan Kamens <jik@kamens.brookline.ma.us> 7957 7958 * commit.c (commit_fileproc, commit_direntproc): Don't try to call 7959 an editor to get the log message if running as a server. Instead, 7960 just use an empty log message. 7961 * import.c (import): Ditto. 7962 7963 * import.c (import): In client mode, always send a message to the 7964 server, even if it's empty (this parallels a change made by Larry 7965 Jones to commit.c on May 7). 7966 79672002-05-31 Larry Jones <lawrence.jones@eds.com> 7968 7969 * rcs.c: Conditionally define MAP_FAILED for old systems that don't 7970 have it in <mman.h>. 7971 (Reported by jeremy brand <jeremy@earth.care2.com>.) 7972 79732002-05-24 Larry Jones <lawrence.jones@eds.com> 7974 7975 * rcscmds.c (diff_exec): Add a -- before the first file name just 7976 in case it looks like an option. 7977 (Reported by Zooko <zooko@zooko.com>.) 7978 7979 * rcscmds.c (diff_execv): Remove -- same as diff_exec. Change 7980 only caller. 7981 * cvs.h: Ditto. 7982 79832002-05-23 Larry Jones <lawrence.jones@eds.com> 7984 7985 * cvs.h (strcat_filename_onto_homedir): Make arguments const. 7986 * filesubr.c (strcat_filename_onto_homedir): Make arguments const, 7987 move more code here from callers, change all callers. 7988 79892002-05-22 Derek Price <oberon@umich.edu> 7990 7991 * cvs.h: Add prototype for this... 7992 * filesubr.c (strcat_filename_onto_homedir): new function. 7993 * login.c (): Use new function. 7994 7995 * cvsrc.c (read_cvsrc): Use new function due to problems on VMS. 7996 * ignore.c (ign_setup): Ditto. 7997 * wrapper.c (wrap_setup): Ditto. 7998 (Original patch from Karsten Spang <ksp@dannet.dk>.) 7999 80002002-05-21 Larry Jones <lawrence.jones@eds.com> 8001 8002 * rcs.c (rcsbuf_getkey): Correct off-by-one error in ptr assertion 8003 and add a similar assertion for ptrend. 8004 (Reported by Rebecca Young <raygirl@cvshome.org>.) 8005 (rcsbuf_fill): Remove redundant code. 8006 80072002-05-20 Derek Price <oberon@umich.edu> 8008 8009 * buffer.h: New prototype for... 8010 * buffer.c (stdio_buffer_get_file): this new function to abstract 8011 access to a buffer's file descriptor. 8012 * client.c (auth_server): Use the new function. 8013 (Original patch from Jonathan Kamens <jik@kamens.brookline.ma.us>.) 8014 80152002-05-20 Derek Price <oberon@umich.edu> 8016 8017 * main.c (main): Add 2002 to the copyright years output with the 8018 version string. 8019 80202002-05-15 Larry Jones <lawrence.jones@eds.com> 8021 8022 * log.c (log_parse_list): Fix off-by-one error which caused 8023 incorrect handling of 'cvs log -wuser1,user2 foo.c' command. 8024 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>, 8025 reported by Alex Morozov <morozov@novosoft.ru>.) 8026 80272002-05-09 Larry Jones <lawrence.jones@eds.com> 8028 8029 * login.c (password_entry_operation): Get cvsroot_canonical before 8030 trying to read the user's password file so we have it even if the 8031 file doesn't exist. 8032 (Reported by Sarah Thompson <sthompson@fsl.noaa.gov>.) 8033 80342002-05-08 Derek Price <oberon@umich.edu> 8035 8036 * Makefile.am (cvs_SOURCES): Add options.h explicitly - since we 8037 stopped generating it dynamically, Automake stopped noticing it and 8038 including it in dists. See TODO item #214 for notes. 8039 80402002-05-08 Derek Price <oberon@umich.edu> 8041 8042 * cvs.h: Use the HAVE_CONFIG_H define. 8043 80442002-05-07 Larry Jones <lawrence.jones@eds.com> 8045 8046 * filesubr.c (isaccessible): Set errno before returning failure 8047 in the SETXID_SUPPORT code. 8048 8049 * logmsg (do_verify): Avoid even more work if there's no verifymsg 8050 script to run. 8051 8052 * logmsg: Use fputs/putc rather than fprintf where appropriate. 8053 (do_verify): Run the verifymsg script even if there's no log 8054 message. (Reported by Andy Baker <Andy.Baker2@t-mobile.co.uk>.) 8055 Don't reread the log message unless a verifymsg script was run. 8056 8057 * commit.c (commit): Always send -m to the server, even if there's 8058 no message. 8059 8060 * create_adm.c (Create_Admin): Add dotemplate parameter to trace. 8061 Remove unreachable code. 8062 80632002-05-03 Larry Jones <lawrence.jones@eds.com> 8064 8065 * server.c (serve_watch_on, serve_watch_off, serve_watch_add, 8066 serve_watch_remove): Just pass "watch" as the command name 8067 to do_cvs_command to avoid unknown command errors. 8068 (Reported by Gary Hennigan <gary@ieee.org>.) 8069 8070 * rcs.c (RCS_checkin): Fix bad call to error () in buggy 8071 PRESERVE_PERMISSIONS code. 8072 (rcs_internal_unlockfile): Include current value of errno in error 8073 message even though it may well be irrelevant (it's still better 8074 than nothing). 8075 80762002-05-02 Derek Price <oberon@umich.edu> 8077 8078 * .cvsignore: Remove lines for files obsoleted by new autotools. 8079 80802002-05-02 Derek Price <oberon@umich.edu> 8081 8082 * stamp-h2.in: Remove this uneeded file. 8083 80842002-05-01 Derek Price <oberon@umich.edu> 8085 8086 * options.h.in: Move to... 8087 * options.h: here. 8088 80892002-04-30 Derek Price <oberon@umich.edu> 8090 8091 * version.h.in: Remove this file. 8092 * version.h: Ditto. 8093 8094 * Makefile.am: Remove references to version.h. 8095 * cvs.h: Use <> rather than "" around the config.h #include. I didn't 8096 quite bother to understand why, but autoconf recommends it. 8097 * cvsbug.in: Use PACKAGE_BUGREPORT defined by configure for the bug 8098 report email address. 8099 * version.c (version): Use PACKAGE_STRING defined in config.h instead 8100 of the version_string that used to be defined in version.h. 8101 8102 * Makefile.in: Regenerated with automake 1.6. 8103 81042002-04-28 Derek Price <oberon@umich.edu> 8105 8106 * cvs.h: Use `"'s around includes when we mean a local file. 8107 81082002-04-28 Derek Price <oberon@umich.edu> 8109 8110 * cvs.h: #define new names for functions and variables when they 8111 might conflict with system definitions (namely on Mac OS X 10.1 with 8112 the most recent dev packages - This should be removable after the Mac 8113 dev packages are fixed.). 8114 81152002-04-26 Larry Jones <larry.jones@sdrc.com> 8116 8117 * logmsg.c (do_editor): Fix assertion when CLIENT_SUPPORT not defined. 8118 (Reported by Matthias Andree <matthias.andree@stud.uni-dortmund.de>.) 8119 81202002-04-19 Larry Jones <larry.jones@sdrc.com> 8121 8122 * log.c (log_expand_revlist): First cut at code to allow logging 8123 between a revision and *any* ancestor, not just one explicitly on 8124 the same branch (e.g., from 1.1 to 4.1.2.3.6.1). 8125 8126 * subr.c (gca): Simplify and optimize. 8127 81282002-04-19 Jim Meyering <meyering@lucent.com> 8129 and Ed Santiago <easm@lucent.com> 8130 8131 * classify.c (Classify_File): Fix it so that `cvs update -p -r...' 8132 works, even under some slightly unusual (though perfectly legitimate) 8133 circumstances. 8134 * sanity.sh (update-p): New tests for this. 8135 81362002-04-18 Derek Price <oberon@umich.edu> 8137 8138 * sanity.sh: Move test for regex metacharacters in username until 8139 after we're sure we found the version of expr that we're going to use. 8140 81412002-04-18 Larry Jones <larry.jones@sdrc.com> 8142 8143 * admin.c (admin_fileproc): Allow admin to be used on RCS files with 8144 no local version (e.g., removed files) like most other subcommands. 8145 8146 * wrapper.c (wrap_add): Update URL of -t/-f wrapper discussion. 8147 81482002-04-18 Derek Price <oberon@umich.edu> 8149 8150 * version.h: Regenerated for 1.11.2.1 version update. 8151 81522002-04-17 Derek Price <oberon@umich.edu> 8153 8154 * version.h: Regenerated for 1.11.2. 8155 81562002-04-03 Derek Price <oberon@umich.edu> 8157 8158 * stamp-h2.in: Regenerate with recent version of Autoconf. 8159 81602002-04-03 Derek Price <oberon@umich.edu> 8161 8162 * sanity.sh (TR): Send the stderr of one of the tool setup (tr) tests 8163 to /dev/null to avoid spurious output on some operating systems 8164 (notably Mac OS X). 8165 81662002-03-22 Larry Jones <larry.jones@sdrc.com> 8167 8168 * sanity.sh (rcslib): Correct new tests to use ${testcvs} instead 8169 of cvs. 8170 81712002-03-21 Derek Price <oberon@umich.edu> 8172 8173 * vers_ts.c (time_stamp): Return the timestamp for the newer of the 8174 link and the link's source when the file is a link. 8175 (Patch from RedHat cvs-1.11.1p1-7 SRPM.) 8176 8177 * sanity.sh (rcslib): Test for same. 8178 81792002-03-17 Larry Jones <larry.jones@sdrc.com> 8180 8181 * log.c (cvslog, log_fileproc): Add -S option to suppress head or 8182 file name if no revisions selected. 8183 * sanity.sh (log): New tests for above. 8184 81852002-03-13 Derek Price <oberon@umich.edu> 8186 8187 * main.c (usg): Correct a spelling mistake in a comment. 8188 (Thanks to Matt Kraai <kraai@alumni.cmu.edu>.) 8189 81902002-03-09 Larry Jones <larry.jones@sdrc.com> 8191 8192 * import.c (import): Change the suggested merge message to use 8193 rev tags instead of the branch tag with a date. 8194 * sanity.sh (import, importb): Change to match. 8195 8196 * remove.c (remove_fileproc): Disallow removing files with sticky 8197 dates for the same reason we already disallow sticky numeric tags. 8198 * sanity.sh (sticky): New test for above. 8199 82002002-02-27 Larry Jones <larry.jones@sdrc.com> 8201 8202 * diff.c (diff_fileproc): Treat dead revisions as nonexistent. 8203 82042002-02-26 Larry Jones <larry.jones@sdrc.com> 8205 8206 * diff.c (diff): Remove -V and --paginate options: they aren't valid. 8207 (diff_usage): Document all the diff options. 8208 82092002-02-13 Larry Jones <larry.jones@sdrc.com> 8210 8211 * rcs.c (RCS_gettag): Do not interpret an empty tag as HEAD (nothing 8212 else does and I don't see any documentation that says it should). 8213 (translate_symtag): Break out of loop at end of symbols to prevent 8214 looping forever when tag is "". 8215 (Reported by Alain ENOUT <aln00@udcast.com> 8216 via Eric Gillespie <epg@pretzelnet.org>.) 8217 82182002-02-11 Larry Jones <larry.jones@sdrc.com> 8219 8220 * server.c (server_cleanup): Set buf_to_net back to blocking mode 8221 and flush it (in case there are any error messages pending) before 8222 shutting down buf_from_net and again right before shutting it down. 8223 82242002-02-08 Larry Jones <larry.jones@sdrc.com> 8225 8226 * main.c (lookup_command_attribute): Throw a fatal error if the 8227 command is not found. 8228 * server.c (server_tag): Use the correct command name. 8229 82302002-01-30 Larry Jones <larry.jones@sdrc.com> 8231 8232 * error.h (error_exit): Remove unintended prototype. 8233 8234 * server.c (serve_root): Remove check for impossible condition. 8235 (serve_init): Save and restore current_parsed_root. 8236 82372002-01-29 Larry Jones <larry.jones@sdrc.com> 8238 8239 * error.h (error_exit): Declare __noreturn__ to avoid spurious 8240 warnings. 8241 8242 * server.c (serve_root): If the specified root doesn't match the 8243 pserver root, return before changing current_parsed_root to prevent 8244 subsequent commands from accessing an unchecked root directory. 8245 (server_init): Check specified root against the pserver root and 8246 complain if they don't match. Also, if there are pending errors, 8247 print them and return before changing current_parsed_root to prevent 8248 subsequent commands from accessing an unchecked root directory. 8249 * sanity.sh (pserver): New tests for above. 8250 82512002-01-10 Larry Jones <larry.jones@sdrc.com> 8252 8253 * log.c (log_version_requested): Change :: in revision spec to be 8254 exclusive just on the low end (so -r tag1::tag2 gives revisions 8255 after tag1 but up to and including tag2), which is much more useful 8256 than the previous (exclusive at both ends) behavior. 8257 (log_usage): Update to match. 8258 * sanity.sh (log): Update to match. 8259 82602002-01-02 Larry Jones <larry.jones@sdrc.com> 8261 8262 * server.c (LOG_DAEMON): Define if needed. 8263 (Patch from John David Anglin <dave@hiauly1.hia.nrc.ca>.) 8264 8265 * server.c (pserver_authenticate_connection): Add a specific error 8266 message for EOF at protocol start and syslog if available. 8267 * sanity.sh (pserver-bufinit): Update to match. 8268 82692001-12-10 Larry Jones <larry.jones@sdrc.com> 8270 8271 * log.c (log_usage): Note that -r and -d take lists, not just a 8272 single specification. 8273 (log_expand_revlist): Don't dereference null pointers when one end 8274 of a revision range is a non-existent tag. 8275 82762001-12-03 Larry Jones <larry.jones@sdrc.com> 8277 8278 * annotate.c (annotate, annotate_fileproc): Don't annotate binary 8279 files unless new -F option given. 8280 * sanity.sh (basica, ann, ann-id, rcs, keywordlog, tagdate): Update 8281 to match. 8282 82832001-11-30 Larry Jones <larry.jones@sdrc.com> 8284 8285 * admin.c (admin): Allow unrestricted usage of -q in addition to -k. 8286 82872001-10-25 Larry Jones <larry.jones@sdrc.com> 8288 8289 * log.c (log_expand_revlist): Make erroneous or inconsistent revision 8290 specs select no revisions rather than all revisions. 8291 82922001-10-23 Larry Jones <larry.jones@sdrc.com> 8293 8294 * import.c (add_rcs_file): Don't put an expand entry into the file 8295 for the default expansion mode (kv). 8296 * wrapper.c (wrap_send, wrap_unparse_rcs_options): Process entries 8297 with default expansion mode since they may be needed to avoid matching 8298 a more general entry later. 8299 (wrap_add): Set rcsOption to NULL for default (kv). 8300 (wrap_add_entry): Use structure assignment to copy entries rather 8301 that copying members by hand. 8302 * sanity.sh (binwrap3): Revise to test wrapper entries that don't 8303 specify any non-default options but just prevent matching later, 8304 more general entries. 8305 83062001-10-02 Larry Jones <larry.jones@sdrc.com> 8307 8308 * rcs.c (RCS_fully_parse): Add revision number to more error messages. 8309 83102001-09-27 Larry Jones <larry.jones@sdrc.com> 8311 8312 * rcs.c (RCS_fully_parse, RCS_getdeltatext): Add the missing revision 8313 number to the "mismatch" error message. 8314 8315 * sanity.sh (multiroot2-9a): Update to match changes to lock.c. 8316 83172001-09-26 Larry Jones <larry.jones@sdrc.com> 8318 8319 * lock.c (Lock_Cleanup, Reader_Lock, write_lock): Add trace messages. 8320 83212001-09-24 Derek Price <dprice@collab.net> 8322 8323 * find_names.c (add_entries_proc): Leave closure specified as such in the 8324 function definition for clarity. 8325 8326 * find_names.c (Find_Names): Use 'closure' feature of walklist() 8327 to eliminate the static variable. 8328 (add_entries_proc): Expect closure to be the file list. 8329 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 8330 83312001-09-19 Derek Price <dprice@collab.net> 8332 8333 * rcs.c (rcsbuf_valpolish_internal): Restore one of the 8334 "if ( ... ) abort();" sequences since it seems to check the validity of 8335 the RCS file rather than for a programming error. Also added a FIXME 8336 comment to the effect that we should explain the RCS file error to the 8337 user as such if it is such. 8338 (Thanks to Larry Jones <scjones@sdrc.com>.) 8339 83402001-09-19 Derek Price <dprice@collab.net> 8341 8342 * rcs.c (rcsbuf_getkey, rcsbuf_valpolish_internal): Replace some code 8343 of the form "if ( ... ) abort();" with equivalent calls to assert(). 8344 83452001-09-17 Derek Price <dprice@collab.net> 8346 8347 * myndbm.c (mydbm_load_file): Fix buffer overflow error and make error 8348 messages more informative. 8349 * sanity.sh (modules6): New test. 8350 (Original report from Taska <taska@collab.net> and others.) 8351 83522001-09-14 Derek Price <dprice@collab.net> 8353 8354 * logmsg.c (do_verify): Dispose memory when finished with it. 8355 83562001-09-07 Larry Jones <larry.jones@sdrc.com> 8357 8358 * mkmodules.c (notify_contents): In the example, move the %s to 8359 the end since many, if not most, versions of mail insist on 8360 options coming before addresses. 8361 83622001-09-06 Derek Price <dprice@collab.net> 8363 8364 * login.c (login): Deal with NULL return value from getpass. 8365 83662001-09-04 Derek Price <dprice@collab.net> 8367 8368 * Makefile.in: Regenerated with automake 1.5. 8369 * stamp-h2.in: Ditto. 8370 83712001-09-04 Derek Price <dprice@collab.net> 8372 8373 * main.c (main): Fix empty CVSROOT message to specify `valid' instead 8374 of `legal'. 8375 83762001-09-04 Derek Price <dprice@collab.net> 8377 8378 * server.c (pserver_authenticate_connection): Back out changes from the 8379 30th and... 8380 * getline.c (getstr): init the buffer instead. 8381 83822001-08-31 Derek Price <dprice@collab.net> 8383 8384 * Makefile.in: Backed out accidental commit from yesterday. 8385 83862001-08-30 Derek Price <dprice@collab.net> 8387 8388 * server.c (pserver_authenticate_connection): Don't print from the 8389 NULL pointer in the error message string in the case where the client 8390 didn't send any data. 8391 * sanity.sh (pserver): Test for this case. 8392 (Report from Mark Welch <mark@collab.net>). 8393 83942001-08-24 Derek Price <dprice@collab.net> 8395 8396 * logmsg.c (do_editor): Add comment and assertion. 8397 * import.c (import): Don't call do_editor with a repository argument 8398 in client mode. 8399 (Report and original patch from darkness <darkness@invado.com>.) 8400 84012001-08-24 Larry Jones <larry.jones@sdrc.com> 8402 8403 * log.c (log_expand_revlist): Arrange for nil revision specs to 8404 select nothing instead of everything. 8405 * sanity.sh (log): New tests for above. 8406 84072001-08-24 Derek Price <dprice@collab.net> 8408 8409 * parseinfo.c (Parse_Info): Change the function name in the trace 8410 and add the client/server string. 8411 84122001-08-24 Derek Price <dprice@collab.net> 8413 8414 * Implement RereadLogAfterVerify CVSROOT/config option to control 8415 FreeBSD read-write of log messages in the verification script. 8416 * logmsg.c: RereadLogAfterVerify defaults to LOGMSG_REREAD_NEVER 8417 to preserve the status quo. 8418 * parseinfo.c (parse_config): Add parsing for RereadLogAfterVerify 8419 option. Possible values are: no | never | yes | always | stat 8420 * cvs.h: Add extern for RereadLogAfterVerify and new value macros 8421 LOGMSG_REREAD_NEVER, LOGMSG_REREAD_ALWAYS, LOGMSG_REREAD_STAT for 8422 its values. 8423 (Patch from Mark D. Baushke <mdb@cvshome.org>.) 8424 8425 * Apply changes from FreeBSD cvs sources to implement a read-write 8426 user-defined verification script. 8427 * logmsg.c (do_verify): Update do_verify to expect a pointer 8428 to the saved message. The log file passed to the verifymsg_script 8429 should be re-read after the user-defined verification script has 8430 been run. The user-defined verification script is allowed to 8431 modify the message. This allows the script to add extra 8432 information to the log message or to remove template lines that 8433 are not needed. 8434 * cvs.h: Update prototype for do_verify prototype to expect a 8435 pointer to the saved_message. 8436 * commit.c (commit, commit_fileproc, commit_direntproc): Update 8437 calls to do_verify as the saved_message arg is now read-write. 8438 * import.c (import): Update calls to do_verify as the 8439 saved_message arg is now read-write. 8440 * sanity.sh (info-v4-[12]): Rename the old info-v4 test to info-v5 8441 and add a new info-v4 test case have the verification script 8442 modify the log message to test the above changes. 8443 (Patch from Mark D. Baushke <mdb@cvshome.org>.) 8444 8445 * logmsg.c: Change RereadLogAfterVerify default to always. 8446 (do_verify): Reformat and make minor fixes to Mark's patch. 8447 * mkmodules.c (config_constants): Add comment about 8448 RereadLogAfterVerify. 8449 * sanity.sh (info-rereadlog): Rename the tests from Mark's patch and 8450 reformat them a bit. 8451 84522001-08-23 Derek Price <dprice@collab.net> 8453 8454 * sanity.sh (info): Demonstrate that the verifymsg scripts can 8455 sometimes, but not always, retreive information on which directory is 8456 being committed to. 8457 84582001-08-22 Derek Price <dprice@collab.net> 8459 8460 * logmsg.c: Back out the last change - the repository which is passed 8461 in is actually the directory and changes with each call to do_verify. 8462 If a verifymsg script is using `pwd`, this could change the operation. 8463 * cvs.h: Ditto. 8464 * commit.c: Ditto. 8465 * import.c: Ditto. 8466 84672001-08-22 Derek Price <dprice@collab.net> 8468 8469 * logmsg.c (do_editor): Return reused_message. 8470 (do_verify): Don't verify the same log message more than once. 8471 * cvs.h: Update prototypes for do_verify and do_editor. 8472 * commit.c (commit_fileproc, commit_direntproc): Use the new functionality. 8473 * import.c (import): Ditto. 8474 84752001-08-22 Derek Price <dprice@collab.net> 8476 8477 * logmsg.c (do_verify): Remove an unecessary "else" clause following an 8478 exit and unindent the former contents. 8479 84802001-08-22 Derek Price <dprice@collab.net> 8481 8482 * commit.c (commit): Don't call do_verify in client mode since we know 8483 do_verify will just return anyhow. 8484 84852001-08-20 Derek Price <dprice@collab.net> 8486 8487 * Makefile.am (cvs_SOURCES): Add version.c and version.h. 8488 (BUILT_SOURCES): Add version.h. 8489 (Maintainer Targets): Remove version.h. 8490 * version.c: Remove @VERSION@ dependant bits. 8491 * version.c.in: Removed. 8492 * version.h.in: New file. 8493 (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 8494 8495 * Makefile.am: Various modifications to make Automake, make dist, and 8496 windows targets work like they are supposed to. 8497 * version.h: New (generated) file. 8498 8499 * Makefile.in: Regenerated. 8500 85012001-08-09 Derek Price <dprice@collab.net> 8502 8503 * client.c (socket_buffer_shutdown): Use recv instead of read and 8504 return 0 on success. 8505 (Patch from "Manfred Klug" <manklu@web.de>.) 8506 85072001-08-09 Derek Price <dprice@collab.net> 8508 8509 * buffer.c (stdio_buffer_shutdown): Assume the buffer is not a socket 8510 when NO_SOCKET_TO_FD is defined. 8511 * client.c (make_bufs_from_fds): Add is_sock argument and remove fstat 8512 call and reference to S_ISSOCK since these functions aren't available 8513 under Windows. 8514 (connect_to_forked_server, connect_to_pserver, start_tcp_server, 8515 start_server, start_rsh_server): Use new argument. 8516 (Patch from "Manfred Klug" <manklu@web.de>.) 8517 8518 * buffer.c (stdio_buffer_shutdown): Various reformattings, fix bug 8519 where rsh pipes weren't being closed. 8520 85212001-08-09 Derek Price <dprice@collab.net> 8522 8523 * sanity.sh (rmadd, rm-update-message, join-two-branch, 8524 ignore-on-branch): Change a few references to `cvs' to `$PROG'. 8525 85262001-08-07 Derek Price <dprice@collab.net> 8527 8528 * build_src.com: Add annotate.c/annotate.obj,verify, correct zlib name. 8529 * patch.c: VMS time_t appears to be unsigned. Add a cast when testing 8530 for (time_t)-1. 8531 * subr.c: #else,#endif for no symlinks should be moved. 8532 (Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.) 8533 85342001-08-06 Derek Price <dprice@collab.net> 8535 8536 * Makefile.in: Regenerated. 8537 85382001-08-01 Derek Price <dprice@collab.net> 8539 8540 * diff.c (diff): Send long option for side-by-side diffs to the server 8541 rather than '-y', for backwards compatibility with old servers. 8542 (Original patch from Peter Mathiasson <peter@mathiasson.nu>.) 8543 85442001-07-19 Larry Jones <larry.jones@sdrc.com> 8545 8546 * mkmodules.c (cvswrappers_contents): Remove -t/-f since they're 8547 disabled in wrapper.c. 8548 8549 * checkout.c (checkout): Don't complain about checking out into the 8550 repository when piping output. 8551 (Reported by der Mouse <mouse@Rodents.Montreal.QC.CA>.) 8552 * sanity.sh (checkout_repository): New tests for above. 8553 85542001-07-10 Larry Jones <larry.jones@sdrc.com> 8555 8556 * sanity.sh (importc-7): Now works correctly in local mode. 8557 8558 * commit.c (commit_dirleaveproc): We're still in the directory when 8559 this is called, so the first argument to Name_Repository needs to 8560 be NULL, not dir. 8561 * sanity.sh (rmadd): New tests for above. 8562 8563 * commit.c (commit): Reword error messages for committing as root. 8564 85652001-07-08 Larry Jones <larry.jones@sdrc.com> 8566 8567 * rcs.c (RCS_checkout): Correct scanf format to allow for trailing 8568 NUL terminator. 8569 * update.c (special_file_mismatch): Ditto. 8570 (Reported by Pekka Savola <pekkas@netcore.fi>.) 8571 85722001-07-05 Larry Jones <larry.jones@sdrc.com> 8573 8574 * client.c, root.c: Fix -Wall warnings. 8575 8576 * buffer.c: #include socket header to declare shutdown(). 8577 8578 * rcs.c (rcsbuf_open): Use getpagesize() instead of sysconf() for 8579 portability. 8580 (RCS_copydeltas, rcsbuf_fill): Fix -Wall warnings. 8581 85822001-07-04 Derek Price <dprice@collab.net> 8583 8584 * Makefile.in: Regenerated with new Automake release candidate 1.4h. 8585 85862001-07-03 Derek Price <dprice@collab.net> 8587 8588 * rcs.c (rcsbuf_open): Reduce memory consumption still further by not 8589 mmapping the entire file when pos is specified. 8590 (rcsbuf_cache_open): Add FIXME comment wrt read-only mmaps and rcsbuf 8591 caching. 8592 85932001-07-03 Derek Price <dprice@collab.net> 8594 8595 * rcs.c (rcsbuf_open): Use mmap when possible to reduce memory 8596 consumption, especially with large (e.g. binary) files. 8597 (rcsbuf_close): Call munmap. 8598 (rcsbuf_getkey): Remove the buffer fill code when using mmap. 8599 (rcsbuf_getrevnum): Ditto. 8600 (rcsbuf_fill): Remove this function when using mmap. 8601 (rcsbuf_cache_open): Mostly don't use this function with mmap. 8602 (RCS_copydeltas): Don't depend on the file pointer with mmap. 8603 8604 * stamp-h2.in: Regenerated. 8605 86062001-07-03 Derek Price <dprice@collab.net> 8607 8608 * update.c: Indent compiler directives. 8609 86102001-07-02 Larry Jones <larry.jones@sdrc.com> 8611 8612 * import.c (update_rcs_file): Use -kb instead of -ko when comparing 8613 binary files. 8614 (Reported by Gyula Faller <gfaller@graphisoft.hu>.) 8615 86162001-06-28 Larry Jones <larry.jones@sdrc.com> 8617 8618 * checkout.c (checkout): Explicitly initialize all the static options 8619 so that multiple calls work right. Also fix potential memory leaks. 8620 (Reported by Dr. Dieter Maurer <dieter@sz-sb.de>.) 8621 86222001-06-28 Derek Price <dprice@collab.net> 8623 8624 * Makefile.in: Regenerated with new version of Automake. 8625 86262001-06-28 Larry Jones <larry.jones@sdrc.com> 8627 8628 * checkout.c (checkout): Set history_name for export as well as 8629 checkout. 8630 (checkout_proc): Use it. 8631 8632 * checkout.c (safe_location): Add missing argument in error message. 8633 86342001-06-26 Larry Jones <larry.jones@sdrc.com> 8635 8636 * recurse.c (start_recursion): Use strip_trailing_slashes instead 8637 of doing it by hand. 8638 8639 * server.c (pserver_authenticate_connection): Don't clear out 8640 descrambled_password until *after* it's (potentially) logged. 8641 (Reported by Eric Hanchrow <offby1@blarg.net>.) 8642 86432001-06-25 Larry Jones <larry.jones@sdrc.com> 8644 8645 * recurse.c (start_recursion): Deal with at least some of the cases 8646 where trailing slashes cause confusion. 8647 (Reported by Malcolm Fernandes <fernande@redback.com>.) 8648 * sanity.sh (basica, basicb): Tweak existing tests to check this. 8649 86502001-06-22 Larry Jones <larry.jones@sdrc.com> 8651 8652 * sanity.sh (modules5): New tests with -d on command line. 8653 86542001-06-21 Larry Jones <larry.jones@sdrc.com> 8655 8656 * modules.c (do_module): Use run_module_prog and server_active to 8657 determine when to call server_prog instead of using server_expanding 8658 so that we get the right paths in the replies as long as we take 8659 mwhere into account in addition to where. 8660 (Reported by Pascal Bourguignon <pjb@informatimago.com>.) 8661 * server.c (server_prog): Use protocol pipe instead of buf_to_net. 8662 * sanity.sh (modules5): Remove FIXCVS comment and update to match. 8663 * server.c, server.h: Remove server_expanding since now unused. 8664 86652001-06-21 Larry Jones <larry.jones@sdrc.com> 8666 for Stephen Rasku <stephen@tgivan.com> 8667 8668 * admin.c: Corrected spelling mistakes in help. 8669 86702001-06-20 Derek Price <dprice@collab.net> 8671 8672 * client.c (socket_buffer_shutdown): Fix untested typos. 8673 (Reported by "Jerzy Kaczorowski" <jerzyk@wndtabs.com>.) 8674 8675 * buffer.c (stdio_buffer_shutdown): Put the call to SHUTDOWN_SERVER in 8676 the correct place. 8677 86782001-06-20 Derek Price <dprice@collab.net> 8679 8680 * logmsg.c (do_editor): Abort in the case that the file has only 8681 comment lines. 8682 (Original patch from Mark Valentine <mark@thuvia.demon.co.uk>.) 8683 8684 * logmsg.c (do_editor): Fix rare memory leak. 8685 * sanity.sh (editor): Add tests for aborted log messages. 8686 86872001-06-20 Larry Jones <larry.jones@sdrc.com> 8688 8689 * server.c (switch_to_user): Only set $CVS_USER if 8690 AUTH_SERVER_SUPPORT is defined. 8691 (Reported by Nalin Dahyabhai <nalin@blade.devel.redhat.com>.) 8692 86932001-06-13 Derek Price <dprice@collab.net> 8694 8695 * client.c: Fix incorrect fixed-size buffer usage in 8696 connect_to_gserver(). 8697 (Minor changes to a patch from Alexey Mahotkin <alexm@hsys.msk.ru>.) 8698 86992001-06-11 Derek Price <dprice@collab.net> 8700 8701 * main.c (main): Always print $CVSROOT when parse_cvsroot fails. 8702 * root.c (parse_cvsroot): Tidy error messages and provide more 8703 consistent behavior. 8704 * sanity.sh (crerepos): Adapt to new error messages. 8705 (Suggested by Alexey Mahotkin <alexm@hsys.msk.ru>.) 8706 87072001-06-08 Derek Price <dprice@collab.net> 8708 8709 * sanity.sh (tagf-28): Use $CVSROOT_DIRNAME. 8710 87112001-06-07 Larry Jones <larry.jones@sdrc.com> 8712 8713 * rcs.c (RCS_unlock): Reverse kj's change of 1999-10-18: a bare -u 8714 should never break locks, you have to specify a specific revision 8715 to do that. Also add an informative message for a bare -u when 8716 the user doesn't hold any locks. 8717 * commit.c (unlockrcs): Make RCS_unlock quiet, like RCS_lock. 8718 * sanity.sh (rmadd-24): Update to match. 8719 8720 * sanity.sh (crerepos-6a): Set CVS_RSH for ${testcvs}, not for 8721 dotest_fail. Allow for "broken pipe" rather than "end of file". 8722 87232001-06-07 Derek Price <dprice@collab.net> 8724 8725 * sanity.sh (tagf): Use $CVSROOT_DIRNAME rather than 8726 /tmp/cvs-sanity/cvsroot. 8727 87282001-06-06 Derek Price <dprice@collab.net> 8729 8730 (Reformatting, bug fixes, tests, and comments to a 8731 patch from Stephen Cameron <steve.cameron@compaq.com>.) 8732 8733 * tag.c: (rtag_fileproc, rtag_delete, tag_fileproc) 8734 Changed behavior of "cvs tag -F", "cvs tag -d", "cvs rtag -F" 8735 and "cvs rtag -d" so that they will not disturb existing 8736 branch tags unless a new "-B" option is given. 8737 * sanity.sh (tagf-16 - tagf-33): Added tests for new -B option 8738 to "cvs tag" and "cvs rtag" 8739 87402001-06-06 Derek Price <dprice@collab.net> 8741 8742 * sanity.sh (crerepos-6a): Set CVS_RSH=false and only for the actual 8743 test call at Larry's suggestion. Also, test the error message since 8744 it's fixed now. 8745 87462001-06-05 Larry Jones <larry.jones@sdrc.com> 8747 8748 * rcs.c (RCS_unlock): Note when breaking someone else's lock. 8749 (Reported by MURVAI-BUZOGANY Laszlo 8750 <Laszlo.MURVAI-BUZOGANY@gt-systems.hu>.) 8751 * sanity.sh (reserved-14): Update to match. 8752 87532001-06-05 Derek Price <dprice@collab.net> 8754 8755 * sanity.sh (crerepos-6a): Set CVS_RSH=/bin/false... this is a local 8756 mode only test anyhow. 8757 (Thanks to Larry Jones and Morgan Burke <morgan@sitka.triumf.ca>.) 8758 87592001-05-31 Derek Price <dprice@collab.net> 8760 8761 * sanity.sh (rcs2-7): Add today to the list of failure dates for rcs2-7 8762 in the hopes that the data will eventually prove useful to someone 8763 motivated enough to fix the problem. 8764 87652001-05-30 Derek Price <dprice@collab.net> 8766 8767 * stamp-h2.in: Regenerated. 8768 87692001-05-30 Derek Price <dprice@collab.net> 8770 8771 * *: Various bug fixes and comments for the following 8772 patch from Donald Sharp <sharpd@cisco.com>: 8773 8774 * checkout.c (safe_location): cvs co -d <directory> still had 8775 failure modes from the way the -d option works. 8776 * sanity.sh: Misc error message resynching. 8777 87782001-05-29 Derek Price <dprice@collab.net> 8779 8780 * Makefile.am (cvs_SOURCES): Add root.h. 8781 8782 * Makefile.in: Regenerated. 8783 * stamp-h2.in: Regenerated. 8784 87852001-05-29 Derek Price <dprice@collab.net> 8786 8787 * checkout.c (safe_location): Correct formatting. 8788 87892001-05-29 Derek Price <dprice@collab.net> 8790 8791 * root.c (parse_cvsroot): Fix a comment. 8792 87932001-05-26 Larry Jones <larry.jones@sdrc.com> 8794 8795 * checkout.c (safe_location): Use old-style definition to keep 8796 non-ANSI compilers happy. 8797 8798 * sanity.sh (check_respository): Use ${CVSROOT_DIRNAME} instead 8799 of /tmp/cvs-sanity/cvsroot. 8800 88012001-05-25 Larry Jones <larry.jones@sdrc.com> 8802 8803 * sanity.sh (modules5): Add sleep to script to help avoid out of 8804 order messages. 8805 8806 * filesubr.c (mkdir_if_needed): Return 1 if the directory exists 8807 reguardless of what errno is set to. 8808 (Reported by "Robinson, Greg" <greg.robinson@dsto.defence.gov.au>.) 8809 88102001-05-25 Derek Price <dprice@collab.net> 8811 for Donald Sharp <sharpd@cisco.com> 8812 8813 * checkout.c: Modified safe_location() to refuse checkout if 8814 the -d option to co specifies inside of the repository. 8815 * import.c: New parameter to safe_location needed to be added. 8816 * cvs.h: New parameter to safe_location needed to be added. 8817 * sanity.sh: Test case to test for failure mode. 8818 88192001-05-23 Larry Jones <larry.jones@sdrc.com> 8820 8821 * checkout.c (checkout_proc): Don't build top_level_admin directory 8822 when exporting. 8823 (Reported by Tony Byrne <tonyb@directski.com>.) 8824 88252001-05-21 Derek Price <dprice@collab.net> 8826 8827 * client.c: Fix a mispelling in a comment. 8828 (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>). 8829 88302001-05-05 Larry Jones <larry.jones@sdrc.com> 8831 8832 * login.c (password_entry_operation): Only warn if unable to open 8833 .cvspass for reading: may be initial login and it doesn't exist yet. 8834 88352001-05-15 Derek Price <dprice@collab.net> 8836 8837 * client.c (start_tcp_server): Use the struct sockaddr_in declared in 8838 the function. 8839 (Reported by Emil Isberg <isberg@dynarc.se>.) 8840 88412001-05-05 Larry Jones <larry.jones@sdrc.com> 8842 8843 * annotate.c (annotate): Pass local to do_module and rannotate_proc 8844 so that -l actually works. 8845 * log.c (cvslog): Ditto. 8846 * patch.c (patch): Ditto; make local local instead of global. 8847 (patch_proc): Use local_specified parameter instead of global. 8848 * tag.c (cvstag, rtag_proc): Ditto. 8849 88502001-05-05 Larry Jones <larry.jones@sdrc.com> 8851 8852 * client.h: Declare "struct buffer" outside prototype for __STDC__ 8853 compilers. 8854 88552001-05-04 Derek Price <dprice@collab.net> 8856 8857 * client.c: General refactoring. Removed several global variables in 8858 favor of passing locals and/or dynamic evaluation. 8859 (recv_line): Removed this function. 8860 (make_bufs_from_fds): New function with factored code. 8861 (connect_to_forked_server): New prototype. Use new functions. 8862 (connect_to_pserver): New prototype. Use new functions. 8863 (connect_to_gserver): New prototype. Use new API. 8864 (auth_server): Factored this portion of the pserver code so it can be 8865 shared. Rewrote to use buffers rather than depending on a socket. 8866 (start_rsh_server): New prototype. Use new API. 8867 (start_tcp_server): New prototype. Use new API. 8868 (start_server): Factor some code. Use new API. 8869 * client.h: New prototypes. 8870 * cvs.h: Gratuitous reformatting. Use new root.h. 8871 * login.c (login): Use new connect_to_pserver API. 8872 * root.h: New file. Contains some code that used to be in cvs.h. 8873 88742001-05-04 Derek Price <dprice@collab.net> 8875 8876 * client.c: Gratuitous reformatting. 8877 * client.h: Ditto. 8878 88792001-05-04 Derek Price <dprice@collab.net> 8880 8881 * zlib.c (compress_buffer_shutdown_input): Use new buffer shutdown 8882 prototype. 8883 (compress_buffer_shutdown_output): Ditto. 8884 (Thanks to Pavel Roskin <proski@gnu.org>.) 8885 88862001-05-03 Derek Price <dprice@collab.net> 8887 8888 * buffer.c (struct stdio_buffer_closure): New structure to hold a 8889 FILE * and the child's PID when necessary. 8890 (stdio_buffer_initialize): Change proto to accept PID. Set up new 8891 closure. Pass new stdio_buffer_shutdown to buf_initialize. 8892 (stdio_buffer_input): Use new closure. 8893 (stdio_buffer_output): Ditto. 8894 (stdio_buffer_flush): Ditto. 8895 (stdio_buffer_shutdown): New function. Teach buffer to close itself. 8896 (packetizing_buffer_shutdown): Use new buffer shutdown proto. 8897 * buffer.h (struct buffer): New buffer shutdown proto. 8898 (stdio_buffer_initialize): New proto. 8899 * client.c (log_buffer_shutdown): Use new proto. 8900 (socket_buffer_initialize): Pass shutdown func. 8901 (socket_buffer_shutdown): New function. 8902 * server.c (get_responses_and_close): Remove most of the guts. Rely 8903 on the buffer shutdown function from now on. 8904 (start_rsh_server): Return child PID. 8905 89062001-05-03 Larry Jones <larry.jones@sdrc.com> 8907 8908 * history.c (history_write): Handle the case where the user's home 8909 directory doesn't exist gracefully instead of erroring out. 8910 (Reported by David Hoover <dhoover@cadence.com>.) 8911 89122001-05-03 Derek Price <dprice@collab.net> 8913 8914 * cvs.h: s/allocate_and_strcat/xrealloc_and_strcat/ since that is what 8915 I wrote in the ChangeLog, oh, so long ago. 8916 * diff.c (diff): Ditto. 8917 * subr.c (allocate_and_strcat, xrealloc_and_strcat): Ditto. 8918 89192001-05-02 Larry Jones <larry.jones@sdrc.com> 8920 8921 * rcs.c (RCS_getdate): Handle the (unusual!) case where we 8922 can't find any revisions at all. 8923 (Reported by Ryan Grow <rgrow@Dbdoctor.net>.) 8924 89252001-04-30 Larry Jones <larry.jones@sdrc.com> 8926 8927 * sanity.sh (multiroot2-9a): Rename (from multiroot2-9) to avoid 8928 duplicate names; fix to work without SERVER_SUPPORT defined. 8929 (Reported by Pavel Roskin <proski@gnu.org>.) 8930 89312001-04-29 Derek Price <dprice@collab.net> 8932 8933 * Makefile.am (check-local): Make dependent on localcheck and 8934 remotecheck and move old check target... 8935 (localcheck): here. 8936 8937 * Makefile.in: Regenerated. 8938 89392001-04-27 Larry Jones <larry.jones@sdrc.com> 8940 8941 * sanity.sh (pserver): Add tests for readers and writers. 8942 89432001-04-27 Derek Price <dprice@collab.net> 8944 8945 * sanity.sh (version-2r): Update to handle patch releases in version 8946 numbers. 8947 89482001-04-27 Derek Price <dprice@collab.net> 8949 8950 * version.c: Regenerated. 8951 89522001-04-27 Derek Price <dprice@collab.net> 8953 8954 * version.c: Regenerated. 8955 89562001-04-27 Larry Jones <larry.jones@sdrc.com> 8957 8958 * main.c (lookup_command_attribute): Lookup specified command, not 8959 whatever's in the global command_name. 8960 89612001-04-25 Derek Price <dprice@collab.net> 8962 8963 * Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400. 8964 * version.c: Regenerated. 8965 89662001-04-22 Larry Jones <larry.jones@sdrc.com> 8967 8968 * tag.c (tag_check_valid): Make an unwritable val-tags file a 8969 warning instead of a fatal error. 8970 89712001-04-20 Larry Jones <larry.jones@sdrc.com> 8972 8973 * annotate.c (annotate_usage): -r and -D are not mutually exclusive. 8974 * main.c (cmd_usage): Add missing version subcommand. 8975 * update.c (update_usage): Add missing -C option. 8976 8977 * sanity.sh (death2): New tests for previous change. 8978 8979 * classify.c (Classify_File): Treat a dead revision like the RCS 8980 file doesn't exist. 8981 * sanity.sh: Update to match. 8982 89832001-04-16 Larry Jones <larry.jones@sdrc.com> 8984 8985 * checkout.c, update.c: Fix usage messages: -r and -D are not 8986 mutually exclusive. 8987 (Suggested by David L. Martin <dlmart2@home.com>.) 8988 8989 * logmsg.c (do_editor): Don't add a blank line to the message. 8990 * sanity.sh (editor-log-file*): Update to match. 8991 8992 * checkout.c, update.c: Note in usage message that -k is sticky. 8993 8994 * server.c: (server_cleanup, wait_sig): Remove ancient SunOS kludge. 8995 (Suggested by Rob Saccoccio <robs@chelsea.net>.) 8996 89972001-04-04 Larry Jones <larry.jones@sdrc.com> 8998 8999 * sanity.sh (dotest, dotest_lit, dotest_fail, dotest_status, 9000 dotest_sort): Don't count on $? being set in then or else clauses. 9001 9002 * ignore.c (ignore_files): Collect unignored files into a list and 9003 sort it before calling PROC to avoid order dependencies. Rewrite 9004 the while loop to allow normal continues instead of goto. 9005 90062001-04-04 Derek Price <dprice@collab.net> 9007 9008 * sanity.sh (ignore-on-branch-3): Fix in the remote case. 9009 90102001-04-03 Larry Jones <larry.jones@sdrc.com> 9011 9012 * update.c (update_fileproc): Remove unused variable (resurrecting). 9013 90142001-04-03 Derek Price <dprice@collab.net> 9015 Larry Jones <larry.jones@sdrc.com> 9016 reported by Jakob B�hm <JB@Danware.dk> 9017 9018 * update.c (update_fileproc): Don't store a file with T_UNKNOWN status 9019 in ignlist if present in the sandbox. 9020 * sanity.sh (ignore-on-branch): New test. 9021 (ignore): Tidy this test. 9022 90232001-04-02 Derek Price <dprice@collab.net> 9024 9025 * sanity.sh: Make sure the test for `id' fails when a nonstandard `id' 9026 is used and the user is root. Fix some quoting in error messages. 9027 (fork): Take `cvs' out of the PATH. 9028 (TODO): Add note about the test suite not working with user names over 9029 eight characters in length. 9030 90312001-04-02 Derek Price <dprice@collab.net> 9032 9033 * sanity.sh (fork): New test for CVS_SERVER default. 9034 (TODO): Note about eventually removing most of the references to 9035 CVS_SERVER. 9036 90372001-04-02 Larry Jones <larry.jones@sdrc.com> 9038 9039 * client.c (connect_to_forked_server): Use program_path as the default 9040 server instead of "cvs". 9041 90422001-04-02 Derek Price <dprice@collab.net> 9043 9044 * sanity.sh: Use less obfuscated English in my comment about sanity 9045 checking sanity.sh. 9046 90472001-04-02 Derek Price <dprice@collab.net> 9048 9049 * sanity.sh (rm-update-message): Create a test directory again but 9050 change back to the correct directory upon completion this time. 9051 90522001-04-02 Derek Price <dprice@collab.net> 9053 9054 * sanity.sh: Change last two '[.*]'s to 'test's for 9055 consistency and remove... 9056 (TODO): the note from the TODO list. 9057 90582001-04-02 Derek Price <dprice@collab.net> 9059 9060 * sanity.sh: Add test for PWD before successful exit. 9061 90622001-03-30 Larry Jones <larry.jones@sdrc.com> 9063 9064 * sanity.sh (rm-update-message): Remove duplicate code. 9065 90662001-03-30 Derek Price <dprice@collab.net> 9067 9068 * sanity.sh (rm-update-message): New test for local/client-server 9069 warning message discrepency. 9070 90712001-03-30 Larry Jones <larry.jones@sdrc.com> 9072 9073 * annotate.c: Move annotate() here from rcs.c, support rannotate. 9074 * Makefile.am, Makefile.in: Add annotate.c. 9075 * main.c (cmds[], cmd_usage[]): Add rannotate. 9076 * rcs.c: Move declarations of rcs_delta_op and RCS_deltas to... 9077 * rcs.h: ... here. 9078 * server.c (serve_rannotate): New. 9079 (requests[]): Add rannotate. 9080 * sanity.sh (ann): New tests for rannotate. 9081 9082 * log.c (rlog_proc): Remove dead code. 9083 90842001-03-30 Derek Price <dprice@collab.net> 9085 9086 * sanity.sh (join-readonly-conflict): Run more of this through dotest. 9087 90882001-03-30 Larry Jones <larry.jones@sdrc.com> 9089 9090 * log.c (log_fileproc): Don't output working file for rlog. 9091 * sanity.sh (log): New tests for rlog. 9092 9093 * cvs.h (mtype): Add MISC type. 9094 * log.c (cvslog): Support rlog as well as log. 9095 (rlog_proc): New. 9096 * main.c (cmds[], cmd_usage[]): Add rlog. 9097 (main): Remove old rlog warning message. 9098 * server.c (serve_rlog): New. 9099 (requests[]): Add rlog. 9100 91012001-03-29 Derek Price <dprice@collab.net> 9102 9103 * sanity.sh: cd to $TESTDIR once after it is normalized. Make TODO 9104 on history and symlinks more specific. Tested properly this time. 9105 91062001-03-29 Larry Jones <larry.jones@sdrc.com> 9107 9108 * main.c (cmds[], lookup_command_attribute, main): Include the 9109 command attributes in the global command table instead of inferring 9110 them from the command names. Change the sense of the 9111 CVS_CMD_IGNORE_ADMROOT attribute to match its name. 9112 91132001-03-29 Derek Price <dprice@collab.net> 9114 9115 * sanity.sh (*, basic2-64): Remove references to TMPPWD. Fix FIXME 9116 at end of script now that $TESTDIR can't be relative. 9117 91182001-03-29 Derek Price <dprice@collab.net> 9119 9120 * sanity.sh: Normalize TESTDIR even when the user set it. 9121 91222001-03-29 Larry Jones <larry.jones@sdrc.com> 9123 9124 * client.c (connect_to_pserver, start_tcp_server): Add IP address 9125 to connect failed message. 9126 (connect_to_forked_server, connect_to_pserver, start_tcp_server): Add 9127 trace messages ala start_rsh_server. 9128 (start_rsh_server): Include entire command in trace message for 9129 START_RSH_WITH_POPEN_RW like ! START_RSH_WITH_POPEN_RW does. 9130 91312001-03-29 Derek Price <dprice@collab.net> 9132 9133 * sanity.sh: Global search & replace ${TESTDIR}/cvsroot with 9134 ${CVSROOT_DIRNAME} for consistency. 9135 91362001-03-29 Derek Price <dprice@collab.net> 9137 9138 * sanity.sh (conflicts-12[68].5): Remove sanity hack which has allowed 9139 for a CVS bug since May 96/97. Not sure when the bug went bye-bye, but 9140 the tests broke when $TESTDIR != $TMPPWD. 9141 91422001-03-26 Larry Jones <larry.jones@sdrc.com> 9143 9144 * classify.c (Classify_File): Don't report a conflict for a removed 9145 file when piping. Also simplify the code structure. 9146 (Reported by Milos Kleint <milos.kleint@netbeans.com>.) 9147 * sanity.sh (rmadd2-14[abc]): New tests for above. 9148 91492001-03-24 Noel Cragg <noel@shave.cnet.com> 9150 9151 * diff.c: mods to allow `-T' and `-y' options to be passed through 9152 to the diff library. This wasn't allowed earlier because of a 9153 similarly named options that got passed through to the old rcs 9154 programs. We've long since stopped sending `-T' to any rcs 9155 utility and have never used `-y'. Any users of moldly CVS 9156 versions which used to support `-T' have (hopefully) upgraded to 9157 one where that option isn't supported. It seems reasonable to 9158 enable them again and pass them through. (sanity.sh still works 9159 anyways...) 9160 (longopts): add short option equivalents for --initial-tab and 9161 --side-by-side. 9162 (diff): add new short options to getopt string and switch 9163 statement. 9164 91652001-03-22 Larry Jones <larry.jones@sdrc.com> 9166 9167 * sanity.sh: Add check for ${DOTSTAR} with large matches. 9168 91692001-03-23 Derek Price <dprice@collab.net> 9170 9171 * sanity.sh: Do the same as below for $keep. 9172 91732001-03-23 Derek Price <dprice@collab.net> 9174 9175 * sanity.sh: Replace 'remote=(yes|no)' with 'remote=(:|false)' since 9176 often 'false' and more often ':' are shell builtins. This makes the 9177 succinct, 'if $remote; then' faster than 'if test $remote = yes; then'. 9178 Alter tests in the rest of the script to match the new usage. Added 9179 a suffix of 'r' to remote test names when it was appropriate and I 9180 remembered. Some reformatting. 9181 91822001-03-22 Larry Jones <larry.jones@sdrc.com> 9183 9184 * sanity.sh (diffmerge1_yours, diffmerge1_mine): Check for exact 9185 output instead of using wildcards to avoid buffer overflows in some 9186 versions of expr. 9187 91882001-03-21 Derek Price <dprice@collab.net> 9189 9190 * sanity.sh: cd to '/tmp' again rather than $HOME since HOME was set to 9191 a value inside ${TESTDIR} by the script. 9192 91932001-03-20 Derek Price <dprice@collab.net> 9194 9195 * sanity.sh (diffmerge1): Minor formatting and syntax changes. 9196 9197 for Jacob Burckhardt <bjacob@ca.metsci.com> 9198 9199 * sanity.sh (diffmerge1): More merging behavior tests. Specifically, 9200 test some cases which broke before in Karl Tomlinson's diff fix was 9201 checked in today. 9202 92032001-03-20 Derek Price <dprice@collab.net> 9204 9205 * sanity.sh: Don't use unescaped parens in sh outside of quotes. 9206 92072001-03-20 Derek Price <dprice@collab.net> 9208 9209 * sanity.sh: Don't remove ${TESTDIR} when -k (keep) set. 9210 92112001-03-20 Derek Price <dprice@collab.net> 9212 9213 * sanity.sh: Change usage to match the new getopts format and comment. 9214 92152001-03-16 Derek Price <dprice@collab.net> 9216 9217 * sanity.sh (modules2-nestedrename): New test. Verifies behavior of 9218 renames nested under an ampersand module. 9219 (modules2-ampertag): New test. Verifies an error condition which 9220 prevents some ampersand modules from being checked out when a tag 9221 is specified. 9222 92232001-03-16 Derek Price <dprice@collab.net> 9224 9225 * sanity.sh (modules2): Additional test for ampersand module behavior 9226 with '-d'. 9227 9228 for Greg Klanderman <greg@itasoftware.com> 9229 9230 * checkout.c (build_one_dir): Fix typo where clauses of two 9231 conditionals were reversed in call to Create_Admin. This caused 9232 the CVS/Tag file to be removed in cases where it should have been 9233 set, and vice-versa. It only surfaced in rare cases as this code 9234 is only invoked when using the -d option to build the path to 9235 check out in. Further, the bug would only matter when checking 9236 out a module containing ampersand modules within it, via 9237 client/server CVS. 9238 92392001-03-16 Derek Price <dprice@collab.net> 9240 9241 * sanity.sh (admin-28-5): Confirm that a missing tag during an 9242 'admin -n' operation is not a fatal error. 9243 92442001-03-16 Derek Price <dprice@collab.net> 9245 9246 * admin.c (admin_data): Remove 'quiet' member. 9247 (admin_fileproc): Use global 'really_quiet' rather than 9248 admin_data->quiet. 9249 92502001-03-16 Derek Price <dprice@collab.net> 9251 9252 * sanity.sh (admin): Replace hardcoded testdir path with the variable. 9253 92542001-03-15 Derek Price <derek.price@openavenue.com> 9255 9256 * sanity.sh (basica, binfiles, head, admin): Adjust for new messages. 9257 * admin.c (admin_fileproc): Only print messages when not in 9258 really_quiet mode. 9259 9260 for Stephen Rasku <stephen@tgivan.com> 9261 9262 * rcs.c (RCS_tag2rev): Make a missing tag a survivable error. 9263 92642001-03-15 Larry Jones <larry.jones@sdrc.com> 9265 9266 * subr.c (sleep_past): Fix various bugs that would result in a 9267 negative sleep time if it weren't unsigned; since it is, it would 9268 result in a very large sleep time. Ensure that us is always less 9269 than 1000000. Don't try to sleep for more 1 sec with usleep. 9270 Cast NULL select arguments to correct type just in case. 9271 92722001-03-14 Derek Price <derek.price@openavenue.com> 9273 9274 * subr.c (sleep_past): New function. 9275 * client.c (get_responses_and_close): Use new function. 9276 * commit.c (commit): Ditto. 9277 * update.c (do_update): Ditto. 9278 * cvs.h: Prototype new function. 9279 9280 * stamp-h2.in: Regenerated. 9281 92822001-03-14 Derek Price <derek.price@openavenue.com> 9283 9284 * Makefile.in: Regenerated. 9285 * stamp-h2.in: Ditto. 9286 92872001-03-14 Larry Jones <larry.jones@sdrc.com> 9288 9289 * commit.c (check_fileproc): Allow adding on the trunk when there's 9290 an existing non-Attic RCS file as long as the head revision is dead. 9291 This can happen due to an aborted resurrection. 9292 (commit_fileproc): When resurrecting, consider the dead revision 9293 along with the other files' revisions. 9294 (findmaxrev): Avoid unnecessary work. 9295 (checkaddfile): Only warn if file isn't in Attic as expected. 9296 (Reported by Ross Burton <r.burton@180sw.com>.) 9297 * sanity.sh (basica-r*): New tests for above. 9298 (basica-o4): Update to match. 9299 93002001-03-09 Larry Jones <larry.jones@sdrc.com> 9301 9302 * edit.c (edit_fileproc, unedit_fileproc): Some implementations of 9303 asctime/ctime apparently use a leading zero on the date instead 9304 of the space required by the C Standard. Correct for this so that 9305 shared working directories work without hassle. 9306 (Reported by David L. Martin <dlmart2@home.com>.) 9307 * entries.c (fgetentent): Ditto. 9308 * vers_ts.c (time_stamp_server, time_stamp) Ditto. 9309 93102001-03-07 Larry Jones <larry.jones@sdrc.com> 9311 9312 * sanity.sh (basica, binfiles2, head, admin): Update to match 9313 change to admin.c. 9314 93152001-03-06 Larry Jones <larry.jones@sdrc.com> 9316 9317 * client.c (recv_bytes): Handle EOF as in recv_line(). 9318 (Reported by Pavel Roskin <proski@gnu.org>.) 9319 9320 * admin.c (admin_fileproc): Change final error message to clarify 9321 that CVS refused to modify the RCS file rather than being unable to. 9322 93232001-02-28 Jim Meyering <meyering@lucent.com> 9324 9325 * commit.c (commit_usage): Use `-F logfile' (rather than -F file') in 9326 the description of that option, to be consistent with the `-F logfile' 9327 in the Usage: line. Use spaces instead of TAB characters, and realign. 9328 93292001-03-02 Derek Price <derek.price@openavenue.com> 9330 9331 * sanity.sh (crerepos): Make failed ${CVS_RSH-rsh} attempt print the 9332 name of the command it actually used rather than 'rsh'. 9333 93342001-02-27 Derek Price <derek.price@openavenue.com> 9335 9336 * sanity.sh (modules2-ampermod-*): Added these tests to make sure the 9337 top level directory is created in an ampermodule when '-n' is passed to 9338 checkout. 9339 9340 original bug report from 9341 Wolfgang Haefelinger <Wolfgang.Haefelinger@Dresdner-Bank.com> 9342 93432001-02-27 Derek Price <derek.price@openavenue.com> 9344 9345 * sanity.sh (version-[12]): replace ' (client/server)' with .* in these 9346 two tests so that 'make check' works with whatever client/server 9347 options the executable was compiled with. 9348 93492001-02-23 Derek Price <derek.price@openavenue.com> 9350 9351 * main.c (main): Only check a cvsroot_t's isremote member when client 9352 support is enabled. 9353 * server.c: Include GSSAPI headers with client support as well as 9354 server support. 9355 93562001-02-21 Larry Jones <larry.jones@sdrc.com> 9357 9358 * modules.c, cvs.h (do_module): Add build_dirs argument and use it 9359 instead of run_module_prog. Change all callers. 9360 * tag.c (cvstag): For rtag, don't build directories. 9361 * sanity.sh (modules3): Update to match. 9362 93632001-02-20 Derek Price <derek.price@openavenue.com> 9364 9365 * client.c: Use xgssapi.h. 9366 * server.c: Ditto. 9367 93682001-02-15 Derek Price <derek.price@openavenue.com> 9369 9370 * Makefile.am (cvs_SOURCES): Correct error from yesterday. 9371 * Makefile.in: Regenerated. 9372 93732001-02-14 Derek Price <derek.price@openavenue.com> 9374 9375 * server.c: Include xselect.h. 9376 * update.c (do_update): Use best available sleep function. 9377 93782001-02-14 Derek Price <derek.price@openavenue.com> 9379 9380 * Makefile.am (cvs_SOURCES): Alphabetize and split to one/line. 9381 (cvs_LDADD): Alphabetize and split to one/line. 9382 * Makefile.in: Regenerated. 9383 93842001-02-14 Larry Jones <larry.jones@sdrc.com> 9385 9386 * build_src.com: Remove references to rtag.c & rtag.obj. 9387 93882001-02-13 Derek Price <derek.price@openavenue.com> 9389 9390 * main.c (date_to_tm): New function to convert an RCS date string to a 9391 struct tm. 9392 (tm_to_internet): New function to convert a struct tm to a date string 9393 as specified by RFC822 and amended by RFC 1123. 9394 (date_to_internet): Use the above two functions and a struct tm 9395 intermediary for conversion. 9396 * patch.c (patch_fileproc): Answer somebody's comment and use the new 9397 diff_exec API. 9398 * rcs.c (RCS_checkin): Use new diff_exec API. 9399 (RCS_delete_revs): Use new diff_exec API. 9400 (make_file_label): If the file name is DEVNULL, date it the Epoch for 9401 compatibility with the POSIX.2 spec and Larry Wall's patch 9402 implementation. 9403 * rcscmds.c (diff_exec): Accept new label arguments. 9404 * sanity.sh (death2): Update some diff tests to accept the new format. 9405 * update.c (patch_file): Use new diff_exec API. 9406 * diff.c (diff_fileproc): Create header labels appropriate for 9407 compatibility with the Larry Wall version of patch. 9408 (diff): Rename calls to strcat_and_allocate. 9409 (strcat_and_allocate): Rename and move... 9410 * subr.c (xrealloc_and_strcat): here. 9411 * cvs.h: Update prototypes to match. 9412 94132001-02-13 Derek Price <derek.price@openavenue.com> 9414 9415 * Makefile.am (cvs_SOURCES): Remove rtag.c. 9416 94172001-02-07 Larry Jones <larry.jones@sdrc.com> 9418 9419 * sanity.sh (directory_cmp): Return status rather than setting ISDIFF. 9420 (basic2): Rewrite using dotest. 9421 94222001-02-06 Larry Jones <larry.jones@sdrc.com> 9423 9424 * tag.c, rtag.c: Merge with tag.c being the surviving file. 9425 * Makefile.in: Update to match. 9426 * main.c (cmds): rtag() => cvstag(). 9427 * server.c (serve_rtag): Ditto, and set command name. 9428 94292001-02-06 Derek Price <derek.price@openavenue.com> 9430 Rex Jolliff <Rex_Jolliff@notes.ymp.gov> 9431 Shawn Smith <Shawn_Smith@notes.ymp.gov> 9432 9433 * add.c: Replace opendir, closedir, & readdir calls with CVS_OPENDIR, 9434 CVS_CLOSEDIR, & CVS_READDIR in support of changes to handle VMS DEC C 9435 5.7 {open,read,close}dir problems. Check today's entry in the vms 9436 subdir for more. 9437 * filesubr.c: ditto 9438 * find_names.c: ditto 9439 * ignore.c: ditto 9440 * import.c: ditto 9441 * lock.c: ditto 9442 * update.c: ditto 9443 94442001-02-02 Larry Jones <larry.jones@sdrc.com> 9445 9446 * error.h: Changed include guard macro from _error_h_ to ERROR_H; 9447 names beginning with underscore are reserved. 9448 * login.c (password_entry_parseline, password_entry_operation, 9449 password_entry_operation_e, password_entry_operation_t): Removed 9450 leading underscore(s). 9451 (password_entry_parseline): Corrected error messages. 9452 (password_entry_operation): Fixed uninitialized variable (password). 9453 (login): Removed unused variable (found_password). 9454 9455 * rtag.c (rtag_proc): Call lock_tree_for_write() before calling 9456 start_recursion. This fixes a serious problem where do_recursion 9457 was reading and caching RCS files without any locks in place and 9458 that information was subsequently being used to rewrite the file 9459 causing any intermediate changes to be lost. 9460 (rtag_filesdoneproc): Defunct. 9461 (Reported by Karl Tomlinson <k.tomlinson@auckland.ac.nz>.) 9462 * tag.c (cvstag, tag_filesdoneproc): Ditto. 9463 * lock.c (lock_tree_for_write): Add which argument, change all 9464 callers to pass W_LOCAL. 9465 * rcs.h: Ditto. 9466 94672001-01-29 Derek Price <derek.price@openavenue.com> 9468 9469 * client.c (get_cvs_port_number): change the prototype to accept a 9470 const cvsroot_t * as input and add a FIXME comment 9471 * cvs.h: new prototypes for get_cvs_port_number & normalize_cvsroot 9472 * login.c (_password_entry_operation): consolidate all the ~/.cvspass 9473 access into a single new function which reads ~/.cvspass in a backwards 9474 compatible manner 9475 (logout): use the new _password_entry_operation function 9476 (login): ditto 9477 (get_cvs_password): ditto 9478 * root.c (normalize_cvsroot): move knowledge of default port & username 9479 values inside 9480 94812001-01-29 Larry Jones <larry.jones@sdrc.com> 9482 9483 * subr.c (shell_escape): New function. 9484 * cvs.h: Declare it. 9485 * logmsg.c (logfile_write): Use it to avoid problems with filenames 9486 containing "'". 9487 (Reported by Gerhard Ahuis <gerhard@ats.xs4all.nl>.) 9488 9489 * server.c (outbuf_memory_error, pserver_authenticate_connection, 9490 kserver_authenticate_connection): If available, use syslog() to 9491 record some errors. 9492 94932001-01-25 Larry Jones <larry.jones@sdrc.com> 9494 9495 * server.c (do_cvs_command): If there's a partial output line left 9496 over and the client doesn't support MT, go ahead and send it in an 9497 M response instead of just dropping it. 9498 (Reported by Milos Kleint <Milos.Kleint@netbeans.com>.) 9499 9500 * update.c (update_fileproc): Handle toss_local_changes in the 9501 T_NEEDS_MERGE case. 9502 (Inspired by Noel L Yap <yap_noel@jpmorgan.com>.) 9503 * sanity.sh (clean): New tests for above. 9504 95052001-01-23 Derek Price <derek.price@openavenue.com> 9506 9507 * run.c (run_exec): flush, if used, stderr and stdout before exit 9508 * server.c (cvs_flusherr): flush stderr & send a stderr flush command 9509 on the protocol pipe 9510 (cvs_flushout): like above, for stdout 9511 (do_cvs_command): handle flushes properly 9512 * sanity.sh (reserved): make the commitinfo script echo errors to 9513 stderr rather than stdin 9514 95152001-01-18 Larry Jones <larry.jones@sdrc.com> 9516 9517 * log.c (option_revlist, revlist, log_usage, cvslog, 9518 log_parse_revlist, log_expand_revlist, log_version_requested): Add 9519 support for :: for exclusive ranges. 9520 * admin.c (admin_usage): Reorder -o to be parallel to log -r. 9521 * sanity.sh (log): New tests for above. 9522 95232001-01-18 Derek Price <derek.price@openavenue.com> 9524 9525 * main.c: Add '2001' to the range of copyright years listed by the 9526 --version option 9527 * version.c.in (version): check current_parsed_root before its isremote 9528 member to avoid a core dump 9529 * sanity.sh (version): add a test for the version command 9530 9531 * version.c: regenerated 9532 95332001-01-12 Larry Jones <larry.jones@sdrc.com> 9534 9535 * rcs.c, rcs.h (RCS_lock, RCS_unlock): Use RCS_gettag to find the 9536 correct revision so that symbolic tags work correctly. (This 9537 requires removing the "const" from the rev parameter since it's 9538 passed to RCS_gettag which might modify it.) 9539 (Reported by irina sturm <irina.sturm@st.com>.) 9540 95412001-01-11 Larry Jones <larry.jones@sdrc.com> 9542 9543 * run.c (close_on_exec): Remove check for FD_CLOEXEC. As far as I 9544 can see, it's *never* been defined, which defeats the whole point. 9545 If F_SETFD is defined, it's probably safe to use it. 9546 9547 * server.c (do_cvs_command): Call close_on_exec on the protocol and 9548 flow control pipes in the child process so they don't get inherited 9549 by any subsidiary processes. 9550 (Reported by Tristan Gingold <tgi@netgem.com>.) 9551 9552 * cvs.h (free_cvsroot_t): Spell correctly (was free_CVSroot_t). 9553 95542001-01-10 Derek Price <derek.price@openavenue.com> 9555 Rex Jolliff <Rex_Jolliff@notes.ymp.gov> 9556 9557 * build_src.com: VMS changes 9558 * filesubr.c: replace calls to unlink() with CVS_UNLINK() for VMS 9559 * rcs.c: ditto 9560 95612001-01-10 Derek Price <derek.price@openavenue.com> 9562 9563 * main.c (current_root): explicitly list this as a static global 9564 95652001-01-10 Derek Price <derek.price@openavenue.com> 9566 9567 * cvs.h (get_cvs_port_number): change name & prototype from 9568 get_port_number 9569 * client.c (get_cvs_port_number): new function which returns a port 9570 number based on a cvsroot_t rather than requiring all possible sources 9571 passed in 9572 (connect_to_pserver): use new get_cvs_port_number function 9573 (connect_to_server): ditto 9574 * login.c (get_password): use new get_cvs_port_number function 9575 (login): ditto 9576 (logout): ditto 9577 95782001-01-10 Derek Price <derek.price@openavenue.com> 9579 9580 * Makefile.am ($(srcdir)/version.c): specify $(srcdir) for all subparts 9581 of the build since some systems don't allow mv's across partitions 9582 * Makefile.in: regenerated 9583 95842001-01-10 Derek Price <derek.price@openavenue.com> 9585 9586 * Makefile.am (version.c): specify $(srcdir) explicitly in target rule 9587 so version.c gets built properly for all makes. 9588 (version.o): specify $(srcdir)/version.c explicitly so dependency is 9589 found and built properly 9590 * Makefile.in: regenerated 9591 95922001-01-09 Derek Price <derek.price@openavenue.com> 9593 9594 * version.c: updated timestamp 9595 95962001-01-09 Larry Jones <larry.jones@sdrc.com> 9597 9598 * server.c (server): Change to server_temp_dir immediately after 9599 creating it so that any stray files that happen to be created go 9600 there instead of in the server's initial directory, wherever that 9601 may be. 9602 * sanity.sh (modules5-15): Update to match. 9603 9604 * version.c.in: Update to match Derek's change to version.c. 9605 96062001-01-09 Derek Price <derek.price@openavenue.com> 9607 9608 * cvs.h: Remove the various CVSroot_* bits and replace them with a 9609 single structure of type cvsroot_t (current_parsed_root) 9610 9611 * root.c (parse_cvsroot): return pointer to a new cvsroot_t rather than 9612 altering global variables 9613 (local_cvsroot): return a pointer to a new cvsroot_t rather than 9614 setting globals. changed the name of this function from 9615 set_local_cvsroot to better explain new functionality 9616 (new_cvsroot_t): new initializer function 9617 (free_cvsroot_t): new function 9618 (others): use current_parsed_root rather than the old CVSroot_* globals 9619 9620 * add.c: use current_parsed_root rather than the old CVSroot_* globals 9621 * admin.c: ditto 9622 * checkout.c: ditto 9623 * client.c: ditto 9624 * commit.c: ditto 9625 * create_adm.c: ditto 9626 * diff.c: ditto 9627 * edit.c: ditto 9628 * expand_path.c: ditto 9629 * find_names.c: ditto 9630 * history.c: ditto 9631 * ignore.c: ditto 9632 * import.c: ditto 9633 * lock.c: ditto 9634 * log.c: ditto 9635 * login.c: ditto 9636 * logmsg.c: ditto 9637 * main.c: ditto 9638 * mkmodules.c: ditto 9639 * modules.c: ditto 9640 * parseinfo.c: ditto 9641 * patch.c: ditto 9642 * rcs.c: ditto 9643 * recurse.c: ditto 9644 * release.c: ditto 9645 * remove.c: ditto 9646 * repos.c: ditto 9647 * rtag.c: ditto 9648 * server.c: ditto 9649 * status.c: ditto 9650 * tag.c: ditto 9651 * update.c: ditto 9652 * version.c: ditto 9653 * watch.c: ditto 9654 * wrapper.c: ditto 9655 96562001-01-05 Derek Price <derek.price@openavenue.com> 9657 9658 * cvs.h (enum CVSmethod): add null_method 9659 * root.c (method_names): correlate null_method & "undefined" 9660 (parse_cvsroot): make two error cases non fatal 9661 * sanity.sh (crerepos-6b): account for new error message, re above 9662 96632001-01-05 Derek Price <derek.price@openavenue.com> 9664 9665 * src/Makefile.am (cvsbug, cvsbug_EXTRA_DIST, EXTRA_DIST): move cvsbug 9666 target to configure.in - see ../ChangeLog for more 9667 * src/cvsbug.in: Rename from cvsbug.sh 9668 * src/cvsbug.sh: Rename to cvsbug.in 9669 96702001-01-04 Larry Jones <larry.jones@sdrc.com> 9671 9672 * Makefile.am (cvsbug): Explicitly list input file ($< is only 9673 valid in inference rules). 9674 * Makefile.in: Ditto. 9675 96762001-01-04 Derek Price <derek.price@openavenue.com> 9677 9678 * sanity.sh: use getopts rather than getopt for portability reasons 9679 96802001-01-03 Derek Price <derek.price@openavenue.com> 9681 9682 * Makefile.am (remotecheck): depend on 'all' 9683 * Makefile.in: regenerated 9684 96852000-12-29 Derek Price <derek.price@openavenue.com> 9686 9687 * sanity.sh: remove explicit "$@" from last checkin and move the 'do' 9688 to the line following the 'for'. Apparently this is more portable. 9689 96902000-12-29 Derek Price <derek.price@openavenue.com> 9691 9692 * sanity.sh: make "$@" explicit in 'for' statement since Solaris 5.6's 9693 implementation of Bourne shell doesn't seem to implement this default 9694 behavior. 9695 96962000-12-27 Derek Price <derek.price@openavenue.com> 9697 9698 * sanity.sh: add a -f option for continuing from a particular test 9699 and shorten --keep to -k so we can use the getopt function. 9700 97012000-12-27 Derek Price <derek.price@openavenue.com> 9702 9703 * Makefile.am (remotecheck): Make remotecheck dependant on all 9704 * Makefile.in: regenerated 9705 97062000-12-26 Derek Price <derek.price@openavenue.com> 9707 9708 * Makefile.in: update timestamp 9709 * stamp-h2.in: ditto 9710 * version.c: ditto 9711 97122000-12-26 Derek Price <derek.price@openavenue.com> 9713 9714 * Makefile.am: new target for version.c 9715 (EXTRA_DIST): add version.c.in & version.c so builds work when 9716 configure doesn't 9717 * Makefile.in: Regenerated 9718 * stamp-h2.in: update timestamp 9719 * version.c: ditto 9720 97212000-12-26 Derek Price <derek.price@openavenue.com> 9722 9723 * Makefile.am (INCLUDES): add zlib 9724 * Makefile.in: Regenerated 9725 97262000-12-22 Derek Price <derek.price@openavenue.com> 9727 9728 * Makefile.am (DISTCLEANFILES): added a few files 9729 (INCLUDES): commented 9730 * Makefile.in: Regenerated 9731 97322000-12-21 Derek Price <derek.price@openavenue.com> 9733 9734 * .cvsignore: Added .deps directory and a new stamp file 9735 * Makefile.am: New file needed by Automake 9736 * Makefile.in: Regenerated 9737 * stamp-h2.in: New stamp file created by Automake 9738 * version.c.in: use configure to generate version.c 9739 97402000-12-16 Derek Price <derek.price@openavenue.com> 9741 9742 * server.c (server_update): Keep the vers structure up to date after 9743 sending a Remove or Remove-entry command to the client 9744 * update.c (update): remove call to server_updated() after 9745 scratch_file() 9746 (scratch_file): in server mode, call server_updated(), otherwise keep 9747 the vers structure up to date 9748 (join_file): add a trace, save the revision to Register() on a remove 9749 before calling server_scratch & server_updated 9750 * sanity.sh (join): Add test for a remove/add caused by an update 9751 to a new branch and a join in the same step. 9752 97532000-12-15 Larry Jones <larry.jones@sdrc.com> 9754 9755 * error.c (error): Add %ld and %lu. 9756 9757 * history.c: Change hrec.idx from int to long, reformat NEXT_BAR 9758 for readability, add hrec_idx. 9759 (fill_hrec): Change initialization to be portable and always set 9760 idx so it can be used as a line number in error messages; improve 9761 parsing and error checking. 9762 (read_hrecs): Initialize hrec_idx, handle embedded NULs, warn about 9763 no newline at end of file. 9764 (select_hrec): Add basic validity checking. 9765 97662000-12-07 Larry Jones <larry.jones@sdrc.com> 9767 9768 * history.c (history): Allow multiple -m options as documented. 9769 97702000-11-29 Derek Price <derek.price@openavenue.com> 9771 9772 * root.c (parse_cvsroot): back out yesterday's redundant changes 9773 * main.c (main): fix CVSROOT trace message to look like other trace 9774 messages 9775 * sanity.sh (multiroot2-9): expect new trace message 9776 97772000-11-28 Derek Price <derek.price@openavenue.com> 9778 9779 * root.c (parse_cvsroot): add trace on this function 9780 * client.c (get_port_number): make trace print look like others 9781 97822000-11-16 Derek Price <derek.price@openavenue.com> 9783 9784 * filesubr.c (cvs_temp_file): back out the previous change in the 9785 interests of portability, add an assertion, and fix the header comment 9786 97872000-11-16 Derek Price <derek.price@openavenue.com> 9788 9789 * filesubr.c (cvs_temp_file): refine the exit behavior to notice if 9790 the out param was passed in NULL and, if so, avoid setting it and delete 9791 the temp file for later 9792 97932000-11-16 Derek Price <derek.price@openavenue.com> 9794 9795 * filesubr.c (cvs_temp_file): fixed a garble or two, added some 9796 additional error checking, and added a comment 9797 97982000-11-15 Derek Price <derek.price@openavenue.com> 9799 9800 * filesubr.c (cvs_temp_file): added cvs_temp_file 9801 function to use mkstemp rather than one of the other temp file 9802 generators as gcc keeps complaining I should. 9803 (cvs_temp_name): altered this function to simply wrap cvs_temp_file 9804 and deprecated it 9805 * cvs.h: added prototype for cvs_temp_file 9806 * commit.c (commit): use the new function instead of the old and plug 9807 an old (though related) memory leak. 9808 * import.c (import): use the new function 9809 * login.c (login): Ditto 9810 * logmsg.c (do_editor, do_verify): Ditto 9811 * patch.c (patch_fileproc): Ditto 9812 98132000-11-14 Larry Jones <larry.jones@sdrc.com> 9814 9815 * update.c, update.h (do_update): Add xdotemplate parameter. 9816 Change all callers. 9817 (update_dirent_proc): Use dotemplate for Create_Admin, not 1. 9818 * checkout.c (checkout_proc): Don't create CVS/Template if 9819 exporting. 9820 (Reported by Andrey Podkolzin <mdh@zenon.net>.) 9821 98222000-11-08 Larry Jones <larry.jones@sdrc.com> 9823 9824 * admin.c (admin): Use getgroups() to check for membership in 9825 CVS_ADMIN_GROUP if it exists. In any event, check the user's 9826 primary group in addition to any additional groups. 9827 (Reported by Thomas Okken <TOkken@refco.com>.) 9828 98292000-11-06 Jim Meyering <meyering@lucent.com> 9830 9831 Compile with gcc's -Wformat and fix the exposed problems. 9832 * root.c (parse_cvsroot) [! HAVE_KERBEROS]: Provide an argument 9833 for the %s error format spec. 9834 [! HAVE_GSSAPI]: Likewise. 9835 (normalize_cvsroot): Put comment delimiters around token after `#endif'. 9836 98372000-11-03 Larry Jones <larry.jones@sdrc.com> 9838 9839 * sanity.sh: Some versions of sed require a space between -e and 9840 the value. 9841 98422000-10-27 Larry Jones <larry.jones@sdrc.com> 9843 9844 * checkout.c (checkout): Don't check for a safe location if just 9845 cat'ing the module database. 9846 (Reported by Ilya Martynov <m_ilya@agava.com>.) 9847 Have -s set cat as well as status; it simplifies the code. 9848 98492000-10-26 Larry Jones <larry.jones@sdrc.com> 9850 9851 * sanity.sh (join-admin-2): Check output from all commands instead 9852 of (mostly) discarding. (Some of the tests used to produce stray 9853 output in remote mode.) 9854 9855 * sanity.sh (dotest_line_by_line): Handle empty lines in pattern 9856 (expr doesn't distingish between successfully matching nothing 9857 and failing to match anything). 9858 9859 * sanity.sh (dotest_internal): Rearrange and use elif to simplify. 9860 98612000-10-24 Jim Meyering <meyering@lucent.com> 9862 9863 Fix a bug, introduced with my fix of 2000-07-10, whereby -kk would 9864 sometimes be ignored for some of the files involved in an update. 9865 9866 * update.c (join_file): Restore the original value of `options' 9867 right after calling checkout_file. 9868 * sanity.sh (join-admin-2): New test for this. 9869 98702000-10-23 Derek Price <derek.price@openavenue.com> 9871 James Youngman <jay@gnu.org> 9872 9873 * sanity.sh: it's /gnu/bin, not /gun/bin. Thanks go to James Youngman 9874 <jay@gnu.org> for the bug report and patch. 9875 98762000-10-20 Jim Kingdon <http://sourceforge.net/users/kingdon/> 9877 9878 * server.c (switch_to_user): Set CVS_USER. Patch from Sudish 9879 Joseph and popularized by dozens (e.g. mozilla.org, also others). 9880 98812000-10-20 Derek Price <derek.price@openavenue.com> 9882 KOIE Hidetaka <hide@koie.org> 9883 9884 * root.c (normalize_cvsroot): plug a memory leak. Thanks to 9885 KOIE Hidetaka <hide@koie.org> 9886 98872000-10-18 Derek Price <derek.price@openavenue.com> 9888 9889 * client.c (connect_to_pserver): added a close brace the lack of which 9890 was preventing compilation when gssapi was enabled. Removed a 9891 redundant check for HAVE_KERBEROS. 9892 98932000-10-18 Derek Price <derek.price@openavenue.com> 9894 9895 * root.c (normalize_cvsroot): removed references to free_port_s and the 9896 now useless call to free now that port_s is on the stack. Thanks to 9897 Jon Miner. 9898 98992000-10-18 Derek Price <derek.price@openavenue.com> 9900 9901 * root.c (normalize_cvsroot): remove calls to snprintf for 9902 compatibility with M$ Windoze. 9903 99042000-10-18 Derek Price <derek.price@openavenue.com> 9905 9906 * sanity.sh (crerepos-6a, crerepos-6a-r): fix a "?" in a regex & pipe 9907 the output of a test to /dev/null since we don't know what error 9908 messages specific rsh implementations will output. 9909 99102000-10-17 Derek Price <derek.price@openavenue.com> 9911 9912 * cvs.h: added CVSroot_password variable. Provided prototypes for 9913 get_port_number & normalize_cvsroot. 9914 * client.c (get_port_number): Fixed an ANSI prototype I had included 9915 for get_port_number. 9916 * login.c (login, logout): Removed two checks for a non-null 9917 CVSroot_username since parse_cvsroot now supplies a default in pserver 9918 mode. allow for a password in CVSROOT 9919 (get_cvs_passsword): return CVSroot_password if it was supplied 9920 in the CVSROOT. 9921 * root.c (parse_cvsroot): Changed CVSROOT spec from 9922 :method:user@host/port:/cvsroot to 9923 :method:[[user][:password]@]host[:[port]]/cvsroot 9924 Removed the xstrdup function since we'd rather have the error checking 9925 from the version in subr.c anyhow. Moved some error messages which 9926 looked like they would print the wrong error message after a failed 9927 connect_to_gserver call. 9928 (normalize_cvsroot): return a normalized CVSROOT for use in the 9929 .cvspass file. 9930 * sanity.sh (crerepos-6): fix a test which was expecting an old error 9931 message. 9932 9933 * client.c (connect_to_pserver): Moved some error messages which looked like they 9934 would print the wrong error message after a failed connect_to_gserver 9935 call. 9936 9937 * login.c (login): Paranoiacly zero a password in memory. 9938 99392000-10-12 Derek Price <derek.price@openavenue.com> 9940 9941 * client.c (auth_server_port_number -> get_port_number, start_pserver, 9942 start_tcp_server): use a port specified in CVSROOT instead of the 9943 default port. Failing that, use the CVS_CLIENT_PORT environment 9944 variable. 9945 * cvs.h: Added global CVSroot_port & renamed auth_server_port_number. 9946 * root.c (parse_cvsroot): Parse the new CVSROOT format properly. 9947 Incidentally reformated some error messages for uniformity and 9948 readability. 9949 * sanity.sh (crerepos): fix two tests which were now expecting the 9950 wrong error message. 9951 99522000-10-11 Larry Jones <larry.jones@sdrc.com> 9953 9954 * server.c (pserver_authenticate_connection): Fix stupid mistake 9955 in previous change. 9956 99572000-10-11 Derek Price <derek.price@openavenue.com> 9958 9959 * main.c (main): Dispose old CVSroot when parsing a '-d' option if 9960 free_CVSroot is set. 9961 * root.c (parse_cvsroot): remove references to 'cvsroot_parsed', a 9962 static boolean I expect hasn't been used since CVS learned to handle 9963 multiple CVSROOTs. 9964 99652000-10-10 Larry Jones <larry.jones@sdrc.com> 9966 9967 * server.c (print_error): Make up a message if strerror fails. 9968 9969 * server.c (pserver_authenticate_connection): Give a real error 9970 message for an invalid repository. 9971 99722000-10-06 Derek Price <derek.price@openavenue.com> 9973 9974 * add.c (add): Made quiet mode affect some warning messages as seemed 9975 appropriate. Specifically, some of the messages which a user might 9976 want to ignore so they don't have to be quite so specific on the 9977 command line: files added twice, files already in the repository and 9978 check out properly (i.e. but picked up by 'cvs add *'), & files which 9979 are readded in place of a dead revision or onto a branch. '-q' will 9980 not change the non-zero exit code for the cases where at least one 9981 passed in file name was already in the Entries file. There seems to 9982 be a precedent in remove.c. 9983 * remove.c (cvsremove): switched the "use cvs ci to make these changes 9984 permanent message" to only print w/o '-Q' to match the new behavior of 9985 add. This seems appropriate as '-Q' is defined to restrict messages 9986 to critical errors. 9987 * sanity.sh (adderrmsg): Added some tests for the above behavior. 9988 99892000-10-05 Larry Jones <larry.jones@sdrc.com> 9990 9991 * client.c (call_in_directory): Create CVSADM directory if it doesn't 9992 exist in the directory. This makes client/server work more like 9993 standalone when checking out into an existing (non-CVS) directory. 9994 * sanity.sh (dirs2, conflicts3, toplevel): Update to match. 9995 99962000-10-03 Larry Jones <larry.jones@sdrc.com> 9997 9998 * filesubr.c (get_homedir): Ignore $HOME when running in server mode. 9999 100002000-10-02 Larry Jones <larry.jones@sdrc.com> 10001 10002 * cvs.h: Define (and use) T_PATCH as a valid file classification 10003 even when SERVER_SUPPORT isn't defined -- it simplifies the code. 10004 * classify.c (Classify_File): Ditto. 10005 * commit.c (check_fileproc): Ditto. 10006 * status.c (status_fileproc): Ditto. 10007 * update.c (update_fileproc): Ditto. 10008 * tag.c (check_fileproc): Accept T_PATCH in addition to T_CHECKOUT. 10009 * sanity.sh (tagc-10): Update to match. 10010 100112000-09-29 Larry Jones <larry.jones@sdrc.com> 10012 10013 * client.c (get_responses_and_close): Reset server_fd to -1 after 10014 shutting down. 10015 (Reported by Joerg Thoennes <Joerg.Thoennes@data-sciences.de>.) 10016 100172000-09-27 Larry Jones <larry.jones@sdrc.com> 10018 10019 * commit.c (commit): Don't sleep before returning in server mode, 10020 just let the client do it. 10021 * update.c (do_update): Ditto. 10022 10023 * sanity.sh (find_tool): Correct method of checking for GNU tools. 10024 10025 * checkout.c (checkout_proc): Match up user directories with 10026 repository directories instead of using Emptydir. 10027 * sanity.sh (cvsadm, emptydir): Update to match. 10028 100292000-09-19 Larry Jones <larry.jones@sdrc.com> 10030 10031 * version.c: Push version number to 1.11.0.1. 10032 10033 * version.c: Version 1.11. 10034 100352000-09-07 Larry Jones <larry.jones@sdrc.com> 10036 10037 * Makefile.in: Use @bindir@, @libdir@, @infodir@, and @mandir@ 10038 from autoconf. 10039 100402000-08-23 Larry Jones <larry.jones@sdrc.com> 10041 10042 * mkmodules.c (init): Create an empty val-tags file if it doesn't 10043 already exist to avoid problems with users not having sufficient 10044 permissions to create it later. 10045 100462000-09-06 Jim Kingdon <jkingdon@dhcp-net200-89.su.valinux.com> 10047 10048 * main.c (lookup_command_attribute): Add "release" to commands 10049 which can be done by a read-only user. 10050 100512000-08-23 Larry Jones <larry.jones@sdrc.com> 10052 10053 * repos.c (Name_Repository): Use pathname_levels to detect attempts 10054 to get above the repository instead of checking for leading .. 10055 which isn't reliable. 10056 * sanity.sh (multiroot3-12 to multiroot3-15): New tests for above. 10057 100582000-08-21 Larry Jones <larry.jones@sdrc.com> 10059 10060 * rcs.c (expand_keywords): Handle the unusual case of log == NULL. 10061 (Reported by Craig Metz <cmetz@inner.net>.) 10062 100632000-08-01 Larry Jones <larry.jones@sdrc.com> 10064 10065 * subr.c (pathname_levels): Fix bug that miscounts adjacent 10066 slashes. 10067 (Patch submitted by Tanaka Akira <akr@m17n.org>.) 10068 10069 * loginc.c (login): If available, use getpassphrase instead of 10070 getpass to support long passwords on Solaris. 10071 100722000-07-28 Larry Jones <larry.jones@sdrc.com> 10073 10074 * server.c (server_noop): Avoid do_cvs_command() overhead. 10075 (requests): Make noop RQ_ROOTLESS. 10076 100772000-07-27 Noel Cragg <noel@red-bean.com> 10078 10079 * root.c (parse_cvsroot): change fork method to behave like other 10080 remote methods -- let the server check that the repository 10081 directory is an absolute pathname. 10082 100832000-07-27 Larry Jones <larry.jones@sdrc.com> 10084 10085 * lock.c (set_lock): Include actual lock directory in error message. 10086 * sanity.sh (multiroot3-10): Change to match. 10087 10088 * sanity.sh (client-3): Allow for a potential "broken pipe". 10089 100902000-07-26 Larry Jones <larry.jones@sdrc.com> 10091 10092 * commit.c (commit_filesdoneproc): Flush stdout before running script. 10093 * modules.c (do_module): Ditto. 10094 * update.c (update_dirleave_proc): Ditto. 10095 * server.c (do_cvs_command): Give input from the protocol pipe 10096 precedence over input from stdout/stderr. There's no particularly 10097 good justification for this other than helping to avoid out-of-order 10098 messages in sanity.sh. 10099 10100 * admin.c (admin_usage): Add the supported options. 10101 10102 * sanity.sh (info): Try to avoid out-of-order messages. 10103 10104 * sanity.sh (info): Fix problems when running twice in a row. 10105 101062000-07-17 Larry Jones <larry.jones@sdrc.com> 10107 10108 * sanity.sh (modules5-7, cvsadm-1e, emptydir-2): Allow for a nil 10109 commit (can happen if the test is run twice in a row). 10110 101112000-07-19 Pavel Roskin <proski@gnu.org> 10112 and Larry Jones <larry.jones@sdrc.com> 10113 10114 * mkmodules.c (config_contents): Add a commented out example for 10115 LockDir. Don't suggest PreservePermissions unless it's enabled. 10116 101172000-07-17 Larry Jones <larry.jones@sdrc.com> 10118 10119 * login.c (get_cvs_password): Handle malformed ~/.cvspass more 10120 gracefully. 10121 101222000-07-12 Larry Jones <larry.jones@sdrc.com> 10123 10124 * sanity.sh (modules5): New tests for module programs. 10125 101262000-07-11 Larry Jones <larry.jones@sdrc.com> 10127 10128 * filesubr.c (copy_file, xcmp): Handle systems (like Plan 9) that 10129 don't support mknod() and/or st_rdev. 10130 * import.c (add_rcs_file): Ditto. 10131 * rcs.c (RCS_checkout, RCS_checkin): Ditto. 10132 * update.c (special_file_mismatch): Ditto. 10133 101342000-07-10 Larry Jones <larry.jones@sdrc.com> 10135 10136 * zlib.c (gunzip_and_write): Fix type clashes. 10137 10138 * main.c (main): Remove unused variables. 10139 101402000-07-10 Jim Meyering <meyering@lucent.com> 10141 10142 When a command like `cvs update -kk -jT1 -jT2' creates a new file 10143 (because it had the T2 tag, but not T1), the subsequent commit of 10144 that just-added file would effectively set the admin `-kk' option 10145 for that file in the repository. 10146 10147 * update.c (join_file): Rename global-shadowing local `options' 10148 to `t_options'. 10149 Set file-scoped global `options' to NULL just before 10150 check-out. 10151 * sanity.sh (join-admin): New test for this. 10152 101532000-07-08 Larry Jones <larry.jones@sdrc.com> 10154 10155 * version.c, cvs.h (version): New function. 10156 * main.c (cmds[]): Add version command to invoke it. 10157 (main): Also use it in -v. 10158 * server.c (serve_version): New function. 10159 (requests[]): Add version command to invoke it. 10160 101612000-07-06 Karl Fogel <kfogel@red-bean.com> 10162 10163 * sanity.sh (pserver-14): remove this test for portability 10164 reasons (it was only recently added for the 2000-07-04 change). 10165 101662000-07-06 Larry Jones <larry.jones@sdrc.com> 10167 10168 sanity.sh (modules-148): Don't test for specific revisions. 10169 10170 * main.c (main): Catch SIGABRT to try to clean up after assertion 10171 failures. Don't bother SIG_register'ing Lock_Cleanup because 10172 main_cleanup calls it indirectly anyway. 10173 * patch.c (patch): Catch SIGABRT. 10174 * rcs.c (rcs_internal_lockfile): Ditto. 10175 * server.c (server): Ditto. 10176 10177 * fileattr.c (fileattr_write): Don't delete the unrecog_head list 10178 when writing... 10179 (fileattr_free): Delete it when freeing! 10180 101812000-07-05 Larry Jones <larry.jones@sdrc.com> 10182 10183 * admin.c (admin): Handle -t in client so reading from files works 10184 correctly in client/server mode. 10185 * sanity.sh (log2): Update to match. 10186 101872000-07-04 Karl Fogel <kfogel@red-bean.com> 10188 10189 * server.c (pserver_authenticate_connection): use new 10190 getline_safe() during authentication phase, to avoid a 10191 denial-of-service attack in which client sends arbitrary 10192 amounts of data with no newlines. 10193 (Reported by <jpmg@eng.cam.ac.uk>.) 10194 10195 * sanity.sh: new test pserver-14 for above. 10196 10197 * myndbm.c: #include getline.h. 10198 (mydbm_load_file): pass new GETLINE_NO_LIMIT flag to getstr(). 10199 102002000-07-03 Larry Jones <larry.jones@sdrc.com> 10201 10202 * sanity.sh (modules): Rewrite using dotest. Add "modules-" 10203 prefix to test names. 10204 102052000-06-28 Larry Jones <larry.jones@sdrc.com> 10206 10207 * error.c (error_exit): Call rcs_cleanup () to release any rcs locks. 10208 * rcs.c, rcs.h (rcs_cleanup): Make public, close file before trying 10209 to remove (some systems won't remove open files). 10210 (RCS_putdtree): Don't worry about cleaning up before call error 10211 since it now does it for us. 10212 (rcs_internal_lockfile, rcs_internal_unlockfile): Keep track of 10213 lock file fd for rcs_cleanup (). 10214 10215 * client.c (handle_set_checkin_prog, handle_set_update_prog): 10216 Just ignore the request when exporting. 10217 102182000-06-27 Larry Jones <larry.jones@sdrc.com> 10219 10220 * create_adm.c, cvs.h (Create_Admin): Add dotemplate argument. 10221 Change all callers. 10222 * checkout.c (checkout_proc): Don't create CVS/Template if 10223 exporting. 10224 102252000-06-26 Pavel Roskin <proski@gnu.org> 10226 and Larry Jones <larry.jones@sdrc.com> 10227 10228 * server.c (switch_to_user): Only set CVS_Username if 10229 AUTH_SERVER_SUPPORT is defined. 10230 102312000-06-23 Larry Jones <larry.jones@sdrc.com> 10232 10233 * client.c (send_dirent_proc): Don't allocate ignlist if you're 10234 going to skip the directory (plugs memory leak). 10235 (send_dirleave_proc): New function. 10236 (send_files): Use it (plugs memory leak). 10237 * root.c (root_allow_free): Plug memory leaks. 10238 * server.c (serve_directory, serve_notify, check_password, 10239 pserver_authenticate_connection): Ditto. 10240 * update.c (update): Ditto. 10241 10242 This completes the memory leak shoot-out -- the Purify'ed version 10243 of CVS now runs the entire test suite, both local and remote (except 10244 for remote crerepos, which causes Purify to choke) with *no* memory 10245 leaks. 10246 10247 * server.c (pserver_authenticate_connection): Don't free null pointer. 10248 102492000-06-21 Larry Jones <larry.jones@sdrc.com> 10250 10251 * client.c (update_entries, get_responses_and_close): Plug memory leaks. 10252 * commit.c (find_fileproc, commit): Ditto. 10253 * import.c (import): Ditto. 10254 * log.c (cvslog): Ditto. 10255 * recurse.c (start_recursion): Ditto. 10256 * remove.c (cvsremove): Ditto. 10257 * server.c (fd_buffer_initialize, server_notify, do_cvs_command): Ditto. 10258 (fd_buffer_shutdown): New function. 10259 102602000-06-20 Larry Jones <larry.jones@sdrc.com> 10261 10262 * root.c (parse_cvsroot): Put the terminating NUL byte into the 10263 string *before* copying it, not after. :-( 10264 102652000-06-19 Larry Jones <larry.jones@sdrc.com> 10266 10267 * main.c (main): Plug memory leaks. 10268 * root.c (parse_cvsroot, set_local_cvsroot): Ditto. 10269 * server.c (serve_root): Ditto. 10270 102712000-06-16 Larry Jones <larry.jones@sdrc.com> 10272 10273 * fileattr.c (fileattr_read): Plug memory leak. 10274 * rcs.c (RCS_whatbranch): Ditto. 10275 * update.c (update_dirleave_proc): Ditto. 10276 10277 * ignore.c (ign_dir_add): Duplicate string so caller can free. 10278 10279 * modules.c (do_module): Don't write into dbm's memory! 10280 102812000-06-15 Larry Jones <larry.jones@sdrc.com> 10282 10283 * checkout.c (checkout_proc): Fix non-ANSI code in call to 10284 findslash(), minor cleanups. 10285 102862000-06-14 Larry Jones <larry.jones@sdrc.com> 10287 10288 * tag.c (val_direntproc): Return R_PROCESS instead of 0. 10289 10290 * client.c (update_entries): Fix type clash calling gunzip_and_write(). 10291 * server.c (receive_file): Fix type clash calling gunzip_and_write(). 10292 (server_updated): Fix type clash calling buf_output(). 10293 * error.c (error): Make buf char instead of unsigned char to avoid 10294 type clashes. 10295 10296 * modules.c (do_module): Change callback_proc to pass argc by 10297 value instead of by reference: callback procs shouldn't be 10298 messing with the callers argc/argv, it makes correct memory 10299 management impossible. Plug memory leaks. 10300 * cvs.h: Change to match. 10301 * checkout.c (checkout_proc): Ditto; use a local argv array instead 10302 of messing with caller's. 10303 * modules.c (callback_proc): Ditto. 10304 * patch.c (patch_proc): Ditto; use a local argv array instead 10305 of messing with caller's. 10306 * rtag.c (rtag_proc): Ditto; use a local argv array instead 10307 of messing with caller's. 10308 * server.c (expand_proc): Ditto. 10309 * subr.c (line2argv): Change initial argv_allocated back to 1. 10310 10311 * checkout.c (findslash): Fix non-ANSI code. 10312 10313 * sanity.sh (modes3): Fix test names. 10314 103152000-06-13 Larry Jones <larry.jones@sdrc.com> 10316 10317 * add.c (add): Plug memory leaks. 10318 * admin.c (admin_fileproc): Ditto. 10319 * checkout.c (build_dirs_and_chdir): Ditto. 10320 * edit.c (editors_fileproc): Ditto. 10321 * log.c (cvslog, log_parse_revlist, log_parse_date): Ditto. 10322 * rcs.c (RCS_addaccess): Ditto. 10323 * tag.c (check_fileproc): Ditto. 10324 * vers_ts.c (Version_TS): Ditto. 10325 * watch.c (watchers_fileproc): Ditto. 10326 103272000-06-12 Larry Jones <larry.jones@sdrc.com> 10328 10329 * rcs.c (rcsbuf_valword): Set rcsbuf->vlen to keep rcsbuf_valcopy() 10330 from allocating more memory than needed for @ strings. Don't declare 10331 unless PRESERVE_PERMISSIONS_SUPPORT (since not defined). 10332 10333 * rcs.c (RCS_abandon): New function to abandon changes. 10334 * rcs.h: Declare it. 10335 * admin.c (admin_fileproc): Use it instead of RCS_reparsercsfile. 10336 10337 * commit.c (commit_fileproc): Fix memory leaks. 10338 * patch.c (patch_fileproc): Ditto. 10339 * rcs.c (RCS_nodeisbranch, RCS_copydeltas): Ditto. 10340 * tag.c (tag_fileproc): Ditto. 10341 * update.c (update): Ditto. 10342 103432000-06-09 Larry Jones <larry.jones@sdrc.com> 10344 10345 * rcs.c (RCS_reparsercsfile, RCS_fully_parse, getdelta, 10346 RCS_getdeltatext): Handle newphrases with composite values. 10347 (rcsbuf_getkey): Don't remove @s in composite values -- it makes 10348 it impossible to parse the value! Set special flag to indicate 10349 a composite value. 10350 (rcsbuf_valcopy, rcsbuf_valpolish_internal): Handle composite values. 10351 (putrcsfield): Write composite values. 10352 (RCS_checkin): Set node types in other_delta list. 10353 * hash.h: Add RCSCMPFLD. 10354 * hash.c (nodetypestring): Ditto. 10355 10356 * rcs.c (getdelta): Never allocate space for value, just return 10357 pointer into rcsbuf (fixes memory leaks). Use rcsbuf_getkey to 10358 read a key and value and then parse the value if needed rather 10359 than trying to read it in bits and pieces with rcsbuf_getid, 10360 rcsbuf_getstring, and rcsbuf_getword. 10361 (RCS_reparsercsfile): Change callers to compensate. 10362 (rcsbuf_valcmp, rcsbuf_valword): New functions. 10363 (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): Deleted. 10364 * sanity.sh (rcs3-1): Now get slightly different error message. 10365 103662000-06-08 Larry Jones <larry.jones@sdrc.com> 10367 10368 * main.c (usg): Update CVS home page URL. 10369 10370 * main.c (main): Provide an actual error message for an unknown 10371 command in addition to the usage message. 10372 103732000-06-07 Larry Jones <larry.jones@sdrc.com> 10374 10375 * server.c (serve_root, dirswitch, serve_repository, 10376 serve_static_directory, serve_sticky, receive_partial_file, 10377 receive_file, serve_modified, server_write_entries, serve_notify, 10378 serve_checkin_prog, serve_update_prog, server): Don't set 10379 pending_error before calling alloc_pending, it makes it fail; 10380 use alloc_pending instead of malloc when reasonable; be sure to 10381 save errno before calling functions that might change it. 10382 (Patch submitted by Dietmar Petras <dietmar.petras@elsa.de>.) 10383 103842000-06-03 Larry Jones <larry.jones@sdrc.com> 10385 10386 * commit.c (checkaddfile): Plug memory leak. 10387 * rcs.c (RCS_checkin): Plug memory leaks. 10388 * server.c (do_cvs_command): Plug file descriptor leaks. 10389 * tag.c (check_fileproc): Plug memory leak. 10390 103912000-05-26 Larry Jones <larry.jones@sdrc.com> 10392 10393 * recurse.c (unroll_files_proc): Plug memory leak. 10394 10395 * recurse.c (addfile): Fix nonportable pointer cast. 10396 10397 * rcs.c (rcsbuf_getstring, rcsbuf_getword, getdelta): Plug memory 10398 leaks. 10399 104002000-05-25 Larry Jones <larry.jones@sdrc.com> 10401 10402 * checkout.c (checkout, build_one_dir, checkout_proc): Move m_type 10403 to file scope and use it instead of continually doing strcmp on 10404 command_name. 10405 (build_one_dir, checkout_proc): Don't allow export if CVSADM 10406 directory already exists. 10407 104082000-05-23 Larry Jones <larry.jones@sdrc.com> 10409 10410 * rcs.c (RCS_checkin, RCS_cmp_file): Plug memory leaks. (Patch 10411 submitted by Chris G. Demetriou <cgd@sibyte.com>.) 10412 104132000-05-20 Ian Lance Taylor <ian@zembu.com> 10414 10415 * client.c (connect_to_gserver): Handle server error messages 10416 reasonably. 10417 104182000-05-19 Larry Jones <larry.jones@sdrc.com> 10419 10420 * server.c (requests): Make Global_option RQ_ROOTLESS so it can be 10421 used with init. 10422 104232000-05-18 Larry Jones <larry.jones@sdrc.com> 10424 10425 * client.c (start_server): Don't do encryption, authentication, 10426 compression, or case insensitivity when doing init because init 10427 is ROOTLESS and they're not. 10428 10429 * client.c (connect_to_pserver): Include repository and username in 10430 authorization failed message -- if a directory tree crosses multiple 10431 repositories, it can be quite difficult for the user to figure out 10432 which one is the problem. 10433 104342000-05-17 Larry Jones <larry.jones@sdrc.com> 10435 10436 * main.c (main): Use full set of options when looking for -f to 10437 avoid misparsing options that take values (previously, -sVAR=foo 10438 was incorrectly parsed as though it were -s -V -A -R -= -f -o -o 10439 because it didn't know that -s takes a value). 10440 * sanity.sh (info-6b): New test for above. 10441 10442 * sanity.sh (conflicts-status): Fix tests so they work remotely, too. 10443 104442000-05-17 Jim Meyering <meyering@lucent.com> 10445 10446 * sanity.sh (TESTDIR): Fix braino in last change: 10447 cd to /tmp before invoking pwd. 10448 10449 * sanity.sh: Set TESTDIR so that `make check' passes even when /tmp 10450 is a symlink. 10451 (join-36): Use $TESTDIR rather than hard-coding `/tmp/cvs-sanity'. 10452 (conflicts-132): Remove unnecessary `rm aa'. 10453 104542000-05-16 Jim Kingdon <kingdon@redhat.com> 10455 10456 * cvs.h, checkout.c (safe_location): Make extern. 10457 * import.c (import): Call it rather than reimplementing 10458 (incompletely) the same check. 10459 104602000-05-16 Larry Jones <larry.jones@sdrc.com> 10461 10462 * rcs.h, subr.c (file_has_markers): Check for any of the three 10463 conflict marker lines, not just one. 10464 * sanity.sh (conflicts-status): New tests for above. 10465 * sanity.sh: Revise to avoid tripping the above check when merging 10466 changes into sanity.sh itself. 10467 104682000-05-15 Larry Jones <larry.jones@sdrc.com> 10469 10470 * update.c (join_file): When registering the result of the merge, 10471 make sure that the version number is valid (vers->vn_rcs may be 10472 null if the file doesn't exist on the branch yet). (Patch submitted 10473 by Robert de Vries <rhdv@rhdv.cistron.nl>.) 10474 * update.c (join_file): Correct diagnostics (previous change was not 10475 correct -- the file *does* exist in the specified revision, it just 10476 doesn't exist in the sandbox). 10477 * sanity.sh (import-113, join): New tests and changes for above. 10478 104792000-05-04 Larry Jones <larry.jones@sdrc.com> 10480 10481 * sanity.sh: Look for a useful id program. Since we're getting 10482 the real username for some tests anyway, use it for all the 10483 tests instead of a generic regular expression that may or may 10484 not match the actual username. 10485 104862000-05-04 Larry Jones <larry.jones@sdrc.com> 10487 10488 * server.c: More error messages. 10489 104902000-05-02 Donald Sharp <sharpd@cisco.com> 10491 and Larry Jones <larry.jones@sdrc.com> 10492 10493 * history.c (report_hrecs): Added code to print out year instead of 10494 just month/day. 10495 * sanity.sh (basic2-64, history): Update to match. 10496 104972000-04-19 Larry Jones <larry.jones@sdrc.com> 10498 10499 * server.c (dirswitch): Set pending_error_text in addition to 10500 pending_error to aid in problem determination. 10501 105022000-03-23 Larry Jones <larry.jones@sdrc.com> 10503 10504 * mkmodules.c (mkmodules): Return without doing anything if noexec 10505 is set to avoid trashing existing files. 10506 105072000-03-23 Larry Jones <larry.jones@sdrc.com> 10508 10509 * main.c: Alphabetize cmds[] and cmd_usage[] and add server 10510 commands to cmd_usage[]. 10511 105122000-03-21 Larry Jones <larry.jones@sdrc.com> 10513 10514 * sanity.sh (client-1): May get "Broken pipe" message from the 10515 "server" in addition to the expected output. 10516 105172000-03-17 Larry Jones <larry.jones@sdrc.com> 10518 10519 * server.c (switch_to_user): Set CVS_Username if it hasn't already 10520 been set elsewhere. (Patch submitted by Gordon Matzigkeit 10521 <gord@fig.org>). 10522 105232000-03-13 Larry Jones <larry.jones@sdrc.com> 10524 10525 * parseinfo.c: Add extern to logHistory declaration. (Reported by 10526 <John.Tytgat@aaug.net>.) 10527 (parse_config): Reformat logHistory code. 10528 105292000-03-10 Larry Jones <larry.jones@sdrc.com> 10530 10531 * add.c (add): Don't try to set cvsroot_len until after checking 10532 for help only -- CVSroot_directory isn't set in that case. 10533 105342000-03-03 Larry Jones <larry.jones@sdrc.com> 10535 10536 * mkmodules.c (init): Use mkdir_if_needed to create CVSROOT/Emptydir 10537 so we don't fail if run multiple times. (Reported by KOIE Hidetaka 10538 <hide@koie.org>.) 10539 * sanity.sh (1a): New test for above. 10540 105412000-03-02 Larry Jones <larry.jones@sdrc.com> 10542 10543 * main.c: Use identical #if's in the command table and the code 10544 for pserver and kserver to prevent "peculiar" configurations from 10545 having really perverse behavior because the command table entries 10546 are present but the related code isn't. 10547 105482000-03-01 Larry Jones <larry.jones@sdrc.com> 10549 10550 * import.c (import): Don't allow importing the repository. 10551 * sanity.sh (errmsg2-20, errmsg2-21): New tests for above. 10552 105532000-03-01 Larry Jones <larry.jones@sdrc.com> 10554 10555 * main.c (main): Update year in copyright message. 10556 105572000-03-01 Larry Jones <larry.jones@sdrc.com> 10558 10559 * logmsg.c (do_editor): Correct previous change. 10560 105612000-02-29 Larry Jones <larry.jones@sdrc.com> 10562 10563 * logmsg.c (do_editor): When reading temp file, check that message 10564 buffer is large enough to hold the next line and expand if needed. 10565 105662000-02-28 Larry Jones <larry.jones@sdrc.com> 10567 10568 * commit.c (commit): Use get_file() to read log file correctly 10569 and in text mode rather than binary mode. 10570 10571 * subr.c (get_file): Ignore bufsize if buf is NULL. Include 10572 terminating NUL byte when estimating required buffer size. 10573 105742000-02-28 Larry Jones <larry.jones@sdrc.com> 10575 10576 * sanity.sh (find_tool): New function to replace duplicated code. 10577 105782000-02-25 Larry Jones <larry.jones@sdrc.com> 10579 10580 * import.c (add_rcs_file): Don't abort just because lstat fails. 10581 105822000-02-16 Jim Meyering <meyering@lucent.com> 10583 10584 Avoid race condition whereby a catchable signal could 10585 end up corrupting the repository. 10586 * commit.c (checkaddfile): Put a critical section around the code 10587 that handles the first commit on the trunk of a file that's already 10588 been committed on a branch. 10589 * cvs.h (Sig_inCrSect): Declare new function. 10590 105912000-02-21 Karl Fogel <kfogel@red-bean.com> 10592 10593 * main.c (main): still check for repository, but not history file 10594 (correction to 2000-02-18 change -- that's what I get for 10595 believing the comment rather than the code). 10596 105972000-02-21 K.J. Paradise <kj@sourcegear.com> 10598 10599 * history.c mkmodules.c parseinfo.c: control which actions 10600 get logged to the cvs history file via CVSROOT/config file 10601 and LogHistory keyword. (John P Cavanaugh <cavanaug@sr.hp.com>) 10602 106032000-02-18 Karl Fogel <kfogel@red-bean.com> 10604 10605 * history.c (history_write): don't die if history file not 10606 writable, just warn (unless `really_quiet') and skip out. 10607 10608 * main.c (main): don't bother checking if history file is 10609 writable. 10610 10611 * server.c (serve_root): same. 10612 106132000-02-17 Larry Jones <larry.jones@sdrc.com> 10614 10615 * sanity.sh (perms symlinks symlinks2 hardlinks): Don't run by 10616 default since PreservePermissions code is now disabled. 10617 106182000-02-17 Larry Jones <larry.jones@sdrc.com> 10619 10620 * sanity.sh (import-113): Revise to match Jim Meyering's fix. 10621 106222000-02-16 Larry Jones <larry.jones@sdrc.com> 10623 10624 * add.c (add): Don't allow adding files or directories to Emptydir. 10625 (Patch submitted by Chris Cameron <chris.cameron@ot.co.nz>.) 10626 * sanity.sh (emptydir): Revise (emptydir-7 and emptydir-8) for this. 10627 106282000-02-16 Jim Meyering <meyering@lucent.com> 10629 10630 * update.c (join_file): Correct typo in diagnostic: 10631 change `file %s is present...' to `file %s is not present...'. 10632 106332000-02-10 Larry Jones <larry.jones@sdrc.com> 10634 10635 * parseinfo.c (Parse_Info): Treat matching lines with bad expansions 10636 as errors rather than just ignoring. 10637 106382000-02-10 Larry Jones <larry.jones@sdrc.com> 10639 10640 * edit.c (edit): Check for invalid characters in hostname and CurDir. 10641 (Reported by "Andrew S. Townley" <atownley@informix.com>.) 10642 * sanity.sh (devcom2): New tests for above. 10643 106442000-02-10 Larry Jones <larry.jones@sdrc.com> 10645 10646 * cvs.h: Always #include "server.h" to prevent compile errors when 10647 neither CLIENT_SUPPORT nor SERVER_SUPPORT is defined. 10648 (Reported by "Crow, Ian" <ian.crow@linklaters.com>.) 10649 * log.c (send_one, send_arg_list): Only define when CLIENT_SUPPORT 10650 is defined to prevent link errors. 10651 10652 * server.c (server): Always create a new temporary directory, don't 10653 try to reuse an existing one since we might not have correct 10654 permissions. Also, include directory name in error messages. 10655 106562000-01-29 Jim Kingdon <http://developer.redhat.com/> 10657 10658 * ignore.c (ignore_files): Correctly set errno to 0 when we go 10659 back to the top of the loop. Fixes spurious errors like "cvs 10660 update: error reading current directory: No such file or 10661 directory". 10662 106632000-01-26 Larry Jones <larry.jones@sdrc.com> 10664 10665 * run.c (run_exec): Conditionalize K.J.'s change so that it only 10666 applies when SETXID_SUPPORT is defined since some platforms don't 10667 have setegid(). 10668 106692000-01-26 Larry Jones <larry.jones@sdrc.com> 10670 10671 * sanity.sh: Make TESTDIR earlier then use it to check for versions 10672 of expr that don't work right with long expressions. 10673 10674 * sanity.sh (dotest_line_by_line): Have wc read from stdin so it 10675 doesn't output the file name and confuse expr. Make the output a 10676 bit less verbose and easier to read. 10677 106782000-01-24 K.J. Paradise <kj@sourcegear.com> 10679 10680 * run.c :> prevents a user from creating a privileged shell from the 10681 text editor when the SETXID_SUPPORT option is selected. This came from 10682 Bob Colle <bcolle@ilx.com>, and is his completely. 10683 106842000-01-22 Jim Kingdon <http://developer.redhat.com/> 10685 10686 * sanity.sh (emptydir): Add a case in which one might hope for a 10687 non-Emptydir result, but which result? 10688 106892000-01-18 Larry Jones <larry.jones@sdrc.com> 10690 10691 * main.c (main): Allow -z0 to disable gzip compression. 10692 106932000-01-17 Larry Jones <larry.jones@sdrc.com> for 10694 K.J. Paradise (kj@sourcegear.com) 10695 10696 * version.c: Push version number to 1.10.8.1. 10697 10698 * version.c: Version 1.10.8. 10699 107002000-01-17 Larry Jones <larry.jones@sdrc.com> 10701 10702 * mkmodules.c (init): Create CVSROOT/Emptydir to avoid problems 10703 with users not having sufficient permissions to create it later. 10704 107052000-01-04 Larry Jones <larry.jones@sdrc.com> 10706 10707 * client.c (get_responses_and_close): Simplify time-stamp race 10708 avoidance code. 10709 * commit.c (commit): Ditto. 10710 * update.c (do_update): Ditto. 10711 (Prompted by patch submitted by Pavel Roskin 10712 <pavel_roskin@geocities.com>.) 10713 10714 * hardlink.c: sizeof (char) is 1, by definition. 10715 * logmsg.c: Ditto. 10716 * rcs.c: Ditto. 10717 107182000-01-03 Karl Fogel <kfogel@red-bean.com> 10719 10720 * filesubr.c, subr.c (backup_file): moved this function from 10721 filesubr.c to subr.c, at JimK's suggestion. 10722 107232000-01-03 Jim Kingdon <http://developer.redhat.com/> 10724 10725 * sanity.sh (clean): Test the contents of the .#cleanme.txt.1.1 10726 file, not just its existence. 10727 107282000-01-03 Karl Fogel <kfogel@red-bean.com> 10729 10730 * cvs.h, filesubr.c (backup_file): use `const' for suffix too; 10731 correct suffix length calculation and appending behavior; discard 10732 unnecessary `void' cast. Thanks to Jim Meyering for noticing. 10733 107342000-01-03 Larry Jones <larry.jones@sdrc.com> 10735 10736 * sanity.sh (clean): Fix up expected output. 10737 107382000-01-02 John P Cavanaugh <cavanaug@sr.hp.com> 10739 and Karl Fogel <kfogel@red-bean.com> 10740 10741 New -C option to update: overwrites local changes with clean 10742 copies from the repository. (This is an unreversion of the 10743 1999-12-10 change, further modified to work remotely.) 10744 10745 * client.h (BACKUP_MODIFIED_FILES): new #define. 10746 10747 * client.c (struct send_data): new element `backup_modified'. 10748 (send_files): set above element if BACKUP_MODIFIED_FILES flag is 10749 present. 10750 10751 * filesubr.c (backup_file): new function. 10752 10753 * cvs.h: prototype for new function `backup_file'. 10754 10755 * update.c (toss_local_changes): new file-scoped global. 10756 (update): set toss_local_changes if -C flag seen. If 10757 client_active, send "-C" to server, and set SEND_NO_CONTENTS and 10758 BACKUP_MODIFIED_FILES flags before calling send_files(). 10759 10760 (update_fileproc): if file is modified and toss_local_changes is 10761 set, then back the file up and then check out a fresh copy from 10762 the repository. Also, fixed indentation and formatting for a 10763 particularly bad stretch of code near (but unrelated to) these 10764 changes. 10765 10766 * sanity.sh: new test `clean', for update -C option. 10767 107681999-12-29 Jim Kingdon <http://developer.redhat.com/> 10769 10770 * history.c (read_hrecs): st_blksize is unsigned long, not int. 10771 This isn't just cosmetic - getting it wrong will cause coredumps 10772 and such on 64 bit machines. 10773 10774 * import.c (import_descend), ignore.c (ignore_files): Placate gcc 10775 -Wall by parenthesizing foo || (bar && baz). 10776 107771999-12-24 Larry Jones <larry.jones@sdrc.com> 10778 10779 * release.c (release): Use fputs to echo lines from update instead 10780 of printf to avoid problems with lines containing "%". (Reported 10781 by Jean-Luc Simard <Jean-Luc.Simard@matrox.com>.) 10782 10783 * history.c (read_hrecs): Allocate a single 2-block buffer instead 10784 of allocating and freeing a buffer for each block. 10785 (fill_hrec): Remove redundant code. 10786 (select_hrec): Plug memory leak. 10787 107881999-12-22 Larry Jones <larry.jones@sdrc.com> 10789 10790 * history.c (history): For "modified" or "checkout", sort on 10791 file if user specified -l, even if user also specified a date- 10792 oriented flag. 10793 * sanity.sh (history): Update to match; add new tests. 10794 107951999-12-15 Pavel Roskin <pavel_roskin@geocities.com> 10796 and Larry Jones <larry.jones@sdrc.com> 10797 10798 * lock.c (lock_name): fixed assertion failure for the 10799 top-level CVS directory when LockDir is used 10800 * sanity.sh (lockfiles-9): new test for this case 10801 108021999-12-11 Karl Fogel <kfogel@red-bean.com> 10803 10804 * Revert previous change -- it doesn't work remotely yet. 10805 108061999-12-10 John P Cavanaugh <cavanaug@sr.hp.com> 10807 and Karl Fogel <kfogel@red-bean.com> 10808 10809 * update.c: new -C option to update, overwrites local changes with 10810 clean copies from the repository. 10811 Also, fixed indentation and formatting for a particularly bad 10812 stretch of code near these changes in update_fileproc(). 10813 10814 * sanity.sh: test new update -C option. 10815 108161999-12-10 Larry Jones <larry.jones@sdrc.com> 10817 10818 * commit.c (remove_file): Call history_write with update_dir NULL 10819 like Checkin() does for add and modify. 10820 * sanity.sh (basic2-64): Update to match, add "R" records to expected 10821 remote output. 10822 108231999-12-09 K.J. Paradise (kj@sourcegear.com) 10824 10825 * history.c, commit.c, sanity.sh: found (I think) final 10826 cause of seg fault in history command. Also, added the "R" 10827 history functionality. Fixed basic2-64 so it looks correct for 10828 the change. 10829 108301999-11-30 K.J. Paradise (kj@sourcegear.com) 10831 10832 * history.c: fixed seg fault caused by 11-03 changes. 10833 off by one in block memory allocations. 10834 108351999-11-29 Karl Fogel <kfogel@red-bean.com> 10836 10837 * login.c (logout): free `tmp_name' when done. 10838 Correct a comment. 10839 108401999-11-29 Larry Jones <larry.jones@sdrc.com> 10841 10842 * cvs.h, error.c, import.c: Rename fperror to avoid name clash 10843 on LynxOS. (Reported by Markus Braun <MarkusBraun@gmx.de>.) 10844 108451999-11-23 Larry Jones <larry.jones@sdrc.com> 10846 10847 * checkout.c (checkout_proc): Split declaration and initialization 10848 of rp to placate neurotic compilers that gripe about jumping past 10849 an initialization, even when the variable is not subsequently used. 10850 108511999-11-19 Larry Jones <larry.jones@sdrc.com> 10852 10853 * server.c (switch_to_user): Correct setgid error messages. 10854 108551999-11-19 Karl Fogel <kfogel@red-bean.com> 10856 10857 * edit.c (unedit_usage, unedit): new struct, use it. Now "cvs 10858 unedit" prints an accurate usage message (formerly it printed the 10859 message for "cvs edit", even though the two commands do not have 10860 identical usages). 10861 108621999-11-19 Larry Jones <larry.jones@sdrc.com> 10863 10864 * history.c: Move -e documentation from Flags to Reports. 10865 (history): Add -e to list of report types in error message. 10866 10867 * history.c (history): Process file arguments before client/server 10868 processing so they get sent to the server. 10869 * sanity.sh (history): New tests for above. (Also remove comments 10870 about variable spacing -- history output is in variable-width 10871 columns with exactly one space between.) 10872 108731999-11-19 Larry Jones <larry.jones@sdrc.com> 10874 10875 * sanity.sh: Reestablish check for running as root (using ``id -u'' 10876 instead of ``whoami''). 10877 10878 * sanity.sh(dotest, dotest_lit, dotest_fail, dotest_status, 10879 dotest_sort): Eval the command so quoting and pipes work right. 10880 (spacefiles, dirs, rcslib, modules, unedit-without-baserev, 10881 ignore, rcs, rcs2, history, tagdate, pserver, server, server2) 10882 Simplify various tests based on above. 10883 108841999-11-19 Karl Fogel <kfogel@red-bean.com> 10885 10886 * mkmodules.c (init): make history file world-writeable after 10887 creating it, since it needs to be writeable for virtually any 10888 CVS operation. 10889 108901999-11-10 Jim Kingdon <http://developer.redhat.com/> 10891 10892 * admin.c: Revert change to add -H command option. The help 10893 invocation is "cvs -H admin" not "cvs admin -H" (see cvs.texinfo, 10894 basicb-21 in sanity.sh; fix to cvs.1) 10895 108961999-11-08 Jim Kingdon <http://developer.redhat.com/> 10897 10898 * log.c (cvslog): If client_active, send options to the server 10899 based on our parsed options rather than trying to send the exact 10900 strings specified (using canonical forms, like RFC822/1123 10901 dates, in the protocol is just cleaner). 10902 (send_one, send_arg_list): New functions, helpers for above. 10903 * sanity.sh (logopt-6a): New test, for this fix. 10904 109051999-11-09 K.J. Paradise <kj@sourcegear.com> 10906 10907 * admin.c: made the -H option do what it is documented to 10908 do. a 10909 109101999-11-08 Tom Tromey <tromey@cygnus.com> 10911 10912 * client.c (connect_to_gserver): Print more error text if gssapi 10913 initialization fails. From Assar Westerlund <assar@sics.se>. 10914 109151999-11-06 Larry Jones <larry.jones@sdrc.com> 10916 10917 *sanity.sh(rcs3-5): Remote output can be out-of-order, so need a 10918 more general pattern to match the assertion failure. 10919 109201999-11-05 K.J. Paradise (kj@sourcegear.com) 10921 10922 * history.c: Added a trap to verify that if a 10923 read(file, buffer,blocksize) returns less than blocksize, 10924 that we really are at the end of the file. I can't easily 10925 come up with a test case where this code gets touched, so 10926 it may cause problems. All sanity tests still pass though. 10927 109281999-11-05 Jim Kingdon <http://developer.redhat.com/> 10929 10930 * sanity.sh (logopt): New test, for Larry's fix. 10931 * sanity.sh (log-18a, rcs-15 to rcs-19): New tests, to test -d 10932 and -r more thoroughly. 10933 109341999-11-05 Larry Jones <larry.jones@sdrc.com> 10935 10936 * log.c (cvslog): Fix -s and -d with spaces on client side. 10937 (log_usage): Revert Karl's change once again. 10938 sanity.sh(rcs3-5): No longer get different results from local 10939 and client/server. 10940 109411999-11-04 Karl Fogel <kfogel@red-bean.com> 10942 10943 * log.c (log_usage): Revert Jim Kingdon's reversion of my change 10944 of 1999-11-03. Allowing a space between option and argument 10945 results in lossage; here is a reproduction recipe: run this from 10946 the top of a remote copy of the cvs source tree 10947 10948 cvs log -d '>1999-03-01' > log-out.with-space 10949 10950 and then run this (note there's no space after -d now): 10951 10952 cvs log -d'>1999-03-01' > log-out.no-space 10953 10954 The resulting files differ; furthermore, a glance at the output of 10955 cvs shows that the first command failed to recurse into 10956 subdirectories. Until this misbehavior can be fixed in the source 10957 code, the documentation should reflect the true state of affairs: 10958 if one simply omits the space, everything works fine. 10959 109601999-11-04 Jim Kingdon <http://developer.redhat.com/> 10961 10962 * log.c (log_usage): Revert Karl's change regarding -d and 10963 -s. A space is allowed (see sanity.sh for example). 10964 109651999-11-03 K.J. Paradise (kj@sourcegear.com> 10966 10967 * history.c: cleaned up my prior change a bit, per Larry Jones' 10968 comments, and John O'Conner's additional comments about bits of 10969 non MS-Visual C++ compliancy of my code. 10970 109711999-11-04 Larry Jones <larry.jones@sdrc.com> 10972 10973 * sanity.sh: Check that tr that correctly handles NULs; if not, try 10974 to find a version that does; if none can be found, warn user. 10975 Also fix warnings for defective expr. 10976 109771999-11-04 Karl Fogel <kfogel@red-bean.com> 10978 10979 Changes for empty/random passwords in anon pserver access: 10980 10981 * server.c (check_repository_password): if password empty, grant 10982 access no matter what password is received; this is so anon CVS no 10983 longer requires a password but remains backwards-compatible with 10984 all those clients out there. 10985 10986 * client.c (connect_to_pserver): proceed with login even if 10987 password not found in .cvspass file -- just use empty string as 10988 password. And if such a login fails, print a descriptive error. 10989 10990 * login.c (get_cvs_password): don't complain if file or password 10991 not found. That condition is no longer a showstopper, now that 10992 empty passwords are permissible. 10993 Cleaned up conditional chaining a bit, too. 10994 10995 * sanity.sh (pserver-9, pserver-10, pserver-11, pserver-12, 10996 pserver-13): new tests, about empty-password pserver access. 10997 109981999-11-03 K.J. Paradise (kj@sourcegear.com> 10999 11000 * history.c: modify parsing routines to parse the history 11001 file a block at a time, rather than all at once. This allows 11002 people with large history files and small amount of memory 11003 to still get some functionality out of the history file. 11004 110051999-11-03 Karl Fogel <kfogel@red-bean.com> 11006 11007 * log.c (log_usage): correct usage message for -d and -s options. 11008 Because the space between the option letter and its argument has 11009 been eliminated, I capitalized the argument portion to distinguish 11010 it from the option letter. This makes it slightly inconsistent 11011 with other such usage summaries, but at least it is now both 11012 correct and readable. 11013 110141999-10-22 Larry Jones <larry.jones@sdrc.com> 11015 11016 * sanity.sh (dotest_sort): Old versions of tr don't understand \t 11017 so use a literal tab instead. 11018 110191999-10-21 Larry Jones <larry.jones@sdrc.com> 11020 11021 * sanity.sh (dotest_sort): Convert any tabs in the output into spaces 11022 before sorting to avoid POSIX.2 sort weirdness. 11023 (import-106, importb-2): Change expected output per above. 11024 110251999-10-18 K.J. Paradise <kj@sourcegear.com> 11026 11027 Bug: users 'stan' and 'cartman' both have full read/write access 11028 to the cvs repository. 'cartman' does a 'cvs admin -l foo.c'. 11029 'stan' then does a 'cvs admin -u foo.c'. The lock wouldn't be 11030 removed, and no warning/error would be given. This is now fixed. 11031 * rcs.c:(c.6157) remove caller/user check on the multiple lock 11032 detection routines. Sanity.sh runs with no errors after this fix. 11033 110341999-10-14 Larry Jones <larry.jones@sdrc.com> 11035 11036 Make "cvs admin -e" (with no list of users) work: 11037 * admin.c (admin): Remove error message. 11038 (admin_fileproc): If no args for -e, call RCS_delaccess with NULL user. 11039 * rcs.c (RCS_delaccess): Interpret NULL user as request to delete 11040 entire access list. 11041 * sanity.sh (admin-19a-*): Test. 11042 110431999-09-29 Larry Jones <larry.jones@sdrc.com> 11044 11045 * entries.c (Subdirs_Known): Use entfilename when opening CVSADM_ENTLOG 11046 like everywhere else. Although this isn't strictly necessary (since 11047 we immediately close it again), it keeps the code consistent and fixes 11048 a bug where an open error reported the wrong file name. 11049 110501999-09-16 Larry Jones <larry.jones@sdrc.com> 11051 11052 * log.c (log_parse_revlist): Handle peculiar revision specs like 11053 "-r.", "-r:", and "-r," correctly. (Thanks to Pavel Roskin 11054 <pavel_roskin@geocities.com> for submitting a patch, this fix is 11055 somewhat different.) 11056 * sanity.sh (log): New tests for above. 11057 110581999-09-15 Larry Jones <larry.jones@sdrc.com> 11059 11060 * sanity.sh (basica-8b1): New test to check fix for bad diff options 11061 causing cvs to crash. 11062 110631999-09-02 Larry Jones <larry.jones@sdrc.com> 11064 11065 * modules.c (do_module): Handle case where module definition has 11066 options and special options but no directory; fix potential problems 11067 running off beginning of string while stripping trailing blanks. 11068 * sanity.sh (modules2): New tests for above. 11069 110701999-08-26 Larry Jones <larry.jones@sdrc.com> 11071 11072 * lock.c (lock_name): Remove side-effects from assert() expression 11073 since they won't occur if NDEBUG is defined (not that that's a good 11074 thing to do). (Reported by KOIE Hidetaka <hide@koie.org>.) 11075 110761999-08-25 Larry Jones <larry.jones@sdrc.com> 11077 11078 * sanity.sh: Use "${AWK}" instead of "awk" to make it easier for 11079 people to use nawk/gawk/etc.; use an explicit "-print" with find 11080 since some older version don't assume it; rename tests to avoid 11081 duplicate importc-8. (Changes along these lines suggested by 11082 Chris Cameron <chris.cameron@ot.co.nz>.) 11083 110841999-08-24 Larry Jones <larry.jones@sdrc.com> 11085 11086 * commit.c (check_fileproc): Don't crash when a file has no 11087 repository, just treat it as unknown. (Reported by Stefaan 11088 Diericx <stefaan.diericx@argenta.be>.) 11089 * sanity.sh (errmsg2): New tests, for this fix. 11090 110911999-08-18 Larry Jones <larry.jones@sdrc.com> 11092 11093 * update.c (special_file_mismatch): Initialize *_hardlinks to 11094 avoid trying to free garbage later on. (Reported by Jan 11095 Scheffczyk <herta@Xterminator.StudFB.UniBw-Muenchen.de>.) 11096 110971999-08-17 Larry Jones <larry.jones@sdrc.com> 11098 11099 * sanity.sh (basicc-11): Older versions of sh don't understand 11100 ``if ! test...''. (Patch submitted by David J N Begley 11101 <david@avarice.nepean.uws.edu.au>.) 11102 111031999-08-17 Larry Jones <larry.jones@sdrc.com> 11104 11105 * client.c, hardlink.c, hash.c, hash.h, main.c, recurse.c: Change 11106 enum constant UNKNOWN to avoid conflicts on HPUX 11.0. (Reported 11107 by Laurent Duperval <laurent.duperval@cgi.ca>.) 11108 111091999-08-16 Larry Jones <larry.jones@sdrc.com> 11110 11111 client.c: Eliminate redundant #if. (Patch submitted by Assar 11112 Westerlund <assar@sics.se>.) 11113 111141999-07-30 Larry Jones <larry.jones@sdrc.com> 11115 11116 * rcs.c (RCS_checkin): Terminate cleanly if RCS_addbranch fails 11117 rather than blithely continuing on and crashing. 11118 * sanity.sh (basica): New tests, for this fix. 11119 111201999-07-29 Larry Jones <larry.jones@sdrc.com> 11121 11122 * import.c (add_rcs_file): change "cannot lstat" message to include 11123 userfile (the actual file causing the problem) instead of user 11124 (which may or may not be the same). 11125 111261999-07-29 Eric Sink <eric@sourcegear.com> 11127 11128 * version.c: Push version number to 1.10.7.1. 11129 11130 * version.c: Version 1.10.7. 11131 111321999-07-28 Eric Sink <eric@sourcegear.com> 11133 11134 * sanity.sh: before running basicc-11, we need to see if 11135 the cwd has been deleted (by basicc-8). If so, we 11136 recreate it to allow basicc-11 to proceed. This may be 11137 something that only happens under the Linux 2.2 kernel. 11138 111391999-07-18 Karl Fogel <kfogel@floss.red-bean.com> 11140 11141 * edit.c (notify_do): chop newline, if any, from the value 11142 obtained from CVSROOT/users. Otherwise it just gets passed along 11143 in the argument to the notification program (usually mail), which 11144 will misinterpret it as signifying the end of the command. 11145 111461999-07-19 Larry Jones <larry.jones@sdrc.com> 11147 11148 * rcs.c (RCS_delete_revs): In the WIN32 kludge, be sure that the result 11149 of RCS_getexpand is not NULL before trying to use what it points to. 11150 (Patch submitted by Timothy L. Taylor <ttaylor@mitre.org>.) 11151 111521999-07-16 Tom Tromey <tromey@cygnus.com> 11153 11154 * admin.c (admin): Allow `-k' options to be used unrestricted. 11155 111561999-06-23 Jim Kingdon <http://www.cyclic.com> 11157 11158 * sanity.sh (symlinks2): New test, for symlinks in working 11159 directory without PreservePermissions. This test (modulo a few 11160 details not relevant to testing whether we are following symlinks) 11161 worked remote as of now, or either remote or local for CVS 1.9. 11162 * subr.c (get_file): Revert 1998-02-15 change to special-case 11163 symlinks. This makes the above test work local too. 11164 * rcs.c (RCS_checkin): Move the logic to handle special-case 11165 symlinks (and other files other than regular files) here, and make 11166 it only happen if PreservePermissions is on. 11167 111681999-06-18 Larry Jones <larry.jones@sdrc.com> 11169 11170 * sanity.sh (devcom3-9a): Be less specific about the expected 11171 error message (BSD/OS 4.0 has a bug that can cause exec* to fail 11172 with EACCES instead of ENOENT). 11173 111741999-06-08 Larry Jones <larry.jones@sdrc.com> 11175 11176 * sanity.sh (diff-4, dirs2-10, tagf-13, importc-7, conflicts2-142b8): 11177 Use ${PROG} instead of "cvs". 11178 111791999-06-05 Jim Kingdon <http://www.cyclic.com> 11180 11181 * recurse.c (do_recursion, do_dir_proc): Make the SERVER_ACTIVE 11182 #ifdef be only around the check for server_active. Modulo a few 11183 cosmetic tweaks, same as a patch submitted by Johannes Stezenbach 11184 of propack-data.de. 11185 111861999-06-01 Jim Kingdon <http://www.cyclic.com> 11187 11188 * sanity.sh: Add comment about rcs2-7 failures on certain days. 11189 11190 Make "cvs status -v" on a removed file work: 11191 * status.c (cvsstatus): Reindent the client code. 11192 (status_fileproc): Don't need a CVS/Entries listing to show the 11193 tags. 11194 * sanity.sh (rmadd2): New test rmadd2-16 tests the existing 11195 behavior with "cvs log"; new test rmadd2-17 tests the new behavior 11196 with "cvs status". 11197 11198 * sanity.sh (basicc): To match no output in dotest, put the empty 11199 regexp first. Remove tests which check that first-dir exists, 11200 since that isn't true in the case where the OS let us delete it. 11201 (dotest_internal): Fix so that things work with two regexps, with 11202 an empty one first. 11203 112041999-05-28 Larry Jones <larry.jones@sdrc.com> 11205 11206 * sanity.sh (server-4): Replace bogus directory with real one since 11207 the server now checks it. 11208 112091999-05-27 Jim Kingdon <http://www.cyclic.com> 11210 11211 * sanity.sh (spacefiles): Clean up -c, top, and -b at end. 11212 (spacefiles, files): Fix bad references to CVSROOT_DIRNAME. 11213 11214 Fix two problems pointed out by Olaf Kirch of swb.de/caldera.de: 11215 * server.c (outside_root): New function, contains expanded version 11216 of code from serve_directory. 11217 (serve_directory): Call outside_root. 11218 (outside_dir): New function 11219 (serve_modified, serve_is_modified, serve_notify, 11220 serve_questionable, serve_unchanged): Call outside_dir. 11221 * sanity.sh (server2): New tests, for these fixes. 11222 112231999-05-26 Jim Kingdon <http://www.cyclic.com> 11224 11225 * cvs.h, subr.c (xmalloc): Return void* not char*, like xrealloc 11226 has done for some time. 11227 * modules.c (do_module): If we find the module as a directory/file 11228 (rather than in the modules file), skip a bunch of processing 11229 which was unnecessary and also broken in most of the cases 11230 now tested for by the spacefiles sanity.sh test. 11231 * sanity.sh (spacefiles): New test, for specifying filenames 11232 (containing spaces, or starting with '-', or starting with '/') to 11233 "cvs co". 11234 112351999-05-25 Jim Kingdon <http://www.cyclic.com> 11236 11237 * client.c (update_entries): Make the old DONT_USE_PATCH code the 11238 only code. This means that if people are still on CVS 1.9 11239 servers, then CVS will fall back to transferring entire files. 11240 This is better than looking for an external "patch" program which 11241 causes no end of troubles (especially on Windows, but someone just 11242 posted to info-cvs about a problem with the Solaris patch). (This 11243 change was run by devel-cvs and feedback was positive). 11244 11245 * subr.c (xmalloc, xrealloc): The new error.c does not support 11246 %lu; use sprintf instead. 11247 112481999-05-25 Derek Price 11249 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11250 11251 * sanity.sh (server): Escaped a few more newlines in 11252 another awk script. Solaris awk still don't like 'em. 11253 112541999-05-25 Derek Price 11255 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11256 and Jim Kingdon 11257 11258 * log.c: Remove comment which said "you can delete [this line]" 11259 and which stuck around for over 3 years. 11260 * sanity.sh (errmsg2 & tagdate): Added tests to prove the 11261 current functionality with respect to combining -r and -D. 11262 112631999-05-20 Larry Jones <larry.jones@sdrc.com> 11264 11265 * server.c (pserver_authenticate_connection): Previous changes 11266 broke verify_and_exit (reported by Robert Fitzsimons, thanks). 11267 * sanity.sh (pserver): New tests pserver-7 and pserver-8 for this. 11268 112691999-05-18 Derek Price 11270 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11271 11272 * sanity.sh (keyword2): Escaped a newline in an awk script. 11273 Apparently Solaris awk don't like 'em. 11274 112751999-05-18 Jim Kingdon <http://www.cyclic.com> 11276 11277 * sanity.sh (basicc): Allow the behavior whereby unlink(".") 11278 succeeds. Reported by Jeremy Buhler and Pavel Roskin. 11279 112801999-05-17 Steve Cameron of Compaq 11281 11282 * sanity.sh: Modified to no longer use "test -e" for existence 11283 test as it has turned out to be not portable enough. Instead use 11284 "test -f", "test -d", etc. 11285 [SCO Unixware 7 apparently doesn't always support it -kingdon] 11286 112871999-05-17 Jim Kingdon <http://www.cyclic.com> 11288 11289 * version.c: Push version number to 1.10.6.1. 11290 11291 * version.c: Version 1.10.6. 11292 112931999-05-16 Jim Kingdon <http://www.cyclic.com> 11294 11295 * update.c (patch_file): When we are passing vn_rcs to 11296 RCS_checkout, pass vn_tag as well. 11297 * sanity.sh (keyword): In test keyword-22, test for the fixed 11298 behavior rather than the buggy behavior. Adjust keyword-23. Add 11299 test keyword-24, to see whether keyword-23 really worked. 11300 113011999-05-12 Larry Jones <larry.jones@sdrc.com> 11302 11303 * sanity.sh (pserver-4, pserver-5): Bogus error messages from 11304 non-root initgroups on some 4.4BSD derived systems now show up 11305 in different places in the output. 11306 113071999-05-12 Jim Kingdon <http://www.cyclic.com> 11308 11309 * import.c (import): Don't allow the user to supply a repository 11310 directory which takes us out of the cvsroot. 11311 * sanity.sh (importc): New tests importc-10 to importc-12, for this. 11312 113131999-05-11 Larry Jones <larry.jones@sdrc.com> 11314 11315 * server.c (serve_notify): Allocate enough memory to hold the 11316 "misformed Notify request" message in pending_error_text. 11317 113181999-05-11 Jim Kingdon <http://www.cyclic.com> 11319 11320 * server.c (switch_to_user): Ignore EPERM from initgroups. Fixes 11321 pserver-4 in testsuite. 11322 (pserver_authenticate_connection): Only print "I LOVE YOU" after 11323 switch_to_user has come back successfully. 11324 11325 * server.c (pserver_authenticate_connection): Call error_exit 11326 rather than reinventing the wheel ourselves. 11327 (switch_to_user): Check for errors from setuid, setgid, and 11328 initgroups. Fix the #ifdef's (the previous code would skip the 11329 setuid call if SETXID_SUPPORT). 11330 113311999-05-10 Jim Kingdon <http://www.cyclic.com> 11332 11333 * server.c (serve_notify), edit.c (notify_do): Check for 11334 and reject characters which will get confused with delimiters. 11335 * sanity.sh (server): New tests server-7 through server-15 test 11336 for this and for other notify behaviors. 11337 11338 * rcs.c (RCS_tag2rev): Also look for a physical branch with 11339 RCS_getversion. 11340 * sanity.sh (tagf): Adjust tagf-12 and following tests to test for 11341 the fixed behavior rather than the broken behavior. 11342 113431999-05-07 Jim Kingdon <http://www.cyclic.com> 11344 11345 * server.c (server_notify): Also set last_node to NULL. 11346 * sanity.sh (server): New tests server-6 and server-7, for this. 11347 113481999-05-05 Jim Kingdon <http://www.cyclic.com> 11349 11350 * rcs.c (rcs_internal_lockfile): Remove unused variable lockfile. 11351 11352 * add.c (add): Look for directories with the same name in a 11353 different case where appropriate (analogous to fopen_case). 11354 In client code, add comment about how this doesn't do quite 11355 everything. 11356 113571999-05-03 Jim Meyering <meyering@ascend.com> 11358 11359 Remove rcs-style ,file, lock files upon signal. 11360 * rcs.c (rcs_lockfile): New file-scoped global. 11361 (rcs_cleanup): New function (similar to patch_cleanup). 11362 (rcs_internal_lockfile): Register rcs_cleanup the first time this 11363 function is called. Rename uses of local `lockfile' to refer to new 11364 global, `rcs_lockfile'. Don't free the lock file name string, now 11365 that it's global. 11366 (rcs_internal_unlockfile): Rename `lockfile', as above, and carefully 11367 free and NULL-out the global, rcs_lockfile. 11368 113691999-04-30 Jim Kingdon <http://www.cyclic.com> 11370 11371 * rcs.c (annotate_fileproc): Don't cast NULL in passing it to 11372 RCS_deltas. Because there is a prototype in scope the cast is 11373 unnecessary (per HACKING's ANSI C or SunOS4 rule), and in fact it 11374 was causing failures on UNICOS because it cast to size_t instead 11375 of size_t*. (Thanks to Dean Kopesky for reporting this). 11376 113771999-04-29 Jim Kingdon <http://www.cyclic.com> 11378 11379 * sanity.sh: If invoked without any arguments, print a usage 11380 message (thanks to Pavel Roskin for a report/patch). 11381 11382 * run.c (piped_child): Make the error messages more verbose. 11383 (close_on_exec): Reindent. 11384 * sanity.sh (devcom3): Several errors are possible in devcom3-9a. 11385 Adjust for change to piped_child error message. 11386 113871999-04-28 Jim Kingdon <http://www.cyclic.com> 11388 11389 * sanity.sh (devcom3): Add some tests of the CVS/Notify file and 11390 disconnected "cvs edit". 11391 11392 * main.c (opt_usage): Remove -b. 11393 113941999-04-20 Derek Price 11395 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11396 11397 * rcs.c (RCS_delete_revs): RCS_delete_revs uses an 11398 RCS_checkout call to get a new copy of a revision to be 11399 used internally after old revisions were deleted and it was 11400 performing keyword substitutions. This munged all the 11401 the revisions of the file on the branch containing the 11402 deleted revisions and its sub-branches, as the original they 11403 were being patched from was incorrect. Corrected this by 11404 passing in "-ko" as an option to RCS_checkout. 11405 * sanity.sh (keywordlog): modified this test to verify the 11406 correct behavior of 'cvs admin -o'. 11407 [Fixed use of \$ in keywordlog test; added code in RCS_delete_revs 11408 to abort on binary file on Windows -kingdon] 11409 114101999-04-21 Derek Price 11411 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11412 and Jim Kingdon 11413 11414 * tag.c (tag_check_valid): A bug was causing CVS to spin 11415 indefinately when -j:<date> was specified. CVS now returns 11416 an error. 11417 * sanity.sh: Added a test (tagdate-12) to test this. 11418 114191999-04-19 Jim Kingdon <http://www.cyclic.com> 11420 11421 * sanity.sh (backuprecover): Clean up the repository at the end. 11422 114231999-04-18 Derek Price 11424 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11425 11426 * sanity.sh added a test (backuprecover) to test cvs behavior 11427 with a repository that is out of date relative to the 11428 developer's workspaces. 11429 [Fix --keep code; move test to "Repository Storage" section since 11430 it doesn't really exercise the diff/diff3 library. -kingdon] 11431 114321999-04-13 Derek Price 11433 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11434 11435 * sanity.sh (diff): Tests to verify correct operation of 11436 the --ifdef parameter to cvs diff. 11437 [indentation fixed -kingdon]. 11438 114391999-04-13 Derek Price 11440 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11441 for Noah Friedman <friedman@splode.com> 11442 11443 * diff.c (diff): Put "--ifdef=" in opts string, not "-D"; the 11444 latter is confused by pserver for a date spec. 11445 114461999-04-14 Jim Kingdon <http://www.cyclic.com> 11447 11448 * fileattr.h: Adjust comments to reflect the official version of 11449 the fileattr format now being in cvs.texinfo. 11450 114511999-04-05 Jim Kingdon 11452 11453 * sanity.sh (watch5): Remove nonstandard --keep code. Don't pass 11454 -f to rm when cleaning up (that tends to mask bugs). Add watch5 11455 to list of tests at start. Add comment explaining why we consider 11456 the behavior we test for the right one. Rename a few tests which 11457 had been erroneously named watch6* instead of watch5*. 11458 * client.c (update_entries): Add comment with brief discussion of 11459 whether there is a better way. 11460 114611999-04-05 Derek Price 11462 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11463 11464 * client.c (update_entries): Only call mark_up_to_date 11465 (which deletes the CVS/Base/<filename> file for watched 11466 and edited files) on commit. 11467 * sanity.sh: Make sure the CVS/Base/<filename> file for 11468 a watched and edited file is not removed on a status or 11469 update of a touched/unmodfied file. 11470 114711999-03-30 Larry Jones <larry.jones@sdrc.com> 11472 11473 * client.c (get_responses_and_close), commit.c (commit), 11474 update.c (do_update): If the sleep(1) call returns prematurely 11475 (due to the way wakeup is scheduled or receiving a signal), do 11476 it again. 11477 114781999-03-26 Jim Kingdon <http://www.cyclic.com> 11479 11480 * server.c (server): Add comment about Gzip-stream vs. RQ_ROOTLESS. 11481 11482 * sanity.sh (modules3-11b): Adjust exact text of error message to 11483 reflect 1999-03-24 change to dirswitch. 11484 114851999-03-25 Jim Kingdon <http://www.cyclic.com> 11486 11487 * admin.c (admin): Make argument to -e optional, to match the 11488 documentation. 11489 * sanity.sh (admin-19a-2): Test for this. 11490 11491 * server.c (serve_root): Update comment about checking for missing 11492 Root request. 11493 114941999-03-24 Jim Kingdon <http://www.cyclic.com> 11495 11496 * server.c (dirswitch): Also check dir here, similar to 11497 what server_pathname_check does for other cases. 11498 * sanity.sh (files): Adjust files-14 to test for this. 11499 115001999-03-24 Derek Price 11501 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11502 and Jim Kingdon 11503 11504 * sanity.sh: added a test (files-13) to test .. indirection 11505 in a path and another (files-14) to make sure we still fail 11506 out when the '..' indirection takes us into the $CVSROOT 11507 directory or beyond. 11508 115091999-03-24 Larry Jones <larry.jones@sdrc.com> 11510 11511 * rcs.c: Change enum constants ADD and DELETE to something less 11512 likely to run into conflicts. 11513 115141999-03-21 Jim Kingdon <http://www.cyclic.com> 11515 11516 * sanity.sh (tagf): New test, tests for moving a branch tag to a 11517 non-branch tag and trying to recover. 11518 115191999-03-12 Jim Kingdon <http://www.cyclic.com> 11520 11521 * sanity.sh (branches): Tweak test branches-5 to test the case in 11522 which one modifies a file and then branches it. 11523 115241999-03-09 John Bley of duke.edu 11525 11526 * mkmodules.c (filelist): Missed a NULL in this struct (should 11527 have 3 members, only had 2). 11528 115291999-03-07 Jim Kingdon <http://www.cyclic.com> 11530 11531 * sanity.sh (Index): Rename new test from rm_CVS/Root to rmroot 11532 (we don't have a formal rule about funky punctuation in test names 11533 but both underscore and a slash is too funky for me :-)). 11534 Reindent a few tests which were off. 11535 11536 * root.c: Remove the sentence which had the improper English; 11537 there isn't really a need for that sentence and it isn't 11538 particularly accurate any more. 11539 115401999-02-27 Derek Price 11541 <http://www-personal.engin.umich.edu/~oberon/resume.html> 11542 11543 * sanity.sh: Added rm_CVS/Root test to test that CVS uses 11544 $CVSROOT rather than dumping core when running remotely and 11545 the admin file CVS/Root is deleted from the workspace. 11546 11547 Also, altered a few 'cvs commit' 's in regular expressions to 11548 fit the .${PROG} commit. portability syntax. 11549 11550 * recurse.c: Stopped CVS from dumping core in the case tested 11551 above. 11552 11553 * root.c: Fixed somebody's improper english. 11554 115551999-02-25 Larry Jones <larry.jones@sdrc.com> 11556 11557 * sanity.sh (keyword2-12): Use ${QUESTION} instead of ? in the 11558 expected result. 11559 115601999-02-24 Jim Kingdon <http://www.cyclic.com> 11561 11562 * sanity.sh (keyword2): Restore the original \\\$ instead of $. 11563 The latter ends up working due to various kludgy semantics in the 11564 shell and regular expressions, but the former is cleaner. 11565 11566 * sanity.sh (keyword2): Protect keywords against accidental 11567 expansion in sanity.sh itself (most occurrences had this, but not 11568 all). 11569 115701999-02-23 Derek Price <http://www.cyclic.com> 11571 and Jim Kingdon. 11572 11573 * sanity.sh (keyword2): New test, tests for merging with -kk. 11574 115751999-02-22 Jim Kingdon <http://www.cyclic.com> 11576 11577 * version.c: Ease version number to 1.10.5.1. 11578 11579 * version.c: Version 1.10.5. 11580 115811999-02-18 Jim Kingdon <http://www.cyclic.com> 11582 11583 * sanity.sh (files): New test, for a relatively obscure spurious 11584 "Up-to-date check failed" in client/server. 11585 11586 * main.c (lookup_command_attribute): Don't check for "history" 11587 twice. 11588 115891999-02-17 Jim Kingdon <http://www.cyclic.com> 11590 and Hallvard B Furuseth 11591 11592 * root.c (parse_cvsroot): Rearrange ifdefs to squelch possible 11593 warnings about statement not reached. 11594 115951999-02-16 Jim Kingdon <http://www.cyclic.com> 11596 11597 * recurse.c (start_recursion): If we are skipping the current 11598 directory (due to it being from the wrong repository), also adjust 11599 the arguments we send to the server accordingly (like we already 11600 do for the case in which there is no CVS directory). 11601 * sanity.sh (multiroot4): New test, for this. All these tests had 11602 passed locally, but remote multiroot4-12 tests for this fix. 11603 (multiroot): Adjust multiroot-diff-1, multiroot-update-2, 11604 multiroot-tag-1, multiroot-status-1, multiroot-update-3, and 11605 multiroot-log-1 to reflect the cosmetic change this produces (one 11606 less "Diffing ." message). 11607 (multiroot2): multiroot2-8 likewise. 11608 116091999-02-10 Jim Kingdon <http://www.cyclic.com> 11610 11611 * tag.c (cvstag): Don't pass SEND_NO_CONTENTS if -c specified. 11612 * sanity.sh (tagc): New test, for various tag -c behaviors. 11613 Test tagc-6 tests for this fix. 11614 116151999-02-09 Jim Kingdon <http://www.cyclic.com> 11616 11617 * error.c (error): Rewrite to no longer use vasprintf (see 11618 ../lib/ChangeLog for rationale). Note the slight change in 11619 interface - callers which want %8.8s or similar formats need to 11620 call sprintf. 11621 * lock.c (lock_wait, lock_obtained): Use sprintf. 11622 116231999-02-08 Jim Kingdon <http://www.cyclic.com> 11624 11625 * rcs.c (RCS_delete_revs): Pass -a to diff_exec. 11626 * sanity.sh (binfiles3): New tests binfiles3-9 through 11627 binfiles3-13 test for this fix. 11628 * sanity.sh (binfiles): New tests binfiles-o4 and binfiles-o5 11629 (which don't test this bug, just on general principles). 11630 116311999-02-04 Jim Kingdon <http://www.cyclic.com> 11632 11633 * lock.c (lock_name): Permissions of directories in LockDir 11634 shouldn't depend on the umask. 11635 * sanity.sh (lockfiles): Set umask and CVSUMASK, to test for this. 11636 116371999-02-01 Jim Kingdon <http://www.cyclic.com> 11638 11639 * sanity.sh (keywordlog): New tests keywordlog-22 and 11640 keywordlog-23 test keyword expansion and $Log. Adjust other tests 11641 so that revisions differ more from each other, so this is a 11642 better test. 11643 116441999-01-29 Jim Kingdon <http://www.cyclic.com> 11645 11646 * commit.c (checkaddfile): If options is "", treat it the same as 11647 NULL. Centralize this check, and the one for it starting with 11648 "-k", at the start of the function. 11649 11650 * rcs.c, rcs.h (RCS_setexpand): New function. 11651 * admin.c (admin_fileproc): Access keyword expansion field via 11652 RCS_getexpand and RCS_setexpand, rather than directly. 11653 * commit.c (checkaddfile): When resurrecting, set the keyword 11654 expansion mode. 11655 * sanity.sh (binfiles3): Adjust tests binfiles3-7 and binfiles3-8 11656 for the new behavior. 11657 116581999-01-27 Jim Kingdon <http://www.cyclic.com> 11659 11660 * sanity.sh (multiroot3): Add new variant of multiroot3-10 test 11661 for RELATIVE_REPOS. Move multiroot3-11 test out of the 11662 conditionals; it works the same for remote or local, 11663 RELATIVE_REPOS or no. 11664 11665 * options.h.in: Make RELATIVE_REPOS the default, as has been 11666 announced as a future direction since 1997-10-11. 11667 * sanity.sh (multiroot): Tweak multiroot-update-1a and 11668 multiroot-update-1b tests to work with either RELATIVE_REPOS or 11669 non-RELATIVE_REPOS. 11670 11671 * sanity.sh (client-9): Don't assume the time zone. 11672 116731999-01-26 Jim Kingdon <http://www.cyclic.com> 11674 11675 Fix one facet of the "cvs add -kb" re-adding problem (the other 11676 known facet is tested for by binfiles3-8). 11677 * add.c (add): When re-adding a file, set the keyword expansion 11678 as we normally would. 11679 * sanity.sh (binfiles3): New test binfiles3-6a tests for this. 11680 116811999-01-22 Jim Kingdon <http://www.cyclic.com> 11682 11683 * sanity.sh (rmadd2): New tests, for undoing a commit. 11684 116851999-01-21 Eric Mumpower <nocturne@cygnus.com> 11686 11687 * sanity.sh (reposmv): Actually modify CVSROOT in current 11688 environment when calling functions, rather than trying to achieve 11689 the same effect with "CVSROOT=foo functionname". (Many common 11690 bourne shells, including those in SunOS and Solaris 2.4-2.7, 11691 do not properly handle "ENVVAR=foo command" when "command" is 11692 a user-defined shell function rather than an actual executable.) 11693 116941999-01-15 Jim Kingdon <http://www.cyclic.com> 11695 11696 * sanity.sh (rcs3): Redirect awk's stdin to /dev/null like all the 11697 other awk invocations. GNU awk seems not to read stdin in this 11698 case, but that behavior is hard to reconcile with the Single Unix 11699 Spec and some awks don't do it. 11700 11701 * sanity.sh (binfiles, binfiles2, binfiles3, server): Use the same 11702 tr trick as in rcs3. People don't seem to have been complaining, 11703 and this should fix server-4 for HPUX. 11704 117051999-01-14 Jim Kingdon <http://www.cyclic.com> 11706 11707 * client.c (recv_line): If the line we are reading contains a 11708 character which would sign-extend to EOF, don't treat it as end of 11709 file. recv() doesn't report end of file this way and this might 11710 fix bugs with 0xff characters. 11711 117121999-01-14 Larry Jones <larry.jones@sdrc.com> 11713 11714 * client.c (recv_line): Handle EOF from server. 11715 11716 * sanity.sh (importc-8, importc-9): Accept anything in the seconds 11717 fields of the timestamps since touch doesn't set it reliably. 11718 (This isn't great, but it's better than nothing.) 11719 117201999-01-14 Jim Kingdon <http://www.cyclic.com> 11721 11722 * run.c (run_exec): Adjust comment about vfork; this isn't the place 11723 to get into a treatise about fork performance vs. vfork 11724 performance but it isn't quite as simple as whether one has 11725 copy-on-write. 11726 117271999-01-13 Larry Jones <larry.jones@sdrc.com> 11728 11729 * sanity.sh (dotest_fail): Handle spurrious output from assert better. 11730 11731 * sanity.sh (rcs3-4, rcs3-5a): Handle even more variants of the 11732 assertion failure message. 11733 117341999-01-12 Larry Jones <larry.jones@sdrc.com> 11735 11736 * sanity.sh (mtfr-3): ls behavior varies wildly on nonexistant files, 11737 just use echo instead. 11738 117391999-01-11 Jim Meyering <meyering@ascend.com> 11740 11741 * sanity.sh (mkmodules-temp-file-removal): New test, for this. 11742 * mkmodules.c (mkmodules): Remove each `CVSROOT/.#[0-9]*' temporary 11743 file that's used to check out files listed in CVSROOT/checkoutlist. 11744 Remove extra semicolon at end of line. 11745 117461999-01-11 Larry Jones <larry.jones@sdrc.com> 11747 11748 * sanity.sh (rcs3-5a): Allow for multiple lines of output before the 11749 assertion failure message. 11750 11751 * sanity.sh (lockfiles-6, client-8): Work around bug in HP-UX chmod 11752 (doesn't allow anything to follow omitted permissions). 11753 117541999-01-09 Jim Kingdon <http://www.cyclic.com> 11755 11756 * client.c (set_sticky): Nonfatal error if we can't write it. 11757 * sanity.sh (dirs2-8 through dirs2-14): New tests, for this. 11758 11759 * sanity.sh (rcs3): Write NUL character with tr not awk, in 11760 accordance with Single Unix Specification. Hopefully will fix 11761 rcs3-7 for HPUX. Will not work on SunOS4, but then again neither 11762 did the old syntax. 11763 117641999-01-05 Jim Kingdon <http://www.cyclic.com> 11765 11766 * client.c, update.c: Rename MD5* functions to cvs_MD5* per 11767 corresponding change to ../lib/md5.h. 11768 117691999-01-03 Jim Kingdon <http://www.cyclic.com> 11770 11771 * sanity.sh (client): Give file1 a predictable mode so that the 11772 output in client-9 will not depend on the umask of the user 11773 running the tests. 11774 117751998-12-29 Jim Kingdon <http://www.cyclic.com> 11776 11777 * client.c (client_senddate): Use date_to_internet rather than 11778 using our own "5/26/1997 13:01:40 GMT" date format. 11779 * main.c (date_to_internet): Check for errors from sscanf. Always 11780 send a four digit year. Send hours, minutes, and seconds as two 11781 digits per RFC822. 11782 * sanity.sh (client): New tests client-8 and client-9 test for this. 11783 11784 * sanity.sh (rcs2): New tests rcs2-6 through rcs2-8 test for fix 11785 to lib/getdate.y (before the fix, "100 months" or "8 years" would 11786 tend to mean the year 1969, thus the tests would give "cvs update: 11787 file1 is no longer in the repository"). 11788 117891998-12-28 Larry Jones <larry.jones@sdrc.com> 11790 11791 * entries.c (Register): Return if unable to open log file to avoid 11792 referencing the invalid file pointer. 11793 * sanity.sh (dirs2-7): With above change, no longer fails. 11794 * sanity.sh (rcs3-5a): Another assertion failure message. 11795 * sanity.sh (pserver-4, pserver-5): Some 4.4BSD derived systems spit 11796 out bogus error messages when initgroups is called as non-root. 11797 117981998-12-23 Larry Jones <larry.jones@sdrc.com> 11799 11800 * sanity.sh (rcs3, dotest_fail): The assertion failure message varies 11801 wildly between different systems and the resulting abort call can 11802 even result in spurrious output. Fix the regexp to accept nearly 11803 anything containing some kind of assertion failure and ensure that 11804 any spurrious output ends up in the output file instead of on the 11805 terminal. 11806 118071998-12-23 Jim Kingdon <http://www.cyclic.com> 11808 11809 * admin.c, checkout.c, commit.c, cvsrc.c, expand_path.c, 11810 history.c, ignore.c, import.c, log.c, mkmodules.c, modules.c, 11811 myndbm.c, parseinfo.c, rcs.c, remove.c, rtag.c, status.c, subr.c, 11812 tag.c, wrapper.c: Cast all char's to unsigned char before passing 11813 them to ctype.h functions (isalpha, isgraph, isalnum, isspace, 11814 isdigit, isprint, isupper). Whether using ctype.h is the right 11815 thing at all is unclear to me (having the server depend on locale 11816 seems wrong, as we don't necessarily have any good way to set the 11817 right locale, if there even is such a concept as 'right' locale in 11818 this context), but as long as we use ctype.h we might as use it 11819 according to the standards (this affects systems where plain char 11820 is signed but users supply characters with the 8th bit set). 11821 Thanks to Paul Eggert for suggesting this. 11822 118231998-12-22 Jim Kingdon <http://www.cyclic.com> 11824 11825 * sanity.sh (rcs3): Oops, the earlier fix for srcdir only fixed 11826 the non-remote case, not the remote case. Fix the other occurrence. 11827 118281998-12-22 Jim Kingdon 11829 11830 * sanity.sh (rcs3): The assertion failure message varies slightly 11831 depending on whether CVS was built with srcdir != ".". Fix regexp. 11832 118331998-12-21 Jim Kingdon 11834 11835 * rcs.c (RCS_getdate): Reindent Jim Meyering's change; remove 11836 unused variable x_vers. 11837 11838 * rcs.c: When printing an unexpected character we found in the RCS 11839 file, print it in hex rather than as a character (see comment for 11840 rationale). 11841 * sanity.sh (rcs3): Adjust rcs3-2 and rcs3-7 tests accordingly. 11842 11843 * sanity.sh (rcs3): New test, for some error handling cases 11844 involving parsing RCS files. 11845 118461998-12-16 Jim Meyering <meyering@ascend.com> 11847 11848 * rcs.c (RCS_getdate): Handle the case in which a file is first 11849 imported after its initial version has been created. 11850 * sanity.sh (import-after-initial): New test for that. 11851 118521998-12-17 Jim Kingdon 11853 11854 * server.c (serve_root): Pserver_Repos only exists if 11855 AUTH_SERVER_SUPPORT is defined. 11856 118571998-12-12 Jim Kingdon, and Derek R. Price of Stortek. 11858 11859 * sanity.sh (multiroot): Change + to ${PLUS}. 11860 118611998-12-12 Jim Kingdon, and Gary Young of Motorola 11862 11863 * sanity.sh (admin): In tests admin-13, admin-25, and admin-29, 11864 allow 4 digit year in addition to 2 digit year. 11865 118661998-12-12 Jim Kingdon 11867 11868 * sanity.sh (log): New tests log-14a and log-14b test for -rHEAD 11869 and for HEAD as (nonexistent) file name. 11870 118711998-12-02 Jim Kingdon 11872 11873 * version.c: Squish version number to 1.10.4.1. 11874 11875 * version.c: Version 1.10.4. 11876 118771998-11-24 Jim Kingdon 11878 11879 * recurse.c (do_file_proc): Check for errors from RCS_parse. 11880 * sanity.sh (rcslib-symlink-7 through rcslib-symlink-10): New 11881 tests, test for this. 11882 11883 * sanity.sh (reposmv-2): Adjust for 22-Nov change to Find_Names. 11884 11885 * entries.c (Register): If we can't write Entries.Log, make it a 11886 nonfatal error. 11887 * sanity.sh (dirs2): Test for this fix. 11888 11889 * sanity.sh (dirs2): Clean up working directory at end of test. 11890 118911998-11-23 Jim Kingdon 11892 11893 * sanity.sh (dirs2): New test, for some more cases involving 11894 deleting directories and such. 11895 11896 * sanity.sh (dirs): Update for yesterday's change in Find_Names 11897 error handling. The error in dirs-4 is fairly different now; in 11898 dirs-3 and dirs-3a it is the obvious change. 11899 119001998-11-22 Jim Kingdon 11901 11902 * sanity.sh (release): Move the commments listing "cvs release" 11903 tests from modules2-6 to here. 11904 * release.c (release): Update comment to reflect "? foo" case. 11905 11906 * find_names.c (Find_Names): If we can't read the repository, make 11907 it a nonfatal error. Tell the caller whether this happened. 11908 (find_rcs): Add comment regarding this behavior. 11909 * recurse.c (do_recursion): If Find_Names gives an error, skip 11910 the directory and print a message saying so. 11911 * sanity.sh (modes3): New test, for this. 11912 119131998-11-18 Jim Kingdon 11914 11915 * rtag.c (rtag_usage), tag.c (tag_usage): Use "-r rev" 11916 consistently. 11917 11918 * sanity.sh (conflicts3): Tests conflicts3-24 through 11919 conflicts3-28 test for another case similar to conflicts3-22. 11920 119211998-11-14 Jim Kingdon 11922 11923 * sanity.sh (diff): New test, for now just tests for the "I know 11924 nothing" message. 11925 11926 * sanity.sh (conflicts2-142b7 through conflicts2-142b11): New 11927 tests; resurrecting doesn't work from one level up. 11928 11929 * sanity.sh (mwrap-7): Remote prints the messages in a different 11930 order. 11931 119321998-11-13 Jim Kingdon 11933 11934 * tag.c (check_fileproc): Log tag deletions. 11935 * rtag.c (check_fileproc): Likewise. 11936 * sanity.sh (taginfo-14 through taginfo-18): New tests, for 11937 these behaviors. 11938 119391998-11-12 Jim Kingdon 11940 11941 * sanity.sh (mwrap-7): Update for the noexec fix. 11942 11943 * server.c (server_copy_file): Add comment about noexec. 11944 11945 * update.c (checkout_file): Handle noexec case involving revbuf 11946 and modes. 11947 (update_fileproc): In case T_NEEDS_MERGE, let merge_file take care 11948 of noexec, so it can tell the user if there would be conflicts. 11949 (merge_file): Print "conflicts found in FILE" message 11950 regardless of noexec. Add comment about checking for whether the 11951 file already contained the changes, and noexec. 11952 * sanity.sh (conflicts-192a): New test, for this. 11953 119541998-10-20 Jim Kingdon 11955 11956 Use the gzip library on the server. Probably doesn't speed things 11957 up as currently implemented, but does avoid hassles in terms of 11958 finding an external gzip program. 11959 * zlib.c, server.h (gunzip_and_write, read_and_gzip): Now returns 11960 whether a fatal error occurred, rather than expecting error (1, 11961 ...) to work. 11962 * client.c (update_entries, send_modified): Change callers. 11963 * server.c (receive_file): Rewrite gzip code to use 11964 gunzip_and_write rather than filter_through_gunzip. 11965 (server_updated): Likewise, use read_and_gzip rather than 11966 filter_through_gzip. 11967 * client.c, client.h (filter_through_gzip, filter_through_gunzip), 11968 run.c, cvs.h (filter_stream_through_program): Removed; no longer used. 11969 * sanity.sh (server): New tests server-4 and server-5 test 11970 this feature (note that CVS 1.10 also passes these tests; the 11971 behavior is supposed to be unchanged). 11972 119731998-10-19 Jim Kingdon 11974 11975 * sanity.sh (multiroot3): New test, tests for a few more 11976 multiroot cases. 11977 11978 * lock.c (lock_name): Set the permissions on each directory we 11979 create to that of the parent directory. 11980 * sanity.sh (lockfiles): New chmod and tests lockfiles-7a and 11981 lockfiles-7b test for this. Adjust lockfiles-5 for new text of 11982 error message. 11983 119841998-10-15 Jim Kingdon 11985 11986 * server.c (requests): Set RQ_ROOTLESS for "Set". 11987 * sanity.sh (info): Also clean up $HOME/.cvsrc. 11988 (server): Test that we can send Set before Root (had been tested 11989 by crerepos-6b, but only if you ran the info test first). Tests 11990 for this fix. 11991 119921998-10-14 Jim Kingdon 11993 11994 * subr.c (expand_string): Tweak the algorithm so that the size 11995 that it allocates is generally a power of two. 11996 119971998-10-14 Eivind Eklund and Jim Kingdon 11998 11999 * commit.c (commit): For the client, don't worry about whether we 12000 are root. 12001 120021998-10-13 Jim Kingdon 12003 12004 * server.h (struct request): Change status field to flags and add 12005 RQ_ROOTLESS. 12006 * client.c (handle_valid_requests, supported_request): Change 12007 status to flags. 12008 * server.c (requests): Change status to flags. Add RQ_ROOTLESS. 12009 * server.c (server): If not RQ_ROOTLESS, and we haven't gotten a 12010 Root request, give an error. 12011 120121998-10-12 Jim Kingdon 12013 12014 * version.c: Slide version number to 1.10.3.1. 12015 12016 * Version 1.10.3. 12017 12018 * sanity.sh (modules2-17): Update for 9 Oct 1998 change to 12019 update_dirent_proc. 12020 120211998-10-11 Jim Kingdon 12022 12023 * commit.c (checkaddfile, commit_fileproc): A numeric value for 12024 'tag' does not mean that we are adding on a branch. 12025 * sanity.sh (keywordlog): Adjust this test, to test for this 12026 (replaces comment saying we should be doing it). 12027 (rmadd): Likewise. 12028 12029 * sanity.sh (rmadd): New test, tests for various existing 12030 behaviors with "cvs ci -r". 12031 120321998-10-09 Jim Kingdon 12033 12034 * update.c (update_dirent_proc): For local CVS, if the directory 12035 does not exist in the working directory nor in the repository, 12036 just skip it. 12037 * sanity.sh (dirs): New tests dirs-3a, dirs-7 and dirs-8 test for 12038 this and related behaviors. Note that the new behavior was also 12039 the previous behavior for remote; we are only changing it for local. 12040 12041 * wrapper.c, cvsrc.c, ignore.c: Add comments about ignoring .cvsrc 12042 and friends if we can't find a home directory. 12043 * expand_path.c (expand_path): If we can't find the home 12044 directory, give an error rather than a coredump (or worse). 12045 * login.c (construct_cvspass_filename): Don't use errno in error 12046 message; get_homedir doesn't set it. Add comment about this 12047 message. 12048 120491998-10-07 Jim Kingdon <kingdon@harvey.cyclic.com> 12050 12051 * diff.c (diff): Set variables to NULL at the start, and free 12052 memory at the end. 12053 * sanity.sh (multiroot2): Add tests for this (before the fix, 12054 multiroot2-12 would abort with "no more than two revisions/dates 12055 can be specified"). 12056 120571998-10-06 Jim Kingdon <kingdon@harvey.cyclic.com> 12058 12059 * Makefile.in (installcheck check): Remove references to RCSBIN; 12060 they don't do anything now that RCSBIN is ignored. 12061 12062 * client.c: Clean up horrible confusion about whether stored_mode 12063 or stored_mode_valid (or nothing :-)) indicates whether 12064 stored_mode is allocated. Should fix crashes (for example, on NT 12065 when the server has renamed multiple files from uppercase to 12066 lowercase). 12067 12068 * sanity.sh (dirs): New tests, tests for some cases involving 12069 admins who do surgery on the repository. 12070 120711998-10-03 Johannes Stezenbach <johannes.stezenbach@propack-data.de> 12072 12073 * vers_ts.c (Version_TS): If UTIME_EXPECTS_WRITABLE, if 12074 necessary change the file to be writable temporarily to set its 12075 modification time. 12076 120771998-10-03 Jim Kingdon <kingdon@harvey.cyclic.com> 12078 12079 * client.c (handle_error): Add comment about indicating which 12080 errors are from the server. 12081 120821998-10-01 Jim Kingdon <kingdon@harvey.cyclic.com> 12083 12084 * sanity.sh (devcom-180): Allow one digit day. 12085 120861998-09-30 Jim Kingdon <kingdon@harvey.cyclic.com> 12087 12088 * main.c (main): Don't call Name_Root if -d specified. 12089 * recurse.c (do_recursion, do_dir_proc): Don't check CVS/Root 12090 if -d was specified. 12091 * import.c (import): Indentation fix. 12092 * sanity.sh (multiroot): Update for this change. 12093 (reposmv): New test, tests for this. 12094 120951998-09-28 Jim Kingdon <kingdon@harvey.cyclic.com> 12096 12097 * sanity.sh (multiroot2): New test, tests some nested directory 12098 cases. 12099 121001998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com> 12101 12102 * sanity.sh (multiroot): Change a few comments which said modules 12103 when they meant directories. 12104 121051998-09-25 Jim Meyering <meyering@ascend.com> 12106 12107 * sanity.sh (devcom-180): Add 0-9 to the range of characters allowed 12108 in hostname regexp. 12109 121101998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com> 12111 12112 * sanity.sh (log2): New test log2-7a tests for one error handling 12113 case. Add a comment about another. 12114 121151998-09-24 Jim Kingdon <kingdon@harvey.cyclic.com> 12116 12117 * sanity.sh: Change crerepos test back to :ext: (for several 12118 reasons; see comments). 12119 121201998-09-24 Noel Cragg <noel@swish.red-bean.com> 12121 12122 * sanity.sh (rcslib-symlink-5, rcslib-symlink-6): new tests to 12123 check the operation of "tag" when there are symlinks in the 12124 repository. 12125 12126 * rcs.c (RCS_checkin): remove old code that resolved the symlink 12127 and call resolve_symlink instead. 12128 (RCS_rewrite): call resolve_symlink before doing anything else to 12129 make sure we're operating on the file and not the symlink. 12130 12131 * subr.c (resolve_symlink): new routine -- resolves a symbolic 12132 link chain to its destination. 12133 * cvs.h: add prototype. 12134 12135 * sanity.sh (basica-6.2, basica-6.3): changed match expressions to 12136 reflect new diff output. 12137 12138 * rcs.c (make_file_label): generate labels for files that include 12139 the pathname so that output from "cvs diff" is useable by patch. 12140 Looks like I came up with the mods as Andy Piper 12141 <andyp@parallax.co.uk>; his patch was on the Cyclic unofficial 12142 patches page. 12143 12144 * sanity.sh: change remote access method from ext to fork. This 12145 results in a significant speed improvement when running the 12146 testsuite. The ext method on my machine (i586 120MHz Linux 2.0.35 12147 with TCP wrappers installed) runs in 450% of the time of the local 12148 method while the fork method runs in only 150% of the time of the 12149 local method! Yow! Am I SWAPPING yet?! 12150 (crerepos-6a, crerepos-6b): change to reflect different error 12151 messages for fork method. 12152 (modes-15): same. 12153 12154 * client.c (connect_to_forked_server): new routine. 12155 (start_server): call the above when method is fork_method. 12156 12157 * root.c: add a new method named "fork". This method uses the 12158 remote protocol, but does so by forking a "cvs server" process 12159 directly rather than doing "rsh host cvs server" (for example). 12160 This new method has few advantages for day-to-day use, but has 12161 three important benefits for debugging: 12162 12163 1) Most secure installations these days don't allow rsh access. 12164 With this new method, we can still test the remote protocol on 12165 these machines because we don't need to be able to make a local 12166 TCP connection. 12167 12168 2) Even if installations allow rsh access, they almost always 12169 have TCP wrappers to check permissions by IP/hostname. This 12170 causes a short delay for every connection. For invocations from 12171 the command line, this doesn't matter much, but it adds up to a 12172 significant amount of time when running the testsuite. 12173 12174 3) On machines that can't (or do not usually) provide rshd 12175 access (I'm thinking of WNT/W95 in particular), we can now run 12176 tests of the remote protocol using this method. Indeed, we can 12177 run remote protocol tests on any machine that has an 12178 implementation of piped_child(). 12179 12180 (parse_cvsroot): handle new method. 12181 (error_exit, xstrdup, isabsolute): new stub functions to use when 12182 compiling root.c with the DEBUG option. 12183 (main): fix a few typos. 12184 * cvs.h (CVSmethod): add fork_method. 12185 12186 * server.c (create_adm_p): use Emptydir as the placeholder 12187 directory instead of "." to avoid problems with "cvs update -d" et 12188 al. 12189 121901998-09-22 Noel Cragg <noel@swish.red-bean.com> 12191 12192 * sanity.sh (devcom-180): fixed typo in regexp. 12193 12194 * main.c (main): remove need_to_create_root and related code 12195 (including CVS_IGNORE_REMOTE_ROOT environment variable). The 12196 current implementation (just removed) of rewriting the contents of 12197 the CVS/Root file isn't desirable for a number of reasons: 12198 12199 1) Only the top-level CVS/Root directory is updated. If we're 12200 really interested in pointing our WD at another CVSROOT, we 12201 should have a separate command. 12202 12203 2) With the new multiroot mods, we don't ever want to rewrite 12204 CVS/Root files in the way the removed code did. Consider: 12205 12206 cvs -d repository1 co a 12207 cd a 12208 cvs -d repository2 co b 12209 cvs -d repository2 update b 12210 12211 The update command would rewrite the contents of a/CVS/Root to 12212 the incorrect value. Bad. We then wouldn't be talking to the 12213 correct repository for files in a. 12214 12215 3) The removed code seems to be a quick hack to support working 12216 directories checked out from multiple repositories. With the 12217 CVS_IGNORE_REMOTE_ROOT variable set, one could perform commands 12218 as in example 2, above, without worring about updating CVS/Root 12219 files. While in pre-1.10.1 recursive commands wouldn't handle 12220 that working directory hierarchy, one could use commands like 12221 "cvs foo -l" instead. While not great, this allows you (with a 12222 lot of manual interaction) to have a multiroot WD. Since we now 12223 have multiroot mods checked in, we don't need this code. 12224 12225 (lookup_command_attribute): while we don't need the 12226 CVS_CMD_USES_WORK_DIR flag anymore (since it only was supporting 12227 the need_to_create_root code), I'm leaving it in. It may come in 12228 handy at some later date. 12229 122301998-09-18 Jim Kingdon <kingdon@pennington.cyclic.com> 12231 12232 * version.c: Advance version number to 1.10.2.1. 12233 12234 * Version 1.10.2. 12235 122361998-09-13 Jim Kingdon <kingdon@harvey.cyclic.com> 12237 12238 * client.c: Refuse to Copy-file to another directory 12239 * sanity.sh (client): New test, tests for this. 12240 12241 * edit.c (editors_fileproc), watch.c (watchers_fileproc): Use 12242 cvs_output rather than writing to stdout. 12243 * sanity.sh (devcom): Use dotest for tests 178, 180, and 183 12244 (tests that we preserve existing behavior on "cvs editors"). 12245 12246 * commit.c (check_fileproc): Don't allow commits in Emptydir. 12247 * sanity.sh (emptydir-8): Test for this change in behavior. 12248 12249 * sanity.sh: Add some compatibility tests to TODO comments at end. 12250 122511998-09-10 Jim Kingdon <kingdon@harvey.cyclic.com> 12252 12253 * wrapper.c (wrap_add): Remove obsolete comment about -m. 12254 12255 * server.c (server_updated): Check for error from CVS_UNLINK. 12256 122571998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com> 12258 12259 * server.c (serve_root): Allocate with malloc, not xmalloc. 12260 12261 * root.c (set_local_cvsroot): Move memory allocation from here... 12262 * server.c (serve_root): ...to here. Fixes error handling. 12263 12264 * root.c (parse_cvsroot): Don't call check_root_consistent; 12265 parse_cvsroot is only used for local and client. 12266 * root.c (set_local_cvsroot): Move check_root_consistent 12267 functionality from here... 12268 * server.c (serve_root): ...to here. Fixes error handling. Also 12269 made the error more explicit, while I am at it. 12270 * server.c (Pserver_Repos): Now static. 12271 * cvs.h: Don't declare it. 12272 * root.c (check_root_consistent): Removed; no longer needed. 12273 * sanity.sh (pserver): New test, tests for this behavior and some 12274 other basic pserver stuff. 12275 12276 * update.c (merge_file): Use cvs_output for "already contains the 12277 differences" message. Found this one when I actually observed the 12278 out-of-order bug in Real Life(TM). 12279 122801998-09-09 Jim Kingdon 12281 12282 * find_names.c (find_dirs): Make sure to zero errno before 12283 going around the loop again. 12284 * find_names.c (find_rcs): Make sure to set save_errno. 12285 (thanks to Alexandre Parenteau for reporting both problems). 12286 122871998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com> and Michael Pakovic 12288 12289 * edit.c (notify_do): Only free line if it is not NULL. 12290 122911998-09-07 Jim Kingdon <kingdon@harvey.cyclic.com> 12292 12293 * cvs.h: dirs_sent_to_server should not be inside 12294 AUTH_SERVER_SUPPORT (reported by both Richard Levitte and Murray 12295 Bishop, thanks). 12296 12297 * lock.c, cvs.h: New variable lock_dir. 12298 * parseinfo.c (parse_config): New option LockDir. 12299 * lock.c (lock_name): New function, abstracts out lock file naming 12300 and also supports LockDir. 12301 * lock.c (lock_simple_remove, Reader_Lock, write_lock, set_lock): 12302 Call it (6 places, to create/remove read/write/master locks). 12303 (Lock_Cleanup): Refuse to reenter this function. 12304 * sanity.sh (lockfiles): New test, tests for this feature. 12305 123061998-09-03 Jim Kingdon <kingdon@harvey.cyclic.com> 12307 12308 * sanity.sh (multiroot): Expect ${TESTDIR} in output instead of 12309 assuming it is /tmp/cvs-sanity (thanks to Mark D. Baushke of Cisco). 12310 Clean up working directory when done (fixes apparent thinko). 12311 12312 * server.c (create_adm_p): Fix one "return" which didn't return a 12313 value. 12314 (dirswitch): Check for errors from create_adm_p. 12315 12316 * sanity.sh: Set LC_ALL rather than just LC_COLLATE. 12317 12318Wed Sep 2 02:30:22 1998 Jim Kingdon <kingdon@pennington.cyclic.com> 12319 12320 * version.c: Bump version number to 1.10.1.1. 12321 12322 * Version 1.10.1. 12323 123241998-09-01 Jim Kingdon <kingdon@harvey.cyclic.com> 12325 12326 Administrative note regarding Noel's changes to allow one to 12327 switch from one CVS root to another in a single command: The 12328 ChangeLog entries for the changes which Noel just checked in 12329 appear for 1998-09-01, 1998-08-28, 1998-08-25, 1998-08-19, and 12330 1998-08-18, rather than being all together. 12331 12332 * main.c (set_root_directory): Fix whitespace. 12333 (main): Nuke new -m option and just have that message controlled 12334 by -t. 12335 * server.c (server): Revert the CVS_SERVER_SLEEP code back the way 12336 it was in CVS 1.10. Attaching to the parent process is relatively 12337 boring (you can just run "cvs server" under a debugger instead), 12338 but connecting to the child process is what the old code was for. 12339 * recurse.c, server.c: Remove DEBUG_NJC code. 12340 123411998-09-01 Noel Cragg <noel@swish.red-bean.com> 12342 12343 * server.c (do_cvs_command): add another environment variable, 12344 CVS_SERVER_SLEEP2, after forking to pause the program so one can 12345 attach a debugger. 12346 12347 * sanity.sh (crerepos): clean up crerepos-18 now that multiroot 12348 works in this case. 12349 (multiroot): finalize tests for local vs. remote operation. 12350 12351 * recurse.c (start_recursion): near the beginning, save the list 12352 of directories to spoof as command-line arguments, if necessary. 12353 Use that list near the end and call send_file_names to send those 12354 arguments to the server. 12355 (do_argument_proc): removed, since we call send_file_names now. 12356 12357 * main.c (main): re-initialize dirs_sent_to_server on each pass 12358 through the loop for each CVSROOT. 12359 12360 * cvs.h: add proto for global variable which keeps track of which 12361 directories have been sent to the server when in client mode. 12362 12363 * client.c (is_arg_a_parent_or_listed_dir): new function. 12364 (arg_should_not_be_sent_to_server): new function. Tries to decide 12365 whether the given argument should be sent to the server, based on 12366 the current CVSROOT and the list of directories sent to the 12367 server. 12368 (send_repository): add the directory name to the list of 12369 directories sent to the server. 12370 (send_file_names): call arg_should_not_be_sent_to_server. 12371 12372 * add.c (add): switch the order of send_files and send_file_names 12373 to make multiple repository support possible. send_files needs to 12374 create a list of directories being requested so that 12375 send_file_names can decide which command-line arguments to send to 12376 the server for the given current CVSROOT. 12377 * admin.c (admin): same. 12378 * commit.c (commit): same. 12379 * diff.c (diff): same. 12380 * edit.c (editors): same. 12381 * log.c (cvslog): same. 12382 * rcs.c (annotate): same. 12383 * remove.c (cvsremove): same. 12384 * status.c (cvsstatus): same. 12385 * tag.c (cvstag): same. 12386 * update.c (update): same. 12387 * watch.c (watch_addremove): same. 12388 (watchers): same. 12389 123901998-08-31 Jim Kingdon <kingdon@harvey.cyclic.com> 12391 12392 * sanity.sh: Remove "debug" function; it was apparently checked 12393 in accidentally by Norbert Kiesel's change. 12394 123951998-08-31 Norbert Kiesel <nk@iname.com> 12396 12397 * release.c (release): modify last patch to release so that 12398 save_cwd is called only once and restore_cwd is always called when 12399 neccessary. Also fixed a tiny memory leak. 12400 12401 * sanity.sh (release): added some more tests for "cvs release" 12402 including a test with two dirs and a "no" for the first one (which 12403 fails without the above patch). 12404 124051998-08-28 Noel Cragg <noel@swish.red-bean.com> 12406 12407 * sanity.sh (crerepos-18): add new comment and change test 12408 slightly to support multiroot. 12409 (multiroot): add more tests. 12410 12411 * server.c (create_adm_p): new function. 12412 (dirswitch): call create_adm_p. Modify the code to always write a 12413 new CVSADM_REP file, since create_adm_p might have put a 12414 placeholder there and our value is guaranteed to be correct. 12415 (server): move the CVS_SERVER_SLEEP check here so we can debug 12416 things at an earlier stage. 12417 12418 * recurse.c (start_recursion): add large comment about the ideal 12419 solution to the "Argument xxx" problem. 12420 12421 * main.c (main): move position of debugging comment for -m flag. 12422 12423 * diff.c (diff): clear a static variable. 12424 12425 * client.c (send_file_names): check to see if we should send this 12426 argument to the server based on the contents of the appropriate 12427 CVSADM directory. This avoids "nothing known about foo" messages 12428 and problems with duplicate modules names in multiple 12429 repositories. 12430 (send_a_repository): change method of calculating toplevel_repos 12431 to support multiple CVSROOTs. 12432 (start_server): clear some static variables. 12433 124341998-08-28 Jim Meyering <meyering@ascend.com> 12435 12436 * sanity.sh (basicc-8, basicc-11): Use `.*' instead of explicit 12437 `Operation not permitted'. Solaris2.5.1 gets a different error: 12438 `Invalid argument'. 12439 124401998-08-26 Eric M. Hopper 12441 12442 * sanity.sh: Set LC_COLLATE to "C". 12443 124441998-08-25 Noel Cragg <noel@swish.red-bean.com> 12445 12446 * sanity.sh (multiroot): new set of tests to check the behavior of 12447 multiroot. 12448 12449 * diff.c (diff): set options value to NULL after freeing to reset 12450 the state for the next time around. 12451 124521998-08-25 Jim Kingdon <kingdon@harvey.cyclic.com> 12453 12454 Fix problems with trying to rename an open file: 12455 * rcs.c, rcs.h (RCS_setattic): New function. 12456 * commit.c (remove_file, checkaddfile): Call it. 12457 124581998-08-24 Jim Kingdon <kingdon@harvey.cyclic.com> 12459 12460 * release.c (release): Use save_cwd and restore_cwd to get back to 12461 where we started, rather than hoping that CVS_CHDIR ("..") will do 12462 something useful. This removes the need for most of 12463 release_delete, so remove that function and inline what is left. 12464 * sanity.sh (basicc): Adjust tests for this fix, also some tests 12465 with multiple arguments to "cvs release" (in the non-"-d"-case, it 12466 would seem like the old code would CVS_CHDIR into directories and not 12467 CVS_CHDIR back, but I'm not going to investigate this and it 12468 should be a moot point with this fix.). 12469 12470 * sanity.sh (basicc): Add tests for a serious bug in "cvs release 12471 -d .". 12472 12473 More error handling fixes: 12474 * ignore.c (ignore_files): Check for errors from opendir and 12475 readdir. 12476 * find_names.c (Find_Names): Check for errors from find_rcs. 12477 (find_rcs, find_dirs): Comment error handling better; also return 12478 an error if we got one from readdir. 12479 * filesubr.c (deep_remove_dir): Also check for errors from readdir. 12480 * import.c (import_descend): Print message on error from opendir 12481 or readdir. 12482 * commit.c (remove_file): Check for errors from CVS_MKDIR and 12483 CVS_RENAME. 12484 (remove_file): No need to remove the file in the temporary 12485 directory; server.c now informs time_stamp_server of what is going 12486 on via CVS/Entries rather than a file with a kludged up timestamp. 12487 * client.c, entries.c, login.c, logmsg.c, mkmodules.c, patch.c, 12488 remove.c, update.c: Check for errors from unlink_file. 12489 * mkmodules.c (write_dbmfile, rename_dbfile, rename_rcsfile): 12490 Check for errors from fclose, CVS_RENAME, and CVS_STAT. 12491 * mkmodules.c (checkout_file): Clarify error handling convention. 12492 * mkmodules.c (mkmodules): Call checkout_file accordingly. 12493 * entries.c (Entries_Open): Check for errors from fclose. 12494 124951998-08-21 Ian Lance Taylor <ian@cygnus.com> 12496 12497 * import.c (import): Output suggested merge command using 12498 cvs_output_tagged rather than just cvs_output. Don't put 12499 CVSroot_cmdline in the log file. 12500 * client.c (importmergecmd): New static struct. 12501 (handle_mt): Handle +importmergecmd tag. 12502 * sanity.sh (import): Use an explicit -d in importb-2, to test 12503 whether it is reported in the suggested merge command. 12504 125051998-08-20 Ian Lance Taylor <ian@cygnus.com> 12506 12507 * sanity.sh (import): Rewrite tests to use dotest. 12508 125091998-08-20 Jim Kingdon <kingdon@harvey.cyclic.com> 12510 12511 * sanity.sh: Add comments about binary files and cvs import. 12512 125131998-08-19 Jim Kingdon <kingdon@harvey.cyclic.com> 12514 12515 * sanity.sh (importc): Use ${username} in one place where I had 12516 missed it. 12517 12518 Make import -d work client/server: 12519 * client.c, client.h (client_process_import_file): Take new 12520 argument, for whether -d is specified, and send Checkin-time 12521 request if it is set. 12522 * import.c (import_descend): Pass it. 12523 * main.c, cvs.h (date_to_internet): New function. 12524 * server.c (server_modtime): Call date_to_internet. 12525 * server.c (serve_checkin_time): New function. 12526 (requests): Add "Checkin-time" request. 12527 (serve_modified): If it was sent, set the timestamp in the 12528 temporary directory. 12529 * import.c (import): If the client sends a -d option, complain. 12530 (import): For the server, always use the timestamps from the temp 12531 directory. 12532 (import): Don't send a -d option to the server. 12533 * sanity.sh (importc): Add tests for import -d. 12534 12535Wed Aug 19 15:19:13 1998 Larry Jones <larry.jones@sdrc.com> 12536 12537 * sanity.sh (unedit-without-baserev-5): use ${DOTSTAR} instead 12538 of .* since we expect to match multiple lines. 12539 125401998-08-19 Ian Lance Taylor <ian@cygnus.com> 12541 12542 * cvs.h (CVSroot_cmdline): Declare. 12543 * root.c (CVSroot_cmdline): Define. 12544 * main.c (main): Set CVSroot_cmdline if the -d option is used. 12545 * import.c (import): If CVSroot_cmdline is not NULL, then mention 12546 an explicit -d option in the suggested merge command line. 12547 12548Wed Aug 19 00:28:50 1998 Noel Cragg <noel@swish.red-bean.com> 12549 12550 * recurse.c (do_dir_proc): don't muck with CVS/Root directories 12551 when running in server mode. 12552 (do_recursion): same. 12553 12554 * main.c (main): add the command-line option `m' to help debug the 12555 multiroot environment; it prints out the value of CVSROOT for each 12556 iteration through the main loop. Also, changed the main loop so 12557 that it gets executed only once when running in server mode (the 12558 server will only deal with a single CVSROOT). 12559 12560 * recurse.c (do_recursion): change default for 12561 PROCESS_THIS_DIRECTORY to true; we should always process a 12562 directory's contents unless there's an existing CVS/Root file with 12563 a different root than the current root to tell us otherwise. 12564 (do_dir_proc): same. 12565 12566Tue Aug 18 14:30:59 1998 Noel Cragg <noel@swish.red-bean.com> 12567 12568 * recurse.c (do_recursion): check the current value of CVS/Root 12569 and add it to our list of CVSROOTs if it doesn't exist. Decide 12570 whether or not to process files in this directory based based on 12571 the value of CURRENT_ROOT. 12572 (do_dir_proc): same. 12573 12574 * main.c: add two new globals -- root_directories and current_root 12575 -- which keep track of the values of CVSROOT we've seen and which 12576 value of CVSROOT we're currently processing. 12577 (main): put the main loop for stepping through cvsroot values 12578 here, since we might need to send command-specific arguments for 12579 every unique non-local cvsroot. Moved blocks of code around so 12580 that one-time initializations happen first (outside the loop) and 12581 the other stuff happens inside the loop. 12582 (set_root_directory): helper function. 12583 12584 * cvs.h: add prototypes for root_directories and current_root, two 12585 new globals for keeping track of multiple CVSROOT information. 12586 125871998-08-18 Jim Kingdon <kingdon@harvey.cyclic.com> 12588 12589 * sanity.sh: Don't assume that the shell leaves $^ unexpanded in 12590 an unquoted here-document (suggested by Bart Schaefer to help when 12591 zsh is the shell). 12592 125931998-08-17 Ian Lance Taylor <ian@cygnus.com> 12594 12595 * commit.c (checkaddfile): Don't call fix_rcs_modes. 12596 (fix_rcs_modes): Remove. 12597 125981998-08-16 Jim Kingdon <kingdon@harvey.cyclic.com> 12599 12600 * create_adm.c (Create_Admin): Don't condition traces on 12601 SERVER_SUPPORT; SERVER_SUPPORT shouldn't do (much of) anything 12602 independent of server_active. 12603 12604 * sanity.sh (binfiles3): New test, for yet another binary file 12605 bug (sigh). Thanks to Jason Aten for reporting this one. 12606 126071998-08-15 Jim Kingdon <kingdon@harvey.cyclic.com> 12608 12609 * rcscmds.c (call_diff_write_output): Update to reflect new 12610 calling convention for the write_output callback. 12611 126121998-08-15 Jim Meyering <meyering@ascend.com> 12613 12614 * update.c (merge_file): Warn about failed unlink when not due 12615 to ENOENT. 12616 12617 * server.h (CLIENT_SERVER_STR): New macro 12618 * create_adm.c (Create_Admin): Use it. 12619 * entries.c (Scratch_Entry, Register): Use it. 12620 * filesubr.c (copy_file, xchmod, rename_file, unlink_file): Use it. 12621 * history.c (history_write): Use it. 12622 * modules.c (do_module): Use it. 12623 * no_diff.c (No_Difference): Use it. 12624 * run.c (run_popen): Use it. 12625 * server.c (server_register): Use it. 12626 126271998-08-14 Jim Meyering <meyering@ascend.com> 12628 12629 * hardlink.c (lookup_file_by_inode): Use existence_error rather than 12630 comparing errno to ENOENT directly. 12631 12632 * client.c (copy_a_file): Unlink destination before doing copy. 12633 * sanity.sh (join-readonly-conflict): New test for this -- it would 12634 fail only in client/server mode. 12635 12636 * sanity.sh (rcsmerge-symlink-4): Don't use `test -L', it's not 12637 portable. Instead, match against the output of `ls -l'. 12638 (dotest tag8k-16): Simplify tag-construction code and at the same 12639 time, avoid using expr's `length' and `substr' operators. Not 12640 all versions of expr support those. 12641 126421998-08-14 Jim Kingdon <kingdon@harvey.cyclic.com> 12643 12644 * version.c: Bump version number to 1.10.0.1. 12645 12646Thu Aug 13 11:15:24 1998 Noel Cragg <noel@swish.red-bean.com> 12647 12648 * version.c: Change version number to 1.10 and name to `Halibut'. 12649 12650 * sanity.sh (rcslib): new tests to check behavior of symlinks in 12651 the repository. 12652 12653Wed Aug 12 15:39:38 1998 Noel Cragg <noel@swish.red-bean.com> 12654 12655 * main.c (lookup_command_attribute): the `annotate' command 12656 shouldn't require access to the repository. Add comment about 12657 commands that do not use the working directory. 12658 12659Mon Aug 10 10:26:38 1998 Noel Cragg <noel@swish.red-bean.com> 12660 12661 * version.c: Change version number to 1.9.30. 12662 12663Thu Aug 6 17:44:50 1998 Noel Cragg <noel@swish.red-bean.com> 12664 12665 * server.c (serve_rdiff): change the name of the command (for 12666 error reporting, etc.) from "patch" to "rdiff." 12667 (serve_remove): rename from "cvsremove" to "remove." 12668 12669 * main.c (lookup_command_attribute): the `rdiff' command shouldn't 12670 require write access to the repository. 12671 126721998-08-06 David Masterson of kla-tencor.com 12673 and Jim Kingdon 12674 12675 * commit.c (commit_filesdoneproc): Don't call strlen ("CVSROOT") 12676 from within the assert statement. Apparently HP's cc compiler on 12677 HPUX 10.20 has trouble with that. 12678 126791998-08-06 Jim Kingdon <kingdon@harvey.cyclic.com> 12680 12681 * rcs.c (RCS_checkin): When adding branch, if there is a lock on 12682 the branchpoint owned by someone else, leave it alone. This 12683 restores CVS 1.9 (RCS 5.7) behavior, fixing a core dump. 12684 * sanity.sh (reserved): New tests reserved-16 through reserved-19 12685 test for this fix. 12686 126871998-08-05 Jim Kingdon <kingdon@harvey.cyclic.com> 12688 12689 * sanity.sh (unedit-without-baserev): Use ${QUESTION} not "?". 12690 This makes it work with GNU expr 1.12 as well as 1.16. 12691 12692Sun Aug 2 20:27:44 1998 Noel Cragg <noel@swish.red-bean.com> 12693 12694 * mkmodules.c: add comment about TopLevelAdmin for the initial 12695 contents of CVSROOT/config. 12696 126971998-07-29 Jim Kingdon <kingdon@harvey.cyclic.com> 12698 12699 * rcs.c (RCS_checkin): Only try to call xreadlink if HAVE_READLINK 12700 is defined. 12701 12702Tue Jul 28 19:33:08 1998 Noel Cragg <noel@swish.red-bean.com> 12703 12704 * version.c: Change version number to 1.9.29. 12705 12706 * rcs.c (RCS_checkin): add code to follow symbolic links in the 12707 repository. 12708 12709Sun Jul 26 05:14:41 1998 Noel Cragg <noel@swish.red-bean.com> 12710 12711 * This set of changes reverts the code to pre-1.9.2 behavior and 12712 does not create CVS directories at top-level (except for the 12713 obvious "cvs co ."). Added a new configuration option to switch 12714 between 1.9 and 1.9.2 behavior. 12715 12716 * recurse.c (do_argument_proc): new function. 12717 (start_recursion): in the case that we've done a command from 12718 top-level but have no CVS directory there, the behavior should be 12719 the same as "cvs <cmd> dir1 dir2 dir3...". Make sure that the 12720 appropriate "Argument" commands are sent to the server by calling 12721 walklist with do_argument_proc. 12722 12723 * client.c (call_in_directory): only create the top-level CVS 12724 directory when we're checking out "." explicitly. The server will 12725 force creation of this directory in all other cases. 12726 12727 * checkout.c (checkout_proc): only generate the top-level 12728 directory when the TopLevelAdmin=yes. Also send a message to the 12729 client to do the same. 12730 12731 * parseinfo.c (parse_config): handle TopLevelAdmin option. Set 12732 top_level_admin. 12733 12734 * main.c: add new variable top_level_admin. 12735 * cvs.h: add extern definition for above. 12736 12737 * sanity.sh: since we're reverting to pre 1.9.2 behavior for 12738 top-level CVS directories, I needed to make changes to a bunch of 12739 tests that made assumptions about said directories. 12740 (preamble): make sure to add read and execute access to everything 12741 in TMPDIR before removing, since some tests make things read-only. 12742 (basicb-1a, basicb-1b, basicb-9a, basicb-9b): use dotest_fail 12743 because these tests check for the non-existant top-level CVS 12744 directory. 12745 (basicc-3, emptydir-6, emptydir-7, crerepos-6): use "rm -rf" so it 12746 won't complain when trying to remove the non-existant top-level 12747 CVS directory. 12748 (106.5): remove imported-f2-orig.tmp. 12749 (modules2-10, emptydir-4, abspath-1ba, abspath-1bb): cd into the 12750 directory where files exist before using the "add" command so cvs 12751 can find CVSROOT in CVS/Root. 12752 (cvsadm-2): look at a different CVS/Repository file, since the 12753 top-level one doesn't exist. 12754 (taginfo-3): create the directory in the repository directly 12755 rather than relying on the fact that the top-level CVS directory 12756 was created in a previous test. 12757 (serverpatch-6): update first-dir explicity, rather than relying 12758 on the non-existant top-level CVS/Entries file. 12759 (crerepos-18): look at CVS/Repository in a subdirectory rather 12760 than in the non-existant top-level CVS directory. 12761 (toplevel): add code to set TopLevelAdmin=yes. 12762 (toplevel2): new tests -- same as toplevel, but TopLevelAdmin=no. 12763 127641998-07-21 Jim Meyering <meyering@ascend.com> 12765 12766 * rcs.c (RCS_checkout): Hoist frees of rev and value. 12767 Warn and return 1 in several cases rather than exiting via 12768 `error (1, ...'. The latter could abort a multi-file commit 12769 in mid-stream, leaving stale locks in the repository. 12770 127711998-07-16 Jim Kingdon <kingdon@harvey.cyclic.com> 12772 12773 * build_src.com (rcscmds.c): Also look for include files in 12774 [-.diff], just like Ian's 1998-06-18 change to Makefile.in 12775 127761998-07-14 Jim Kingdon <kingdon@harvey.cyclic.com> 12777 12778 * tag.c (pretag_proc), rtag.c (pretag_proc): Don't pass RUN_REALLY 12779 to run_exec. This means that taginfo does not get executed if the 12780 global -n option is specified. Which makes it like loginfo, -i, 12781 -e, -o, -t, -u in modules, editinfo, and verifymsg and unlike 12782 commitinfo. The old behavior was pretty bad in the sense that it 12783 doesn't provide any way to log only the tags which actually 12784 happen. 12785 * sanity.sh (taginfo): New tests taginfo-11 to taginfo-13, for this. 12786 127871998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com> 12788 12789 * sanity.sh (ann-id): Write the test so that it tests for the 12790 current (buggy) behavior. 12791 12792 * sanity.sh (taginfo): Also clean up cvsroot/first-dir. 12793 127941998-07-12 Jim Meyering <meyering@ascend.com> 12795 12796 * sanity.sh (ann-id): New (currently failing) test for bug in how 12797 rcs keywords are expanded in the output of `cvs annotate'. 12798 127991998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com> 12800 12801 * sanity.sh (taginfo): Write the TESTDIR into the script rather 12802 than having the script look at the environment. This means that 12803 it will work if TESTDIR is set by sanity.sh as well as if 12804 sanity.sh finds TESTDIR in the environment. 12805 128061998-07-11 Jim Kingdon <kingdon@harvey.cyclic.com> 12807 12808 * tag.c (check_fileproc): Calculate the revision to be tagged the 12809 same way that tag_fileproc does. 12810 * sanity.sh (taginfo): New tests, test for this (before this fix, 12811 brtag had said 1.1 not 1.1.2.1). 12812 128131998-07-10 Jim Kingdon <kingdon@harvey.cyclic.com> 12814 12815 * sanity.sh (unedit-without-baserev): Also clean up "2" directory. 12816 128171998-07-08 Jim Kingdon <kingdon@harvey.cyclic.com> 12818 12819 * edit.c (unedit_fileproc): If the Baserev file is missing, don't 12820 get the working file from CVS/Base. The previous code could get 12821 you version 1.1 of the working file and put 1.2 in CVS/Entries. 12822 * sanity.sh (unedit-without-baserev): New tests test for this. 12823 128241998-07-02 Jim Kingdon <kingdon@harvey.cyclic.com> 12825 12826 * sanity.sh (unedit-without-baserev): Move the test itself to be 12827 in the same order as in the "tests" variable. 12828 128291998-07-02 Ian Lance Taylor <ian@cygnus.com> 12830 12831 * rcscmds.c: Don't include <stdarg.h> or <vasprintf.h>. Don't 12832 declare vasprintf. 12833 (call_diff_printf_output): Remove. 12834 (call_diff_stdout_callbacks): Don't initialize printf_output 12835 field--it has been removed from the interface. 12836 (call_diff_file_callbacks): Likewise. 12837 128381998-07-01 Jim Meyering <meyering@ascend.com> 12839 12840 * edit.c (unedit_fileproc): Handle the case in which base_get 12841 returns a NULL baserev. That happens when a file being `unedit'ed 12842 exists in the CVS/Base directory, but isn't listed in the CVS/Baserev 12843 file. The one case I've seen had no Baserev file at all. The symptom 12844 (if you're lucky) is a segmentation fault upon unedit. If you use 12845 SunOS4.1.4 for which printf prints NULL pointers as `(null)', your 12846 unedit command will complete normally, but it will have corrupted 12847 your CVS/Entries file and a subsequent update may result in an 12848 assertion failure, a core dump, and a stale lock in the repository. 12849 * sanity.sh (unedit-without-baserev): New test for this. 12850 128511998-07-01 Andy Mortimer of aeat.co.uk 12852 and Jim Kingdon <kingdon@harvey.cyclic.com> 12853 12854 * server.c (server_updated): Use a prototype if we are using them 12855 for declarations. 12856 128571998-06-29 Jim Kingdon <kingdon@harvey.cyclic.com> 12858 12859 * sanity.sh (commit-readonly): Protect keyword against expansion 12860 in sanity.sh itself. Keep the keyword in the file which we check 12861 in (or else this fails to test for the RCS_checkout change). 12862 128631998-06-27 Jim Meyering <meyering@ascend.com> 12864 12865 * rcs.c (RCS_checkout): If opening the local workfile fails due to 12866 lack of write access, try to chmod the file and retry the open. 12867 Before, a commit could fail part way through merely because the 12868 open to rewrite with newly expanded rcs keywords would fail. It's 12869 easy to make this happen if you use `cvs -r' or CVSREAD and you 12870 apply a patch to one of your read-only source files -- patch 12871 preserves the read-only setting for the file and your next commit 12872 will fail after committing that file, but before rewriting 12873 (checking out) your working copy. 12874 * sanity.sh (commit-readonly): New test for this. 12875 128761998-06-25 Jim Kingdon <kingdon@harvey.cyclic.com> 12877 12878 * update.c (patch_file): Update comments regarding context diffs 12879 to reflect diff library. 12880 128811998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com> 12882 12883 * sanity.sh (modules4): Add tests for reversing the order of the 12884 "!first-dir/sdir" and "first-dir". 12885 128861998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com> 12887 and Dave Wolfe@Motorola. 12888 12889 * sanity.sh (modes2): Touch the file before chmod'ing it. 12890 128911998-06-21 Ian Lance Taylor <ian@cygnus.com> 12892 12893 * update.c (merge_files): Revert changes of 1998-06-19. Instead, 12894 register a merged file with a dummy time stamp. Only set 12895 last_register_time if we need to. 12896 (join_file): Likewise. Always register a merged file, not just 12897 when the merge fails. 12898 128991998-06-21 Jim Kingdon <kingdon@harvey.cyclic.com> 12900 12901 * call_diff_write_output, call_diff_printf_output, 12902 call_diff_flush_output, call_diff_write_stdout, call_diff_error, 12903 call_diff_stdout_callbacks, call_diff_file_callbacks): Re-indent. 12904 129051998-06-19 Ian Lance Taylor <ian@cygnus.com> 12906 12907 * update.c (merge_file): Make sure the time stamp of the file is 12908 different from the time stamp we register in the Entries file. 12909 (join_file): Likewise. 12910 129111998-06-18 Ian Lance Taylor <ian@cygnus.com> 12912 12913 * rcscmds.c: Include <stdio.h>. Include either <stdarg.h> or 12914 <varargs.h>. Declare vasprintf. 12915 (call_diff_write_output): New static function. 12916 (call_diff_printf_output): New static function. 12917 (call_diff_flush_output): New static function. 12918 (call_diff_write_stdout): New static function. 12919 (call_diff_error): New static function. 12920 (call_diff_stdout_callbacks): New static variable. 12921 (call_diff_file_callbacks): New static variable. 12922 (call_diff): Don't sleep. Use a callback structure when calling 12923 the diff library. 12924 (call_diff3): Likewise. 12925 12926 * rcscmds.c: Include diffrun.h. 12927 (call_diff, call_diff3): Pass NULL callback parameter. 12928 (diff_run, diff3_run): Don't declare. 12929 * Makefile.in (rcscmds.o): New target, to use -I for diff 12930 directory. 12931 (zlib.o): Depend upon zlib.h. 12932 129331998-06-09 Mike Sutton@SAIC 12934 12935 Make it compile with Sun's bundled K&R C compiler: 12936 * rcs.c (count_delta_actions): Change to static to match 12937 declaration. 12938 * client.c (handle_wrapper_rcs_option): Rename error label to 12939 handle_error to avoid clash with function name. 12940 129411998-06-09 Jim Kingdon <kingdon@harvey.cyclic.com> 12942 12943 * rcs.c (RCS_delete_revs): If we are trying to delete all 12944 revisions, give an error rather than assertion failed. 12945 * sanity.sh (basicb): New tests basicb-o* test for this. 12946 129471998-06-04 Jim Kingdon <kingdon@harvey.cyclic.com> 12948 12949 * add.c (add): Only send "Directory" requests if we need to. 12950 129511998-06-02 Assar Westerlund <assar@sics.se> 12952 12953 * client.c: Check for HAVE_GSS_C_NT_HOSTBASED_SERVICE rather than 12954 assuming that GSS_C_NT_HOSTBASED_SERVICE is a macro. 12955 * server.c: Likewise. 12956 129571998-06-02 Jim Kingdon <kingdon@harvey.cyclic.com> 12958 12959 * fileattr.c (fileattr_read): Check for NULL return from strchr. 12960 * sanity.sh (devcom3): New test devcom3-10 checks for this. 12961 129621998-06-01 Assar Westerlund <assar@sics.se> 12963 and Ian Lance Taylor <ian@cygnus.com> 12964 12965 * client.c: If HAVE_GSSAPI_H, include <gssapi.h>. Only include 12966 <gssapi/gssapi.h> if HAVE_GSSAPI_GSSAPI_H. Only include 12967 <gssapi/gssapi_generic.h> if HAVE_GSSAPI_GSSAPI_GENERIC_H. 12968 (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined. 12969 (connect_to_gserver): Use GSS_C_NT_HOSTBASED_SERVICE instead of 12970 gss_nt_service_name. 12971 * server.c: Same header file changes. 12972 (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined. 12973 (gserver_authenticate_connection): Use GSS_C_NT_HOSTBASED_SERVICE 12974 instead of gss_nt_service_name. 12975 129761998-06-01 Jim Meyering <meyering@ascend.com> 12977 12978 * sanity.sh (tag8k): Add a test for the 1998-05-02 rcs.c bug fix. 12979 129801998-05-26 Jim Kingdon <kingdon@harvey.cyclic.com> 12981 12982 * rcs.c (annotate): Call tag_check_valid like the other functions 12983 which have a -r option. 12984 * sanity.sh (ann): New test ann-14 tests for this. 12985 129861998-05-24 Jim Kingdon <kingdon@harvey.cyclic.com> 12987 12988 * sanity.sh (importc): New tests importc-5 through importc-8 test 12989 for a (fairly obscure) regression from CVS 1.9. 12990 129911998-05-23 Jim Kingdon <kingdon@harvey.cyclic.com> 12992 12993 * sanity.sh (modules2): Add comment listing cvs release tests. 12994 (info): New test info-cleanup-0 tests "cvs -n release". 12995 12996 * rcs.c (rcsbuf_getid): Remove semicolon at end of #undef. I'm 12997 kind of surprised that compilers accepted this at all, but 12998 removing it squelches a warning for some compilers. 12999 13000 * version.c: Change version number to 1.9.28.1. 13001 13002 * Version 1.9.28. 13003 130041998-05-22 Jim Kingdon <kingdon@harvey.cyclic.com> 13005 13006 * rcs.c (RCS_cmp_file): Check for errors from CVS_FOPEN. This 13007 restores the CVS 1.9 behavior (fatal error if we can't open the 13008 file), and corrects an apparent oversight in Ian's 13 Apr 1997 13009 change. 13010 * sanity.sh (modes2): New test, tests for this. 13011 130121998-05-22 Ian Lance Taylor <ian@cygnus.com> 13013 13014 * server.c (server_updated): Correct test for whether to unlink 13015 the file. 13016 130171998-05-20 Jim Kingdon <kingdon@harvey.cyclic.com> 13018 13019 * wrapper.c (wrap_add): Disable -t/-f wrappers at least until the 13020 serious bug can be fixed. 13021 130221998-05-15 Jim Kingdon <kingdon@harvey.cyclic.com> 13023 13024 * checkout.c (checkout): Call server_pathname_check on the 13025 argument to "cvs co -d". 13026 * server.c (server_pathname_check): Add comment about how we could 13027 be handling absolute pathnames. 13028 * sanity.sh (abspath): Rewrite the tests which run "cvs co -d /foo" 13029 for remote, to reflect this. 13030 13031 * sanity.sh (abspath): Also do the "cannot rename" work-around for 13032 abspath-7d. 13033 130341998-05-13 Jim Kingdon <kingdon@harvey.cyclic.com> 13035 13036 * commit.c (commit_filesdoneproc): Free admin_dir when done with it. 13037 130381998-05-13 Jim Meyering <meyering@ascend.com> 13039 13040 * sanity.sh (editor): Change bogus sed command, `s/^/x&/g', to `s/^/x/'. 13041 The former exercised a bug in GNU sed-3.01-beta3. 13042 (emptydir-8): Add `Rebuilding administrative file database' message, 13043 since now it does that. 13044 * commit.c (commit_filesdoneproc): Pass only the admin directory 13045 pathname to mkmodules. 13046 Remove #if 0, now that it's fixed. 13047 13048 * status.c (cvsstatus): Rename from `status' to avoid shadowing 13049 lots of locals and parameters by the same name. 13050 * server.c (serve_status): Update caller. 13051 * main.c (cmds[]): Update table entry. 13052 * cvs.h: Update prototype. 13053 13054 * commit.c (commit_filesdoneproc): Remove trailing blanks. 13055 (commit) [CLIENT_SUPPORT]: Remove unnecessary (and local-shadowing) 13056 declaration of `err'. 13057 Rename global `tag' to `saved_tag' to avoid overshadowing `tag' 13058 parameters of three functions. 13059 Rename global `message' to `saved_message' to avoid overshadowing 13060 `message' parameter of a function. 13061 Rename global `ulist' to `saved_ulist' and move dcl up with others. 13062 130631998-05-12 Jim Kingdon <kingdon@harvey.cyclic.com> 13064 13065 * commit.c (commit_filesdoneproc): #if 0 the new code until it can 13066 be fixed. 13067 13068 * commit.c (commit_filesdoneproc): Add comment explaining last 13069 change. 13070 130711998-05-12 Jim Meyering <meyering@ascend.com> 13072 13073 * commit.c (commit_filesdoneproc): Call mkmodules not just when 13074 committing a file directly under CVSROOT, but also when committing 13075 files in subdirectories of CVSROOT. 13076 130771998-05-08 Jim Meyering <meyering@ascend.com> 13078 13079 * filesubr.c (xreadlink): NUL-terminate the symbolic link name. 13080 Use a much smaller initial buffer length. 13081 Test errno only if readlink fails. 13082 Use xstrdup then free the original link name so we don't waste space. 13083 130841998-05-02 Jim Meyering <meyering@ascend.com> 13085 13086 * rcs.c (rcsbuf_getword): Fix off-by-one error that would result in 13087 an abort (the first one in rcsbuf_getkey) when operating on on some 13088 ,v files with over 8192 bytes of tag and branch info. 13089 130901998-05-04 Jim Kingdon <kingdon@harvey.cyclic.com> 13091 13092 * sanity.sh (ann): New tests ann-12 and ann-13 test for specifying 13093 a numeric branch. 13094 130951998-05-02 Jim Kingdon <kingdon@harvey.cyclic.com> 13096 13097 * rcs.c: Add comments about getting rid of rcsbuf_getid, 13098 rcsbuf_getword, and rcsbuf_getstring. 13099 13100 * sanity.sh (abspath): Revise the workarounds to deal with exit 13101 status. 13102 131031998-04-30 Jim Kingdon <kingdon@harvey.cyclic.com> 13104 13105 * sanity.sh (abspath): Work around the "cannot rename" bug. 13106 131071998-04-27 Jim Kingdon <kingdon@harvey.cyclic.com> 13108 13109 * classify.c (Classify_File): Add comments about checking whether 13110 command name is "update". 13111 131121998-04-22 Jim Kingdon <kingdon@harvey.cyclic.com> 13113 13114 * version.c: Change version number to 1.9.27.1. 13115 13116 * Version 1.9.27. 13117 131181998-04-20 Jim Kingdon <kingdon@harvey.cyclic.com> 13119 13120 (This diff was run by devel-cvs and everyone seemed to like it). 13121 * diff.c (diff_file_nodiff): Make HEAD mean the head of the branch 13122 which contains the sticky tag, not the sticky tag itself. 13123 * rcs.c, rcs.h (RCS_branch_head): New function. 13124 * sanity.sh (head): Update for this changed behavior. 13125 131261998-04-19 Jim Kingdon <kingdon@harvey.cyclic.com> 13127 13128 * sanity.sh: Move emptydir tests from basicb to new test emptydir. 13129 This is because we now need a module definition to create Emptydir; 13130 "co -d" doesn't cut it anymore. 13131 131321998-04-17 Petri Virkkula 13133 13134 * server.c (mkdir_p): Ignore EROFS error (like for EACCES). 13135 131361998-04-16 Jim Kingdon <kingdon@harvey.cyclic.com> 13137 13138 * checkout.c (checkout_proc): Don't create directories above the 13139 last one specified in "co -d". 13140 (build_dirs_and_chdir): Revert Noel's change of 17 Feb 1998. 13141 (struct dir_to_build): New field just_chdir. 13142 (build_dirs_and_chdir): Test it. 13143 * sanity.sh (abspath): New tests abspath-7* test for a bug which 13144 we fix, in which CVS would create bogus "D/////" entries in 13145 CVS/Entries. 13146 (abspath): Revise abspath-3* tests to test for the fact that we no 13147 longer create directories above the last one specified in "co -d". 13148 I checked that CVS 1.9 gives an error on this, so changing this 13149 behavior back should be OK. 13150 (cvsadm-2d3): Likewise (also checked CVS 1.9 for this case). 13151 (cvsadm-2d3d): Likewise (also checked CVS 1.9 for this case). 13152 (cvsadm-2d{4,5,6,7,8}, cvsadm-N2d{3,4,5,6,7,8}): Adjust for new 13153 behavior (same case as cvsadm-2d3). 13154 (cvsadm-2d{4,5,6,7,8}d, cvsadm-N2d{3,4,5,6,7,8}d): Remove test 13155 (same case as cvsadm-2d3d). 13156 (cvsadm): For remote, skip most these tests. 13157 (abspath): When cleaning up, delete mod1 and mod2 rather than mod1 13158 twice (longstanding bug, apparently only becomes visible if you 13159 run the tests in a certain order). 13160 131611998-04-14 Wilfredo Sanchez <wsanchez@apple.com> 13162 13163 * rcs.c: variable "lockfile" was being referenced after being 13164 free'd. Bad. Moved the free() call down. 13165 131661998-04-12 Jim Kingdon <kingdon@harvey.cyclic.com> 13167 13168 * sanity.sh (rcs): Add test for annotate and the year 2000. 13169 13170 * server.c (do_cvs_command): If there are partial lines left when 13171 the child process is done, send them along. 13172 * sanity.sh (rcs, rcs2): Enable all tests for remote; tests for 13173 this fix. 13174 131751998-04-11 Jim Kingdon <kingdon@harvey.cyclic.com> 13176 13177 * client.c (client_senddate): Pass SDATEFORM not DATEFORM to 13178 sscanf. This fixes a Y2K bug. 13179 13180 * history.c (history, select_hrec): Change since_date from time_t 13181 to RCS format. Use the usual machinery (in particular, Make_Date 13182 and client_senddate) so that it will work on VMS too. 13183 * main.c, cvs.h (date_from_time_t): New function. 13184 * sanity.sh (history): New test, to test that this didn't break 13185 anything (also tests client_senddate fix). 13186 131871998-04-11 Norbert Kiesel <nk@iname.com> 13188 13189 * server.c (cvs_output_binary): Shut up "gcc -Wall" by removing 13190 unnecessary else if test. 13191 * server.c (check_password): Fix uninitialized memory read if 13192 shadow passwords are used. Also added some comments. 13193 * rcs.c (RCS_checkout): Make sure to call chown with -1 for uid or 13194 gid if they should not be changed 13195 131961998-04-10 Jim Kingdon <kingdon@harvey.cyclic.com> 13197 13198 * sanity.sh (rcs2): New test, tests for various Y2K cases. 13199 * rcs.c (getdelta): Value for "state" keyword is optional (bug 13200 discovered incidentally in writing rcs2 test). 13201 132021998-04-09 Jim Kingdon <kingdon@harvey.cyclic.com> 13203 13204 * filesubr.c, cvs.h (link_file): Remove; no longer used. 13205 132061998-04-08 Jim Kingdon <kingdon@harvey.cyclic.com> 13207 13208 * recurse.c (do_dir_proc): Restore update_dir rather than a 13209 computation which appears to, but does not necessarily, restore it 13210 (reported by various people; this fix is from Greg Hudson). 13211 * sanity.sh (importc): New test, tests for this fix. 13212 132131998-03-27 Jim Kingdon <kingdon@harvey.cyclic.com> 13214 13215 * rcs.c (RCS_lock): If the revision is already locked, give an 13216 error rather than dumping core. 13217 * sanity.sh (reserved): New test reserved-13c tests for this. 13218 132191998-03-25 Loren J. Rittle 13220 13221 * import.c (add_rev): Rewrite to use RCS_FLAGS_KEEPFILE option 13222 of RCS_checkin() to avoid damage to imported files instead of 13223 externally undoing damage after the fact. The side effect is 13224 that callers of add_rev() may now incrementally walk the 13225 entries of the current directory without seeing gratuitous 13226 changes to the directory structure (under at least one file 13227 system under at least one OS). 13228 132291998-03-18 Jim Kingdon <kingdon@harvey.cyclic.com> 13230 13231 * error.c (error): Save and restore errno. Should fix test case 13232 conflicts3-23 on SCO 5.0.2. Reported by Steve Cameron. 13233 13234 * sanity.sh (admin): Rename admin-26-o* to admin-26-*; the "o" 13235 stands for "cvs admin -o". Add comment about length of tests. 13236 Use ${PLUS}. 13237 132381998-03-05 Dan Wilder <dan@gasboy.com> 13239 13240 * Fix problem with cvs admin in which -ntag:branch 13241 option associated tag with the branch's head revision. 13242 Should have used branch number. Entailed in this fix, 13243 the following. 13244 13245 * Add new functions "RCS_exist_rev", "RCS_exist_tag", 13246 "RCS_tag2rev", and "RCS_valid_rev" to rcs.c. RCS_tag2rev 13247 is similar to RCS_gettag, but does less interpretation. 13248 13249 * Plug a small memory leak. 13250 13251 * Add tests admin-26 through admin-29 to sanity.sh, 13252 to test "cvs admin -n". 13253 132541998-03-17 Samuel Tardieu <sam@inf.enst.fr> 13255 13256 * server.c (server_register): protect dereferencing timestamp in 13257 the trace message when it is null, to avoid a segmentation fault. 13258 132591998-03-16 Jim Kingdon <kingdon@harvey.cyclic.com> 13260 13261 * options.h.in (MY_NDBM): Rewrite the comment explaining this 13262 option. It was not clear to everyone who "my" referred to, for 13263 example. 13264 13265 * hardlink.c (list_linked_files_on_disk): Remove unused variables 13266 err and p. 13267 (list_linked_files_on_disk): Add comment about memory allocation 13268 of return value. 13269 * rcs.c (rcsbuf_getword): Shut up gcc -Wall with a "return 0". 13270 (RCS_checkin): Remove unused variable fullpath. 13271 * sanity.sh (hardlinks): Remove comment about spurious warnings; 13272 the warnings are gone. 13273 132741998-03-12 Tim Pierce <twp@skepsis.com> 13275 13276 New functions for parsing and writing hardlink fields. 13277 * rcs.c [PRESERVE_PERMISSIONS_SUPPORT] (puthardlink_proc): New 13278 function. 13279 (putdelta) [PRESERVE_PERMISSIONS_SUPPORT]: Use it. 13280 (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): New functions. 13281 (getdelta): Call them, storing `hardlinks' field in vnode->hardlinks. 13282 (RCS_reparsercsfile): When setting rdata->desc, xstrdup value 13283 rather than rcsbuf_valcopying it (due to changes in how getdelta 13284 handles keys and values in newphrases). 13285 13286 * sanity.sh (hardlinks): Use uglier filenames. Checking out 13287 hardlinked files no longer produces the same spurious diagnostics, 13288 so fix that test. 13289 (hardlinks-2.3): Renamed from hardlinks-2.2 (duplicate test name). 13290 13291 New infrastructure for managing hardlink lists internally... 13292 * hardlink.c, hardlink.h (list_linked_files_on_disk, 13293 compare_linkage_lists, find_checkedout_proc): New functions. 13294 * rcs.h (struct rcsversnode) [PRESERVE_PERMISSIONS_SUPPORT]: New 13295 member `hardlinks'. 13296 * update.c (special_file_mismatch): Get hardlinks from 13297 vp->hardlinks instead of from vp->other_delta. 13298 * rcs.c (free_rcsvers_contents): Comment about freeing hardlinks 13299 member. 13300 (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Get hardlinks from 13301 vers->hardlinks list instead of vers->other_delta. 13302 13303 ... and removed obsolete code from earlier revs. 13304 * hardlink.c, hardlink.h (list_files_linked_to, 13305 cache_hardlinks_proc, list_files_proc, set_hardlink_field_proc): 13306 Removed. 13307 * hardlink.h: Removed `links' member from hardlink_info struct. 13308 * commit.c (commit): Remove the call to cache_hardlinks_proc. 13309 (check_fileproc) [PRESERVE_PERMISSIONS_SUPPORT]: Removed reference 13310 to hlinfo->links. 13311 * hardlink.c (update_hardlink_info): Same. 13312 * update.c (get_linkinfo_proc): Same. 13313 13314 * rcs.c (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Use 13315 vp->hardlinks and find_checkedout_proc to find recently-updated 13316 files that may be hardlinked. 13317 * update.c (special_file_mismatch): Use List * structures and 13318 compare_linkage_lists for rev1_hardlinks and rev2_hardlinks. 13319 133201998-03-16 Larry Jones <larry.jones@sdrc.com> 13321 13322 * server.c (check_password): If shadow passwords are supported but no 13323 entry is found in the shadow file, check the regular password file. 13324 133251998-03-07 Jim Kingdon <kingdon@harvey.cyclic.com> 13326 13327 * sanity.sh: Rename permissions test to perms since that is what 13328 each of its individual tests are named. 13329 * sanity.sh (perms symlinks hardlinks): Change CVSROOT to 13330 CVSROOT_DIRNAME where appropriate. 13331 (perms symlinks hardlinks): Disable/adjust the meat of the tests for 13332 remote. 13333 (symlinks): Link to ${TESTDIR}/fumble rather than 13334 /fumble/mumble/grumble. We shouldn't be making assumptions about 13335 what might exist in random directories outside ${TESTDIR}. 13336 * hardlink.c (cache_hardlinks_proc): Add comment about trimming 13337 whitespace. 13338 133391998-03-07 Tim Pierce <twp@skepsis.com> 13340 13341 * rcs.c (RCS_checkout): Negation bug when checking out symlinks: 13342 existence_error should be !existence_error. 13343 * sanity.sh (permissions symlinks hardlinks): New tests, for 13344 PreservePermissions. 13345 133461998-03-04 Jim Kingdon <kingdon@harvey.cyclic.com> 13347 13348 * version.c: Change version number to 1.9.26.1. 13349 13350 * Version 1.9.26. 13351 13352 * entries.c, cvs.h (Entries_Open): New argument update_dir; use it 13353 in error message. 13354 * add.c, checkout.c, client.c, find_names.c, import.c, recurse.c, 13355 update.c: Pass it (as NULL except in call_in_directory). 13356 * entries.c (Subdirs_Known): Just return if there is no CVSADM 13357 directory (as in subdir_record). 13358 * sanity.sh (conflicts3): New tests conflicts3-20a and 13359 conflicts3-23 test for these fixes. 13360 13361 * commit.c (commit): Only set up hardlist if preserve_perms. 13362 13363 * commit.c, import.c, no_diff.c, parseinfo.c, rcs.c, rcscmds.c, 13364 update.c: Omit the preserve_perms code if 13365 PRESERVE_PERMISSIONS_SUPPORT is not defined. Much of that code 13366 won't even compile on non-unix systems. 13367 13368 * hardlink.c, hardlink.h: Use the 'standard' copyright (as found 13369 in server.c). 13370 * commit.c, rcs.c: Minor whitespace changes to Tim's submission. 13371 * commit.c (check_fileproc), update.c (get_linkinfo_proc): Remove 13372 unused variable delta. 13373 * hardlink.c (set_hardlink_field_proc), update.c 13374 (get_linkinfo_proc): Return a value rather than falling off the 13375 end of the function. 13376 133771998-03-02 Tim Pierce <twp@skepsis.com> 13378 13379 * update.c (special_file_mismatch): Compare the hard links of the 13380 two revisions. 13381 13382 * rcs.c (RCS_checkout): 13383 13384 * hardlink.c, hardlink.h: New files. 13385 (hardlink_info): New struct. 13386 (hardlist, working_dir): New variables. 13387 (list_files_proc, cache_hardlinks_proc, set_hardlink_field_proc, 13388 lookup_file_by_inode, update_hardlink_info, list_files_linked_to): 13389 New functions. 13390 13391 * Makefile.in (SOURCES): Add hardlink.c. 13392 (OBJECTS): Add hardlink.o. 13393 (HEADERS): Add hardlink.h. 13394 * commit.c: Include hardlink.h. 13395 (commit): Save the working directory before recursing. Walk the 13396 hardlink list, calling set_hardlink_field_proc on each node. 13397 (check_fileproc): Add each file's link information to hardlist. 13398 * rcs.c: Include hardlink.h. 13399 (RCS_checkin): Save list of hardlinks in delta node. 13400 (RCS_checkout): Look up the file's `hardlinks' delta field, and 13401 see if any of the files linked to it have been checked out 13402 already. Link to one of those files if so. 13403 * update.c: Include hardlink.h. 13404 (get_linkinfo_proc): New function. 13405 (do_update): Extra recursion to collect hardlink info. 13406 (special_file_mismatch): Reparse the RCS file if necessary. 13407 13408 fsortcmp is now used by several files, so let's make it extern. 13409 * hash.c, hash.h (fsortcmp): New function. 13410 * find_names.c (fsortcmp): Removed. 13411 * lock.c (fsortcmp): Removed. 13412 134131998-03-03 Jim Kingdon <kingdon@harvey.cyclic.com> 13414 13415 * sanity.sh (conflicts3): New tests conflicts3-14a, 13416 conflicts3-14b, and conflicts3-21, conflicts3-22 test that we can 13417 skip over a working directory with a CVSADM directory missing. 13418 134191998-02-26 Jim Kingdon <kingdon@harvey.cyclic.com> 13420 13421 * sanity.sh (conflicts3): Tests conflicts3-16 and conflicts3-20 13422 test that we include update_dir in messages. Rename test 13423 conflicts3-14 to fix typo. 13424 13425Sun Feb 22 23:14:25 1998 Steve Cameron <steve.cameron@compaq.com> 13426 and Ian Lance Taylor <ian@cygnus.com> 13427 13428 * update.c (tag_update_dir): New static variable. 13429 (update_dirent_proc): If no tag or date were specified when 13430 creating a subdirectory, use the tag and/or date of the parent 13431 directory. 13432 (update_dirleave_proc): If we set the tag and/or date in 13433 update_dirent_proc, reset them when we leave the directory. 13434 * sanity.sh (branches2): New set of tests for above patch, and 13435 related behaviour. 13436 13437Sun Feb 22 13:31:51 1998 Ian Lance Taylor <ian@cygnus.com> 13438 13439 * commit.c (lock_RCS): Don't call RCS_rewrite. 13440 13441 * update.c (patch_file): If the revision is dead, let 13442 checkout_file handle it. 13443 * sanity.sh (death2): Add test for above patch: add 13444 death2-10a, death2-10b, death2-13a, and adjust 13445 death2-{2,4,5,11,14,diff-11,diff-12,19}. 13446 13447 * cvs.h (RCS_FLAGS_KEEPFILE): Define. 13448 * rcs.c (RCS_checkin): If RCS_FLAGS_KEEPFILE is set in the flags 13449 parameter, don't unlink the working file. 13450 * checkin.c (Checkin): Don't copy the file. Instead pass 13451 RCS_FLAGS_KEEPFILE to RCS_checkin, and only check the file out 13452 again if it has changed. 13453 134541998-02-21 Jim Kingdon <kingdon@harvey.cyclic.com> 13455 13456 * rcs.c (rcs_internal_unlockfile, RCS_rewrite): Don't assume errno 13457 means anything just because ferror is set. 13458 13459Sat Feb 21 20:02:24 1998 Ian Lance Taylor <ian@cygnus.com> 13460 13461 * Makefile.in (clean): Change "/bin/rm" to "rm". 13462 13463 * buffer.c (buf_append_buffer): Correct typo in comment. 13464 * rcs.c (RCS_putadmin): Likewise. 13465 13466Fri Feb 20 17:53:06 1998 Ian Lance Taylor <ian@cygnus.com> 13467 13468 * rcs.c (rcs_internal_unlockfile): Pass errno when calling error 13469 because ferror is true. 13470 134711998-02-20 Jim Kingdon <kingdon@harvey.cyclic.com> 13472 13473 * sanity.sh (abspath): Don't assume that we can't write to /; this 13474 is the kind of thing that is sure to break sooner or later 13475 (especially on Windows). 13476 13477 * sanity.sh: Add summary of which modules tests are which (at 13478 "modules"). Move cvsadm, abspath, and toplevel next to modules. 13479 Add comments to clarify the structure (such as it is). 13480 13481Fri Feb 20 12:47:14 1998 Larry Jones <larry.jones@sdrc.com> 13482 13483 * admin.c (admin_fileproc): Better fix for -b. 13484 13485 * rcs.c (RCS_whatbranch): Back out previous change. 13486 (RCS_getversion): Ditto. 13487 (RCS_setbranch): Treat an empty revision string like a null pointer. 13488 134891998-02-18 Jim Kingdon <kingdon@harvey.cyclic.com> 13490 13491 * rcs.c (RCS_whatbranch): Fix indentation. 13492 13493 * patch.c (patch_fileproc): Check for errors from fclose; check 13494 for errors from fopen properly. 13495 13496Wed Feb 18 16:03:37 1998 Larry Jones <larry.jones@sdrc.com> 13497 13498 * admin.c (admin_fileproc): Convert -b argument from symbolic name 13499 to revision number before storing in the RCS file. 13500 * rcs.c (RCS_whatbranch): Allow numeric as well as symbolic revision. 13501 (RCS_getversion): Take advantage of above. 13502 * sanity.sh (admin): Add/revise/renumber admin-10c, admin-11a, 13503 admin-12, and admin-12a to check above. 13504 13505 * commmit.c (lock_RCS): Minor clean-up. 13506 13507 * sanity.sh (abspath-6a): Don't depend on the sepcific contents of 13508 CVSROOT, it depends on which other tests have been run. 13509 13510Wed Feb 18 01:56:04 1998 Ian Lance Taylor <ian@cygnus.com> 13511 13512 * rcs.c (putsymbol_proc): Use putc and fputs rather than fprintf. 13513 (RCS_putadmin): Don't call RCS_symbols if the symbols have not yet 13514 been converted to a list. 13515 13516 * rcs.c (rcsbuf_cache, rcsbuf_cache_open, rcsbuf_cache_close): New 13517 static functions to avoid closing and reopening the RCS file. 13518 (cached_rcs, cached_rcsbuf): New static variables. 13519 (RCS_parse): Call rcsbuf_cache_close. Don't call fclose. 13520 (RCS_parsercsfile): Likewise. 13521 (RCS_parsercsfile_i): Call rcsbuf_cache rather than 13522 rcsbuf_close. Call fclose on error. Remove comment about 13523 inefficiency of opening file twice. 13524 (RCS_reparsercsfile): Call rcsbuf_cache_open rather than fopen and 13525 rcsbuf_open. Call rcsbuf_cache rather than rcsbuf_close and 13526 fclose. 13527 (RCS_fully_parse, RCS_checkout, RCS_deltas): Likewise. 13528 (RCS_rewrite): Likewise. 13529 (RCS_checkin): Call rcsbuf_cache_close. 13530 13531 * rcs.c (RCS_copydeltas): Fix code which checks for an extra 13532 newline in buffered data. 13533 13534 * rcs.c (rcsbuf_getkey): Save an indirection by using start rather 13535 than *valp when trimming trailing whitespace from value. 13536 13537 * rcs.c (rcsbuf_get_buffered): New static function. 13538 (RCS_copydeltas): After we have done all the required special 13539 actions, and inserted any new revision, just copy the file bytes 13540 directly, rather than interpreting all the data. 13541 (count_delta_actions): New static function. 13542 * sanity.sh (rcs): Add rcs-6a and rcs-6b to commit a new branch 13543 revision, to force CVS to interpret all the data, rather than just 13544 copying it. Adjust rcs-5 to add a branch tag. Adjust rcs-8a and 13545 rcs-14 for the changes created by rcs-6b. 13546 13547Tue Feb 17 18:34:01 1998 Ian Lance Taylor <ian@cygnus.com> 13548 13549 * sanity.sh (cvsadm, diffmerge2): Remove directories at the end of 13550 the test. 13551 13552 * import.c (expand_at_signs): Rewrite to use memchr and fwrite 13553 rather than putc. 13554 13555 Rewrite RCS file reading routines for speed: 13556 * rcs.c (struct rcsbuffer): Define. 13557 (rcsbuf_open, rcsbuf_close, rcsbuf_getkey, rcsbuf_getrevnum, 13558 rcsbuf_fill, rcsbuf_valcopy, rcsbuf_valpolish, 13559 rcsbuf_valpolish_internal, rcsbuf_ftell): New static functions. 13560 (getrcskey, getrcsrev, getrevnum): Remove. 13561 (many functions): Change to use new rcsbuf functions instead of 13562 old getrcskey/getrcsrev/getrevnum functions. 13563 (RCS_reparsercsfile): Add rcsbufp parameter. Change all callers. 13564 (RCS_deltas): Add rcsbuf parameter. Change all callers. 13565 (getdelta): Change fp parameter to rcsbuf parameter. Change all 13566 callers. 13567 (RCS_getdeltatext): Add rcsbuf parameter. Change all callers. 13568 (RCS_copydeltas): Add rcsbufin parameter. Change all callers. 13569 * rcs.h (RCS_reparsercsfile): Update declaration. 13570 * admin.c (admin_fileproc): Update calls to RCS_reparsercsfile for 13571 new parameters. 13572 135731998-02-17 Jim Kingdon <kingdon@harvey.cyclic.com> 13574 13575 * sanity.sh (toplevel): Also clean up second-dir (not a new 13576 bug, but triggered by running tests as "toplevel abspath"). 13577 13578 * create_adm.c (Create_Admin): Just print update_dir to tell the 13579 user where we are; not the whole xgetwd. Cleaner than 13580 Noel's change (which also had problems in errno handling). 13581 * sanity.sh (toplevel-12): Update accordingly. 13582 13583Tue Feb 17 02:32:21 1998 Noel Cragg <noel@swish.red-bean.com> 13584 13585 [These mods make "checkout" work with "-d /absolute/pathname" 13586 once again.] 13587 13588 * checkout.c (checkout_proc): the -d flag on the command line 13589 should override the -d flag in the modules file if the latter is 13590 an absolute path. The loop that assembles the list of directories 13591 to build has been reorganized slightly to prepare for rewriting 13592 with last_component rather than assuming '/' as a path separator. 13593 Also added to that loop was some code to handle absolute 13594 pathnames. 13595 (build_dirs_and_chdir): add a new argument that tells this routine 13596 whether or not to check before it creates and populates 13597 directories or not. 13598 13599 * filesubr.c (last_component): return the top-level directory when 13600 asked about the top-level directory. 13601 13602 * sanity.sh (toplevel-12): change test to reflect the new style of 13603 this error message. 13604 13605 * create_adm.c (Create_Admin): include the directory in the error 13606 message. 13607 136081998-02-16 Jim Kingdon <kingdon@harvey.cyclic.com> 13609 13610 * diff.c (diff_fileproc), import.c (import, add_rcs_file), rcs.c 13611 (RCS_cmp_file): Don't ignore errors from CVS_UNLINK and fclose. 13612 13613 * patch.c (patch_fileproc): Check for errors from fclose; if we 13614 get -1 from getline check for end of file vs. error. 13615 13616 * rcs.c (RCS_checkout): Comment return value (0/1, not -1). 13617 * commit.c, diff.c, mkmodules.c, patch.c, rcs.c, update.c: Update 13618 to match this convention. Don't suppress errors based on 13619 quiet or really_quiet variables. 13620 13621 Fix a longstanding bug which also makes stamps-8kw in make 13622 remotecheck work again (it stopped working with Ian's 8 Feb 98 13623 checkin): 13624 * client.c, client.h (change_mode): If new argument respect_umask 13625 is set, then honor the umask. 13626 * client.c, server.c: Update callers. 13627 13628 Cleanups to Tim's checkin: 13629 * rcs.c (RCS_checkout): Use existence_error not ENOENT. 13630 * commit.c (checkaddfile): Remove comment about whether we want to 13631 check for errors from fclose; there is no reason not to. 13632 * rcs.c (RCS_checkout), update.c (special_file_mismatch): sscanf 13633 on %ld requires an unsigned long, not a dev_t. 13634 * update.c (special_file_mismatch): Remove unused variable 13635 check_devnums. 13636 * mkmodules.c (config_contents): Between two settings, use a blank 13637 line not a "#" line. 13638 136391998-02-15 Tim Pierce <twp@skepsis.com> 13640 13641 [This is the code as submitted. I'll be checking in my cleanups 13642 shortly. This work sponsored by Abbott Labs. -kingdon] 13643 13644 Support for device special files, symbolic links, user and group 13645 ownerships, and file permissions. 13646 13647 * parseinfo.c: (parse_config): Handle new config variable 13648 `PreservePermissions'. 13649 * mkmodules.c (config_contents): Add new PreservePermissions var. 13650 13651 * rcs.c, rcs.h (preserve_perms): New variable. 13652 (RCS_checkout, RCS_checkin): Support for newphrases `owner', 13653 `group', `permissions', `special', `symlink'. 13654 (RCS_checkout): If `workfile' and `sout' are symlinks, remove them 13655 before attempting to open them for writing. 13656 * import.c (add_rcs_file): Support for newphrases. Do not attempt 13657 to read data from special files or symlinks. Error message 13658 `cannot fstat' is now `cannot lstat'. 13659 13660 New metrics for deciding when two files are different: 13661 13662 * update.c, cvs.h (special_file_mismatch): New function. 13663 (merge_file, join_file): Call it. 13664 * no_diff.c (No_Difference): Call it. 13665 13666 * filesubr.c (xcmp): Consider files to be different if they are of 13667 different types; if they are symlinks which link to different 13668 pathnames; or if they are devices with different device numbers. 13669 Error message is now `cannot lstat'. 13670 * rcs.c (RCS_cmp_file): Use `xcmp' to compare files, simplifying 13671 the special handling for nonregular files. 13672 13673 * rcscmds.c (diff_exec, diff_execv): If asked to obtain diffs for 13674 special files, report no differences. 13675 13676 Miscellaneous changes to make special file support possible: 13677 13678 * commit.c (fix_rcs_modes): Don't attempt to `fix' permissions on 13679 a symlink. 13680 13681 * import.c (add_rcs_file): Don't try to close fpuser if it was 13682 never opened (e.g. when operating on a symlink). 13683 13684 * filesubr.c, cvs.h (isdevice, xreadlink): New functions. 13685 * filesubr.c (copy_file): Handle special files and symlinks. 13686 (xchmod): Do nothing if `preserve_perms' is set. 13687 13688 * commit.c (checkaddfile): Replace `copy_file (DEVNULL, ...)' with 13689 fopen/fclose calls. Copy_file no longer attempts to read data 13690 from device files. 13691 13692 * filesubr.c (islink): Use CVS_LSTAT, not lstat. 13693 * vers_ts.c (time_stamp, time_stamp_server): Use CVS_LSTAT, not stat, 13694 to get symlinks right. 13695 * subr.c (get_file): Same. Don't attempt to read from special 13696 files or symlinks. 13697 13698 * classify.c (Classify_File): Doc fix. 13699 13700Fri Feb 13 17:07:32 1998 Eric Mumpower <nocturne@cygnus.com> 13701 and Ian Lance Taylor <ian@cygnus.com> 13702 13703 Fix some file system ordering problems found on Irix 6.4: 13704 * sanity.sh (basic2): Use dotest_sort for test 56. 13705 (importb): Use dotest_sort for tests importb-1 and importb-2. 13706 (head): Use dotest_sort for test head-1. 13707 13708Thu Feb 12 15:15:33 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13709 13710 * import.c (add_rcs_file): If add_logfp is NULL, don't call fperror. 13711 1371211 Feb 1998 Andy Piper 13713 13714 * server.c (cvs_output_binary): Use OPEN_BINARY not _O_BINARY. 13715 13716Mon Feb 9 18:34:39 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13717 13718 Tweaks to Ian's checkin: 13719 * update.c (merge_file): Remove comment about sending file to 13720 client before the message. It doesn't apply to this code any more 13721 (it does apply to checkout_file, but I'm not sure it is important 13722 to have such a comment anyway). 13723 * buffer.c (buf_default_memory_error, buf_length): Reindent. 13724 * server.h: Declare struct buffer before use. 13725 13726Mon Feb 9 21:05:28 1998 Ian Lance Taylor <ian@cygnus.com> 13727 13728 * rcs.c (RCS_fully_parse): Call getrevnum rather than getrcsrev. 13729 Don't bother with ungetc. 13730 13731 * rcs.c (getrcsrev): Rewrite to simply call getrevnum. 13732 13733Sun Feb 8 15:49:39 1998 Ian Lance Taylor <ian@cygnus.com> 13734 13735 Don't have the server check out a revision into a file and then 13736 immediately read the file; just read into a buffer instead. 13737 * update.c: Include buffer.h. 13738 (update_fileproc): Let checkout_file call server_updated. 13739 (checkout_file): Add merging and update_server parameters. Change 13740 all callers. If server_active, don't mess with backup files. If 13741 server_active, copy the revision into a buffer rather than a file 13742 when possible. If update_server, call server_updated. Fix 13743 handling of error status. 13744 (checkout_to_buffer): New static function used by checkout_file. 13745 (merge_file): Let checkout_file call server_updated. 13746 (join_file): Likewise. 13747 * server.c (server_updated): Change file_info parameter to mode 13748 parameter. Add filebuf parameter. Change all callers. If 13749 filebuf is not NULL, don't read the file. 13750 * server.h (server_updated): Update declaration. 13751 * buffer.c (buf_free): New function. 13752 (buf_append_buffer): New function. 13753 (buf_length): New function. 13754 * buffer.h (buf_free, buf_append_buffer, buf_length): Declare. 13755 13756 * buffer.c: (buf_initialize): If the memory parameter is NULL, use 13757 buf_default_memory_error. 13758 (buf_default_memory_error): New static function. 13759 * buffer.h (BUFMEMERRPROC): Define typedef. 13760 * client.c (buf_memory_error): Remove. 13761 (start_server): Pass NULL rather than buf_memory_error as buffer 13762 memory error function. 13763 13764Sat Feb 7 16:27:30 1998 Ian Lance Taylor <ian@cygnus.com> 13765 13766 * rcs.c (RCS_parsercsfile_i): Read the expand keyword from the RCS 13767 file. We do this because Version_TS calls RCS_getexpand in many 13768 common cases, and we don't want to reopen the file just for that. 13769 (RCS_reparsercsfile): Skip the expand keyword. 13770 (RCS_getexpand): Don't call RCS_reparsercsfile. 13771 13772 * rcs.c (STREQ): New macro. In all string equality tests in the 13773 file, replace strcmp with STREQ. 13774 13775Fri Feb 6 16:14:49 1998 Ian Lance Taylor <ian@cygnus.com> 13776 13777 * update.c (checkout_file): If we've already removed the backup 13778 file once, don't try to remove it again. 13779 13780 * filesubr.c (unlink_file_dir): Call stat rather than isdir, and 13781 don't call unlink if the file does not exist. 13782 13783 * myndbm.c (mydbm_load_file): Rename line_len to line_size. Call 13784 getstr rather than getline, to avoid any confusion between \n and 13785 \012. Use the line length returned by getstr rather than calling 13786 strlen. Remove local variable len. 13787 13788Fri Feb 6 13:23:46 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13789 13790 * rcs.c (RCS_parsercsfile_i): Don't suppress errors on 13791 really_quiet. 13792 (RCS_parsercsfile_i, RCS_reparsercsfile, RCS_fully_parse, 13793 RCS_deltas, getdelta, getrcskey, RCS_getdeltatext): 13794 Check for errors. Include errno in error messages. Include 13795 filename in error messages. Pass new argument to getrcskey. 13796 (getrcskey): New argument NAME, so we can report errors ourself. 13797 13798Fri Feb 6 12:10:18 1998 Ian Lance Taylor <ian@cygnus.com> 13799 13800 * rcs.c (RCS_reparsercsfile): Don't use ftell/fseek; just keep 13801 track of whether we've already read a key/value pair. Use sizeof 13802 rather than strlen for a constant string. Pass the current key 13803 and value to getdelta, and get them back as well. 13804 (getdelta): Add keyp and valp parameters. Don't use ftell/fseek; 13805 just return the key/value pair to the caller. Don't allocate 13806 vnode before we know we need it. Check one getrcskey return 13807 value. Use sizeof rather than strlen for a constant string. 13808 13809 * rcs.c (getrcskey): Correct comment describing return value. 13810 13811Thu Feb 5 22:51:13 1998 Ian Lance Taylor <ian@cygnus.com> 13812 13813 * subr.c (getcaller): Cache the result, so that we don't keep 13814 searching the password file. 13815 13816Wed Feb 4 23:31:08 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13817 13818 * rcs.c (max_rev): Don't prototype. Interesting that noone 13819 complained about this until now. 13820 138214 Feb 1998 Jim Kingdon 13822 13823 * rcs.c (RCS_checkin): When adding a new file, read it 13824 with "rb" if binary. 13825 13826Fri Jan 30 11:32:41 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13827 13828 * sanity.sh: Also test "first-dir" as the regexp in loginfo in 13829 addition to ALL. 13830 13831 * main.c (main): Update year in copyright notice to 1998. 13832 13833Thu Jan 29 00:01:05 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13834 13835 * version.c: Change version number to 1.9.25. 13836 13837 * Version 1.9.24. 13838 13839 * sanity.sh (multibranch2): File file2 and tests multibranch2-13 13840 through multibranch2-15 test a slightly different case than the 13841 rest of multibranch2. 13842 13843 * mkmodules.c (cvswrappers_contents): Rewrite. The text didn't 13844 describe -k and had various other problems. 13845 1384628 Jan 1998 Karl Fogel and Jim Kingdon 13847 13848 New feature to let server tell client about wrappers. 13849 * client.h (struct response): Add comment about args being 13850 '\0' terminated when passed to handle_* functions. 13851 * client.c (start_server): send "wrapper-sendme-rcsOptions" to 13852 server iff supported. 13853 (responses): new response "Wrapper-rcsOption"; allows the server 13854 to send certain lines from its cvswrappers file. 13855 (handle_wrapper_rcs_option): new func, handles "Wrapper-rcsOption" 13856 response from server. 13857 * server.c (serve_wrapper_sendme_rcs_options): new func, sends 13858 server side CVSROOT/cvswrappers rcs option lines to client. 13859 (requests): new request "wrapper-sendme-rcsOptions"; if received, 13860 we know we can send "Wrapper-rcsOption..." to the client. 13861 * wrapper.c (wrap_unparse_rcs_options): new func; repeated calls 13862 step down the wrapper list returning rcs option entries, but 13863 repackaged as cvswrappers lines. 13864 (wrap_setup): new guard variable `wrap_setup_already_done'; if 13865 this function has run already, just return having done nothing. 13866 Add comment concerning environment variable. 13867 * cvs.h: declare wrap_unparse_rcs_options(). 13868 13869Tue Jan 27 18:27:19 1998 Ian Lance Taylor <ian@cygnus.com> 13870 13871 * rtag.c (rtag_dirproc): Call ignore_directory, and skip the 13872 directory if it returns true. 13873 * sanity.sh (modules4): New set of tests to test some aspects of 13874 excluding directories in the modules file, including the above 13875 patch. 13876 13877Thu Jan 22 10:05:55 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13878 13879 * server.c (serve_kopt): Check for length of arg. Based on 13880 inspection of the code, plugs a buffer overrun security hole which 13881 was introduced Monday. 13882 13883 * server.c (serve_is_modified): Don't call xmalloc; we aren't 13884 allowed to call error() here. Remove duplicate (and potentially 13885 confusing) variable 'p'. 13886 13887 * log.c (log_fileproc): Look for first character of version 13888 '0' AND second character '\0', rather than OR. I didn't try to 13889 come up with a test case but this looks like a simple thinko 13890 (albeit one which would show up in obscure cases if at all). 13891 13892Tue Jan 20 19:37:53 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13893 13894 * client.c (send_dirent_proc): Don't send nonexistent directories 13895 unless noexec. 13896 * sanity.sh (modules2): New tests modules2-13 through modules2-18 13897 test for this fix. 13898 13899Mon Jan 19 11:17:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13900 13901 * server.c (serve_kopt): New function. 13902 (requests): Add "Kopt" request. 13903 (kopt): New variable. 13904 (serve_is_modified): Write kopts from there into entries. 13905 (serve_modified): Call serve_is_modified so we do the same. 13906 Declare serve_modified and serve_is_modified. 13907 * vers_ts.c (Version_TS): Set ->options even for a dummy ("D" 13908 timestamp) entry. 13909 * import.c (process_import_file): Check for -k options. 13910 * client.c (client_process_import_file): Send Kopt request. 13911 (send_fileproc): Likewise, for "cvs add". 13912 * sanity.sh: Enable test binwrap3-sub2-add1 for remote. 13913 Add -I .cvswrappers to binwrap3-2a; adjust binwrap3-2d 13914 accordingly. Tests for this fix. 13915 13916Mon Jan 19 08:48:59 1998 Larry Jones <larry.jones@sdrc.com> 13917 13918 * sanity.sh (errmsg1): Append test 168 output to log file. 13919 13920Sat Jan 17 08:01:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13921 13922 * sanity.sh (ann-10, ann-11): Don't make assumptions about the 13923 number of characters in the username. 13924 13925Fri Jan 16 15:34:02 1998 Larry Jones <larry.jones@sdrc.com> 13926 13927 * diff.c (diff_fileproc): Free label1 and label2 when finished. 13928 13929 * edit.c (editor_set): Don't free edlist until after we're 13930 done using it. 13931 13932 * rcscmds.c (RCS_merge): Free xrev1 and xrev2 when finished. 13933 13934 * subr.c (make_message_rcslegal): Don't access uninitialized or 13935 unallocated memory; only strip trailing blank lines. 13936 * sanity.sh (log-3): Enhance to test this fix. 13937 13938Fri Jan 16 12:41:03 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13939 13940 * sanity.sh: Add keywordlog to list of tests run by default. 13941 13942 * rcs.c (RCS_deltas): Don't call cvs_output if length is zero; 13943 passing zero length to cvs_output does not mean output zero 13944 bytes. The 27 Dec 1997 change to no longer '\0'-terminate the 13945 ->text field turned this from a time bomb to a user-visible bug. 13946 * sanity.sh (ann): New tests, test for this fix and other annotate 13947 behaviors. 13948 13949Thu Jan 15 23:52:00 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13950 13951 * root.c (root_allow_ok): If inetd.conf didn't specify an 13952 --allow-root options at all, we know we are in trouble. Give a 13953 specific error message. 13954 13955Thu Jan 15 21:24:59 1998 Ian Lance Taylor <ian@cygnus.com> 13956 13957 * sanity.sh (dotest_sort): New variant of dotest which sorts the 13958 output, for use when the output depends upon details of the file 13959 system, typically when doing an import. 13960 (rdiff): Use dotest_sort for rdiff-1. 13961 (ignore): Use dotest_sort for 188a, 188b, 189d, 190, and 191. 13962 13963 * sanity.sh: (TESTSHELL): New variable. 13964 (editor, info, reserved): Use TESTSHELL in temporary script. 13965 13966 * sanity.sh (ignore): Do all tests in subdirectory, to avoid 13967 conflict between cvsroot and CVSROOT on Windows. 13968 (binwrap3, mwrap, info, config): Likewise. 13969 13970 * sanity.sh (binfiles2): Correct test name binfile2-7-brmod to 13971 binfiles2-7-brmod. 13972 13973 * release.c (release_delete): If __CYGWIN32__ is defined, don't 13974 worry about mismatched inodes. This is a hack, but then I think 13975 the test is rather peculiar anyhow. 13976 13977Thu Jan 15 16:07:36 1998 Larry Jones <larry.jones@sdrc.com> 13978 13979 * sanity.sh (reserved-9): Use ${PROG} instead of "cvs". 13980 13981Wed Jan 14 15:43:13 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13982 13983 * Split ChangeLog into ChangeLog-97 and ChangeLog. 13984 * Makefile.in (DISTFILES): Add ChangeLog-97. 13985 1398613 Jan 1998 Jim Kingdon 13987 13988 * client.c: Declare handle_mt. 13989 13990Tue Jan 13 22:21:30 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 13991 13992 * sanity.sh: Add comment about how pwd and /bin/pwd often differ 13993 in behavior (but are not guaranteed to). 13994 13995Tue Jan 13 13:49:53 1998 Ian Lance Taylor <ian@cygnus.com> 13996 13997 * sanity.sh: When setting TMPPWD use just pwd, not /bin/pwd. 13998 13999 * update.c (checkout_file): Don't pass set_time as true to 14000 Version_TS if the file is dead. 14001 * sanity.sh (modules): Add tests modules-155c6 through 14002 modules-155c8 to test for above patch (without the above patch, 14003 modules-155c8 will fail when remote). 14004 14005Tue Jan 13 10:37:02 1998 Larry Jones <larry.jones@sdrc.com> 14006 14007 * client.c (send_modified): Change bufsize and newsize from int 14008 to size_t to avoid type clashes in call to read_and_gzip. 14009 14010Tue Jan 13 10:33:02 1998 Larry Jones <larry.jones@sdrc.com> 14011 14012 * zlib.c (read_and_gzip): Set finish to 0; it was uninitialized. 14013 14014Tue Jan 13 10:26:43 1998 Larry Jones <larry.jones@sdrc.com> 14015 14016 * add.c, rcs.c: Plug memory leaks. 14017 14018Mon Jan 12 10:45:27 1998 Larry Jones <larry.jones@sdrc.com> 14019 14020 * server.c (mkdir_p): Don't try to create nameless directories 14021 (i.e., given "/foo//bar", don't try to create "/foo/", 14022 just "/foo" and "/foo//bar") since it isn't necessary and 14023 it fails on some systems in unexpected ways. 14024 140251998-01-11 enami tsugutomo <enami@but-b.or.jp> 14026 14027 * rcs.c (linevector_copy): Delete lines before overwriting them. 14028 14029Sat Jan 10 11:05:40 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 14030 14031 * cvsrc.c, entries.c, login.c, logmsg.c, myndbm.c, patch.c, 14032 release.c, server.c: Check for errors from getline, CVS_FOPEN, 14033 fprintf, CVS_UNLINK and fclose. Note that the new errors are 14034 nonfatal. This is because of conservatism more than because 14035 it is always the best thing. 14036 * login.c (get_cvs_password): Close the file when done with it. 14037 * client.c (notified_a_file): If -1 return from getline, check 14038 feof rather than assuming errno is set. 14039 14040Fri Jan 9 14:38:54 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 14041 14042 * server.c (expand_proc): Also output server_dir in 14043 "Module-expansion", not just in output_dir ("Created", &c). 14044 * sanity.sh (modules2): New tests modules2-9 through modules2-12 14045 test for this. 14046 14047Thu Jan 8 12:56:55 1998 Yasutoshi Hiroe <hiroe@rgk.ricoh.co.jp> 14048 14049 * import.c (import): Don't strcat on uninitialized memory. Fixes 14050 possible SIGSEGV with zero-length message. 14051 14052Tue Jan 6 22:56:29 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 14053 14054 * sanity.sh (crerepos): Fix mistaken variable name which caused us 14055 not to clean up at the end of the test. 14056 14057Mon Dec 22 01:40:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 14058 14059 * add.c (add): Also look for .cvswrappers files. 14060 * sanity.sh (binwrap3): New tests binwrap3-2*, binwrap3-sub2-add* 14061 test for this. 14062 14063Tue Jan 6 11:50:38 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 14064 14065 * sanity.sh (crerepos): New tests crerepos-8 through crerepos-18 14066 test behaviors when mixing repositories. 14067 14068Sun Jan 4 17:40:22 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 14069 14070 * version.c: Change version number to 1.9.23. 14071 14072 * Version 1.9.22. 14073 14074 14075For older changes see ChangeLog-97. 14076