BJP lawmakers Narpat Singh Rajvi and Ghanshyam Tiwari have gone public with their objection to what critics have dubbed the "gag law".

"This is against the principles of the party. We did not fight against the Emergency to have a BJP government bring such a law," Mr Tiwari told NDTV.

The new rule gives the government six months to decide if a court should order an inquiry into a private complaint against a minister, lawmaker or an official.

It also bans the media from disclosing the identity of the judge or any public servant facing allegations, unless the government has vetted the case. Journalists can be sentenced to two years in jail for violating the rule.

A petition by a lawyer calls the order "arbitrary and malafide" and says that "a big large section of society has been given a licence to commit crime".

Even after the legal challenge, the Raje government went ahead and tabled the Criminal Laws (Rajasthan Amendment) Ordinance in the state assembly, where the BJP has 162 of 200 seats, enough to push laws without hurdles.

Congress leader Sachin Pilot, leading a black band protest outside the state assembly, said, "We will not allow this law to come into force under any circumstance. This is their plan to cover up their own corruption." His party leader Rahul Gandhi had tweeted earlier: "Madam Chief Minister, with all humility we are in the 21'st century. It's 2017, not 1817."

Confronting widespread outrage, the Rajasthan government defended its move, saying a law was necessary to end "frivolous allegations" meant to defame ministers and officials. Rajendra Rathore, Rajasthan's Parliamentary Affairs Minister, told NDTV, "People were filing false cases against public servants and that is the reason we have brought this law."

In a strong appeal to Ms Raje, the Editors Guild said the law "gives untrammeled power to even imprison journalists" and "endangers freedom of the press".