US President Donald Trump says he has cancelled a planned strike on Iran, subject to a rapid deal that includes reopening the Strait of Hormuz and ending Tehran's nuclear programme. The announcement comes hours after Iran warned it would retaliate against any fresh US military action.