[X] The "/fckeditor-java-2.5-src.zip" file could not be found or is not available. Please select another file.

rhttpd is a small webserver which tries to be fast in handling HTTP transactions and a bit flexible. At the moment rhttpd's portability is limited to Linux 2.6.


http://rhttpd.stormbind.net





Separate each tag with a space.

Release Date:

2005-02-15

Topic:

License:

Programming Language:

C

Registered:

2005-02-13

Ratings and Reviews

Be the first to post a text review of rhttpd. Rate and review a project by clicking thumbs up or thumbs down in the right column.

Project Feed

  • rhttpd 0.0.2-alpha2 file released: rhttpd-0.0.2-alpha2.tar.bz2

    +--- | TODO +------- * test if writing of blocked headers works correct (mostly on FreeBSD) (i need a FreeBSD Shell with direct Internet Access to test this) * malloc sachen von (gmtime/length)_cache zusaetzlich cachen? * access_log groessen angaben aus length_cache holen wenn sie nicht im request struct vorhanden sind * error/debug logging * gid setzen (wieso geht das nicht? -> operation not permitted) * daemon() +--- | CHECK +-------- * schreiben immer wiederkehrender und endloser "key: option" zeilen an den httpd? * buffer groessen pruefung pruefen, ausfuehrlicher fehlerhafte requests testen +--- | CHANGELOG +------------ 2005-02-15Ralf Huesing <ralf@stormbind.net> * release version 0.0.2-alpha2 * tested on AMD64 * added "FMT_SIZET" #define, dont know how to trigger 64bit "%d" otherwise.. * updated strncasecmp_int() with uint_32t and uint_64t if "HAVE_64BIT" is #defined * added -DHAVE_64BIT and -DFMT_SIZET in Makefile * there is something wrong with strnstr3(), ive comment it out, http_request_uri_generate() uses now strstr(), should be fixed in alpha3. * created "test/" directory, added test_str.c with tests for strnstr3/strnstr4/strncasecmp_int and big/little endian added a strcasecmp_int benchmark :) * setup_permission(): check if running as root * Makefile updated * wrote a small README 2005-02-14Ralf Huesing <ralf@stormbind.net> * added tests if initializing the cache (calloc()'s) failed * FreeBSD, blockierendes schreiben der header bei sendfile() abgefangen * FreeBSD, portablitaet bzgl. memrchr in http_request() wiederhergestellt > habe nun einfach die memrchr.c aus der glibc genommen, ich hoffe das geht klar.. * wenn verzeichniss jedoch keine index.html existiert 403 (forbidden) senden statt 404 (not found) * http_request_content_type() optimiert, strrchr/memrchr war vollkommen unnoetig * blockierendes writev() ueber http_header_find_blocked() und client_write_header() geloest. * http_header_destroy() in http_request_destroy() aufrufen 2005-02-14Vinzenz Feenstra <evilissimo@web.de>, Ralf Huesing <ralf@stormbind.net> * strnstr3/4() should now work on BigEndian there is a #define BIG_ENDIAN in the strnstr.h to set this up 2005-02-13Ralf Huesing <ralf@stormbind.net> * release der version 0.0.2-alpha1 2005-02-13Vinzenz Feenstra <evilissimo@web.de>, Ralf Huesing <ralf@stormbind.net> * optimierte strnstr3() / strnstr4() funktionen, funktioniert nur auf little-endian und wenn sizeof(uint32_t) == 4 ist. 2005-02-12Ralf Huesing <ralf@stormbind.net> * wenn uri ein verzeichniss ist nach der index datei schauen, location header nur senden wenn es nicht auf "/" endet server port hinzufuegen wenn "VHOST_DIRECTORY_WITH_PORT" nicht definiert wurde und der port != 80 ist. 2005-02-11Ralf Huesing <ralf@stormbind.net> * logging besser in http_request_free(), damit koennen alle zugriffe abgefangen werden. * "PATH_MAX" in "PATH_MAX_" umbenannt, das HTTP_Request struct war je datei unterschiedlich gross, wird wohl irgendeine system header datei gesetzt haben. 2005-02-10Ralf Huesing <ralf@stormbind.net> * vhost "port" - verzeichnissname via config "VHOST_DIRECTORY_WITH_PORT" option (de)aktivierbar (Dank an "evilssimo" fuer die Info) * Verzeichniss aufgeraeumt, Changelog eingefuehrt * Portabilitaet zu FreeBSD 5.3 (sendfile()/writev()), client_handle_write() teilweise umgeschrieben, OS via -DOS_(LINUX|FREEBSD) definierbar, memrchr durch strrchr ersetzt 2005-02-09Ralf Huesing <ralf@stormbind.net> * SIGHUP, logdatei neu oeffnen/erstellen. * logdatei #definierbar, oeffnen/erstellen (wenn oeffnen/erstellen fehlschlaegt wird nach stdout geloggt) * logging, im apache vhost stil * chroot * setuid * server-name + version + build via #define * http://host:port/URI in uri_generate() parsen wenn hostname mit Host Header nicht uebereinstimmt -> 400 * Range: If kram in rhttpd.c optimieren - gmtime|length_cache kann nach oben ueberlaufen - aber nur wenn das element haeufier als MAX_SIZET benutzt wird (seeeehr unwahrscheinlich) - "/" -> 302 -> "/index.html" -> ok, aber: merkwuerdig wenn es die index.html nicht gibt, es waere dann evtl. ein 403 (Forbidden) sinnvoller stat 404 (Not Found)? - die return werte von open_file anpassen, so dass es kein errno mehr ist. macht im moment echte probleme wg. 304, 206 etc. am besten die http codes zurueckgeben - bei 304 -> "Content-Length: 0"? -> kein Content-(Type|Length) - range request (mehrere ranges unterstuetzen? wenn ja: am besten einfach pro request ein array aus ranges vorhalten, dann kommt multipart ins spiel, was nervig ist.) -> Okay, Im Moment nur EINE Range erlaubt - Accept-Ranges Header nur bei 200 -> bei 200 und 206 - was ist mit HEAD + Range:?! -> nix weiter, richtige Header senden nur keine Daten. - User-Agent extrahieren - Referer extrahieren - LARGEFILE support - %llu nicht ISO C90 conform - int2char irgendwie cachen (bringt das was?) -> length_cache.c/h - dateien nur oeffnen wenn world-readable -> 403 - strftime uuuunbedingt cachen -> gmtime_cache.c/h - Host: auf gltigkeit parsen - bei mehrere requests stimmt die null terminierung der uri zum loggen um ein byte nicht mehr, workaround: memset(req) -> falsche terminierung in http.c:http_parse() - immer content-length schicken, auch wenn 0 - memset()s pruefen, client_init macht eins und http_init zb. auch, obwohl es, da http kein pointer ist, vorher schon geleert wurde. - datei request auf validaet pruefen ("../" "./") - tcp crok modus aus/an - benchmark von GET+keep-alive SAU(!) langsam - warum?! (alles andere annehmbar) -> TCP CORK *MUSS* AN/AUS geschalten werden. - bei fehler error-dok finden/oeffnen/senden - richtigen datei content-type ermitteln + senden - last modified - content-length (apache sendet bei leeren dateien kein content-length?!) - sendfile() - keep-alive request nr. header "Keep-Alive: timeout=15, max=96" woher weiss ich das es sich beim aktuellen request um eine pipeline handelt?

    posted 1768 days ago

  • File released: /rhttpd/0.0.2-alpha2/rhttpd-0.0.2-alpha2.tar.bz2

    posted 1768 days ago

  • Code committed

    derralf committed patchset 2 of module rhttpd to the rhttpd CVS repository, changing 52 files

    posted by derralf 1768 days ago

  • Code committed

    derralf committed patchset 1 of module rhttpd to the rhttpd CVS repository, changing 52 files

    posted by derralf 1768 days ago

  • Code committed

    Anonymous committed patchset 1 of module CVSROOT to the rhttpd CVS repository, changing 11 files

    posted by nobody 1769 days ago

  • Forum thread added

    Anonymous created the Welcome to Developers forum thread

    posted by nobody 1769 days ago

  • Forum thread added

    Anonymous created the Welcome to Help forum thread

    posted by nobody 1769 days ago

  • Forum thread added

    Anonymous created the Welcome to Open Discussion forum thread

    posted by nobody 1769 days ago

  • Project Information Updated

    derralf registered the rhttpd project

    posted by derralf 1770 days ago

Rate and Review

Be the first person to add a text review.

Would you recommend this project?






<

Related Projects

Thanks for your rating!

Would you also like to write a review?





Skip Review

Thanks for your review!

Get credit for your review by logging in via OpenID. Click your account provider:

No Thanks