/***********************************************************************
X3 ChangeLog
+2006-07-24 Alex Schumann <rubin@afternet.org>
+
+ * src/proto-p10.c: dont burst channels with 0 users in them (which
+ were created by alert discrims, most likely)
+
+2006-07-23 Alex Schumann <rubin@afternet.org>
+
+ * x3.conf.example: Added chanserv "modes" to example - use to control
+ what usermodes chanserv gets. Mainly for setting +d or not, if you
+ have nef 1.0 'b:' lines setup.
+
+2006-07-25 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/nickserv.c: If theres no title set then the default title
+ will therefore be the first part of hidden_host in x3.conf.example,
+ so for consistency with opt_fakehost we will print this.
+
+2006-07-25 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/nickserv.c: The reason why theres no arg rubin is that
+ if you want to print the fakehost then u dont specify an arg.
+ This tells opt_fakehost to set fake to the current fakehost
+ and pass it on to be printed.
+
+2006-07-23 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.c: Add config file regex fakehost test + sanity
+ checking in title as well (fixed).
+
+ * src/mod-memoserv.c: Fixed crash bug in memosearv read. (check argc
+ instead of argv[2]==null since argv's dont get set null.
+
+2006-07-23 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Fix to a crash/output corruption issue.
+
+ * src/proto-p10.c: Host in topic supports sethost and fakehost
+ now.
+
+2006-07-21 Alex Schumann <rubin@afternet.org>
+
+ * src/proto-p10.c: Added support for irc_wallop, irc_squit,
+ irc_connect, and added callbacks to handle connect failures and
+ successes. (All prep for auto routing system)
+
+ * src/proto.h: Added support for irc_wallop, irc_squit,
+ irc_connect, and added callbacks to handle connect failures and
+ successes. (All prep for auto routing system)
+
+ * src/opserv.help: Help entries for auto routing system + fix typeo in
+ routing example
+
+ * src/hash.h: New structs for auto routing system
+
+ * src/opserv.c: The long-awaited X3 Auto Routing Plan system! + reduce
+ error message to debug message.
+
+ * src/opserv.h: The long-awaited X3 Auto Routing Plan system!
+
+ * src/modcmd.c: added 'routing' main command alias.
+
+2006-07-16 Neil Spierling <sirvulcan@gmail.com>
+
+ * x3.conf.example: Added host_in_topic option for sending full
+ nick!user@host if its enabled. Default to one as Nefarious is
+ default to TRUE for HOST_IN_TOPIC. There will be wierdness if
+ you have this enabled on X3 and not on your Nefarious server.
+
+ * src/proto-p10.c: Make use of host_in_topic.
+
+2006-07-13 Alex Schumann <rubin@afternet.org>
+
+ * src/opserv.c: make the bot reply from the nick you /msg in all
+ cases, if commands are bound to a different bot.
+
+ * src/nickserv.c: make the bot reply from the nick you /msg in all
+ cases, if commands are bound to a different bot.
+
+ * src/chanserv.c: make the bot reply from the nick you /msg in all
+ cases, if commands are bound to a different bot.
+
+ * src/mod-memoserv.c: Make all memoserv commands reply from the bot you
+ msg, not the defined memoserv bot, if commands are aliased to other
+ bots. This may also fix the crash bug playa reported at
+ http://www.unrealgamers.net/forums/index.php?showtopic=138
+
+2006-07-11 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.c: Fixed some weirdness with nef 1.0's 2nd topic setter
+ and some x3 topic functions.
+
+ * x3.conf.example: Improved server/type setting documentation,
+ and changed default to 5.
+
+2006-07-11 Alex Schumann <rubin@afternet.org>
+
+ * src/opserv.c: fixed silent alerts not getting picked up from db file
+ on read/load.
+
+2006-07-11 Alex Schumann <rubin@afternet.org>
+
+ * src/opserv.c: add sanity checking to jupe to avoid catastrophic loop
+ when adding an invalid jupe servername or numeric.
+ this closes bug number 1513510.
+
+ * src/modcmd.c: if pubcmd is set higher than your level, only respond
+ with the denied msg if the command was actually found. this closes bug
+ number 1509382.
+
+2006-07-10 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.c: fixed crash bug trying to deref the handleinfo of a
+ non-logged-in user (null pointer)
+
+2006-07-09 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.c: fixed bug where unignores were getting sent to the
+ user multiple times, instead of to each online nick once.
+
+2006-07-09 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.c: Fixes for addignore/delignore corruption +missed a
+ spot. Ugh, messed up the fix. Trying again :)
+
+2006-07-10 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/chanserv.c: INVITE now checks the targets ignore/silence list.
+ If the target is ignoring the person inviting them then the invite
+ is denied.
+
+2006-07-07 Alex Schumann <rubin@afternet.org>
+
+ * src/mod-memoserv.c: pLaYa reported a crash/corruption bug in
+ memoserv most easily seen when sending short memos. Rewrote the flag
+ handling part of memo send to correct it.
+
+2006-07-05 Alex Schumann <rubin@afternet.org>
+
+ * src/helpfile.c: pLaYa pointed out the table code row count is off by
+ one. Fixed.
+
+2006-06-27 Neil Spierling <sirvulcan@gmail.com>
+
+ * configure: Regenerated.
+
+ * configure.in: Make use of TRE regexp library. Its more powerful
+ than the standard library (http://laurikari.net/tre/index.html).
+ Im also pondering adding services side regexp bans, X3 would
+ probably required a channel flag called say advanced that can
+ only be set by the owner. If enabled then regexp bans can be
+ used. I also added an output saying what modules are enabled,
+ what protocol is enabled, what malloc is choosen and if debugging
+ is enabled. Just a bit of a message as the user will of seen
+ programs just finish compiling and he/she/it may think it
+ was X3 compiling, but it was just TRE compiling. They still need
+ to compile X3.
+
+ * src/config.h.in: Regenerated.
+
+ * src/Makefile.am: Tweak for TRE.
+
+ * src/Makefile.in: Regenerated.
+
+ * src/nickserv.c: Use the new regex.h Im sure -I includes get
+ called before system includes like /usr/include.
+
+ * src/opserv.c: Use the new regex.h Im sure -I includes get
+ called before system includes like /usr/include.
+
+ * src/tools/tre.tar.gz: TRE 0.7.4. Configure will untar and
+ compile this just before configure finishes up. Sits around
+ 470KB, rather than another 2.5MB if i TRE untarred. I suppose
+ i could get it down a bit more using Bzip but there are some
+ boxes out there still without bzip.
+
+2006-06-25 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Better history implementation. A seperate
+ table is used for history entries. Entries contain the same
+ fields as the memo table except for the message, read, and flags.
+ Entries are only removed from the history db when they get
+ expired by do_expire (older than message_expire). Also fixed
+ up a issue with STATUS. On AfterNET we were getting huge large
+ for the amount of memos. I now realise it was reading the amount
+ of users. It now reads the proper amount of memos. I also a count
+ for history entries.
+
+ * src/mod-memoserv.help: EXPIRE handles history and memos now.
+
+2006-06-25 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Make use of ignore lists when trying to
+ send memos.
+
+2006-06-25 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/spamserv.c: Crash fix (finally). Been meaning to do this
+ for a while now.
+
+2006-06-23 Alex Schumann <rubin@afternet.org>
+
+ * src/modcmd.help, src/opserv.help, src/helpfile.c, src/helpfile.h,
+ src/modcmd.c, src/nickserv.c: Improvements to
+ table output and help display.
+
+ * src/mod-memoserv.c: fix segfault
+
+2006-06-23 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.c: Backing out the bantype patch because it sucks _bad_.
+ fix it and re-apply if you want it..
+
+ * src/chanserv.h: Backing out the bantype patch.
+
+ * src/chanserv.help: Backing out the bantype patch.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Fixed a bug.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Added basic HISTORY command. At the moment
+ if the recipient deletes the memo it will not be listed in the
+ HISTORY list.
+
+ * src/mod-memoserv.help: HISTORY entry.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Added new flags, see below.
+
+ * src/mod-memoserv.help: Opps forgot the read reciept stuff. Also
+ added flags for always ignoring read reciepts and always sending
+ read reciepts.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Added CANCEL command for cancelling memos
+ that you have sent, aslong as they have not been read yet.
+
+ * src/mod-memoserv.help: CANCEL entry plus tweaked some read
+ recipient to read reciept stuff.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Redid the db stuff, it now writes users
+ settings and memos to the memoserv database.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Small bug fix.
+
+2006-06-20 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Added read recipient support via SEND using
+ -r as a flag. Messages with requested read recipients have a (r)
+ shown beside the sender nick in LIST. People can ignore a read
+ recipient using -i when reading the message via READ. Its all
+ in the help file.
+
+ * src/mod-memoserv.help: Added read recipient relevent bits.
+
+ * src/opserv.help: Added halfopping functions.
+
+2006-06-19 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/x3.conf.example: Forgot a ;.
+
+2006-06-19 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Make use of SET LIMIT.
+
+2006-06-19 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: Fixed SET bugs and renabled LIMIT now.
+
+2006-06-19 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/mod-memoserv.c: On Second thoughts dont enable LIMIT now.
+
+2006-06-19 Neil Spierling <sirvulcan@gmail.com>
+
+ * x3.conf.example: Max limit for Memoserv LIMIT option.
+
+ * src/hash.h: Fixed halfops issue.
+
+ * src/mod-memoserv.c: Added SET LIMIT option for the maximum
+ amount of memos you can have. This does not do anything yet as
+ im committing the half ops fix now. This code is fine it just
+ allows you to adjust the limit for now.
+
+2006-06-12 Neil Spierling <sirvulcan@gmail.com>
+
+ * x3.conf.example: Commented out SpamServ module as there are bugs
+ and i cant give a definate date as to when i can fix it. Im not
+ home much these days.
+
+ * src/mod-memoserv.c: Redid the SET code using some whatnet code
+ by wasted. Tweaked here and there. Also added some formatting in
+ LIST and SET like chanserv SET. Oh and MemoServ will join
+ autojoin_channels if MemoServ is in a seperate nickname.
+
+ * src/mod-memoserv.help: Added OSET and done some tweaking.
+
+ * src/nickserv.c: Allow the use of get_victim_oper outside of
+ nickserv.c.
+
+ * src/nickserv.h: Allow the use of get_victim_oper outside of
+ nickserv.c.
+
+2006-06-07 Alex Schumann <rubin@afternet.org>
+
+ * src/chanserv.help: Added a couple set helps that were missing.
+
+ * src/helpfile.c: fix missing space in multi-column table output such
+ as /msg opserv commands * (with nickserv tablewidth setting >60)
+
+2006-06-06 Alex Schumann <rubin@afternet.org>
+
+ * src/opserv.c: Change how addalert silence works, so that its a
+ parameter instead of an action, and also works with trace now.
+
+ * x3.conf.example: Added a config setting of level needed to use
+ 'silent yes' in trace/addalert.
+
+2006-06-04 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.c: Fix oregister
+
+ * src/nickserv.help: Update help for oregister
+
+2006-06-05 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/proto-p10.c: Properly handle incomming manual silences.
+
+2006-06-05 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/common.h: pretty_mask etc declerations.
+
+ * src/nickserv.c: Parse the mask through pretty_mask before adding
+ it. Normal ircd side silences go through this, this just keeps
+ things looking the same and if a user tries to remove a silence
+ added by ADDIGNORE they will be able to. Oh and I HATE GLIBC :P
+
+ * src/proto-p10.c: Send a + if adding a silence.
+
+ * src/tools.c: pretty_mask and one other function for reformatting
+ a hostname so its pretty :) from IRCu.
+
+2006-06-04 Alex Schumann <rubin@afternet.org>
+
+ * src/nickserv.c: Send silences to every nick of a handle, not the
+ nick that did the command.
+
+2006-06-04 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/main.c: Moved spamserv initilization to after chanserv.
+
+ * src/spamserv.c: Read the db earlier.
+
+2006-05-30 Neil Spierling <sirvulcan@gmail.com>
+
+ * configure: Regenerated.
+
+ * configure.in: Bumped version and changed list email.
+
+ * x3.example.conf: Added SpamServ options.
+
+ * src/chanserv.c: Join SpamServ if enabled when chanserv joins.
+
+ * src/chanserv.h: Declerations
+
+ * src/main.c: Init the new SpamServ service.
+
+ * src/Makefile.am: Added SpamServ files.
+
+ * src/Makefile.in: Regenerated
+
+ * src/modcmd.c: Added SpamServ to REBINDALL.
+
+ * src/opserv.c: Slab/X3 malloc STATS MEMORY updates.
+
+ * src/proto-common.c: Make sure SpamServ gets notices.
+
+ * src/spamserv.c: New service that checks for spamming, floods etc.
+ Requires an oper to register it to a channel for it to work.
+
+ * src/spamserv.h: Decelerations.
+
+ * src/spamserv.help: Help entries for SpamServ.
+
+2006-05-29 Neil Spierling <sirvulcan@gmail.com>
+
+ * Below functions by Wasted (Martijn Smit) <wasted@lostdomain.org>
+
+ * src/chanserv.c: Added selectable bantypes.
+
+ * src/chanserv.h: Added selectable bantypes.
+
+ * src/chanserv.help: Added help entries.
+
+2006-05-29 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/nickserv.c: Added user option ADVANCED, when we add more
+ advanced commands users will need to set this to see the options
+ in help. Further work in helpfile is still needed afaik. This is
+ just the basics.
+
+ * src/nickserv.h: Advanced option declerations.
+
+ * src/nickserv.help: Added option ADVANCED, also added AUTOHIDE.
+ Seems no one added that when they added the AUTOHIDE option.
+
+2006-05-28 Neil Spierling <sirvulcan@gmail.com>
+
+ * Below functions by Wasted (Martijn Smit) <wasted@lostdomain.org>
+
+ * x3.example.conf: Added new options- god_timeout, autojoin_channels,
+ and denied_fakehost_words. Also dropped refresh_period for chanserv
+ set resync.
+
+ * src/chanserv.c: Added god_timeout, disable god mode automatically
+ when the period times out. Also added a new set option- resync, auto
+ resyncs the userlist every 3, 6, 9, or 12 hours (or not at all).
+
+ * src/chanserv.help: Added entry for SET RESYNC.
+
+ * src/global.c: Join global into autojoin_channels if enabled.
+
+ * src/main.c: Some tweaking for autojoin_channels.
+
+ * src/mod-memoserv.c: If a user has memos and notify on login
+ enabled then only display the notify notice on login and not
+ during a netburst.
+
+ * src/mod-track.c: Quashed a warning.
+
+ * src/modcmd.c: Added functions for god_timeout. Also added wasted
+ to VERSION output for credits for these features.
+
+ * src/nickserv.c: Added denied_fakehost_words, deny the words set
+ there if an oper trys to use them in a fakehost. Also autojoin
+ chanserv if enabled into autojoin_channels.
+
+ * src/opserv.c: Added REFRESHMAX to reset the max count, ie for
+ after a drone attack. Also join opserv and reserved nicks into
+ autojoin_channels if opserv/reserved is enabled.
+
+ * src/opserv.help: Added entry for REFRESHMAX.
+
+2006-05-25 Alex Schumann <rubin@afternet.org>
+
+ * src/proto-p10.c: make non-existant server type setting not crash x3.
+
+ * src/nickserv.help: Added newby tip to authserv registration
+ help (about < and >)
+
+ * src/mod-track.c: Fixed crash when a server kicks a person (tried to
+ deref null kicker)
+
+2006-05-23 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/chanserv.c: Set SWHOIS's when a user auths.
+
+ * src/hosthiding.c: Fixed a segfault.
+
+ * src/nickserv.c: Epithets now use SWHOIS.
+
+ * src/proto.h: Declerations for irc_swhois.
+
+ * src/proto-p10.c: Handle SWHOIS's.
+
+2006-05-23 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/hash.h: Bumped SOCKIPLEN
+
+ * src/hosthiding.c: Functions to crypt IPv6 addresses.
+
+ * src/hosthiding.h: IPv6 function declerations.
+
+ * src/proto-p10.c: If the users ip address is IPv6 then crypt it
+ with the ipv6 crypting function.
+
+2006-05-23 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/hash.h: Bits needed for other type of host hiding.
+
+ * src/hosthiding.h: Nefarious style 2 host hiding declerations.
+
+ * src/hosthiding.c: This will generated crypted style 2 Nefarious
+ hidden hosts and ips. Currently they are just displayed in O3
+ WHOIS. Im yet to expand this.
+
+ * src/Makefile.am: Added hosthiding.c and hosthiding.h.
+
+ * src/Makefile.in: Regenerated.
+
+ * src/opserv.c: Display crypted hosts n ips in WHOIS.
+
+ * src/proto-p10.c: Generate crypted hosts n ips on everyone and
+ save them in user->crypthost user->cryptip.
+
+2006-05-22 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/chanserv.c: Set ignores when you authenticate.
+
+ * src/nickserv.c: Added ADDIGNORE, OADDIGNORE, DELIGNORE ODELIGNORE.
+ Used for centralized silence list management. Currently set ignores
+ can be viewed in ACCOUNTINFO for via ircd SILENCE.
+
+ * src/nickserv.h: Declerations.
+
+ * src/nickserv.help: Added help entries for above commands.
+
+ * src/proto.h: Declerations.
+
+ * src/proto-p10.c: Functions to handle silences
+
2006-05-18 Alex Schumann <rubin@afternet.org>
* src/proto-p10.c: Fixed up the track module a bit more
reporting correctly when X3 kicks someone. This should affect mrsnoopy
as well, hopefully wont cause any bugs.
- * src/mod-track.c: Fixed up the track module a bit more
+ * src/mod-track.c: Fixed up the track module a bit more - made track
+ all/none work
2006-05-18 Alex Schumann <rubin@afternet.org>
* src/mod-track.c: some cleanups and textual changes, to make the commands
slightly more user friendly.
+2006-05-16 Neil Spierling <sirvulcan@gmail.com>
+
+ * src/proto-p10.c: Changed 050 specfic topic stuff to a conf setting
+
+ * src/x3.conf.example.: adding 050 'type' to server config (rubin
+ fixed missing ';' and changelog entries)
+
2006-05-16 Neil Spierling <sirvulcan@gmail.com>
* Most files: Heh i cant be bothered listing all files, see websvn