peavey
84af5345c1
Remove channel::created as its unused and only serves to confuse (see last commit to m_check). As a bonus saves memory usage :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10955 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-09 20:51:38 +00:00
w00t
43847ec9c7
Update copyrights for 2009.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02 18:16:05 +00:00
w00t
376a2833d9
Change a few bits to use std::list instead of std::vector.
...
Vector is better than list, unless:
- you require random access (these don't)
- you require that the memory they are stored in are contiguous (these don't)
This will save a couple of bytes here and there perhaps (along with
much less problems with memory fragmentation and allocation).
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10923 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-28 03:27:28 +00:00
om
fe4001942d
Add optional 3rd parameter to Channel::SetTopic() which overrides all access checks.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10085 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04 17:43:15 +00:00
w00t
904161fdba
Add Channel::SetTopic(User *, std::string &) to set topic on a channel. Use it in CommandTopic. Also modify OnLocalTopicChange to accept a new return value. (0 == proceed as normal, 1 == don't check anything, -1 == disallow change silently).
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10082 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-04 15:28:29 +00:00
w00t
4c286655e1
Remove custom members for +lk storage
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10053 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-20 14:30:00 +00:00
w00t
a67b9de174
Change modes in channels and users to use std::bitset instead of an array. 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
2008-07-19 20:34:14 +00:00
w00t
0e4715e8e3
Overload IsExtBanned to provide a *string matching* version, this finally opens the way for non-hostmask based extbans, which is good ;p. On the downside, this requires rethinking of the extban exemption stuff I did yesterday.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9987 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12 20:38:14 +00:00
w00t
0b070b52bc
Convert API to use std::string, fixes my slight bug from earlier and looks tidier
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9956 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-11 21:15:02 +00:00
brain
552ab1e398
More correctly state the lookup arrays as unsigned char, not char
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9771 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19 21:29:14 +00:00
brain
31f1e7ad09
Convert channel::name to std::string, this was a beastie!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9770 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19 21:16:42 +00:00
brain
869bd02318
Convert channel banlist members to std::string
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9769 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-19 19:53:03 +00:00
brain
f78a6a90b1
This should probably be tested, but makes a whole lot more sense like this (users.cpp)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9404 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-07 22:00:49 +00:00
w00t
f00094febf
The start of extended bans infrastructure: syntax is e.g. +b n:w00tdiff@*, bans of any type can be applied and checked against, but there's more to come with this.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9337 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-04 21:43:21 +00:00
w00t
1fe8085c6d
Remove this, it won't work (reliably), use ModeParser::ModeString() instead, ta B
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9243 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 16:30:49 +00:00
w00t
1f9ef40812
Configurable prefixes for chanmodes +qa: prefixes can be turned on or off individually and seperately, per server as well as per mode, and prefixes are no longer limited to ~&. *** SERVICES AUTHORS *** This involves a protocol change. FJOIN now sends the userlist with format modes,nick instead of prefixes,nick.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9241 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-01 13:53:27 +00:00
aquanight
58385dd458
Commit -Wformat=2 -Wmissing-format-attributes, printf-like functions in 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
2008-03-30 02:48:54 +00:00
brain
32a26fa539
Someone please help me fix the warnings in modules caused by this change. All mode handler OnMode events, ModeWatcher::BeforeMode/AfterMode, plus OnRawMode now have a bool servermode parameter
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8964 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-18 16:55:27 +00:00
brain
bfaf7e3b27
Commit patch from danieldg that makes a ton of stuff const-safe for latest warn-happy trigger-happy gcc4 (thanks)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13 18:22:19 +00:00
w00t
f127161467
Clear up header insanity
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
e4acbc95b8
Header update: 2007 -> 2008
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
w00t
488cea15e8
Move CreateChannel to a constructor instead
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8647 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:36:05 +00:00
w00t
d2fea45d5a
Move channel creation to a seperate Channel::CreateChannel (y'know, perhaps this might go into a constructor sometime) in preperation for permanent channels
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8646 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:24:26 +00:00
w00t
c244f3ecd5
Forward declaration isn't required here
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8645 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-06 02:01:34 +00:00
brain
b94c45340e
Roadmap item "Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only
...
requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 21:51:48 +00:00
w00t
b57c7f4e46
In the grand tradition of huge fucking commits:
...
- chanrec -> Channel
- userrec -> User
Enjoy.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
peavey
f2acdbc382
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2
'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
ad9950c7e5
Extra comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7368 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 14:10:34 +00:00
brain
4a50237d63
Config option for default channel modes -- more to follow, don't use yet
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7163 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-27 12:02:10 +00:00
brain
d7324a55fa
Space indents must die.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 18:08:57 +00:00
w00t
9cf56d917d
Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
brain
ce533b67e6
Small api change with wide reaching effects in modules - Allows modification of whats displayed by NAMES on a per-nick basis, so we can have UHNAMES in a seperate module to NAMESX (and possibly do some funky other stuff in the future too!)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6934 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-10 00:26:04 +00:00
brain
6dadb43799
Add <auditorium showops> which determines if auditorium works like ircnet +a (anonymous channels) or like unrealircd +u.
...
The old behaviour is similar to anonymous channels, only showing the current user.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6875 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 16:23:40 +00:00
brain
0f6de0b183
set the TS of a channel in JoinUser, not after the entire FJOIN, this is safer and may fix the odd desync here and there
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6690 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-18 16:52:56 +00:00
brain
b111eec597
Allow for nick!user@host in TOPIC information.
...
Note that this adds another <options> tag value, 'hostintopic'. (defaults to yes)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-11 18:50:04 +00:00
brain
be70931a50
Cache channel max bans value to save an O(n) loop of match() on every ban (etc) add
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6267 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 00:25:18 +00:00
w00t
696ee9ff66
And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
a78cecbeb9
Refactor userrec::chans.
...
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc
New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op])
This increases speed a ton, and removes some wtf-age.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14 17:46:47 +00:00
brain
0e8a718038
Update comments to reflect new API
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5807 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26 18:12:50 +00:00
brain
2e52ff280d
Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList &exempt_list, a list of users NOT to write to. By default it just contains the sender, you can add more.
...
This also bumps the module api version by one. added "CUList fixme" to peaveys module just so it builds, as this will be refactored to use the new feature that was just added :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5806 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26 18:04:47 +00:00
brain
990c308a95
Whoops, patch
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25 17:43:28 +00:00
brain
2e2f1e98a6
Fix for bug noticed by dotslasher (?) where SAJOIN can desync
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5258 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-15 17:17:30 +00:00
brain
ea483e4972
Remove ExemptItem and InviteItem, these were never used
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5253 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-15 10:29:22 +00:00
brain
1a3297e974
* Fix ChanModes::ModeString to not try and set a key as a user mode ;)
...
* Tweak the way cyclehosts works, so that mode change is not echoed back to user who changes their host/ident
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5208 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10 19:48:30 +00:00
brain
29fd51d6f7
Add chanrec::IsBanned() so that we dont have to keep walking the banlist in various modules and using match()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5099 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02 14:09:45 +00:00
brain
ceeb3afef3
Update comment
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5054 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28 18:17:37 +00:00
brain
932f1a6bc5
Document ModeParser::FindPrefix() and chanrec::GetAllPrefixes()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5006 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23 22:03:05 +00:00
brain
ea3ba4bfd1
Multi-prefix FJOIN, and allowing module-defined prefixes across the network
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23 21:34:04 +00:00
brain
1b87725fef
Document mode prefixes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23 20:50:20 +00:00