McCain was not born in the Canal Zone. He was born off base. He also is not an NBC.
McCain was NOT BORN off the base. He was born in the base hospital, i.e. American territory.
http://voices.washingtonpost.com/fact-checker/2008/05/john_mccains_birthplace.html
John McCain was born at Coco Solo Submarine Base Hospital,his birth certificate was signed by Captain W. L. Irvine. He was born in U.S. territory to U.S. citizens. He most definitely is a Natural Born Citizen.