It is illegal for companies to retaliate for your discussing your salary (though probably not for calling them a "liar"). Look up the National Labor Relations Act.
That being said, you can be fired for things that you're legally allowed to discuss, and then it becomes an issue of whether you're willing to pay lawyer's fees to sue. Which is not usually a great situation to be in.