iLO SSH key management

A few notes and rants about managing SSH keys with HP’s extremely annoying iLO interface. The iLO ssh console does not support fetching SSH keys over HTTPS. This prevents you keeping them somewhere useful like github. When you upload a SSH key and it fails, the iLO web interface will tell you that it needs a PEM-formatted DSA public key. You will find that ssh-keygen has no way to produce this.
Read more...

Argument parsing in Traffic Server plugins

When you write a new Traffic Server plugin, you have to choose whether to write a remap plugin, a global plugin or both. There are different plugin entry points for global and remap plugins and you will find yourself having to parse command-line argument from two different entry points: tsapi void TSPluginInit(int argc, const char* argv[]); tsapi TSReturnCode TSRemapNewInstance(int argc, char* argv[], void** ih, char* errbuf, int errbuf_size); Since we are parsing command-line options, it makes sense to use getopt or getopt_long to do the parsing.
Read more...

TrafficServer GET request walkthrough

Traffic Server request processing can be a little complex, with multiple state machines working at the same time and a lot of objects interacting in complex ways, so I thought it would be fun to reverse engineer the code flow from a log trace. I guess that it wasn’t as much fun as I had hoped, but it was educational. This is a GET request with a Range header. The requested document is not currently cached, so Traffic Server just proxies the request.
Read more...