- Why is it called "Odysseus"?
- After the death of Achilles in the battle for Troy, Odysseus received the armour of Achilles to carry on the good fight, so to speak (and then got lost on his way home, but that's another story).
When it appeared that Achilles was not longer in active development, work was started on a replacement. It was entitled Odysseus to acknowledge it's predecessor and as a subtle inference that Achilles appeared to be dead.
- How do you pronounce "Odysseus"?
- Oh-DIS-ee-us, although some pronounce it Oh-DEES-ee-us.
- What is the "Insane" System Log level used for?
- It is primarily used to debug socket communication issues. It logs data coming in from all socket streams (before any translations are performed), and various values detailing the internal state of the Proxy Engine.
If you discover an issue with Odysseus and would like to assist the development process, attempt to recreate the issue with the system log level set to Insane and email the resulting system log to shade@wastelands.gen.nz
- What is the "Diabolical" System Log level used for?
- This was primarily implemented to debug OpenSSL locking calls. While it was quite useful at the time these calls are made so often that even making the call to the logging sub-system to see if the message should be logged caused quite a bottle-neck. It is now used for any debug logging that is considered too excessive to be included in even a beta release. While the diabolical debugging calls remain in the source tree, they are #IFDEFed out for any release.
- Why do the headers in the Activity Log not accurately reflect that a proxy is being used?
- You're probably seeing something like this:
***** [11-Apr-04/13:41:22] http://www.google.com:80 *****
[...]
Connection: Keep-Alive
----- Reply -----
[...]
Proxy-Connection: Keep-Alive
When a request is received from the client, Odysseus translates "Proxy-Connection" headers (present because the client browser knows it's talking to a proxy) to "Connection" headers in an attempt to hide the fact that a proxy is in use from the server (weather or not this is a good idea is still open to debate). To keep the client browser happy, the entire process is reversed when the reply headers are received from the server. Since Activity Logging is pretty much the last thing to happen, the result of both of these translations is logged.
