ircu2.10.12-pk.git
23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Tue, 2 Jan 2001 01:53:34 +0000 (01:53 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

* Added HekTik's fix to guppy's /msg's go to -n+m channels.

* Protocol violation stuff

* Protocol negotiation stuffs

* added another param to 004 for modes that have parameters.

* Ripped out more P09 crap.

* Probably buggered the entire thing up.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@351 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 19 Dec 2000 21:37:58 +0000 (21:37 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Removed last vestiges of GODMODE; made a whole bunch of formerly compile-
time options into run-time options through the features subsystem; bashed
a couple of bugs in ircd_log.c and m_ison.c; added a new "read-only" flag
to ircd_features.c.

Testing:

Compiles and runs; m_ison.c compiles.  Again, needs extensive testing; turn
the features on and off and see what happens.

NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE

Make sure you add "F:HUB:TRUE" to your ircd.conf if you normally turn HUB
on.  I may make HUB go away completely in the future, but not until
m_server gets rewritten from scratch.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@350 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 18 Dec 2000 21:24:00 +0000 (21:24 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Rearranged a couple of features to try to make things a little neater;
rearranged some code to make it more streamlined.

I also created a subdirectory with API documentation; this is for
documentation of special little subsystems, such as the features subsystem
or the logging system, or even something like modebuf's and MsgQ's.  Please
read doc/api/api.txt and tell me what you think...

Testing:

The features changes compile and link, but I have not performed run-time
tests.  The documentation that I have written should be mostly complete,
but let me know if you want more information...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@349 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years ago* ircd/os_bsd.c: Added os_set_tos for BSD users.
Greg Sikorski [Sat, 16 Dec 2000 20:23:55 +0000 (20:23 +0000)]
* ircd/os_bsd.c: Added os_set_tos for BSD users.

Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Log message:

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@348 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 16 Dec 2000 18:56:20 +0000 (18:56 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Several things: First, fixed a bug in do_whois.  Then defined some new
features so I can turn off OPER_SET.  Afterwards, make boolean options also
accept "ON" and "OFF".  Finally, defined a new command to report an
operator's privileges.  Also fixed Isomer's change to use the F_I macro
properly (after adding flags to the macros...).

Testing:

Compiled and run and everything seems to be OK.  Again, brute-force it and
make sure opers have the privileges they're supposed to have.  Also note
that feature settings only apply to opers that just oper'd up; if you oper
up, then change a feature setting, it won't affect your privileges.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@347 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 16 Dec 2000 12:56:07 +0000 (12:56 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Added TOS twiddling to Kev's "feature" subsystem.  It compiles, who knows
if it will run...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@346 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 16 Dec 2000 12:38:09 +0000 (12:38 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Beginning of support for setting the Type Of Service bits - by default
ircu traffic is now set to 'low delay' (no lag! no lag!) which may help.
Network admins can then adjust their network to let traffic with various
ToS's do various things.  If I could figure out how Kev's "feature" subsystem
worked then I'd make it configurable via that.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@345 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 16 Dec 2000 08:20:48 +0000 (08:20 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Implement an ACL for IRC operators; set ACL out of information provided by
the .conf through the feature system.

Testing:

It's been tested on one server all by its lonesome, and seems to work fine;
it needs to be rigorously tested on a network with other users, and by both
local and global operators, with various fiddling of the /set's.  This big
a change to the privileges structure can lead to interesting anomolies.
Unfortunately, documentation is sparse; I'll look into correcting that when
I can, but don't hold your breath.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@344 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 16 Dec 2000 07:00:33 +0000 (07:00 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Don't core if no prefix is sent over a s<->s link.

Testing required:

Does it still link to other servers? :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@343 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 16 Dec 2000 02:28:11 +0000 (02:28 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fixed some bugs in debug logging code...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@342 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 15 Dec 2000 20:29:16 +0000 (20:29 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Finish the design of the features subsystem and fix some logging bogosity.
Last thing to do with features: Make compile-time constants go away.

Testing:

Brute-force the logging stuff.  This change destabilizes that stuff a bit.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@341 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 15 Dec 2000 20:16:07 +0000 (20:16 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fixed a bug that would crash the server anytime flush_connections() was
called with a 0 argument--boy do I feel dumb.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@340 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 15 Dec 2000 15:30:00 +0000 (15:30 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Create a linked list of connections that have queued data.  This allows
flush_connections to scan only the connections that have queued data,
rather than going through every single connection on the server.  This
will improve efficiency, but I doubt it'll have a significant impact on
CPU usage.

Testing:

Compiles and runs with no apparent errors.  It needs to be brute-forced
to make sure there are no assertion failures.

Notes:

If you ever call MsgQClear(), you MUST call client_drop_sendq() as well!
(Perhaps this should be changed to have client_drop_sendq() call
MsgQClear() itself?)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@339 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Diane Bruce <db@tfm.com> (by way of Kev <klmitch@mit.edu>)
Kevin L. Mitchell [Fri, 15 Dec 2000 01:14:59 +0000 (01:14 +0000)]
Author: Diane Bruce <db@tfm.com> (by way of Kev <klmitch@mit.edu>)
Log message:

- rfc1489 is ambigous about how to handle ISON. The example shows
  no ':' used in the command, which means each nick would appear in
  parv[1] to parv[n].  After discussion with hop on efnet/undernet
  it became apparent there is a problem. ircnet gets it right, but they
  loop over all parv as well as strtoken'ing on ' '
  My suggested fix is to loop over each parv[1] to parc, and scanning
  each one for ' '. I prefer to use parc rather than relying on a parv[]
  being NULL, but you could do a slightly more efficient version that way.

- Trailing spaces are removed, apparently that breaks some ircII clients.
  epic according to hoppie, is ok, but still...

(This patch was applied by hand because of the number of changes involved;
hope I got the trailing space behavior correct--I removed all trailing
spaces. -Kev)

Testing:

I tested it; it doesn't crash the server.  If ISON gets more than the
maximum number of arguments before hitting a colon, the server tries to
look up :<nick>, but this isn't much of a suprise.  Looks nice :)

 -Kev

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@338 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 14 Dec 2000 16:32:04 +0000 (16:32 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

This is it!  Connection information in struct Client has been pulled out
into its own structure, struct Connection.  I've also added a couple of
fields to struct Connection to enable me to create a more efficient
implementation of flush_connections() in the future...

Testing:

Compiles and runs without any apparent problems.  We need to bombard it
with clones up the wazoo to verify the integrity of make_client() and
free_client().

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@337 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Wed, 13 Dec 2000 19:14:26 +0000 (19:14 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

This finishes phase one of the struct Client/struct Connection divorce.
Everybody is now using the accessor macros.  IT IS VERY IMPORTANT THAT
ANY NEW CODE USE THESE MACROS!  Phase two will be much smaller, involving
only a new structure and changes to some accessor macros in client.h, and
some code moving from list.c to client.c with addition of struct Connection
allocation.

It somehow seems appropriate that MIT's mascot is the beaver.

Testing:

I've compiled and run the server and can't see any differences in behavior.
This is, however, a huge change, so something may very well be messed up.
Brute-force is the order of the day.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@336 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 12 Dec 2000 23:55:28 +0000 (23:55 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Here's some more conversions.  This gets everything but the m_*.c stuff.
Even though it's currently unstable, I'd appreciate testing to catch
anything I might have missed so far...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@335 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 12 Dec 2000 02:33:04 +0000 (02:33 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

I'm fed up with struct Client as it is.  I'm going to restructure the
interface quite a bit, though the basic fields in struct Client will
remain as they are.  However, instead of having a two-size struct Client,
I will split it into a struct Client and a struct Connection (or similar).

The first step to doing this is creating a set of accessor macros and
making all of ircd use them to access the fields.  This will allow me to
divorce the structures and only have to change the accessor macros and the
struct Client allocation functions and a bit of networking code, rather
than going through all of ircd later and fixing things after they're all
broken.

This commit is the first step toward this.  All the affected header files
have been converted, and all the .c files up through hash.c have been
carefully checked.  Everything compiles cleanly at this point, so I am
assuming that it works; I'll double-check when this phase of the project is
complete.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@334 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 11 Dec 2000 20:27:14 +0000 (20:27 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fix a G-line bug reported by maniac@cetlink.net in private email.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@333 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sun, 10 Dec 2000 19:02:30 +0000 (19:02 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Make sure IOV_MAX gets defined on a couple of platforms...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@332 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sun, 10 Dec 2000 00:43:35 +0000 (00:43 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Now we're using the struct iovec stuff.

Status: probably stable

Testing needed:

This patch makes some changes to some OS-specific code that I cannot test;
the new code needs to be compiled on several different platforms and a
report of any warnings or errors during compile-time or of any problems
under very heavy load needs to be made.  In making such reports, make sure
you report the system type (uname -a output), and also report the results
of "ls -l ircd/ircd_osdep.c"

Testing done:

It's been tested and seems to work under Linux 2.2.16-3.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@331 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 9 Dec 2000 08:46:50 +0000 (08:46 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fix a tiny presentation error that was resulting in a /clearmode that
removed no modes sending an empty HACK(4) notice

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@326 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 8 Dec 2000 20:19:33 +0000 (20:19 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Implement a msgq system and switch to it, removing some old dead code in
the process--this includes removing help from Configure.help that no longer
has a corresponding compile-time option, as well as permanently switching
to the new mode implementation.

One of the effects this has is a switch to a priority-queue system, which
should allow wallops to be moved to the head of the sendq.  Lag no longer
becomes an issue for important routing notifications.

Status: stable

Testing needed:

This patch needs to be tested under heavy load.

Testing done:

Compiles and runs with no apparent problems

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@325 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 8 Dec 2000 18:59:16 +0000 (18:59 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Never send server notices containing server IP addresses.

Note: more tuning will be necessary for the new logging system...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@324 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 5 Dec 2000 23:13:29 +0000 (23:13 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

ircd_features.c is supposed to #include "ircd_features.h", not
"features.h"

Testing done: compiles cleanly

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@323 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Greg Sikorski [Tue, 5 Dec 2000 01:01:38 +0000 (01:01 +0000)]
Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Log message:

2000-12-05  Greg Sikorski <gte@atomicrevs.demon.co.uk>
        * ircd/m_topic.c: Added missing braces that caused all remote
          topics to be ignored.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@322 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 4 Dec 2000 20:07:31 +0000 (20:07 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Switched from calling ircd_log/write_log to log_write; removed all the
compile-time cruft associated with logging and syslogging; corrected a
couple of bugs in the new ircd_log.c functions; corrected a warning, then a
bug in m_create.c, presumably introduced by Isomer

Status: stable

Testing needed: Beat on it for a while.  example.conf still references
USERLOG and OPERLOG subsystems, but they no longer exist; use USER and OPER
instead.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@321 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sun, 3 Dec 2000 11:42:12 +0000 (11:42 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Added 'End of Names' when joining channel.  thanks to hektik for pointing
this out.

Testing needed:
 * Make sure it displays End Of Names when it should
 * Make sure it doesn't display End Of Names when it shouldn't

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@320 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: net <simms@LUCIDA.QC.CA> (by way of Kev <klmitch@mit.edu>)
Kevin L. Mitchell [Fri, 1 Dec 2000 16:08:47 +0000 (16:08 +0000)]
Author: net <simms@LUCIDA.QC.CA> (by way of Kev <klmitch@mit.edu>)
Log message:

Do a freelist for struct Motd

Testing done:

I (Kev) tested this, and it works, and there does not appear to be any form
of memory leak.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@319 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 30 Nov 2000 22:20:24 +0000 (22:20 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Finished most of the logging system (except for conversions to log_write())
by implementing the feature system, composed of F-lines, to set features
from the .conf, and the three new commands /set, /reset, and /get, to
manipulate feature settings on the fly.

Status: Stable, but expect bugs

Testing needed:

I'm too tired to try to figure out what sort of bugs might be hanging
around.  Beat on it for a while...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@318 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Wed, 29 Nov 2000 21:54:23 +0000 (21:54 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Finishing up work on the logging API; lots of dead code added to ircd_log.c
which is intended to be called from appropriate places in the configuration
file parser (I'll add that later).  Started switching bits and pieces over
to the new API.

Status: mostly stable

Testing done:

Compiles and seems to work; some of the functionality can't be tested until
some more work gets done.  The eventual upshot of all this work will be the
eventual replacement of GPATH and others with configuration file options.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@317 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 28 Nov 2000 22:28:20 +0000 (22:28 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Started working on a new logging API that can log to files and/or to
syslog; the intent will be to eventually make this flexible enough that
log files for subsystems can be set from the .conf.

Status: Stable
Testing done:

Compiles.  No run-time checking done because nothing calls these functions
yet.

Future directions:

An API for setting log files needs to be added.  It would also be nice to
have support for sending the log messages through the server notices
mechanism.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@316 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 28 Nov 2000 18:30:23 +0000 (18:30 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fixed the bugs I found in the motd routines; these should now be working.

Someone should consider adding freelist stuff here.

Testing done: most of what I outlined in the previous commit
Status: stable
Testing needed: double-check for possible memory leaks

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@315 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 27 Nov 2000 21:47:53 +0000 (21:47 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Further rewrites of the MOTD stuff--now the API is fairly clean and well
compartmentalized, so it should be able to work into even a completely new
.conf structure without much trouble at all.  ircd.motd and remote.motd are
read in on initialization and rehash, but T-lines aren't cached unless they
get used, to try to save memory.  There's a new motd_recache() routine that
flushes just the cached MOTDs; this is currently not hooked into the rehash
handler.  Also, we're using ISO dates.

Testing done: Compile-checked; I have not had time to do more, yet.
Status: unstable
Testing needed: Compile it and make sure it doesn't crash when you log in,
  either with or without NODEFAULTMOTD.  Check that T-lines with both
  hostmasks and class designations work.  Check that /rehash or kill -HUP
  don't crash the server.  Watch memory usage to see if there's any
  indications of memory leaks (hard).  Verify that caches get cleared on
  /rehash.  Verify that dates and times are correct and correctly
  displayed.  Verify that /stats T reports all your T-lines and in the
  correct order, with a mix of class- and hostmask-based T-lines.  Check
  what happens if your motd is 0 length.  Basically, try to exercise every
  code path in motd.c and the bits of code that I changed :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@314 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Wed, 22 Nov 2000 19:01:19 +0000 (19:01 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

The MOTD stuff was a crock.  It's now less of a crock.  Among other
things, we're no longer calling m_motd from register_user.  This
interface may still be subject to change...

Status: stable
Testing done: Signon with NODEFAULTMOTD #define'd; remote MOTDs; local
  MOTDs; T-lines by hostname and by class; T-line conf ordering
Testing needed: Signon without NODEFAULTMOTD #define'd

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@313 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 20 Nov 2000 21:10:06 +0000 (21:10 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Use client name instead of client numeric; tested

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@311 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 20 Nov 2000 21:05:43 +0000 (21:05 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Apply a bandaid to Iso's m_motd change; rewrite protocol_violation so that
it actually works

Testing done: Tested BURST with too few arguments--produced correct
behavior.  Am able to connect to the server as a user without coring
it :)

Status: Stable

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@310 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <perry@coders.net>
Perry Lorier [Mon, 20 Nov 2000 19:02:17 +0000 (19:02 +0000)]
Author: Isomer <perry@coders.net>
Log message:

        * ircd/ircd_reply.c: added 'protocol_violation', thus alerting us
        to problems in the server<->server protocol.

        * ircd/m_connect.c: allow remote connects with a port of '0'
        meaning to use the port in the config file.

        * ircd/m_create.c: Enable hacking protection, lets see how far we
        get.

        * ircd/m_error.c: The RFC says never accept ERROR from unreg'd
        clients, so we don't any more.

        * ircd/m_kill.c: The kill path is now made up of numnicks of servers,
        and the user@host is displayed of the victim.

        * ircd/m_map.c: reloaded 'dump_map'.

        * ircd/m_trace.c: allow per class T:

        * ircd/m_stats.c: allow local opers /remote stats anywhere on the 'net.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@308 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Fri, 17 Nov 2000 00:16:20 +0000 (00:16 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed bug as reported by maniac. (Topic's not being propergated properly)

Fixed bug as reported by net, cleaning up the patch slightly. (clients not
having their 'IPchecked flag' set)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@307 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 2 Nov 2000 17:31:27 +0000 (17:31 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

1) Use do_names() directly instead of calling through m_names(), which is
ugly.

2) Add channel creation TS to JOIN protocol messages, which also requires
us to seperate them; never transmute a JOIN into a CREATE, but create the
channel with the proper TS, or with MAGIC_REMOTE_JOIN_TS.

3) Remove a compiler warning.

Testing done: Checked for correct behavior; checked at the server<->server
level to ensure channels are created with appropriate timestamps; also
checked that CREATE gets bounced with MODE -o in appropriate circumstances.

Testing needed: Beat on this heavily and make sure nothing weird happens ;)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@306 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Mon, 30 Oct 2000 22:54:10 +0000 (22:54 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed the warning message everyone keeps reminding me about :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@305 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Mon, 30 Oct 2000 09:45:17 +0000 (09:45 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed over aggressive cut and no paste in m_oper

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@304 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Mon, 30 Oct 2000 09:28:15 +0000 (09:28 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Lots of little changes

To check:
 * glines
 * ./ircd --help doesn't start the server
 * silence works
 * check oper still owkrs
 * check error messages on accept
 * lotsa other things, read the changelog :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@303 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: net <simms@LUCIDA.QC.CA>
Perry Lorier [Mon, 30 Oct 2000 00:34:27 +0000 (00:34 +0000)]
Author: net <simms@LUCIDA.QC.CA>

Log message:

Fixed bugs that Isomer left

Testing Required:
Gline random people and check that the right people are disconnected

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@302 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 26 Oct 2000 16:36:10 +0000 (16:36 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

* ircd/m_join.c (m_join): reply on attempt to join a BADCHANed
channel is now ERR_BANNEDFROMCHAN instead of ERR_BADCHANNAME

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@300 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 24 Oct 2000 21:05:00 +0000 (21:05 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

* ircd/channel.c: ok, now last mode rules; mode +ps will always
result in +s (and won't send a mode if the channel is already +s);
mode +sp will always result in +p; -n+n on a +n channel results in
no mode change; -n+n on a -n channel results in a +n mode change;
etc.

Status: stable; I don't expect there will be any more problems besides bugs

Testing done: Simple modes conform to the behavior I expect, i.e., last
  mode takes precedence.  No empty mode commands are forwarded to remote
  servers.  +p and +s are mutually exclusive.  No unset modes are removed.

Testing needed: Brute force check it and report any problems; I'm
  particularly concerned with BURSTs and server MODEs, though reports on
  OPMODE and user MODEs will also need to be considered.  It should work.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@299 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 23 Oct 2000 21:44:48 +0000 (21:44 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fixed a couple of bugs in the new mode parser, in particular a bug in
mode_parse_limit that wiped out all modes when you did -l, and another
more minor bug having to do with presentation--i.e., if you did a +p
on a channel that was not +s, you would see "-s+p"

Some behavior may still be unexpected; for instance, "mode #test +ps" will
toggle the channel mode between +p and +s, because of the mutual
exclusivity, and if you do "mode #test -n+n" on a +n channel, you will get
"mode #test -n".  We may be able to solve this by removing the shortcut
test at the top of mode_parse_mode...

Testing done: I checked to see if the -iklmntp * behavior worked correctly,
and it did--note that "*" there will be properly treated as an error if the
channel key is, say, "foobar" ;)  I also checked to see that +p/+s worked
as I desired, and it does--which is how I know of the other behavior ;)

Testing needed: tell me what kind of behavior your prefer!

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@298 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Greg Sikorski [Thu, 28 Sep 2000 18:40:50 +0000 (18:40 +0000)]
Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Log message:

Switch logic in m_names to avoid an assert() while debugging.

--Gte

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@297 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Wed, 20 Sep 2000 01:51:38 +0000 (01:51 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: Fixup compile errors for chkconf, somehow the dependencies
for chkconf don't get revised correctly.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@296 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Tue, 19 Sep 2000 05:41:48 +0000 (05:41 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: Moved K:lines to new data structures and list, fixup affected
code, rework stats code a bit to report them correctly.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@295 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Mon, 18 Sep 2000 00:39:27 +0000 (00:39 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: general cleanups in connection class code

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@294 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Sun, 17 Sep 2000 08:32:40 +0000 (08:32 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: Move me config stuff to local conf, fixup affected code,
test changes.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@293 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Sun, 17 Sep 2000 07:01:08 +0000 (07:01 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: add missing prototype

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@292 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Sun, 17 Sep 2000 06:49:55 +0000 (06:49 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: Merge in changes from .10 pl 12, fixup merge conflicts,
temporarily back out IPcheck changes to get bug fixes from .10.
Build and test, remake dependencies.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@291 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Sun, 17 Sep 2000 03:41:38 +0000 (03:41 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: general mayhem, tweak this add that, refactor logic a bit,
add client.c, move regular expressions to ircd_string

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@290 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Sat, 16 Sep 2000 05:35:02 +0000 (05:35 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: Add CRuleConf struct and support code, change state machine
to strip quotes from quoted strings, fixup code that depended on changes,
tested the whole mess.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@289 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Fri, 15 Sep 2000 07:27:09 +0000 (07:27 +0000)]
Author:     Bleep <helveytw@home.com>
Log message: More general mayhem in confland. Convert listeners, t lines,
admin stuff. General cleanups, test the whole mess. Moved hostent
validation to res.c and rewrite using a regex.

Note: The validation rules are somewhat restrictive, I didn't modify the
rules. Specifically it disallows underscores in the hostname. We may want
to consider relaxing this rule, most people do. Perhaps we should put this
in a config file?

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@288 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Thu, 14 Sep 2000 06:55:47 +0000 (06:55 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: ewps missed one of the bugs

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@287 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Thu, 14 Sep 2000 06:53:38 +0000 (06:53 +0000)]
Author:      Bleep <helveytw@home.com>
Log message: rewrite conf parser, fix logic bug, add struct

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@286 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Bleep <helveytw@home.com>
Bleep [Wed, 13 Sep 2000 07:55:56 +0000 (07:55 +0000)]
Author: Bleep <helveytw@home.com>
Log message:
Put clients, slinks, and memberships in free lists

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@285 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Wed, 30 Aug 2000 15:58:53 +0000 (15:58 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Pulled up the do_names() fix from u2.10.10.pl11

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@279 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 15 Jul 2000 23:55:33 +0000 (23:55 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

IP gline's / k:lines are now done with bit tests.  This should be much
much faster.

As a side effect you can now gline/kline  10.0.0.0/8 for instance.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@271 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 15 Jul 2000 12:29:16 +0000 (12:29 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed lots of compiletime warnings.  Thanks to CyberDude that gave me
a shell so I could test.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@269 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer
Perry Lorier [Sat, 15 Jul 2000 01:31:24 +0000 (01:31 +0000)]
Author: Isomer
Log message:

More doco changes, IPcheck 'fixes'.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@268 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Greg Sikorski [Sun, 9 Jul 2000 14:19:44 +0000 (14:19 +0000)]
Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Log message:

Clean up compiler warning.

m_oper.c: In function `m_oper':
m_oper.c:206: warning: implicit declaration of function `write_log'
m_oper.c:207: warning: implicit declaration of function `myctime'

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@266 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sun, 9 Jul 2000 04:52:59 +0000 (04:52 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

* Updated doc/ircd.8, it was 12 years out of date.
* rewrote m_whois.c, much clearer how it works, fixed a couple of it's quirks
and documented how it works.  Should work the same as the old version.
If the phase of the moon is in the right quarter it may even use less cpu.
* updated rfc1459.unet
* fixed some IPcheck funnies.
* fixed the numeric nick collision funnies? (unsure)
* We're now keeping track of server connections in IPcheck to prevent us having
to special case them all over the place.

Testing required:
 * does it run.
 * does whois work as expected?
 * does ipcheck still core?
 * are the docs all up to date?

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@265 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sun, 2 Jul 2000 01:06:17 +0000 (01:06 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed adding remote clients with their servers IP.  Doh! Stupid stupid stupid.
Thanks Hektik for finding this one :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@263 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 1 Jul 2000 12:37:03 +0000 (12:37 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed the "bug" that admin's keep reporting that people are slipping through
they're K:'s and when they /rehash they see a whole heap suddenly get removed.

What really happens:
 When a /rehash comes in everyones compared against all the glines and klines,
including unregistered people that haven't had the tests done yet.  So the
reason that they see people being 'glined' is because they haven't been tested
yet.

The fix?  We now say "Gline active for Unregistered Client foo" where
appropriate.  Thus making it more obvious to everyone whats going on.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@262 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sat, 1 Jul 2000 05:24:56 +0000 (05:24 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Well, heres my IPcheck changes.
First note that this INTENTIONALLY doesn't compile - to people that like to
regularly have the bleeding edge version to bug test - thanks, but this
version is just far too unstable, I don't like committing knowingly buggy
code, but this is it. (On the other hand, changing a #if 1 to #if 0 makes it
compile again if your really feeling insane).

I'm interested in various coders to have a look at this, currently this
doesn't deal with nick collisions at all, is this my bug? or something left
over from what kev did?

Theres assert()'s all over the place, if it miscounts then you should have
a nice core for you to examine.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@261 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Thu, 29 Jun 2000 23:44:45 +0000 (23:44 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed minor bugs in command line handling that made testing a pain.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@260 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <Isomer@coders.net>
Perry Lorier [Thu, 29 Jun 2000 23:21:15 +0000 (23:21 +0000)]
Author: Isomer <Isomer@coders.net>
Log message:

* Fixed bug with LOCAL_KILL_ONLY in m_kill.c
* Tidied m_nick.c

(These are just some minor things I've been tweaking while playing with IPcheck)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@259 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Ghostwolf <foxxe@trms.com>
Joseph Bongaarts [Tue, 13 Jun 2000 04:55:42 +0000 (04:55 +0000)]
Author: Ghostwolf <foxxe@trms.com>
Log message:
Iso forgot mo_stats() when he added /stats v and I'm much too lazy to deoper to use it. :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@256 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Tue, 13 Jun 2000 03:01:22 +0000 (03:01 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Add stats v, cosmetic change to IPcheck

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@252 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Greg Sikorski [Fri, 9 Jun 2000 20:56:03 +0000 (20:56 +0000)]
Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>

Log message:
Clean up compiler warnings.

Status: Compiles
Testing needed: None

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@251 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 9 Jun 2000 19:18:12 +0000 (19:18 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

* ircd/channel.c (mode_parse_client): don't send warning if
there's not enough arguments for a +/-o/v; means the habit of
doing "/mode #channel +oooooo bob" doesn't result in a bunch of
error messages

Status: Compile-checked
Testing needed:

Make sure "/mode #channel +oooooo bob" doesn't result in five warnings
about not enough parameters ;)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@250 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Greg Sikorski [Sun, 4 Jun 2000 05:19:30 +0000 (05:19 +0000)]
Author: Greg Sikorski <gte@atomicrevs.demon.co.uk>
Log message:

At present, a "/names #mychan" will iterate over the GlobalChannelList to produce
the reply.
It loops over all 25,000 channels each time someone does a /join #mychan (!)

This patch refactors /names to deal with the 2 special cases seperately, and
reduce the need for this wasted effort. (Will also try and get some gperf stats
ready soon).

Case 1. A standard /names #channel[,#channel2,#channel3 ...] - quick/simple lookup
        and list.

Case 2. A "/names 0", to list all the visibile channels & associated visible users
        followed by the remaining users not in any channels, or in secret channels.

Status:
Compiled, thoroughly testing.

Exploits such as /names 0,0,0,0,0,0,,,,,,,, [etc] are avoided, the routine drops
out after the first 0 encountered.

Testing needed:

Test remote /names, ensure invisible/secret chans aren't displayed anywhere they
shouldn't be.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@249 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 3 Jun 2000 03:01:11 +0000 (03:01 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

GLINE storm fix...yeah, this is pretty complicated :/  Basically, if
there's a gline for a user we send a NICK for, we make sure and insert
%<lastmod>:<mask> after the user modes, if present.

Status: compiled, tested

Testing needed:

Test all the code paths thoroughly; this is a rather complicated change, so
take nothing for granted.  In particular, make sure bursting servers send
the right stuff, especially in the no-usermode case, which is the only part
I haven't stringently tested.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@248 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Sat, 3 Jun 2000 00:09:13 +0000 (00:09 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

This is the fix for the JUPE storm problem

Status: Tested

Testing needed:

Rigiorious testing of all code paths, to make sure I haven't
missed something important...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@247 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 2 Jun 2000 23:09:20 +0000 (23:09 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Actually, this should be the slightest bit more efficient than an else-if
clause.

Status: Compiled
Testing needed: Intuitively correct, but some testing is probably in order

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@246 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 2 Jun 2000 22:57:33 +0000 (22:57 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Inhibit JUPE/GLINE processing resynch sends during netburst

Status: Tested
Testing needed: QA

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@245 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Fri, 2 Jun 2000 14:49:31 +0000 (14:49 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Fix bug where user parting local channel never really leaves

Status: Tested, works
Testing needed: QA only

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@244 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Ghostwolf <foxxe@trms.com>
Joseph Bongaarts [Wed, 31 May 2000 05:22:09 +0000 (05:22 +0000)]
Author: Ghostwolf <foxxe@trms.com>
Log message:
Fixed protocol syntax typo's in m_motd.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@242 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Tue, 30 May 2000 07:35:52 +0000 (07:35 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Fixed stats l
Hopefully IPcheck ghosts should get killed everywhere.
Fixed warning message in s_conf.c.

Testing required:
 * /stats l
 * IPcheck code.  Esp connecting lots of people all around the network then
connecting the servers up and trying to push it over the 255 user limit. :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@241 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

23 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Mon, 29 May 2000 10:37:34 +0000 (10:37 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

 * Fixed extra space on /names as reported by poptix.
 * Fixed incorrect syntax of ERROR message reported by Mr_RIP

needs testing:
 * Throttle message
 * /names

I've not even tried to compile this, I've been awake for over 24hrs now, if it
doesn't compile, blame someone else other than me? :)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@240 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 18 May 2000 23:05:04 +0000 (23:05 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Burst hopefully fixed

Status: Needs continued testing
Testing done: none

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@239 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 18:54:31 +0000 (18:54 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Small fixes for some minor bugs

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@238 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 18:21:48 +0000 (18:21 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Update JUPE documentation, write GLINE documentation; please feel free to
refine these documents ;)

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@237 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 18:09:47 +0000 (18:09 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

1) Don't propagate local changes to jupes and G-lines
2) Force oper-initiated changes of Uworld-set G-lines to be local only
3) Remove Uworld-set G-lines instead of simply deactivating them

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@236 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 17:43:47 +0000 (17:43 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Glines from Uworld of the form "E GL * -<mask>" are now accepted, and
deactivate the G-line.  No thanks to Maniac-.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@235 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 17:28:30 +0000 (17:28 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

This should finish up conversion to the new sendcmdto_* routines except for
removing the dead (or dying) code.  Hopefully once the dead code is removed,
we'll lose a few thousand lines from channel.c alone ;)

Status: Compiles, tested
Testing needed: Brute-force literally everything

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@234 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Thu, 4 May 2000 15:33:36 +0000 (15:33 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

reimplement BURST with empty channel processing in m_end_of_burst

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@233 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Wed, 3 May 2000 14:50:32 +0000 (14:50 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

conversions in m_server.c; getting very close to being done with this
send.c project.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@232 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Bleep <tomh@inxpress.net>
Bleep [Wed, 3 May 2000 03:38:43 +0000 (03:38 +0000)]
Author: Bleep <tomh@inxpress.net>
Log message:
Fix broken include ordering in ircd.c.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@231 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Bleep <tomh@inxpress.net>
Bleep [Wed, 3 May 2000 03:32:24 +0000 (03:32 +0000)]
Author: Bleep <tomh@inxpress.net>
Log message:
Cleanups for IPcheck work.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@230 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 2 May 2000 20:25:32 +0000 (20:25 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Starting to remove dead code; noted a sendto_ops use in a header file;
marked a sendto_one in hunt_server more clearly

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@229 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Tue, 2 May 2000 20:09:31 +0000 (20:09 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Conversion to new send.c routines; you do *not* want to know what I went
through to debug these.  Man, and I thought m_server was complex...

Status: Tested on a homogeneous network
Testing needed:

Test on a mixed network.  Note: assertion bug may cause /rping local.server
to core; it did happen to me.  I added IsMe() to the tests to fix it, but
look out on other servers.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@228 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 1 May 2000 20:51:38 +0000 (20:51 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

Update to new send routines; I somehow missed this one...

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@227 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Kev <klmitch@mit.edu>
Kevin L. Mitchell [Mon, 1 May 2000 16:50:41 +0000 (16:50 +0000)]
Author: Kev <klmitch@mit.edu>
Log message:

removed a piece of dead code, completely reimplemented m_kick from scratch

Status: Debugged and tested
Testing needed: Brute-force everything over and over again

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@226 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Mon, 1 May 2000 11:23:57 +0000 (11:23 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

 * Add 'PREFIX' to ISUPPORT line - shamelessly stolen from unreal ircd.
(Whistles innocently)
 * My take on the /part bug fix.  It'll either work, or core the server -
either way, it's got to be an improvement on the current scheme.  Ode for
GC.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@225 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

24 years agoAuthor: Isomer <isomer@coders.net>
Perry Lorier [Sun, 30 Apr 2000 12:41:49 +0000 (12:41 +0000)]
Author: Isomer <isomer@coders.net>
Log message:

Ok, I was going to be asleep an hour ago, I shouldn't be legally allowed to
commit patches in this state.  Fix for my fix for the m_invite bug.

Thanks hektik for being more awake than I am.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@224 c9e4aea6-c8fd-4c43-8297-357d70d61c8c