(file) Return to ChangeLog CVS log (file) (dir) Up to [XFree86 CVS] / cvsup

  1 dawes 1.1.1.3 Notable changes in release 14.1.1:
  2               
  3                 This release was made solely to fix a server bug that was imminently
  4                 going to cause problems for the FreeBSD mirror sites.  The bug
  5                 showed itself in checkout mode.  If an RCS file in the repository
  6                 had the client's delta _deleted_ from it (i.e., "rcs -o1.15
  7                 file.c"), then the server would do a null pointer dereference
  8                 and die.  Deltas are "never" supposed to be deleted from a
  9                 repository, but it may happen in the case of manual repairs.
 10                 (Unamusingly, the null pointer dereference happened in the code
 11                 that was simply trying to warn about the strange situation.)
 12               
 13                 There were _no_ client changes between release 14.1 and 14.1.1.
 14               
 15 dawes 1.1.1.2 Notable changes in release 14.1:
 16               
 17                 For both the client and the server, there is now a "-c collDir"
 18                 command line option for overriding the name of the subdirectory
 19                 where the collection information is maintained.  The name used
 20                 to be hard-wired to "sup", and that is still the default.
 21               
 22                 If the client's prefix directory for a collection doesn't exist,
 23                 it is no longer a fatal error.  A warning is produced and the
 24                 offending collection is skipped, but the others are still processed
 25                 normally.  If the prefix is a symbolic link pointing to "SKIP",
 26                 the warning is suppressed.
 27               
 28                 Fixed a server problem that caused certain pathological updates in
 29                 checkout mode to take damned near forever.
 30               
 31                 Fixed a problem that caused fixups to be performed for certain
 32                 RCS files that were corrupted to begin with.  The files had incorrect
 33                 dates on some revisions, because they had been hacked up by hand.
 34                 That caused the client to write out the delta texts in the wrong
 35                 order.  Since there was a way to work around this dubious situation, I
 36 dawes 1.1.1.2   implemented it.
 37               
 38                 Changed the logic surrounding the time stamp comparisons between
 39                 files on the client and files on the server, eliminating a
 40                 miniscule possibility of missed updates.  Now, the system can
 41                 detect it if a file happens to have been modified independently
 42                 on both the client and the server at exactly the same time.  The
 43                 file is recognized as possibly needing an update, even though
 44                 its time stamp is the same on the client and the server.
 45               
 46                 Fixed the client's lock file handling ("-l" option) so that the
 47                 lock remains held during the intervals between retries.  Formerly,
 48                 the lock was released during those intervals, rendering it fairly
 49                 useless for avoiding multiple stacked up processes from cron
 50                 jobs.
 51               
 52                 Added a check to make sure it is possible to get the client host's
 53                 own IP address before starting up the GUI.  Formerly, misconfigured
 54                 hosts (e.g., incorrect host name) would result in a baffling
 55                 "IP.FatalError" message.
 56               
 57 dawes 1.1.1.2   Changed the priorities for syslog messages from the server so
 58                 that messages associated with individual client connections are
 59                 logged at "info" level rather than "notice".  For simple syslog.conf
 60                 setups, that takes these mostly informational messages out of
 61                 /var/log/messages, where they caused a lot of clutter.  The
 62                 logging still isn't perfect, as a few more serious messages now
 63                 also come out at "info" level.  Nevertheless, the new situation
 64                 is an improvement.
 65               
 66                 Added a new "-k" command line option for the client, intended
 67                 for debugging.  This option causes the bad temporary files to be
 68                 saved for files requiring fixups due to incorrect edits.  The
 69                 fixups are still performed, regardless.
 70               
 71                 Further improved the server's handling of corrupted RCS files.
 72                 In virtually all circumstances, the server should now be able to
 73                 issue warnings for corrupted RCS files and carry on with the
 74                 remaining updates.
 75               
 76                 Beefed up the semantic checking of RCS files, to detect some more
 77                 pernicious kinds of corruption.
 78 dawes 1.1.1.2 
 79                 Added a "norsync" option which can be specified in the server's
 80                 "releases" files.  It allows the server to disable the use of
 81                 the rsync algorithm for selected collections and releases.  This
 82                 is beneficial for CVS repositories, where CVSup's "append" updates
 83                 work better and more efficiently than the rsync algorithm.
 84               
 85                 Added additional server checks of the filenames received from
 86                 the client, to ensure that the server cannot be spoofed into
 87                 delivering files from outside its collections.
 88               
 89 dawes 1.1     Notable changes in release 14.0:
 90               
 91                 CVSup now uses Tridgell & Mackerras' "rsync" algorithm for updating
 92                 non-RCS files.  It is enabled by default, though it can be turned
 93                 off for individual collections by specifying the "norysnc" keyword.
 94               
 95                 The supfile can now have special collections named "*default" to
 96                 specify default parameters for subsequent collections.
 97               
 98                 The "base" and "host" supfile settings can now be overridden on
 99                 the client's command line.
