aboutsummaryrefslogtreecommitdiffstats
path: root/src/users.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* BanCache positive hits should be overridden by E:, thanks BrainGravatar w00t2007-11-041-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8493 e03df62e-2008-0410-955e-edbf42e46eb7
* Hook BanCache up to work on Z:Lines. BanCache is checked first, for positive ↵Gravatar w00t2007-11-041-8/+35
| | | | | | hits, users are quit instantly. For negative hits, no checking is done (though we don't have any negative hits just yet). If no hit, zlines are checked -- if user is matched by a Z:, positive bancache entry is inserted. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8492 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up, and make the identifer for a line type be std::string not charGravatar brain2007-11-021-5/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
* xline gutting, once more. There is no longer an active_lines vector, and no ↵Gravatar brain2007-11-021-5/+5
| | | | | | | | | requirement for sorting. Expiry will be cheked on a per-line basis for each positive hit on that line, saving on cpu time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8457 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix this to pass a UserGravatar w00t2007-10-281-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8405 e03df62e-2008-0410-955e-edbf42e46eb7
* If the connect:limit is 0, dont deny connections for going over itGravatar brain2007-10-251-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8360 e03df62e-2008-0410-955e-edbf42e46eb7
* this should fix any of the crashes w00t outlined where User::MyClass == NULL.Gravatar brain2007-10-251-4/+4
| | | | | | | | The simplest fix seems to be that if the user has no class, skip all the code that uses the class values. This makes sense because the only situation where User::MyClass == NULL is when they arent authorised to connect and are being quit so checking flood levels and max sendq etc are irrelevent. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8358 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <connect:limit> - limits how many clients can sit inside a ↵Gravatar w00t2007-10-241-0/+7
| | | | | | <connect> tag. Brain, we have a problem here in that if we User::QuitUser() a user with a NULL MyClass member (connect class), then things break (like sendq et al). What should we do with this, create a generic catchall class or something just in case? (to replicate, set up a single connect class with a low limit, and connect too many clients. Crash is the result) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8357 e03df62e-2008-0410-955e-edbf42e46eb7
* Disable all connect classes, reenable them as we find them in the config. ↵Gravatar w00t2007-10-241-3/+6
| | | | | | This stops users using a connect class removed from the conf (or will in a second) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8355 e03df62e-2008-0410-955e-edbf42e46eb7
* Try this w00t, compiles, test running nowGravatar brain2007-10-241-7/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8343 e03df62e-2008-0410-955e-edbf42e46eb7
* Start of refcount-based rehash stuff for <connect> tags, this is broken and ↵Gravatar w00t2007-10-241-2/+2
| | | | | | rather ugly right now.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8342 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff from using userrec cached stuff to using stuff in the ↵Gravatar w00t2007-10-231-10/+5
| | | | | | connect classes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8339 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix a bug before I even started this.. don't let User::SetClass() decrease ↵Gravatar w00t2007-10-231-11/+22
| | | | | | the reference count if we cannot find the new class to plop them into, that will nark things up nicely.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8338 e03df62e-2008-0410-955e-edbf42e46eb7
* Some more class stuff, blah. Now possible to move a user to a different ↵Gravatar w00t2007-10-231-25/+30
| | | | | | class via User::SetClass(), which cmd_oper uses. GetClass() is now just a wrapper around User::MyClass. User::CheckClass() does not support any parameters anymore, nor does User::GetClass().. I think I have this all right ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8337 e03df62e-2008-0410-955e-edbf42e46eb7
* Some initial work towards tying <connect> classes to user accounts. This ↵Gravatar w00t2007-10-231-0/+32
| | | | | | will (in the longer term) allow for things like limits on how many users can fit in a <connect> for 1.2 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8336 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
* Tidy up some DNS stuff moreGravatar w00t2007-10-211-0/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8280 e03df62e-2008-0410-955e-edbf42e46eb7
* Add User::IncreasePenalty() and User::DecreasePenalty()Gravatar w00t2007-10-211-0/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8264 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed ssl clients on trunk. The problem peavey was having was that before ↵Gravatar brain2007-10-211-2/+2
| | | | | | ReadBuffer was char[] now its char*. sizeof() on char[] returns its size in chars, and sizeof on char* returns 4. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8263 e03df62e-2008-0410-955e-edbf42e46eb7
* *untested* command buffering/penaltyGravatar brain2007-10-211-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8250 e03df62e-2008-0410-955e-edbf42e46eb7
* Dont forget to initialize the new valueGravatar brain2007-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8248 e03df62e-2008-0410-955e-edbf42e46eb7
* Add User::UnderPenaltyGravatar brain2007-10-211-1/+1
| | | | | | | | | | | /** If this bool is set for a user, then the user is under penalty, in short they * are waiting for some held commands to be executed. If this is the case, then * any commands they have in their sendq are executed on a timer tick rather than in * their event handler. */ git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8244 e03df62e-2008-0410-955e-edbf42e46eb7
* Change a !string.length to string.empty. these are more readable and on some ↵Gravatar brain2007-10-211-1/+1
| | | | | | implementations faster git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8243 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket engine tweaks to fix a glitch, and improvements to new m_identGravatar brain2007-10-181-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8225 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove second overridden (fully duplicated :/) copy of GetIPString which ↵Gravatar w00t2007-10-161-42/+4
| | | | | | copies into a user specified buffer. It's not used anywhere, and is duplication ;( git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8218 e03df62e-2008-0410-955e-edbf42e46eb7
* Typo fixGravatar w00t2007-10-161-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8217 e03df62e-2008-0410-955e-edbf42e46eb7
* Update a commentGravatar w00t2007-10-161-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8216 e03df62e-2008-0410-955e-edbf42e46eb7
* Move oper classes and types stuff from users to configreader. It may need to ↵Gravatar w00t2007-10-151-75/+29
| | | | | | go in a class, I'm not going to investigate that now. Also make HasPermission() a bit easier to read via same changes I did in command_parse, but the strtok/strdup stuff really really has to go somehow I think.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8215 e03df62e-2008-0410-955e-edbf42e46eb7
* Split user resolver into its own file.Gravatar w00t2007-10-151-103/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8209 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-123/+123
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* class command_t -> class Command. Whey :DGravatar w00t2007-10-151-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
* Put this back how it was, it didnt help with the fix last night which turned ↵Gravatar brain2007-10-141-12/+8
| | | | | | out to be something else git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8190 e03df62e-2008-0410-955e-edbf42e46eb7
* TweaksGravatar brain2007-10-141-9/+12
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8174 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff around, this will move a crash to a different place and ↵Gravatar brain2007-10-131-0/+1
| | | | | | maybe we'll catch it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8171 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, forgot some stuff for when GECOS was moved to position 10 in the UID ↵Gravatar brain2007-09-301-3/+8
| | | | | | command, this was broken git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8102 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed bug #404; this was caused by recieving multiple OPERTYPEs from a ↵Gravatar special2007-09-261-10/+3
| | | | | | remote server, which eventually resulted in bad pointers inside the all_opers list git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8084 e03df62e-2008-0410-955e-edbf42e46eb7
* More compile fixesGravatar brain2007-09-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8057 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a pointless WriteOpersGravatar brain2007-08-291-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7998 e03df62e-2008-0410-955e-edbf42e46eb7
* Slight change to traffic logging, as I never remember which way the damn ↵Gravatar w00t2007-08-281-1/+1
| | | | | | arrows go: I now means in, O now means out. C and S remain unchanged git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7948 e03df62e-2008-0410-955e-edbf42e46eb7
* Catch exceptions here for duplicate uuid (it shouldnt happen, which is why ↵Gravatar brain2007-08-271-1/+11
| | | | | | the exception message is so rediculous) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7914 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove more unnecessary header trafficGravatar w00t2007-08-271-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* Add FindNickOnly, that wont fall through to uid checks if isdigit(*first). ↵Gravatar brain2007-08-271-1/+3
| | | | | | | | | We may need this. (i thought we did for this fix, we dont) Fix cmd_nick to not treat all nicks as invalid and make the client give up. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7883 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, i had a ! and i didnt need oneGravatar brain2007-08-271-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7882 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed sigabrtGravatar brain2007-08-271-1/+4
| | | | | | | NOTE to w00t: When a user gets allocated a uid that is duplicate, the constructor throws. This was happening because i didnt pay attention to what i wrote and it always added uid "" :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7881 e03df62e-2008-0410-955e-edbf42e46eb7
* Add uuid hash_map - its management is automatic via userrec ↵Gravatar brain2007-08-271-0/+8
| | | | | | | | | constructors/destructors. Note that this means 'fake' users used to set modes etc get a uid, but this isnt a major thing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7876 e03df62e-2008-0410-955e-edbf42e46eb7
* A few tidyups, and comment how the new constructors work (so that w00t ↵Gravatar brain2007-08-271-2/+6
| | | | | | doesnt wonder where the feck his strlcpys went) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7875 e03df62e-2008-0410-955e-edbf42e46eb7
* More uuid fixes, and whack some warningsGravatar brain2007-08-271-5/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7874 e03df62e-2008-0410-955e-edbf42e46eb7
* Allocate uid in userrec constructor. Optional param added, if its empty, the ↵Gravatar brain2007-08-271-24/+7
| | | | | | | | | server allocates one, if its not empty the user gets the one given (this is used for remote users) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7873 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a call to the NICK handler that allows toggling of allowing invalid ↵Gravatar brain2007-08-271-1/+9
| | | | | | | | | nicks to on or off. Use it in ForceNickChange to allow forced nickchange of a nick to a uid. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7869 e03df62e-2008-0410-955e-edbf42e46eb7
* UUID is now generated and set on client add, and shown after 005 via numeric ↵Gravatar w00t2007-08-271-2/+8
| | | | | | 042: %s :your unique ID. This also replaces the fd-unknown style of nicks we used prior to recieving NICK from a client, just because it looks tidier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7848 e03df62e-2008-0410-955e-edbf42e46eb7