summaryrefslogtreecommitdiff
path: root/src/modules/m_httpd.cpp
AgeCommit message (Collapse)Author
2014-06-25Add parameter to InspIRCd::TimeString for UTC time formats.Peter Powell
Missing doc added by @attilamolnar
2014-06-25Add formatting to InspIRCd::TimeString; switch all code to use it.Peter Powell
m_httpd also now uses the correct timestamp format. Windows-specific fixes by @attilamolnar, original PR #849
2014-05-23Prefix all definitions in config.h to avoid potential collisions.Peter Powell
2014-04-07Merge insp20Attila Molnar
2014-03-25m_httpd Fix typo noticed by @SaberUKAttila Molnar
2014-01-22Split IOHook into IOHook and IOHookProviderAttila Molnar
Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
2014-01-21Merge insp20Attila Molnar
2014-01-20m_httpd Add timeout option; remove timed out connectionsAttila Molnar
2013-09-09m_httpd Close all open http sockets on unloadattilamolnar
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-15Remove $ModDep commentsattilamolnar
2013-08-04Automatically attach modules to eventsattilamolnar
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-08-04Change modules to use the MODNAME constant when logging.Peter Powell
The majority of modules were logging with their module name as the log type. There was a few places which were logging to a non-name type but, with the exception of CONFIG, those messages are so uncommon that it doesn't make sense to use a seperate type for them.
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.Peter Powell
2013-06-07Change the API of m_httpd to be dynamic_reference-basedattilamolnar
2013-06-07Create IOHook interface (extracted from Module)attilamolnar
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-05-15Tidy up keywords on module methods.Peter Powell
- Remove virtual keyword from a ton of methods which don't need it. - Add override keyword to a ton of methods which do need it.
2013-04-12Tidy up source files:Peter Powell
- Use #pragma once instead of include guards. - Move header files in src/modules to include/modules. - Fixed various spacing issues.
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-01Whitespace and empty destructor removal, minor coding style changesattilamolnar
2013-01-28Use a better server name in m_httpd.Peter Powell
2012-12-02Attach to events and register services in init()attilamolnar
2012-09-23m_httpd Accept POST requests only when the value for Content-Length is ↵attilamolnar
greater than zero
2012-09-23Fix undefined behavior caused by referencing the returned buffer by ↵attilamolnar
std::string::c_str() when the object is temporary Thanks to @ChrisTX for pointing this out Fixes #257 reported by @helloall
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-12Fix double-cull of users quitting due to connection errordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Fix m_httpddanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11959 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22Make irc::sockets::* parameters consistent, add irc::sockets::maskdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11953 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21Kill ListenSocketBase, use OnAcceptConnection for all new connectionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19Valgrind now runs completely clean.danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11916 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Remove VF_SERVICEPROVIDER, prevent heap allocation of ConfigReaderdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11904 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Remove dummy API_VERSION from Version constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-09Add server ports to ServerInstance->ports, enable SSL on them using OnHookIOdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11810 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-08Update Event and Request APIsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-22Describe module purpose in /MODULES outputdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
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-01Remove unneeded paramaters from OnAcceptReadydanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11581 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
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-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-21Be consistent. Use ServerInstance in all places instead of 'Instance' in ↵w00t
half. This has bugged me forever :p. I think I got all of extra/ too.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10579 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-11Remove WaitingForWriteEvent, it seems to do *nothing* except confuse things. ↵w00t
Also, don't close socket on http if FlushWriteBuf doesn't write it all in one go, in fact, don't try FlushWriteBuf at all - use the sockets default of waiting to be told it's safe to write data. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10509 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Growl.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10477 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Remove crappy, unsafe (and now unneeded!) casts.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10476 e03df62e-2008-0410-955e-edbf42e46eb7
2008-09-08Give httpd a custom listener class, specialised in creating HttpServerSockets.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10471 e03df62e-2008-0410-955e-edbf42e46eb7
2008-08-25Change module versions to use a string instead of fixed digits, and use ↵w00t
propset ID to auto-set versions, so we don't have (essentially unused) module versions. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10291 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-11fixed some indentation and spacing in modulespippijn
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9888 e03df62e-2008-0410-955e-edbf42e46eb7