Known broken stuff as of v2.0: - HTML parser still screws up on a few corner test cases (particular types of invalid HTML). Fortunately these are relatively abnormal and rare. - XML parser is no where near functional. - Net::SSL (Crypt::SSL) has a bug in version 0.51, when used in proxy mode. I included a patch in the compat/ directory which temporarily fixes the bug, but it has the side effect of disabling LWP HTTPS support. Precompiled binary users are out of luck until an updated version is available. - Proxy-auth does not work with Net::SSL; the auth data needs to be set using %ENV instead of the Proxy-Authenticate header which Libwhisker normally sends. Not sure if this will ever be fixed, as it would require significant architecture changes to accomodate. Use Net::SSLeay instead. - NTLM proxy-auth is not supported for SSL connections. - The combination of Paros HTTP proxy, Net::SSLeay, and SSL connections does not currently work. Paros only returns a "Error: 1" message, so I'm not even sure where to begin on figuring out what's going wrong. Net::SSL works just fine (well, assuming you applied the patch referred to above). Caveats as of v2.0: - Cookie support does not yet account for expiration via Expires value. - There are no nonblocking connects on Windows, yet. I'm beta testing some code. - Various perl warnings when running under -w. If you send me a copy of the warnings (warning and line number reported), I can fix them. Since warnings are generated at runtime, it's hard to traverse every possible code path and find the warnings. - LW2::dump() sometimes messes up on the visual layout of the resulting code...however, this does not affect the final representation/eval'ing, so it's merely cosmetic. - The internal session cache can grow quite big if you scan thousands of hosts in a row without calling LW2::http_reset() or exiting. In order to clear out any left over session information (when you're all done with a host), be sure to call LW2::http_reset() every once in a while. - Careful on trying to unset/remove various {whisker} request values. If it's not defined by default, then you should delete the key, rather than setting it to 0, since some libwhisker functions only check to see if a key is defined (it doesn't actually look at the value). - The SSL libraries do not allow persistant connections, so all connections will be closed at the end. - NTLM web auth through an NTLM auth'd proxy is a toss-up, largely because I'm not sure what's the most appropriate route to go. Libwhisker's implementation is how it *should* work IMHO, but I couldn't get it to actually work through MS ISA proxy (although, I couldn't get IE to work correctly through MS ISA proxy with double-NTLM auth either, so that leaves me to suspect MS has issues somewhere...). The general problem is that ISA proxy doesn't seem to keep-alive the connection between the proxy and web server, so persistent requests from the client will have to re-auth to the web server. Technically, since everything is kept-alive, once all the NTLM rigmarole for both proxy and web server are done, I should be able to just fire requests off like normal (e.g. no auth) until the connection is closed. So, in short, Microsoft screwed up their own implementation of double-NTLM auth in ISA Server, and I don't really have another NTLM-capable proxy to test with to ensure LW2 is perfectly implemented...but it should be. :)