100               
101                 The client now supports multiple "refuse" files:  a global one
102                 which applies to all collections; a per-collection one; and one
103                 that is specific to a release+tag within its collection.
104               
105                 There is now a client option to specify a lock file, to prevent
106                 multiple cvsup processes from interfering with each other.  It
107                 is useful when the client is run periodically from cron, to avoid
108                 trouble if a job runs unusually long because of network problems.
109               
110 dawes 1.1       The client now refuses to create the "base" or "prefix" directory
111                 for any collection.  Instead, it emits a diagnostic if either
112                 directory doesn't exist.  As a special case, if the "prefix" is
113                 a symbolic link pointing to a nonexistent file named "SKIP", the
114                 associated collection will be skipped without complaint.
115               
116                 The default "base" for the client is now "/usr/local/etc/cvsup".
117               
118                 Both the server's and client's "prefix" directories are now
119                 interpreted relative to their base directories, if they are not
120                 absolute pathnames.
121               
122                 The client now silently refuses to set the setuid, setgid, and
123                 sticky bits in files that it creates or updates.
124               
125                 The client now does a better job of cleaning up its temporary
126                 files when it is killed by a signal.
127               
128                 The client now tries harder to look up the IP address of the
129                 server host.
130               
131 dawes 1.1       There is a new "keywordprefix" keyword for the server's "releases"
132                 file.  It specifies a prefix that is used when constructing the
133                 pathnames generated by the Header and Source RCS keywords.  This
134                 allows the actual repositories to be in different places on
135                 different machines, while still producing identical expansions
136                 of the RCS keywords.
137               
138                 The server will now accept connections from certain "friends"
139                 listed in a configuration file, regardless of whether the maximum
140                 number of simultaneous connections has been exceeded.
141               
142                 The server can now do its logging via syslog.
143               
144                 The server log messages have been cleaned up quite a bit.
145               
146                 The server now logs any repository problems that it notices,
147                 e.g., unparsable RCS files, non-RCS files in the Attic, and so
148                 forth.
149               
150                 The server now ignores any "hostbase" specified in the client's
151                 supfile.  A new server argument "-b base" specifies the base
152 dawes 1.1       directory.  The default is now "/usr/local/etc/cvsup".
153               
154                 The server now validates all collection names to make sure they
155                 contain no slashes and are not equal to "." or "..".
156               
157                 The server now checks for certain errors earlier, before becoming
158                 a daemon.
159               
160                 All of the programs except the server now install into
161                 "/usr/local/bin".  The server still installs into "/usr/local/sbin".
162               
163                 Fixed a bug in the ordering of the "branches" list in the RCS file,
164                 which on very rare occasions caused a "fixup" to be required.
165               
166                 Fixed a bug which could cause the client to hang trying to flush
167                 its network buffers after the user pressed the "stop" button in
168                 the GUI.
169               
170                 Fixed a bug that caused the client to complain "file exists" when
171                 trying to create directories leading up to a new file, if the
172                 pathname contained a "." (current directory) component in it.
173 dawes 1.1       This prevented "upgrade ." from being used in the server collection
174                 list files.  Unfortunately, since it's a client-side bug, such
175                 lines still should not be used for a while, until older releases
176                 of the client have evaporated away.
177               
178                 Fixed a bug which produced a misleading error message when a
179                 failure occurred in making the directories leading up to the
180                 temporary file that is used for the list file in the client.
181               
182                 When bad tokens or protocol errors are encountered, the offending
183                 text is no longer included in the error message.  Sometimes it
184                 contained voluminous amounts of garbage.
185               
186                 Messages reporting errors in the client-side list files are
187                 accompanied by line numbers now.
188               
189               Notable changes in release 13.5:
190               
191                 Support SOCKS, using a new add-on library in ports/lang/modula-3-socks.
192               
193                 Add command line options "-z" and "-Z" for directly controlling the
194 dawes 1.1       "compress" option, overriding what is in the supfile.  Likewise, add
195                 "-d" and "-D" for overriding the "delete" option.
196               
197                 Make the client retry automatically when transient failures occur.
198                 This is done only in batch (non-GUI) mode.  Retries use randomized
199                 exponential backoff.  The retry delay starts out at about 5 minutes,
200                 and increases to a maximum of about 2 hours.
201               
202                 Programs are now built fully dynamically linked by default.  If
203                 "-DSTATIC" is in the "M3FLAGS" environment variable, then they are
204                 linked fully static.  If "-DM3STATIC" is present, then the Modula-3
205                 libraries are linked statically, and the system libraries are linked
206                 dynamically.  (This used to be the default.)
207               
208                 It is now possible to build the client without the GUI, by adding
209                 "-DNOGUI" to the "M3FLAGS" environment variable.
210               
211               Notable changes in release 13.4:
212               
213                 Detect and send changes to the RCS keyword expansion mode.
214                 Formerly, these (rare) changes were ignored.  That caused checksum
215 dawes 1.1       mismatches, which slowed down updates because the whole files had
216                 to be sent as fixups.
217               
218                 Report 0-byte appends as what they really are, i.e., touches.
219                 Add a new statistics line for them.
220               
221                 Make the command line option handling comply better with POSIX.
222               
223                 Fix supconv to handle recent changes to the example "ports-supfile"
224                 in FreeBSD-current.
225               
226                 Add a timeout to kill a server process when it has been inactive
227                 too long (15 minutes).  This replaces the TCP keepalives that were
228                 added in the previous release.
229               
230                 Add a hack to the server to make it easier to shut it down in a
231                 controlled manner.  If a file "cvsupd-HALT" exists in the directory
232                 from which the server was started, and if it is newer than the
233                 time when the server was started, then the server will reject
234                 all new incoming connection requests.
235               
236 dawes 1.1       Make some changes to the zlib interface to eliminate the potential for
237                 an unsafe interaction with the garbage collector.
238               
239                 FreeBSD binary releases are now built with a new version of the
240                 Modula-3 runtime that has a thread-safe version of malloc built
241                 into it.  This cures some vexing core dumps that had been happening
242                 from time to time.
243               
244                 Add work-arounds for the worst of the problems associated with malloc
245                 packages that are not thread-safe.  These are not complete, however.
246                 I will probably incorporate a (hopefully portable) thread-safe malloc
247                 in the next release.
248               
249                 Eliminate several FreeBSD-specific constructs that caused
250                 portability problems on other platforms.  There is a good chance
251                 now that this software will compile and run out-of-the-box on
252                 most POSIX systems with standard SRC Modula-3 installations.
253               
254               Notable changes in release 13.3:
255               
256                 Implement a passive mode for establishing the data connection,
257 dawes 1.1       to help people who live behind firewalls.  Passive mode is similar
258                 to ftp's passive mode: all TCP connections are initiated from
259                 the client.  See the "-P -" option in cvsup(1).
260               
261                 Make the system much more resiliant in the face of errors in the
262                 server's CVS repository, such as unreadable files and garbled
263                 RCS files.  Almost all such situations now lead to simple warnings,
264                 rather than fatal errors.
265               
266                 Make it a warning rather than a fatal error when the client
267                 specifies an invalid collection.
268               
269                 Fix the broken "refuse" file handling.
270               
271                 Make the server refuse to run as root, for security reasons.
272               
273                 Fix a bug that could cause a fatal error to occur in certain
274                 situations involving local check-ins to RCS files in the CVS
275                 repository.
276               
277                 Fix a server bug encountered during SOCKS testing.  Note: This
278 dawes 1.1       release of CVSup still does not work with SOCKS.
279               
280                 Enable TCP keepalives on the server.
281               
282               Notable changes in release 13.2:
283               
284                 Fix a bug that caused the server to give up when an RCS file in the
285                 repository got really out of whack.  This happened only when it was
286                 trying to update a client file in checkout mode.  Now the server falls
287                 back upon checking out a fresh copy of the file.
288               
289               Notable changes in release 13.1:
290               
291                 Fix a bug that caused the server to leave zombie processes under
292                 FreeBSD-current.
293               
294                 Fix a bug that caused the build to fail on a manual page problem
295                 under FreeBSD-current.
296               
297                 Permit more control over which TCP ports are used, making it more
298                 convenient to use the client behind a firewall.  See the new "-P"
299 dawes 1.1       option in cvsup(1).
300               
301                 Support building static, dynamic, or partly dynamic executables.
302                 "Partly dynamic" means the system libraries are dynamic, but the
303                 Modula-3 runtime libraries are static.  See "Install" for details.
304                 For now, I am still putting fully static executables in the binary
305                 distributions.
306               
307                 Respond more quickly to the interrupt button on the client GUI.
308               
309                 Fix the supconv utility to handle the ports collection better.
310               
311                 Make supconv install properly, and add a manual page for it.
312               
313                 Add various enhancements to the manual pages.
314               
315               Release 13.0:
316               
317                 Initial public release.

Powered by
ViewCVS 0.9.2