summaryrefslogtreecommitdiff
path: root/src/inspircd.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add random number generation functions to InspIRCd class.Gravatar danieldg2010-02-091-1/+2
| | | | | | | Default implementation uses libc random(), which can be better than rand(). If gnutls is loaded, gcrypt will be used to provide random numbers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12404 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up some slow iterationsGravatar danieldg2010-01-191-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12300 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove excessive gettimeofday system callsGravatar danieldg2010-01-181-31/+30
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12293 e03df62e-2008-0410-955e-edbf42e46eb7
* ...because every now and again, i have to do a massive commit.Gravatar brain2010-01-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
* Force heap allocation of refcountbase, create usecountbase for ↵Gravatar danieldg2009-10-251-1/+3
| | | | | | non-allocation reference counting git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11978 e03df62e-2008-0410-955e-edbf42e46eb7
* Make User::uuid and User::server constGravatar danieldg2009-10-231-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
* Move command-line items to CommandLineConfGravatar danieldg2009-10-211-25/+31
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11949 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module API to use LocalUser* where correctGravatar danieldg2009-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7
* Split LocalUser and RemoteUserGravatar danieldg2009-10-211-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix null deref on Cleanup() called before FakeUser creationGravatar danieldg2009-10-191-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11926 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up some log messagesGravatar danieldg2009-10-191-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11917 e03df62e-2008-0410-955e-edbf42e46eb7
* Valgrind now runs completely clean.Gravatar danieldg2009-10-191-8/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11916 e03df62e-2008-0410-955e-edbf42e46eb7
* Add more debug logging of object lifetimesGravatar danieldg2009-10-181-5/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11900 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix module unmapping with culled Module objectsGravatar danieldg2009-10-141-17/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11875 e03df62e-2008-0410-955e-edbf42e46eb7
* Move static map of extensions into ServerInstance, add const-correctnessGravatar danieldg2009-10-141-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11873 e03df62e-2008-0410-955e-edbf42e46eb7
* removes unnecessary checks in modules, removes a superfluous else statement, ↵Gravatar peavey2009-10-131-5/+3
| | | | | | fixes some formatting. Patch by dKingston. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11867 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to new execution directory structureGravatar danieldg2009-10-131-13/+3
| | | | | | | | 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
* Remove needless chdir() from inspircd executableGravatar danieldg2009-10-131-9/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11865 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix empty SID validation and generationGravatar danieldg2009-10-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11851 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix automatic SID generation when generated value is less than 100Gravatar danieldg2009-10-121-3/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11850 e03df62e-2008-0410-955e-edbf42e46eb7
* Move 2 static extensibles from user class to inspircd class for global ↵Gravatar peavey2009-10-111-3/+4
| | | | | | 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
* Get rid of a bunch of memory-wasting C-style stringsGravatar danieldg2009-10-031-19/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix valgrind issues and crashes on exitGravatar danieldg2009-10-021-5/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove include/inspircd_se_config.h and socketengine-specific headersGravatar danieldg2009-09-301-3/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11784 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove InspIRCd* parameters and fieldsGravatar danieldg2009-09-261-33/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up SocketEngine interface to allow edge-triggered I/O and sockets that ↵Gravatar danieldg2009-09-261-0/+1
| | | | | | do not force readability. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11760 e03df62e-2008-0410-955e-edbf42e46eb7
* Move configuration filename specification to start script, to reduce ↵Gravatar danieldg2009-09-241-6/+6
| | | | | | hardcoded paths in executable git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11759 e03df62e-2008-0410-955e-edbf42e46eb7
* Create StreamSocket for IO hooking implementationGravatar danieldg2009-09-211-21/+2
| | | | | | | | | | | | | | 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
* Fix iteration of ServerInstance->Users->local_users now that QuitUser can ↵Gravatar danieldg2009-09-161-4/+6
| | | | | | modify the vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11732 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up Command constructorGravatar danieldg2009-09-131-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove redundant ServerInstance* fieldsGravatar danieldg2009-09-131-5/+7
| | | | | | | | 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
* Membership* changesGravatar danieldg2009-09-131-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
* Change cmd_*.so to use the Module object APIGravatar danieldg2009-09-031-5/+0
| | | | | | | | | | | | | | 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
* Move user quit logic out of cull listGravatar danieldg2009-09-021-3/+1
| | | | | | | This changes the cull list from a list of User* that ran special cleanup to a list of classbase* that simply deletes the objects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11636 e03df62e-2008-0410-955e-edbf42e46eb7
* ModResult conversion: Change return type of all module functionsGravatar danieldg2009-09-021-6/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove calls to strdup() in core, it is not better than std::stringGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11623 e03df62e-2008-0410-955e-edbf42e46eb7
* More deallocation-at-exit cleanupGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11621 e03df62e-2008-0410-955e-edbf42e46eb7
* Misc removal of pointless Extend stringsGravatar danieldg2009-09-021-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11618 e03df62e-2008-0410-955e-edbf42e46eb7
* Valgrind cleanup: deallocate RFC modes, clientlist, and uuidlistGravatar danieldg2009-09-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11614 e03df62e-2008-0410-955e-edbf42e46eb7
* Valgrind cleanup: Add RemoveRFCCommands() to dlclose() and delete the core ↵Gravatar danieldg2009-09-021-1/+1
| | | | | | commands git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11613 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove now-unused insp_sockaddr and insp_inaddr typesGravatar danieldg2009-09-011-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11579 e03df62e-2008-0410-955e-edbf42e46eb7
* Move VERSION/REVISION to their own header to avoid needless rebuilds on updateGravatar danieldg2009-09-011-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11561 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix printf format warningGravatar danieldg2009-08-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11508 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for config readerGravatar danieldg2009-08-121-24/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix thread join not working for subclasses of Thread because of C++ ↵Gravatar danieldg2009-08-101-0/+1
| | | | | | destructor ordering git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11500 e03df62e-2008-0410-955e-edbf42e46eb7
* Make sure usage lines up neatly.Gravatar peavey2009-08-021-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11465 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix possible segfault on giving an unknown cmdline argument. index holds the ↵Gravatar peavey2009-07-041-1/+1
| | | | | | ref to the longopts array if found else it is NULL. optind however holds the next argv to be processed thus optind-1 is the correct index value to use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11439 e03df62e-2008-0410-955e-edbf42e46eb7
* Make rehash generate a new ServerInstance->Config objectGravatar danieldg2009-07-011-12/+10
| | | | | | | 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
* Move list of open ports out of Config objectGravatar danieldg2009-07-011-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11423 e03df62e-2008-0410-955e-edbf42e46eb7
* Makefile updates: clean up command linesGravatar danieldg2009-06-011-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11395 e03df62e-2008-0410-955e-edbf42e46eb7