The Washington Post has him nailed:
"The day that the leadership of the military comes to me and says, 'Senator, we ought to change the policy,' then I think we ought to consider seriously changing it because those leaders in the military are the ones we give the responsibility to," McCain told an audience of college students during the "Hardball" college tour on MSNBC.
That day arrived Tuesday, with Defense Secretary Robert M. Gates and Joint Chiefs Chairman Mike Mullen testifying to senators following President Obama's announcement that he would seek a congressional repeal of the controversial 15-year-old policy....
In response, the Arizona senator declared himself "disappointed" in the testimony by Mullen and Gates. The senator said Gates should be asking whether to repeal the ban, not acting as if it had already been repealed.
"At this moment of immense hardship for our armed services, we should not be seeking to overturn the 'don't ask, don't tell' policy," McCain said bluntly, before describing it as "imperfect but effective."
McCain used to enjoy enormous latitude in the press corps, which treated him unlike any other politician in the deference it granted to his character and motives. That deference has completely disappeared.