I was recently reminded of this when a well known individual (lets call him Raoul) insisted our software had a bug even though this was clearly a misconfiguration.
Now, please do not misunderstand me, I like helping people. I especially like helping people who try, who try to understand, who do their homework, who listen. But eventually my patience recedes like a middle aged male hairline for those who constantly ask the same question, who, despite repeated explanations, with diagrams, and sock puppets just continue down their blind alley. I finally in the end give up, and put them on my block list.
And so, Raoul emerged again. I had been down this road before with him, and it reminded me, of previous encounters he has had either directly with me, or with my other colleagues.
An issue was presented to me from another colleague, little did I know who was the cause at this point that SSL was the cause of the bug. Here was my first warning.
Beware of people who present answers to you when they are asking you questions.
I have had to endure this before, when something does not work it must be that thing we do not know or understand, in this case, it was SSL. Lets ignore for a moment that they could connect, get almost everything working over SSL, yet for this one item, it did not work, so it must be SSL. Many do not understand that with SSL, the coms are working, or not. There is not "kind of". Its like being "kind of" pregnant.The problem was caused by the configuration of a load balancer. This thing was configured to key off a hostname but they neglected to include a domain name. In addition, as a flaw of the device it read the HOST HTTP header. The RFC states that the host header can have a HOST and PORT but the port can be omitted if it corresponds to the protocol default. However, it should expect an explicit port definition. In this case, it could not.
This was not a problem with our product. This was a misconfiguration at best and at worse a load balancer that is not RFC compliant. Yet despite frequent explanations, references, displays of traffic, Raoul insisted it was bug. Ok, lets takes this to a logical progression. A bug is raised, but what can we fix in our code?
And then, how much time do I have to waste when someone either cannot or will not attempt to listen and learn?