View Single Post
Old 25-09-2008, 09:44 PM   #2
w00t
InspIRCd Developer
 
Join Date: Apr 2004
Posts: 532
Send a message via MSN to w00t
Default

  • Jersey cows!
  • Also fix here; glob patterns may not start with > or <. TODO: iterate comma sep tokenlist to catch LIST >0,<10000 as other IRCDs do.
  • Fix faulty logic, glob patterns may not start with > or <. TODO: iterate comma sep tokenlist to catch LIST >0,<10000 as other IRCDs do.
  • Fix for bug #610 reported by ankit, numeric changed to 505
  • Fix for listening sockets not clearing their timeout on connected. Reported by Sazpaimon.
  • Set Id property on a bunch of modules which lack it, etc.
  • warning-free on windows
  • Windows compile fixes for RLine
  • Second part of fix for bug #605, make adding and removal of lines not case sensitive
  • Fix for bug #605 reported by MacGuyver, if a line is expired when we are adding another with the same hostmask, replace the existing line with the new one
  • Fix /STATS output to show the regex module in use
  • Update config to remove m_filter_pcre and document new tags
  • Fix leak, thanks aquanight
  • No longer needed
  • Fix re-creation of config filters
  • Because m_filter reads definitions from the conf, unlike rline, when we see our engine via OnLoadModule we must do a partial rehash to get these lines from the conf and ensure theyre applied, because they would have failed to apply initially.
  • Well, that was moronic of me
  • someone forget an instance
  • This compiles but is NOT tested yet. Do not use unless you like pain.
  • Be consistent. Use ServerInstance in all places instead of 'Instance' in half. This has bugged me forever . I think I got all of extra/ too..
  • Fixes. Dont try and catch exceptions within the RLine ctor, we dont always want crud outputting to snomask x in every situation. Its up to the caller , that creates the object as to what they want to do with the exception and if they want it shown.
  • Fix various rline bugs, implement /stats R, and fix the issue where you get no error. "Something will already have said why it fucked up" -- what , about when the rline fails due to missing provider?, Also fix the fact that we dont have a catch around the Generate() in addline, which would just make insp abort.
  • Fix bug discovered by Ankit, m_rline loaded without regex provider causes segfault because of missing check for NULL when querying RegexProvider , interface
  • Fix the 'i/o error on connection (no error)' stuff, by displaying 'connected closed unexpectedly' when errno == 0., Also trigger failover whenever a connection times out in the new authentication timeout code (the connection isnt, properly established so the failover should trigger)
  • Fix some comment which was left over from before the conversion from User* to UID
  • Make regex providers load correctly. Move m_rline to use the regex providers, and also move m_rline out of extras/. Document provider modules, <rline:engine> and particularly the uselessness of <rline engine="glob">.
  • Fix crash
  • Move m_regex.h and m_regex_glob.cpp to main modules directory, as these have no requirements.
  • Remove the old TODO comment
  • Fix a rather nasty race condition revealed by my reading through the comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of:, 'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can, detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes!
  • More comments
  • More comments, and remove some unused craq. Someone (that being me) once wrote a craqy imitation of std::bitset called dynamicbitmask which took up a large amount of hashcomp.{h,cpp} before i actually knew that std::bitset existed. NOTHING has ever used this class, so whack it as tidyup, knowing it wont , break anything
  • more comments
  • Start documenting stuff for 3rd party developers. Comments only, won't affect feature freeze
  • Roll back core matcher to the 1.1 design, which doesnt fail various unit tests
  • Add test suite tests for wildcard function for failures discovered by Ankit
  • lol
  • Fix my massacre of kqueue, filters may not be or'd.
  • inbound sockets need a timeout, too. 30 secs should be pleanty
  • Don't check E:Lines when enforcing Q:Lines on connected users. Thanks MacGyver.
  • Implement timeout on outgoing server connections as per our docs <link:timeout>
  • Reinvert order of insert/erase into user hash_map to avoid a lil crash
  • Merge vc90 update patch from IronLegend, thanks
  • Roll back tweak to the starttls spec requested by kvirc devs, sorry we cant do this as we have other client devs breathing down our throats that it broke their clients
  • Shrink users properly on quit, and make cloaks for all existing users on load, for situations where the cloaking module is loaded after the ircd is booted. Thanks Ankit
  • Be more verbose in ValidateNotEmpty on failure. Patch by CyberbotX.
  • Patch by dz to remove the one usage of strdup/strtok_r, which is very un-C++ behavior (and silly, since we have sepstream)
  • dont try and cloak if no valid cloak was returned (eg. localhost)
  • Changed Allowed Modes to bitsets.
  • Merge commit 'danieldg/out-12'
  • more namespace fix0rz
  • Optimisation
  • namespace fix0rz
  • Fix setting of +x before we've processed an OnUserConnect
  • Remove unneeded namespace stuff.
  • Make the 'ancient OS' warning a bit more strongly worded.
  • Minor style tidyup.
  • Last cleanup. All trunk extras now builds again.
  • fix for listensocket, tested and also working like a charm.
  • more cleanup
  • cleanup
  • fix for listenbase, tested and works like a charm.
  • Cleanup of some internals. Tested via m_httpd.
  • Remove proxyscan, it doesn't exist now.
  • Remove some duplication, everything calls the SE equivilant anyway.
  • Remove useless parameter.
  • Fix a comment.
  • Fix KILL server-notice duplication
  • Experimental WSAPoll (thanks for not just using poll(), guys) support for Windows. Untested, uncompiled.
  • Minor stylistic improvements.
  • These socket engines may now recieve write and read events in the same cycle, same as select and poll.
  • There is absolutely no need to cache connect timeout.
  • Remove an unused member.
  • Windows doesn't need blocking connect, IOCP was the cause of that.
  • Remove WaitingForWriteEvent, it seems to do *nothing* except confuse things. Also, don't close socket on http if FlushWriteBuf doesn't write it all in one go, in fact, don't try FlushWriteBuf at all - use the sockets default of waiting to be told it's safe to write data.
  • Back out change, as this doesn't work properly with channel bans.. Prioritise before cloaking, as otherwise you may encounter usermode changes on a nonexistant user. (part of the original change too).
  • Bit of a tidyup, generate cloak whenever first set, not necessarily on connect
  • Hook conn_umodes before anything else so that config order is less of a factor
  • Clear out the string used for the temporarily stored hostname during DNS resolution. Should save at least strlen(host) per user
  • Move XMLSocket to be modulemanager-provided, flash now has real socket support (so it's not as necessary), and most networks do not have flash clients using it
  • Fixed comments for cached host fields in User; 3/4 of these were completely incorrect.
  • Remove a totally redundant method (this is already available via inheritance from EventHandler)
  • Remember to free some stuff when failing in the ctor
  • Add connmutex to mutex the connections vector, otherwise we can get access from two threads and it is stl. ew.
  • peavey, w00t, this works now. Methods werent copied right. Please feel free to base the other sql module fixes on the diffs that i used to fix this., ALSO now works on win32, tested!
  • fixed a /MT to be /MD
  • fix various bodge-ups, we must have been tired when fixing this in the first place to use the new api, methods are in the wrong places.
  • not test compiled yet: sql modules werent working because someone chopped out the important code that determines what port the new socket is bound to when binding to port "0". The GetPort() method belongs in the listensocketbase derived socket not the bufferedsocket one, and the code for determining the getsockname() belongs in the ctor for the listen derived socket.
  • Remove a (now nonexistant) reference from .h
  • Check the wrong way around is just stupid. ;p
  • Fix warning, thanks peavums
  • Growl.
  • Remove crappy, unsafe (and now unneeded!) casts.
  • More compile fixes.
  • Fix compile problems hopefully..
  • (Attempt to) convert MySQL to using listener base.
  • Remove old listening stuff from spanningtree, use a new derived listener class.
  • Give httpd a custom listener class, specialised in creating HttpServerSockets.
  • Remove listening from BufferedSocket, it's bloaty and horrid. We have a ListenSocketBase class to handle this instead now.
  • Make OnAcceptReady pure virtual, rename ListenSocket to ListenSocketBase, create ClientListenSocket and inherit from ListenSocketBase to create User objects.
  • Move this to another (yet more appropriate) place, saves some syscalls in an unlikely condition.
  • Add incoming IP to OnAcceptReady
  • Allow for silencing getmodules() output (is annoying when using modulemanager)
  • Add "list" and usage to modulemanager [danieldg]
  • Fix missing semicolon in m_ssl_openssl [danieldg]
  • Move a socket sanity check into the generic listener handler, avoiding the need to instantiate a user object in insane conditions.
  • Tidy up some of the internals a bit, making things a bit more extensible and future proof.
  • Fix windows project files
  • Merge class connection in with class user (nothing else inherits it anyway, and all the fields in here were only really useful to users anyway)
  • Merge the second interface for socket hooking into one, so it's all done by Add/Del/GetIOHook now.
  • Initialising the member we added might be an idea.
  • Make this work with older git, too (thanks danieldg)
  • Use git describe rather than git-svn, it works better with secondary clones
  • Updates
  • Invite timeout on server-to-server is already a unix timestamp
  • Fix IO hooking modules to use the new (not old) hooking call
  • Fix a stupid error, and two warnings.
  • Move socket hooking in inspsocket to utilise the new system properly.
  • Fix forward-declaration caused as a result of recent changes.
  • Start moving IO hooking from being bufferedsocket based to residing in EventHandler, this will pave the way for a generic listener type, and also simplifies a lot of code.
  • Move listensocket stuff into a file of it's own.
  • Don't execute multiple aliases after executing one.
  • Fix aliases returning multiple messages, thanks Ankit.
  • Fix compile. Try again, Ankit.
  • Merge branch 'testbranch', Conflicts:, sources.list
  • Test commit.
  • Set default values for <alias:usercommand> and <alias:channelcommand>, Ankit, please provide feedback.
  • Also redirect errors to /dev/null to avoid messy output on VCS that aren't installed/in use
  • Nicer fix for REVISION stuff when using git, thanks danieldg for the basis.
  • Another test commit
  • Test commit from git
  • Upgrade the upgrade command to ..upgrade better. Thanks danieldg.
__________________
Master of all trades; jack of none.
w00t is offline   Reply With Quote