]>
Commit | Line | Data |
---|---|---|
189935b1 | 1 | 2002-01-08 Perry Lorier <isomer@coders.net> |
2 | * Fixed the build system -- MAKEFILES is *not* a variable you can | |
3 | just use in a makefile :) | |
4 | * Added "Quit: " prefix to quit messages. | |
5 | ||
6 | 2001-10-14 Perry Lorier <isomer@coders.net> | |
7 | * Minor fixes to the below | |
8 | ||
9 | 2001-09-21 Perry Lorier <isomer@coders.net> | |
10 | * ircd/send.c and various: replace sendcmdto_flag_butone with | |
11 | sendwallto_group_butone | |
12 | ||
13 | 2001-09-21 Vampire- <unknown> | |
14 | * ircd/ircd_string.c: unique_name_vector round II. | |
15 | ||
16 | 2001-09-21 mbuna <mbuna@undernet.org> | |
17 | * configure.in: Add support for darwin | |
18 | ||
19 | 2001-09-21 Perry Lorier <isomer@coders.net> | |
20 | * ircd/s_user.c I'm stupid, s/acptr/from/, Hektik pointed it out | |
21 | ||
22 | 2001-09-20 Perry Lorier <isomer@coders.net> | |
23 | ||
24 | * Pullups from 2.10.10.pl16 | |
25 | * Added some warnings, and the concept of rate limited snotices | |
26 | ||
27 | 2001-08-31 Kevin L Mitchell <klmitch@mit.edu> | |
28 | ||
29 | * ircd/channel.c: use "%u" to format limit arguments; use | |
30 | strtoul() to process limit arguments in a /mode command--note: | |
31 | most clients seem to truncate the integer, probably because | |
32 | they're using atoi, and perhaps signed ints | |
33 | ||
34 | 2001-08-17 Kevin L Mitchell <klmitch@mit.edu> | |
35 | ||
36 | * ircd/numnicks.c: include stdlib.h for exit() | |
37 | ||
38 | * ircd/ircd_log.c: include stdlib.h for exit() | |
39 | ||
40 | * ircd/ircd_events.c: include stdlib.h for exit() | |
41 | ||
42 | * ircd/s_stats.c: remove description of /stats v, since it's gone | |
43 | ||
44 | * ircd/m_wallops.c (mo_wallops): add "*" to the beginning of | |
45 | /wallops to distinguish wallops from wallusers | |
46 | ||
47 | * ircd/m_error.c (mr_error): ignore ERROR from clients that aren't | |
48 | in the "handshake" or "connecting" states--I think the latter will | |
49 | never happen, but... | |
50 | ||
51 | * doc/Authors: apply delete's Authors patch | |
52 | ||
53 | * RELEASE.NOTES: rewrite RELEASE.NOTES, basing it a little on | |
54 | Braden's version | |
55 | ||
56 | * README: rewrite README | |
57 | ||
58 | 2001-07-31 Kevin L. Mitchell <klmitch@mit.edu> | |
59 | ||
60 | * ircd/s_serv.c (server_estab): remove unused variable split | |
61 | ||
62 | * ircd/parse.c: add mr_error to the parse table | |
63 | ||
64 | * ircd/m_error.c (mr_error): add mr_error() to handle ERRORs from | |
65 | unregistered connections--if IsUserPort() is true, the ERROR is | |
66 | ignored, otherwise, the message is saved | |
67 | ||
68 | 2001-07-28 Kevin L. Mitchell <klmitch@mit.edu> | |
69 | ||
70 | * ircd/m_kill.c (ms_kill): another minor typo *sigh* | |
71 | ||
72 | * ircd/s_user.c (send_supported): oops, minor typo... | |
73 | ||
74 | * ircd/s_user.c: implement send_supported() to send two ISUPPORT | |
75 | messages containing our feature buffers; make register_user() use | |
76 | send_supported() | |
77 | ||
78 | * ircd/s_misc.c (exit_client): make sure not to give away a remote | |
79 | server in the ERROR message sent to the client; if the killer is a | |
80 | server, we substitute our name in its place | |
81 | ||
82 | * ircd/m_version.c (m_version): use send_supported() to send the | |
83 | ISUPPORT values to the user | |
84 | ||
85 | * ircd/m_nick.c: shave nick collision kills here a bit, too, for | |
86 | the same reasons as for m_kill.c | |
87 | ||
88 | * ircd/m_kill.c: shave kills a bit so that the results look | |
89 | exactly the same no matter where you are; if we didn't do this, it | |
90 | would be possible to map the network by looking at the differences | |
91 | between kills originating under various circumstances | |
92 | ||
93 | * include/supported.h: split the features into two, so as to not | |
94 | bust the parameter count when sending the features list | |
95 | ||
96 | * include/s_user.h: declare new send_supported() function to send | |
97 | the ISUPPORT information | |
98 | ||
99 | 2001-07-27 Kevin L. Mitchell <klmitch@mit.edu> | |
100 | ||
101 | * ircd/s_bsd.c: disable IP (*not* TCP) options to prevent | |
102 | source-routed spoofing attacks; this is only available under | |
103 | u2.10.11, so don't even bother, since no one but testers are using | |
104 | the source base | |
105 | ||
106 | 2001-07-25 Kevin L. Mitchell <klmitch@mit.edu> | |
107 | ||
108 | * include/ircd_policy.h: enable HEAD_IN_SAND_REMOTE by default | |
109 | ||
110 | * ircd/s_err.c: put in a . for reporting link version on /trace, | |
111 | to match what /version does | |
112 | ||
113 | 2001-07-21 Kevin L. Mitchell <klmitch@mit.edu> | |
114 | ||
115 | * ircd/s_misc.c (exit_client): servers don't understand what the | |
116 | numeric nick ERROR is supposed to mean, so they ignore error | |
117 | messages, resulting in not knowing why we were rejected; use | |
118 | sendcmdto_one for servers and sendrawto_one for clients | |
119 | ||
120 | 2001-07-17 Kevin L. Mitchell <klmitch@mit.edu> | |
121 | ||
122 | * ircd/m_burst.c (ms_burst): in the case of a modeless channel and | |
123 | a nick collide, a bare BURST may be propagated; adjust the | |
124 | enforced parameter count to accept the bare BURST | |
125 | ||
126 | 2001-07-12 Kevin L. Mitchell <klmitch@mit.edu> | |
127 | ||
128 | * ircd/s_bsd.c: mark a client as having been IP checked | |
129 | ||
130 | * ircd/IPcheck.c (ip_registry_check_remote): remove unneeded | |
131 | second call to SetIPChecked() | |
132 | ||
133 | 2001-07-11 Kevin L. Mitchell <klmitch@mit.edu> | |
134 | ||
135 | * ircd/engine_poll.c: deal with POLLHUP properly (hopefully) | |
136 | ||
137 | * ircd/engine_devpoll.c: deal with POLLHUP properly (hopefully) | |
138 | ||
139 | 2001-07-09 Kevin L. Mitchell <klmitch@mit.edu> | |
140 | ||
141 | * ircd/os_bsd.c (os_get_rusage): move buf into the two ifdef'd | |
142 | sections so that if neither is used, the declaration of buf will | |
143 | not elicit an "unused variable" warning under NetBSD | |
144 | ||
145 | * ircd/m_map.c: include string.h to declare strcpy (fix warnings | |
146 | on alpha) | |
147 | ||
148 | * ircd/m_away.c: include string.h to declare strcpy/strlen (fix | |
149 | warnings on alpha) | |
150 | ||
151 | * ircd/ircd_log.c: include string.h to declare strcpy/strlen (fix | |
152 | warnings on alpha) | |
153 | ||
154 | * ircd/client.c: include string.h to declare memset (fix warnings | |
155 | on alpha) | |
156 | ||
157 | * ircd/channel.c: remove unused functions next_overlapped_ban, | |
158 | del_banid, and is_deopped (fix warnings under -O1) | |
159 | ||
160 | * ircd/IPcheck.c: include string.h to declare memset/memcpy (fix | |
161 | warnings on alpha) | |
162 | ||
163 | 2001-06-29 Kevin L. Mitchell <klmitch@mit.edu> | |
164 | ||
165 | * ircd/s_user.c (set_user_mode): clear the snomask if the user | |
166 | isn't supposed to receive server notices anymore | |
167 | ||
168 | * ircd/ircd_features.c: change CONFIG_OPERCMDS to default to FALSE | |
169 | ||
170 | * configure.in: use AC_MSG_CHECKING/AC_MSG_RESULT when checking | |
171 | installation prefix; default devpoll and kqueue to on (they get | |
172 | turned off if the required headers aren't present) | |
173 | ||
174 | * ircd/whocmds.c (do_who): use ircd_snprintf() instead of | |
175 | sprintf_irc(); it's a bit hackish, but it'll do for now | |
176 | ||
177 | * ircd/support.c: remove unused #include | |
178 | ||
179 | * ircd/send.c: remove unused #include | |
180 | ||
181 | * ircd/s_user.c: use ircd_snprintf() instead of sprintf_irc() | |
182 | ||
183 | * ircd/s_serv.c: remove unused #include | |
184 | ||
185 | * ircd/s_misc.c: use ircd_snprintf() and friends instead of | |
186 | sprintf_irc() and friends | |
187 | ||
188 | * ircd/s_err.c: moved atoi_tab[] from ircd/sprintf_irc.c to | |
189 | ircd/s_err.c, which is the only other file to refer to it | |
190 | ||
191 | * ircd/s_conf.c (conf_add_deny): use ircd_snprintf() instead of | |
192 | sprintf_irc() | |
193 | ||
194 | * ircd/s_bsd.c (connect_server): use ircd_snprintf() instead of | |
195 | sprintf_irc() | |
196 | ||
197 | * ircd/s_auth.c: use ircd_snprintf() instead of sprintf_irc() | |
198 | ||
199 | * ircd/res.c: use ircd_snprintf() instead of sprintf_irc() | |
200 | ||
201 | * ircd/m_version.c: use ircd_snprintf() instead of sprintf_irc() | |
202 | ||
203 | * ircd/m_kill.c: use ircd_snprintf() instead of sprintf_irc() | |
204 | ||
205 | * ircd/listener.c: use ircd_snprintf() instead of sprintf_irc() | |
206 | ||
207 | * ircd/gline.c: use ircd_snprintf() instead of sprintf_irc() | |
208 | ||
209 | * ircd/channel.c: don't include sprintf_irc.h; use ircd_snprintf() | |
210 | instead of sprintf_irc() | |
211 | ||
212 | * ircd/Makefile.in: remove sprintf_irc.c from sources list; run | |
213 | make depend | |
214 | ||
215 | * include/ircd_string.h: remove declaration of sprintf_irc() (what | |
216 | was it doing here anyway?) | |
217 | ||
218 | * include/sprintf_irc.h: removed unneeded source file | |
219 | ||
220 | * ircd/sprintf_irc.c: removed unneeded source file | |
221 | ||
222 | * ircd/s_debug.c (count_memory): remove some dead code | |
223 | ||
224 | * ircd/s_auth.c: remove some dead code | |
225 | ||
226 | * ircd/res.c (update_list): remove some dead code | |
227 | ||
228 | * ircd/m_whowas.c: remove some dead code | |
229 | ||
230 | * ircd/m_whois.c: remove some dead code | |
231 | ||
232 | * ircd/m_who.c: remove some dead code | |
233 | ||
234 | * ircd/m_wallusers.c: remove some dead code | |
235 | ||
236 | * ircd/m_wallops.c: remove some dead code | |
237 | ||
238 | * ircd/m_wallchops.c: remove some dead code | |
239 | ||
240 | * ircd/m_version.c: remove some dead code | |
241 | ||
242 | * ircd/m_userip.c: remove some dead code | |
243 | ||
244 | * ircd/m_userhost.c: remove some dead code | |
245 | ||
246 | * ircd/m_uping.c: remove some dead code | |
247 | ||
248 | * ircd/m_trace.c: remove some dead code | |
249 | ||
250 | * ircd/m_topic.c: remove some dead code | |
251 | ||
252 | * ircd/m_tmpl.c: remove some dead code | |
253 | ||
254 | * ircd/m_time.c: remove some dead code | |
255 | ||
256 | * ircd/m_squit.c: remove some dead code | |
257 | ||
258 | * ircd/m_silence.c: remove some dead code | |
259 | ||
260 | * ircd/m_settime.c: remove some dead code | |
261 | ||
262 | * ircd/m_set.c: remove some dead code | |
263 | ||
264 | * ircd/m_server.c: remove some dead code | |
265 | ||
266 | * ircd/m_rpong.c: remove some dead code | |
267 | ||
268 | * ircd/m_rping.c: remove some dead code | |
269 | ||
270 | * ircd/m_restart.c: remove some dead code | |
271 | ||
272 | * ircd/m_reset.c: remove some dead code | |
273 | ||
274 | * ircd/m_rehash.c: remove some dead code | |
275 | ||
276 | * ircd/m_quit.c: remove some dead code | |
277 | ||
278 | * ircd/m_proto.c: remove some dead code | |
279 | ||
280 | * ircd/m_privs.c: remove some dead code | |
281 | ||
282 | * ircd/m_privmsg.c: remove some dead code | |
283 | ||
284 | * ircd/m_pong.c: remove some dead code | |
285 | ||
286 | * ircd/m_ping.c: remove some dead code | |
287 | ||
288 | * ircd/m_pass.c: remove some dead code | |
289 | ||
290 | * ircd/m_part.c: remove some dead code | |
291 | ||
292 | * ircd/m_opmode.c: remove some dead code | |
293 | ||
294 | * ircd/m_oper.c: remove some dead code | |
295 | ||
296 | * ircd/m_notice.c: remove some dead code | |
297 | ||
298 | * ircd/m_nick.c: remove some dead code | |
299 | ||
300 | * ircd/m_map.c: remove some dead code | |
301 | ||
302 | * ircd/m_lusers.c: remove some dead code | |
303 | ||
304 | * ircd/m_list.c: remove some dead code | |
305 | ||
306 | * ircd/m_links.c: remove some dead code | |
307 | ||
308 | * ircd/m_kill.c: remove some dead code | |
309 | ||
310 | * ircd/m_kick.c: remove some dead code | |
311 | ||
312 | * ircd/m_jupe.c: remove some dead code | |
313 | ||
314 | * ircd/m_join.c: remove some dead code | |
315 | ||
316 | * ircd/m_ison.c: remove some dead code | |
317 | ||
318 | * ircd/m_invite.c: remove some dead code | |
319 | ||
320 | * ircd/m_info.c: remove some dead code | |
321 | ||
322 | * ircd/m_help.c: remove some dead code | |
323 | ||
324 | * ircd/m_gline.c: remove some dead code | |
325 | ||
326 | * ircd/m_get.c: remove some dead code | |
327 | ||
328 | * ircd/m_error.c: remove some dead code | |
329 | ||
330 | * ircd/m_endburst.c: remove some dead code | |
331 | ||
332 | * ircd/m_die.c: remove some dead code | |
333 | ||
334 | * ircd/m_desynch.c: remove some dead code | |
335 | ||
336 | * ircd/m_destruct.c: remove some dead code | |
337 | ||
338 | * ircd/m_defaults.c: remove some dead code | |
339 | ||
340 | * ircd/m_create.c: remove some dead code, along with an #if 1 | |
341 | ||
342 | * ircd/m_cprivmsg.c: remove some dead code | |
343 | ||
344 | * ircd/m_connect.c: remove some dead code | |
345 | ||
346 | * ircd/m_close.c: remove some dead code | |
347 | ||
348 | * ircd/m_clearmode.c: remove some dead code | |
349 | ||
350 | * ircd/m_burst.c: remove some dead code | |
351 | ||
352 | * ircd/m_away.c: remove some dead code | |
353 | ||
354 | * ircd/m_admin.c: remove some dead code | |
355 | ||
356 | * ircd/listener.c (accept_connection): remove some dead code | |
357 | ||
358 | * ircd/ircd_reply.c (need_more_params): remove some dead code | |
359 | ||
360 | * ircd/channel.c (add_banid): remove some dead code | |
361 | ||
362 | * include/support.h: remove some dead code | |
363 | ||
364 | * include/querycmds.h: remove some dead code | |
365 | ||
366 | * doc/readme.chroot: document how to do chroot operation | |
367 | ||
368 | 2001-06-28 Kevin L. Mitchell <klmitch@mit.edu> | |
369 | ||
370 | * ircd/Makefile.in: tune for VPATH builds/installs; add a rule to | |
371 | force bin directory to be created if necessary prior to | |
372 | installation; run make depend | |
373 | ||
374 | * doc/Makefile.in (install): tune for VPATH installs by cd'ing to | |
375 | the ${srcdir} | |
376 | ||
377 | * Makefile.in: tune to detect Makefile.in changes in | |
378 | subdirectories and to create installation directory indicated by | |
379 | ${prefix} | |
380 | ||
381 | * ircd/whocmds.c (count_users): routine to count the number of | |
382 | users matching a given user@host mask | |
383 | ||
384 | * ircd/s_err.c: add error messages for ERR_LONGMASK, | |
385 | ERR_TOOMANYUSERS, and ERR_MASKTOOWIDE | |
386 | ||
387 | * ircd/m_gline.c: look for and advance past '!' flag on G-lines | |
388 | from operators; only set GLINE_OPERFORCE flag if oper has the | |
389 | PRIV_WIDE_GLINE privilege | |
390 | ||
391 | * ircd/ircd_features.c: add GLINEMAXUSERCOUNT, which is the | |
392 | maximum number of users a G-line can impact before it has to be | |
393 | forced; OPER_WIDE_GLINE, to allow operators to use ! to force a | |
394 | wide G-line to be set; and LOCOP_WIDE_GLINE, to allow local | |
395 | operators to use ! to force a wide G-line to be set | |
396 | ||
397 | * ircd/gline.c: make make_gline() be called with separate user and | |
398 | host arguments, and not call canon_userhost() directly; implement | |
399 | gline_checkmask() to verify that a host mask is acceptable; move | |
400 | BADCHAN check up in gline_add(), and check passed-in mask under | |
401 | certain circumstances for acceptability; fix call to | |
402 | sendto_opmask_butone() to handle separation of userhost into user | |
403 | and host in gline_add(); update call to make_gline() | |
404 | ||
405 | * ircd/client.c: use FEAT_OPER_WIDE_GLINE and | |
406 | FEAT_LOCOP_WIDE_GLINE to set PRIV_WIDE_GLINE for an operator; add | |
407 | PRIV_WIDE_GLINE to privtab[] for client_report_privs() | |
408 | ||
409 | * include/whocmds.h (count_users): declare routine to count users | |
410 | matching a given user@host mask | |
411 | ||
412 | * include/numeric.h: added three new error returns: ERR_LONGMASK | |
413 | -- mask can't be formatted into a buffer; ERR_TOOMANYUSERS -- too | |
414 | many users would be impacted by the mask; ERR_MASKTOOWIDE -- mask | |
415 | contains wildcards in the wrong places | |
416 | ||
417 | * include/ircd_features.h: add FEAT_GLINEMAXUSERCOUNT, | |
418 | FEAT_OPER_WIDE_GLINE, and FEAT_LOCOP_WIDE_GLINE | |
419 | ||
420 | * include/gline.h (GLINE_OPERFORCE): provides a way for m_gline() | |
421 | to signal to gline_add() that the operator attempted to force the | |
422 | G-line to be set | |
423 | ||
424 | * include/client.h (PRIV_WIDE_GLINE): new privilege for operators | |
425 | ||
426 | * doc/readme.gline: update to document new "!" prefix to a G-line | |
427 | user@host mask | |
428 | ||
429 | * doc/readme.features: document GLINEMAXUSERCOUNT, | |
430 | OPER_WIDE_GLINE, and LOCOP_WIDE_GLINE | |
431 | ||
432 | * doc/example.conf: update to mention new features along with | |
433 | their defaults | |
434 | ||
435 | 2001-06-27 Kevin L. Mitchell <klmitch@mit.edu> | |
436 | ||
437 | * doc/example.conf: updated example.conf from Braden | |
438 | <dbtem@yahoo.com> | |
439 | ||
440 | * include/supported.h: forward-port from pl15 | |
441 | ||
442 | 2001-06-25 Kevin L. Mitchell <klmitch@mit.edu> | |
443 | ||
444 | * ircd/whocmds.c: include ircd_policy.h and implement | |
445 | HEAD_IN_SAND_WHO_OPCOUNT--forward-port from pl15 | |
446 | ||
447 | * ircd/m_whois.c: forward-port of the idle-time hiding code from | |
448 | pl15; this also required passing parc into do_whois(), which also | |
449 | meant passing parc into do_wilds()--*sigh* | |
450 | ||
451 | * include/ircd_policy.h: add a couple more HEAD_IN_SAND | |
452 | #define's--WHOIS_IDLETIME and WHO_HOPCOUNT | |
453 | ||
454 | 2001-06-22 Kevin L. Mitchell <klmitch@mit.edu> | |
455 | ||
456 | * tools/wrapper.c: add a wrapper program that can be used to | |
457 | adjust file descriptor limits and root directories; program must | |
458 | be run as root--NOT SETUID!--and given appropriate -u arguments | |
459 | ||
460 | * doc/readme.log: documentation of how to configure logging | |
461 | ||
462 | * doc/readme.features: documentation of each feature (except for | |
463 | logging) | |
464 | ||
465 | 2001-06-21 Kevin L. Mitchell <klmitch@mit.edu> | |
466 | ||
467 | * Makefile.in (config): add a deprecation notice with a pointer to | |
468 | tools/transition | |
469 | ||
470 | * tools/transition: shell script to convert old compile-time | |
471 | options into new compile-time options and appropriate F-lines | |
472 | ||
473 | * tools/mkchroot: shell-script to prepare the chroot area by | |
474 | copying over all the necessary libraries so they can be found | |
475 | ||
476 | 2001-06-20 Kevin L. Mitchell <klmitch@mit.edu> | |
477 | ||
478 | * INSTALL: partial update of INSTALL for u2.10.11 release... | |
479 | ||
480 | 2001-06-14 Kevin L. Mitchell <klmitch@mit.edu> | |
481 | ||
482 | * ircd/table_gen.c (makeTables): finally got tired of the | |
483 | "overflow in implicit conversion" warning, so just got rid of it | |
484 | by explicitly casting UCHAR_MAX to a (default) char; diffs show no | |
485 | differences in the tables generated | |
486 | ||
487 | 2001-06-11 Kevin L. Mitchell <klmitch@mit.edu> | |
488 | ||
489 | * ircd/send.c (sendcmdto_match_butone): don't let the server crash | |
490 | if a client is in the STAT_CONNECTING status | |
491 | ||
492 | 2001-06-10 Kevin L. Mitchell <klmitch@mit.edu> | |
493 | ||
494 | * ircd/send.c: remove unused vsendcmdto_one(), consolidating it | |
495 | into sendcmdto_one(); define new sendcmdto_prio_one(), which | |
496 | places the message into the priority queue | |
497 | ||
498 | * ircd/s_user.c (hunt_server_prio_cmd): definition of | |
499 | hunt_server_prio_cmd(), which simply calls sendcmdto_prio_one() | |
500 | instead of sendcmdto_one() | |
501 | ||
502 | * ircd/m_settime.c: use sendcmdto_prio_one() and | |
503 | hunt_server_prio_cmd() to send SETTIME | |
504 | ||
505 | * ircd/m_server.c: use sendcmdto_prio_one() to send SETTIME | |
506 | ||
507 | * include/send.h: removed declaration for unused vsendcmdto_one(); | |
508 | added a declaration for sendcmdto_prio_one() | |
509 | ||
510 | * include/s_user.h: declare hunt_server_prio_cmd(), which calls | |
511 | sendcmdto_prio_one() | |
512 | ||
513 | * ircd/send.c (sendcmdto_flag_butone): oops; /wallops should be | |
514 | put in the server's priority queue, too... | |
515 | ||
516 | * ircd/ircd.c: don't check LPATH for accessibility at all | |
517 | ||
518 | 2001-06-08 Kevin L. Mitchell <klmitch@mit.edu> | |
519 | ||
520 | * ircd/s_serv.c (server_estab): send a +h flag in our SERVER | |
521 | command if we're configured as a hub; send individual server flags | |
522 | in SERVER commands | |
523 | ||
524 | * ircd/s_bsd.c (completed_connection): send a +h flag in our | |
525 | SERVER command if we're configured as a hub | |
526 | ||
527 | * ircd/m_server.c: implement parv[7] as a mode-like string; +h | |
528 | sets the FLAGS_HUB flag for a server; +s sets the FLAGS_SERVICE | |
529 | flag for a server; +hs sets both flags; also modify CMD_SERVER | |
530 | format string to send the flags | |
531 | ||
532 | * include/client.h: define two new flags, FLAGS_HUB and | |
533 | FLAGS_SERVICE to mark services and hubs as such; define testing | |
534 | macros, setting macros | |
535 | ||
536 | * ircd/s_user.c: remove deprecated struct Gline* argument to | |
537 | register_user(); remove GLINE rebroadcast; do not send GLINE | |
538 | acknowledgement parameter to NICK; do not look for GLINE | |
539 | acknowledgement parameter to NICK while parsing | |
540 | ||
541 | * ircd/s_serv.c (server_estab): remove deprecated struct Jupe* | |
542 | argument to server_estab(); do not send JUPE/GLINE acknowledgement | |
543 | parameters for SERVER or NICK | |
544 | ||
545 | * ircd/m_user.c (m_user): remove deprecated argument to | |
546 | register_user() | |
547 | ||
548 | * ircd/m_server.c: remove deprecated argument to server_estab(); | |
549 | remove documentation comment regarding JUPE acknowledgement | |
550 | parameter to SERVER; remove JUPE rebroadcast | |
551 | ||
552 | * ircd/m_pong.c (mr_pong): remove deprecated argument to | |
553 | register_user() | |
554 | ||
555 | * ircd/m_nick.c: remove documentation comment regarding GLINE | |
556 | acknowledgement parameter to NICK | |
557 | ||
558 | * ircd/jupe.c: use user's real name in JUPE server notices if | |
559 | HEAD_IN_SAND_SNOTICES is defined | |
560 | ||
561 | * ircd/ircd.c: remove deprecated chroot() code; remove deprecated | |
562 | setuid code; correct ancient DEBUG vs DEBUGMODE typo | |
563 | ||
564 | * ircd/gline.c: use user's real name in GLINE server notices if | |
565 | HEAD_IN_SAND_SNOTICES is defined | |
566 | ||
567 | * ircd/channel.c (modebuf_flush_int): make apparent source be | |
568 | local server, not oper's server; use user's real name in hack | |
569 | notices and DESYNC notices if HEAD_IN_SAND_SNOTICES is defined | |
570 | ||
571 | * include/s_user.h: remove struct Gline pre-declaration; remove | |
572 | deprecated struct Gline argument from register_user() | |
573 | ||
574 | * include/s_serv.h: remove struct Jupe pre-declaration; remove | |
575 | deprecated struct Jupe argument from server_estab() | |
576 | ||
577 | 2001-06-07 Kevin L. Mitchell <klmitch@mit.edu> | |
578 | ||
579 | * ircd/s_stats.c (hunt_stats): forward-port from pl15 of all the | |
580 | changes required to control remote stats | |
581 | ||
582 | * ircd/s_numeric.c (do_numeric): rewrite numeric origins if | |
583 | recipient is not an operator and HEAD_IN_SAND_REWRITE is defined | |
584 | [forward-port from pl15] | |
585 | ||
586 | * ircd/m_whowas.c (m_whowas): report server name only if requester | |
587 | is an operator [forward-port from pl15] | |
588 | ||
589 | * ircd/m_whois.c (do_whois): /whois <mynick> now correctly reports | |
590 | my server; if HEAD_IN_SAND_REMOTE is 1, ignore the middle argument | |
591 | and obtain the report from the user's server [forward-port from | |
592 | pl15] | |
593 | ||
594 | * ircd/m_who.c: add missing include for ircd_policy.h | |
595 | [forward-port from pl15] | |
596 | ||
597 | * ircd/m_version.c (m_version): require oper access for remote | |
598 | /version if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15] | |
599 | ||
600 | * ircd/m_time.c (m_time): require oper access for remote /time if | |
601 | HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15] | |
602 | ||
603 | * ircd/m_stats.c: pass extra argument to hunt_stats(); correct | |
604 | missing semicolon [forward-port from pl15] | |
605 | ||
606 | * ircd/m_nick.c (ms_nick): hide the origin of certain collision | |
607 | kills [forward-port from pl15] | |
608 | ||
609 | * ircd/m_motd.c (m_motd): require oper access for remote /motd if | |
610 | HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15] | |
611 | ||
612 | * ircd/m_lusers.c (m_lusers): require oper access for remote | |
613 | /lusers if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15] | |
614 | ||
615 | * ircd/m_burst.c (ms_burst): server-added bans are stored using | |
616 | local server name, to hide remote server names; modes also are to | |
617 | originate from the local server [forward-port from pl15] | |
618 | ||
619 | * ircd/m_admin.c (m_admin): require oper access for remote /admin | |
620 | if HEAD_IN_SAND_REMOTE is 1 [forward-port from pl15] | |
621 | ||
622 | * ircd/channel.c (add_banid): if a server is adding a ban, use my | |
623 | server name to hide the remote server's name [forward-port from | |
624 | pl15] | |
625 | ||
626 | * ircd/Makefile.in: ran make depend | |
627 | ||
628 | * include/s_stats.h: hunt_stats() has to have an extra argument to | |
629 | support the forward-port from pl15 | |
630 | ||
631 | * include/ircd_policy.h: #define HEAD_IN_SAND_STATS_P; add | |
632 | HEAD_IN_SAND_{BANWHO,REWRITE,REMOTE} [forward-port from pl15] | |
633 | ||
634 | * ircd/engine_poll.c (engine_loop): remove bogus assert that I | |
635 | forgot to check in the events branch | |
636 | ||
637 | 2001-06-06 Kevin L. Mitchell <klmitch@mit.edu> | |
638 | ||
639 | * ircd/res.c (init_resolver): don't start DNS expires with a 0 | |
640 | relative timeout--if the server starts slow, timeouts could be | |
641 | messy...there's probably a better solution, but this'll do for now | |
642 | ||
643 | * ircd/os_solaris.c: _XOPEN_SOURCE doesn't get along with Solaris | |
644 | headers very well; include stropts.h; define an os_set_tos() | |
645 | ||
646 | * ircd/os_generic.c (os_set_tos): added an os_set_tos() for | |
647 | os_generic.c | |
648 | ||
649 | * ircd/ircd.c: if there are no C-lines, we don't want to have a | |
650 | timer that expires at the absolute time of 0--it kinda blocks all | |
651 | the other timers! | |
652 | ||
653 | * ircd/engine_devpoll.c: some includes for open(); declare errcode | |
654 | and codesize in engine_loop() | |
655 | ||
656 | * ircd/list.c (free_client): remove bogus check on timer active | |
657 | flag | |
658 | ||
659 | * ircd/s_auth.c: pull out destruction code in | |
660 | auth_timeout_request() into an externally-visible | |
661 | destroy_auth_request(); manage cli_auth pointer in client | |
662 | structure; use it for an extra assertion check | |
663 | ||
664 | * ircd/list.c: include s_auth.h for destroy_auth_request(); add | |
665 | debugging notices to show flow when deallocating | |
666 | connections/clients; call destroy_auth_request() when free'ing a | |
667 | client that has an auth outstanding; don't free the connection if | |
668 | the process timer is unmarked but still active | |
669 | ||
670 | * ircd/ircd_events.c: set GEN_ACTIVE when initializing a generator | |
671 | and reset it before calling the event handler for an ET_DESTROY | |
672 | event | |
673 | ||
674 | * include/s_auth.h (destroy_auth_request): declare | |
675 | destroy_auth_request(), which can be used to destroy an | |
676 | outstanding auth request if a client socket goes away before the | |
677 | auth exchange is completed | |
678 | ||
679 | * include/ircd_events.h: add an active flag to keep track of | |
680 | whether or not particular generators are active, for the | |
681 | convenience of functions using the API | |
682 | ||
683 | * include/client.h: add a pointer for auth requests to struct | |
684 | Connection so we can kill outstanding auth requests if a client | |
685 | socket closes unexpectedly | |
686 | ||
687 | * ircd/s_bsd.c: cli_connect() could become 0 during the course of | |
688 | the sock or timer callback; take that into account in the assert | |
689 | ||
690 | * ircd/list.c: add magic number checking and setting--magic | |
691 | numbers are zero'd on frees to detect double-frees; add back | |
692 | setting of cli_from() to 0 to break the back-link from the struct | |
693 | Connection (duh) | |
694 | ||
695 | * ircd/ircd.c: set me's magic number correctly | |
696 | ||
697 | * include/client.h: define magic numbers and accessor/verifier | |
698 | macros | |
699 | ||
700 | * ircd/list.c: assert that dealloc_client() is called with | |
701 | cli_connect(cptr) == 0; set cli_connect(cptr) to 0 before calling | |
702 | dealloc_client(); don't mess with cli_from(cptr) | |
703 | ||
704 | * ircd/s_bsd.c: only attempt to dealloc a connection if the | |
705 | associated client has already been destroyed, or at least delinked | |
706 | ||
707 | 2001-06-05 Kevin L. Mitchell <klmitch@mit.edu> | |
708 | ||
709 | * ircd/list.c (free_client): only try to delete the socket when | |
710 | the fd hasn't already been closed, avoiding a double-free | |
711 | ||
712 | * ircd/list.c (free_connection): make sure the client is really | |
713 | gone before doing away with the connection | |
714 | ||
715 | * ircd/s_bsd.c: record that socket has been added in con_freeflag | |
716 | field; queue a socket_del() as soon as the socket is close()'d; | |
717 | use con_freeflag & FREEFLAG_TIMER instead of con_timer; clear | |
718 | FREEFLAG_SOCKET on ET_DESTROY event in client_sock_callback(), | |
719 | then dealloc the connection if safe; mark socket as dead when | |
720 | there's a read error or EOF; clear FREEFLAG_TIMER flag upon entry | |
721 | to client_timer_callback(); dealloc connection if safe upon | |
722 | ET_DESTROY event in client_timer_callback() | |
723 | ||
724 | * ircd/list.c: use con_freeflag instead of con_timer; only dealloc | |
725 | the connection if both socket and timer have been destroyed; | |
726 | destroy both socket and timer explicitly and carefully | |
727 | ||
728 | * include/client.h: replace the con_timer field with a | |
729 | con_freeflag field, to indicate what still needs freeing; define | |
730 | the freeflags | |
731 | ||
732 | * ircd/engine_select.c (engine_loop): duh...sockList[i] could | |
733 | become 0 | |
734 | ||
735 | * ircd/engine_devpoll.c (engine_loop): duh...sockList[i] could | |
736 | become 0 | |
737 | ||
738 | * ircd/s_bsd.c: add some extra assertions to try to track down a | |
739 | corruption problem | |
740 | ||
741 | * ircd/engine_select.c (engine_loop): add an extra assert to try | |
742 | to track down a corruption problem | |
743 | ||
744 | * ircd/engine_poll.c (engine_loop): add an extra assert to try to | |
745 | track down a corruption problem | |
746 | ||
747 | * ircd/engine_kqueue.c (engine_loop): add an extra assert to try | |
748 | to track down a corruption problem | |
749 | ||
750 | * ircd/engine_devpoll.c (engine_loop): skip slots that have become | |
751 | empty during processing; add an extra assert to try to track down | |
752 | a corruption problem | |
753 | ||
754 | * ircd/engine_kqueue.c (engine_delete): make sure to zero deleted | |
755 | entries | |
756 | ||
757 | 2001-06-04 Kevin L. Mitchell <klmitch@mit.edu> | |
758 | ||
759 | * ircd/s_bsd.c (client_sock_callback): client is no longer | |
760 | blocked, so we must mark it as unblocked | |
761 | ||
762 | * ircd/engine_select.c: add Debug() calls galore; add handling for | |
763 | SS_NOTSOCK; use a dummy sock variable to keep things from | |
764 | disappearing on us; correct timeout calculation; update nfds for | |
765 | efficiency | |
766 | ||
767 | * ircd/engine_poll.c: use new debugging level (DEBUG_ENGINE); | |
768 | remove a spurious "if (sock)" which will always be true; update | |
769 | nfds for efficiency | |
770 | ||
771 | * ircd/engine_kqueue.c: add Debug() calls galore; add handling for | |
772 | SS_NOTSOCK (just in case); correct timeout calculation | |
773 | ||
774 | * ircd/engine_devpoll.c: add Debug() calls galore; add handling | |
775 | for SS_NOTSOCK; correct timeout calculation; add EAGAIN handling | |
776 | ||
777 | * include/s_debug.h (DEBUG_ENGINE): add new debugging level; | |
778 | pretty-indent numbers | |
779 | ||
780 | * ircd/engine_poll.c (engine_loop): break out SS_NOTSOCK | |
781 | case--it's not a socket; the check for writability is most likely | |
782 | not needed, but present for completeness | |
783 | ||
784 | 2001-05-24 Kevin L. Mitchell <klmitch@mit.edu> | |
785 | ||
786 | * ircd/s_bsd.c: add Debug messages; call read_packet() even if the | |
787 | no newline flag is set; call read_packet() when the timer expires, | |
788 | regardless of what's in the buffer--read_packet() should be able | |
789 | to deal properly | |
790 | ||
791 | * ircd/IPcheck.c (ip_registry_connect_succeeded): correct a NOTICE | |
792 | sent to clients to include the client nickname (duh) | |
793 | ||
794 | * ircd/ircd_events.c: don't destroy a timer if it's already marked | |
795 | for destruction; replace a missing ! in socket_del() | |
796 | ||
797 | * ircd/engine_poll.c (engine_loop): reference a temporary variable | |
798 | so we don't have to worry about sockList[i] going away | |
799 | ||
800 | * ircd/s_bsd.c (client_sock_callback): add Debug messages | |
801 | ||
802 | * ircd/s_auth.c: add Debug messages all over the place | |
803 | ||
804 | * ircd/ircd_events.c: add and edit some Debug messages; add a list | |
805 | of routines to convert some of the enums and flags from numbers | |
806 | into human-readable strings for the Debug messages | |
807 | ||
808 | * ircd/engine_poll.c: hack some Debug messages to use the new name | |
809 | conversion routines in ircd_events.c; add an extra assert for a | |
810 | condition that shouldn't ever happen; apparently recv() can return | |
811 | EAGAIN when poll() returns readable--I wonder why... | |
812 | ||
813 | * include/ircd_events.h: declare some helper routines under | |
814 | DEBUGMODE | |
815 | ||
816 | 2001-05-23 Kevin L. Mitchell <klmitch@mit.edu> | |
817 | ||
818 | * ircd/s_bsd.c (client_sock_callback): add an extra assertion | |
819 | check | |
820 | ||
821 | * ircd/s_auth.c: add more Debug messages | |
822 | ||
823 | * ircd/list.c (make_client): add an extra assertion check | |
824 | ||
825 | * ircd/ircd_events.c (socket_events): don't call the engine events | |
826 | changer if we haven't actually made any changes to the event mask | |
827 | ||
828 | * ircd/uping.c: add some Debug messages | |
829 | ||
830 | * ircd/s_stats.c: document new /STATS e | |
831 | ||
832 | * ircd/s_err.c: add RPL_STATSENGINE to report the engine name | |
833 | ||
834 | * ircd/s_bsd.c: remove static client_timer variable; in | |
835 | read_packet(), if there's still data in the client's recvQ after | |
836 | parsing, add a 2 second timer (con_proc); fix the ET_DESTROY case | |
837 | of client_sock_callback to handle destroying the timer properly; | |
838 | rewrote client_timer_callback from scratch to be called on an | |
839 | individual client | |
840 | ||
841 | * ircd/m_stats.c: add /STATS e to report the engine name | |
842 | ||
843 | * ircd/list.c: deal with con_timer field in struct Connection | |
844 | properly; correct a core-level bug in remove_client_from_list--if | |
845 | the client is the only one in the list, we try to update | |
846 | GlobalClientList's cli_prev pointer--not good | |
847 | ||
848 | * ircd/ircd.c: remove call to init_client_timer() | |
849 | ||
850 | * ircd/engine_poll.c: made Debug messages more uniform by | |
851 | prepending "poll:" to them all; corrected an off-by-one error that | |
852 | caused poll_count to be 1 less than the actual count and removed | |
853 | my work-around; added Debug messages to indicate which socket is | |
854 | being checked and what the results are | |
855 | ||
856 | * ircd/Makefile.in: ran a make depend | |
857 | ||
858 | * include/s_bsd.h: remove init_client_timer(), since we're doing | |
859 | it differently now | |
860 | ||
861 | * include/numeric.h (RPL_STATSENGINE): a stats reply to report the | |
862 | engine name | |
863 | ||
864 | * include/ircd_policy.h (HEAD_IN_SAND_STATS_E): turn off /stats e | |
865 | reports for non-opers | |
866 | ||
867 | * include/client.h: add con_timer and con_proc fields to struct | |
868 | Connection and define accessor macros--con_timer marks that | |
869 | con_proc contains a valid timer, and con_proc is used to pace user | |
870 | data | |
871 | ||
872 | * ircd/s_bsd.c (close_connection): let free_client() destroy the | |
873 | socket | |
874 | ||
875 | * ircd/s_auth.c (start_auth): add a Debug call to indicate when | |
876 | auth has begun on a client | |
877 | ||
878 | * ircd/ircd_events.c: ensure that event_execute() is called with a | |
879 | non-NULL event; modify event_add() macro to properly zero list | |
880 | bits; modify gen_dequeue() to not try to clip it out of a list | |
881 | it's already been clipped out of; change signal socket | |
882 | initialization to use state SS_NOTSOCK; permit timeout values of | |
883 | 0 in add_timer(); add many Debug calls; change socket_del() and | |
884 | timer_del() to always set the GEN_DESTROY flag; use GEN_MARKED in | |
885 | timer_run() instead of GEN_DESTROY so that event_generate() will | |
886 | pass on the events; remove the switch and replace with a simpler | |
887 | if-then-else tree in timer_run(); don't allow destroyed sockets to | |
888 | be destroyed again, nor their states or event masks to be changed | |
889 | ||
890 | * ircd/ircd.c: initialize "running" to 1 | |
891 | ||
892 | * ircd/engine_poll.c: deal with SS_NOTSOCK "sockets"; add Debug | |
893 | messages all over the place; fix a counting problem in | |
894 | engine_add(); turn wait into a signed integer and set it to -1 | |
895 | only if timer_next() returns 0; adjust wait time to be relative; | |
896 | don't call gen_ref_dec() if socket disappeared while we were | |
897 | processing it | |
898 | ||
899 | * include/ircd_events.h: the pipe for signals is not a socket, so | |
900 | we must mark it as such--added SS_NOTSOCK for that special socket; | |
901 | events won't be generated if GEN_DESTROY is on, so add GEN_MARKED | |
902 | for the benefit of timer_run() | |
903 | ||
904 | * configure.in: add --enable-pedantic and --enable-warnings to | |
905 | turn on (and off) -Wall -pedantic in CFLAGS | |
906 | ||
907 | 2001-05-21 Kevin L. Mitchell <klmitch@mit.edu> | |
908 | ||
909 | * ircd/s_conf.c: change "s_addr" element accesses to "address" | |
910 | element accesses | |
911 | ||
912 | * include/s_conf.h: on some systems, "s_addr" is a macro; use | |
913 | "address" instead | |
914 | ||
915 | 2001-05-18 Kevin L. Mitchell <klmitch@mit.edu> | |
916 | ||
917 | * ircd/engine_kqueue.c: include ircd_alloc.h; set_or_clear returns | |
918 | void in this file; add a missing semi-colon; declare errcode, | |
919 | codesize | |
920 | ||
921 | * ircd/uping.c (uping_sender_callback): it's pptr, not uping | |
922 | ||
923 | * ircd/s_user.c (register_user): comment out spurious reference to | |
924 | nextping | |
925 | ||
926 | * ircd/s_serv.c (server_estab): comment out spurious reference to | |
927 | nextping | |
928 | ||
929 | * ircd/s_conf.c (read_configuration_file): comment out spurious | |
930 | reference to nextping and nextconnect | |
931 | ||
932 | * ircd/s_bsd.c: comment out some spurious references to formerly | |
933 | global (now non-existant) variables; correct a couple of typos | |
934 | ||
935 | * ircd/s_auth.c: pre-declare some functions referenced in the | |
936 | callback; correct a typo | |
937 | ||
938 | * ircd/res.c (start_resolver): pass errno value of ENFILE | |
939 | ||
940 | * ircd/listener.c (accept_connection): you know your API is messed | |
941 | up when...variables that shouldn't have been global crop up in | |
942 | other files | |
943 | ||
944 | * ircd/list.c (free_client): substitution of == for = | |
945 | ||
946 | * ircd/ircd_signal.c: include assert.h for assertion checking; | |
947 | check ev_data() to find out what signal generated event | |
948 | ||
949 | * ircd/ircd_events.c: some references to the variable "timer" | |
950 | should have been references to the variable "ptr" | |
951 | ||
952 | * ircd/engine_select.c: it's struct fd_set, not struct fdset; | |
953 | ev_timer(ev) is already a timer pointer; declare codesize as a | |
954 | size_t to correct signedness issue; use timer_next(), not | |
955 | time_next() | |
956 | ||
957 | * ircd/engine_poll.c: ev_timer(ev) is already a timer pointer; | |
958 | select fd out of struct pollfd in assertion checking; declare | |
959 | errcode and codesize; use timer_next(), not time_next() | |
960 | ||
961 | * ircd/engine_kqueue.c: ev_timer(ev) is already a timer pointer; | |
962 | use function timer_next(), not time_next() | |
963 | ||
964 | * ircd/engine_devpoll.c: ev_timer(ev) is already a timer pointer; | |
965 | use function timer_next(), not time_next() | |
966 | ||
967 | * ircd/Makefile.in (IRCD_SRC): add ircd_events.c to the list of | |
968 | compiled sources; do make depend | |
969 | ||
970 | * include/list.h: pre-declare struct Connection | |
971 | ||
972 | * include/ircd_events.h (gen_ref_inc): cast to the right structure | |
973 | name | |
974 | ||
975 | * include/s_auth.h: duh; missing */ | |
976 | ||
977 | 2001-05-10 Kevin L. Mitchell <klmitch@mit.edu> | |
978 | ||
979 | * ircd/send.c: update write events status after sending data or | |
980 | accumulating data to be sent | |
981 | ||
982 | * ircd/m_list.c (m_list): update write events status after | |
983 | canceling a running /list | |
984 | ||
985 | * ircd/channel.c (list_next_channels): update write events status | |
986 | after listing a few channels | |
987 | ||
988 | * ircd/s_bsd.c: extensive changes to update to new events model; | |
989 | remove on_write_unblocked() and the two implementations of | |
990 | read_message(), which have been deprecated by this change | |
991 | ||
992 | * ircd/s_auth.c: set the socket events we're interested in for | |
993 | clients; simplify some logic that does the connect_nonb followed | |
994 | by the socket_add | |
995 | ||
996 | * ircd/list.c: define free_connection() to free a connection | |
997 | that's become freeable once the struct Socket has been | |
998 | deallocated; fix up free_client() to take this new behavior into | |
999 | account | |
1000 | ||
1001 | * ircd/ircd.c: call init_client_timer() | |
1002 | ||
1003 | * include/s_bsd.h: declare new REGISTER_ERROR_MESSAGE when unable | |
1004 | to register connect-in-progress with events system; declare | |
1005 | init_client_timer() (HACK!) to preserve rate-limiting behavior | |
1006 | ||
1007 | * include/list.h: declare new free_connection() | |
1008 | ||
1009 | * include/client.h: add a struct Socket to struct Connection | |
1010 | ||
1011 | 2001-05-09 Kevin L. Mitchell <klmitch@mit.edu> | |
1012 | ||
1013 | * ircd/ircd_signal.c: massage the handlers for SIGHUP, SIGINT, and | |
1014 | SIGTERM into event callbacks; perform the actions in the | |
1015 | callbacks, since they're not called in the context of the signal; | |
1016 | set up the signal callbacks in the event engine | |
1017 | ||
1018 | * ircd/ircd_events.c (signal_callback): we're supposed to look for | |
1019 | a specific signal; don't generate an event if there is no signal | |
1020 | structure for it | |
1021 | ||
1022 | * ircd/ircd.c: nuke nextconnect and nextping and replace them with | |
1023 | connect_timer and ping_timer; massage try_connections() and | |
1024 | check_pings() into timer callbacks that re-add themselves at the | |
1025 | right time; remove ircd.c's "event_loop()"; initialize the event | |
1026 | system and the connect_timer and ping_timer | |
1027 | ||
1028 | * ircd/uping.c: correct a couple more typos | |
1029 | ||
1030 | * ircd/s_auth.c: rework to use new events system | |
1031 | ||
1032 | * ircd/os_solaris.c (os_connect_nonb): update to new interface | |
1033 | ||
1034 | * ircd/os_openbsd.c (os_connect_nonb): update to new interface | |
1035 | ||
1036 | * ircd/os_linux.c (os_connect_nonb): update to new interface | |
1037 | ||
1038 | * ircd/os_generic.c (os_connect_nonb): update to new interface | |
1039 | ||
1040 | * ircd/os_bsd.c (os_connect_nonb): update to new interface | |
1041 | ||
1042 | * include/s_auth.h: remove deprecated members of struct | |
1043 | AuthRequest, replacing them with struct Socket and struct Timer | |
1044 | structures; add flags to indicate when these structures have been | |
1045 | released by the event system; remove the deprecated | |
1046 | timeout_auth_queries() | |
1047 | ||
1048 | * include/ircd_osdep.h (os_connect_nonb): connect could complete | |
1049 | immediately, so change the interface to handle that possibility | |
1050 | ||
1051 | * ircd/uping.c (uping_server): noticed and corrected a typo | |
1052 | ||
1053 | * ircd/listener.c: set up to use ircd_event's struct Socket by | |
1054 | adding an socket_add() call to inetport(), replacing | |
1055 | free_listener() with socket_del() in close_listener(), and | |
1056 | reworking accept_connection to be called as the callback | |
1057 | ||
1058 | * ircd/ircd.c: add a call to IPcheck_init() | |
1059 | ||
1060 | * ircd/IPcheck.c: remove IPcheck_expire(); rework | |
1061 | ip_registry_expire() to be called from a timer; write | |
1062 | IPcheck_init() to set up the expiration timer (hard-coded for a | |
1063 | 60-second expiration time) | |
1064 | ||
1065 | * include/listener.h: add a struct Socket to the struct Listener; | |
1066 | remove accept_connection() | |
1067 | ||
1068 | * include/IPcheck.h: add IPcheck_init(), remove IPcheck_expire() | |
1069 | ||
1070 | 2001-05-08 Kevin L. Mitchell <klmitch@mit.edu> | |
1071 | ||
1072 | * ircd/ircd_events.c: include config.h; use USE_KQUEUE and | |
1073 | USE_DEVPOLL instead of HAVE_KQUEUE and HAVE_DEVPOLL_H | |
1074 | ||
1075 | * ircd/engine_select.c: include config.h; set FD_SETSIZE to | |
1076 | MAXCONNECTIONS, not IRCD_FD_SETSIZE... | |
1077 | ||
1078 | * ircd/engine_poll.c: include config.h | |
1079 | ||
1080 | * ircd/engine_kqueue.c: include config.h | |
1081 | ||
1082 | * ircd/engine_devpoll.c: include config.h | |
1083 | ||
1084 | * ircd/Makefile.in: include engine sources in compilation and make | |
1085 | depend steps | |
1086 | ||
1087 | * configure.in: add checks for enabling the /dev/poll- and | |
1088 | kqueue-based engines | |
1089 | ||
1090 | * acconfig.h: add lines for USE_DEVPOLL and USE_KQUEUE | |
1091 | ||
1092 | * ircd/Makefile.in: work in the engine sources | |
1093 | ||
1094 | 2001-05-07 Kevin L. Mitchell <klmitch@mit.edu> | |
1095 | ||
1096 | * ircd/m_settime.c: include ircd_snprintf.h | |
1097 | ||
1098 | * ircd/ircd_relay.c: stomp a couple of gcc warnings suggesting | |
1099 | parens around a construct that had both || and && | |
1100 | ||
1101 | * ircd/chkconf.c: #include "config.h" to get some important | |
1102 | definitions | |
1103 | ||
1104 | * ircd/Makefile.in: revamp ircd makefile for new build system | |
1105 | ||
1106 | * doc/Makefile.in: revamp doc makefile for new build system | |
1107 | ||
1108 | * config/*: Removed old build system files | |
1109 | ||
1110 | * stamp-h.in: a stamp file | |
1111 | ||
1112 | * install-sh: install-sh for new build system | |
1113 | ||
1114 | * configure.in: configure.in for new build system | |
1115 | ||
1116 | * configure: configure script for new build system (built by | |
1117 | autoconf) | |
1118 | ||
1119 | * config.sub: config.sub for new build system | |
1120 | ||
1121 | * config.h.in: config.h.in for new build system (built by | |
1122 | autoheader) | |
1123 | ||
1124 | * config.guess: config.guess for new build system | |
1125 | ||
1126 | * aclocal.m4: aclocal.m4 for new build system (built by aclocal | |
1127 | 1.4) | |
1128 | ||
1129 | * acinclude.m4: aclocal.m4 macros for new build system | |
1130 | ||
1131 | * acconfig.h: config.h skeleton for new build system | |
1132 | ||
1133 | * Makefile.in: modify for new build system | |
1134 | ||
1135 | 2001-05-01 Kevin L. Mitchell <klmitch@mit.edu> | |
1136 | ||
1137 | * ircd/s_err.c: get rid of the last vestiges of TIME_T_FMT | |
1138 | ||
1139 | * ircd/m_settime.c: get rid of the last vestiges of TIME_T_FMT | |
1140 | ||
1141 | * ircd/m_server.c: get rid of the last vestiges of TIME_T_FMT | |
1142 | ||
1143 | 2001-05-01 Perry Lorier <Isomer@coders.net> | |
1144 | * doc/iauth.doc: Protocol for iauth server. (from hybrid). | |
1145 | * doc/linux-poll.patch: Patch to make Linux under 2.2 not deadlock | |
1146 | when you have far far too many sockets in use. | |
1147 | * {include,ircd}/iauth.c: A start on iauth support. | |
1148 | ||
1149 | 2001-05-01 Perry Lorier <Isomer@coders.net> | |
1150 | * ircd/s_err.c: Suggested wording change. | |
1151 | * ircd/s_user.c: Users aren't target limited against +k users. | |
1152 | * ircd/chkconf.c: Made it compile again, who knows if it works, but | |
1153 | now I can at least make install | |
1154 | * various: Cleanups on m_*.c files. | |
1155 | ||
1156 | ||
1157 | 2001-04-23 Kevin L. Mitchell <klmitch@mit.edu> | |
1158 | ||
1159 | * ircd/s_misc.c (exit_client): make netsplit server notice say the | |
1160 | right thing | |
1161 | ||
1162 | * ircd/m_links.c (m_links_redirect): forward-port RPL_ENDOFLINKS | |
1163 | change to make Khaled happy... | |
1164 | ||
1165 | * ircd/m_whois.c (do_whois): pull-up of m_whois() fix | |
1166 | (do_whois): duh... | |
1167 | ||
1168 | 2001-04-21 Kevin L. Mitchell <klmitch@mit.edu> | |
1169 | ||
1170 | * ircd/msgq.c: finally remove the msgq_integrity() hack, as it's | |
1171 | turned up no more bugs | |
1172 | ||
1173 | * ircd/ircd.c: use /* */ comments instead of // comments--all the | |
1174 | world's not gcc :( | |
1175 | ||
1176 | * ircd/s_conf.c (conf_add_server): use /* */ comments instead of | |
1177 | // comments--all the world's not gcc :( | |
1178 | ||
1179 | * ircd/runmalloc.c: finally garbage-collect unused file | |
1180 | ||
1181 | * include/runmalloc.h: finally garbage-collect unused file | |
1182 | ||
1183 | * ircd/<multiple files>: addition of '#include "config.h"' before | |
1184 | all other includes in most .c files | |
1185 | ||
1186 | * include/<multiple files>: remove includes of config.h, which are | |
1187 | now going into the raw .c files | |
1188 | ||
1189 | 2001-04-20 Kevin L. Mitchell <klmitch@mit.edu> | |
1190 | ||
1191 | * ircd/m_whois.c (do_whois): display proper server name if the | |
1192 | user is looking up himself | |
1193 | ||
1194 | * ircd/m_who.c (m_who): disable match by servername or display of | |
1195 | server names by non-opers | |
1196 | ||
1197 | * include/ircd_policy.h: add define for | |
1198 | HEAD_IN_SAND_WHO_SERVERNAME to cover full intent of sub-motion 15 | |
1199 | of CFV 165 | |
1200 | ||
1201 | 2001-04-18 Kevin L. Mitchell <klmitch@mit.edu> | |
1202 | ||
1203 | * ircd/s_conf.c: keep the $R in memory so we can see it clearly | |
1204 | when we do a /stats k | |
1205 | ||
1206 | * ircd/s_user.c (set_user_mode): pull-up of changes to prevent | |
1207 | users from turning on +s and +g | |
1208 | ||
1209 | * ircd/s_misc.c (exit_client): pull-up of changes to turn off | |
1210 | net.split notice | |
1211 | ||
1212 | * ircd/parse.c: pull-up of changes to disable /trace, /links, and | |
1213 | /map for users | |
1214 | ||
1215 | * ircd/m_whois.c (do_whois): pull-up of server name masking for | |
1216 | /whois | |
1217 | ||
1218 | * ircd/m_user.c (m_user): removal of umode and snomask defaulting | |
1219 | functions, pull-up | |
1220 | ||
1221 | * ircd/m_stats.c (m_stats): pull-up of stats-disabling stuff | |
1222 | ||
1223 | * ircd/m_map.c (m_map_redirect): pull-up of m_map_redirect() | |
1224 | ||
1225 | * ircd/m_links.c (m_links_redirect): pull-up of m_links_redirect() | |
1226 | ||
1227 | * ircd/channel.c (channel_modes): pull-up of channel key display | |
1228 | as * | |
1229 | ||
1230 | * include/ircd_policy.h: pull-up of ircd_policy.h | |
1231 | ||
1232 | * include/client.h: pull-up of Set/ClearServNotice() | |
1233 | ||
1234 | * ircd/gline.c (do_gline): report client name in G-line message | |
1235 | (pull-up) | |
1236 | ||
1237 | * ircd/s_user.c (register_user): pull-up--show IP address in some | |
1238 | server notices dealing only with users; report which connection | |
1239 | class has filled up | |
1240 | ||
1241 | * ircd/s_stats.c (report_deny_list): use conf->flags & | |
1242 | DENY_FLAGS_IP insteaf of conf->ip_kill | |
1243 | ||
1244 | * ircd/m_stats.c (report_klines): use conf->flags & DENY_FLAGS_IP | |
1245 | insteaf of conf->ip_kill | |
1246 | ||
1247 | * ircd/s_conf.c: use flags field in struct DenyConf; pull-up of | |
1248 | K-line by real name | |
1249 | ||
1250 | * include/s_conf.h: use a flags field in struct DenyConf; define | |
1251 | DENY_FLAGS_FILE, DENY_FLAGS_IP, and DENY_FLAGS_REALNAME for | |
1252 | pull-up of K-line by real name | |
1253 | ||
1254 | * ircd/m_trace.c: pull-up of IP show for user connections | |
1255 | ||
1256 | * doc/example.conf: pull-up of the realname K-line documentation | |
1257 | ||
1258 | * ircd/ircd.c: forward port of pid file advisory locking mechanism | |
1259 | ||
1260 | 2001-04-16 Kevin L. Mitchell <klmitch@mit.edu> | |
1261 | ||
1262 | * ircd/send.c (sendcmdto_flag_butone): recast to just broadcast to | |
1263 | all servers, rather than to only servers that have +w/+g/whatever | |
1264 | users on them; among other things, this removes that atrocity | |
1265 | known as sentalong[] from this function | |
1266 | ||
1267 | * ircd/m_admin.c: must include ircd.h to declare "me"; must | |
1268 | include hash.h to declare FindUser() | |
1269 | ||
1270 | * ircd/m_wallusers.c: implementation of WALLUSERS | |
1271 | ||
1272 | * ircd/m_desynch.c (ms_desynch): only send DESYNCHs to opers | |
1273 | ||
1274 | * ircd/m_wallops.c: only send WALLOPS to opers | |
1275 | ||
1276 | * ircd/parse.c: add WALLUSERS command to parser table | |
1277 | ||
1278 | * include/handlers.h: declare wallusers handlers | |
1279 | ||
1280 | * include/msg.h: add WALLUSERS command | |
1281 | ||
1282 | * ircd/send.c (sendcmdto_flag_butone): if FLAGS_OPER is or'd with | |
1283 | flag, send only to appropriate opers | |
1284 | ||
1285 | 2001-04-13 Kevin L. Mitchell <klmitch@mit.edu> | |
1286 | ||
1287 | * ircd/uping.c: refit to use the new events interface | |
1288 | ||
1289 | * ircd/res.c: refit to use the new events interface | |
1290 | ||
1291 | * ircd/ircd_events.c: create timer_chg(), which permits a | |
1292 | (non-periodic) timer's expire time to be modified; change the | |
1293 | logic in timer_run() so that timers that were re-added while the | |
1294 | event was being processed will not be destroyed prematurely | |
1295 | ||
1296 | * include/uping.h: include the events header, declare some extra | |
1297 | fields in struct UPing, remove timeout value, and define some | |
1298 | flags for marking which cleanup items have yet to be done | |
1299 | ||
1300 | * include/ircd_events.h: add a prototype for timer_chg() to change | |
1301 | the expire time of a running timer | |
1302 | ||
1303 | 2001-03-13 Joseph Bongaarts <foxxe@wtfs.net> | |
1304 | * ircd/os_openbsd.c: Tweaked the openbsd hack a bit. | |
1305 | ||
1306 | 2001-03-07 Joseph Bongaarts <foxxe@wtfs.net> | |
1307 | ||
1308 | * config/configure.in: Add check for OpenBSD | |
1309 | ||
1310 | * ircd/os_openbsd.c: Add seperate os dep file for openbsd which | |
1311 | differs from generic BSD, particularly in its handling of | |
1312 | _XOPEN_SOURCE. | |
1313 | ||
1314 | 2001-02-12 Kevin L. Mitchell <klmitch@mit.edu> | |
1315 | ||
1316 | * ircd/m_gline.c (ms_gline): propagate a G-line that happened to | |
1317 | have been added by a U-lined server, rather than going through the | |
1318 | activate/deactivate logic; propagate G-line removals by U-lined | |
1319 | servers as well | |
1320 | ||
1321 | * ircd/gline.c: rename propagate_gline() to gline_propagate(); | |
1322 | make gline_propagate() return an int 0 (convenience return); only | |
1323 | update lastmod in gline_activate() and gline_deactivate() if the | |
1324 | current lastmod is non-zero, since 0 lastmod is our flag of a | |
1325 | U-lined server having added a G-line | |
1326 | ||
1327 | * include/gline.h (gline_propagate): exporting the G-line | |
1328 | propagation function | |
1329 | ||
1330 | * ircd/m_list.c (m_list): duh; permit explicit channel name | |
1331 | specification only when /list gets two arguments ("Kev | |
1332 | #wasteland") rather than when /list gets more than two | |
1333 | arguments--nice braino | |
1334 | ||
1335 | 2001-01-29 Thomas Helvey <twhelvey1@home.com> | |
1336 | ||
1337 | * ircd/ircd_reply.c (need_more_params): fix bug that allowed | |
1338 | unregistered clients to spam opers with protocol violation | |
1339 | messages. Note: the bugfix may have eliminated some useful | |
1340 | protocol violation messages. | |
1341 | Please send protocol violation messages explicitly from the | |
1342 | functions they are discovered in, you have much better context | |
1343 | for the error there and it helps to document the behavior of the | |
1344 | server. This was also a design bug in that it violated the | |
1345 | "A function should do one thing" heuristic. Patching this one | |
1346 | would have resulted in a continuous spawning of other bugs over | |
1347 | the next 3 years, so I killed it. Check around for stuff this | |
1348 | broke and readd the calls to protocol_violation in the functions | |
1349 | that need to send the message. | |
1350 | ||
1351 | 2001-01-29 Kevin L. Mitchell <klmitch@mit.edu> | |
1352 | ||
1353 | * ircd/channel.c (mode_parse_ban): stopper a tiny leak--if a ban | |
1354 | already existed, then the logic would (attempt to) skip it, but | |
1355 | would not free the ban string; now the ban string is free'd and | |
1356 | the ban count is decremented, releasing the ban for use | |
1357 | ||
1358 | * ircd/s_user.c: make send_umode_out() take a prop argument | |
1359 | instead of testing for the PRIV_PROPAGATE privilege itself; fix | |
1360 | set_umode() to use this new argument, calculating it before | |
1361 | calculating the new privileges for a -o'd user | |
1362 | ||
1363 | * ircd/m_oper.c (m_oper): pass the new prop argument to | |
1364 | send_umode_out() | |
1365 | ||
1366 | * ircd/channel.c (mode_parse_ban): turn off MODE_ADD bit in bans | |
1367 | that we're not actually going to add because they already exist; | |
1368 | test that particular bit before adding to the linked list | |
1369 | ||
1370 | * include/s_user.h: add a prop argument to send_umode_out() to | |
1371 | indicate whether or not to propagate the user mode | |
1372 | ||
1373 | 2001-01-24 Kevin L. Mitchell <klmitch@mit.edu> | |
1374 | ||
1375 | * ircd/msgq.c: ircd_vsnprintf() returns the number of bytes that | |
1376 | it would have written; upper-bound the number to prevent overflows | |
1377 | by proxy; also, tune buffer size given to ircd_vsnprintf() to take | |
1378 | into account the fact that ircd_vsnprintf() already takes the | |
1379 | terminal \0 into account | |
1380 | ||
1381 | 2001-01-22 Kevin L. Mitchell <klmitch@mit.edu> | |
1382 | ||
1383 | * ircd/msgq.c: add an incredibly ugly hack to attempt to track | |
1384 | down an apparent buffer overflow; remove msgq_map(), since it's no | |
1385 | longer used anywhere; slight tweaks to prevent off-by-one errors, | |
1386 | but these can't explain the problems we've seen | |
1387 | ||
1388 | * include/msgq.h: remove msgq_map(), since it's no longer used | |
1389 | anywhere | |
1390 | ||
1391 | 2001-01-18 Kevin L. Mitchell <klmitch@mit.edu> | |
1392 | ||
1393 | * ircd/s_user.c (set_nick_name): call client_set_privs() after | |
1394 | parsing user modes | |
1395 | ||
1396 | 2001-01-17 Kevin L. Mitchell <klmitch@mit.edu> | |
1397 | ||
1398 | * ircd/s_bsd.c (read_message): fix a typo in the select version of | |
1399 | read_message() | |
1400 | ||
1401 | * ircd/whowas.c (whowas_free): MyFree() is a macro that expects | |
1402 | its argument to be an lvalue, which means we can't use | |
1403 | whowas_clean()'s handy-dandy "return ww" feature | |
1404 | ||
1405 | * ircd/ircd_features.c: default LOCOP_KILL to TRUE--oops... | |
1406 | ||
1407 | 2001-01-16 Kevin L. Mitchell <klmitch@mit.edu> | |
1408 | ||
1409 | * ircd/ircd_events.c (timer_run): it's possible that the timer got | |
1410 | deleted during the callback processing, so don't go to the bother | |
1411 | of requeuing it if the destroy flag is set | |
1412 | ||
1413 | * ircd/engine_select.c: define FD_SETSIZE to be IRCD_FD_SETSIZE | |
1414 | out of config.h if this is a *BSD; include errno.h (oops); | |
1415 | decrement error count after an hour using a timer; use FD_SETSIZE | |
1416 | constant instead of IRCD_FD_SETSIZE constant; fill in event | |
1417 | processing code | |
1418 | ||
1419 | * ircd/engine_poll.c: include errno.h (oops); decrement error | |
1420 | count after an hour using a timer; fill in event processing code | |
1421 | ||
1422 | * ircd/engine_kqueue.c: include errno.h (oops); decrement error | |
1423 | count after an hour using a timer; assert events filter is either | |
1424 | EVFILT_READ or EVFILT_WRITE; fill in event processing code | |
1425 | ||
1426 | * ircd/engine_devpoll.c: include errno.h (oops); decrement error | |
1427 | count after an hour using a timer; fill in event processing code | |
1428 | ||
1429 | 2001-01-15 Kevin L. Mitchell <klmitch@mit.edu> | |
1430 | ||
1431 | * ircd/client.c: fixed feattab; basically, when I changed features | |
1432 | to use small integers specifying bit positions, instead of the | |
1433 | bits themselves, I forgot to update feattab to not | these | |
1434 | privileges together; also fixed a bug in the antiprivs masking | |
1435 | loop in client_set_privs()--last index wouldn't get parsed | |
1436 | ||
1437 | 2001-01-11 Kevin L. Mitchell <klmitch@mit.edu> | |
1438 | ||
1439 | * ircd/ircd_events.c: call event_generate() with new data | |
1440 | argument; make it set that field in struct Event; make | |
1441 | socket_add() return the value of the eng_add callback | |
1442 | ||
1443 | * ircd/engine_select.c: make engine_add() return a | |
1444 | successful/unsuccessful status; add bounds-checking outside of an | |
1445 | assert; use accessor macros; use log_write(), not the deprecated | |
1446 | ircd_log(); add an assert to engine_loop() to double-check for | |
1447 | data structure corruption | |
1448 | ||
1449 | * ircd/engine_poll.c: make engine_add() return a | |
1450 | successful/unsuccessful status; add bounds-checking outside of an | |
1451 | assert; use accessor macros; use log_write(), not the deprecated | |
1452 | ircd_log(); add an assert to engine_loop() to double-check for | |
1453 | data structure corruption | |
1454 | ||
1455 | * ircd/engine_kqueue.c: implementation of an engine for kqueue() | |
1456 | ||
1457 | * ircd/engine_devpoll.c: implementation of an engine for /dev/poll | |
1458 | ||
1459 | * include/ircd_events.h: define some accessor macros; add ev_data | |
1460 | to struct Event for certain important data--errno values, for | |
1461 | instance; make EngineAdd callback tell us if it was successful or | |
1462 | not; add extra argument to event_generate(); make socket_add() | |
1463 | return the status from EngineAdd | |
1464 | ||
1465 | 2001-01-10 Kevin L. Mitchell <klmitch@mit.edu> | |
1466 | ||
1467 | * ircd/ircd_events.c: pass initializer information about how many | |
1468 | total _filedescriptors_ may be opened at once | |
1469 | ||
1470 | * ircd/ircd.c: use exported "running" instead of unexported | |
1471 | thisServer.running | |
1472 | ||
1473 | * ircd/engine_select.c: implementation of an event engine based on | |
1474 | select() | |
1475 | ||
1476 | * ircd/engine_poll.c: implementation of an event engine based on | |
1477 | poll() | |
1478 | ||
1479 | * include/ircd_events.h: pass the engine initializer an integer | |
1480 | specifing how many _filedescriptors_ may be opened at once | |
1481 | ||
1482 | * include/ircd.h: running has to be exported for the engine_* | |
1483 | event loops | |
1484 | ||
1485 | 2001-01-09 Kevin L. Mitchell <klmitch@mit.edu> | |
1486 | ||
1487 | * ircd/ircd_events.c: include some needed headers; add some | |
1488 | comments; make evEngines[] const; bundle sig_sock and sig_fd into | |
1489 | a struct named sigInfo; rework struct evInfo to have a queue of | |
1490 | _generators_, and only when threaded; added a gen_init() function | |
1491 | to centralize generator initialization; fix various compile-time | |
1492 | errors; rework event_add() for new queueing scheme and checked for | |
1493 | compile-time errors; add casts where needed; spell evEngines[] | |
1494 | correctly; make engine_name() return const char* | |
1495 | ||
1496 | * include/ircd_events.h: type EventCallBack depends on struct | |
1497 | Event, so pre-declare it; put _event_ queue into generators, and | |
1498 | only when threaded; give engine data a union to store both ints | |
1499 | and pointers; make engine name a const; fix gen_ref_dec() macro; | |
1500 | make engine_name() return a const char* | |
1501 | ||
1502 | * ircd/ircd_events.c: gen_dequeue() is now exported, so move it | |
1503 | down with the non-static functions; modify event_execute() to use | |
1504 | the new gen_ref_dec() to simplify code; make sure event_generate() | |
1505 | does not generate new events for generators marked for destruction | |
1506 | ||
1507 | * include/ircd_events.h: the engines, at least, may need to modify | |
1508 | reference counts to keep generators from going away while | |
1509 | something still points at them, so add reference counter | |
1510 | manipulators and export gen_dequeue() for them | |
1511 | ||
1512 | * ircd/ircd_events.c: set up the list of engines to try; set up | |
1513 | the signal struct Socket; rename netInfo to evInfo; move static | |
1514 | functions near the beginning of the file; do away with | |
1515 | signal_signal() (since we no longer keep a signal count ourselves) | |
1516 | and call event_generate() directly from signal_callback--also | |
1517 | renamed some functions; allow signal_callback() to read up to | |
1518 | SIGS_PER_SOCK at once from the signal pipe; add event_init() to | |
1519 | initialize the entire event system; add event_loop() to call the | |
1520 | engine's event loop; initialize new struct GenHeader member, | |
1521 | gh_engdata; remove timer_next(); add socket_add() function to add | |
1522 | a socket; add socket_del() to mark a socket for deletion; add | |
1523 | socket_state() to transition a socket between states; add | |
1524 | socket_events() to set what events we're interested in on the | |
1525 | socket; add engine_name() to retrieve event engine's name | |
1526 | ||
1527 | * include/ircd_events.h: add engine data field to struct | |
1528 | GenHeader; rename SOCK_ACTION_REMOVE to SOCK_ACTION_DEL; add a | |
1529 | note about states vs s_events; remove signal count; fold union | |
1530 | Generator back into struct Event; remove count members from struct | |
1531 | Generators; redefine engine callbacks to not take a struct | |
1532 | Engine*; add explanatory comments to callback definitions; add | |
1533 | some engine callbacks to handle operations; remove struct Engine | |
1534 | flag member--can detect single flag from eng_signal member; add | |
1535 | event_init(), event_loop(), engine_name(), and the socket_*() | |
1536 | functions; make timer_next() a macro to avoid a function call | |
1537 | ||
1538 | 2001-01-08 Kevin L. Mitchell <klmitch@mit.edu> | |
1539 | ||
1540 | * include/ircd_events.h: rename to ircd_events.h, since it handles | |
1541 | events, not just networking stuff; add signal support; more | |
1542 | structural rearrangement | |
1543 | ||
1544 | * ircd/ircd_events.c: rename to ircd_events.c, since it handles | |
1545 | events, not just networking stuff; add signal support; more | |
1546 | structural rearrangement | |
1547 | ||
1548 | 2001-01-07 Kevin L. Mitchell <klmitch@mit.edu> | |
1549 | ||
1550 | * ircd/ircd_network.c: implement timer API; add reference counts | |
1551 | appropriately | |
1552 | ||
1553 | * include/ircd_network.h: firm up some pieces of the interface; | |
1554 | split out members everything has into a separate structure; add | |
1555 | reference counts; add timer API | |
1556 | ||
1557 | 2001-01-06 Kevin L. Mitchell <klmitch@mit.edu> | |
1558 | ||
1559 | * ircd/ircd_network.c: static data and event manipulation | |
1560 | functions for new event processing system | |
1561 | ||
1562 | * include/ircd_network.h: data structures for new event processing | |
1563 | system | |
1564 | ||
1565 | 2001-01-03 Kevin L. Mitchell <klmitch@mit.edu> | |
1566 | ||
1567 | * ircd/whowas.c: Completely re-did the old allocation scheme by | |
1568 | turning it into a linked list, permitting the | |
1569 | NICKNAMEHISTORYLENGTH feature to be changed on the fly | |
1570 | ||
1571 | * ircd/s_debug.c (count_memory): use FEAT_NICKNAMEHISTORYLENGTH | |
1572 | feature instead of old #define | |
1573 | ||
1574 | * ircd/ircd_features.c: add NICKNAMEHISTORYLENGTH feature as an | |
1575 | integer feature with a notify callback (whowas_realloc) | |
1576 | ||
1577 | * ircd/client.c (client_set_privs): second memset was supposed to | |
1578 | be over antiprivs, not privs; thanks, Chris Behrens | |
1579 | <cbehrens@xo.com> for pointing that out... | |
1580 | ||
1581 | * include/whowas.h: new elements for an extra linked list in | |
1582 | struct Whowas; a notify function for feature value changes | |
1583 | ||
1584 | * include/ircd_features.h: new feature--FEAT_NICKNAMEHISTORYLENGTH | |
1585 | ||
1586 | * config/config-sh.in: NICKNAMEHISTORYLENGTH is now a feature | |
1587 | ||
1588 | 2001-01-02 Kevin L. Mitchell <klmitch@mit.edu> | |
1589 | ||
1590 | * config/config-sh.in: get rid of DEFAULT_LIST_PARAMETER | |
1591 | compile-time option--now in features subsystem | |
1592 | ||
1593 | * ircd/motd.c (motd_init): rework motd_init() to be called as the | |
1594 | notify function for MPATH and RPATH features (should probably | |
1595 | split it up a bit, though...) | |
1596 | ||
1597 | * ircd/m_privs.c (mo_privs): if called with no parameters, return | |
1598 | privs of the caller, rather than an error | |
1599 | ||
1600 | * ircd/m_list.c: pull usage message into its own function; pull | |
1601 | list parameter processing into its own function that does not | |
1602 | modify the contents of the parameter; add list_set_default() to | |
1603 | set the default list parameter (uses the notify hook); rework | |
1604 | m_list() to make use of these functions; removed dead code | |
1605 | ||
1606 | * ircd/ircd_log.c (log_feature_mark): make sure to return 0, since | |
1607 | we have no notify handler | |
1608 | ||
1609 | * ircd/ircd_features.c: add notify callback for notification of | |
1610 | value changes; give mark callback an int return value to indicate | |
1611 | whether or not to call the notify callback; fix up feature macros | |
1612 | for new notify callback; add DEFAULT_LIST_PARAM feature; rewrite | |
1613 | string handling in feature_set() to deal with def_str being a null | |
1614 | pointer; wrote feature_init() to set up all defaults appropriately | |
1615 | ||
1616 | * ircd/ircd.c (main): call feature_init() instead of | |
1617 | feature_mark(), to avoid calling notify functions while setting up | |
1618 | defaults | |
1619 | ||
1620 | * ircd/client.c: updated to deal with new privileges structure | |
1621 | ||
1622 | * ircd/class.c: updated so init_class() can be called should one | |
1623 | of PINGFREQUENCY, CONNECTFREQUENCY, MAXIMUM_LINKS, or | |
1624 | DEFAULTMAXSENDQLENGTH be changed | |
1625 | ||
1626 | * include/ircd_log.h: log_feature_mark() updated to fit with new | |
1627 | API changes | |
1628 | ||
1629 | * include/ircd_features.h: added DEFAULT_LIST_PARAM feature and | |
1630 | feature_init() function (found necessary since adding the notify | |
1631 | stuff and notifying motd.c during start-up...before we defined | |
1632 | RPATH!) | |
1633 | ||
1634 | * include/client.h: move privs around to enable addition of more | |
1635 | bits if necessary; based on the FD_* macros | |
1636 | ||
1637 | * include/channel.h: declare list_set_default (actually located in | |
1638 | m_list.c *blanche*) | |
1639 | ||
1640 | * ircd/s_user.c: retrieve MAXSILES and MAXSILELENGTH (now | |
1641 | AVBANLEN*MAXSILES) from features subsystem | |
1642 | ||
1643 | * ircd/s_debug.c (debug_serveropts): CMDLINE_CONFIG doesn't go to | |
1644 | anything anymore | |
1645 | ||
1646 | * ircd/s_bsd.c: retrieve HANGONGOODLINK and HANGONRETRYDELAY from | |
1647 | the features subsystem | |
1648 | ||
1649 | * ircd/s_auth.c (start_auth): NODNS migrated to the features | |
1650 | subsystem | |
1651 | ||
1652 | * ircd/random.c: created random_seed_set() function to set seed | |
1653 | value, along with some stuff to make ircrandom() a little more | |
1654 | random--state preserving, xor of time instead of direct usage, | |
1655 | etc.; it's still a pseudo-random number generator, though, and | |
1656 | hopefully I haven't broken the randomness | |
1657 | ||
1658 | * ircd/m_version.c: FEATUREVALUES makes use of feature_int() calls | |
1659 | ||
1660 | * ircd/m_join.c: use features interface to retrieve | |
1661 | MAXCHANNELSPERUSER | |
1662 | ||
1663 | * ircd/ircd_features.c: add NODISP flag for super-secret features; | |
1664 | add a whole bunch of new features migrated over from make config | |
1665 | ||
1666 | * ircd/ircd.c: use features interface to retrieve PINGFREQUENCY, | |
1667 | CONNECTTIMEOUT, and TIMESEC | |
1668 | ||
1669 | * ircd/client.c (client_get_ping): use features interface to | |
1670 | retrieve PINGFREQUENCY | |
1671 | ||
1672 | * ircd/class.c: use features interface to retrieve PINGFREQUENCY, | |
1673 | CONNECTFREQUENCY, MAXIMUM_LINKS, and DEFAULTMAXSENDQLENGTH | |
1674 | ||
1675 | * ircd/chkconf.c (DEFAULTMAXSENDQLENGTH): since it's now in the | |
1676 | features subsystem, we have to add something explicit | |
1677 | ||
1678 | * ircd/channel.c: use features interface to retrieve | |
1679 | KILLCHASETIMELIMIT, MAXBANLENGTH, MAXBANS, and MAXCHANNELSPERUSER; | |
1680 | note that MAXBANLENGTH is now calculated dynamically from MAXBANS | |
1681 | and AVBANLEN | |
1682 | ||
1683 | * ircd/Makefile.in: run make depend | |
1684 | ||
1685 | * include/supported.h (FEATURESVALUES): update to reference | |
1686 | feature settings | |
1687 | ||
1688 | * include/random.h: add prototype for random_seed_set | |
1689 | ||
1690 | * include/ircd_features.h: add several more features | |
1691 | ||
1692 | * include/channel.h: move MAXBANS and MAXBANLENGTH into feature | |
1693 | subsystem | |
1694 | ||
1695 | * config/config-sh.in: feature-ized some more stuff | |
1696 | ||
1697 | * include/motd.h: some new elements in motd.h for motd.c changes | |
1698 | ||
1699 | * ircd/motd.c: motd_cache() now searches a list of already cached | |
1700 | MOTD files; saves us from having duplicate caches in memory if | |
1701 | there are two identical T-lines for two different sites... | |
1702 | ||
1703 | 2001-01-02 Perry Lorier <isomer@coders.net> | |
1704 | * ircd/motd.c: don't core if the motd isn't found. Bug found by | |
1705 | Amarande. | |
1706 | ||
1707 | 2001-01-02 Perry Lorier <isomer@coders.net> | |
1708 | * ircd/s_err.c: Added third param to 004 - the channel modes that tage params. Used by hybrid/epic. | |
1709 | * ircd/s_channels.c: Added fix for msg'ing a -n+m channel - thanks | |
1710 | to guppy for noticing, and hektik for providing the fix. | |
1711 | * misc others: Minor cleanups, added more protocol_violations, ripped | |
1712 | out more P09 stuffs, bit more protocol neg stuff. | |
1713 | ||
1714 | 2000-12-19 Kevin L. Mitchell <klmitch@mit.edu> | |
1715 | ||
1716 | * ircd/m_ison.c (m_ison): Dianora says that ISON has to end with a | |
1717 | space (*sigh* stupid clients...) | |
1718 | ||
1719 | * ircd/s_user.c: make WALLOPS_OPER_ONLY a feature managed through | |
1720 | ircd_features.[ch] | |
1721 | ||
1722 | * ircd/s_err.c: get rid of GODMODE conditionals | |
1723 | ||
1724 | * ircd/s_debug.c (debug_serveropts): switch to using appropriate | |
1725 | calls into the features subsystem for various serveropts | |
1726 | characters | |
1727 | ||
1728 | * ircd/s_conf.c (find_conf_entry): get rid of USEONE conditional | |
1729 | ||
1730 | * ircd/s_bsd.c: remove GODMODE conditional; use features subsystem | |
1731 | to get value of VIRTUAL_HOST and CLIENT_FLOOD; remove | |
1732 | NOFLOWCONTROL conditional | |
1733 | ||
1734 | * ircd/s_auth.c: use features subsystem to determine value of | |
1735 | KILL_IPMISMATCH | |
1736 | ||
1737 | * ircd/parse.c: get rid of NOOPER and GODMODE conditionals; use | |
1738 | features subsystem to determine the setting of IDLE_FROM_MSG | |
1739 | ||
1740 | * ircd/numnicks.c: get rid of EXTENDED_NUMERICS conditionals | |
1741 | ||
1742 | * ircd/motd.c: get value of NODEFAULTMOTD from features subsystem; | |
1743 | use features subsystem to get motd file names | |
1744 | ||
1745 | * ircd/m_settime.c: get value of RELIABLE_CLOCK from features | |
1746 | subsystem | |
1747 | ||
1748 | * ircd/m_server.c: get rid of CRYPT_LINK_PASSWORD, since it does | |
1749 | us no good; use features subsystem to figure out if we need to do | |
1750 | HUB-type stuff; make TESTNET debugging sendto_opmask_butone's use | |
1751 | the Debug(()) macro instead; get value of RELIABLE_CLOCK from | |
1752 | features subsystem | |
1753 | ||
1754 | * ircd/m_privmsg.c: get IDLE_FROM_MSG from the features subsystem | |
1755 | ||
1756 | * ircd/m_oper.c: get CRYPT_OPER_PASSWORD from the features | |
1757 | subsystem | |
1758 | ||
1759 | * ircd/m_connect.c: get SERVER_PORT from the features subsystem | |
1760 | ||
1761 | * ircd/ircd_log.c (log_set_file): fix a bug that kept log files | |
1762 | from getting marked if they were already set to something... | |
1763 | ||
1764 | * ircd/ircd_features.c: add a flag to indicates read-only access; | |
1765 | add several new features that used to be compile-time selected | |
1766 | ||
1767 | * ircd/ircd.c: grab pidfile out of feature subsystem; don't check | |
1768 | access to motd files (what the heck?); make sure to initialize the | |
1769 | feature subsystem before trying to write the config file | |
1770 | ||
1771 | * ircd/dbuf.c: use feature_int() to retrieve BUFFERPOOL settings; | |
1772 | use feature_bool() to figure out if we're using the FERGUSON | |
1773 | flusher | |
1774 | ||
1775 | * ircd/Makefile.in: MPATH and RPATH are now done differently, so | |
1776 | remove the clause that creates empty files of that name; also ran | |
1777 | make depend | |
1778 | ||
1779 | * include/sys.h: CLIENT_FLOOD is now a feature; unfortunately, | |
1780 | there is no easy way to bounds-check it at present | |
1781 | ||
1782 | * include/querycmds.h: make sure ircd_features.h is included; use | |
1783 | feature_str(FEAT_DOMAINNAME) in calls to match() | |
1784 | ||
1785 | * include/ircd_features.h: many new features that used to be | |
1786 | compile-time selected | |
1787 | ||
1788 | * config/config-sh.in: add * to DOMAINNAME; try also using first | |
1789 | argument to search in /etc/resolv.conf; removed many compile-time | |
1790 | options that now can be configured through the features system | |
1791 | ||
1792 | 2000-12-18 Kevin L. Mitchell <klmitch@mit.edu> | |
1793 | ||
1794 | * doc/api/log.txt: how to use the logging API | |
1795 | ||
1796 | * doc/api/features.txt: how to use the features API | |
1797 | ||
1798 | * doc/api/api.txt: how to write API documentation | |
1799 | ||
1800 | * include/ircd_features.h: rearranged a couple of features for | |
1801 | neatness purposes | |
1802 | ||
1803 | * ircd/ircd_features.c: cleaned up the macros some; rearranged | |
1804 | some code to all go into the switch; rearranged a couple of | |
1805 | features for neatness purposes | |
1806 | ||
1807 | 2000-12-16 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
1808 | * ircd/os_bsd.c: Added os_set_tos for BSD users. | |
1809 | ||
1810 | 2000-12-16 Kevin L. Mitchell <klmitch@mit.edu> | |
1811 | ||
1812 | * ircd/ircd_features.c: Isomer almost got it right; you need to | |
1813 | use F_I(), since it's an integer value, not a boolean value. The | |
1814 | asserts in feature_int would catch you out... Also made the F_* | |
1815 | macros take flags | |
1816 | ||
1817 | * ircd/s_err.c: define RPL_PRIVS reply | |
1818 | ||
1819 | * ircd/parse.c: put new PRIVS command into command table | |
1820 | ||
1821 | * ircd/m_privs.c (mo_privs): message handler to report operator | |
1822 | privileges | |
1823 | ||
1824 | * ircd/ircd_features.c: declare new features OPER_SET and | |
1825 | LOCOP_SET; redo boolean testing routine to accept TRUE, YES, and | |
1826 | ON for boolean TRUE, and FALSE, NO, and OFF for boolean FALSE | |
1827 | ||
1828 | * ircd/client.c: simplify client_set_privs() with a table that | |
1829 | defines what features to test for; add new client_report_privs() | |
1830 | ||
1831 | * ircd/Makefile.in: compile new m_privs.c; run make depend | |
1832 | ||
1833 | * include/numeric.h (RPL_PRIVS): new reply numeric for displaying | |
1834 | an operator's privileges | |
1835 | ||
1836 | * include/msg.h: define new command: PRIVS | |
1837 | ||
1838 | * include/ircd_features.h: create new features OPER_SET and | |
1839 | LOCOP_SET for controlling access to /set | |
1840 | ||
1841 | * include/handlers.h (mo_privs): declare message handler for | |
1842 | reporting oper privileges | |
1843 | ||
1844 | * include/client.h (client_report_privs): declare function to | |
1845 | report what privileges an oper has | |
1846 | ||
1847 | * ircd/m_whois.c (do_whois): fix a bug that caused /whois to | |
1848 | report that a user is an oper if the oper doing the /whois had | |
1849 | PRIV_SEE_OPERS | |
1850 | ||
1851 | 2000-12-17 Isomer <Isomer@coders.net> | |
1852 | * ircd/listener.c: added support for TOS twiddling as a 'feature'. | |
1853 | ||
1854 | 2000-12-17 Isomer <Isomer@coders.net> | |
1855 | * ircd/os_linux.c: add TOS stuffs | |
1856 | ||
1857 | * ircd/listener.c: add TOS stuffs | |
1858 | ||
1859 | 2000-12-16 Kevin L. Mitchell <klmitch@mit.edu> | |
1860 | ||
1861 | * ircd/whocmds.c (do_who): use HasPriv to determine whether or not | |
1862 | to indicate a user is an oper | |
1863 | ||
1864 | * ircd/s_user.c: clear privileges setting when deopping; don't | |
1865 | propagate +o unless user has PRIV_PROPAGATE privilege | |
1866 | ||
1867 | * ircd/s_debug.c (debug_serveropts): created debug_serveropts() | |
1868 | function and replaced how the server option string is generated | |
1869 | ||
1870 | * ircd/parse.c: remove conditional on CONFIG_OPERCMDS | |
1871 | ||
1872 | * ircd/m_whois.c (do_whois): use HasPriv to determine whether or | |
1873 | not to indicate the user is an operator | |
1874 | ||
1875 | * ircd/m_who.c: use HasPriv to determine whether or not a user | |
1876 | should be displayed in the list of opers | |
1877 | ||
1878 | * ircd/m_version.c: call debug_serveropts() to get server option | |
1879 | string | |
1880 | ||
1881 | * ircd/m_userip.c (userip_formatter): use HasPriv to determine | |
1882 | whether or not to show oper status | |
1883 | ||
1884 | * ircd/m_userhost.c (userhost_formatter): use HasPriv to determine | |
1885 | whether or not to show oper status | |
1886 | ||
1887 | * ircd/m_restart.c (mo_restart): replace ugly #ifdef conditional | |
1888 | checks with HasPriv check; remove dead code | |
1889 | ||
1890 | * ircd/m_rehash.c (mo_rehash): replace ugly #ifdef conditional | |
1891 | checks with HasPriv check | |
1892 | ||
1893 | * ircd/m_opmode.c (mo_opmode): use HasPriv to check permissions; | |
1894 | use feature_bool to check if disabled | |
1895 | ||
1896 | * ircd/m_oper.c (m_oper): set oper priviliges | |
1897 | ||
1898 | * ircd/m_mode.c (m_mode): replace #ifdef conditional with HasPriv | |
1899 | check | |
1900 | ||
1901 | * ircd/m_kill.c (mo_kill): use HasPriv checks to determine if we | |
1902 | can kill | |
1903 | ||
1904 | * ircd/m_kick.c (m_kick): replace #ifdef conditional with HasPriv | |
1905 | check | |
1906 | ||
1907 | * ircd/m_jupe.c (mo_jupe): rework permissions checking structure; | |
1908 | use feature_bool to check if disabled | |
1909 | ||
1910 | * ircd/m_join.c (m_join): remove BADCHAN conditional; replace | |
1911 | #ifdef conditional with a HasPriv check | |
1912 | ||
1913 | * ircd/m_gline.c (mo_gline): rework permissions checking | |
1914 | structure; use feature_bool to check if any part is disabled | |
1915 | ||
1916 | * ircd/m_die.c: replace ugly #ifdef conditionals with HasPriv | |
1917 | check; remove dead code | |
1918 | ||
1919 | * ircd/m_clearmode.c: use feature_bool() to detect if we're | |
1920 | disabled; use HasPriv to figure out what we're permitted to do; | |
1921 | only allow clearmode on moded channels | |
1922 | ||
1923 | * ircd/ircd_features.c: define various features; use HasPriv to | |
1924 | verify permissions to set/reset | |
1925 | ||
1926 | * ircd/gline.c (gline_add): use HasPriv instead of #ifdef | |
1927 | conditionals | |
1928 | ||
1929 | * ircd/client.c (client_set_privs): function to set an oper's | |
1930 | privileges | |
1931 | ||
1932 | * ircd/channel.c: use HasPriv calls instead of #ifdef conditionals | |
1933 | ||
1934 | * include/whocmds.h: deconditionalize several macros and | |
1935 | substitute appropriate calls to HasPriv() | |
1936 | ||
1937 | * include/s_debug.h: get rid of global serveropts[]; define new | |
1938 | function debug_serveropts() to build that string on the fly | |
1939 | ||
1940 | * include/ircd_features.h: define some features | |
1941 | ||
1942 | * include/client.h: add privs member to struct Connection; define | |
1943 | various priviledges | |
1944 | ||
1945 | * include/channel.h: no longer using IsOperOnLocalChannel; remove | |
1946 | conditional of MAGIC_OPER_OVERRIDE on OPER_WALK_THROUGH_LMODES | |
1947 | ||
1948 | * doc/Configure.help: remove help information for deprecated | |
1949 | options | |
1950 | ||
1951 | * config/config-sh.in: remove certain deprecated options having to | |
1952 | do with what opers can and cannot do--first stage in moving | |
1953 | compile-time constants into the .conf | |
1954 | ||
1955 | 2000-12-16 Isomer <Isomer@coders.net> | |
1956 | * ircd/parse.c: detect if the prefix is missing and try and recover | |
1957 | instead of coring. | |
1958 | ||
1959 | 2000-12-15 Kevin L. Mitchell <klmitch@mit.edu> | |
1960 | ||
1961 | * ircd/ircd_log.c: found and fixed some bugs in the debug logging | |
1962 | code that would sometimes result in the log file not being | |
1963 | reopened--which meant that a user could connect and get the | |
1964 | logging output--oops | |
1965 | ||
1966 | * ircd/Makefile.in: run make depend... | |
1967 | ||
1968 | * ircd/s_stats.c: get rid of report_feature_list() | |
1969 | ||
1970 | * ircd/s_err.c: add the 'bad value' error message, shift error | |
1971 | messages over somewhat | |
1972 | ||
1973 | * ircd/s_debug.c (debug_init): call log_debug_init with the | |
1974 | use_tty flag | |
1975 | ||
1976 | * ircd/s_conf.c (read_configuration_file): unmark features before | |
1977 | reading the config file, then reset unmarked features after | |
1978 | reading the config file | |
1979 | ||
1980 | * ircd/m_stats.c: use feature_report() instead of | |
1981 | report_feature_list() | |
1982 | ||
1983 | * ircd/ircd_log.c: fix log_debug_file (bogus assertion); add | |
1984 | special 'mark' flags and use them; add the stuff needed by the | |
1985 | features API | |
1986 | ||
1987 | * ircd/ircd_features.c: rework the features API and add gobs of | |
1988 | comments to try to explain what some of these complex functions | |
1989 | are actually doing | |
1990 | ||
1991 | * include/s_stats.h: get rid of report_feature_list(); use | |
1992 | feature_report() instead | |
1993 | ||
1994 | * include/numeric.h: added a new error message and shifted old | |
1995 | values over some--this is, after all, an alpha | |
1996 | ||
1997 | * include/ircd_log.h: log_debug_init now takes an integer to tell | |
1998 | it if it should be using the tty; added a couple of functions | |
1999 | required by the features API | |
2000 | ||
2001 | * include/ircd_features.h: add an enum and some more functions to | |
2002 | flesh out the feature API--it should now be possible to put all | |
2003 | those compile-time constants in the config file! | |
2004 | ||
2005 | * ircd/send.c: got the direction of the assert incorrect... | |
2006 | ||
2007 | * ircd/send.c: implement the efficiency of flush_connections by | |
2008 | creating a linked list of struct Connection's with queued data; | |
2009 | also get rid of flush_sendq_except and make sure to yank | |
2010 | connections out of the list when their sendQs become empty (notice | |
2011 | the assertion in flush_connections!) | |
2012 | ||
2013 | * ircd/s_bsd.c (close_connection): must yank the Connection out of | |
2014 | the sendq list | |
2015 | ||
2016 | * ircd/list.c (dealloc_connection): must yank the Connection out | |
2017 | of the sendq list | |
2018 | ||
2019 | * ircd/dbuf.c (dbuf_put): call flush_connections instead of the | |
2020 | deprecated flush_sendq_except | |
2021 | ||
2022 | * ircd/client.c: define a couple new helper functions for sendq | |
2023 | threading--this will make the flush_connections function in send.c | |
2024 | considerably more efficient by creating a linked list of | |
2025 | Connections that have queued data to send | |
2026 | ||
2027 | * include/send.h: remove flush_sendq_except, as it's not used | |
2028 | anymore | |
2029 | ||
2030 | * include/client.h: declare a couple new helper functions for the | |
2031 | sendq threading system | |
2032 | ||
2033 | 2000-12-14 Kevin L. Mitchell <klmitch@mit.edu> | |
2034 | ||
2035 | * ircd/m_ison.c (m_ison): Apply Diane Bruce's patch to make ISON | |
2036 | parse all arguments | |
2037 | ||
2038 | * ircd/s_debug.c (count_memory): modify to report for clients and | |
2039 | connections, not local clients and remote clients | |
2040 | ||
2041 | * ircd/list.c: fiddle with the client-fiddling functions to take | |
2042 | into account the divorce of struct Connection from struct Client | |
2043 | ||
2044 | * ircd/ircd.c: define a struct Connection for me, initialize it, | |
2045 | and link it into the right place (ewww, globals!) | |
2046 | ||
2047 | * include/client.h: remove CLIENT_{LOCAL,REMOTE}_SIZE; split | |
2048 | struct Client into struct Client and struct Connection; redefine | |
2049 | local-portion accessor macros to go through struct Client to the | |
2050 | struct Connection; define struct Connection accessor macros | |
2051 | ||
2052 | 2000-12-13 Kevin L. Mitchell <klmitch@mit.edu> | |
2053 | ||
2054 | * ircd/whowas.c: missed a couple of accesses to a struct Client | |
2055 | ||
2056 | * ircd/uping.c: missed a couple of accesses to a struct Client | |
2057 | ||
2058 | * ircd/send.c: missed a couple of accesses to a struct Client | |
2059 | ||
2060 | * ircd/s_user.c: missed a couple of accesses to a struct Client | |
2061 | ||
2062 | * ircd/s_misc.c: missed a couple of accesses to a struct Client | |
2063 | ||
2064 | * ircd/s_conf.c: missed a couple of accesses to a struct Client | |
2065 | ||
2066 | * ircd/s_bsd.c: missed a couple of accesses to a struct Client | |
2067 | ||
2068 | * ircd/s_auth.c: missed a couple of accesses to a struct Client | |
2069 | ||
2070 | * ircd/res.c: missed a couple of accesses to a struct Client | |
2071 | ||
2072 | * ircd/parse.c: missed a couple of accesses to a struct Client | |
2073 | ||
2074 | * ircd/m_whois.c: use new accessor macros for struct Client | |
2075 | ||
2076 | * ircd/m_who.c: use new accessor macros for struct Client | |
2077 | ||
2078 | * ircd/m_wallchops.c: use new accessor macros for struct Client | |
2079 | ||
2080 | * ircd/m_version.c: use new accessor macros for struct Client | |
2081 | ||
2082 | * ircd/m_userip.c: use new accessor macros for struct Client | |
2083 | ||
2084 | * ircd/m_userhost.c: use new accessor macros for struct Client | |
2085 | ||
2086 | * ircd/m_user.c: use new accessor macros for struct Client | |
2087 | ||
2088 | * ircd/m_uping.c: use new accessor macros for struct Client | |
2089 | ||
2090 | * ircd/m_trace.c: use new accessor macros for struct Client | |
2091 | ||
2092 | * ircd/m_topic.c: use new accessor macros for struct Client | |
2093 | ||
2094 | * ircd/m_time.c: use new accessor macros for struct Client | |
2095 | ||
2096 | * ircd/m_stats.c: use new accessor macros for struct Client | |
2097 | ||
2098 | * ircd/m_squit.c: use new accessor macros for struct Client | |
2099 | ||
2100 | * ircd/m_silence.c: use new accessor macros for struct Client | |
2101 | ||
2102 | * ircd/m_server.c: use new accessor macros for struct Client; | |
2103 | remove dead code | |
2104 | ||
2105 | * ircd/m_rpong.c: use new accessor macros for struct Client | |
2106 | ||
2107 | * ircd/m_rping.c: use new accessor macros for struct Client | |
2108 | ||
2109 | * ircd/m_quit.c: use new accessor macros for struct Client | |
2110 | ||
2111 | * ircd/m_privmsg.c: use new accessor macros for struct Client | |
2112 | ||
2113 | * ircd/m_pong.c: use new accessor macros for struct Client; remove | |
2114 | dead code | |
2115 | ||
2116 | * ircd/m_ping.c: use new accessor macros for struct Client | |
2117 | ||
2118 | * ircd/m_pass.c: use new accessor macros for struct Client | |
2119 | ||
2120 | * ircd/m_part.c: use new accessor macros for struct Client | |
2121 | ||
2122 | * ircd/m_oper.c: use new accessor macros for struct Client | |
2123 | ||
2124 | * ircd/m_notice.c: use new accessor macros for struct Client | |
2125 | ||
2126 | * ircd/m_nick.c: use new accessor macros for struct Client | |
2127 | ||
2128 | * ircd/m_names.c: use new accessor macros for struct Client | |
2129 | ||
2130 | * ircd/m_mode.c: use new accessor macros for struct Client | |
2131 | ||
2132 | * ircd/m_map.c: use new accessor macros for struct Client | |
2133 | ||
2134 | * ircd/m_list.c: use new accessor macros for struct Client | |
2135 | ||
2136 | * ircd/m_links.c: use new accessor macros for struct Client; | |
2137 | remove some dead code | |
2138 | ||
2139 | * ircd/m_kill.c: use new accessor macros for struct Client; remove | |
2140 | some dead code | |
2141 | ||
2142 | * ircd/m_kick.c: use new accessor macros for struct Client | |
2143 | ||
2144 | * ircd/m_join.c: use new accessor macros for struct Client; remove | |
2145 | some dead code | |
2146 | ||
2147 | * ircd/m_ison.c: use new accessor macros for struct Client | |
2148 | ||
2149 | * ircd/m_invite.c: use new accessor macros for struct Client | |
2150 | ||
2151 | * ircd/m_info.c: use new accessor macros for struct Client | |
2152 | ||
2153 | * ircd/m_gline.c: use new accessor macros for struct Client | |
2154 | ||
2155 | * ircd/m_error.c: use new accessor macros for struct Client | |
2156 | ||
2157 | * ircd/m_create.c: use new accessor macros for struct Client | |
2158 | ||
2159 | * ircd/m_connect.c: use new accessor macros for struct Client; | |
2160 | removed some dead code | |
2161 | ||
2162 | * ircd/m_burst.c: use new accessor macros for struct Client | |
2163 | ||
2164 | * ircd/m_away.c: use new accessor macros for struct Client | |
2165 | ||
2166 | * ircd/m_admin.c: use new accessor macros for struct Client | |
2167 | ||
2168 | * ircd/hash.c: missed a couple of accesses to a struct Client | |
2169 | ||
2170 | * ircd/gline.c: missed a couple of accesses to a struct Client | |
2171 | ||
2172 | * ircd/crule.c: missed a couple of accesses to a struct Client | |
2173 | ||
2174 | * ircd/class.c: missed an access to a struct Client | |
2175 | ||
2176 | * ircd/channel.c: missed a couple of accesses to a struct Client | |
2177 | ||
2178 | * ircd/IPcheck.c: missed an access to a struct Client | |
2179 | ||
2180 | * include/querycmds.h: fix a couple of stats macros to use | |
2181 | structure accessor macros | |
2182 | ||
2183 | * include/client.h: change structure member names to highlight any | |
2184 | places in the code I've missed | |
2185 | ||
2186 | 2000-12-12 Kevin L. Mitchell <klmitch@mit.edu> | |
2187 | ||
2188 | * ircd/whowas.c: use new struct Client accessor macros | |
2189 | ||
2190 | * ircd/whocmds.c: use new struct Client accessor macros | |
2191 | ||
2192 | * ircd/send.c: use new struct Client accessor macros | |
2193 | ||
2194 | * ircd/s_user.c: use new struct Client accessor macros; removed | |
2195 | some dead code | |
2196 | ||
2197 | * ircd/s_serv.c: use new struct Client accessor macros; removed | |
2198 | some dead code | |
2199 | ||
2200 | * ircd/s_numeric.c: use new struct Client accessor macros | |
2201 | ||
2202 | * ircd/s_misc.c: use new struct Client accessor macros | |
2203 | ||
2204 | * ircd/s_debug.c: use new struct Client accessor macros | |
2205 | ||
2206 | * ircd/s_conf.c: use new struct Client accessor macros | |
2207 | ||
2208 | * ircd/s_bsd.c: use new struct Client accessor macros | |
2209 | ||
2210 | * ircd/s_auth.c: use new struct Client accessor macros | |
2211 | ||
2212 | * ircd/parse.c: use new struct Client accessor macros | |
2213 | ||
2214 | * ircd/packet.c: use new struct Client accessor macros | |
2215 | ||
2216 | * ircd/numnicks.c: use new struct Client accessor macros | |
2217 | ||
2218 | * ircd/motd.c: use new struct Client accessor macros | |
2219 | ||
2220 | * ircd/listener.c: use new struct Client accessor macros | |
2221 | ||
2222 | * ircd/list.c: use new struct Client accessor macros | |
2223 | ||
2224 | * ircd/jupe.c: use new struct Client accessor macros | |
2225 | ||
2226 | * ircd/ircd_snprintf.c: use new struct Client accessor macros | |
2227 | ||
2228 | * ircd/ircd_reply.c: use new struct Client accessor macros | |
2229 | ||
2230 | * ircd/ircd_relay.c: use new struct Client accessor macros | |
2231 | ||
2232 | * ircd/ircd.c: use new struct Client accessor macros | |
2233 | ||
2234 | * ircd/gline.c: catch some instances of me.<stuff> I missed | |
2235 | previously | |
2236 | ||
2237 | * ircd/client.c: use cli_ instead of con_ | |
2238 | ||
2239 | * ircd/class.c: use cli_ instead of con_ | |
2240 | ||
2241 | * ircd/channel.c: use cli_ instead of con_ | |
2242 | ||
2243 | * ircd/IPcheck.c: use cli_ instead of con_; catch some instances | |
2244 | of me.<stuff> I missed previously | |
2245 | ||
2246 | * include/client.h: use cli_ instead of con_...seemed like a good | |
2247 | idea at the time *shrug* | |
2248 | ||
2249 | 2000-12-11 Kevin L. Mitchell <klmitch@mit.edu> | |
2250 | ||
2251 | * ircd/hash.c: use struct Client accessor macros | |
2252 | ||
2253 | * ircd/gline.c: use struct Client accessor macros | |
2254 | ||
2255 | * ircd/crule.c: use struct Client accessor macros | |
2256 | ||
2257 | * ircd/client.c: use struct Client accessor macros; remove some | |
2258 | dead code | |
2259 | ||
2260 | * ircd/class.c: use struct Client accessor macros | |
2261 | ||
2262 | * ircd/channel.c: use struct Client accessor macros; remove some | |
2263 | dead code | |
2264 | ||
2265 | * ircd/IPcheck.c: use struct Client accessor macros | |
2266 | ||
2267 | * include/numnicks.h: use struct Client accessor macros | |
2268 | ||
2269 | * include/client.h: first step to divorcing struct Client and | |
2270 | struct Connection--define accessor macros and use them | |
2271 | ||
2272 | * ircd/gline.c: When Uworld removed Uworld-set G-lines, only the | |
2273 | uplink would remove them. This is because the removal protocol | |
2274 | message wasn't being sent to the uplinks. This is fixed by fixing | |
2275 | propagate_gline() to send the proper number of arguments depending | |
2276 | on whether or not we're adding or deleting the Uworld gline, and | |
2277 | by having gline_deactivate() make sure to turn off the active bit | |
2278 | and call propagate_gline() if it's a Uworld gline | |
2279 | ||
2280 | 2000-12-10 Kevin L. Mitchell <klmitch@mit.edu> | |
2281 | ||
2282 | * ircd/os_generic.c: make sure IOV_MAX gets defined, just in case | |
2283 | ||
2284 | * ircd/os_bsd.c: apparently BSD doesn't have IOV_MAX defined | |
2285 | anywhere intelligent... | |
2286 | ||
2287 | 2000-12-09 Kevin L. Mitchell <klmitch@mit.edu> | |
2288 | ||
2289 | * ircd/send.c (send_queued): call deliver_it with appropriate | |
2290 | arguments | |
2291 | ||
2292 | * ircd/s_serv.c: reorder a couple of headers--cosmetic | |
2293 | ||
2294 | * ircd/s_bsd.c (deliver_it): make deliver_it work with a struct | |
2295 | MsgQ | |
2296 | ||
2297 | * ircd/os_solaris.c (os_sendv_nonb): function for calling writev | |
2298 | with appropriate iovec | |
2299 | ||
2300 | * ircd/os_linux.c (os_sendv_nonb): function for calling writev | |
2301 | with appropriate iovec | |
2302 | ||
2303 | * ircd/os_generic.c (os_sendv_nonb): function for calling writev | |
2304 | with appropriate iovec | |
2305 | ||
2306 | * ircd/os_bsd.c (os_sendv_nonb): function for calling writev with | |
2307 | appropriate iovec | |
2308 | ||
2309 | * ircd/msgq.c (msgq_mapiov): add a len_p argument for totalling up | |
2310 | exactly how much we're trying to write out to the fd | |
2311 | ||
2312 | * include/s_bsd.h: make deliver_it take a struct MsgQ | |
2313 | ||
2314 | * include/msgq.h: add a len_p argument to msgq_mapiov to help | |
2315 | detect short writes that indicate possible socket blocking | |
2316 | ||
2317 | * include/ircd_osdep.h: declare os_sendv_nonb() | |
2318 | ||
2319 | * ircd/channel.c (modebuf_mode): don't add empty modes... | |
2320 | ||
2321 | 2000-12-08 Kevin L. Mitchell <klmitch@mit.edu> | |
2322 | ||
2323 | * include/send.h: add prio argument to send_buffer to select | |
2324 | between normal and priority queues | |
2325 | ||
2326 | * ircd/s_user.c (send_user_info): add prio argument to send_buffer | |
2327 | call | |
2328 | ||
2329 | * ircd/m_ison.c (m_ison): add prio argument to send_buffer call | |
2330 | ||
2331 | * ircd/ircd_reply.c (send_reply): add prio argument to send_buffer | |
2332 | call | |
2333 | ||
2334 | * ircd/channel.c (send_channel_modes): add prio argument to | |
2335 | send_buffer call | |
2336 | ||
2337 | * ircd/send.c (send_buffer): add a prio argument to select the | |
2338 | priority queue; update send.c functions to use it | |
2339 | ||
2340 | * ircd/msgq.c (msgq_add): remove msgq_prio; fold msgq_link and | |
2341 | msgq_add; add a prio argument to msgq_add to select the priority | |
2342 | queue | |
2343 | ||
2344 | * include/msgq.h: remove msgq_prio; add a prio argument to | |
2345 | msgq_add | |
2346 | ||
2347 | * ircd/send.c: remove sendbuf; remove GODMODE code; switch to | |
2348 | using msgq functions instead of dbuf functions; remove old, dead | |
2349 | sendto_* functions; redo send_buffer to take a struct MsgBuf; | |
2350 | rework sendcmdto_* functions to make use of the new struct MsgBuf | |
2351 | ||
2352 | * ircd/s_user.c: remove hunt_server; restructure send_user_info to | |
2353 | make appropriate use of struct MsgBuf | |
2354 | ||
2355 | * ircd/s_debug.c (count_memory): count memory used by the MsgQ | |
2356 | system and report it | |
2357 | ||
2358 | * ircd/s_conf.c (read_configuration_file): use | |
2359 | sendto_opmask_butone instead of the now dead sendto_op_mask | |
2360 | ||
2361 | * ircd/s_bsd.c: switch to using appropriate MsgQLength and other | |
2362 | calls on sendQ | |
2363 | ||
2364 | * ircd/parse.c (parse_server): get rid of a piece of GODMODE code | |
2365 | ||
2366 | * ircd/msgq.c: add msgq_append and msgq_bufleft; fix a bug in | |
2367 | msgq_clean | |
2368 | ||
2369 | * ircd/m_version.c: fix spelling in comments marking dead code | |
2370 | ||
2371 | * ircd/m_userip.c (userip_formatter): restructure to make use of | |
2372 | struct MsgBuf | |
2373 | ||
2374 | * ircd/m_userhost.c (userhost_formatter): restructure to make use | |
2375 | of struct MsgBuf | |
2376 | ||
2377 | * ircd/m_stats.c: use MsgQLength on a sendQ | |
2378 | ||
2379 | * ircd/m_settime.c: use MsgQLength instead of DBufLength on a | |
2380 | sendQ; mark a piece of dead code | |
2381 | ||
2382 | * ircd/m_names.c: use send_reply instead of sendto_one | |
2383 | ||
2384 | * ircd/m_mode.c: use new mode; remove old dead code | |
2385 | ||
2386 | * ircd/m_ison.c (m_ison): restructure to make use of struct MsgBuf | |
2387 | ||
2388 | * ircd/m_burst.c: use BUFSIZE instead of IRC_BUFSIZE; remove old | |
2389 | dead code | |
2390 | ||
2391 | * ircd/listener.c (accept_connection): use sendto_opmask_butone | |
2392 | instead of sendto_op_mask | |
2393 | ||
2394 | * ircd/list.c (free_client): use MsgQClear to clear sendQ | |
2395 | ||
2396 | * ircd/ircd_reply.c: remove send_error_to_client; restructure | |
2397 | send_reply to make use of struct MsgBuf | |
2398 | ||
2399 | * ircd/dbuf.c (dbuf_put): remove argument to flush_sendq_except, | |
2400 | since its no longer used (at least currently) | |
2401 | ||
2402 | * ircd/channel.c: restructure send_channel_modes to make use of | |
2403 | struct MsgBuf; remove set_mode, add_token_to_sendbuf, cancel_mode, | |
2404 | and send_hack_notice; use BUFSIZE instead of IRC_BUFSIZE | |
2405 | ||
2406 | * ircd/Makefile.in: add msgq.c to list of sources; run make depend | |
2407 | ||
2408 | * ircd/IPcheck.c: use sendcmdto_one instead of sendto_one | |
2409 | ||
2410 | * include/send.h: send_buffer now takes a struct MsgBuf * instead | |
2411 | of a char *; flush_sendq_except now takes no arguments, as sendq | |
2412 | flushing currently only happens in dbuf.h and sendQ is a struct | |
2413 | MsgQ; remove prototypes for a lot of old sendto_* functions that | |
2414 | aren't used anymore; remove sendbuf and IRC_BUFSIZE--the former is | |
2415 | no longer needed, and the latter is identical to BUFSIZE in | |
2416 | ircd_defs.h | |
2417 | ||
2418 | * include/s_user.h: make InfoFormatter take a struct MsgBuf* | |
2419 | instead of a char *; also make it return void, instead of char * | |
2420 | ||
2421 | * include/msgq.h: add msgq_append and msgq_bufleft functions | |
2422 | ||
2423 | * include/client.h: use a struct MsgQ instead of a struct DBuf for | |
2424 | sendq | |
2425 | ||
2426 | * doc/Configure.help: Remove help for compile-time options that | |
2427 | have gone away | |
2428 | ||
2429 | * config/config-sh.in: remove CONFIG_NEWMODE | |
2430 | ||
2431 | * ircd/m_server.c (mr_server): don't send server IPs in any server | |
2432 | notices | |
2433 | ||
2434 | * ircd/msgq.c (msgq_vmake): add \r\n to messages | |
2435 | ||
2436 | 2000-12-07 Kevin L. Mitchell <klmitch@mit.edu> | |
2437 | ||
2438 | * include/msgq.h: declare the MsgQ API | |
2439 | ||
2440 | * ircd/msgq.c: implementation of new MsgQ system | |
2441 | ||
2442 | 2000-12-06 Kevin L. Mitchell <klmitch@mit.edu> | |
2443 | ||
2444 | * ircd/ircd_features.c: #include was supposed to be for | |
2445 | ircd_features.h, not features.h--missed when I had to do a | |
2446 | rename because of namespace collision | |
2447 | ||
2448 | 2000-12-05 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
2449 | * ircd/m_topic.c: Added missing braces that caused all remote | |
2450 | topics to be ignored. | |
2451 | ||
2452 | 2000-12-04 Kevin L. Mitchell <klmitch@mit.edu> | |
2453 | ||
2454 | * ircd/m_create.c: I'm tired of the exit_client warning :) | |
2455 | (ms_create): discovered that exit_client() was being called with | |
2456 | too few arguments | |
2457 | ||
2458 | * ircd/s_misc.c (exit_client): remove all dependance on | |
2459 | FNAME_USERLOG, since that's now gone; log only to LS_USER | |
2460 | ||
2461 | * ircd/s_debug.c: USE_SYSLOG no longer means anything | |
2462 | ||
2463 | * ircd/m_oper.c (m_oper): no longer log to LS_OPERLOG--we already | |
2464 | log to LS_OPER | |
2465 | ||
2466 | * ircd/m_kill.c: no longer conditionalize on SYSLOG_KILL | |
2467 | ||
2468 | * ircd/ircd_log.c: remove LS_OPERLOG, LS_USERLOG | |
2469 | ||
2470 | * include/ircd_log.h: remove LS_OPERLOG, LS_USERLOG--they serve | |
2471 | the same purpose as LS_USER and LS_OPER | |
2472 | ||
2473 | * config/config-sh.in: remove no longer relevant log config | |
2474 | variables | |
2475 | ||
2476 | * ircd/uping.c (uping_init): use log_write instead of ircd_log | |
2477 | ||
2478 | * ircd/s_misc.c (exit_client): use log_write instead of ircd_log | |
2479 | ||
2480 | * ircd/s_conf.c: use log_write instead of ircd_log | |
2481 | ||
2482 | * ircd/s_bsd.c (report_error): use log_write instead of ircd_log | |
2483 | ||
2484 | * ircd/s_auth.c (timeout_auth_queries): use log_write instead of | |
2485 | ircd_log | |
2486 | ||
2487 | * ircd/res.c (send_res_msg): use log_write instead of ircd_log | |
2488 | ||
2489 | * ircd/m_who.c: use log_write instead of write_log; no longer | |
2490 | conditionalize on WPATH; mark dead ircd_log calls | |
2491 | ||
2492 | * ircd/m_uping.c: mark dead ircd_log call | |
2493 | ||
2494 | * ircd/m_server.c (mr_server): use log_write instead of ircd_log | |
2495 | ||
2496 | * ircd/m_restart.c: use log_write instead of ircd_log; mark dead | |
2497 | ircd_log calls | |
2498 | ||
2499 | * ircd/m_rehash.c (mo_rehash): use log_write instead of ircd_log | |
2500 | ||
2501 | * ircd/m_oper.c: use log_write instead of ircd_log; no longer | |
2502 | conditionalize on FNAME_OPERLOG; mark dead ircd_log calls | |
2503 | ||
2504 | * ircd/m_kill.c: mark dead ircd_log calls | |
2505 | ||
2506 | * ircd/m_connect.c: use log_write instead of ircd_log; mark dead | |
2507 | ircd_log | |
2508 | ||
2509 | * ircd/m_clearmode.c: use log_write instead of write_log; no | |
2510 | longer conditionalize on OPATH | |
2511 | ||
2512 | * ircd/jupe.c: use log_write instead of write_log; no longer | |
2513 | conditionalize on JPATH | |
2514 | ||
2515 | * ircd/ircd_log.c: add USER subsystem; remove ircd_log() compat | |
2516 | function; fix a couple of bugs | |
2517 | ||
2518 | * ircd/ircd_alloc.c: fixed a comment | |
2519 | ||
2520 | * ircd/ircd.c: use log_write instead of ircd_log; fold server | |
2521 | notice generation in a couple of cases | |
2522 | ||
2523 | * ircd/gline.c: use log_write instead of write_log; no longer | |
2524 | conditionalize on GPATH | |
2525 | ||
2526 | * ircd/channel.c (modebuf_flush_int): use log_write instead of | |
2527 | write_log; no longer conditionalize on OPATH | |
2528 | ||
2529 | * ircd/Makefile.in: run make depend, since dependencies have | |
2530 | changed | |
2531 | ||
2532 | * doc/example.conf: add system USER to documentation | |
2533 | ||
2534 | * include/ircd_log.h: add system USER; remove old ircd_log() | |
2535 | declarations | |
2536 | ||
2537 | 2000-12-04 Isomer <isomer@coders.net> | |
2538 | * ircd/m_names.c: Add NAMES_EON to do_names to say add a | |
2539 | 'end_of_names' reply when done. | |
2540 | * ircd/m_join.c: use NAMES_EON as mentioned above | |
2541 | ||
2542 | 2000-12-01 net <simms@LUCIDA.QC.CA> | |
2543 | ||
2544 | * ircd/motd.c: add a freelist for struct Motds | |
2545 | ||
2546 | 2000-11-30 Kevin L. Mitchell <klmitch@mit.edu> | |
2547 | ||
2548 | * ircd/s_stats.c (report_feature_list): report features--only | |
2549 | local opers can see logging configuration, since it doesn't really | |
2550 | mean anything to users | |
2551 | ||
2552 | * ircd/s_err.c: add reply messages for new feature subsystem | |
2553 | ||
2554 | * ircd/s_conf.c: add F lines to .conf | |
2555 | ||
2556 | * ircd/parse.c: add the message descriptions for /set, /reset, and | |
2557 | /get | |
2558 | ||
2559 | * ircd/m_stats.c: add /stats f | |
2560 | ||
2561 | * ircd/m_set.c (mo_set): implement /set | |
2562 | ||
2563 | * ircd/m_reset.c (mo_reset): implement /reset | |
2564 | ||
2565 | * ircd/m_rehash.c: /rehash m now flushes MOTD cache, and /rehash l | |
2566 | reopens log files (for log file rotation) | |
2567 | ||
2568 | * ircd/m_get.c (mo_get): implement /get | |
2569 | ||
2570 | * ircd/ircd_log.c: use int instead of void return value; add | |
2571 | log_report_features() and log_canon(); fix a function that | |
2572 | disappears if DEBUGMODE not #define'd | |
2573 | ||
2574 | * ircd/ircd_features.c: functions to manipulate feature settings | |
2575 | either from the config file or with the new /set, /reset, and /get | |
2576 | commands | |
2577 | ||
2578 | * ircd/Makefile.in: add new .c files, run make depend | |
2579 | ||
2580 | * include/s_stats.h: declare report_feature_list() (/stats f | |
2581 | handler) | |
2582 | ||
2583 | * include/numeric.h: add RPL_STATSFLINE, RPL_FEATURE, | |
2584 | ERR_NOFEATURE, ERR_BADLOGTYPE, ERR_BADLOGSYS, and ERR_BADLOGVALUE | |
2585 | reply numerics | |
2586 | ||
2587 | * include/msg.h: add defines for SET, RESET, and GET | |
2588 | ||
2589 | * include/ircd_log.h: add a function to canonicalize subsystem | |
2590 | names; change some void return values to int | |
2591 | ||
2592 | * include/ircd_features.h: new features subsystem handles all the | |
2593 | manipulation of special features, like log files | |
2594 | ||
2595 | * include/handlers.h: declare new mo_{s,res,g}et message handlers | |
2596 | for fiddling with features run-time | |
2597 | ||
2598 | * include/client.h (SNO_DEFAULT): don't set SNO_DEBUG by default; | |
2599 | seemed like a good idea at the time... | |
2600 | ||
2601 | * doc/example.conf: document new F lines | |
2602 | ||
2603 | 2000-11-29 Kevin L. Mitchell <klmitch@mit.edu> | |
2604 | ||
2605 | * ircd/s_debug.c: rewrite debug_init() and vdebug() in terms of | |
2606 | new logging functions, which have special support for the debug | |
2607 | log; added loop detection to vdebug(), so that I can | |
2608 | sendto_opmask_butone() from log_vwrite() without incurring another | |
2609 | call to vdebug() | |
2610 | ||
2611 | * ircd/s_conf.c (rehash): call log_reopen() from rehash routine; | |
2612 | this allows log file rotations | |
2613 | ||
2614 | * ircd/m_kill.c: call log_write_kill() instead of ircd_log_kill() | |
2615 | ||
2616 | * ircd/ircd_log.c: much more work fleshing out the interface; | |
2617 | removed old interface; included backwards-compat ircd_log() | |
2618 | function that logs to subsystem LS_OLDLOG | |
2619 | ||
2620 | * ircd/ircd.c: switch to new log_init()/log_close()/log_reopen() | |
2621 | functions | |
2622 | ||
2623 | * include/ircd_log.h: include stdarg.h for va_list; move ordering | |
2624 | warning to top of file; fill out LogSys enum; declare new | |
2625 | log_debug_init(), log_vwrite(), log_write_kill(), and | |
2626 | log_[sg]et_*() functions; add flags argument to log_write(); | |
2627 | defined flags to inhibit various logging actions | |
2628 | ||
2629 | * include/client.h: added support for new SNO_DEBUG, enabled only | |
2630 | if DEBUGMODE is defined | |
2631 | ||
2632 | 2000-11-28 Kevin L. Mitchell <klmitch@mit.edu> | |
2633 | ||
2634 | * ircd/ircd_log.c: make sure the various LOG_* constants are | |
2635 | defined (probably not needed, since #include <syslog.h> isn't | |
2636 | conditional); various static data needed for the new logging | |
2637 | functions; definitions of new logging functions | |
2638 | ||
2639 | * include/ircd_log.h: new LogSys enum, declarations for part of | |
2640 | new logging API | |
2641 | ||
2642 | * ircd/motd.c: we were setting type to MOTD_CLASS unconditionally, | |
2643 | which was of course stupid; switched to using switch/case in | |
2644 | initialization in motd_create(); zero the MotdList.other pointer | |
2645 | from motd_clear() | |
2646 | ||
2647 | * ircd/ircd.c (main): motd_init() has to come before init_conf(), | |
2648 | or we overwrite init_conf()'s hard work with respect to T-lines | |
2649 | ||
2650 | 2000-11-27 Kevin L. Mitchell <klmitch@mit.edu> | |
2651 | ||
2652 | * ircd/s_stats.c: comment out report_motd_list and include a | |
2653 | reference to motd_report() | |
2654 | ||
2655 | * ircd/s_conf.c: rip out the old MOTD manipulation functions; call | |
2656 | motd_add() from the conf parser; call motd_clear() from the rehash | |
2657 | routine; remove the no longer needed memory clearing and reloading | |
2658 | stuff from the rehash service routine | |
2659 | ||
2660 | * ircd/motd.c: loads new API, including static internal functions | |
2661 | to do allocation/deallocation, etc. | |
2662 | ||
2663 | * ircd/m_stats.c: use new motd_report() instead of | |
2664 | report_motd_list() | |
2665 | ||
2666 | * ircd/m_motd.c: use new syntax for motd_send() | |
2667 | ||
2668 | * ircd/ircd.c: use new motd_init() function | |
2669 | ||
2670 | * ircd/Makefile.in (SRC): forgot to add motd.c to SRC in | |
2671 | Makefile.(in); also ran make depend | |
2672 | ||
2673 | * include/motd.h: don't need config.h, but now do need time.h; | |
2674 | define new structures and constants; redefine old API and define | |
2675 | new functions | |
2676 | ||
2677 | 2000-11-22 Kevin L. Mitchell <klmitch@mit.edu> | |
2678 | ||
2679 | * ircd/s_user.c (register_user): use motd_signon() instead of | |
2680 | calling m_motd; much cleaner this way | |
2681 | ||
2682 | * ircd/motd.c: write the new motd_* stuff to make MOTD handling | |
2683 | less of a crock | |
2684 | ||
2685 | * ircd/m_motd.c: rewrite m{,s}_motd to call out to new motd_* | |
2686 | functions | |
2687 | ||
2688 | * include/motd.h: define new MOTD API stuff | |
2689 | ||
2690 | 2000-11-20 Kevin L. Mitchell <klmitch@mit.edu> | |
2691 | ||
2692 | * ircd/ircd_reply.c (protocol_violation): rewrite | |
2693 | protocol_violation so it'll actually work | |
2694 | ||
2695 | oh, yeah, use %s -> cptr->name, instead of %c -> cptr, so we get | |
2696 | the client's real name in there. | |
2697 | ||
2698 | * ircd/m_motd.c (m_motd): Iso's addition of get_client_class(sptr) | |
2699 | resulted in core dumps if NODEFAULTMOTD is defined, because m_motd | |
2700 | gets called from register_user with a NULL sptr. This is probably | |
2701 | a design problem, but this bandaid will do for now... | |
2702 | ||
2703 | 2000-11-19 Isomer <isomer@coders.net> | |
2704 | * ircd/ircd_reply.c: added 'protocol_violation', thus alerting us | |
2705 | to problems in the server<->server protocol. | |
2706 | ||
2707 | * ircd/m_connect.c: allow remote connects with a port of '0' | |
2708 | meaning to use the port in the config file. | |
2709 | ||
2710 | * ircd/m_create.c: Enable hacking protection, lets see how far we | |
2711 | get. | |
2712 | ||
2713 | * ircd/m_error.c: The RFC says never accept ERROR from unreg'd | |
2714 | clients, so we don't any more. | |
2715 | ||
2716 | * ircd/m_kill.c: The kill path is now made up of numnicks of servers, | |
2717 | and the user@host is displayed of the victim. | |
2718 | ||
2719 | * ircd/m_map.c: reloaded 'dump_map'. | |
2720 | ||
2721 | * ircd/m_trace.c: allow per class T: | |
2722 | ||
2723 | * ircd/m_stats.c: allow local opers /remote stats anywhere on the 'net. | |
2724 | ||
2725 | 2000-11-17 Isomer <isomer@coders.net> | |
2726 | ||
2727 | * ircd/m_topic.c: Fixed bug where we'd only send to clients topics | |
2728 | that were the *same* instead of different. Oh the embarrasment! | |
2729 | ||
2730 | * ircd/IPcheck.c: Merged net's fix. | |
2731 | ||
2732 | 2000-11-02 Kevin L. Mitchell <klmitch@mit.edu> | |
2733 | ||
2734 | * ircd/m_whois.c: remove compiler warning by adding a newline to | |
2735 | end of file | |
2736 | ||
2737 | * ircd/m_names.c: moved the flags up to s_user.h | |
2738 | ||
2739 | * ircd/m_join.c: call do_names instead of m_names; restructure | |
2740 | ms_join to never transmute a JOIN into a CREATE, but use the TS in | |
2741 | the JOIN (if present) to timestamp the channel | |
2742 | ||
2743 | * ircd/channel.c: send JOINs individually, instead of grouping | |
2744 | them, so that we can send the channel's creation time | |
2745 | ||
2746 | * include/s_user.h: declare do_names() | |
2747 | ||
2748 | 2000-10-30 Isomer <isomer@coders.net> | |
2749 | * ircd/m_oper.c: Fixed warning | |
2750 | ||
2751 | 2000-10-30 Isomer <isomer@coders.net> | |
2752 | * ircd/m_oper.c: Fixed over agressive cut and no paste | |
2753 | ||
2754 | 2000-10-30 Isomer <isomer@coders.net> | |
2755 | ||
2756 | * ircd/m_topic.c: Restructured, fixed bug where topics on local | |
2757 | channels are propergated (I forget who pointed this out to me, but | |
2758 | thanks anyway). Also to save bandwidth don't send the topic to | |
2759 | users if the topic is already the same on the server (but still | |
2760 | propergate to other servers). X/W's "autotopic" feature must | |
2761 | chew a lot of bandwidth, hopefully this will help reduce this. | |
2762 | ||
2763 | * doc/rfc1459.rfc: Updated documentation on /topic. | |
2764 | ||
2765 | * ircd/listener.c: snotice warnings about failed accept()'s | |
2766 | potentially warning admins that they're running out of fd's. | |
2767 | ||
2768 | * ircd/stats.c, ircd/class.c: Removed /stats v, added number of | |
2769 | people in a class in /stats y | |
2770 | ||
2771 | * ircd/m_create.c: Checks for timewarp hacking and squit's | |
2772 | evil servers. (currently disabled) | |
2773 | ||
2774 | ||
2775 | 2000-10-30 net <simms@lucida.qc.ca> | |
2776 | ||
2777 | * ircd/gline.c: Fixed various bugs Isomer left behind. | |
2778 | ||
2779 | 2000-10-26 Kevin L. Mitchell <klmitch@mit.edu> | |
2780 | ||
2781 | * ircd/m_join.c (m_join): reply on attempt to join a BADCHANed | |
2782 | channel is now ERR_BANNEDFROMCHAN instead of ERR_BADCHANNAME | |
2783 | ||
2784 | 2000-10-24 Kevin L. Mitchell <klmitch@mit.edu> | |
2785 | ||
2786 | * ircd/channel.c: ok, now last mode rules; mode +ps will always | |
2787 | result in +s (and won't send a mode if the channel is already +s); | |
2788 | mode +sp will always result in +p; -n+n on a +n channel results in | |
2789 | no mode change; -n+n on a -n channel results in a +n mode change; | |
2790 | etc. | |
2791 | ||
2792 | 2000-10-23 Kevin L. Mitchell <klmitch@mit.edu> | |
2793 | ||
2794 | * ircd/channel.c: add "add" and "del" elements to ParseState to | |
2795 | avoid not-too-pretty -p+s when +s is sufficient; fix a bug in | |
2796 | mode_parse_limit that caused it to clear all channel modes | |
2797 | prematurely; restructure mode_parse_mode to avoid calling | |
2798 | modebuf_mode too early (ties in with first mentioned change); | |
2799 | better logic for +p/+s mutual exclusivity; initialize "add" and | |
2800 | "del" elements in mode_parse; send simple modes down to | |
2801 | modebuf_mode after the loop in mode_parse | |
2802 | ||
2803 | 2000-09-28 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
2804 | * ircd/m_names.c: Fixed a non-lethal logic error that | |
2805 | triggers an assert() in find_member_link while debugging. | |
2806 | (Spotted by Maniac-). | |
2807 | 2000-09-19 Thomas Helvey <helveytw@home.com> | |
2808 | * ircd/s_conf.c: move K:lines to their own list and data | |
2809 | structures, add supporting code. | |
2810 | * ircd/m_stats.c: cleanup stats processing a bit move | |
2811 | kline listing code to a new function, haven't figured | |
2812 | out where it goes yet tho' | |
2813 | * ircd/s_stats.c: added K:line bulk lister | |
2814 | * include/s_conf.h: added new DenyConf struct | |
2815 | * *[ch]: fixeup code that depended on changes | |
2816 | ||
2817 | 2000-09-17 Thomas Helvey <helveytw@home.com> | |
2818 | * ircd/class.c: encapsulate class list | |
2819 | * include/class.h: clean up classes | |
2820 | * * fixup code that depended on changes | |
2821 | ||
2822 | 2000-09-17 Thomas Helvey <helveytw@home.com> | |
2823 | * ircd/s_conf.c: add me to local conf | |
2824 | * include/s_conf.h: move CONF_ME macro to chkconf.c | |
2825 | * ircd/s_bsd.c: cleanup initialization, allow virtual host | |
2826 | to be changed by rehash | |
2827 | ||
2828 | 2000-09-17 Thomas Helvey <helveytw@home.com> | |
2829 | * include/class.h: add missing prototype | |
2830 | * ircd/class.c: make argument to get_conf_class const | |
2831 | ||
2832 | 2000-09-17 Thomas Helvey <helveytw@home.com> | |
2833 | * ircd/*.c: merged in changes from 2.10.10.pl12, cleanup | |
2834 | merge conflicts. | |
2835 | * ircd/*.h: merged in changes from 2.10.10.pl12, cleanup | |
2836 | merge conflicts | |
2837 | ||
2838 | 2000-09-16 Thomas Helvey <helveytw@home.com> | |
2839 | * ircd/s_conf.c: add code for server struct | |
2840 | * ircd/client.c: copy of class.c sort of, new file for client | |
2841 | specific operations, will move things here as appropriate, | |
2842 | currently only one function is exported from here. | |
2843 | * ircd/*.c: general logic cleanups, convert negatives to | |
2844 | positives in places. | |
2845 | ||
2846 | 2000-09-16 Thomas Helvey <helveytw@home.com> | |
2847 | * ircd/s_conf.c: add code for new crule data structs, strip quotes | |
2848 | * ircd/crule.c: clean up scary casting a bit, type safety stuff | |
2849 | * include/s_conf.h: add CRuleConf struct and support, remove | |
2850 | unused constants | |
2851 | * include/crule.h: type safety cleanups | |
2852 | * ircd/*.c: fixup code that depended on stuff I changed | |
2853 | ||
2854 | 2000-09-15 Thomas Helvey <helveytw@home.com> | |
2855 | * ircd/s_conf.c: start adding code for new conf data structs, changed | |
2856 | listeners, admin line, motd lines, class lines. Move validate_hostent | |
2857 | to resolver. General mayhem. | |
2858 | * include/s_conf.h: new data structs and accessors | |
2859 | * ircd/res.c: move validate_hostent here, rewrite, use regular | |
2860 | expression for validation. | |
2861 | * doc/example.conf: update docs for port | |
2862 | ||
2863 | 2000-09-14 Thomas Helvey <helveytw@home.com> | |
2864 | * ircd/s_conf.c (conf_init): rewrite conf file parser, start to break | |
2865 | up conf_init into managable chunks. | |
2866 | * ircd/listener.c (set_listener_mask): fix logic bug core dump. | |
2867 | * include/s_conf.h: add new data struct for local info (unwinding the mess). | |
2868 | ||
2869 | 2000-09-13 Thomas Helvey <helveytw@home.com> | |
2870 | * ircd/list.c: put Clients in free lists, pre-allocate MAXCONNECTIONS | |
2871 | local clients. | |
2872 | * ircd/list.c: put SLinks in free lists | |
2873 | * ircd/channel.c: put Memberships in free lists | |
2874 | * ircd/ircd.c: rearrange initializations a bit in main | |
2875 | Note: With these changes, ircd NEVER frees Clients, SLinks or | |
2876 | Memberships. It will also rarely need to allocate new | |
2877 | ones during net bursts and other disruptions. This should | |
2878 | cut down on memory fragmentation a bit as well. | |
2879 | ||
2880 | 2000-08-30 Kevin L. Mitchell <klmitch@mit.edu> | |
2881 | ||
2882 | * ircd/m_names.c (do_names): pull-up from do_names fix in | |
2883 | u2.10.10.pl11 | |
2884 | ||
2885 | 2000-07-15 Perry Lorier <Isomer@coders.net> | |
2886 | * various: IP only k:'s and G:'s now do bit tests instead of two(!) | |
2887 | match()'s. Major Major cpu savings. Also speed up the | |
2888 | other case slightly. As a side effect you can now | |
2889 | k/Gline *@10.0.0.0/8. I'll do bans tomorrow, it's nearing | |
2890 | 3am. | |
2891 | ||
2892 | 2000-07-15 Perry Lorier <Isomer@coders.net> | |
2893 | * various: Fixed warnings after compiling on an alpha. | |
2894 | 2000-07-09 Perry Lorier <Isomer@coders.net> | |
2895 | * doc/ircd.8: Applied grammitical changes by Liandrin, applied | |
2896 | changes suggested by various other people. | |
2897 | * ircd/IPcheck.c: More bug fixes. Current problem appears to be | |
2898 | that it gets a corrupt entry somehow. | |
2899 | 2000-07-09 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
2900 | * ircd/m_oper.c: Clean up compiler warning. | |
2901 | ||
2902 | 2000-07-08 Perry Lorier <Isomer@coders.net> | |
2903 | * doc/ircd.8: Updated the documentation, it was slightly out of date | |
2904 | being updated around 1989. | |
2905 | * ircd/m_whois.c: Rewrote for clarity, and probably a bit more speed. | |
2906 | fixed a few minor glitches. | |
2907 | * doc/rfc1459.unet: Updated. | |
2908 | * ircd/IPcheck.c: Fixed more bugs. | |
2909 | * ircd/s_bsd.c: We now keep track of servers we've conected. | |
2910 | ||
2911 | 2000-07-02 Perry Lorier <Isomer@coders.net> | |
2912 | * ircd/s_misc.c: Fixed remote IPcheck bug. Ok, I'm a moron, so sue | |
2913 | me. Thanks to Hektik, thanks thanks thanks thanks | |
2914 | thanks thanks thanks thanks thank thanks thank thanks | |
2915 | ||
2916 | 2000-07-01 Perry Lorier <Isomer@coders.net> | |
2917 | * ircd/s_conf.c: "Fixed" the "bug" where people would "evade" K:'s. | |
2918 | * ircd/s_conf.c, include/IPcheck.h: Fixed compile warnings. | |
2919 | ||
2920 | 2000-06-22 Perry Lorier <Isomer@coders.net> | |
2921 | * ircd/IPcheck.c: Large chunks redone. | |
2922 | * ircd/s_conf.c: Changes due to IPcheck - ONE nolonger supported, | |
2923 | single AND double digit limits are allowed now. | |
2924 | * misc other: Changes to IPcheck. | |
2925 | ||
2926 | 2000-06-30 Perry Lorier <Isomer@coders.net> | |
2927 | * ircd/ircd.c: Fix command line parameter bugs. | |
2928 | ||
2929 | 2000-06-30 Perry Lorier <Isomer@coders.net> | |
2930 | * ircd/m_kill.c: Fixed bug with LOCAL_KILL_ONLY | |
2931 | * ircd/m_nick.c: Tidied things up. | |
2932 | ||
2933 | 2000-06-12 Joseph Bongaarts <foxxe@trms.com> | |
2934 | * ircd/m_stats.c: Iso forgot mo_stats when he added /stats v | |
2935 | ||
2936 | 2000-05-29 Perry Lorier <Isomer@coders.net> | |
2937 | * ircd/m_stats.c: add /stats v to do only the last part of the /trace | |
2938 | * ircd/IPcheck.c: Cosmetic change, if we meddle with it enough do | |
2939 | you think it'll get bored and fix itself? | |
2940 | ||
2941 | 2000-06-09 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
2942 | ||
2943 | * ircd/m_names.c: Clean up compiler warnings. | |
2944 | ||
2945 | 2000-06-09 Kevin L. Mitchell <klmitch@mit.edu> | |
2946 | ||
2947 | * ircd/channel.c (mode_parse_client): don't send warning if | |
2948 | there's not enough arguments for a +/-o/v; means the habit of | |
2949 | doing "/mode #channel +oooooo bob" doesn't result in a bunch of | |
2950 | error messages | |
2951 | ||
2952 | 2000-06-04 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
2953 | ||
2954 | * ircd/m_names.c: Re-factor code to remove unneccessary | |
2955 | GlobalChannelList iteration every time someone joins a channel. | |
2956 | ||
2957 | 2000-06-02 Kevin L. Mitchell <klmitch@mit.edu> | |
2958 | ||
2959 | * ircd/s_user.c: add struct Gline * argument to register_user; | |
2960 | look up global glines and repropagate them if necessary; send | |
2961 | acknowledgement of gline to remote servers when registering users | |
2962 | ||
2963 | * ircd/s_serv.c (server_estab): don't send acknowledgement of | |
2964 | local glines to remote servers; do send gline acknowledgement of | |
2965 | bursted users | |
2966 | ||
2967 | * ircd/m_user.c (m_user): pass new struct Gline * argument to | |
2968 | register_user | |
2969 | ||
2970 | * ircd/m_pong.c: pass new struct Gline * argument to register_user | |
2971 | ||
2972 | * ircd/m_nick.c (ms_nick): document protocol change | |
2973 | ||
2974 | * ircd/gline.c: support GLINE_LASTMOD | |
2975 | ||
2976 | * include/s_user.h: add struct Gline * argument to register_user | |
2977 | ||
2978 | * include/gline.h: add GLINE_LASTMOD to look up non-zero lastmods | |
2979 | ||
2980 | * ircd/s_conf.c (find_kill): add unsigned int argument to | |
2981 | gline_lookup() | |
2982 | ||
2983 | * ircd/gline.c: add GLINE_GLOBAL to lookup or find only global | |
2984 | glines; add unsigned int argument to gline_lookup() | |
2985 | ||
2986 | * include/gline.h: add GLINE_GLOBAL flag; add unsigned int | |
2987 | argument to gline_lookup() | |
2988 | ||
2989 | * ircd/m_server.c: Resend jupe only when there is no %<lastmod> | |
2990 | parameter, or when it falls out of bounds: see comments prior to | |
2991 | call to jupe_resend(); call server_estab with struct Jupe | |
2992 | parameter, so that we place the appropriate %<lastmod> in the | |
2993 | appropriate place. | |
2994 | ||
2995 | * ircd/s_serv.c (server_estab): send %<lastmod> for introduced | |
2996 | server, as well as for servers when we're sending the BURST | |
2997 | ||
2998 | * include/s_serv.h: add a struct Jupe * to the arguments for | |
2999 | server_estab() so that we can send the appropriate lastmod | |
3000 | parameter | |
3001 | ||
3002 | * ircd/m_gline.c (ms_gline): actually, this should be the | |
3003 | slightest bit more efficient... | |
3004 | ||
3005 | * ircd/m_jupe.c (ms_jupe): actually, this should be the slightest | |
3006 | bit more efficient... | |
3007 | ||
3008 | * ircd/m_gline.c (ms_gline): inhibit GLINE processing resends | |
3009 | during netburst | |
3010 | ||
3011 | * ircd/m_jupe.c (ms_jupe): inhibit JUPE processing resends during | |
3012 | netburst | |
3013 | ||
3014 | * ircd/channel.c (joinbuf_join): really remove user from local | |
3015 | channels | |
3016 | ||
3017 | 2000-05-29 Perry Lorier <Isomer@coders.net> | |
3018 | * ircd/m_names.c: Removed redundant space. | |
3019 | * ircd/s_bsd.c: Fixed incorrect syntax on ERROR line. | |
3020 | ||
3021 | 2000-05-18 Kevin L. Mitchell <klmitch@mit.edu> | |
3022 | ||
3023 | * ircd/m_burst.c (ms_burst): er...that should have been a ",", not | |
3024 | a " " | |
3025 | ||
3026 | 2000-05-04 Kevin L. Mitchell <klmitch@mit.edu> | |
3027 | ||
3028 | * ircd/channel.c: replace bogus assertions with returns, which is | |
3029 | logically correct; only wipe out limit/key if they were originally | |
3030 | set in the first place; remove user from channel when doing a | |
3031 | PARTALL; only send MODE +o for user CREATEing channel if user is | |
3032 | not MyUser--CREATE will only be used if the channel did not | |
3033 | originally exist, therefore we can assume no one local is on the | |
3034 | channel anyway, and we don't exactly need for the user to see an | |
3035 | explicit +o for themselves | |
3036 | ||
3037 | * doc/readme.gline: describe the syntax of the GLINE command | |
3038 | ||
3039 | * doc/readme.jupe: update to reflect a couple of changes to JUPE | |
3040 | ||
3041 | * ircd/gline.c: don't propagate local changes | |
3042 | ||
3043 | * ircd/jupe.c: don't propagate local changes | |
3044 | ||
3045 | * ircd/m_gline.c (mo_gline): force local flag when deactivating | |
3046 | glines with 0 lastmod | |
3047 | ||
3048 | * ircd/gline.c (gline_deactivate): G-lines with zero lastmod time | |
3049 | are now removed instead of being deactivated | |
3050 | ||
3051 | * ircd/m_gline.c (ms_gline): make G-lines of the form "GLINE * | |
3052 | -<mask>" be accepted | |
3053 | ||
3054 | * ircd/channel.c (send_channel_modes): deal with one of the last | |
3055 | vestiges of sendbuf | |
3056 | ||
3057 | * ircd/m_burst.c (ms_burst): debugged ban processing; removed | |
3058 | debugging hooks | |
3059 | ||
3060 | * ircd/channel.c (modebuf_extract): remove debugging | |
3061 | sendto_opmask_butone calls | |
3062 | ||
3063 | 2000-05-03 Kevin L. Mitchell <klmitch@mit.edu> | |
3064 | ||
3065 | * ircd/channel.c: support a couple of new flags to support using | |
3066 | mode_parse; fix some bugs with 0 struct ModeBuf *; implementation | |
3067 | of modebuf_extract to extract added flags for use by ms_burst | |
3068 | ||
3069 | * include/channel.h: a couple of new flags to support using | |
3070 | mode_parse inside ms_burst | |
3071 | ||
3072 | * ircd/m_burst.c (ms_burst): brand new implementation of BURST | |
3073 | ||
3074 | * ircd/m_endburst.c: add loop to processing of end_of_burst to | |
3075 | free empty channels after the BURST is over. | |
3076 | ||
3077 | * ircd/m_server.c: convert to use new send.c functions--I wanted | |
3078 | to rewrite it from scratch, but the logic's pretty complex; I may | |
3079 | still rewrite it, though... | |
3080 | ||
3081 | 2000-05-02 Thomas Helvey <tomh@inxpress.net> | |
3082 | ||
3083 | * ircd/ircd.c: fix broken header include ordering | |
3084 | ||
3085 | 2000-05-02 Thomas Helvey <tomh@inxpress.net> | |
3086 | ||
3087 | * ircd/IPcheck.c: cleanups for ZenShadow's cleanups | |
3088 | review emailed privately | |
3089 | ||
3090 | * include/IPcheck.h: removed unneeded include | |
3091 | ||
3092 | 2000-05-02 Kevin L. Mitchell <klmitch@mit.edu> | |
3093 | ||
3094 | * ircd/s_user.c (hunt_server): throw in a comment so I know what | |
3095 | the sendto_one is for | |
3096 | ||
3097 | * include/querycmds.h (Count_unknownbecomesclient): convert to | |
3098 | sendto_opmask_butone | |
3099 | ||
3100 | * ircd/send.c: start removing dead code | |
3101 | ||
3102 | * include/send.h: start removing dead code | |
3103 | ||
3104 | * ircd/m_rping.c: convert to sendcmdto_one / send_reply / | |
3105 | hunt_server_cmd | |
3106 | ||
3107 | * ircd/m_rpong.c: convert to sendcmdto_one / send_reply | |
3108 | ||
3109 | 2000-05-01 Kevin L. Mitchell <klmitch@mit.edu> | |
3110 | ||
3111 | * ircd/m_stats.c: convert to sendcmdto_one / send_reply | |
3112 | ||
3113 | * ircd/m_kick.c: Completely reimplement m_kick | |
3114 | ||
3115 | * ircd/channel.c: send_user_joins removed; it was dead code, | |
3116 | anyway... | |
3117 | ||
3118 | 2000-05-01 Perry Lorier <isomer@coders.net> | |
3119 | * ircd/m_invite.c: Fix for the rest of m_invite.c, and again. | |
3120 | * ircd/channels.c: My fix for the part problem. Untested, probably | |
3121 | won't work. Can't be much worse than the current problem. | |
3122 | it'll either work or core, take your pick. | |
3123 | ||
3124 | ||
3125 | 2000-04-30 Perry Lorier <isomer@coders.net> | |
3126 | * config/config-sh.in: Fix for CONNEXIT | |
3127 | * ircd/s_{user,misc}.c: Fix for CONNEXIT | |
3128 | * ircd/m_invite.c: Fix for incorrectly numnickified invite. | |
3129 | (Kev: Want to come talk to me about this?) | |
3130 | ||
3131 | 2000-04-30 Steven M. Doyle <steven@doyle.net> | |
3132 | * ircd/ircd.c | |
3133 | - general cleanups and readability enhancements | |
3134 | - rewrite of setuid/chroot code. | |
3135 | - server will no longer run as root | |
3136 | - -DPROFIL compile option removed | |
3137 | - Fixed IPcheck API calls | |
3138 | ||
3139 | * config/config-sh.in | |
3140 | - Fixed up chroot compile options | |
3141 | - Added options for debug and profile compiles | |
3142 | ||
3143 | * config/gen.ircd.Makefile | |
3144 | - Support for new debug/profile options | |
3145 | ||
3146 | * ircd/Makefile.in | |
3147 | - Support for new debug/profile options | |
3148 | ||
3149 | * ircd/ircd_signal.c | |
3150 | - Removed -DPROFIL | |
3151 | ||
3152 | * include/IPcheck.h | |
3153 | - Removed old API prototypes, added new ones | |
3154 | ||
3155 | * ircd/IPcheck.c | |
3156 | - Readability cleanups (well, I -think-...) | |
3157 | - Changed IPRegistryEntry.last_connect to a time_t. The previously | |
3158 | used unsigned short was probably causing interesting things after | |
3159 | a client had been connected longer than about 65,535 seconds... | |
3160 | - Removed old API functions. | |
3161 | ||
3162 | * ircd/whocmds.c | |
3163 | - Removed IPcheck.h include | |
3164 | ||
3165 | * Additionally modified IPcheck API calls in: | |
3166 | - ircd/m_nick.c | |
3167 | - ircd/m_auth.c | |
3168 | - ircd/s_bsd.c | |
3169 | - ircd/s_conf.c | |
3170 | - ircd/s_misc.c | |
3171 | - ircd/s_serv.c | |
3172 | - ircd/s_user.c | |
3173 | ||
3174 | ||
3175 | 2000-04-30 Perry Lorier <isomer@coders.net> | |
3176 | * ircd/s_bsd.c: Sigh. :) | |
3177 | * ircd/m_mode.c: fix for modeless channels by poptix. | |
3178 | ||
3179 | 2000-04-29 Kevin L. Mitchell <klmitch@mit.edu> | |
3180 | ||
3181 | * ircd/m_join.c: reimplement JOIN in terms of struct JoinBuf | |
3182 | ||
3183 | * ircd/channel.c (clean_channelname): make clean_channelname also | |
3184 | truncate long channel names | |
3185 | ||
3186 | 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu> | |
3187 | ||
3188 | * ircd/m_create.c: reimplement CREATE in terms of struct JoinBuf | |
3189 | ||
3190 | * ircd/channel.c: implemented joinbuf_init, joinbuf_join, | |
3191 | joinbuf_flush | |
3192 | ||
3193 | * include/channel.h: definitions and declarations for the struct | |
3194 | JoinBuf abstraction | |
3195 | ||
3196 | 2000-04-29 Perry Lorier <isomer@coders.net> | |
3197 | * ircd/s_bsd.c: Ok, so I thought I compiled and tested this... | |
3198 | ||
3199 | 2000-04-29 Perry Lorier <isomer@coders.net> | |
3200 | * ircd/s_bsd.c: Add debugging code to IPcheck | |
3201 | ||
3202 | 2000-04-28 Kevin L. Mitchell <klmitch@mit.edu> | |
3203 | ||
3204 | * include/ircd_reply.h (SND_EXPLICIT): use instead of RPL_EXPLICIT | |
3205 | ||
3206 | * ircd/ircd_reply.c (send_reply): use SND_EXPLICIT instead of | |
3207 | RPL_EXPLICIT | |
3208 | ||
3209 | * ircd/m_userhost.c (m_userhost): add a dead code comment | |
3210 | ||
3211 | * ircd/m_desynch.c: forgot one... | |
3212 | ||
3213 | * ircd/m_rehash.c (mo_rehash): er, duplicates :) | |
3214 | ||
3215 | * ircd/m_proto.c (proto_send_supported): just change a comment so | |
3216 | it doesn't show up in my scans | |
3217 | ||
3218 | * ircd/ircd_reply.c (send_reply): fix a slight bug... | |
3219 | ||
3220 | * ircd/s_numeric.c (do_numeric): use new sendcmdto_* functions, | |
3221 | kinda hackish... | |
3222 | ||
3223 | * ircd/parse.c (parse_server): argument wrangling to make | |
3224 | processing in do_numeric a little easier to deal with | |
3225 | ||
3226 | * ircd/s_serv.c (server_estab): SERVER should come from | |
3227 | acptr->serv->up, not &me | |
3228 | ||
3229 | * ircd/m_lusers.c: accidentally left out sptr for a %C | |
3230 | ||
3231 | * ircd/send.c: hack to support doing wallchops... | |
3232 | ||
3233 | * ircd/m_whowas.c: convert to new send functions | |
3234 | ||
3235 | * ircd/m_whois.c: convert to new send functions | |
3236 | ||
3237 | * ircd/m_who.c: convert to new send functions | |
3238 | ||
3239 | * ircd/m_wallops.c: convert to new send functions | |
3240 | ||
3241 | * ircd/m_wallchops.c: convert to new send functions | |
3242 | ||
3243 | * ircd/m_version.c: convert to new send functions | |
3244 | ||
3245 | * ircd/m_userip.c: convert to new send functions | |
3246 | ||
3247 | * ircd/m_userhost.c: convert to new send functions | |
3248 | ||
3249 | * ircd/m_uping.c: convert to new send functions | |
3250 | ||
3251 | * ircd/m_trace.c: convert to new send functions | |
3252 | ||
3253 | * ircd/m_topic.c: convert to new send functions | |
3254 | ||
3255 | * ircd/m_time.c: convert to new send functions | |
3256 | ||
3257 | * ircd/m_squit.c: convert to new send functions | |
3258 | ||
3259 | * ircd/m_silence.c: convert to new send functions | |
3260 | ||
3261 | * ircd/m_settime.c: convert to new send functions | |
3262 | ||
3263 | * ircd/m_restart.c: convert to new send functions | |
3264 | ||
3265 | * ircd/m_rehash.c: convert to new send functions | |
3266 | ||
3267 | * ircd/m_privmsg.c: convert to new send functions | |
3268 | ||
3269 | * ircd/m_pong.c: convert to new send functions | |
3270 | ||
3271 | * ircd/m_ping.c: convert to new send functions | |
3272 | ||
3273 | * ircd/m_pass.c: convert to new send functions | |
3274 | ||
3275 | * ircd/m_opmode.c: convert to new send functions | |
3276 | ||
3277 | * ircd/m_oper.c: convert to new send functions | |
3278 | ||
3279 | * ircd/m_notice.c: convert to new send functions | |
3280 | ||
3281 | * ircd/m_nick.c: convert to new send functions | |
3282 | ||
3283 | * ircd/m_names.c: convert to new send functions | |
3284 | ||
3285 | * ircd/m_motd.c: convert to new send functions | |
3286 | ||
3287 | * ircd/m_mode.c: convert to new send functions | |
3288 | ||
3289 | * ircd/m_map.c: convert to new send functions | |
3290 | ||
3291 | * ircd/m_lusers.c: convert to new send functions | |
3292 | ||
3293 | * ircd/m_list.c: convert to new send functions | |
3294 | ||
3295 | * ircd/m_links.c: convert to new send functions | |
3296 | ||
3297 | * ircd/m_kill.c: convert to new send functions | |
3298 | ||
3299 | * ircd/m_jupe.c: convert to new send functions | |
3300 | ||
3301 | * ircd/m_invite.c: convert to new send functions | |
3302 | ||
3303 | * ircd/m_info.c: convert to new send functions | |
3304 | ||
3305 | * ircd/m_help.c: convert to new send functions | |
3306 | ||
3307 | * ircd/m_gline.c: convert to new send functions | |
3308 | ||
3309 | * ircd/m_error.c: convert to new send functions | |
3310 | ||
3311 | * ircd/m_endburst.c: convert to new send functions | |
3312 | ||
3313 | * ircd/m_die.c: convert to new send functions | |
3314 | ||
3315 | * ircd/m_destruct.c: convert to new send functions | |
3316 | ||
3317 | * ircd/m_defaults.c: convert to new send functions | |
3318 | ||
3319 | * ircd/m_connect.c: convert to new send functions | |
3320 | ||
3321 | 2000-04-28 Perry Lorier <isomer@coders.net> | |
3322 | * RELEASE.NOTES: Describe a few more undocumented features. | |
3323 | * config/config-sh.in: change the default paths for logging | |
3324 | and the recommended number of channels. | |
3325 | * include/supported.h: Rearrange slightly, added CHANTYPE's | |
3326 | ||
3327 | 2000-04-27 Kevin L. Mitchell <klmitch@mit.edu> | |
3328 | ||
3329 | * ircd/m_close.c: convert to send_reply | |
3330 | ||
3331 | * ircd/m_clearmode.c: convert to send_reply, sendcmdto_serv_butone | |
3332 | ||
3333 | * ircd/m_away.c: convert to send_reply and sendcmdto_serv_butone | |
3334 | ||
3335 | * ircd/m_admin.c: convert to send_reply and hunt_server_cmd | |
3336 | ||
3337 | * ircd/s_user.c (hunt_server_cmd): new hunt_server replacement | |
3338 | that takes cmd and tok arguments, etc. NOTE: THIS IMPLEMENTATION | |
3339 | HAS A MAJOR HACK!!! The whole hunt_server architecture should be | |
3340 | carefully rethought... | |
3341 | ||
3342 | * ircd/s_stats.c (hunt_stats): use new hunt_server_cmd | |
3343 | ||
3344 | * include/s_user.h: hunt_server_cmd -- replacement for hunt_server | |
3345 | ||
3346 | * ircd/s_misc.c: *sigh* 2.10.10 doesn't support squitting by | |
3347 | numeric nick; therefore, we have to use the server name | |
3348 | ||
3349 | * ircd/m_squit.c (ms_squit): allow to squit by server numeric nick | |
3350 | ||
3351 | * ircd/send.c: fix minor bugs | |
3352 | ||
3353 | * ircd/s_user.c (check_target_limit): mark dead code so I filter | |
3354 | it when I grep | |
3355 | ||
3356 | * ircd/s_serv.c (exit_new_server): mark dead code so I filter it | |
3357 | when I grep | |
3358 | ||
3359 | * ircd/parse.c: mark dead code so I filter it when I grep | |
3360 | ||
3361 | * ircd/map.c: mark dead code so I filter it when I grep | |
3362 | ||
3363 | * ircd/ircd.c: mark dead code so I filter it when I grep | |
3364 | ||
3365 | * ircd/ircd_relay.c: convert over to new sendcmdto_*, send_reply | |
3366 | functions | |
3367 | ||
3368 | * ircd/channel.c: mark dead code so I filter it when I grep | |
3369 | ||
3370 | * ircd/s_stats.c: use send_reply instead of sendto_one w/rpl_str; | |
3371 | hope I'm not stepping on toes... | |
3372 | ||
3373 | * ircd/s_conf.c: more sendto_opmask_butone / send_reply | |
3374 | conversions; use ircd_snprintf in a couple of cases to negate the | |
3375 | possibility of buffer overflow | |
3376 | ||
3377 | 2000-04-26 Kevin L. Mitchell <klmitch@mit.edu> | |
3378 | ||
3379 | * ircd/channel.c: convert as much as possible to new send | |
3380 | semantics | |
3381 | ||
3382 | * ircd/send.c (sendcmdto_common_channels): fix a subtle bug -- | |
3383 | test member->user->from->fd, not from->fd | |
3384 | ||
3385 | * ircd/gline.c (gline_add): go ahead and add badchans; we just | |
3386 | won't look for them in m_gline; this way, they always work... | |
3387 | ||
3388 | * ircd/jupe.c: use ircd_vsnprintf conversion specifiers | |
3389 | ||
3390 | * ircd/gline.c: since write_log now uses ircd_vsnprintf, use | |
3391 | ircd_vsnprintf conversion specifiers | |
3392 | ||
3393 | * ircd/support.c (write_log): use ircd_vsnprintf for write_log, so | |
3394 | I have my conversion specifiers | |
3395 | ||
3396 | * ircd/gline.c (do_gline): use send_reply for ERR_YOUREBANNEDCREEP | |
3397 | ||
3398 | * ircd/send.c (sendcmdto_flag_butone): explicitly send WALLOPS to | |
3399 | local users | |
3400 | ||
3401 | * ircd/s_serv.c (exit_new_server): rewrite exit_new_server to be a | |
3402 | little less brain-dead | |
3403 | ||
3404 | * ircd/s_misc.c: use sendcmdto_one, sendrawto_one, and send_reply | |
3405 | ||
3406 | * ircd/s_debug.c: use send_reply with RPL_EXPLICIT for | |
3407 | RPL_STATSDEBUG | |
3408 | ||
3409 | * ircd/res.c (cres_mem): use send_reply with RPL_EXPLICIT for | |
3410 | RPL_STATSDEBUG | |
3411 | ||
3412 | * ircd/list.c (send_listinfo): use send_reply with RPL_EXPLICIT | |
3413 | for RPL_STATSDEBUG | |
3414 | ||
3415 | * ircd/m_pong.c: use RPL_EXPLICIT for ERR_BADPING | |
3416 | ||
3417 | * ircd/ircd.c: use RPL_EXPLICIT for ERR_BADPING | |
3418 | ||
3419 | * ircd/s_user.c (register_user): use RPL_EXPLICIT for | |
3420 | ERR_INVALIDUSERNAME | |
3421 | ||
3422 | * ircd/ircd_reply.c (send_reply): support RPL_EXPLICIT | |
3423 | ||
3424 | * include/ircd_reply.h (RPL_EXPLICIT): somewhat of a hack to mark | |
3425 | a numeric as needing to use an explicit pattern, which will be the | |
3426 | first argument in the variable argument list | |
3427 | ||
3428 | * ircd/s_user.c: use sendrawto_one instead of sendto_one to send | |
3429 | non-prefixed nospoof PING | |
3430 | ||
3431 | * ircd/s_bsd.c: use sendrawto_one instead of sendto_one to send | |
3432 | non-prefixed SERVER login | |
3433 | ||
3434 | * ircd/ircd.c (check_pings): fix last sendto_one calls (except for | |
3435 | a numeric usage further up) | |
3436 | ||
3437 | * include/send.h: declare sendrawto_one | |
3438 | ||
3439 | * ircd/send.c (sendrawto_one): new function to use ONLY for | |
3440 | non-prefixed commands, like PING to client, or PASS/SERVER on | |
3441 | server registration | |
3442 | ||
3443 | 2000-04-25 Kevin L. Mitchell <klmitch@mit.edu> | |
3444 | ||
3445 | * ircd/ircd_snprintf.c (doprintf): implement %H for possible | |
3446 | future expansion (channel numerics?) | |
3447 | ||
3448 | * include/ircd_snprintf.h: added documentation to # to explain use | |
3449 | with %C; added documentation for : to explain use with %C; added | |
3450 | documentation for %H for channels | |
3451 | ||
3452 | * ircd/whocmds.c: use send_reply | |
3453 | ||
3454 | * ircd/userload.c: use sendcmdto_one | |
3455 | ||
3456 | * ircd/uping.c: use sendcmdto_one | |
3457 | ||
3458 | * ircd/send.c: use new flags to %C format string; ':' prefixes | |
3459 | client name with a colon for local connects, '#' uses | |
3460 | nick!user@host form for local connects | |
3461 | ||
3462 | * ircd/s_user.c: use send_reply, sendto_opmask_butone, | |
3463 | sendcmdto_one, sendcmdto_serv_butone, sendcmdto_flag_butone | |
3464 | ||
3465 | * ircd/s_serv.c: use sendcmdto_one, sendto_opmask_butone | |
3466 | ||
3467 | * ircd/s_bsd.c: use sendto_opmask_butone, send_reply, | |
3468 | sendcmdto_one | |
3469 | ||
3470 | * ircd/s_auth.c: use sendto_opmask_butone | |
3471 | ||
3472 | * ircd/res.c: use sendcmdto_one | |
3473 | ||
3474 | * ircd/ircd_snprintf.c (doprintf): minor bug fixes and some | |
3475 | debugging assertions | |
3476 | ||
3477 | 2000-04-24 Kevin L. Mitchell <klmitch@mit.edu> | |
3478 | ||
3479 | * ircd/support.c: dumpcore is no longer used, so get rid of it | |
3480 | ||
3481 | * ircd/parse.c: use send_reply, sendcmdto_one | |
3482 | ||
3483 | * ircd/map.c: use send_reply | |
3484 | ||
3485 | * ircd/listener.c: use send_reply | |
3486 | ||
3487 | * ircd/jupe.c: use sendto_opmask_butone, send_reply | |
3488 | ||
3489 | * ircd/ircd_reply.c: use send_reply | |
3490 | ||
3491 | * ircd/ircd.c: use sendto_opmask_butone | |
3492 | ||
3493 | * ircd/gline.c: use sendto_opmask_butone, send_reply | |
3494 | ||
3495 | * ircd/ircd_snprintf.c (doprintf): make it deal with incompletely | |
3496 | registered clients; make FLAG_ALT print nick!user@host; make | |
3497 | FLAG_COLON print :blah | |
3498 | ||
3499 | * ircd/class.c (report_classes): use send_reply instead of | |
3500 | sendto_one | |
3501 | ||
3502 | * ircd/hash.c (m_hash): replace sendto_one with sendcmdto_one | |
3503 | ||
3504 | * ircd/IPcheck.c (ip_registry_connect_succeeded): replace | |
3505 | sendto_one with sendcmdto_one | |
3506 | ||
3507 | 2000-04-21 Kevin L. Mitchell <klmitch@mit.edu> | |
3508 | ||
3509 | * ircd/send.c: clean up logic in sendcmdto_channel_butone; use | |
3510 | MyConnect() instead of IsServer() in sendcmdto_flag_butone; define | |
3511 | sendcmdto_match_butone | |
3512 | ||
3513 | * include/send.h: declare sendcmdto_match_butone | |
3514 | ||
3515 | 2000-04-20 Kevin L. Mitchell <klmitch@mit.edu> | |
3516 | ||
3517 | * ircd/jupe.c: update to use send_reply() | |
3518 | ||
3519 | * ircd/gline.c: update to use send_reply() | |
3520 | ||
3521 | * include/ircd_reply.h: declare send_reply | |
3522 | ||
3523 | * ircd/ircd_reply.c (send_reply): send_error_to_client, but for | |
3524 | replies; uses ircd_snprintf | |
3525 | ||
3526 | * ircd/send.c: added comments to redirect searchers to appropriate | |
3527 | sendcmdto_* function; moved new functions to end of file; added | |
3528 | explanatory comments; reordered arguments; defined new functions | |
3529 | mentioned below | |
3530 | ||
3531 | * ircd/m_jupe.c: reorder arguments to sendcmdto_* functions | |
3532 | ||
3533 | * ircd/m_gline.c: reorder arguments to sendcmdto_* functions | |
3534 | ||
3535 | * ircd/jupe.c: reorder arguments to sendcmdto_* functions | |
3536 | ||
3537 | * ircd/gline.c: reorder arguments to sendcmdto_* functions | |
3538 | ||
3539 | * include/send.h: reorder arguments, add explanatory comments, | |
3540 | declare new functions sendcmdto_flag_butone, sendto_opmask_butone, | |
3541 | and vsendto_opmask_butone | |
3542 | ||
3543 | 2000-04-19 Kevin L. Mitchell <klmitch@mit.edu> | |
3544 | ||
3545 | * ircd/send.c: define sendcmdto_channel_butone, wrote a simplified | |
3546 | vsendto_op_mask that uses '*' instead of the receiving client | |
3547 | nickname | |
3548 | ||
3549 | * include/send.h: declare sendcmdto_channel_butone; takes a skip | |
3550 | argument that allows you to skip (or not to skip) deaf users, | |
3551 | users behind bursting servers, and non channel operators | |
3552 | ||
3553 | 2000-04-17 Kevin L. Mitchell <klmitch@mit.edu> | |
3554 | ||
3555 | * ircd/send.c: new sendcmdto_channel_butserv -- note that old | |
3556 | sendto_channel_butserv has a subtle bug; also wrote | |
3557 | sendcmdto_common_channels. | |
3558 | ||
3559 | * include/send.h: declare new sendcmdto_* functions | |
3560 | ||
3561 | * ircd/jupe.c: support local deactivations of jupes | |
3562 | ||
3563 | * ircd/gline.c: support local deactivations of glines | |
3564 | ||
3565 | * include/jupe.h: JUPE_LDEACT allows jupes to be locally | |
3566 | deactivated; if they aren't locally deactivated, then it slaves to | |
3567 | the net-wide activation status; JupeIsRemActive() tests only | |
3568 | whether the jupe is active everywhere else | |
3569 | ||
3570 | * include/gline.h: GLINE_LDEACT allows glines to be locally | |
3571 | deactivated; if they aren't locally deactivated, then it slaves to | |
3572 | the net-wide activation status; GlineIsRemActive() tests only | |
3573 | whether the gline is active everywhere else | |
3574 | ||
3575 | * ircd/gline.c: detect overlapping G-lines; if an existing, wider | |
3576 | gline expires after the new one will, we drop the new one, | |
3577 | otherwise we add the G-line after that one (so the wide one will | |
3578 | apply first); if the new one contains an existing G-line and if it | |
3579 | will expire after the existing one, we drop the existing one to | |
3580 | save memory | |
3581 | ||
3582 | * ircd/m_gline.c (mo_gline): opers could issue remote local | |
3583 | glines when CONFIG_OPERCMDS was off; fixed | |
3584 | ||
3585 | 2000-04-16 Kevin L. Mitchell <klmitch@mit.edu> | |
3586 | ||
3587 | * ircd/m_jupe.c (mo_jupe): allow target argument to be dropped if | |
3588 | this is a local JUPE | |
3589 | ||
3590 | * ircd/gline.c: add flags argument to gline_activate and | |
3591 | gline_deactivate for future expansion | |
3592 | ||
3593 | * ircd/m_gline.c: pass flags to gline_activate and | |
3594 | gline_deactivate | |
3595 | ||
3596 | * include/gline.h: add flags argument to gline_activate and | |
3597 | gline_deactivate | |
3598 | ||
3599 | * ircd/jupe.c: add flags argument to jupe_activate and | |
3600 | jupe_deactivate for future expansion | |
3601 | ||
3602 | * include/jupe.h: add flags argument to jupe_activate and | |
3603 | jupe_deactivate | |
3604 | ||
3605 | * ircd/m_jupe.c: pass a flags argument to jupe_add instead of | |
3606 | local, active; pass flags to jupe_activate and jupe_deactivate | |
3607 | ||
3608 | * include/gline.h: remove dead code | |
3609 | ||
3610 | * ircd/gline.c: make gline expire times relative to CurrentTime, | |
3611 | since that should be monotonically increasing, instead of | |
3612 | TStime(), which can be set backwards, and which can therefore | |
3613 | cause an expire time to increase; make local glines be removed | |
3614 | instead of just deactivated; don't let gline_find() look for | |
3615 | user@host glines if the mask being looked up is a channel mask | |
3616 | ||
3617 | * ircd/send.c (vsendcmdto_one): forgot to account for the case | |
3618 | where origin is a server and destination is a user | |
3619 | ||
3620 | * ircd/jupe.c: make jupe expire times relative to CurrentTime, | |
3621 | since that should be monotonically increasing, instead of | |
3622 | TStime(), which can be set backwards, and which can therefore | |
3623 | cause an expire time to increase; make local jupes be removed | |
3624 | instead of just deactivated | |
3625 | ||
3626 | * ircd/ircd_snprintf.c: d'oh, thanks for catching that; short for | |
3627 | limit is fine. any other warnings I should know about? | |
3628 | ||
3629 | 2000-04-15 Thomas Helvey <tomh@inxpress.net> | |
3630 | ||
3631 | * ircd/*.c: const correctness and type safety cleanups to | |
3632 | get code to compile with C++ compiler. Still has | |
3633 | signed/unsigned comparison warnings. | |
3634 | ||
3635 | 2000-04-15 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
3636 | ||
3637 | * ircd/userload.c: change <sys/time.h> include to <time.h> for | |
3638 | portability. | |
3639 | ||
3640 | 2000-04-14 Kevin L. Mitchell <klmitch@mit.edu> | |
3641 | ||
3642 | * ircd/m_gline.c (mo_gline): d'oh, target isn't a numeric; use %C | |
3643 | and convert acptr... | |
3644 | ||
3645 | * ircd/s_user.c: move gline_lookup function call into | |
3646 | register_user, where it'll have a username to lookup! | |
3647 | ||
3648 | * ircd/m_gline.c: modify to utilize new sendcmdto_* series of | |
3649 | functions; also stuff send_error_to_client into return clauses | |
3650 | ||
3651 | * ircd/m_jupe.c: modify to utilize new sendcmdto_* series of | |
3652 | functions; also use send_error_to_client where that makes sense | |
3653 | ||
3654 | * ircd/jupe.c: modify to utilize new sendcmdto_* series of | |
3655 | functions; also use send_error_to_client where that makes sense | |
3656 | ||
3657 | * ircd/gline.c: modify to utilize new sendcmdto_* series of | |
3658 | functions; also fix gline_lookup() to deal properly with remote | |
3659 | clients--boy, do struct Client and struct User need to be cleaned | |
3660 | up! | |
3661 | ||
3662 | * ircd/ircd_snprintf.c (doprintf): a dest of &me is a server, | |
3663 | too... | |
3664 | ||
3665 | * ircd/send.c: wrote sendcmdto_one(), vsendcmdto_one(), and | |
3666 | sendcmdto_serv_butone(), all utilizing the %v conversion of | |
3667 | ircd_snprintf() | |
3668 | ||
3669 | * include/send.h: define IRC_BUFSIZE, max size of a message; | |
3670 | declare sendcmdto_one(), vsendcmdto_one(), and | |
3671 | sendcmdto_serv_butone() | |
3672 | ||
3673 | * include/msg.h: define all the CMD_* constants needed to utilize | |
3674 | the new sendcmdto_* series of functions | |
3675 | ||
3676 | * ircd/Makefile.in (SRC): list ircd_snprintf.c; run make depend | |
3677 | ||
3678 | * ircd/gline.c: remove old, dead code. | |
3679 | ||
3680 | * ircd/m_gline.c (mo_gline): disallow setting of global G-lines | |
3681 | unless CONFIG_OPERCMDS is enabled; disallow listing of all G-lines | |
3682 | (don't advertise proxies); remove dead code | |
3683 | ||
3684 | * ircd/parse.c: oper handler for JUPE only lists jupes unless | |
3685 | CONFIG_OPERCMDS is enabled | |
3686 | ||
3687 | * ircd/m_jupe.c (mo_jupe): don't compile mo_jupe() if | |
3688 | CONFIG_OPERCMDS is not enabled; we'll disable it in parse.c | |
3689 | ||
3690 | * ircd/m_opmode.c (mo_opmode): if CONFIG_OPERCMDS is not enabled, | |
3691 | always return ERR_DISABLED | |
3692 | ||
3693 | * ircd/m_clearmode.c (mo_clearmode): if CONFIG_OPERCMDS is not | |
3694 | enabled, always return ERR_DISABLED | |
3695 | ||
3696 | * ircd/s_err.c: add error message to indicate disabled commands | |
3697 | ||
3698 | * include/numeric.h (ERR_DISABLED): to indicate disabled commands | |
3699 | ||
3700 | * doc/Configure.help: add documentation for CONFIG_OPERCMDS | |
3701 | ||
3702 | * config/config-sh.in: add CONFIG_OPERCMDS, default both it and | |
3703 | CONFIG_NEW_MODE to 'y' for now | |
3704 | ||
3705 | * ircd/gline.c (gline_list): fix a minor formatting bogon | |
3706 | ||
3707 | * BUGS: since I fixed that bug, might as well mark it fixed. | |
3708 | ||
3709 | * ircd/m_join.c: look up badchans with GLINE_EXACT | |
3710 | ||
3711 | * ircd/m_gline.c: fix parc count problems; look up existing | |
3712 | G-lines with GLINE_EXACT; only set new lastmod when | |
3713 | activating/deactivating existing glines if old lastmod was not 0 | |
3714 | ||
3715 | * ircd/gline.c: forgot to copy the gline reason over; don't | |
3716 | propagate a gline with 0 lastmod if origin is user; add | |
3717 | GLINE_EXACT to force exact matching of gline mask | |
3718 | ||
3719 | * ircd/ircd_snprintf.c (doprintf): forgot to deal with the zero | |
3720 | flag properly | |
3721 | ||
3722 | * ircd/s_conf.c (find_kill): gline_find() takes a char *userhost, | |
3723 | but gline_lookup() actually takes a client--d'oh. | |
3724 | ||
3725 | 2000-04-13 Thomas Helvey <tomh@inxpress.net> | |
3726 | * ircd/IPcheck.c: Back port BLMet's bugfix from 2.10.10 | |
3727 | ||
3728 | 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
3729 | ||
3730 | * ircd/whocmds.c: Don't make idle flag default in /who, to prevent: | |
3731 | "/who * x" | |
3732 | "Gte3 H*iwg Gte@212.49.240.217 :1 :0 I am the one that was." | |
3733 | (Found by Plexus). | |
3734 | ||
3735 | * ircd/whocmds.c: Change idle time calc from socket idle to user | |
3736 | idle. | |
3737 | ||
3738 | 2000-04-13 Kevin L. Mitchell <klmitch@mit.edu> | |
3739 | ||
3740 | * config/aclocal.m4 (unet_CHECK_TYPE_SIZES): check size of void *, | |
3741 | too, for ircd_snprintf.c | |
3742 | ||
3743 | * include/ircd_snprintf.h: documentation for ircd_(v)snprintf, in | |
3744 | comments; mostly descended from the Linux manpage for printf, but | |
3745 | also documenting the extensions. | |
3746 | ||
3747 | * ircd/ircd_snprintf.c: NULL dest is equivalent to going to a | |
3748 | client; make 'q' be the same as 'L'; remove __inline__; only | |
3749 | define EXTENSION if HAVE_LONG_LONG is defined | |
3750 | ||
3751 | * include/handlers.h: declare m_gline() | |
3752 | ||
3753 | * ircd/parse.c: gline can be called by users, but it only lists | |
3754 | the glines. | |
3755 | ||
3756 | * ircd/s_user.c (set_nick_name): resend gline if a remote server | |
3757 | introduces a glined client | |
3758 | ||
3759 | * ircd/s_serv.c (server_estab): burst glines, too | |
3760 | ||
3761 | * ircd/gline.c: fix up all the expire times to be offsets; | |
3762 | simplify gline_resend() | |
3763 | ||
3764 | * ircd/m_gline.c: begin coding replacements for ms_gline(), | |
3765 | mo_gline(), and m_gline() | |
3766 | ||
3767 | * ircd/gline.c (gline_add): allow *@#channel to work correctly; | |
3768 | also, prohibit local BADCHANs if LOCAL_BADCHAN not defined | |
3769 | ||
3770 | 2000-04-13 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
3771 | ||
3772 | * tools/Bouncer/*: Add comments/documentation/tags. | |
3773 | * tools/Bouncer/*: Add debug defines, make task fork(). | |
3774 | ||
3775 | 2000-04-12 Thomas Helvey <tomh@inxpress.net> | |
3776 | * ircd/s_err.c: Cleanup s_err.c make one table so we | |
3777 | don't have to do anything tricky to get an error string. | |
3778 | ||
3779 | 2000-04-12 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
3780 | * Add port bouncer for http (x/w) | |
3781 | ||
3782 | 2000-04-12 Kevin L. Mitchell <klmitch@mit.edu> | |
3783 | ||
3784 | * ircd/s_conf.c (find_kill): replaced call to find_gline() with a | |
3785 | call to gline_find(); also used GlineReason() instead of direct | |
3786 | reference to structure member | |
3787 | ||
3788 | * ircd/m_join.c (m_join): replace bad_channel() calls with calls | |
3789 | to gline_find(name, GLINE_BADCHAN), and also check to see if gline | |
3790 | is active | |
3791 | ||
3792 | * ircd/channel.c: nothing seems to be called anywhere... | |
3793 | ||
3794 | * ircd/s_err.c: update a couple of replies to dovetail with new | |
3795 | semantics | |
3796 | ||
3797 | * ircd/gline.c: begin complete re-implementation of gline.c along | |
3798 | the lines of the final design of jupe.c | |
3799 | ||
3800 | * include/gline.h: begin complete re-implementation of gline.c | |
3801 | along the lines of the final design of jupe.c | |
3802 | ||
3803 | * ircd/channel.c (mode_process_clients): fix "Deop of +k user on | |
3804 | %s by %s" message... | |
3805 | ||
3806 | * ircd/ircd_snprintf.c: my new snprintf()-like functions | |
3807 | ||
3808 | * include/ircd_snprintf.h: my new snprintf()-like functions | |
3809 | ||
3810 | 2000-04-11 Thomas Helvey <tomh@inxpress.net> | |
3811 | * ircd/IPcheck.c: removed old dead code | |
3812 | * ircd/s_user.c (send_user_info): removed non-standard | |
3813 | user not found message for userhost/userip | |
3814 | ||
3815 | 2000-04-11 Greg Sikorski <gte@atomicrevs.demon.co.uk> | |
3816 | ||
3817 | * ircd/s_err.c: Added missing quotes to ERR_DONTCHEAT numeric. | |
3818 | * doc/p10.html: Work on chapter 4. | |
3819 | ||
3820 | 2000-04-10 Kevin L. Mitchell <klmitch@mit.edu> | |
3821 | ||
3822 | * ircd/channel.c (mode_parse_client): fix coredump on /mode | |
3823 | #foobar +o nosuchnick | |
3824 | ||
3825 | 2000-04-10 Perry Lorier <Isomer@coders.net> | |
3826 | * BUGS: Added bug. | |
3827 | ||
3828 | 2000-04-09 Thomas Helvey <tomh@inxpress.net> | |
3829 | * include/IPcheck.h: fix prototype | |
3830 | * ircd/s_user.c: fix usage of IPcheck_remote_connect | |
3831 | * ircd/IPcheck.c: removed unused args | |
3832 | ||
3833 | 2000-04-09 Thomas Helvey <tomh@inxpress.net> | |
3834 | * include/IPcheck.h: add proto for IPcheck_expire | |
3835 | ||
3836 | * ircd/IPcheck.c: Rewrote | |
3837 | ||
3838 | * ircd/ircd.c: Add IPcheck_expire to main message loop | |
3839 | ||
3840 | * ircd/s_user.c: Redo target hashing, refactor target code | |
3841 | ||
3842 | * include/numeric.h: Cleaned up numerics, added which ones are | |
3843 | in use by other networks and what they are in use for. | |
3844 | ||
3845 | * ircd/channel.c: cleaned can_join(), allow anyone through anything | |
3846 | if /invited, simplified the function. Opers overusing OPEROVERRIDE | |
3847 | will get a message explaining to them not to cheat. | |
3848 | ||
3849 | * ircd/m_join.c: cleaned up the various join functions, should be | |
3850 | a lot more efficient. Still needs work. Now assumes that s<->s | |
3851 | won't send it a JOIN 0. Service coders - note this and tread with | |
3852 | care. | |
3853 | ||
3854 | * ircd/m_stats.c: added Gte-'s stats doc patch. | |
3855 | ||
3856 | * ircd/m_version.c: /version now returns the 005 numeric as well. | |
3857 | as requested by Liandrin. | |
3858 | ||
3859 | ||
3860 | 2000-04-07 Kevin L. Mitchell <klmitch@mit.edu> | |
3861 | ||
3862 | * ircd/m_clearmode.c: add include for support.h for write_log() | |
3863 | ||
3864 | * configure: move ircd/crypt/* to tools/* | |
3865 | ||
3866 | 2000-04-06 Thomas Helvey <tomh@inxpress.net> | |
3867 | * ircd/s_auth.c: Shorten auth connect timeout to 60 seconds | |
3868 | set client host to server alias if connection from localhost | |
3869 | ||
3870 | 2000-04-06 Perry Lorier <isomer@coders.net> | |
3871 | * ircd/ircd.c: Fix core during pinging (oops) | |
3872 | ||
3873 | 2000-04-06 Perry Lorier <isomer@coders.net> | |
3874 | * ircd/send.c: fixed wrong ident being sent to channels bug. | |
3875 | * include/numerics.h: Updated some of the numerics from other | |
3876 | networks. Flagged some as 'unused' by undernet. | |
3877 | ||
3878 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3879 | * ircd/ircd.c: Lets see if this helps the ping problem at all. | |
3880 | * ircd/whocmds.c, /doc/readme.who: Added %l specifier to get idle | |
3881 | time for local clients. (as requested), extended who now returns all | |
3882 | the flags (@+!) so you can tell the complete state of a client. | |
3883 | ||
3884 | 2000-03-30 Thomas Helvey <tomh@inxpress.net> | |
3885 | * m_rping.c m_rpong.c: add Gte's rping/rpong fixes | |
3886 | ||
3887 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3888 | * ircd/parse.c: oops, missed opers. | |
3889 | ||
3890 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3891 | * ircd/parse.c: fixed mystifying ping bug thats been plaguing us | |
3892 | for so long. Remember: m_ping MUST be in the parse array. :) | |
3893 | ||
3894 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3895 | * ircd/ircd.c: test in check_pings was wrong. I move that we | |
3896 | disallow cvs commit after 10pm localtime.... | |
3897 | ||
3898 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3899 | * ircd/m_pong.c: Fix it for servers too. | |
3900 | ||
3901 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3902 | * ircd/m_pong.c: Fix ping timeout bugs | |
3903 | ||
3904 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3905 | * ircd/channel.c: Bans had CurrentTime in their when field instead | |
3906 | of TStime() | |
3907 | ||
3908 | 2000-03-31 Thomas Helvey <tomh@ixpress.net> | |
3909 | * ircd/numnicks.c (SetXYYCapacity): fix for extended | |
3910 | numerics. | |
3911 | ||
3912 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3913 | * ircd/m_nick.c: send kills both ways so when we add nick change | |
3914 | on collision we don't desync the network. | |
3915 | ||
3916 | * ircd/map.c: Fixup the map a bit more. | |
3917 | ||
3918 | 2000-03-31 Kevin L. Mitchell <klmitch@mit.edu> | |
3919 | ||
3920 | * ircd/m_clearmode.c (do_clearmode): Log the CLEARMODE to OPATH | |
3921 | ||
3922 | * ircd/m_opmode.c: Log the mode changes to OPATH | |
3923 | ||
3924 | * ircd/channel.c (modebuf_flush_int): Log the mode changes to | |
3925 | OPATH | |
3926 | ||
3927 | * include/channel.h (MODEBUF_DEST_LOG): Log the mode changes to | |
3928 | OPATH | |
3929 | ||
3930 | * doc/Configure.help: help text for CONFIG_LOG_OPMODE / OPATH | |
3931 | ||
3932 | * config/config-sh.in: added OPATH for opmode log file | |
3933 | ||
3934 | * ircd/m_clearmode.c (do_clearmode): updated uses of | |
3935 | modebuf_mode_string() for the new usage | |
3936 | ||
3937 | * ircd/channel.c: added flag MODE_FREE and an int argument to | |
3938 | modebuf_mode_string() to indicate that the string must be free'd; | |
3939 | updated calls to modebuf_mode_string() for the new usage; called | |
3940 | collapse(pretty_mask()) on the ban string and use allocated memory | |
3941 | for it; added ban list length accounting; fixed a number of small | |
3942 | bugs in ban processing | |
3943 | ||
3944 | * include/channel.h: added flag MODE_FREE and an int argument to | |
3945 | modebuf_mode_string() to indicate that the string must be free'd | |
3946 | ||
3947 | * ircd/m_clearmode.c (do_clearmode): made sure clearmode removed | |
3948 | keys and limits that are set | |
3949 | ||
3950 | 2000-03-30 Perry Lorier <isomer@coders.net> | |
3951 | * ircd/ircd.c: rewrote check_pings() for maintainability | |
3952 | and speed. Also changed quit msg's so they don't have | |
3953 | redundant nick[host] info in them. | |
3954 | ||
3955 | * ircd/send.c: Changed write errors to report what error | |
3956 | occured (if possible). | |
3957 | ||
3958 | * ircd/gline.c: added gline comment to the quit. | |
3959 | ||
3960 | * ircd/m_server.c: Added suggestions to server quits mentioning | |
3961 | what went wrong so the admin can fix it earlier instead of asking | |
3962 | questions... | |
3963 | ||
3964 | * ircd/map.c: Changed m_map() to hide numerics, show a * beside | |
3965 | servers that aren't fully burst yet. And show '(--s)' for servers | |
3966 | where its not sure. | |
3967 | ||
3968 | * doc/example.conf: Fixed wrapped U: | |
3969 | ||
3970 | 2000-03-30 Kevin L. Mitchell <klmitch@mit.edu> | |
3971 | ||
3972 | * ircd/m_mode.c (ms_mode): implemented a new m_mode in terms of | |
3973 | mode_parse() (version selectable at compile time) | |
3974 | ||
3975 | * ircd/m_clearmode.c (mo_clearmode): clean_channelname(parv[1]) | |
3976 | ||
3977 | * ircd/m_opmode.c (mo_opmode): clean_channelname(parv[1]) | |
3978 | ||
3979 | * config/config-sh.in: add new config option to enable new m_mode | |
3980 | implementation | |
3981 | ||
3982 | * doc/Configure.help: add documentation for new config option | |
3983 | CONFIG_NEW_MODE | |
3984 | ||
3985 | * ircd/channel.c (mode_parse_client): /opmode #foobar -o -- 461 | |
3986 | MODE -v : Not enough parameters | |
3987 | ||
3988 | * ircd/m_clearmode.c (do_clearmode): do_clearmode() would remove | |
3989 | +k and +l even if they weren't set... | |
3990 | ||
3991 | * ircd/m_opmode.c: implement the OPMODE command using mode_parse() | |
3992 | ||
3993 | * ircd/channel.c: make mode_process_clients() clear the DEOPPED | |
3994 | flag; fix +s+p exclusivity; add MODE_ADD/MODE_DEL to flag list | |
3995 | for; test the 0-th member, not the i-th member, of the client | |
3996 | change state stuff | |
3997 | ||
3998 | * ircd/m_clearmode.c (do_clearmode): use the new | |
3999 | mode_invite_clear() function | |
4000 | ||
4001 | * ircd/channel.c: cleared up all the compile-time warnings and | |
4002 | errors | |
4003 | ||
4004 | * include/channel.h: added declarations for mode_ban_invalidate() | |
4005 | and mode_invite_clear() | |
4006 | ||
4007 | * ircd/channel.c: finished mode_parse(), then broke it up into a | |
4008 | dozen or so helper functions to make the code easier to read | |
4009 | ||
4010 | 2000-03-29 Thomas Helvey <tomh@inxpress.net> | |
4011 | * ircd/ircd.c: refactor server initialization a bit, use | |
4012 | getopt for parsing command line, refactor init_sys, main, | |
4013 | and other bits. | |
4014 | ||
4015 | * ircd/s_bsd.c: add functions for initialization to clean | |
4016 | up logic a bit and remove duplicated code. | |
4017 | ||
4018 | * include/ircd.h: add struct for server process related | |
4019 | variables. | |
4020 | ||
4021 | 2000-03-29 Kevin L. Mitchell <klmitch@mit.edu> | |
4022 | ||
4023 | * ircd/channel.c: initial definition of mode_parse(); flags to | |
4024 | prevent doing the same thing multiple times; helper method | |
4025 | send_notoper() to send a "Not oper"/"Not on channel" notice | |
4026 | ||
4027 | * include/channel.h: declare mode_parse() and helper flags | |
4028 | ||
4029 | * ircd/channel.c (modebuf_flush_int): fiddled with timestamp | |
4030 | sending to match the current action of set_mode() closely enough | |
4031 | that hopefully there won't be major conflicts | |
4032 | ||
4033 | * ircd/channel.c (modebuf_flush_int): consolidated the mode string | |
4034 | building logic, reversed the order of the arguments to mode | |
4035 | commands to have '-' preceed '+' | |
4036 | ||
4037 | 2000-03-29 Thomas Helvey <tomh@inxpress.net> | |
4038 | * ircd/s_bsd.c (add_connection): don't disable socket options | |
4039 | let OS tune itself and allow important performance tweaks to | |
4040 | work. | |
4041 | ||
4042 | 2000-03-28 Kevin L. Mitchell <klmitch@mit.edu> | |
4043 | ||
4044 | * ircd/channel.c (modebuf_flush_int): use %d, not %-15d; I got | |
4045 | confused by set_mode, which is doing some really weird logic; | |
4046 | guess what I'm going to rewrite next? ;) | |
4047 | ||
4048 | 2000-03-28 Kevin L. Mitchell <klmitch@emc.com> | |
4049 | ||
4050 | * include/channel.h: added MODE_SAVE for the bounds checking stuff | |
4051 | in modebuf_flush | |
4052 | ||
4053 | * ircd/channel.c: make modebuf_flush into modebuf_flush_int and | |
4054 | make it do bounds checking on the buffer; all modes are sent only | |
4055 | if the all parameter is 1; modebuf_flush is the exported wrapper | |
4056 | ||
4057 | * include/channel.h: add BOUNCE, renumber flags to get a little | |
4058 | more space | |
4059 | ||
4060 | * ircd/channel.c (modebuf_flush): don't overload HACK2, add | |
4061 | BOUNCE; send DESYNCH message | |
4062 | ||
4063 | 2000-03-27 Kevin L. Mitchell <klmitch@emc.com> | |
4064 | ||
4065 | * ircd/m_clearmode.c (do_clearmode): only mark the modes the | |
4066 | channel actually has in effect for deletion | |
4067 | ||
4068 | * ircd/channel.c: added explanatory comments to all added | |
4069 | functions; made flushing take place at the correct place even if | |
4070 | the MODEBUF_DEST_DEOP flag is set; rewrote build_string() helper | |
4071 | to bash some stupid bugs; made modebuf_flush() return if ModeBuf | |
4072 | is empty, fixed the apparent source, removed some bogus string | |
4073 | termination code, properly terminate the mode strings, add support | |
4074 | for HACK2 and HACK3, made limit strings not be sent if the limit | |
4075 | is being removed, changed where '+' and '-' come from in sent | |
4076 | strings, added support for DEOP flag, set up bouncing code for | |
4077 | HACK2 | |
4078 | ||
4079 | * ircd/Makefile.in: ran make depend | |
4080 | ||
4081 | * include/channel.h: added new defines for future functionality, | |
4082 | made modebuf_flush() return int so I can use tail recursion | |
4083 | ||
4084 | * ircd/m_clearmode.c: add msg.h to includes; other misc cleanups | |
4085 | to make it all compile | |
4086 | ||
4087 | * ircd/m_opmode.c: add msg.h to includes... | |
4088 | ||
4089 | * ircd/m_clearmode.c: implemented mo_clearchan()/ms_clearchan() | |
4090 | ||
4091 | * ircd/channel.c (modebuf_flush): realized I forgot to | |
4092 | nul-terminate addbuf/rembuf properly... | |
4093 | ||
4094 | * ircd/m_clearmode.c (do_clearmode): wrote do_clearmode()... | |
4095 | ||
4096 | * ircd/channel.c (modebuf_flush): correct sendto_server_butone to | |
4097 | sendto_serv_butone--blah^2 | |
4098 | ||
4099 | * ircd/send.c (sendto_serv_butone): stupid comments confused me | |
4100 | ||
4101 | * ircd/channel.c (modebuf_flush): if there are no mode changes to | |
4102 | propagate, we're done... | |
4103 | ||
4104 | * ircd/channel.c (modebuf_flush): duh; it's sendto_server_butone, | |
4105 | not sendto_all_butone | |
4106 | ||
4107 | * ircd/m_clearmode.c: define skeleton for m{o,s}_clearmode | |
4108 | ||
4109 | * ircd/m_opmode.c: define skeleton for m{o,s}_opmode | |
4110 | ||
4111 | * ircd/Makefile.in (SRC): added m_opmode() and m_clearmode() to | |
4112 | the list | |
4113 | ||
4114 | * ircd/parse.c: added messages for opmode and clearmode | |
4115 | ||
4116 | * include/handlers.h: added declarations for mo_opmode(), | |
4117 | ms_opmode(), mo_clearmode(), and ms_clearmode() | |
4118 | ||
4119 | * include/msg.h: define MSG_OPMODE, TOK_OPMODE, MSG_CLEARMODE, and | |
4120 | TOK_CLEARMODE | |
4121 | ||
4122 | * include/channel.h (MODEBUF_DEST_OPMODE): Define the | |
4123 | MODEBUF_DEST_OPMODE flag | |
4124 | ||
4125 | * ircd/channel.c (modebuf_flush): added new flag, | |
4126 | MODEBUF_DEST_OPMODE; causes channel MODE/HACK(4) notice to appear | |
4127 | to originate from source's server (or source itself, if | |
4128 | IsServer(source)); also causes a server-level MODE to be sent as | |
4129 | OPMODE instead | |
4130 | ||
4131 | * include/channel.h: defined MODEBUF_DEST_SERVER, | |
4132 | MODEBUF_DEST_HACK4 | |
4133 | ||
4134 | * ircd/channel.c: Add another argument to build_string() to handle | |
4135 | numeric nicks; implemented MODEBUF_DEST_SERVER to send MODEs to | |
4136 | servers; implemented MODEBUF_DEST_HACK4 to cause HACK(4) notices | |
4137 | to be sent out | |
4138 | ||
4139 | 2000-03-27 Perry Lorier <isomer@coders.net> | |
4140 | ||
4141 | * ircd/s_bsd.c: fixed missing 'u' typo. | |
4142 | ||
4143 | 2000-03-26 Kevin L. Mitchell <klmitch@emc.com> | |
4144 | ||
4145 | * ircd/channel.c: implement modebuf_init(), _mode(), _mode_uint(), | |
4146 | _mode_string(), _mode_client(), _flush(); also implemented a | |
4147 | simple build_string() | |
4148 | ||
4149 | * include/channel.h: added definition of ModeBuf, modebuf_* | |
4150 | manipulation functions, and a couple of helper macros | |
4151 | ||
4152 | 2000-03-24 Thomas Helvey <tomh@inxpress.net> | |
4153 | * numicks.c: convert extended numerics to use original mask version | |
4154 | * numnicks.h: "" | |
4155 | * s_user.c: | |
4156 | 2000-03-23 Thomas Helvey <tomh@inxpress.net> | |
4157 | * Merge in changes from production | |
4158 | 2000-03-22 Thomas Helvey <tomh@inxpress.net> | |
4159 | * numicks.c: Tweak to numnick generator to reduce possibility of duplicates. | |
4160 | * rfc1459.unet: Add Maniac's documentation for /names 0 | |
4161 | * Fix misc. jupe bugs that somehow made it into the tree | |
4162 | * Escape /names 0 to mean /names --Maniac | |
4163 | * Don't core when server asks for info --Maniac | |
4164 | * Add Kev's jupe patch --Bleep | |
4165 | * Add Maniacs squit patch --Bleep | |
4166 | * Merge in u2_10_10_beta07 changes --Bleep | |
4167 | * Merge in u2_10_10_beta06 changes --Bleep | |
4168 | * Start ircu2.10.11 development, beta branch u2_10_10 --Bleep | |
4169 | #----------------------------------------------------------------------------- |