unspecified address should be calculated before use. add a new timeout flag and add a timeout to TCP dial