1924 Commits

Author SHA1 Message Date
danieldg
8a13e4ebf7 Add ModeHandler::cull() for auto-deletion, fixes call of virtual method on partially-destructed object
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11883 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:43:14 +00:00
danieldg
c80a20b5a7 Clean up excessive bits in User struct
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11882 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:43:07 +00:00
danieldg
548eacee47 Hold reference to the associated ConfigTag inside ConnectClass
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11880 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:40:16 +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
62a1eab668 Clean up static allocations
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11878 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-16 17:01:49 +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
danieldg
d1ddbd62f9 Change to new execution directory structure
Don't change CWD into bin/
Remove path-resolution hacks from configuration
Store pidfile and xline DBs in data, logs in logs.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11866 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-13 01:44:22 +00:00
danieldg
2602f4efbd Encode module API version in the init_module symbol; fixes conflic with glibc-exported init_module
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11863 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 23:41:43 +00:00
danieldg
060f403430 DLLFactory--
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11861 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 22:56:41 +00:00
peavey
c8863dabcc Don't CoreExport reference.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11859 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 20:50:23 +00:00
danieldg
4ab15e8655 Make OnChannelRestrictionApply take a User* instead of a Membership* [jackmcbarn]
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11858 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 20:23:26 +00:00
danieldg
ec1df83c87 CoreExport changes, clean up DoHostCycle when users are exempted
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11856 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 18:13:01 +00:00
danieldg
579e707f01 m_exemptchanops by jackmcbarn - channel mode +X to allow per-channel setting
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11855 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-12 18:12:48 +00:00
peavey
e4a590c792 Less CoreExport.. Too much of a good thing..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11847 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 23:25:31 +00:00
peavey
80c0979239 More CoreExport, brought the errors down, but some still persist.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11846 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 22:32:06 +00:00
peavey
228c2b2e58 More CoreExport.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11843 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 21:49:18 +00:00
peavey
4fa4afe580 CoreExport Membership since windows needs this.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11839 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 19:12:23 +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
26cd5393c9 Update m_cloaking to use free-form keys instead of weakening the hash IV
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11820 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-10 17:06:52 +00:00
danieldg
b6a5e2bd14 Add server ports to ServerInstance->ports, enable SSL on them using OnHookIO
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11810 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-09 19:00:09 +00:00
danieldg
c4d6ce8c5e Add names for all modes (part 1 of named channel mode list)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11809 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08 23:34:01 +00:00
danieldg
7e843c22e1 Update Event and Request APIs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08 23:29:21 +00:00
danieldg
f9717e35ca Take advantage of link errors to check API_VERSION at module load time
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11805 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-06 16:50:48 +00:00
danieldg
085a8bc660 Add OnBuildNeighborList hook, replaces all uses of OnHostCycle
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11802 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-05 23:27:46 +00:00
danieldg
9336468f5b Run DelMode and DelModeWatcher in RemoveModule
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11799 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-05 15:43:28 +00:00
danieldg
8ed74be517 Fix crash due to null address in DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03 04:08:20 +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
e57ed15735 Fix routing for normal core commands like QUIT
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11795 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02 06:13:57 +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
3dc81ee133 Add explicit reference-counting base class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30 21:55:21 +00:00
danieldg
7aa5e059a8 Remove include/inspircd_se_config.h and socketengine-specific headers
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11784 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30 18:31:05 +00:00
danieldg
5fd6471070 Detect, complain, and don't crash when objects are inserted into cull list twice
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11782 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30 16:28:43 +00:00
danieldg
e279597c0b Fix compilation of SQL modules, use GlobalCulls to clean up deleted modules
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11780 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30 03:22:25 +00:00
danieldg
d811ffeda2 Fix linking errors on BSD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11774 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-28 02:21:43 +00:00
danieldg
7c1509e0a7 Fix compile errors on BSD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11773 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-28 01:59:21 +00:00
danieldg
d5e36aa2b2 Fix warnings from BSD build and work around the failures of BSD make
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11771 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-28 00:55:42 +00:00
danieldg
7107ec12d8 Flexible SendQ
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 16:41:07 +00:00
danieldg
ee913368d7 Change IS_FAKE and CheckTimeStamp to IS_SERVER and ResolveModeConflict to clarify their use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11765 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 16:40:58 +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
810c662c9b Add FD_WANT_SINGLE_WRITE to efficiently replace FD_WANT_POLL_WRITE
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11762 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:12:45 +00:00
danieldg
939cb0ba98 Clean up SocketEngine interface to allow edge-triggered I/O and sockets that do not force readability.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11760 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 01:43:09 +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
7d93921aab Describe module purpose in /MODULES output
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-22 01:05:35 +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
a068c47d71 Separate spy channels [jackmcbarn]
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11747 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-18 17:07:13 +00:00
danieldg
01c23b31f7 Remove Extensible items from user, channel, and Membership on module unload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11730 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15 21:25:30 +00:00