refactor sendChallenge to only send active protocol during negotiate.