aboutsummaryrefslogtreecommitdiffstats
path: root/src/xline.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* A few more timesaving checks.Gravatar brain2007-10-291-0/+15
| | | | | | | | The more astute amongst you will have noticed all the Add?Line functions now look practically identical. This paves the way for us to have one generic one, but before we do this i'd rather have us add an XLine* pointer to it, not a hostmask or something non-generic. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8423 e03df62e-2008-0410-955e-edbf42e46eb7
* Add the lookup_lines stuff. Sorry i havent documented this yet, i am tired.Gravatar brain2007-10-291-6/+28
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8422 e03df62e-2008-0410-955e-edbf42e46eb7
* Ok, now each xline will be in two places. The sorted vector and a map, each ↵Gravatar brain2007-10-291-5/+5
| | | | | | | | | line type having its own map stored in a map of maps. (RTFS when its done) This allows for faster checking for simple existence of a line for removal/adding without O(n) lookups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8420 e03df62e-2008-0410-955e-edbf42e46eb7
* This commit is untested and breaks a lot of xline stuff. work in progress.Gravatar brain2007-10-291-189/+99
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8418 e03df62e-2008-0410-955e-edbf42e46eb7
* Make ELines cached, and check for ELined status in all the Matches for all ↵Gravatar w00t2007-10-281-25/+34
| | | | | | the linetypes. Brain, SVN up before you overwrite my fixes to bits of this again :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8417 e03df62e-2008-0410-955e-edbf42e46eb7
* Update User::exempt all the time we change an E:Line. Brain, can you check ↵Gravatar w00t2007-10-281-4/+28
| | | | | | I've done this okay, and fix my XXX if you know how? ta. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8416 e03df62e-2008-0410-955e-edbf42e46eb7
* YAR!Gravatar brain2007-10-281-82/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8415 e03df62e-2008-0410-955e-edbf42e46eb7
* GrrGravatar brain2007-10-281-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8413 e03df62e-2008-0410-955e-edbf42e46eb7
* Add Apply and DefaultApply.Gravatar brain2007-10-281-0/+39
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8412 e03df62e-2008-0410-955e-edbf42e46eb7
* FixifyGravatar w00t2007-10-281-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8411 e03df62e-2008-0410-955e-edbf42e46eb7
* Rewrite of XLineManager::ApplyLines to only apply pending lines. This ↵Gravatar w00t2007-10-281-56/+94
| | | | | | ..doesn't seem to compile at the moment for me. Not tested, at all. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8410 e03df62e-2008-0410-955e-edbf42e46eb7
* I think this is done. Add overloaded Matches() which takes std::string and ↵Gravatar brain2007-10-281-1/+21
| | | | | | implement it in zline and qline, the rest dont need it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8409 e03df62e-2008-0410-955e-edbf42e46eb7
* Move matches_qline to Matches, though this won't work properly .. :sGravatar w00t2007-10-281-1/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8408 e03df62e-2008-0410-955e-edbf42e46eb7
* Make E:Line/G:Line use the Matches stuffGravatar w00t2007-10-281-16/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8407 e03df62e-2008-0410-955e-edbf42e46eb7
* Make ZLine use Matches()Gravatar w00t2007-10-281-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8406 e03df62e-2008-0410-955e-edbf42e46eb7
* Done my partGravatar brain2007-10-281-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8404 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a virtual Matches to XLine class, and override it appropriately for all ↵Gravatar w00t2007-10-281-7/+39
| | | | | | derived classes. Most still need to be converted to use it, however. This will make ApplyLines change much easier than it is currently .. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8403 e03df62e-2008-0410-955e-edbf42e46eb7
* Forgot it should return falseGravatar brain2007-10-281-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8402 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed w00tGravatar brain2007-10-281-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8401 e03df62e-2008-0410-955e-edbf42e46eb7
* PERL PIE FOR ALL: Rename a fuckload of XLineManager's methodsGravatar w00t2007-10-281-24/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8399 e03df62e-2008-0410-955e-edbf42e46eb7
* - Tear out a useless load of XLine clutters that did nothing much except ↵Gravatar w00t2007-10-281-378/+144
| | | | | | | | | | | confuse things - Revert back to early 1.0 design of using a single list for line storage. We'll make this work more efficiently than 1.0 though of course. This simplifies the code for expiry, checking, etc. - Merge a bunch of sort callbacks into a single sort callback for class XLine. - Horribly break apply_lines() for the time being. .. and that's probably it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8398 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵Gravatar brain2007-10-221-0/+2
| | | | | | src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-28/+28
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more unnecessary header trafficGravatar w00t2007-08-271-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert some ancient GlobalCulls usage into userrec::QuitUserGravatar w00t2007-07-241-16/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7534 e03df62e-2008-0410-955e-edbf42e46eb7
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+897
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-897/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* Optimizations and code tidyups. QA please check that svsnick and other ↵Gravatar brain2007-07-011-2/+2
| | | | | | forced nick changes still work right after this git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7416 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for bug #324 reported by HiroPGravatar brain2007-06-141-36/+72
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7303 e03df62e-2008-0410-955e-edbf42e46eb7
* Add options:moronbanner. Yes really, thats what its called. See the example ↵Gravatar brain2007-06-041-0/+16
| | | | | | config. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7232 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed hidebans behavior to not always be on as well; there are probablyother ↵Gravatar special2007-03-151-8/+32
| | | | | | issues here, see #243 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6674 e03df62e-2008-0410-955e-edbf42e46eb7
* This properly fixes options:hidebans and options:hidesplits by providing the ↵Gravatar brain2007-03-061-9/+9
| | | | | | | | | facility to have two different quit messages for a user, one an oper sees and one a normal user sees. There are default values on the oper_quit parameters through the entire source so that if oper_quit parameter is not given it defaults to the same as the user_quit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6630 e03df62e-2008-0410-955e-edbf42e46eb7
* Move quitting of clients to a central Cull List, and do quitting outside ↵Gravatar peavey2007-02-051-30/+21
| | | | | | userrec and in main loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7
* It says something about how excessive our debug output is when the ssl ↵Gravatar brain2007-01-171-4/+0
| | | | | | modules have 'cascades' of 'if-then-else' whos job is ONLY to output debug! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6365 e03df62e-2008-0410-955e-edbf42e46eb7
* If we have a bitmask of 0 in apply_lines, dont even bother to run the function!Gravatar brain2007-01-101-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6291 e03df62e-2008-0410-955e-edbf42e46eb7
* Massive speedups for applying and checking perm xlines - matches_*line() now ↵Gravatar brain2007-01-041-64/+157
| | | | | | | | | has a permonly optional param, and apply_lines can be passed an APPLY_LOCAL_ONLY. Also, improve speed of config reading stuff when reading in the lines git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6223 e03df62e-2008-0410-955e-edbf42e46eb7
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-8/+3
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Tons of tweaks to the config stuff for the coreGravatar brain2006-11-141-12/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7
* Show ident when expiring g and k linesGravatar brain2006-11-041-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5645 e03df62e-2008-0410-955e-edbf42e46eb7
* Update expiries when we update the set timeGravatar brain2006-09-191-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5306 e03df62e-2008-0410-955e-edbf42e46eb7
* Make the check against z/k/q/e/g methods return a pointer to the whole ↵Gravatar brain2006-09-191-30/+30
| | | | | | object rather than just the reason string git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5305 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix crashes, and in the process make xline even faster!Gravatar brain2006-09-191-131/+141
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5304 e03df62e-2008-0410-955e-edbf42e46eb7
* Make xline more memory-efficient and faster/neater. Eliminate a mass of ↵Gravatar brain2006-09-191-66/+11
| | | | | | fixed-size buffer and strlcpy git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5300 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove unused buffer and call to MakeHost()Gravatar brain2006-09-101-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5205 e03df62e-2008-0410-955e-edbf42e46eb7
* Make /stats k/g/e work rightGravatar brain2006-09-101-6/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5204 e03df62e-2008-0410-955e-edbf42e46eb7
* Split hostmasks into ident and host pairs for matching as g/k/e lines. This ↵Gravatar brain2006-09-101-36/+99
| | | | | | allows them to be matched faster and more efficiently git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5203 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the new g/k/e line stuff to match ips. NOTE: this makes g/k/e much ↵Gravatar brain2006-09-101-6/+20
| | | | | | slower than z. By factors of about 3. If you want to match tons of users, as always use zline (for this and many other reasons) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5202 e03df62e-2008-0410-955e-edbf42e46eb7
* Match IP's with klines, glines and exceptions, as well as hostsGravatar brain2006-09-101-13/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5201 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-15/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* The rest of snomask +x (i think)Gravatar brain2006-08-291-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5068 e03df62e-2008-0410-955e-edbf42e46eb7