Trump’s generals thwart him on the Iran deal