Whoops! or, the silly things done by software
I'm currently working on a server that will make use of a piece of software called astmanproxy.
astmanproxy is an Asterisk Manager Protocol proxy application. It addresses a known reliability issue with the Asterisk manager API; namely, the fact that Asterisk has had a history of problems related to handling these connections. Many PBX applications communicate with Asterisk over this protocol, which has resulted in the development of proxies such as astmanproxy to relieve the buggy Asterisk code of the burden of handling individual, short-lived connections.
astmanproxy looks at least functional though I'm not greatly impressed with the code quality. In a hurry to get it up and running, I skimmed the documentation, compiled and installed it, and had a go at editing and trimming the default configuration file. The result was an astmanproxy that would connect to Asterisk but then get rejected as it tried to authenticate.
After a half hour worth of frustration attempting to debug the issue from an Asterisk perspective, including setting new passwords and trying new accounts, scanning debugging output from astmanproxy and finally leaning on tcpdump, I realized the issue: astmanproxy's configuration file parser converts everything to lowercase.
The documentation doesn't say a word about this, of course. Nor does the configuration file. But the consequence is that you just can't use passwords with astmanproxy that contain an uppercase character. I admit surprise at the fact the application is up to 1.21 and this issue has been neither documented nor addressed. Am I the first to notice?