c87c1cea6519b44d5df7cf4c53afdd56afa90115
[ircu2.10.12-pk.git] / ChangeLog
1 2000-04-16  Kevin L. Mitchell  <klmitch@mit.edu>
2
3         * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if
4         this is a local JUPE
5
6         * ircd/gline.c: add flags argument to gline_activate and
7         gline_deactivate for future expansion
8
9         * ircd/m_gline.c: pass flags to gline_activate and
10         gline_deactivate
11
12         * include/gline.h: add flags argument to gline_activate and
13         gline_deactivate
14
15         * ircd/jupe.c: add flags argument to jupe_activate and
16         jupe_deactivate for future expansion
17
18         * include/jupe.h: add flags argument to jupe_activate and
19         jupe_deactivate
20
21         * ircd/m_jupe.c: pass a flags argument to jupe_add instead of
22         local, active; pass flags to jupe_activate and jupe_deactivate
23
24         * include/gline.h: remove dead code
25
26         * ircd/gline.c: make gline expire times relative to CurrentTime,
27         since that should be monotonically increasing, instead of
28         TStime(), which can be set backwards, and which can therefore
29         cause an expire time to increase; make local glines be removed
30         instead of just deactivated; don't let gline_find() look for
31         user@host glines if the mask being looked up is a channel mask
32
33         * ircd/send.c (vsendcmdto_one): forgot to account for the case
34         where origin is a server and destination is a user
35
36         * ircd/jupe.c: make jupe expire times relative to CurrentTime,
37         since that should be monotonically increasing, instead of
38         TStime(), which can be set backwards, and which can therefore
39         cause an expire time to increase; make local jupes be removed
40         instead of just deactivated
41
42         * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for
43         limit is fine.  any other warnings I should know about?
44
45 2000-04-15  Thomas Helvey <tomh@inxpress.net>
46
47         * ircd/*.c: const correctness and type safety cleanups to
48         get code to compile with C++ compiler. Still has
49         signed/unsigned comparison warnings.
50
51 2000-04-15  Greg Sikorski <gte@atomicrevs.demon.co.uk>
52
53         * ircd/userload.c: change <sys/time.h> include to <time.h> for
54           portability.
55
56 2000-04-14  Kevin L. Mitchell  <klmitch@mit.edu>
57
58         * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C
59         and convert acptr...
60
61         * ircd/s_user.c: move gline_lookup function call into
62         register_user, where it'll have a username to lookup!
63
64         * ircd/m_gline.c: modify to utilize new sendcmdto_* series of
65         functions; also stuff send_error_to_client into return clauses
66
67         * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of
68         functions; also use send_error_to_client where that makes sense
69
70         * ircd/jupe.c: modify to utilize new sendcmdto_* series of
71         functions; also use send_error_to_client where that makes sense
72
73         * ircd/gline.c: modify to utilize new sendcmdto_* series of
74         functions; also fix gline_lookup() to deal properly with remote
75         clients--boy, do struct Client and struct User need to be cleaned
76         up!
77
78         * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server,
79         too...
80
81         * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and
82         sendcmdto_serv_butone(), all utilizing the %v conversion of
83         ircd_snprintf()
84
85         * include/send.h: define IRC_BUFSIZE, max size of a message;
86         declare sendcmdto_one(), vsendcmdto_one(), and
87         sendcmdto_serv_butone()
88
89         * include/msg.h: define all the CMD_* constants needed to utilize
90         the new sendcmdto_* series of functions
91
92         * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend
93
94         * ircd/gline.c: remove old, dead code.
95
96         * ircd/m_gline.c (mo_gline): disallow setting of global G-lines
97         unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines
98         (don't advertise proxies); remove dead code
99
100         * ircd/parse.c: oper handler for JUPE only lists jupes unless
101         CONFIG_OPERCMDS is enabled
102
103         * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if
104         CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c
105
106         * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled,
107         always return ERR_DISABLED
108
109         * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not
110         enabled, always return ERR_DISABLED
111
112         * ircd/s_err.c: add error message to indicate disabled commands
113
114         * include/numeric.h (ERR_DISABLED): to indicate disabled commands
115
116         * doc/Configure.help: add documentation for CONFIG_OPERCMDS
117
118         * config/config-sh.in: add CONFIG_OPERCMDS, default both it and
119         CONFIG_NEW_MODE to 'y' for now
120
121         * ircd/gline.c (gline_list): fix a minor formatting bogon
122
123         * BUGS: since I fixed that bug, might as well mark it fixed.
124
125         * ircd/m_join.c: look up badchans with GLINE_EXACT
126
127         * ircd/m_gline.c: fix parc count problems; look up existing
128         G-lines with GLINE_EXACT; only set new lastmod when
129         activating/deactivating existing glines if old lastmod was not 0
130
131         * ircd/gline.c: forgot to copy the gline reason over; don't
132         propagate a gline with 0 lastmod if origin is user; add
133         GLINE_EXACT to force exact matching of gline mask
134
135         * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero
136         flag properly
137
138         * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost,
139         but gline_lookup() actually takes a client--d'oh.
140
141 2000-04-13  Thomas Helvey <tomh@inxpress.net>
142         * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10
143
144 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
145
146         * ircd/whocmds.c: Don't make idle flag default in /who, to prevent:
147           "/who * x"
148           "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was."
149           (Found by Plexus).
150
151         * ircd/whocmds.c: Change idle time calc from socket idle to user
152           idle.
153
154 2000-04-13  Kevin L. Mitchell  <klmitch@mit.edu>
155
156         * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *,
157         too, for ircd_snprintf.c
158
159         * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in
160         comments; mostly descended from the Linux manpage for printf, but
161         also documenting the extensions.
162
163         * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a
164         client; make 'q' be the same as 'L'; remove __inline__; only
165         define EXTENSION if HAVE_LONG_LONG is defined
166
167         * include/handlers.h: declare m_gline()
168
169         * ircd/parse.c: gline can be called by users, but it only lists
170         the glines.
171
172         * ircd/s_user.c (set_nick_name): resend gline if a remote server
173         introduces a glined client
174
175         * ircd/s_serv.c (server_estab): burst glines, too
176
177         * ircd/gline.c: fix up all the expire times to be offsets;
178         simplify gline_resend()
179
180         * ircd/m_gline.c: begin coding replacements for ms_gline(),
181         mo_gline(), and m_gline()
182
183         * ircd/gline.c (gline_add): allow *@#channel to work correctly;
184         also, prohibit local BADCHANs if LOCAL_BADCHAN not defined
185
186 2000-04-13  Greg Sikorski <gte@atomicrevs.demon.co.uk>
187
188         * tools/Bouncer/*: Add comments/documentation/tags.
189         * tools/Bouncer/*: Add debug defines, make task fork().
190
191 2000-04-12  Thomas Helvey <tomh@inxpress.net>
192         * ircd/s_err.c: Cleanup s_err.c make one table so we
193         don't have to do anything tricky to get an error string.
194
195 2000-04-12  Greg Sikorski <gte@atomicrevs.demon.co.uk>
196         * Add port bouncer for http (x/w)
197
198 2000-04-12  Kevin L. Mitchell  <klmitch@mit.edu>
199
200         * ircd/s_conf.c (find_kill): replaced call to find_gline() with a
201         call to gline_find(); also used GlineReason() instead of direct
202         reference to structure member
203
204         * ircd/m_join.c (m_join): replace bad_channel() calls with calls
205         to gline_find(name, GLINE_BADCHAN), and also check to see if gline
206         is active
207
208         * ircd/channel.c: nothing seems to be called anywhere...
209
210         * ircd/s_err.c: update a couple of replies to dovetail with new
211         semantics
212
213         * ircd/gline.c: begin complete re-implementation of gline.c along
214         the lines of the final design of jupe.c
215
216         * include/gline.h: begin complete re-implementation of gline.c
217         along the lines of the final design of jupe.c
218
219         * ircd/channel.c (mode_process_clients): fix "Deop of +k user on
220         %s by %s" message...
221
222         * ircd/ircd_snprintf.c: my new snprintf()-like functions
223
224         * include/ircd_snprintf.h: my new snprintf()-like functions
225
226 2000-04-11  Thomas Helvey <tomh@inxpress.net>
227         * ircd/IPcheck.c: removed old dead code
228         * ircd/s_user.c (send_user_info): removed non-standard
229           user not found message for userhost/userip
230
231 2000-04-11  Greg Sikorski <gte@atomicrevs.demon.co.uk>
232
233         * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric.
234         * doc/p10.html: Work on chapter 4.
235
236 2000-04-10  Kevin L. Mitchell  <klmitch@mit.edu>
237
238         * ircd/channel.c (mode_parse_client): fix coredump on /mode
239         #foobar +o nosuchnick
240
241 2000-04-10  Perry Lorier  <Isomer@coders.net>
242         * BUGS: Added bug.
243
244 2000-04-09  Thomas Helvey <tomh@inxpress.net>
245         * include/IPcheck.h: fix prototype
246         * ircd/s_user.c: fix usage of IPcheck_remote_connect
247         * ircd/IPcheck.c: removed unused args
248
249 2000-04-09  Thomas Helvey <tomh@inxpress.net>
250         * include/IPcheck.h: add proto for IPcheck_expire
251
252         * ircd/IPcheck.c: Rewrote
253
254         * ircd/ircd.c: Add IPcheck_expire to main message loop
255
256         * ircd/s_user.c: Redo target hashing, refactor target code
257
258         * include/numeric.h: Cleaned up numerics, added which ones are
259         in use by other networks and what they are in use for.
260
261         * ircd/channel.c: cleaned can_join(), allow anyone through anything
262         if /invited, simplified the function.  Opers overusing OPEROVERRIDE
263         will get a message explaining to them not to cheat.
264
265         * ircd/m_join.c: cleaned up the various join functions, should be
266         a lot more efficient.  Still needs work.  Now assumes that s<->s
267         won't send it a JOIN 0.  Service coders - note this and tread with
268         care.
269
270         * ircd/m_stats.c: added Gte-'s stats doc patch.
271
272         * ircd/m_version.c: /version now returns the 005 numeric as well.
273         as requested by Liandrin.
274
275
276 2000-04-07  Kevin L. Mitchell  <klmitch@mit.edu>
277
278         * ircd/m_clearmode.c: add include for support.h for write_log()
279
280         * configure: move ircd/crypt/* to tools/*
281
282 2000-04-06  Thomas Helvey <tomh@inxpress.net>
283         * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds
284           set client host to server alias if connection from localhost
285
286 2000-04-06  Perry Lorier <isomer@coders.net>
287         * ircd/ircd.c: Fix core during pinging (oops)
288         
289 2000-04-06  Perry Lorier <isomer@coders.net>
290         * ircd/send.c: fixed wrong ident being sent to channels bug.
291         * include/numerics.h: Updated some of the numerics from other
292         networks.  Flagged some as 'unused' by undernet.
293
294 2000-03-30  Perry Lorier <isomer@coders.net>
295         * ircd/ircd.c: Lets see if this helps the ping problem at all.
296         * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle
297         time for local clients. (as requested), extended who now returns all
298         the flags (@+!) so you can tell the complete state of a client.
299
300 2000-03-30  Thomas Helvey <tomh@inxpress.net>
301         * m_rping.c m_rpong.c: add Gte's rping/rpong fixes
302
303 2000-03-30  Perry Lorier <isomer@coders.net>
304         * ircd/parse.c: oops, missed opers.
305
306 2000-03-30  Perry Lorier <isomer@coders.net>
307         * ircd/parse.c: fixed mystifying ping bug thats been plaguing us
308         for so long.  Remember: m_ping MUST be in the parse array. :)
309
310 2000-03-30  Perry Lorier <isomer@coders.net>
311         * ircd/ircd.c: test in check_pings was wrong.  I move that we
312         disallow cvs commit after 10pm localtime....
313
314 2000-03-30  Perry Lorier <isomer@coders.net>
315         * ircd/m_pong.c: Fix it for servers too.
316
317 2000-03-30  Perry Lorier <isomer@coders.net>
318         * ircd/m_pong.c: Fix ping timeout bugs
319
320 2000-03-30  Perry Lorier <isomer@coders.net>
321         * ircd/channel.c: Bans had CurrentTime in their when field instead
322         of TStime()
323
324 2000-03-31  Thomas Helvey <tomh@ixpress.net>
325         * ircd/numnicks.c (SetXYYCapacity): fix for extended
326         numerics.
327
328 2000-03-30  Perry Lorier <isomer@coders.net>
329         * ircd/m_nick.c: send kills both ways so when we add nick change
330         on collision we don't desync the network.
331
332         * ircd/map.c: Fixup the map a bit more.
333
334 2000-03-31  Kevin L. Mitchell  <klmitch@mit.edu>
335
336         * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH
337
338         * ircd/m_opmode.c: Log the mode changes to OPATH
339
340         * ircd/channel.c (modebuf_flush_int): Log the mode changes to
341         OPATH
342
343         * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to
344         OPATH
345
346         * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH
347
348         * config/config-sh.in: added OPATH for opmode log file
349
350         * ircd/m_clearmode.c (do_clearmode): updated uses of
351         modebuf_mode_string() for the new usage
352
353         * ircd/channel.c: added flag MODE_FREE and an int argument to
354         modebuf_mode_string() to indicate that the string must be free'd;
355         updated calls to modebuf_mode_string() for the new usage; called
356         collapse(pretty_mask()) on the ban string and use allocated memory
357         for it; added ban list length accounting; fixed a number of small
358         bugs in ban processing
359
360         * include/channel.h: added flag MODE_FREE and an int argument to
361         modebuf_mode_string() to indicate that the string must be free'd
362
363         * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed
364         keys and limits that are set
365
366 2000-03-30  Perry Lorier <isomer@coders.net>
367         * ircd/ircd.c: rewrote check_pings() for maintainability
368         and speed.  Also changed quit msg's so they don't have
369         redundant nick[host] info in them.
370
371         * ircd/send.c: Changed write errors to report what error
372         occured (if possible).
373
374         * ircd/gline.c: added gline comment to the quit.
375
376         * ircd/m_server.c: Added suggestions to server quits mentioning
377         what went wrong so the admin can fix it earlier instead of asking
378         questions...
379
380         * ircd/map.c: Changed m_map() to hide numerics, show a * beside
381         servers that aren't fully burst yet.  And show '(--s)' for servers
382         where its not sure.
383
384         * doc/example.conf: Fixed wrapped U:
385
386 2000-03-30  Kevin L. Mitchell  <klmitch@mit.edu>
387
388         * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of
389         mode_parse() (version selectable at compile time)
390
391         * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1])
392
393         * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1])
394
395         * config/config-sh.in: add new config option to enable new m_mode
396         implementation
397
398         * doc/Configure.help: add documentation for new config option
399         CONFIG_NEW_MODE
400
401         * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461
402         MODE -v : Not enough parameters
403
404         * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove
405         +k and +l even if they weren't set...
406
407         * ircd/m_opmode.c: implement the OPMODE command using mode_parse()
408
409         * ircd/channel.c: make mode_process_clients() clear the DEOPPED
410         flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list
411         for; test the 0-th member, not the i-th member, of the client
412         change state stuff
413
414         * ircd/m_clearmode.c (do_clearmode): use the new
415         mode_invite_clear() function
416
417         * ircd/channel.c: cleared up all the compile-time warnings and
418         errors
419
420         * include/channel.h: added declarations for mode_ban_invalidate()
421         and mode_invite_clear()
422
423         * ircd/channel.c: finished mode_parse(), then broke it up into a
424         dozen or so helper functions to make the code easier to read
425
426 2000-03-29  Thomas Helvey <tomh@inxpress.net>
427         * ircd/ircd.c: refactor server initialization a bit, use
428         getopt for parsing command line, refactor init_sys, main,
429         and other bits.
430
431         * ircd/s_bsd.c: add functions for initialization to clean
432         up logic a bit and remove duplicated code.
433
434         * include/ircd.h: add struct for server process related
435         variables.
436
437 2000-03-29  Kevin L. Mitchell  <klmitch@mit.edu>
438
439         * ircd/channel.c: initial definition of mode_parse(); flags to
440         prevent doing the same thing multiple times; helper method
441         send_notoper() to send a "Not oper"/"Not on channel" notice
442
443         * include/channel.h: declare mode_parse() and helper flags
444
445         * ircd/channel.c (modebuf_flush_int): fiddled with timestamp
446         sending to match the current action of set_mode() closely enough
447         that hopefully there won't be major conflicts
448
449         * ircd/channel.c (modebuf_flush_int): consolidated the mode string
450         building logic, reversed the order of the arguments to mode
451         commands to have '-' preceed '+'
452
453 2000-03-29  Thomas Helvey <tomh@inxpress.net>
454         * ircd/s_bsd.c (add_connection): don't disable socket options
455         let OS tune itself and allow important performance tweaks to 
456         work.
457
458 2000-03-28  Kevin L. Mitchell  <klmitch@mit.edu>
459
460         * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got
461         confused by set_mode, which is doing some really weird logic;
462         guess what I'm going to rewrite next?  ;)
463
464 2000-03-28  Kevin L. Mitchell  <klmitch@emc.com>
465
466         * include/channel.h: added MODE_SAVE for the bounds checking stuff
467         in modebuf_flush
468
469         * ircd/channel.c: make modebuf_flush into modebuf_flush_int and
470         make it do bounds checking on the buffer; all modes are sent only
471         if the all parameter is 1; modebuf_flush is the exported wrapper
472
473         * include/channel.h: add BOUNCE, renumber flags to get a little
474         more space
475
476         * ircd/channel.c (modebuf_flush): don't overload HACK2, add
477         BOUNCE; send DESYNCH message
478
479 2000-03-27  Kevin L. Mitchell  <klmitch@emc.com>
480
481         * ircd/m_clearmode.c (do_clearmode): only mark the modes the
482         channel actually has in effect for deletion
483
484         * ircd/channel.c: added explanatory comments to all added
485         functions; made flushing take place at the correct place even if
486         the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper
487         to bash some stupid bugs; made modebuf_flush() return if ModeBuf
488         is empty, fixed the apparent source, removed some bogus string
489         termination code, properly terminate the mode strings, add support
490         for HACK2 and HACK3, made limit strings not be sent if the limit
491         is being removed, changed where '+' and '-' come from in sent
492         strings, added support for DEOP flag, set up bouncing code for
493         HACK2
494
495         * ircd/Makefile.in: ran make depend
496
497         * include/channel.h: added new defines for future functionality,
498         made modebuf_flush() return int so I can use tail recursion
499
500         * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups
501         to make it all compile
502
503         * ircd/m_opmode.c: add msg.h to includes...
504
505         * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan()
506
507         * ircd/channel.c (modebuf_flush): realized I forgot to
508         nul-terminate addbuf/rembuf properly...
509
510         * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()...
511
512         * ircd/channel.c (modebuf_flush): correct sendto_server_butone to
513         sendto_serv_butone--blah^2
514
515         * ircd/send.c (sendto_serv_butone): stupid comments confused me
516
517         * ircd/channel.c (modebuf_flush): if there are no mode changes to
518         propagate, we're done...
519
520         * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone,
521         not sendto_all_butone
522
523         * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode
524
525         * ircd/m_opmode.c: define skeleton for m{o,s}_opmode
526
527         * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to
528         the list
529
530         * ircd/parse.c: added messages for opmode and clearmode
531
532         * include/handlers.h: added declarations for mo_opmode(),
533         ms_opmode(), mo_clearmode(), and ms_clearmode()
534
535         * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and
536         TOK_CLEARMODE
537
538         * include/channel.h (MODEBUF_DEST_OPMODE): Define the
539         MODEBUF_DEST_OPMODE flag
540
541         * ircd/channel.c (modebuf_flush): added new flag,
542         MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear
543         to originate from source's server (or source itself, if
544         IsServer(source)); also causes a server-level MODE to be sent as
545         OPMODE instead
546
547         * include/channel.h: defined MODEBUF_DEST_SERVER,
548         MODEBUF_DEST_HACK4
549
550         * ircd/channel.c: Add another argument to build_string() to handle
551         numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to
552         servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices
553         to be sent out
554
555 2000-03-27  Perry Lorier <isomer@coders.net>
556
557         * ircd/s_bsd.c: fixed missing 'u' typo.
558
559 2000-03-26  Kevin L. Mitchell  <klmitch@emc.com>
560
561         * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(),
562         _mode_string(), _mode_client(), _flush(); also implemented a
563         simple build_string()
564
565         * include/channel.h: added definition of ModeBuf, modebuf_*
566         manipulation functions, and a couple of helper macros
567
568 2000-03-24 Thomas Helvey <tomh@inxpress.net>
569   * numicks.c: convert extended numerics to use original mask version
570   * numnicks.h: ""
571   * s_user.c:
572 2000-03-23 Thomas Helvey <tomh@inxpress.net>
573   * Merge in changes from production
574 2000-03-22 Thomas Helvey <tomh@inxpress.net>
575   * numicks.c: Tweak to numnick generator to reduce possibility of duplicates.
576   * rfc1459.unet: Add Maniac's documentation for /names 0
577 * Fix misc. jupe bugs that somehow made it into the tree
578 * Escape /names 0 to mean /names --Maniac
579 * Don't core when server asks for info --Maniac 
580 * Add Kev's jupe patch --Bleep
581 * Add Maniacs squit patch --Bleep
582 * Merge in u2_10_10_beta07 changes --Bleep
583 * Merge in u2_10_10_beta06 changes --Bleep
584 * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep
585 #-----------------------------------------------------------------------------
586 #
587 # ChangeLog for ircu2.10.11
588 #
589 # $Id: ChangeLog,v 1.92 2000-04-16 05:19:02 kev Exp $
590 #
591 # Insert new changes at beginning of the change list.
592 #