Aerformed. If the mserver receiving the request allows the caller to be a
proxy, then it will perform its checks against the hostIP provided rather than the IP of the message sender. For the Emulab subboss case, subboss nodes (as determined from the DB) are allowed to explicitly specify hosts that are under their control. The master server on real boss will run with proxying enabled. Also, in a fit of madness, I added a version number to the master server protocol. This way, if at some distant point in the future (say next week) I realize I screwed up the protocol, I can fix it without resorting to creative retrofitting of a version number (see imagezip) or the more Orwellian eradication and denial of past versions (what I am doing now). Furthermore, using an ill-thought-out insight, I made the version number be an ASCII string in case I decide to change to an all-text protocol at some equally distant point in the future.
Showing with 470 additions and 109 deletions