/contrib/cvs/src/ChangeLog-9395

https://bitbucket.org/freebsd/freebsd-head/ · #! · 3731 lines · 2660 code · 1071 blank · 0 comment · 0 complexity · b75edd92454eccb4c8e7dd88b28d1bcf MD5 · raw file

Large files are truncated click here to view the full file

  1. Note: this log overlaps in time with ChangeLog-9194. There was a time
  2. during which changes which had been merged into the official CVS
  3. (which produced releases such as 1.4A1 and 1.4A2) went into what has
  4. become ChangeLog-9194, and changes which existed only at Cygnus went
  5. into this file (ChangeLog-9395). Eventually the Cygnus release became
  6. Cyclic CVS (as it was then called), which became CVS 1.5, so probably
  7. all the changes in both (what are now) ChangeLog-9194 and
  8. ChangeLog-9395 made it into 1.5.
  9. Sun Dec 31 17:33:47 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  10. * import.c (add_rev): Revert portion of 31 Aug 95 change which
  11. passes -u to ci instead of using a hard link.
  12. * sanity.sh (import): Add test for above-fixed bug.
  13. Sun Dec 31 16:40:41 1995 Peter Chubb <peterc@bookworm.sw.oz.au>
  14. and Jim Kingdon <kingdon@cyclic.com>
  15. * admin.c (admin_fileproc): Call freevers_ts before returning.
  16. Mon Dec 25 12:20:06 1995 Peter Wemm <peter@haywire.DIALix.COM>
  17. * logmsg.c (rcsinfo_proc): initialise line and
  18. line_chars_allocated so they dont cause malloc problems within
  19. getline(). This was causing rcsinfo templates to not work.
  20. Sun Dec 24 01:38:36 1995 Karl Fogel <kfogel@floss.cyclic.com>
  21. * server.c (authenticate_connection): clarify protocol.
  22. * login.c (login): deprolixify the password prompt.
  23. Sat Dec 23 10:46:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  24. * myndbm.h, myndbm.c (dbm_store): New function.
  25. * myndbm.h (DBM): Add modified and filename fields.
  26. * myndbm.c (dbm_open, dbm_close): Manipulate new fields. dbm_open
  27. no longer fails if the file doesn't exist and O_CREAT is set.
  28. * cvs.h (CVSROOTADM_VALTAGS): Added.
  29. * tag.c, cvs.h (tag_check_valid): New function.
  30. * update.c (update), checkout.c (checkout_proc), commit.c (commit),
  31. diff.c (diff), patch.c (patch_proc), rtag.c (rtag_proc), tag.c (tag):
  32. Call it.
  33. * sanity.sh: Test for rejection of invalid tagname.
  34. Fri Dec 22 18:21:39 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu>
  35. * client.c (start_server): don't use kerberos if authenticating
  36. server was specified.
  37. Fri Dec 22 16:35:57 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu>
  38. * login.c (login): deal with new scramble methods.
  39. (get_cvs_password): same.
  40. * server.c (check_repository_password): remove arbitrary limit on
  41. line length.
  42. (authenticate_connection): use a separate variable for the
  43. descrambled password, now that we no longer scramble in place.
  44. Set `error_use_protocol' to 1 and just use error() where used to
  45. do its job inline.
  46. * cvs.h (scramble, descramble): adjust prototype.
  47. * scramble.c (scramble, descramble): return char *.
  48. Fri Dec 22 13:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com>
  49. * release.c (release): If SERVER_SUPPORT is not defined, still
  50. set up arg_start_idx.
  51. * release.c (release): When calling unedit, set argv[1] to
  52. NULL (since argc is only 1).
  53. * edit.c: Pass dosrcs 0 to all calls to start_recursion.
  54. None of the fileprocs were using it, so it just slowed things
  55. down and caused potentially harmful checks for rcs files.
  56. * edit.c (send_notifications): In client case, do not readlock.
  57. Thu Dec 21 16:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com>
  58. Clean up Visual C++ lint:
  59. * client.c (read_line): Change input_index and result_size to size_t.
  60. (update_entries): Remove unused variables buf2, size_left, size_read.
  61. (handle_mode): Prototype.
  62. * client.c, client.h (send_to_server, read_from_server): Change
  63. len to size_t.
  64. * client.c (send_to_server): Change wrtn to size_t.
  65. (read_from_server): Change red to size_t.
  66. * client.c, myndbm.c, edit.c, fileattr.c: Include getline.h.
  67. * checkin.c, commit.c, update.c: Include fileattr.h.
  68. * commit.c, update.c: Include edit.h.
  69. * edit.c (onoff_filesdoneproc): Prototype.
  70. (ncheck_fileproc,edit_fileproc): Change "return" to "return 0".
  71. (notify_do): Cast a signed value to unsigned before comparing
  72. with unsigned value.
  73. Thu Dec 21 15:24:37 1995 Karl Fogel <kfogel@occs.cs.oberlin.edu>
  74. * client.c: don't include socket headers twice just because
  75. both HAVE_KERBEROS and AUTH_CLIENT_SUPPORT are set.
  76. (start_kerberos_server): if fail to connect to kerberos, print out
  77. a more specific error message, mainly so pcl-cvs can know what
  78. happened and not panic.
  79. (start_server): don't assume sprintf() returns len
  80. written (only some systems provide this); instead, have
  81. send_to_server() calculate the length itself.
  82. (send_modified): same.
  83. (send_fileproc): same.
  84. (send_file_names): same.
  85. Wed Dec 20 14:00:28 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  86. * update.c (ignore_files): Move from here...
  87. * ignore.c (ignore_files): ...to here. No longer static. Take
  88. new argument PROC.
  89. * cvs.h (ignore_files): Declare.
  90. * client.c (send_filesdoneproc): Split off from
  91. update_filesdone_proc. Pass new function send_ignproc to
  92. ignore_files (to ask server about ignored file before printing
  93. "?").
  94. * server.c: Rename outbuf from but_to_net and take it from
  95. do_cvs_command to a global. Move initialization accordingly.
  96. (serve_questionable): New function.
  97. (requests): Add it.
  98. * update.c (update_filesdone_proc): Remove client stuff. Pass new
  99. function update_ignproc to ignore_files.
  100. * cvs.h (joining, do_update): Move declarations from here...
  101. * update.h: ...to here.
  102. * cvs.h: Include update.h.
  103. * update.c, client.c: Don't include update.h
  104. * ignore.c, cvs.h: New variable ign_inhibit_server, set on -I !.
  105. * import.c (import): Pass -I ! to server if specified.
  106. (import_descend): If server, ignore CVS directories even if -I !.
  107. * update.c (update), import.c (import): Only call ign_setup before
  108. argument processing; don't call it again afterwards in client case.
  109. * sanity.sh (ignore): Test above-fixed bugs and other ignore behaviors.
  110. (dotest): New function.
  111. Move modules checkin from modules test to start, so that other
  112. tests can use mkmodules without a warning message.
  113. Wed Dec 20 13:06:17 1995 Karl Fogel <kfogel@floss.cyclic.com>
  114. * client.c (send_to_server): don't check string's length twice.
  115. Wed Dec 20 02:05:19 1995 Karl Fogel <kfogel@floss.cyclic.com>
  116. * login.c (login): took out debugging printf's.
  117. (login): Removed unused variable `p'.
  118. Wed Dec 20 00:27:36 1995 Karl Fogel <kfogel@floss.cyclic.com>
  119. * login.c (login): prefix scrambled password with 'A', so we know
  120. which version of scrambling was used. This may be useful in the
  121. future.
  122. (get_cvs_password): skip past the leading 'A'.
  123. Scramble $CVS_PASSWORD before returning it.
  124. * scramble.c: made this work.
  125. Tue Dec 19 17:45:11 1995 Karl Fogel <kfogel@floss.cyclic.com>
  126. * login.c (cvs_password): new static var, init to NULL.
  127. (login): scramble() the password before using it.
  128. Verify the password with the server.
  129. Check CVSroot more carefully to insure that it is
  130. "fully-qualified".
  131. (get_cvs_password): if cvs_password is not NULL, just return it.
  132. Never prompt -- just tell user why failed, then exit.
  133. Try CVS_PASSWORD environment variable first.
  134. (construct_cvspass_filename): try CVS_PASSFILE environment
  135. variable first.
  136. * client.h (connect_to_pserver): update prototype.
  137. * client.c (cvsroot_parsed): new static var.
  138. (parse_cvsroot): set `cvsroot_parsed' to 1 when done.
  139. (connect_to_pserver): return int.
  140. Take `verify_only' arg. If it is non-zero, perform password
  141. verification with the server and then shut down the connection and
  142. return.
  143. Call parse_cvsroot() before doing anything.
  144. * server.c (authenticate_connection): deal with verification
  145. requests as well as authorization requests.
  146. descramble() the password before hashing it.
  147. * cvs.h: prototype scramble() and descramble().
  148. * Makefile.in: build scramble.o.
  149. * scramble.c: new file, provides trivial encoding but NOT real
  150. encryption.
  151. Mon Dec 18 20:57:58 1995 Karl Fogel <kfogel@floss.cyclic.com>
  152. * login.c (login): don't insert extra newlines. They were
  153. harmless, but confusing.
  154. Mon Dec 18 15:32:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  155. * hash.c, hash.h (findnode_fn): New function.
  156. * hash.c (hashp): Tweak hash function so that findnode_fn works.
  157. * update.c (ignore_files): Call findnode_fn, not findnode.
  158. Mon Dec 18 09:34:56 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  159. * myndbm.c: Remove arbitrary limit.
  160. * client.c: Fix comment--Windows 95 requires NO_SOCKET_TO_FD, not
  161. Windows NT.
  162. Mon Dec 18 01:06:20 1995 Karl Fogel <kfogel@floss.cyclic.com>
  163. * client.c (server_sock): replaces `server_socket'.
  164. (start_kerberos_server): added FIXME comment about how
  165. NO_SOCKET_TO_FD is not dealt with in the kerberos case.
  166. (connect_to_pserver): deal with NO_SOCKET_TO_FD case.
  167. (read_line): deal with NO_SOCKET_TO_FD case.
  168. (read_from_server): deal with NO_SOCKET_TO_FD case.
  169. (send_to_server): deal with NO_SOCKET_TO_FD case.
  170. (get_responses_and_close): deal with NO_SOCKET_TO_FD case.
  171. * client.c (send_to_server): error check logging.
  172. (start_server): error check opening of logfiles.
  173. (read_from_server): error check logging.
  174. (read_line): use fwrite() to log, & error_check it.
  175. Don't log if using socket style, because read_from_server()
  176. already logged for us.
  177. Mon Dec 18 00:52:26 1995 Karl Fogel <kfogel@floss.cyclic.com>
  178. * client.c (use_socket_style): new static var, init to 0.
  179. (server_socket): new static var.
  180. (connect_to_pserver): don't deal with logging here.
  181. Caller changed.
  182. (start_kerberos_server): don't deal with logging here either.
  183. Caller changed.
  184. Mon Dec 18 00:40:46 1995 Karl Fogel <kfogel@floss.cyclic.com>
  185. * client.c (send_modified): don't error-check `to_server';
  186. send_to_server() does that now.
  187. Mon Dec 18 00:19:16 1995 Karl Fogel <kfogel@floss.cyclic.com>
  188. * login.c (get_cvs_password): Init `linebuf' to NULL.
  189. free() `linebuf' and reset it for each new line.
  190. (login): same as above.
  191. * client.c: Removed all the varargs prototyping gunk.
  192. (to_server, from_server): make these static.
  193. (from_server_logfile, to_server_logfile): new vars.
  194. (start_server): init above two new vars to NULL.
  195. (send_to_server): return void.
  196. Correct bug in which amount to be written would be too high if the
  197. loop ever ran more than once.
  198. Log to `to_server_logfile' if it's non-NULL.
  199. (read_from_server): new func, does raw reading from server.
  200. Logs to `from_server_logfile' if it's non-NULL.
  201. (update_entries): just use read_from_server() instead of looping
  202. to fread() directly from `from_server'.
  203. (read_line): Log to `from_server_logfile' if it's non-NULL.
  204. * client.h: send_to_server() returns void now.
  205. (read_from_server): prototype.
  206. Sun Dec 17 19:38:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  207. * checkout.c (checkout_proc), client.c, lock.c (readers_exist),
  208. login.c, modules.c (cat_module, do_module): Remove arbitrary limits.
  209. * client.c (send_to_server): Fix typo (NULL -> '\0').
  210. (get_responses_and_close): Set server_started to 0 instead of
  211. setting to_server and from_server to NULL.
  212. * client.c: Make to_server and from_server static.
  213. Sun Dec 17 17:59:04 1995 Karl Fogel <kfogel@floss.cyclic.com>
  214. * client.h (to_server, from_server): don't declare these anymore.
  215. They are now entirely private to client.c (and in fact will go
  216. away soon there too).
  217. Sun Dec 17 15:40:58 1995 Karl Fogel <kfogel@floss.cyclic.com>
  218. * client.h: update prototype of send_to_server().
  219. * client.c, watch.c, update.c, tag.c, status.c, rtag.c, remove.c,
  220. release.c, patch.c, log.c, import.c, history.c, edit.c, diff.c,
  221. commit.c, client.c, checkout.c, admin.c, add.c:
  222. Convert all send_to_server() calls that used formatting to send
  223. pre-formatted strings instead. And don't error check
  224. send_to_server(), because it does its own error checking now.
  225. * client.c (send_to_server): don't use vasprintf(), just fwrite a
  226. certain number of bytes to the server. And do error checking
  227. here, so our callers don't have to.
  228. (send_arg): use send_to_server() instead of putc()'ing
  229. directly to `to_server'.
  230. Sun Dec 17 14:37:52 1995 Karl Fogel <kfogel@floss.cyclic.com>
  231. * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT):
  232. Define to 1 but leave commented out, instead of #undef'ing them.
  233. This treats them like everything else in this file.
  234. * client.c: define server_started, init to 0.
  235. (start_server): set server_started to 1.
  236. * client.h: declare `server_started', extern.
  237. AUTH_CLIENT_SUPPORT moved here from cvs.h.
  238. * cvs.h: moved AUTH_CLIENT_SUPPORT stuff to client.h.
  239. * edit.c (notify_check): use new var server_started.
  240. Sun Dec 17 00:44:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  241. * client.c (get_responses_and_close): Really stop ignoring ECHILD
  242. errors. The Nov 30 1995 change claimed to do this, but the code
  243. was not actually changed.
  244. * update.c (ignore_files): Revert H.J. Lu change; it was wrong for
  245. directories and sometimes looked at sb.st_mode when it wasn't set.
  246. * import.c (import_descend): Revert H.J. Lu change; it was wrong
  247. for directories and the extra lstat call was an unnecessary
  248. performance hit.
  249. * sanity.sh (import): Add test for the second of these two bugs.
  250. Sat Dec 16 17:26:08 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  251. * client.c (send_to_server): Remove arbitrary limit. Also remove
  252. !HAVE_VPRINTF code; all relevant systems have vprintf these days.
  253. Sat Dec 16 21:35:31 1995 Karl Fogel <kfogel@floss.cyclic.com>
  254. * checkout.c (checkout): use send_to_server() now.
  255. Sat Dec 16 21:18:16 1995 H.J. Lu (hjl@gnu.ai.mit.edu)
  256. (applied by kfogel@cyclic.com)
  257. * import.c (import_descend): We ignore an entry if it is
  258. 1. not a file, nor a link, nor a directory, or
  259. 2. a file and on the ignore list.
  260. * update.c (ignore_files): We ignore any thing which is
  261. 1. not a file, or
  262. 2. it is a file on the ignore list.
  263. Sat Dec 16 00:14:19 1995 Karl Fogel <kfogel@floss.cyclic.com>
  264. * client.c (send_to_server): corrected comment.
  265. * client.h: prototype new func send_to_server().
  266. * add.c, admin.c, client.c, commit.c, diff.c, edit.c, history.c,
  267. import.c, log.c, patch.c, release.c, remove.c, rtag.c, status.c,
  268. tag.c, update.c, watch.c:
  269. Use send_to_server() instead of writing directly to to_server.
  270. * client.c: conditionally include the right stuff for variable arg
  271. lists.
  272. (send_to_server): new func.
  273. Fri Dec 15 23:10:22 1995 Karl Fogel <kfogel@floss.cyclic.com>
  274. * error.c: expanded comments.
  275. * client.c (connect_to_pserver): verbosify errors.
  276. (connect_to_pserver): use send() and recv(), not write() and
  277. read(). Sockets are not file descriptors on all systems.
  278. Fri Dec 15 22:36:05 1995 Karl Fogel <kfogel@floss.cyclic.com>
  279. * client.c (connect_to_pserver): oops, removed old debugging
  280. printf.
  281. Fri Dec 15 18:21:16 1995 Karl Fogel (kfogel@floss.cyclic.com)
  282. * client.c (auth_server_port_number): don't call htons();
  283. init_sockaddr() does that for us.
  284. (init_sockaddr): zero the sockadder_in struct before doing
  285. anything with it. IBM TCP/IP docs recommend this, and it can't
  286. hurt.
  287. Fri Dec 15 15:21:53 1995 Karl Fogel <kfogel@floss.cyclic.com>
  288. * client.c (connect_to_pserver): new var `port_number', initialize
  289. with new func auth_server_port_number() and pass to
  290. init_sockaddr().
  291. (auth_server_port_number): new func. Right now it just returns
  292. `htons (CVS_AUTH_PORT)'. We'll probably add the ability to
  293. specify the port at run time soon, anyway, so having this function
  294. will make that easier.
  295. Wed Dec 6 18:08:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  296. * cvs.h: Add CVSREP.
  297. * find_names.c (find_dirs): Skip CVSREP too.
  298. * fileattr.h, fileattr.c: New files, to manipulate file attributes.
  299. * hash.c (nodetypestring), hash.h (enum ntype): Add FILEATTR.
  300. * hash.c, hash.h (list_isempty): New function.
  301. * recurse.c (do_recursion): Call fileattr_startdir before
  302. processing files in a directory and fileattr_write and
  303. fileattr_free (after files, before recursing).
  304. * watch.c, watch.h: New files, to handle notification features.
  305. * edit.c, edit.h: New file, to handle new read-only checkout features.
  306. * client.c, server.c: Add "Mode" request, to change the mode of a file
  307. when it is checked in.
  308. * main.c (cmds): Add "watch", "edit", "unedit", "watchers", "editors".
  309. * main.c: Split command help from usg into new variable cmd_usage,
  310. which.
  311. (main): Add --help-commands option to print out cmd_usage.
  312. * cvs.h: Declare watch, edit, unedit, watchers, editors.
  313. * client.c, client.h: Add client_watch, client_edit, client_unedit,
  314. client_watchers, client_editors.
  315. * client.c, server.c: Add notification stuff.
  316. * update.c (checkout_file, patch_file), checkin.c (Checkin): Check
  317. _watched attribute when deciding read-only or read-write.
  318. * commit.c (checkaddfile): Call fileattr_newfile to set attributes
  319. on newly created files.
  320. * release.c (release):
  321. * cvs.h: Add CVSADM_NOTIFY and CVSADM_NOTIFYBAK.
  322. * recurse.c (do_recursion): Call notify_check.
  323. * commit.c (commit_fileproc): Call notify_do after committing file.
  324. * client.c (get_responses_and_close): Set to_server and from_server
  325. to NULL so that it is possible to tell whether we are speaking to
  326. the server.
  327. * cvs.h: Add CVSROOTADM_NOTIFY.
  328. * mkmodules.c (main): Add CVSROOTADM_NOTIFY to filelist.
  329. * Makefile.in (SOURCES,OBJECTS,HEADERS): Add new files mentioned above.
  330. * lock.c, cvs.h (lock_tree_for_write, lock_tree_cleanup): New
  331. functions, taken from old commit.c writelock code. As part of
  332. this, fsortcmp and lock_filesdoneproc go from commit.c to lock.c.
  333. So does locklist but it gets renamed to lock_tree_list.
  334. * commit.c: Use lock_tree_*.
  335. Fri Dec 15 10:37:00 1995 J.T. Conklin <jtc@slave.cygnus.com>
  336. * tag.c (tag_usage): Added -r and -D flags to usage string.
  337. (tag): Detect when user specifies both -r and -D arguments.
  338. Pass -r and -D arguments to server.
  339. Thu Dec 14 11:56:13 1995 Karl Fogel <kfogel@floss.cyclic.com>
  340. * client.c (start_rsh_server): use RSH_NEEDS_BINARY_FLAG to
  341. conditionalize "-b" option to "rsh".
  342. * run.c (filter_stream_through_program): document return value and
  343. error behavior.
  344. * client.c (filter_through_gunzip): pass the supposedly
  345. superfluous "-d" option to gunzip, to avoid stimulating what seems
  346. to be an argument-passing bug in spawn() under OS/2 with IBM
  347. C/C++. Yucko.
  348. Wed Dec 13 20:08:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  349. * options.h.in (RCSBIN_DFLT): Recommend specifying -b in
  350. inetd.conf for pserver. That is a pretty good solution.
  351. Wed Dec 13 18:29:59 1995 Preston L. Bannister <pbannister@ca.mdis.com>
  352. and Karl Fogel <kfogel@floss.cyclic.com>
  353. * client.c (send_modified): make sure that vers and vers->options
  354. are non-NULL before strcmp()'ing them with "-kb".
  355. Initialize `bin' near where it is used, not at beginning of
  356. function.
  357. (update_entries): make sure `options' is non-NULL before
  358. strcmp()'ing with "-kb".
  359. Initialize `bin' near where it is used, not at beginning of
  360. function.
  361. Tue Dec 12 18:56:38 1995 Karl Fogel <kfogel@totoro.cyclic.com>
  362. * options.h.in (RCSBIN_DFLT): document the probable need for this
  363. to be set in the authenticating server.
  364. Tue Dec 12 11:56:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  365. * server.c (expand_proc): If mfile is non-NULL, return it too as
  366. part of the expansion.
  367. * sanity.sh (modules): Add tests for above-fixed bug.
  368. Mon Dec 11 21:39:07 1995 Karl Fogel <kfogel@floss.cyclic.com>
  369. * dog.c (flea_bath): Take `suds' arg.
  370. All collars changed.
  371. Mon Dec 11 15:58:47 1995 Karl Fogel <kfogel@floss.cyclic.com>
  372. * login.c (login): if client password file doesn't exist, create
  373. it, duh.
  374. * main.c (main): die if CVSroot has access-method but no
  375. username.
  376. * root.c: added some comments.
  377. * main.c: removed all code pertaining to the "-a" option. We
  378. specify access-method in CVSroot now.
  379. * client.c (parse_cvsroot): new var, `access_method'. If CVSroot
  380. is prepended with an access method (i.e.,
  381. ":pserver:user@host:/path"), then handle it.
  382. * login.c (login): use || when checking if CVSroot is "fully
  383. qualified".
  384. Prepend ":pserver:" before writing to ~/.cvspass.
  385. (get_cvs_password): Take no parameters; we'll just use CVSroot to
  386. get the password.
  387. Mon Dec 11 12:43:35 1995 adamg <adamg@microsoft.com>
  388. * error.c, client.c, remove.c, main.c: Add explicit casts for some
  389. function pointers to remove warnings under MS VC.
  390. * main.c (main): remove use of NEED_CALL_SOCKINIT in favor of the
  391. more generic INITIALIZE_SOCKET_SUBSYSTEM. Note that the code assumes
  392. that if INITIALIZE_SOCKET_SUBSYSTEM() returns, socket subsystem
  393. initialization has been successful.
  394. Sat Dec 9 22:01:41 1995 Dan O'Connor <doconnor@tii.com>
  395. * commit.c (check_fileproc): pass RUN_REALLY flag to run_exec,
  396. because it's okay to examine the file with noexec set.
  397. Sat Dec 9 20:28:01 1995 Karl Fogel <kfogel@floss.cyclic.com>
  398. * client.c (update_entries): new var, `bin, init to 0.
  399. Use it in determining whether to convert the file.
  400. (send_modified): same as above.
  401. Fri Dec 8 17:47:39 1995 Karl Fogel <kfogel@floss.cyclic.com>
  402. * server.c (downcase_string): removed.
  403. (check_repository_password): don't deal with case-insensitivity
  404. anymore.
  405. * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): deleted this. No
  406. need for it anymore.
  407. Thu Dec 7 21:08:39 1995 Karl Fogel <kfogel@floss.cyclic.com>
  408. * server.c (check_repository_password): when checking for false
  409. prefix-matches, look for ':', not '@'. Duh.
  410. Thu Dec 7 18:44:51 1995 Karl Fogel <kfogel@floss.cyclic.com>
  411. * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): replaces
  412. CVS_PASSWORDS_CASE_INSENSITIVE; passwords are now insensitive by
  413. default. Expanded explanatory comment.
  414. * login.c (get_cvs_password): Use memset(), not bzero(). I
  415. botched this change earlier.
  416. * server.c (check_repository_password): no need to check
  417. xmalloc()'s return value.
  418. (check_repository_password): check for false prefix-matches (for
  419. example, username is "theo" and linebuf contains user
  420. "theocracy").
  421. Thu Dec 7 14:49:16 1995 Jim Meyering (meyering@comco.com)
  422. * filesubr.c (isaccessible): Rename from isaccessable.
  423. Update callers.
  424. * cvs.h: Update prototype.
  425. * main.c (main): Update callers.
  426. * server.c (main): Update callers.
  427. Thu Dec 7 12:50:20 1995 Adam Glass <glass@NetBSD.ORG>
  428. * cvs.h: "isaccessible" is the correct spelling.
  429. Also add "const" to second arg to make prototype match
  430. declaration.
  431. Thu Dec 7 11:06:51 1995 Karl Fogel <kfogel@floss.cyclic.com>
  432. * client.c, login.c: memset() instead of bzero().
  433. Thu Dec 7 00:08:53 1995 Karl Fogel <kfogel@floss.cyclic.com>
  434. * server.c (authenticate_connection): document server's side of
  435. the Authentication Protocol too.
  436. * client.c (connect_to_pserver): when printing out "unrecognized
  437. response", also print out the offending response.
  438. * server.c (check_password): take `repository' arg too now.
  439. Call check_repository_password() before checking /etc/passwd.
  440. (check_repository_password): new func.
  441. * options.h.in (CVS_PASSWORDS_CASE_INSENSITIVE): new define, unset
  442. by default.
  443. Wed Dec 6 18:51:16 1995 Karl Fogel <kfogel@floss.cyclic.com>
  444. * server.c (check_password): If user has a null password, then
  445. return 1 if arg is also null.
  446. Reverse sense of return value. Caller changed.
  447. Wed Dec 6 14:42:57 1995 Karl Fogel <kfogel@floss.cyclic.com>
  448. * server.c (check_password): new func.
  449. (authenticate_connection): call above new func.
  450. * login.c (login): use construct_cvspass_filename().
  451. If CVSroot is not "fully-qualified", then insist the user qualify
  452. it before going on.
  453. (get_cvs_password): fleshed out. Now reads from ~/.cvspass, or
  454. prompts if no appropriate password found.
  455. (construct_cvspass_filename): new func.
  456. * server.c (authenticate_connection): send ACK or NACK to client.
  457. * client.c (connect_to_pserver): check for ACK vs NACK response
  458. from server after sending authorization request.
  459. * login.c (get_cvs_password): new func.
  460. * client.c (connect_to_pserver): use new func get_cvs_password().
  461. Prototype it at top of file. Hmmm.
  462. Wed Dec 6 13:29:22 1995 Karl Fogel <kfogel@floss.cyclic.com>
  463. * server.c: same as below (AUTH_SERVER_SUPPORT).
  464. * main.c: same as below (AUTH_SERVER_SUPPORT where appropriate).
  465. * login.c: same same as below.
  466. * cvs.h: same as below.
  467. * client.c: use AUTH_CLIENT_SUPPORT, not CVS_LOGIN.
  468. * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): these
  469. replace CVS_LOGIN.
  470. Wed Dec 6 00:04:58 1995 Karl Fogel <kfogel@floss.cyclic.com>
  471. * server.c (authenticate_connection): expanded comment.
  472. Tue Dec 5 23:37:39 1995 Karl Fogel <kfogel@floss.cyclic.com>
  473. * client.c (connect_to_pserver): read password from prompt for
  474. now.
  475. * server.c (authenticate_connection): if the password passes
  476. muster, then don't abort.
  477. Tue Dec 5 22:46:37 1995 Karl Fogel <kfogel@floss.cyclic.com>
  478. * subr.c (strip_trailing_newlines): new func.
  479. * client.c (connect_to_pserver): took out print statements.
  480. * server.c (authenticate_connection): removed print statments.
  481. Use new func strip_trailing_newlines() to purify `repository',
  482. `username', and `password'.
  483. Run a primitive password check, just for testing.
  484. * client.c (connect_to_pserver): use CVS_AUTH_PORT.
  485. Take tofdp, fromfdp, and log args. Caller changed.
  486. (get_responses_and_close): either kerberos and CVS_LOGIN might
  487. have one fd for both directions, so adjust #ifdef accordingly.
  488. * cvs.h (CVS_AUTH_PORT): new define, default to 2401.
  489. Prototype strip_trailing_newlines().
  490. Tue Dec 5 16:53:35 1995 Karl Fogel <kfogel@floss.cyclic.com>
  491. * server.c (authenticate_connection): new func.
  492. * client.c (init_sockaddr): func moved here from login.c.
  493. (connect_to_pserver): same as above. Take no args, now.
  494. Include <sys/socket.h>, <netinet/in.h>, <netdb.h>, if CVS_LOGIN.
  495. * cvs.h: Declare use_authenticating_server, as extern int.
  496. Declare connect_to_pserver().
  497. * main.c (main): call authenticate_connection(). Removed testing
  498. code.
  499. Add 'a' to the short-option string in the getopt() call.
  500. * login.c (connect_to_pserver): moved to client.c.
  501. Tue Dec 5 16:01:42 1995 Peter Chubb <peterc@bookworm.sw.oz.au>
  502. (patch applied by Karl Fogel <kfogel@cyclic.com>)
  503. * update.c (join_file): if vers->vn_user is "0", file has been
  504. removed on the current branch, so print an error and return.
  505. Mon Dec 4 14:27:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  506. * Version 1.6.3.
  507. Mon Dec 4 16:28:25 1995 Norbert Kiesel <nk@col.sw-ley.de>
  508. * release.c (release): add return (0) as last line
  509. * cvs.h: declare program_path
  510. * main.c define program_path
  511. (main): set program_path
  512. * release.c (release): use program_path for update_cmd
  513. Mon Dec 4 11:22:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  514. * Version 1.6.2.
  515. Sun Dec 3 20:02:29 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  516. * rcs.h (struct rcsnode), rcs.c (freercsnode): Add expand field.
  517. * rcs.h (RCSEXPAND): New #define.
  518. * rcs.c (RCS_reparsercsfile): Record keyword expansion in expand
  519. field of struct rcsnode.
  520. * update.c (checkout_file): Set keyword expansion in Entries file
  521. from rcs file if there is nowhere else to set it from.
  522. * client.c (send_modified, update_entries) [LINES_CRLF_TERMINATED]:
  523. If -kb is in effect, don't convert.
  524. * update.c (update_file_proc), commit.c (check_fileproc),
  525. rcscmds.c (RCS_merge): Direct stdout to DEVNULL rather than
  526. passing -s option to grep. This avoids trouble with respect to
  527. finding a grep which support -s and whether we should use the (GNU
  528. grep) -q option if it exists.
  529. * options.h.in: Change "@ggrep_path@" to "grep".
  530. Fri Dec 1 11:53:19 1995 Norbert Kiesel <nk@col.sw-ley.de>
  531. * rcs.c (RCS_gettag): new parameter return_both force return both
  532. tags: the symbolic and the numeric one.
  533. (RCS_getversion): new parameter return_both is forwarded to
  534. RCS_gettag.
  535. * rtag.c, tag.c, commit.c, patch.c, update.c: pass 0 as additional
  536. last parameter to RCS_getversion and RCS_gettag
  537. * rcs.h (RCS_gettag): new parameter return_both.
  538. (RCS_getversion): new parameter return_both.
  539. * cvs.h (struct vers_ts): add vn_tag slot for symbolic tag name
  540. * vers_ts.c (Version_TS): call RCS_getversion with 1 for
  541. return_both and split output into vn_rcs and vn_tag
  542. (freevers_ts): free vn_tag
  543. * update.c (checkout_file): use vn_tag instead of vn_rcs when
  544. calling 'rcs co' to allow rcs expansion of :$Name :
  545. Thu Nov 30 20:44:30 1995 Karl Fogel <kfogel@floss.cyclic.com>
  546. * client.c (get_responses_and_close): undo previous change
  547. regarding waitpid(). The problem has been solved by modifying
  548. os2/waitpid.c instead of its callers.
  549. Thu Nov 30 16:37:10 1995 Karl Fogel <kfogel@floss.cyclic.com>
  550. * client.c: All these changes are for OS/2, which will no longer have
  551. a separate client.c:
  552. (start_kerberos_server): new func, contains code that
  553. used to be in start_server().
  554. (start_server): moved kerberos code to above function, reorganized
  555. the rest. Added authentication clause.
  556. (call_in_directory): test errno against EACCESS, if EACCESS is
  557. defined (this is for OS/2's oddball mkdir).
  558. (change_mode): don't set execute permission on anything if
  559. EXECUTE_PERMISSION_LOSES is defined.
  560. (get_responses_and_close): if START_RSH_WITH_POPEN_RW, then use
  561. pclose() instead of fclose().
  562. If waitpid errors with ECHILD, don't die. This is okay.
  563. (start_rsh_server): alternate definition if
  564. START_RSH_WITH_POPEN_RW.
  565. * main.c: [all these changes conditional on CVS_LOGIN: ]
  566. Don't prototype connect_to_pserver, don't enter it in cmds[]
  567. (actually, it was never in there, I don't know why my previous
  568. change said it was).
  569. (use_authenticating_server): new global var.
  570. (main): if "-a", then set above new var to TRUE.
  571. (usg): document "-a" option.
  572. Wed Nov 29 12:55:10 1995 Karl Fogel <kfogel@floss.cyclic.com>
  573. * main.c: Prototype connect_to_pserver(), and enter it in cmds[].
  574. (main): test some extremely primitive authentication.
  575. * login.c: Include <sys/socket.h>
  576. (connect_to_pserver): new func.
  577. (init_sockaddr): new func.
  578. Mon Nov 20 14:07:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  579. * Makefile.in (TAGFILES): Separate out from DISTFILES, for C code.
  580. (TAGS,tags): Use TAGFILES not DISTFILES.
  581. Sun Nov 19 11:22:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  582. * recurse.c (do_recursion): Don't call server_pause_check if there
  583. are writelocks around. Revise comment to reflect fact we are no
  584. longer relying on a writelock'd operations being "unable" to
  585. generate enough data to pause.
  586. Sun Nov 19 10:04:50 1995 Peter Wemm <peter@haywire.DIALix.COM>
  587. * server.c, server.h, options.h.in: Implement hooks for doing
  588. simple flow control on the server to prevent VM exhaustion on a
  589. slow network with a fast server.
  590. * recurse.c: Call the flow control check at a convenient location
  591. while no locks are active. This is a convenience tradeoff against
  592. accurate flow control - if you have a large directory it will all
  593. be queued up, bypassing the flow control check until the next
  594. directory is processed.
  595. Sat Nov 18 16:22:06 1995 Karl Fogel <kfogel@floss.cyclic.com>
  596. * client.c, update.c, vers_ts.c, server.c, rcs.c, lock.c,
  597. ignore.c, entries.c, diff.c, commit.c, checkin.c:
  598. Use new macro `existence_error', instead of comparing errno to
  599. ENOENT directly.
  600. Fri Nov 17 14:56:12 1995 Karl Fogel <kfogel@floss.cyclic.com>
  601. * client.c (start_server): removed alternate version of this func,
  602. since os2/client.c will now be used under OS/2.
  603. Thu Nov 16 22:57:12 1995 Karl Fogel <kfogel@floss.cyclic.com>
  604. * client.c (start_server): ifdef HAVE_POPEN_RW, use a different
  605. version of start_server(). This is maybe not the cleanest cut to
  606. make, but it's better than mucking around with yet more #ifdefs in
  607. the middle of the old start_server() function. Once things are
  608. up, I may reposition this code.
  609. Wed Nov 15 15:33:37 1995 Karl Fogel <kfogel@floss.cyclic.com>
  610. * main.c (main): ifdef NEED_CALL_SOCKINIT, then call SockInit().
  611. Only OS/2 needs this initialization.
  612. Tue Nov 14 18:54:01 1995 Greg A. Woods <woods@most.weird.com>
  613. * patch.c:
  614. - fix orientation of test for result of getline() call
  615. - use fputs() not printf() when just copying file out
  616. * cvsbug.sh:
  617. - add space after #!
  618. - new rcs id
  619. - allow version to be edited by Makefile.
  620. * Makefile.in:
  621. - make Makefile a dependent of all (this might not be perfect, but
  622. it at least gives you a chance to catch up on the second
  623. go-around).
  624. - filter cvsbug.sh in a manner similar to cvsinit.sh to get the
  625. version number set from version.c
  626. Tue Nov 14 13:28:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  627. * sanity.sh: Call old log file check.plog, not check.olog.
  628. * sanity.sh: Convert remaining tests from old-style ('***' on fail
  629. and nothing on pass), to new-style (FAIL on fail and PASS on pass).
  630. * sanity.sh: Fix ability to run only some of the tests (always run
  631. tests 1-4.75 to set up repository, document better how it works).
  632. * sanity.sh: Change "completed successfully" to "completed" in
  633. message--many tests, but not all, exit if they fail.
  634. Tue Nov 14 15:10:00 1995 Greg A. Woods <woods@most.weird.com>
  635. * sanity.sh: test 63 doesn't work and probably can't
  636. Tue Nov 14 12:22:00 1995 Greg A. Woods <woods@most.weird.com>
  637. * sanity.sh: many minor tweaks:
  638. - make the optional arguments almost work
  639. - use a function 'directory_cmp' instead of 'diff -r'
  640. - fix up a few more tests that weren't working....
  641. Mon Nov 13 07:33:55 1995 Karl Fogel <kfogel@floss.cyclic.com>
  642. * cvs.h: ifdef USE_OWN_POPEN, #include "popen.h". Only OS/2 has
  643. its own popen()/pclose() right now.
  644. Mon Nov 13 04:06:10 1995 Karl Fogel <kfogel@floss.cyclic.com>
  645. * cvs.h: conform to 80 column standard (yes, I'm a pedant).
  646. Sat Nov 11 13:45:13 1995 Karl Fogel <kfogel@floss.cyclic.com>
  647. * client.c (process_prune_candidates): use unlink_file_dir() to
  648. remove the directory, instead of invoking "rm" via run_exec().
  649. Fri Nov 10 14:38:56 1995 Karl Fogel <kfogel@floss.cyclic.com>
  650. * main.c (main): removed "#define KF_GETOPT_LONG 1", since that
  651. change is no longer in testing.
  652. Thu Nov 9 20:32:12 1995 Karl Fogel <kfogel@floss.cyclic.com>
  653. * release.c (release): Use Popen(), not popen().
  654. Wed Nov 8 10:20:20 1995 Jim Meyering (meyering@comco.com)
  655. * entries.c (ParseTag): Remove dcl of unused local.
  656. * patch.c: Include getline.h.
  657. Wed Nov 8 11:57:31 1995 Norbert Kiesel <nk@col.sw-ley.de>
  658. * options.h.in: add configuration option STEXID_SUPPORT (default
  659. is off i.e. old semantics)
  660. * filesubr.c (isaccessable): new function. Checks access-rights
  661. for files like access(), but is getxid-safe. Falls back to
  662. access() if SETXID_SUPPORT is not enabled.
  663. (isfile): replace stat() by isaccessable(file, F_OK)
  664. (isreadable): replace access() by isaccessable()
  665. (iswritable): ditto
  666. (make_directory): rename local variable buf to sb
  667. * cvs.h: add prototype for new function isaccessable.
  668. * server.c (serve_root): replace access() by isaccessable()
  669. * cvsrc.c (read_cvsrc): replace access() by isreadable()
  670. * main.c (main): replace access() by isaccessable()
  671. Wed Nov 8 10:22:41 1995 Greg A. Woods <woods@most.weird.com>
  672. * entries.c (fgetentent): change definition to static to match the
  673. declaration at the top of the file
  674. Tue Nov 7 16:59:25 1995 J.T. Conklin <jtc@lestat.cygnus.com>
  675. * rcs.c (RCS_getbranch, RCS_getdate, RCS_getrevtime, RCS_gettag,
  676. RCS_getversion, RCS_head): Use assert() instead of attempting to
  677. "do the right thing" with a bogus RCSNode argument.
  678. Mon Nov 6 14:24:34 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  679. * vers_ts.c: Remove ctime define. It is just asking for trouble.
  680. Mon Nov 6 11:58:26 1995 Karl Fogel <kfogel@floss.cyclic.com>
  681. * vers_ts.c: ifdef ctime, undef it before redefining it. It is a
  682. macro on some systems.
  683. * lock.c: don't prototype ctime() here. (See note below about
  684. fgetentent() in entries.c.)
  685. Sun Nov 5 16:06:01 1995 Karl Fogel <kfogel@floss.cyclic.com>
  686. * entries.c (fgetentent): don't prototype ctime here; we include
  687. cvs.h, which includes system.h, which includes <time.h>
  688. unconditionally (either as <time.h> or <sys/time.h>). Anyway, IBM
  689. C/C++ chokes on mid-function, or even mid-file, prototypes. Sigh.
  690. Thu Nov 2 21:51:04 1995 Dan Wilder <dan@gasboy.com>
  691. * rtag.c (rtag): Fix typo ("-T" -> "-F").
  692. Tue Oct 31 19:09:11 1995 Dan Wilder <dan@gasboy.com>
  693. * diff.c (diff_dirproc): just return R_SKIP_ALL if dir not exist.
  694. (diff_file_nodiff): don't complain if file doesn't exist, just
  695. ignore.
  696. Tue Oct 31 09:25:10 1995 Norbert Kiesel <nk@col.sw-ley.de>
  697. * sanity.sh: Use absolute pathname for mkmodules.
  698. Sat Oct 28 01:01:41 1995 Jim Meyering (meyering@comco.com)
  699. * entries.c (ParseTag): Use getline instead of fgets.
  700. Fri Oct 27 13:44:20 1995 Karl Fogel <kfogel@floss.cyclic.com>
  701. * cvs.h: do nothing about alloca ifdef ALLOCA_IN_STDLIB. I am
  702. rather suspicious of this solution, and will not be surprised to
  703. find out that there's a Right Way to handle this situation ("this
  704. situation" being that OS/2 simply declares alloca in <stdlib.h>).
  705. Suggestions are welcome; see src/cvs.h and lib/system.h to see why
  706. I was getting a conflict in the first place.
  707. Wed Oct 25 16:03:20 1995 J.T. Conklin <jtc@slave.cygnus.com>
  708. * cvs.h (struct entnode): Add user field.
  709. * entries.c (fputentent): New function, write entries line.
  710. (write_ent_proc): Call fputentent to write entries line.
  711. (Entnode_Create): New function, construct new Entnode.
  712. (Entnode_Destroy): New function, destruct old Entnode.
  713. (AddEntryNode): Changed to take an Entnode argument instead of
  714. separate user, version, timestamp, etc. arguments.
  715. (fgetentent): Changed to return Entnode.
  716. (struct entent, free_entent): Removed.
  717. Wed Oct 25 12:44:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  718. * admin.c (admin): Don't rely on ANSI C string concatenation;
  719. SunOS 4.1.3 /bin/cc doesn't support it.
  720. Tue Oct 24 22:34:22 1995 Anthony J. Lill <ajlill@ajlc.waterloo.on.ca>
  721. * import.c (expand_at_signs): Check errno as well as return value
  722. from putc. Some systems bogusly return EOF when successfully
  723. writing 0xff.
  724. Tue Oct 24 14:32:45 1995 Norbert Kiesel <nk@col.sw-ley.de>
  725. * admin.c (admin): use getcaller() instead of getpwuid
  726. * subr.c (getcaller): prefer getlogin() to $USER and $LOGNAME
  727. (especially useful for NT where getuid always returns 0)
  728. Tue Oct 24 06:22:08 1995 Jim Meyering (meyering@comco.com)
  729. * cvsrc.c (read_cvsrc): Use getline instead of fgets.
  730. * patch.c (patch_fileproc): Use getline instead of fgets.
  731. * entries.c (fgetentent): Use getline instead of fgets.
  732. Use xmalloc to allocate space for each returned entry.
  733. Since LINE is no longer static, save it in struct entent.
  734. (struct entent): New member, line.
  735. (free_entent): New function.
  736. (Entries_Open): Call it after each call to fgetentent.
  737. Tue Oct 24 11:13:15 1995 Norbert Kiesel <nk@col.sw-ley.de>
  738. * cvs.h: Declare valloc again, but this time with the right
  739. signature (also changed in libs/valloc.c)
  740. Mon Oct 23 12:17:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  741. * logmsg.c (do_editor): Check for errors from stdio calls.
  742. Mon Oct 23 12:37:06 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  743. * cvs.h: Don't declare valloc. Some systems (e.g. linux) declare
  744. it in stdlib.h in a conflicting way.
  745. Mon Oct 23 08:41:25 1995 Jim Meyering (meyering@comco.com)
  746. * commit.c (commit_filesdoneproc): Use getline instead of fgets.
  747. * logmsg.c (do_editor): Use getline instead of fgets.
  748. (rcsinfo_proc): Likewise.
  749. * logmsg.c (do_editor): Lose if fclose of temp file output
  750. stream fails.
  751. Mon Oct 23 11:59:41 1995 Norbert Kiesel <nk@col.sw-ley.de>
  752. * cvs.h: add valloc declaration
  753. * server.h: add server_cleanup prototype
  754. * server.c: remove server_cleanup prototype
  755. * mkmodules.c (server_cleanup): fix parameter type
  756. * server.c: encapsulate wait_sig in #ifdef sun (it's only used in
  757. code which is also encapsulated in #ifdef sun)
  758. * rcscmds.c (RCS_deltag, RCS_lock): add definition of noerr
  759. parameter
  760. * error.c: include cvs.h instead of config.h, add USE(rcsid)
  761. * error.c (error): fix parameter type
  762. * update.c (join_file): encapsulate recent changes from garyo
  763. within #ifdef SERVER_SUPPORT
  764. Sun Oct 22 13:47:53 1995 J.T. Conklin <jtc@slave.cygnus.com>
  765. * client.c (update_entries): Fix memory leak; free mode_string and
  766. file_timestamp.
  767. (send_fileproc): Fix memory leak; call freevers_ts before exiting.
  768. * module.c (do_module): Partially fix memory leak; added
  769. variable so that the address of memory allocated by line2argv
  770. is retained, but comment out the call to free_names. Freeing
  771. the vector at that point loses because some of the elements
  772. may be used later in the function.
  773. (cat_module): fix memory leak.
  774. * recurse.c (start_recursion): Fix memory leak; free return
  775. value of Name_Repository after it has been used.
  776. Sat Oct 21 23:24:26 1995 Jim Meyering (meyering@comco.com)
  777. * client.c (send_modified) [LINES_CRLF_TERMINATED]: Comment text
  778. after #endif.
  779. Fri Oct 20 14:41:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  780. * sanity.sh: Add test 87a, to test for bug fixed by garyo in
  781. change below.
  782. Fri Oct 20 10:59:58 1995 Gary Oberbrunner <garyo@darkstar.avs.com>
  783. * update.c (join_file): send file back to client even if no
  784. conflicts were detected, by calling Register().
  785. Fri Oct 20 10:46:45 1995 Norbert Kiesel <nk@col.sw-ley.de>
  786. * lock.c: Add prototype for Check_Owner
  787. Thu Oct 19 16:38:14 1995 Jim Meyering (meyering@comco.com)
  788. * lock.c (Check_Owner): Declare function `static int'.
  789. Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  790. * expand_path.c (expand_variable): Fix typo ('*'->'(').
  791. Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  792. * commit.c (commit_filesdoneproc): Check for errors from fopen,
  793. fgets, and fclose.
  794. * rcscmds.c (RCS_merge): Remove comment about rcsmerge -E.
  795. Hacking CVS was never a very good solution; the situation is fixed
  796. in RCS 5.7, and is documented in ../INSTALL.
  797. Thu Oct 19 15:06:15 1995 Jim Meyering (meyering@comco.com)
  798. * filesubr.c (xchmod): Parenthesize arithmetic in operand of |
  799. to placate gcc -Wall.
  800. * expand_path.c (expand_path): Parenthesize assignments used as
  801. truth values to placate gcc -Wall.
  802. * commit.c (checkaddfile): Remove dcls of unused variables.
  803. * lock.c (unlock): Remove dcl of unused variable.
  804. Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  805. * root.c (Create_Root): If noexec, don't create CVS/Root.
  806. Wed Oct 18 11:19:40 1995 J.T. Conklin <jtc@slave.cygnus.com>
  807. * lock.c (unlock): Change order of comparison so that Check_Owner
  808. is called only if other conditions are true. This performance
  809. enhancement was broken when the AFS support was added.
  810. Wed Oct 18 12:51:33 1995 Karl Fogel <kfogel@floss.cyclic.com>
  811. * main.c (main): check if argv[0] is "pserver" with else-if, not
  812. if, since we've already asked if it's "kserver".
  813. Tue Oct 17 18:09:23 1995 Warren Jones <wjones@tc.fluke.com>
  814. and Jim Kingdon <kingdon@harvey.cyclic.com>
  815. * sanity.sh: Deal with supplying a relative cvs filename, or
  816. with a cvs filename which doesn't have basename "cvs".
  817. Mon Oct 16 15:58:31 1995 Vince Demarco <vdemarco@bou.shl.com>
  818. * parseinfo.c (Parse_Info): if the Keyword isn't ALL the current
  819. version doesn't use the expanded variable, It should.
  820. Mon Oct 16 15:58:31 1995 Gary Oberbrunner <garyo@avs.com>
  821. and Jim Kingdon <kingdon@harvey.cyclic.com>
  822. * server.c (server_register): Don't pass NULL to printf if tag,
  823. date, or conflict is NULL.
  824. Thu Oct 12 12:13:42 1995 Karl Fogel <kfogel@floss.cyclic.com>
  825. * main.c (main): begin to handle "pserver"; support not complete
  826. yet, however.
  827. Thu Oct 12 02:52:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
  828. * expand_path.c: Don't #include <pwd.h>, since cvs.h already does,
  829. and not all systems' <pwd.h>s are protected from multiple inclusion.
  830. * login.c: Likewise.
  831. Wed Oct 11 15:23:24 1995 Karl Fogel <kfogel@floss.cyclic.com>
  832. * login.c (login): handle everything correctly now.
  833. Wed Oct 11 12:02:48 1995 Norbert Kiesel <nk@col.sw-ley.de>
  834. * rcs.c (RCS_gettag): support RCS keyword Name
  835. Tue Oct 10 19:11:16 1995 Karl Fogel <kfogel@floss.cyclic.com>
  836. * options.h.in (CVS_LOGIN): discuss, but leave commented out.
  837. The "cvs login" command is still under construction; however, the
  838. repository was changing so fast that instead of creating a branch
  839. and dealing with the attendant hair, I'm just developing on the
  840. trunk, making sure that everything is surrounded by "#ifdef
  841. CVS_LOGIN ... #endif" so I don't get in anyone's way.
  842. * login.c: include cvs.h before checking CVS_LOGIN, so it has a
  843. chance to get defined before we ask if it's defined.
  844. (login): oops, use semi not comma in `for' loop init.
  845. * Makefile.in (SOURCES, OBJECTS): include login.c, login.o.
  846. * main.c: added protoype for login().
  847. Added "login" entry to cmds[].
  848. (usg): added line about "login".
  849. * login.c: new file.
  850. Tue Oct 10 18:33:47 1995 Karl Fogel <kfogel@totoro.cyclic.com>
  851. * Makefile.in (COMMON_OBJECTS): added error.o.
  852. (OBJECTS): took error.o out; it's in COMMON_OBJECTS now.
  853. Tue Oct 10 12:02:37 1995 Thorsten Lockert <tholo@sigmasoft.com>
  854. * cvsbug.sh: Cater to lame versions of sh (4.4BSD ash) by using
  855. ${foo-bar} instead of `if....`.
  856. Tue Oct 10 12:02:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  857. * remove.c (remove_fileproc): If noexec, don't remove file. Check
  858. for error when removing file.
  859. Sun Oct 8 12:32:15 1995 Peter Wemm <peter@haywire.DIALix.COM>
  860. * run.c: detect/use POSIX/BSD style reliable signals for critical
  861. section masking etc. Helps prevent stray locks on interruption.
  862. Sat Oct 7 23:26:54 1995 Norbert Kiesel <nk@col.sw-ley.de>
  863. * admin.c (admin): If group CVS_ADMIN_GROUP exists, allow only
  864. users in that group to use "cvs admin".
  865. * options.h.in: Default CVS_ADMIN_GROUP to "cvsadmin".
  866. Sat Oct 7 23:05:24 1995 Norbert Kiesel <nk@col.sw-ley.de>
  867. * add.c, checkout.c, commit.c, cvs.h, filesubr.c, import.c,
  868. lock.c, main.c, modules.c, options.h.in: New variable cvsumask
  869. which is used to set mode of files in repository (regardless of
  870. umask in effect when cvs is run).
  871. Sat Oct 7 22:40:17 1995 Stephen Bailey <sjbailey@sand.npl.washington.edu>
  872. * lock.c: Include AFSCVS ifdefs to deal with AFS's lack of
  873. correspondance between userid's from stat and from geteuid.
  874. Sat Oct 7 22:28:49 1995 Scott Carson <sdc@TracerTech.COM>
  875. * add.c (add): Pass -ko, not -k -ko, to set keyword expansion options.
  876. * admin.c (admin): Don't skip first argument when sending to server.
  877. Fri Oct 6 21:45:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com>
  878. * version.c: Version 1.6.1.
  879. Fri Oct 6 21:31:28 1995 Jeff Johnson <jbj@brewster.jbj.org>
  880. * cvs.h, admin.c, client.c, commit.c, log.c, modules.c,
  881. parseinfo.c, patch.c, recurse.c, rtag.c, status.c, tag.c:
  882. Prototype when dealing in pointers to functions.
  883. Fri Oct 6 21:07:22 1995 Mark H. Wilkinson <mhw@minster.york.ac.uk>
  884. * cvsrc.c (read_cvsrc): fix look up of command names in cvsrc file
  885. to use full name from command table rather than possible nickname
  886. in argv. Fixes errors with things like `cvs di' when cvsrc has
  887. `diff -u5' in it.
  888. Thu Aug 3 01:03:52 1995 Vince DeMarco <vdemarco@bou.shl.com>
  889. * parseinfo.c (Parse_Info): Add code to call expand_path function
  890. instead of using built in code.
  891. * wrapper.c (wrap_add): Add code to call expand_path function to
  892. expand all built in variables.
  893. * expand_path.c (New file): expand things that look like
  894. environme…