Georg Hopp
|
e4d77c8311
|
moved httpMessageQueue to a generalized Queue class as in fact it was nothing else except that it only stored HttpMessages.
|
14 years ago |
Georg Hopp
|
a239fc98e8
|
changed HttpMessageQueue to be a real queue and not a fixed size array
|
14 years ago |
Georg Hopp
|
317cc63d20
|
huge refactoring of build structure as well as other changes...sorry for the huge diff. These are the changes done within the sister project taskrambler, including reactivation of the existing tests as well as code coverage reports
|
14 years ago |
Georg Hopp
|
5fc9ce547c
|
added a first basic athentication system with ldap binding. Now login depends on the existens of a valid ldap account
|
14 years ago |
Georg Hopp
|
d0368bb28b
|
GET and POST vars are now parsed when request ist parsed. COOKIE will follow. While parsing the request line i also get pic the path from it.
|
14 years ago |
Georg Hopp
|
646d1e1c50
|
Added a new abstraction: hash. A a lot of things within http are key/value things based on stings i created this generic hash class and use it to store the header right now. In future it will also be used to store cookie, get and post vars
|
14 years ago |
Georg Hopp
|
d4b1c3fd3a
|
now the session livetime is shown with a bar, as well as the current session id. These are updated on reload or ajax call.
|
14 years ago |
Georg Hopp
|
f1215c6758
|
closes #19: first integration of OpenSSL...this makes leak testing with valgrind a pain so i will think about some conditional to activate and deactivate it. Additionally it seems that some memory will be left over somewhere, maybe i missed somed cleanup function i have to call and finally the integration really needs error handling.
|
14 years ago |
Georg Hopp
|
5b3fed549f
|
refs #19: Added a stream class. This is a delegate that uses the correct read and write methods for the given stream type. This is implemented as prerequesite for the SSL implemented
|
14 years ago |
Georg Hopp
|
1d238aa55d
|
as i have a lot of static string initialization with the length of that sting a created and used a macro to prevent errors
|
14 years ago |
Georg Hopp
|
a0ec357e0a
|
closes #11: first very crude session handling implementation, no persitence no memory cleanups, spread over to much files TODO: clean this
|
14 years ago |
Georg Hopp
|
16fdf54de5
|
now the internal random value will be create only once every 30 seconds thus one can see that it is realy an internal state of the server
|
14 years ago |
Georg Hopp
|
4b5bcf89c0
|
a taste of ajax
|
14 years ago |
Georg Hopp
|
1fdcbd40f6
|
log when connect fails
|
14 years ago |
Georg Hopp
|
4f95d8ce11
|
change worker to a generic one, some cleanups in server
|
14 years ago |
Georg Hopp
|
c26071a105
|
and also the accotding header
|
14 years ago |
Georg Hopp
|
ee6040201e
|
moved request parser to generic parser. This is now able to create either a request or a response message dependent on the initial message line (version first or last). TODO change constructor of response to use a len parameter for the reason
|
14 years ago |
Georg Hopp
|
95c0d00944
|
get rid of some function calls when selection interfaces
|
14 years ago |
Georg Hopp
|
6591c0a6c7
|
changed callocs of memory not needed to be initialized to malloc
|
14 years ago |
Georg Hopp
|
9f801ba422
|
changed all string operation within header handling with fixed length mem operations, preventing multiple iterations over these strings. In theory this should improve performance in reality it seems that it is worse...CHECK WHY
|
14 years ago |
Georg Hopp
|
87b0d50d1d
|
structural changes for worker/process. @TODO actually i have no idea why this happens.
|
14 years ago |
Georg Hopp
|
dfcbc4946c
|
fix memory problems occured with latest changes
|
14 years ago |
Georg Hopp
|
59ccbf0207
|
closes #10: values for header ids are now stored in a char ** making multiple values for one id possible. Additionally added a jquery action that delivers the jquery java script and use it on the me action
|
14 years ago |
Georg Hopp
|
424297cd57
|
now when a constructor returns -1 the new call will in turn call the destructor effectively freeing all resources. ATTENTION: now the destructor has to be aware that it might be called with a not completely initialized object. To make this more ease there is the FREE makro with the corresponding ffree that does NULL pointer checking and the destructor checks for NULL pointer too. Additionally the handle_accept now handles _SC_OPEN_MAX - 10 connections. The 10 are reserved for internal usage.
|
14 years ago |
Georg Hopp
|
01ae8736e9
|
now a child is spawned and writes random values in a shared memory segment. These values will be shown in the me action
|
14 years ago |
Georg Hopp
|
7f688412ea
|
some code cleanups...no changes in the logic
|
14 years ago |
Georg Hopp
|
8298740dd9
|
move sdbm implementation in one file.
|
14 years ago |
Georg Hopp
|
063189e664
|
changed /**/ single line comments to //
|
14 years ago |
Georg Hopp
|
b38d402250
|
start documenting this whole stuff...well at least add a copyright information in each file
|
14 years ago |
Georg Hopp
|
7466e59298
|
first very crude, not complete, experimental 304 test implementation
|
14 years ago |
Georg Hopp
|
abd69d0a20
|
disconnect on invalid request line
|
14 years ago |
Georg Hopp
|
dfdfd20d8e
|
now incomplete requests should no longer block the complete server. Tested with \'echo -en "GET / HTTP\r\nConn" | nc -w 600 localhost 11212\' and then doing requests from my browser. @TODO: cleanup those stuff, check if a not correctly response reading would block the server.
|
14 years ago |
Georg Hopp
|
eae798e599
|
increase writebuffer size a lot.
|
14 years ago |
Georg Hopp
|
dbb7042360
|
fixed the non keep-alive performance issue as well as i lower memory usage by using a single read and write circular buffer for every connection. @TODO: i noticed a server hang while getting large data (my image) with non keep-alive connections. Additionally an incomplete keep-alive request might stop the server now as the lock on the read buffer will not be released.
|
14 years ago |
Georg Hopp
|
31b7d755e0
|
another try with the shmen trick...this time use MAP_ANONYMOUS ... as GNU extension.
|
14 years ago |
Georg Hopp
|
5c3928d45a
|
added missing header file to repo
|
14 years ago |
Georg Hopp
|
f2dbad19c6
|
another try with a shared memory based ringbuffer...this performs well for keep-alive sessions but is much slower without. actually i am not sure why but most likely the shared memory setup is quite expensive. @TODO: make a profiling.
|
14 years ago |
Georg Hopp
|
e8a21ace31
|
lots of changes but primarily change the request parser to use a ringbuffer. The ringbuffer is implemented using the shared memory trick.
|
14 years ago |
Georg Hopp
|
6550e381f0
|
now the separated http worker works. Changed some size_t to ssize_t as i use -1 and -2 es error indicator in my server and fixed caculation of remainig buffer size in reader
|
14 years ago |
Georg Hopp
|
20af2baa6f
|
separated the server completely from the http processing
|
14 years ago |
Georg Hopp
|
de00ad47ad
|
add subject/observer interface
|
14 years ago |
Georg Hopp
|
3497eb8754
|
dynamically get and free buffer for response write pipe now
|
14 years ago |
Georg Hopp
|
e35308f880
|
increase write buffer
|
14 years ago |
Georg Hopp
|
92379ebb15
|
use one dynamic buffer less and save at least one write on small responses
|
14 years ago |
Georg Hopp
|
4eb98a5a16
|
fixed bug in new response handling
|
14 years ago |
Georg Hopp
|
1b7ef5030d
|
better response handling but still buggy with stream piping
|
14 years ago |
Georg Hopp
|
0fba746fe2
|
first working version of content delivery from file....very crude... @TODO: rewrite complete response handline.
|
14 years ago |
Georg Hopp
|
d87cd09ba1
|
more generalizing of response writing (implemented a response writer...now it should be possible to implement a stream writer for images
|
14 years ago |
Georg Hopp
|
fa58a6cc81
|
make http request and response childs of a common parent http message
|
14 years ago |
Georg Hopp
|
e67667881f
|
change response to tree based header storage and make everything work.
|
14 years ago |