697 lines
37 KiB
Plaintext
697 lines
37 KiB
Plaintext
#
|
|
# ChangeLog for ircu2.10.10
|
|
#
|
|
# $Id: ChangeLog.10,v 1.2 2003-01-08 03:17:18 klmitch Exp $
|
|
#
|
|
# Insert new changes at beginning of the change list.
|
|
#
|
|
-------------------------- Released 2.10.10.pl15
|
|
* Fiddle with /KILL and various exits to make the user experience uniform,
|
|
no matter who's doing the killing or where. Previously, differences in
|
|
QUITs and in the messages sent to the killed client could help make a
|
|
partial map of the network; now that these messages are all uniform, there
|
|
is no way to tell. -Kev
|
|
* Split ISUPPORT numeric into two numerics, so as not to exceed the 15
|
|
parameter limit imposed by the RFC -Kev
|
|
* Turn on HEAD_IN_SAND_REMOTE...oops -Kev
|
|
* Send prefixed error messages to other servers, so ERROR doesn't get
|
|
interpreted as a prefix -Kev
|
|
* Reverse sense of HEAD_IN_SAND_WHO_HOPCOUNT to do what was intended; use a
|
|
hopcount of 0 if user is using /who on him/herself -Kev
|
|
* Allow a user to see his/her own idle time without having to do
|
|
/whois <nick> <nick>; correct spelling of HEAD_IN_SAND_IDLETIME to
|
|
HEAD_IN_SAND_WHOIS_IDLETIME -Kev
|
|
* Fix a missing ')' in the idle time stuff -Kev
|
|
* Include ircd_policy.h in whocmds.c -Kev
|
|
* Fixed bug in idle time, thanks hektik -- Isomer
|
|
* Update 005 to be compliant with other networks -- Isomer
|
|
* Hide hop count -- Isomer
|
|
* Hide idletime unless you explicitly ask for it -- Isomer
|
|
* /wallops and /wallusers would dump core because of the previous change--my
|
|
bad. Now only include user@host when sptr is a client. -Kev
|
|
* /wallops and /wallusers would leave out the user@host--noticed because
|
|
pl14 broke my script. Fixed. -Kev
|
|
* Fix several compile warnings, including the one in table_gen.c -Kev
|
|
* Fix a bug in m_silence.c that rendered it uncompilable -Kev
|
|
* Hopefully make mode clears during bursts appear to originate from local
|
|
server -Kev
|
|
* Fix several things to send server<->server protocol messages with numeric
|
|
origins -Kev
|
|
* Rework directed notices and mass-messages to use numerics and tokens
|
|
as appropriate; the latter required the modifications to
|
|
sendto_match_butone() -Kev
|
|
* Redefined how sendto_match_butone() works, since it's only used with
|
|
PRIVMSG or NOTICE -Kev
|
|
* Bumped patchlevel to pl15(development) -Kev
|
|
* Corrected reverse-sense of HEAD_IN_SAND_REMOTE test in m_whois() -Kev
|
|
* Clean up logic in m_whowas(), corrected numeric reply -Kev
|
|
* Finally fixed /whois to tell you what your own server is -Kev
|
|
* Clean up logic in add_banid() with some well-placed DupString()'s -Kev
|
|
* Hide which server performed a nick collision kill -- Isomer
|
|
* To allow for remote whois not giving away the remote server, all remote
|
|
numerics to clients are remapped to come from the local server :/ -- Isomer
|
|
* All remote queries are disabled for users, except /whois -- Isomer
|
|
(/whois now uses the second parameter for which server to use, ie:
|
|
/whois <ignored> <nick> will query <nick>'s server.)
|
|
* Fixed /who showing server name -- Isomer
|
|
* Fixed burst showing linking server -- Isomer
|
|
* Fixed burst bans showing linked server -- Isomer
|
|
* Fixed /whowas showing server name -- Isomer
|
|
-------------------------- Released 2.10.10.pl14 (You got any issues with that punk?)
|
|
* Changed (then fixed) /LINKS to output an empty links list -- Isomer
|
|
* Make netsplit server notice say the right thing
|
|
* Final fix for HEAD_IN_SAND_WHOIS_SERVERNAME
|
|
* Fix a bug with implementation of HEAD_IN_SAND_NETSPLIT
|
|
* Permit users to find out what server they're on, since they already
|
|
know -- Kev
|
|
* Added HEAD_IN_SAND_WHO_SERVERNAME to cover final source of server
|
|
names -- Kev
|
|
* Fixed wallops, wallusers now sends wallops to local clients,
|
|
wallusers to servers.
|
|
* Added host to /kill messages -- Isomer
|
|
* Fixed whois (opers can see server names) -- Isomer
|
|
* Implement walluser -- Bleep
|
|
* stats fixed -- Isomer
|
|
* trace disabled from non opers -- Isomer
|
|
* server name removed from whois (but not /who, shrug!) -- Isomer
|
|
* netsplits are now represented with "*.net *.split" -- Isomer
|
|
* Done /links -- Isomer
|
|
* Modifications to map as suggested by nighty -- Isomer
|
|
* Wallops is the only code that uses sendto_ops_butone now, this
|
|
isolates wallops entirely. No server notices sent by wallops.
|
|
* HEAD_IN_SAND_SNOTICES done -- Bleep
|
|
* HEAD_IN_SAND_WALLOPS done -- Bleep
|
|
* HEAD_IN_SAND_DESYNC done -- Bleep
|
|
* HEAD_IN_SAND_MAP done -- Isomer
|
|
* According to CFV-165, buring our head in the sand to try and
|
|
* hide from DoS - First pass -- Isomer
|
|
* As requested by hop: hidden keys are shown as "*" not "" -- Isomer
|
|
* As requested by Buff: allow admins to *disable* below behavour -- Isomer
|
|
* As requested by Adriel, compile time option to disable mo_wallops
|
|
-- Isomer
|
|
-------------------------- Released 2.10.10.pl13
|
|
* Don't allow two copies of the server to start -- Isomer/Kev
|
|
-------------------------- Released 2.10.10.pl12
|
|
* Release 2.10.10.pl12 before Mr_RIP threatens physical violence -- Isomer
|
|
* Don't 'hubhide' nick's in /trace (oops!) -- Isomer
|
|
* Allow K:line by realname, updated client connection logging -- Gte-
|
|
* ircd/m_join.c: use ERR_BANNEDFROMCHAN instead of ERR_BADCHANNAME -- Kev
|
|
--------------------------- Released 2.10.10.pl11.(release)
|
|
* Fixed G-lined (reason), thanks to dfx -- Isomer
|
|
* Added reason to the "G-lined (reason)" quit messages. -- Isomer
|
|
* Removed 'for nick[1.2.3.4]' from quit messages, they're redundant
|
|
and make hub hiding more reliable --Isomer
|
|
* ircd/s_user.c (hunt_server): add 'No such server' message back
|
|
--Isomer
|
|
* ircd/s_bsd.c: remove ALWAYSFLUSH - the problem wasn't ircu's fault
|
|
-- Isomer
|
|
* ircd/m_names.c (m_names): don't add a space if the user's a
|
|
zombie; fixes an overrun where we generate a huge number of spaces
|
|
in the names reply without length-checking them properly -- Kev
|
|
* added 'ALWAYSFLUSH', if you thought the furgeson flusher was bad...
|
|
--Isomer
|
|
* Fixed /USERHOST again. Horribly embarrased. Thanks again Liandrin
|
|
--Isomer
|
|
* Added extra field to /stats Y showing how many people are in that class.
|
|
Information was previously available via /trace, however tended to flood
|
|
you off if you weren't on a good connection. Requested by Mr_RIP
|
|
-- Isomer
|
|
* Fixed 'BADCHAN' resetting itself to 'Y', reported by Gator --Isomer
|
|
--------------------------- Released 2.10.10.pl10
|
|
* Released 2.10.10.pl10
|
|
* Backported /names optimisation from 2.10.11.
|
|
'/names 0' now returns verbose listing, '/names' simply returns
|
|
ENDOFNAMES. Disallow harmfull /names usage. --Gte
|
|
* Fixed ERR_NOSUCHNICK bug in userhost, thanks to Liandrin --Isomer
|
|
* Conceal more bugs in IPcheck --Isomer
|
|
* Add 'POST' as a unregistered command to disconnect people abusing web
|
|
proxies --Isomer.
|
|
* Conceal bugs in IPcheck --Isomer
|
|
* Fix for changing the wrong define --Isomer
|
|
* Fix for the easter buggy. --Isomer
|
|
* Fix for rpong --Run
|
|
* Fix for other IPcheck bug, thanks BLMet. --Bleep
|
|
* Fix for IPcheck bug, rewrite IPcheck from scratch (mostly),
|
|
add changes for new code to s_user.c, ircd.c --Bleep
|
|
* Shorten connection timeout for auth queries to 60 seconds
|
|
If connection is from localhost use the server alias for the
|
|
client host. --Bleep
|
|
* Fix for ident bug --Isomer
|
|
* Fix for rping/rpong --Gte
|
|
* Add m_pong to parser handler --Bleep
|
|
* Fix for EXTENDED_NUMERICS bug doh!!! --Bleep
|
|
* Fix for Max Undernet Server bug --Bleep
|
|
* Fix for PRIVMSG<->NOTICE translation from hubs --Bleep
|
|
* Fix for Bogus protocol strings for P9 servers --Bleep
|
|
* Hookup UPING code again, cleanups --Bleep
|
|
* Convert numerics back to mask and shift extended numerics
|
|
follow same mechanism --Bleep
|
|
* Fixed bogus errno return on Solaris --Bleep
|
|
* Fixed core on RPING bug, tokenized RPING --Bleep
|
|
* Remove add_local_domain entirely, unused --Bleep
|
|
* Merge u2_10_10_beta06 create branch u2_10_10_beta07 --Bleep
|
|
* Remove size_t from socket calls, audit usage of size_t
|
|
values. --Bleep
|
|
* Fix for OSF1, RES_NOALIASES not defined there. --Bleep
|
|
* Don't bother doing hostname lookup or setting me.sockhost
|
|
since we never want to display it there is really no reason
|
|
to have the info. --Bleep
|
|
* Bugfix broken N:line check in chkconf --Maniac
|
|
* Bugfix, fix clients occasionally getting stuck in IPcheck
|
|
code. Add note to members in client struct that aren't used
|
|
for any remote client code, didn't want to actually move them
|
|
this close to release (paranoia) --Bleep
|
|
* A few little cleanups in check_pings, removed yet another
|
|
address display. --Bleep
|
|
* Bugfix, autoconnects displaying server IP address to opers.
|
|
--Bleep
|
|
* Remove names from /stats p, since its always the server
|
|
name from the M:line anyhow, (redundant information)
|
|
--Bleep
|
|
* Unborked throttling. --Bleep
|
|
* Fix two stupid bugs, related to IP mismatch kills. --Bleep
|
|
* Clean up configuration, make it a bit easier for admins to
|
|
turn off asserts and heap checking code. Moved host name dns
|
|
query for listener virtual host ports to dead code and use
|
|
me.name for the listener name (no sense in looking up the name
|
|
if we don't want to display it). Change direct bump of unknowns
|
|
in s_bsd.c to Count_newunknowns(UserStats) for consistency.
|
|
--Bleep
|
|
* Added option to kill any connecting client with a forward and
|
|
reverse DNS mismatch. Fixed bug in s_auth that that caused
|
|
incorrect counts for unknown clients. Replaced missing server
|
|
notice for SNO_IPMISMATCH. --Bleep
|
|
* Added a few more little name tweaks, no sense in looking up
|
|
the hostname in the conf if no one knows it. --Bleep
|
|
* Moved to beta archive, bumped patchlevel, fixed message for
|
|
lost C:line in s_conf.c (I don't think I've ever seen this happen)
|
|
--Bleep
|
|
* Finished host hiding changes, it should not be possible for any
|
|
online user to discover the real hostname or IP address of any
|
|
connected or unconnected server listed in the configuration. This
|
|
applies to opers and regular users. The name in the M:line is the
|
|
name used for connecting and all informational messages. --Bleep
|
|
* Removed code in dbuf.c that flushes the dbufs if the server runs out
|
|
it looks like a fully loaded server may not be able to handle a net
|
|
break without shedding a few clients. --Bleep
|
|
* Finish IP address cleanup, alpha should be clean for not displaying
|
|
server hosts or IP addresses to users now. This needs to be verified.
|
|
Changed version to u2.10.10 per Isomers suggestion. --Bleep
|
|
* Remove server IP address from info line for connecting servers.
|
|
This almost completes the IP address hiding changes for alpha, there
|
|
are still a few stats commands available to users that will show the
|
|
server addresses, but they can be easily disabled or only show '*'s
|
|
to non-opers. --Bleep
|
|
* Fix possible (but not likely) memory leak in debug allocator, couldn't
|
|
find the "meg a minute" problem, using the debug allocator on the
|
|
production network with more than 1000 clients on a server may cause
|
|
problems if you don't have a lot of memory. (This does not seem to
|
|
be a problem with non-debug builds) --Bleep
|
|
* Captialisation fixes, just to keep certain ppl quiet. --Isomer
|
|
* Removed +s channels from /list. They were shown sometimes, but not
|
|
others, and the information that was shown about them was inconsistant.
|
|
list is not an effective way to gain information anyway. Reformatted
|
|
and touched up readme.who as well. --Isomer
|
|
* Added MAP to ISUPPORT, added doc/features.txt --Isomer
|
|
* Added suggestions made by scripters. more info for ISUPPORT, and
|
|
added stuff to 'TODO' --Isomer
|
|
* More TODO items 'done'. P:'s now ignore '*'s. ping shouldn't do funky
|
|
stuff with mirc anymore, needs discussion --Isomer
|
|
* Typo fixed. Now I'm annoyed. --Isomer
|
|
* Right, Makefile's gonna work now or I'm going to get REALLY annoyed at it.
|
|
--Isomer
|
|
* TODO, m_ping, ircd/Makefile.in: Added note to TODO, added info to
|
|
m_ping, and fixed Makefile bug using bsdmake. --Isomer
|
|
* s_bsd.c, listener.c, s_user.c, s_serv.c, s_bsd.h:
|
|
Set receive and send buffers in correct order to enable flow
|
|
control for clients and support fat pipes better for servers.
|
|
Finally got it right :)
|
|
See Stevens "Unix Network Programming" v1 p 191-193
|
|
--Bleep
|
|
* ircd.c (main): added idiot checking to make sure MAXCONNECTIONS
|
|
is sane. --Bleep
|
|
* send.c: Don't let negative fd's break stuff, audit sentalong
|
|
usage for sillyness. --Bleep
|
|
* send.c (sendto_common_channels): bug fix, code assumed client
|
|
local, file descriptor is only in local client struct
|
|
--Bleep
|
|
* table_gen.c, channel.c: make FIXME changes, removed
|
|
FIXME code from table_gen, readd FIXME code to channel.c,
|
|
I hope I got this right. --Bleep
|
|
* Makefile.in: Add purify def, fix so CFLAGS don't error
|
|
off when using Solaris compiler --Bleep
|
|
* fda.c (fda_free): fix compile error on Solaris --Bleep
|
|
* configure.in: add SunOS case to detect Solaris --Bleep
|
|
* os_solaris.c (os_send_nonb): fix solaris compile error --Bleep
|
|
* exaconf.2: add file from conf design to docs directory to
|
|
have it available for new conf parser development --Bleep
|
|
* fda.c (fda_free): fix memory leak, doh!!! --Bleep
|
|
* hash.c (addNickJupes): fix buffer overrun --Bleep
|
|
* s_bsd.c (read_message(poll)): fix uninitialized memory read
|
|
bogosity in poll macros. --Bleep
|
|
* channel.c (send_user_modes): change to send XXX:ov instead
|
|
of XXX:o:v doesn't send XXX: if no modes set. --Bleep
|
|
* s_bsd.c (connect_server): bugfix for connect/rehash/connect
|
|
multiple outstanding dns query core. --Bleep
|
|
* channel.c (send_user_modes): bugfix for burst not sending modes
|
|
when burst line is created. --Gte
|
|
* m_gline.c: change NumServ(cptr) to NumServ(sptr) found by Gte
|
|
--Bleep
|
|
* config-sh.in: add WildThangs BADCHAN config fix --Bleep
|
|
* config-sh.in: add Runs restart bugfix --Bleep
|
|
* Makefile.in: make sure version.c gets regenerated when checksums
|
|
change --Bleep
|
|
* Makefile.in: remove hash.c/crypt/sums idiocy, all of the ridiculous
|
|
anti-hack stuff is already done in version.c anyhow.
|
|
"Shhh..., don't tell the admins ( .)( .) you're being watched"
|
|
--Bleep
|
|
* hash.c (m_hash): fix count bugs --Bleep
|
|
* m_squit.c (mo_squit): fix off by one, /quote SQUIT bug --Bleep
|
|
* ircd_relay.c: oops, changed the wrong one. Fixed previous fix. --Isomer
|
|
* Makefile.in, ircd_relay.c: Fixed 'make depend', added dependancies, fixed
|
|
bug where server would core on sending a server notice --Isomer
|
|
* m_kick.c (ms_kick): fix core on kick message coming from
|
|
server --Bleep
|
|
* config.in: remove CRYPT_LINK_PASSWORD option --Bleep
|
|
* doc/readme.www: Applied Runs' doc patch --Bleep
|
|
* client.h: Add member to client struct to try to aggravate the
|
|
bug found by Jesus --Bleep
|
|
* client.h: Remove IsListening macros and flags, add FLAGS_UPUNG
|
|
and IsUPing/GetUPing/SetUPing macros --Bleep
|
|
* m_silence.c, m_create.c: check for IsServer(sptr) don't
|
|
allow X SILENCE X +*@*.com or X C #blah 947477407 core the
|
|
server. --Bleep
|
|
* os_*.c, res.c: clean interface for os_recvfrom_nonb --Bleep
|
|
* uping.c, uping.h: new files for UDP pings, these aren't hooked up yet, or
|
|
finished or tested.
|
|
--Bleep
|
|
* channel.c: find_member_link(): Fail fast for Servers, prevents core when
|
|
servers set a channel mode. --Isomer
|
|
* channel.c, channel.h, various.c: Changed find_member_link() to take
|
|
a chptr instead of the first member, and special case'd +k users
|
|
(see comment in code for more details) --Isomer
|
|
* ircd/Makefile.in: Changed gnu specific $^ for $< in table_gen
|
|
rules --Bleep
|
|
* INSTALL: Explained about CVS --Isomer
|
|
* example.conf: Point to coder-com@ for help configuring the server. --Isomer
|
|
* INSTALL: Make things a bit more plain. --Isomer
|
|
* s_bsd.c (read_message (poll)): removed local_cptr array using
|
|
this temp made possible a bug where if a client lower in the list
|
|
managed to exit a client higher in the list, a dangling reference
|
|
to the already exited client would be left in the local_cptr array.
|
|
Found by Quantum by loading 100's of clones with the same nick.
|
|
--Bleep
|
|
* INSTALL: Added instructions for -lcrypt FAQ --Isomer
|
|
* INSTALL: Added instructions for -lresolv FAQ --Isomer
|
|
* INSTALL: Added instructions for making ./configure executable --Isomer
|
|
* numeric.h: Merged in some more numerics that other ircds user --Isomer
|
|
* IPcheck.c: Fix gramatical error to keep pedants happy. --Isomer
|
|
* IPcheck.c: Allow -DNOTHROTTLE for debugging purposes. --Isomer
|
|
* m_stats.c: make stats c available to opers only, TEMP_HACK --Bleep
|
|
* IPcheck.c: Fixed outdated comment. Thanks Quantum --Isomer
|
|
* ircd_reply.c: Fix the fix, silly typo. thanks Bleep --Isomer
|
|
* ircd_reply.c: added check for people without nicks. --Isomer
|
|
* doc/Authors, ircd/version.c.SH: updated /info and maintainer
|
|
lists. --Isomer
|
|
* channel.h, channel.c, m_join.c, m_mode.c: add David M's
|
|
lchanmode patch update --Bleep
|
|
* s_auth.c: fix ident bug, comment code for rule. --Bleep
|
|
* m_invite.c (m_invite): Fix syntax error, missing ')'. -- Isomer.
|
|
* m_invite.c (m_invite): tokenize invites, change from accidental
|
|
broadcast to directed message (bug fix). --Bleep
|
|
* m_time.c (m_time): send tokenized time messages --Bleep
|
|
* s_user.c (set_user_mode): Send wallops to everyone by default
|
|
allow compile option WALLOPS_OPER_ONLY for networks that want
|
|
to disable wallops for users. --Bleep
|
|
* s_misc.c (exit_one_client): tokenize client quit message to other servers.
|
|
--Gte
|
|
* m_kick.c: you would have thought I'd fix all of them the first time, but
|
|
no... -- Isomer
|
|
* m_kick.c: Fixed missing space after TOK_KICK -- Isomer
|
|
* m_burst.c: Fixed netrider kick bugs -- Isomer
|
|
* s_user.c: Bug fix --Bleep
|
|
* s_user.c: only send wallops to opers --Bleep
|
|
* s_user.c: enforced undernet policy. -- Isomer
|
|
* s_user.c: replace user_modes with struct UserMode array
|
|
change code to use new struct. --Bleep
|
|
* s_user.c (set_user_mode): clean up switch statement --Bleep
|
|
* channel.c (set_mode): fixed -k foo bug, extra == 0 typo in
|
|
conditional. --Bleep
|
|
* dbuf.c (dbuf_alloc): fixed count bug, we _have_ to count it in
|
|
the branches. --Bleep
|
|
* dbuf.c, send.c, s_bsd.c, send.h: bahh finally did it right,
|
|
if a dbuf allocation fails, attempt to flush all send buffers except
|
|
for the one we are trying to build (we're twiddling with the list etc..)
|
|
if the allocation fails a second time, _then_ bail. --Bleep
|
|
* s_bsd.c, send.c: if dbuf_put fails for send or receive buffers,
|
|
call flush connections to free up some buffers (safe here). --Bleep
|
|
* dbuf.c (dbuf_put): back out previous change, afaict it would fail
|
|
spectacularly --Bleep
|
|
* dbuf.c (dbuf_put): call flush_connections(0) if we can't allocate
|
|
a dbuf the first time, this may prevent the server from dropping
|
|
connections during netbursts. --Bleep
|
|
* m_privmsg.c: fix IDLE_ON_MSG fix -- Isomer
|
|
* m_privmsg.c, parse.c: fix IDLE_ON_MSG bug --Bleep
|
|
* m_ison.c (m_ison): Temp hack to fix missing null terminator. --Bleep
|
|
* m_nick.c (m_nick): fix null nick reply bug --Bleep
|
|
* ircd_string.c, match.c: fix a couple possible issues with
|
|
the character attribute changes --Bleep
|
|
* s_auth.c, ircd.c: turn off connection status messages for
|
|
connections to server ports. --Bleep
|
|
* ircd.c, s_conf.c, m_server.c, ircd.h, s_conf.h:
|
|
removed portnum and server_port global variables, server port
|
|
in M:lines is ignored, server ports now need to be defined in
|
|
the P:lines. Add SERVER_PORT config option to allow:
|
|
'/connect server.net.dom' without specifying the port. --Bleep
|
|
* config-sh.in: change PORTNUM to SERVER_PORT now used for
|
|
default server port for outgoing connections in m_connect.
|
|
--Bleep
|
|
* example.conf: document changes to M:line for server port --Bleep
|
|
* ircd_chattr.h, ircd_string.h, ircd_string.c, table_gen.c:
|
|
put Nemesi's table generation code and macros back in, the
|
|
tables are now automagically generated whenever the table_gen.c
|
|
file is modified, use a slightly different mechanism to get the
|
|
tables in the executable. Add reference data file to test dir
|
|
for character attributes. --Bleep
|
|
* s_auth.c (check_ident_reply): add function that implements
|
|
auth reply undernet rules checking. --Bleep
|
|
* s_misc.c (date): added Runs Y2K patch --Bleep
|
|
* m_privmsg.c: work on server handlers, hookup new code to parser,
|
|
test, fixed a couple bugs, fixed username bug in server NICK
|
|
processing --Bleep
|
|
* ircd_chattr.c, m_privmsg.c: Work on privmsg code a bit more,
|
|
commit for review, still a bit more to do --Bleep
|
|
* os_bsd.c, configure.in: add os dependency file for bsd
|
|
--Bleep
|
|
* m_privmsg.c, ircd_string.c: little cleanups for privmsg
|
|
work on prototype handler for new parser. --Bleep
|
|
* m_connect.c, s_conf.c: clean up /connect handling code
|
|
--Bleep
|
|
* m_away.c, m_admin.c, m_close.c, m_connect.c:
|
|
start cleaning up handlers --Bleep
|
|
* whocmds.c, whowas.c, *.c: split out handlers from whocmds.c
|
|
and whowas.c --Bleep
|
|
* s_serv.c, m_*.c: split out handlers from s_serv.c
|
|
--Bleep
|
|
* querycmds.c, m_*.c: split out handlers from querycmds.c
|
|
--Bleep
|
|
* opercmds.c, m_stats.c, m_connect.c, parse.c, handlers.h, *.c
|
|
add new command handlers --Bleep
|
|
* channel.c, m_names.c: new file for names handler --Bleep
|
|
* channel.c, m_list.c: new file for list handler --Bleep
|
|
* channel.c, m_topic.c: new file for topic handler --Bleep
|
|
* channel.c, m_burst.c: new file for burst handler --Bleep
|
|
* channel.c, m_create.c: new file for create handler --Bleep
|
|
* channel.c, m_destroy.c: new file for destroy handler --Bleep
|
|
* channel.c, send.c, m_join.c: new file for join handler,
|
|
const fixups for send.c --Bleep
|
|
* channel.c, m_mode.c: new file for mode command handler,
|
|
clean up file scope buffer mess. --Bleep
|
|
* m_silence.c: split out SILENCE handler to a new file,
|
|
cleanup --Bleep
|
|
* m_ison.c: split out ISON handler to a new file, cleanup --Bleep
|
|
* m_userip.c: split out to new file, change userhost and userip
|
|
to use same algorithm with different formatting functions --Bleep
|
|
* m_userhost.c: split out to new file --Bleep
|
|
* send.c: add new function send_buffer, cleanup godemode ick a bit
|
|
--Bleep
|
|
* m_wallchops.c: split out wallchops handler --Bleep
|
|
* m_cprivmsg.c: split out m_cprivmsg and m_cnotice.
|
|
* m_pass.c, s_user.c: split out m_pass, pass message handler
|
|
--Bleep
|
|
* m_oper.c: split out m_oper.c from s_user.c, setup to use
|
|
new parser. --Bleep
|
|
* m_pong.c, m_ping.c, parse.c, s_user.c, channel.c:
|
|
Add new file for pong messages, convert ping and pong to use
|
|
numerics. Test pings and pongs on testnet. Fix numeric
|
|
nick bug in channel.c. --Bleep
|
|
* m_ping.c, s_serv.c, parse.c: new file for pings, fixed a
|
|
minor bug in ping handling. --Bleep
|
|
* m_nick.c, m_kill.c: clean up nick code for servers, still needs work
|
|
fix string formatting bug in m_kill --Bleep
|
|
* m_nick.c, s_user.c, ircd_chattr.c: add new file for NICK command,
|
|
clean up local client registration for nicks. --Bleep
|
|
* m_away.c, s_user.c, parse.c: split out m_away handlers for client,
|
|
add user_set_away function. --Bleep
|
|
* m_kill.c, ircd_reply: Rework handling of kill from server, add new error
|
|
message formatter. --Bleep
|
|
* m_kill.c (mo_kill): Rework handling for kill from operator on server
|
|
kill originated from --Bleep
|
|
* m_kill.c: new message handler file for kill --Bleep
|
|
* configure.in, ircd/Makefile.in: added automatic os checking to autoconf
|
|
checked --Gte
|
|
* m_quit.c: new message handler file for quit --Bleep
|
|
* m_privmsg.c: new message handler file for privmsg --Bleep
|
|
* ircd_string.c, support.c, support.h, *.c: moved strtoken to ircd_string
|
|
and renamed ircd_strtok --Bleep
|
|
* channel.c, s_user.c, s_debug.c, send.c, channel.h: finish membership code
|
|
--Bleep
|
|
* channel.c, more cleanups of membership code and macros --Bleep
|
|
* channel.c, s_misc.c: more cleanup in channel link code, most likely
|
|
still a bit broken yet, more to come. --Bleep
|
|
* querycmds.h (Count_remoteclientquits): fix minor bug --Bleep
|
|
* ircd.h, querycmds.h, struct.h, channel.c, list.c, map.c, opercmds.c,
|
|
s_err.c, s_serv.c, s_user.c, s_misc.c: Add Isomers passivelag0-1.patch
|
|
fixed minor bug in macros --Bleep
|
|
* channel.h, channel.c, s_user.c, s_debug.c, s_user.c:
|
|
added Membership struct for channel associations, change user/channel
|
|
lookups to use new struct. --Bleep
|
|
* channel.c, channel.h, s_user.c: cleanup channel and user code
|
|
a bit, new function find_no_nickchange_channel --Bleep
|
|
* parse.c, m_defaults.c: added default handlers and hooked up new
|
|
message handlers --Bleep
|
|
* *.c, struct.h: added Isomer's passivelag patch and, the second
|
|
p10 patch --Bleep
|
|
* ircd_reply.[ch]: new files for commonly used replies --Bleep
|
|
* m_proto.[ch]: new file for protocol command support, needed for zip
|
|
links --Bleep
|
|
* client.h, parse.c, msg.h: add code to support multiple message handlers
|
|
depending on client status. --Bleep
|
|
* s_bsd.c, packet.c: code cleanup prep for zip links --Bleep
|
|
* channel.c, opercmds.c, ircd.c, s_serv.c, s_user.c, querycmds.c,
|
|
whocmds.c, whowas.c: Add Isomers p10ify patch, tokenize server to
|
|
server commands --Bleep
|
|
* s_user.c (m_nick): killed goto --Bleep
|
|
* client.h, *.c: moved client stuff to client.h --Bleep
|
|
* version.c.SH, patchlevel.h, .patches: change version string
|
|
generation, patch level is now set in patchlevel.h by simply
|
|
bumping the number in the PATCHLEVEL string. --Bleep
|
|
* ircd_alloc.c, channel.c: fixup warnings in release build (NDEBUG)
|
|
--Bleep
|
|
* fda.h, ircd_alloc.h, fda.c, ircd_alloc.c, fda_t.c: new files,
|
|
runmalloc was core dumping on squits and unable to handle or
|
|
detect double frees, the memory debug code can be disabled by
|
|
compiling with NDEBUG defined --Bleep
|
|
* channel.c (remove_user_from_channel): refactor function --Bleep
|
|
* channel.c (m_kick): refactor function a bit, put all checks at top
|
|
move code out to new function (make_zombie) --Bleep
|
|
* s_bsd.c (completed_connection): fixed stupid
|
|
"Write error to blah: Socket not connected" bug --Bleep
|
|
* struct.h, send.h, send.c, s_bsd.c, IPcheck.c, s_user.c, *:
|
|
More socket code cleanup, move file descriptor to local part of
|
|
client struct, use cptr->error to handle the errno of any socket
|
|
error, fix bug in IPcheck that ends up only disallowing every
|
|
256th clone, Add more ipcheck forgiveness to s_user.c (needs work).
|
|
Changed IPcheck_local_connect and IPcheck_connect_fail interfaces to
|
|
use struct in_addrs instead of client structs to allow delaying the
|
|
allocation of the client struct till after the check was done.
|
|
Added can_send function to send.c (should be called before work is done
|
|
but right now it's called just before trying to send (needs work))
|
|
* channel.c: Added Isomers netride2.patch, still needs a config option
|
|
to turn it on (NO_INVITE_NETRIDE) --Bleep
|
|
* parse.c, msg.h: Added silent ignores for notices so connect progress
|
|
messages do not cause connecting server to spew ERR_REGISTER_FIRST
|
|
messages at the server it's connecting to. --Bleep
|
|
* s_serv.c, s_user.c, channel.c, send.c: Tokenised BURST, NICK,
|
|
END_OF_BURST, EOB_ACK, PRIVMSG and NOTICE Server to Server.
|
|
About 8-10% Bandwidth saving on BURSTS. --Gte
|
|
* channel.c (m_join): servjoin patch --Isomer
|
|
* ircd_osdep.h, os_*.c, s_bsd.c, send.c: more cleanups in socket code,
|
|
use enumeration for IO results. --Bleep
|
|
* s_bsd.c: clean up select and poll code a bit more, fixed message pacing bug
|
|
in poll. --Bleep
|
|
* supported.h, numeric.h, s_user.c, s_err.c: Added Isomers features
|
|
patch. Use numeric 005 RPL_ISSUPPORT to convey server features to
|
|
clients. --Bleep
|
|
* s_user.c (m_nick): IP differ patch, use IP address instead of host
|
|
name to determine different user@host for nick collides. --Isomer
|
|
* hash.c (hChangeClient): Bug fix. Fixed bug that caused stale entries
|
|
to be left in client hash table after a name change. Discovered by
|
|
Quant and Isomer. --Bleep
|
|
* hash.c (hSeekClient): fixed bug I introduced when reversing my hash
|
|
table code changes, thanks Quant and Isomer --Bleep
|
|
* opercmds.c (m_lusers): send limited luser info to remote
|
|
clients --Isomer
|
|
* numeric.h, channel.c, s_err.c: Changed invite list numerics
|
|
from 283/284 to 346/347 to match IRCnet numerics --Bleep
|
|
* config-sh.in, gline.h, numeric.h, gline.c, opercmds.c, s_debug.c, s_err.c:
|
|
Add badchan patch by WildThang --Bleep
|
|
* config-sh.in, channel.h, numeric.h, channel.c, s_debug.c, s_err.c:
|
|
Add lchanmode patch by David M --Bleep
|
|
* channel.c (cancel_mode): removed incorrect assert --Bleep
|
|
* *.c: removed P9 support, not everything is completely gone but most
|
|
of it is, the server builds and connects to other servers, but thats
|
|
as far as it's been tested so far. --Bleep
|
|
* ircd.h, ircd.c, s_bsd.c:
|
|
removed BOOT_INETD/BOOT_CONSOLE code, unused non-functional --Bleep
|
|
* struct.h, ircd.h, ircd.c, s_user.c, s_bsd.c:
|
|
removed BOOT_OPER/STAT_MASTER code, original patch by Isomer --Bleep
|
|
* s_user.c (m_nick): removed redundant check for acptr
|
|
* hash.c (hSeekClient, hSeekChannel): roll back some of hash.c changes
|
|
* hash.c (hSeekClient, hSeekChannel): removed unused variable from previous
|
|
changes.
|
|
* hash.c (hSeekClient, hSeekChannel): fix compile error from status changes,
|
|
fix logic bug that caused the first client that matched the mask to be
|
|
returned regardless of whether or not it's name matched, this can result
|
|
in wierd problems where the wrong server/client could be returned from the
|
|
hash table lookup. Removed code that moved client to head of hash table
|
|
chain for it's bucket when it's looked up, if the hash table is working
|
|
reasonably well this just wastes cpu.
|
|
* hash.c, list.c: added code to zero out cptr->hnext when client removed
|
|
from hash table, added assert for hnext == 0 in list.c to make sure that
|
|
client was actually removed from the hash table before freeing it's memory.
|
|
* various: misc cleanups
|
|
* support.c: removed dead code
|
|
* configure.in: remove unneeded checks for minix, aix, ansi/posix headers
|
|
these things are handled by porting layer code.
|
|
* res.c: remove calls to add_local_domain, these were causing incorrect
|
|
behavior
|
|
* opercmds.c: cleanups in gline code
|
|
* s_bsd.c: increase socket buffers to 65535 for server connections
|
|
* crypt/mkpasswd.c: mutter correct runes to get file to compile without warnings
|
|
* gline.c, gline.h: add new files to attempt to encapsulate glines a bit,
|
|
some code from opercmds.c needs to be moved here still
|
|
* opercmds.c (m_gline): fix local gline bug
|
|
* s_conf.c (initconf): add password change on rehash fix
|
|
* s_conf.c (rehash): fix rehash freeing and reloading the motd/rmotd files for
|
|
every client connected.
|
|
* ircd_log.c: use 2K fixed buffer instead of vsnprintf, nothing we write to
|
|
the log should ever exceed 512 bytes, but it doesn't hurt to be paranoid.
|
|
* res.c: change resolver timeouts to 5 seconds, per RFC1123
|
|
* channel.c: more little cleanups, no code changes
|
|
* channel.c: a) stops iterating over /invite list
|
|
b) adds /invite to list the channels you're currently invited to.
|
|
c) adds lotsa new numerics --Isomer
|
|
* ircd_signal.c, ircd.c: fix bug in signals
|
|
* channel.c (can_send) add Isomer's changes
|
|
* channel.c: add send_ban_list, cleanup a few names, reformat some parts to make
|
|
more readable, fix bug introduced by name changes
|
|
* ircd_chattr.[ch]: add new macro for checking K:line time chars vs comments
|
|
* listener.c (show_ports): add code to show client/server and hidden status
|
|
* s_conf.c: bug fixes, cleanups, add code to set server port and hidden
|
|
status for listeners (P:lines)
|
|
* s_conf.c (initconf): add interface selection code to P:lines so ports can
|
|
be set on a single interface or multiple interfaces (multi-homed hosts)
|
|
* s_conf.c: rewrote C/N line code, removed N:lines entirely, clean up server
|
|
conf line code.
|
|
* s_conf.c (check_server): move ip checks out of resolved or not so they can
|
|
be checked for worse case situations on server connects
|
|
* res.c (resolver_read): add Isomer's debug info for failed resolver queries
|
|
* opercmds.c (m_stats): remove call to time(0) for each local client in
|
|
stats l command, use CurrentTime instead
|
|
* s_conf.c (initconf): only do lookups on C:lines instead of both C/N lines
|
|
* res.c: fix resolver hang bugs
|
|
* s_conf.c (rehash): remove extra semicolin that was causing c/n lines to
|
|
accumulate
|
|
* s_conf.c (rehash): add portnum back to the listener list so we don't loose
|
|
the server port on a rehash
|
|
* s_auth.c, listener.c: remove warnings for normal errors
|
|
* s_auth.c, listener.c: use osdep non-blocking calls instead of locals
|
|
* s_auth.c, listener.c: add code for non-blocking recovery for listeners and
|
|
auth queries
|
|
* s_auth.c (auth_error): call IPcheck_connect_fail if the client socket dies
|
|
during the auth check so the reference count doesn't get borked in the
|
|
IPcheck code.
|
|
* numnicks.c: yet another extended numerics bug fix... sheesh
|
|
* s_bsd.c, s_conf.c: move conf line code from s_bsd.c to s_conf.c, cleanup
|
|
cleanup check_server, check_client (still not completely tested, may be
|
|
a bit buggy yet).
|
|
* parse.h, parse.c, s_debug.c: remove privmsg logging code
|
|
* numnicks.c (FindXNServer): fix off by one bug
|
|
* common.h, common.c: removed unused files
|
|
* s_bsd.c (net_connect_completed): new function, called after connection
|
|
establishment for servers and clients, release reference count for
|
|
the dns reply and set the socket buffer size to IRCD_READBUF_SIZE
|
|
for servers and 2K for clients.
|
|
* channel.c, crule.c: cleanup bogus casts
|
|
* listener.h (add_listener): fix bug that caused server a server port listener
|
|
to think it was a client port listener.
|
|
* s_user.c, s_serv.c: release reference to dns_reply when connection is
|
|
established.
|
|
* s_bsd.c (completed_connection): removed call to start_auth for connects
|
|
the auth module expects connections not to be linked anywhere and owns
|
|
the client struct until it's done.
|
|
* listener.c (release_listener): fix inverted assert client exit bug
|
|
* ircd_chattr.c: fix signed/unsigned warnings with Sun Workshop (+w)
|
|
* ircd_chattr.c, ircd_chattr.h: new files for character attributes and case
|
|
translation, hopefully they will be a bit easier to maintain.
|
|
* s_conf.c (rehash): fixed logic bug that caused and infinite loop,
|
|
fix port update bug (needed to call mark_listeners_closing before initconf)
|
|
* *.c, runmalloc.[ch]: change the way the server deals with out of memory
|
|
conditions. On server startup a no-memory handler is installed which
|
|
calls server_restart if an allocation fails. Allocations are now checked
|
|
in the memory allocation functions. Added asserts after every allocation
|
|
to verify for debug.
|
|
* *.c *.h: move authentication and dns to authentication module rename a few
|
|
globals, const correctness fixes, add ircd_string code, rework network
|
|
code, use dns callbacks, removed a lot of redundant code
|
|
* s_bsd.c: finish this stage of net code work
|
|
* *.c, *.h: rewrite select and poll code, add listener.[ch] net.code overhaul
|
|
in progress, prepare for adding auth module
|
|
* s_bsd.h, struct.h: moved client struct macros back into struct.h for now,
|
|
the last place they belonged was in the network code... feh
|
|
* ircd.c (open_debugfile): removed client for debug file
|
|
* ircd_string.h, ircd_string.c: new files for string processing, add
|
|
ircd_strncpy function
|
|
* *.c, *.h: rename ircstp to ServerStats
|
|
* *.c, *.h: rename now to CurrentTime
|
|
* listener.h, listener.c: new files for listener ports
|
|
* include/ircd_defs.h: new file for global definitions (HOSTLEN, USERLEN)
|
|
* struct.h: add local_flag to client struct, to make local/remote detection simpler
|
|
* s_bsd.c (read_message): split out separate versions for select and poll
|
|
* s_bsd.h, various source files: remove the rest of the unix domain socket
|
|
support this removes a number of comparisons that were unneeded in
|
|
code that should run reasonably fast.
|
|
* os_*.c, res.c, ircd_osdep.h: add os_recvfrom_nonb for resolver
|
|
* os_*.c, s_bsd.c, s_auth.c, ircd_osdep.h: add os_get_sockname, os_get_peername
|
|
* bsd.h, bsd.c: merge into s_bsd
|
|
* ircd_osdep.h, os_generic.c, os_linux.c, ircd_osdep.h: move os variable stuff
|
|
to separate compilation units, os generic contains the original code
|
|
(start here).
|
|
* s_bsd.c, send.c, struct.h: remove pyr (pyramid) finally
|
|
* res.h, res.c, s_misc.c: cleanup headers/dependencies in res.h
|
|
* match.h: include sys/types.h before netinet/in.h, broken BSD system headers
|
|
* ircd/Makefile.in: remove CFLAGS from link line, use LDFLAGS instead
|
|
* ircd.c: add missing include for sys/socket.h
|
|
* common.h (strChattr, strCasediff): remove pointless non-portable inline
|
|
decls. The functions are complex enough that inlining just bloats the code
|
|
* ircd_xopen.h, ircd_xopen.c, s_user.c, s_serv.c: porting layer for crypt and
|
|
other xopen library calls, moved crypt to ircd_xopen.
|
|
* s_uping.c, s_uping.h, s_bsd.c, s_misc.c, s_bsd.h, ircd.c, s_debug.c:
|
|
Removed s_ping. There are much better tools available that actually work
|
|
correctly. The s_ping code was a waste of resources, and has historically
|
|
given incorrect results (it never worked correctly).
|
|
* ircd/s_bsd.c, res.c, s_user.c, s_serv.c: little fixups to allow code to
|
|
build on Solaris, still have some warnings there.
|
|
TODO: wrap crypt and things that depend on _XOPEN_SOURCE in their own
|
|
file so it doesn't bother the network code.
|
|
* ircd/s_bsd.c: cast option arg to const char* for setsockopt (solaris)
|
|
* ircd/Makefile.in: removed hard coded dependencies for hash.o chkconfig.o,
|
|
let the automatic stuff take care of it, it does it better than humans.
|
|
* *.c *.h: remove register keywords, attribute macro junk, cleanup
|
|
dependencies, rename MIN and MAX to IRCD_MIN IRCD_MAX all headers in
|
|
C files are sorted, removed as many duplicate includes as I could find
|
|
(dozens) general cleanups. Mutter the correct runes to get the protoype
|
|
for crypt included where it was needed.
|
|
* *.c *.h: dependency cleanups up to querycmds.c
|
|
* ircd.c, bsd.c, s_bsd.c: move signal handling code to ircd_signal.c
|
|
* ircd_signal.c, ircd_signal.h: new files, use only POSIX signals remove
|
|
support for unreliable signals.
|
|
* *.h *.c: include guards, dependency cleanups
|
|
* Configure.in, setup-sh.in: include guards, config.h includes setup.h
|
|
add config dir to include path
|
|
* sys.h: include guards, remove hard coded path to config.h
|
|
* s_user.c (hunt_server): fix logic bug
|
|
* numnicks.c (SetServerYXX): fix off by one error
|
|
* multiple files (n2k patch): add code to handle extended numerics
|