sources: petraeus knew about affair for more than a year