Just weeks ago, the president had to apologise for belittling US allies over their war effort in Afghanistan. Now, his war secretary is sticking the boot in anew over Iran.