1799 Commits

Author SHA1 Message Date
w00t
f6f8605b15 Purely a documentation fix: PRIO_AFTER doesn't exist any more, it's PRIORITY_AFTER.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11469 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03 14:00:15 +00:00
w00t
c71db5cbde Various rehash fixes that it seems were introduced by untested code.
- Remove unused ReportConfigError member
- Don't report successful load (and spam modules that failed to load) if there is a config error
- Restore server name before attempting to send error string to client(s) otherwise most of them won't recieve the notifications.
Fixes bug #891. Still to come: report errors loudly on startup regardless of debug mode.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11450 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-01 21:58:17 +00:00
danieldg
b9e42dee05 Fix error reporting on rehash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11425 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01 22:55:54 +00:00
danieldg
c384697c88 Make rehash generate a new ServerInstance->Config object
This makes it possible to cancel a pending rehash, and fixes possible
threading issues with rehash and other events.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11424 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01 22:55:46 +00:00
danieldg
50eebfeac8 Move list of open ports out of Config object
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
2009-07-01 22:55:39 +00:00
w00t
7c2334ddd6 Roll back mysterious DNS change from 2007 which broke multiple-answer
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
2009-06-30 13:59:27 +00:00
danieldg
5fc80b5ad4 Fix incorrect attempted inline of irc::sockets::sa_size
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11415 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-16 04:21:28 +00:00
danieldg
14db93e7cf Fix sockaddr length argument, BSD will complain if it doesn't exactly match the expected size
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11414 e03df62e-2008-0410-955e-edbf42e46eb7
2009-06-16 04:02:21 +00:00
danieldg
fed2216d99 Remove the ServerConfig::DirValid check that breaks symlinks
This was included as a security check to prevent symlink attacks,
but this is no longer useful; anyone who can exploit the attack now
can just modify the ircd itself.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11390 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-25 22:50:49 +00:00
danieldg
0da6b3a13d OnRehash changes: split to multiple hooks to clarify use and prevent explosion of rehashes on a /REHASH *
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11388 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-24 02:53:45 +00:00
danieldg
5d6dcb9919 Make User::ServerInstance public so that FakeUser can access it. There is no reason to make this private, really
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11382 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 20:57:49 +00:00
danieldg
98cb5d73ee Hide server sources if HideWhoisServer is set, noticed by Brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11381 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 17:43:35 +00:00
danieldg
97c0e6b4c4 Use Utils->ServerUser instead of ServerInstance->FakeClient in m_spanningtree
This makes it possible to determine which server initiated a mode change,
instead of having only a flag saying that some server did.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11379 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 17:04:17 +00:00
danieldg
a889336d19 Make the previous patches actually work
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11378 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 05:28:00 +00:00
danieldg
ddc77036f6 Replace loopCall detection in OnUserKick with a check for the m_spanningtree fake user
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11377 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 05:27:53 +00:00
danieldg
6dd331262a Create subclass of User for FakeClient, to allow for use as command source
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11375 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13 05:27:39 +00:00
w00t
71f7e47bcd Remove FindDescriptor wrapper for GetRef, it doesn't do anything useful and 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
2009-05-06 22:27:51 +00:00
danieldg
fa3e1d5d4d Canonicalize bind addresses when creating listen sockets
This fixes /stats p output for SSL ports not working if a non-canonical address
is used in the configuration (IPv6 with :: or mixed hexadecimal case).
This also cleans up some now-useless sockaddr[2] allocations.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11361 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-04 23:24:00 +00:00
danieldg
3df81381bc Add IP address conversion utility functions, irc::sockets::aptosa and irc::sockets::satoap
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11336 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-29 03:21:15 +00:00
danieldg
d2a71fd344 Overloading SetMode seems to cause the compiler to interpret "" as a bool and not a string. Fixes bug #849
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11335 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-29 02:43:16 +00:00
peavey
15b51c2ecc rollback r11326, we're going to make vc9 the officially supported windows build methods since the few of us doing win dev can't keep up maintaining the others.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11327 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23 22:21:35 +00:00
brain
c275233c7c Heres the beef so far
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11326 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-23 19:03:40 +00:00
danieldg
e10bc5d2eb Actually use irc::modestacker correctly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11322 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-20 22:12:40 +00:00
danieldg
828f256a9b Use loopCall to protect OnUserKick rather than the triggerevents hack
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11321 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-20 13:29:58 +00:00
danieldg
97c7c3ff2a Add global-routing snomask functions
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11314 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-18 19:51:24 +00:00
danieldg
e988ac11a2 Fix CullList to not use O(n^2) version of vector clear
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11312 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 21:47:30 +00:00
danieldg
1735fc95bb Fix memory leak on rehash: opertype used char* instead of std::string
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11309 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 13:55:14 +00:00
danieldg
2dfc384cde Fix SetModeParam to use std::string and handle edge cases.
Previously, changing the vaule of a mode could require 3 calls to SetMode and SetModeParam.
This also fixes memory leaks caused by the strdup() not always being paired with a free().

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11307 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17 13:54:53 +00:00
psychon
403fe8fd97 Remove the unused RESOLVER_NOTREADY define and fix the spelling of RESLOVER_FORCEUNLOAD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11286 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-05 14:28:02 +00:00
dz
51f6fd1cf7 Reapply r11241: flush and close log filehandles properly when the log is closed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11285 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-04 18:02:52 +00:00
danieldg
05c0944bc2 Correct bind address of ident requests on multihomed IPv6-capable servers.
Fixes bug #815, reported by Szymek.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11274 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-01 17:14:04 +00:00
brain
9b6337bec9 start of fix for bug #805
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11260 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-25 11:37:06 +00:00
danieldg
a4e0a1127a Fix headers for GCC 4.4: sprintf requires #include <cstdio>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11259 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-25 05:08:58 +00:00
danieldg
e7150d29f4 ConfigReaderThread updates: add done flag, remove main-thread-only mutex
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11256 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 20:42:17 +00:00
danieldg
59dbcc1245 ThreadEngine: Allow interthread signaling without needing as many hacks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11251 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:51 +00:00
danieldg
f9e6de5284 ThreadEngine: remove MutexFactory, mutexes should be constructed using their constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11250 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:42 +00:00
danieldg
7b6eae3666 ThreadEngine: remove excessive mutex use on thread creation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11249 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-23 18:48:32 +00:00
dz
c6b11d2130 Revert r11241 due to crashiness when rehashing from IRC.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11246 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-22 20:34:24 +00:00
dz
2699c4d764 Actually close file log FDs when we're done with them.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11241 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-21 17:40:35 +00:00
psychon
b6dbd6caab Update all wiki links to point to the new wiki. This was done automatically 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
2009-03-15 12:42:35 +00:00
danieldg
bd12e3a4e6 Extban rework: allow exceptions to override bans on join
Move all bans that prevent a user from joining the channel to OnCheckBan,
then stack their return results to allow an exception to override a ban.

