Without trying to duck your question, my answer would be dependent on the lawfulness of the actions taken by the officers. If the officers actions were lawful, no, protesters should not be allowed to fight back. Obviously, this gets muddled when the officers' actions are lawful but affect peaceful protestors and violent protestors the same by proximity; tear gas, after all, does not seek out just the wicked.
As I tell my children during my talk with them: Even if you are right, the officer will win the fight on the street. He is armed and he is within a radio call of dozens of friends who are also armed and ready to come to his defense. Even if you are right, be quiet and be respectful. If the officer is wrong, there are avenues to pursue to make things right. But the fight in the heat of the moment is not worth your life.