This is a minimalist HTTP server using the single-process server concurrency model and non-blocking sockets for optimal memory usage and speed. It is not designed to be fleshed out with features; merely able to serve pages quickly and reliably.
Be the first to post a text review of CoreHTTP. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Fixed two flaws in HttpSprockMake. One was sscanf without limiters for string size which could result in a buffer overflow. The other involved shell command injection into the urlencoded variables. For example visiting index.pl?&&ls -l would make corehttp execute `perl index.pl &&ls-l`. Now the popen is escaped for " ' and \, and " is put around the arg in the sh command. Used realpath to further prevent symlink directory traversal. Changed license from AFL to GPL. Recommended _against_ usage of CGI until I get that more reliable. Added break;'s after sprocket->state changes in corehttp.c for good measure. Fixed a bug involving removesprocking a non-linked sprocket causing firstsprock to be null. Did general spring cleaning. Fixed parsing bug for urlencoded vars, and fixed bug in HttpSprockMake causing FIRSTSPROCK to be set to NULL. Added support for editing content-types in config file.
http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-4060 Since the government considers the buffer overflow important enough to mention, I'll fix it. Serious bug fix coming soon.
under the hood changes, fixed 20 second max transfer timeout problem. now we can send big files. added better http support - head request, 303 redirect
Added proper directory listing. Implemented clean exit. Made forking more robust.
fixed server null loop, client termination problems. added cgi config.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?