This does not make join exceptions override any other exception like mute.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11222 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-14 20:48:43 +00:00
danieldg
606aa8f09b Fix snomask stacking to only delay (last message repeated) part of the snomask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11201 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-10 22:55:55 +00:00
w00t
349b6b9193 Rewrite BufferedSocket::BindAddr to actually make sense, and not infinite loop under some conditions, etc. This also splits a lot of it into DoBindMagic(), for readability.
Seems to work okay on an invalid bind and nonexistant bind.. Fixes bug #754, reported by HiroP and Indoril.

Fix FD leak in some circumstances: if bind fails hard (requested address couldn't be bound), Close() the socket. Also fixes a deficiency of the previous commit in that if one address failed to bind, the FD would be invalidated.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11189 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-09 18:51:07 +00:00
danieldg
96a4a1d41e Include explicit parameter list in ProtocolInterface::SendMode
Also leave the strings split into deque, there's no need to pack it into a
string just to unpack it during the translate.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11181 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-07 01:29:45 +00:00
danieldg
526f5a4a02 Construct explicit parameter type list for MODE parameters
Previously, we used TR_SPACENICKLIST on the parameters. This worked only because
usually, if anything in the list parsed as a nick, then it was a nick. However,
some modes like +k and +g allow free-form text, which could also resolve as a
nick. Add extra parameters to allow modes to specify their TranslateType,
defaulting to TR_TEXT.

This fixes bug #757, found by Taros

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11180 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-06 22:28:57 +00:00
w00t
27e0df3719 Remove redundant PriorityState, enum Priority does the exact same thing.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11121 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-16 22:14:36 +00:00
peavey
7d9cc14d3e Add missing header #define assuring its only included once where needed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11106 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:43 +00:00
peavey
f209cce90b Nuke trailing spaces
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14 21:14:36 +00:00
brain
9bca438482 Add security:genericoper as requested by Strawberry and TwinShadow.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11098 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-13 09:21:30 +00:00
brain
2841f55d4b Fix some stuff for nationalchars
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11058 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-08 16:56:07 +00:00