danieldg
585138e4a4
Clean up unused functions, add nonicks operoverride [dKingston]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11951 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22 00:09:15 +00:00
danieldg
d221de8827
Kill ListenSocketBase, use OnAcceptConnection for all new connections
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:33 +00:00
danieldg
dcbb0ae938
Move command-line items to CommandLineConf
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11949 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:24 +00:00
danieldg
123eac3f25
Change module API to use LocalUser* where correct
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:45:19 +00:00
danieldg
9924e56311
Split LocalUser and RemoteUser
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:48 +00:00
danieldg
355b17f151
Update documentation and remove unused classes/functions
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11938 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:27 +00:00
danieldg
34fbe51fa4
Move DumpText into User; kill unused WriteWallOps and DecreasePenalty functions
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11931 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20 04:40:27 +00:00
danieldg
fa452641bf
Remove more classbase
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11905 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18 16:18:44 +00:00
danieldg
bf6724c049
Rewrite ConfigReader again
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11879 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:14:44 +00:00
danieldg
dbf4d59543
Fix module unmapping with culled Module objects
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14 22:12:55 +00:00
danieldg
e80a1296a0
Move static map of extensions into ServerInstance, add const-correctness
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-14 18:39:38 +00:00
danieldg
37fd031da0
Remove Command and ModeHandler objects in their destructors; fixes possible pointer leak if a module was not careful when triggering exceptions in its constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11872 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13 21:34:29 +00:00
peavey
e4839dc443
Move 2 static extensibles from user class to inspircd class for global access in an attempt to further fix windows build.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11838 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 18:03:17 +00:00
peavey
c049a4a0f5
Use CoreExport for the ServerInstance extern. Fixes unresolved symbol error for windows DLLs like modules and commands.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11833 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 15:23:33 +00:00
danieldg
de25d94673
Get rid of a bunch of memory-wasting C-style strings
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03 01:52:59 +00:00
danieldg
8456cf5ccd
Fix valgrind issues and crashes on exit
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02 03:15:46 +00:00
danieldg
75d9c67804
Add ROUTE_TYPE_MESSAGE and use for PRIVMSG/NOTICE routing
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11791 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-01 21:41:52 +00:00
danieldg
6d03943426
Remove InspIRCd* parameters and fields
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:13:13 +00:00
danieldg
c8026bc2d7
Move configuration filename specification to start script, to reduce hardcoded paths in executable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11759 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-24 01:44:29 +00:00
danieldg
e2af2347fc
Create StreamSocket for IO hooking implementation
...
Fixes the SSL SendQ bug
Removes duplicate code between User and BufferedSocket
Simplify SSL module API
Simplify EventHandler API (Readable/Writeable moved to SE)
Add hook for culled objects to invoke callbacks prior to destructor
Replace SocketCull with GlobalCull now that sockets can close themselves
Shorten common case of user read/parse/write path:
User::Write is now zero-copy up to syscall/SSL invocation
User::Read has only two copy/scan passes from read() to ProcessCommand
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21 13:26:31 +00:00
danieldg
069a2ef214
Clean up Command constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:27 +00:00
danieldg
d9e3bb8d43
Remove redundant ServerInstance* fields
...
It has been impossible to have more than one InspIRCd* object in the
same address space for some time now, and this feature was never used.
This formalizes class InspIRCd as a singleton object.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:54 +00:00
danieldg
6d57bbe05c
Change Extensible to use strongly typed entries
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:25 +00:00
danieldg
f4472dd6dc
Change cmd_*.so to use the Module object API
...
Create Module* objects for each command, and load them like modules.
This unifies the external API for modules.
Library directory is now deprecated: all modules are located in a
single module directory.
Header files for each command are no longer needed; remove.
This also fixes two potential segfaults in m_spanningtree.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 02:30:12 +00:00
danieldg
3e26f42a8f
Include VERSION/REVISION information in module version tag, so that we do no longer rely on $Id$
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11666 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 18:33:16 +00:00
danieldg
0377d937c5
Remote user messaging fixes
...
Add format string output to DumpText
Fix PI->PushToClient prefixing issue
Fix ENCAP routing to use SID rather than server name
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11658 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:53:03 +00:00
danieldg
df0489220c
Make CHECK work remotely with optional second parameter
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11651 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:52:04 +00:00
danieldg
77d5c9f765
Remove now-unused insp_sockaddr and insp_inaddr types
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11579 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01 15:07:45 +00:00
danieldg
0036e3a70c
Fixes for config reader
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12 18:03:52 +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
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
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
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
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
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
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
89249e32fc
Patch for bug #704 by Darom, allows for 64 bit file offsets, so that signal 25 isnt raised if there is a 2gb logfile (really, WATCH YOUR LOGS)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11035 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-06 23:48:25 +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
w00t
805d47c98e
Move stuff to use ASCII map where required.
...
Also move this out of being a member totally, as it breaks (gah) and is already untidy.. to be revisited.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10858 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:57 +00:00
w00t
6c38936243
national_case_sensitive_map must be static, thanks to the match stuff being static (this is a bit ugly, but necessary for now).
...
Default to national charset map instead of rfc map, as modules may change the pointer.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10857 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:54 +00:00
w00t
3c2c0b7733
Add InspIRCd::national_case_sensitive_map pointer, defaults to rfc_case_insensitive_map.
...
Modules may override this pointer to customise casemapping of nick/channel names.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10856 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-07 18:31:48 +00:00
brain
9bddcf91ac
Thread safety fixes to avoid crashes on rehash, dont reopen logs within the rehash thread. Put this in the safe part of the rehash operation, after the thread exits. Put a mutex around the part where the thread exits, just in case somehow there are two rehash threads exiting at the same time due to user
...
muppetry.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10811 e03df62e-2008-0410-955e-edbf42e46eb7
2008-11-22 16:54:32 +00:00
w00t
f432839202
Migrate oper commands to an std::set, add a set for privs also. Change the API a bit.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10661 e03df62e-2008-0410-955e-edbf42e46eb7
2008-10-18 16:52:46 +00:00
brain
636a52312b
Fix a rather nasty race condition revealed by my reading through the comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of:
...
'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can
detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 21:46:56 +00:00
brain
552885befe
More comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10568 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-20 21:20:15 +00:00
brain
bc770c5388
MutexEngine -> MutexFactory, more sensible name
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10385 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-04 11:03:58 +00:00