summaryrefslogtreecommitdiff
path: root/include/users.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixes for config readerGravatar danieldg2009-08-121-163/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
* Roll back mysterious DNS change from 2007 which broke multiple-answerGravatar w00t2009-06-301-2/+1
| | | | | | | DNS requests (CNAME, A). It looks like this was to be related to bitmask dnsbl support, but it would never have worked anyway (resultnum was always 0..). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11419 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User::ServerInstance public so that FakeUser can access it. There is no ↵Gravatar danieldg2009-05-131-6/+6
| | | | | | reason to make this private, really git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11382 e03df62e-2008-0410-955e-edbf42e46eb7
* Create subclass of User for FakeClient, to allow for use as command sourceGravatar danieldg2009-05-131-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11375 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove FindDescriptor wrapper for GetRef, it doesn't do anything useful and ↵Gravatar w00t2009-05-061-3/+1
| | | | | | in fact is a bit harmful in some ways as we've seen.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11364 e03df62e-2008-0410-955e-edbf42e46eb7
* Update all wiki links to point to the new wiki. This was done automatically ↵Gravatar psychon2009-03-151-1/+1
| | | | | | | | | with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
* Nuke trailing spacesGravatar peavey2009-02-141-9/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
* Update copyrights for 2009.Gravatar w00t2009-01-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
* Rip flood/threshold out of config classes also.Gravatar w00t2008-12-011-40/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10839 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove lines_in and reset_due flood protection mechanism, recvq/sendq on ↵Gravatar w00t2008-12-011-8/+0
| | | | | | | | their own now fill this role, as we have proper penalties. This tidies up *a lot* of code, and also saves a further sizeof(time_t) + sizeof(unsigned int) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10838 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove m_operflood, add privs: users/flood/no-throttle & ↵Gravatar w00t2008-12-011-4/+0
| | | | | | | | users/flood/increased-buffers. This also saves another sizeof(bool) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10837 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove OverPenalty, saves sizeof(bool) per user.Gravatar w00t2008-12-011-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10836 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove one (now unneeded) 4in6 hack.Gravatar w00t2008-10-281-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10744 e03df62e-2008-0410-955e-edbf42e46eb7
* (sort of..) Revert commit 7736e920fe6ccaf9ad1984afc70db19efd4fb8cd - remove ↵Gravatar w00t2008-10-251-5/+19
| | | | | | dupe checking on connect classes. Now, we just delete ones with refcount 0 on rehash, and add new ones. Connection can only match a non-disabled class, so most of the braindamage should be gone from here, without causing wild pointer fun.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10701 e03df62e-2008-0410-955e-edbf42e46eb7
* Default 'noisy' to false. Until i hear from w00t i cant see how this can be ↵Gravatar brain2008-10-181-1/+2
| | | | | | of use right now (non-opers get spammed with crap just from doing regular things like joining channels) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10678 e03df62e-2008-0410-955e-edbf42e46eb7
* Working privs implementation, and example usage in NOTICE for mass messaging.Gravatar w00t2008-10-181-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10662 e03df62e-2008-0410-955e-edbf42e46eb7
* Migrate oper commands to an std::set, add a set for privs also. Change the ↵Gravatar w00t2008-10-181-1/+2
| | | | | | API a bit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10661 e03df62e-2008-0410-955e-edbf42e46eb7
* Add skeleton of HasPrivPermission.Gravatar w00t2008-10-181-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10660 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the duplicate checking/disabled setting of <connect> craq, there is a ↵Gravatar w00t2008-10-171-19/+5
| | | | | | (better) way to do this, which is to hunt for a new connect class on all users once /rehash happens. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10654 e03df62e-2008-0410-955e-edbf42e46eb7
* Replace the IP (in addition to hostname) for CGIIRC clients; fixes glines ↵Gravatar special2008-09-291-1/+2
| | | | | | and zlines on IPs affecting cgiirc users. Thanks to Saz|Laptop git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10607 e03df62e-2008-0410-955e-edbf42e46eb7
* Changed Allowed Modes to bitsets.Gravatar aquanight2008-09-131-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10541 e03df62e-2008-0410-955e-edbf42e46eb7
* Clear out the string used for the temporarily stored hostname during DNS ↵Gravatar special2008-09-101-1/+1
| | | | | | resolution. Should save at least strlen(host) per user git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10496 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixed comments for cached host fields in User; 3/4 of these were completely ↵Gravatar special2008-09-101-3/+3
| | | | | | incorrect. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10494 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge class connection in with class user (nothing else inherits it anyway, ↵Gravatar w00t2008-09-071-2/+50
| | | | | | and all the fields in here were only really useful to users anyway) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10460 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge the second interface for socket hooking into one, so it's all done by ↵Gravatar w00t2008-09-071-4/+0
| | | | | | Add/Del/GetIOHook now. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10457 e03df62e-2008-0410-955e-edbf42e46eb7
* Move all the parameters around AGAIN. See docs shortlyGravatar brain2008-08-311-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10364 e03df62e-2008-0410-955e-edbf42e46eb7
* Save 4 bytes (assuming sizeof(ptr) == 2) per user record, storing unneeded ↵Gravatar w00t2008-08-311-13/+0
| | | | | | pointers (self managed class) that nothing was ever done with. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10359 e03df62e-2008-0410-955e-edbf42e46eb7
* After discussions and thought, move umode +n to +s. This increases ↵Gravatar w00t2008-07-291-5/+3
| | | | | | cross-ircd compat (both charybdis and unreal use +s for snomasks, others might in the future). This also decreases complexity for new users, and removes the redundancy. This means that just +s +cC for example will be required to view connects. (files to be renamed in next commit to not confuse svn). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10074 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove duplicated member, kept in classes.. Possible now we have a pointer. ↵Gravatar w00t2008-07-211-7/+1
| | | | | | this saves (another) 4 bytes per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10064 e03df62e-2008-0410-955e-edbf42e46eb7
* Change modes in channels and users to use std::bitset instead of an array. ↵Gravatar w00t2008-07-191-6/+6
| | | | | | This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix compile. Also remove write error stuff, as that was used prior to the ↵Gravatar w00t2008-07-191-24/+5
| | | | | | goodness of global culllist. This makes getting user's quit messages to them (on excess recvq etc) much easier. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10042 e03df62e-2008-0410-955e-edbf42e46eb7
* Use a switch (cleaner, probably more efficient) for user status here, also, ↵Gravatar w00t2008-07-191-7/+1
| | | | | | we can remove another member (::timeout) that is only actually used before registration by doing a bit of addition. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10041 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove totally unused member, saving sizeof(unsigned int) per user recordGravatar w00t2008-07-191-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10040 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix for #564Gravatar w00t2008-07-121-2/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9961 e03df62e-2008-0410-955e-edbf42e46eb7
* Add User::GetCIDRMask(int range), will be used for CIDR throttling, etc. ↵Gravatar w00t2008-07-121-0/+9
| | | | | | Also probably opens up the way for /gline nickname to place CIDR bans instead of regular bans, which could be helpful. Much thanks to Om for his help. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9959 e03df62e-2008-0410-955e-edbf42e46eb7
* Back out the incomplete linebuffering stuff that shouldn't have been committed..Gravatar w00t2008-07-021-26/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9948 e03df62e-2008-0410-955e-edbf42e46eb7
* Forward port r9946: make SVSHOLD silent to avoid useless irritation to opersGravatar w00t2008-07-021-13/+26
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9947 e03df62e-2008-0410-955e-edbf42e46eb7
* A few minor fixes, some copy constructor stuff, misnamed channelmanager ↵Gravatar brain2008-05-201-2/+2
| | | | | | constructor, add files to vc8 project, configreader tidyups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9780 e03df62e-2008-0410-955e-edbf42e46eb7
* More correctly state the lookup arrays as unsigned char, not charGravatar brain2008-05-191-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9771 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User:: nick/ident/dhost/fullname and some other things std::string ↵Gravatar aquanight2008-05-181-25/+25
| | | | | | instead of char*/char[] (MODULES DO NOT COMPILE) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9748 e03df62e-2008-0410-955e-edbf42e46eb7
* Masterful rewrite of User::AddBuffer to remove a string copy (and make more ↵Gravatar w00t2008-05-071-1/+1
| | | | | | efficient) thanks to some nifty string manipulations. This should provide benefit on highly loaded nodes. This has *not* been thoroughly tested considering it's criticality, but I have spent the past ~4 hours writing and testing it, and it seems ok. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9661 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for bug #515, update existing in-use connect tags on the fly in rehashGravatar brain2008-04-121-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9471 e03df62e-2008-0410-955e-edbf42e46eb7
* Trunk fix for bug #505 reported by nenolodGravatar brain2008-04-121-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9468 e03df62e-2008-0410-955e-edbf42e46eb7
* Patch from Brain fixing broken stuffGravatar w00t2008-04-111-4/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9456 e03df62e-2008-0410-955e-edbf42e46eb7
* Much faster way of checking if the user is 4in6, avoid strncmp in ↵Gravatar brain2008-04-111-1/+5
| | | | | | User::GetIPString(), do it in User::SetSockAddr() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9455 e03df62e-2008-0410-955e-edbf42e46eb7
* Move QuitUser into UserManager class, and unstaticize it. This prepares for ↵Gravatar w00t2008-04-091-8/+0
| | | | | | some benchmarking lulz on object pooling I plan to do today, as well as making more sense now we *have* a manager class git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9442 e03df62e-2008-0410-955e-edbf42e46eb7
* AWAY notification for WATCH. Numerics are now sent out when a user goes away ↵Gravatar w00t2008-03-301-0/+5
| | | | | | (or returns from AWAY), as well as in WATCH L (if the user is online and away). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9227 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in ↵Gravatar aquanight2008-03-301-9/+9
| | | | | | inspircd now get treated like printf (meaning compile-time check goodness) in GCC git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9217 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that modules can hook users by altering a pointer in the User ↵Gravatar brain2008-03-241-0/+4
| | | | | | class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
* This should save 128 bytes per user for non-opers. Well worth it imho for a ↵Gravatar brain2008-03-231-2/+2
| | | | | | reasonably large amount of unused ram. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9179 e03df62e-2008-0410-955e-edbf42e46eb7