summaryrefslogtreecommitdiff
path: root/src/modules/m_httpd.cpp
AgeCommit message (Collapse)Author
2018-08-07m_httpd: close the HTTP connection after serving a request.Peter Powell
We always send "Connection: Close" so this is the right behaviour according to section 8.1 of RFC 2616. Closes #1507.
2014-12-10m_httpd On module unload close all connections hooked by the module being ↵Attila Molnar
unloaded
2014-03-25m_httpd Fix typo noticed by @SaberUKAttila 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-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
2008-05-12httpd connection close fixes (these need to be backported to 1.1 at some ↵brain
point?) and acl tweaks to make http auth work git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9714 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-12Skeleton ACL module, and hooks for it. This will provide ip restrictions, ↵brain
passwording etc for httpd modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9709 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-12Fix wildcard matching in win32, seems that incrementing an iterator ↵brain
dereferences it internally on win32, so iter++ when iter == container.end() drops an assert. YES, an assert. No fucking throw, making it a fucking pain to debug (no bt on assert, program exits) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9706 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-08Make this nicer, rely on the last write event after the Write() that sends ↵brain
all the data, not on a timer git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9671 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-08Remove the timeout stuff, it is not stable and not really required, we are ↵brain
not emulating apache here but making a bare minimum of compliance to pass along xml etc. Personally i only really care about compliance with irc RFCs :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9669 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24And more of thembrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9186 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-22Convert remaining InspIRCd::Log() calls to new logging systemaquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵brain
warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-11Add -Wshadow to cflags, and fix a bunch of warnings that come with it. Add a ↵w00t
note to webirc that needs looking at. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8892 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove Implements() method from every module. booya.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8536 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Convert all to new Attach() system. The Implements() method needs removing ↵brain
from all modules as it is dead weight. WARNING: there are segfaults here! HERE BE DRAGONS, i am not finished! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8510 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ↵w00t
ident etc will use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15InspTimer -> Timerw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8205 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7885 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19Added proper header handling, persistant connections, and working timeouts ↵special
to m_httpd git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7743 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19Fixed a crash within the timeout for m_httpd socketsspecial
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7740 e03df62e-2008-0410-955e-edbf42e46eb7