Former France international Diarra has been mired in a series of legal battles since his contract with Lokomotiv Moscow was terminated by the club in 2014.
Following a dispute with manager Leonid Kuchuk, Lokomotiv alleged Diarra refused to appear at training or accept a lower salary, and dismissed him three years before his deal was due to expire.
In 2016 a Fifa ruling – backed up by the Court of Arbitration for Sport – found Diarra liable for breach of contract, ordering him to pay €10m (£8.4m) to Lokomotiv and suspending him from professional football for 15 months.
When Diarra subsequently agreed a deal to join Charleroi, the club sought assurances that they would not be liable to pay any compensation to Lokomotiv.
Fifa then refused to issue Charleroi with an ITC, required by clubs across the world to register a newly signed player, and so the deal collapsed.
Diarra’s lawyers contested this specific rule – which makes a club wishing to sign a player jointly liable for compensation to a player’s old club, and at risk of sporting sanctions, in cases where the player’s previous contract was terminated without just cause.
They also challenged a rule which allows the national association of a player’s former club to withhold an ITC where there was a dispute, which they said also hindered the move.
The court has determined that Fifa should not be able to use the ITC system to prevent players moving and working where they choose.
Parts of Fifa’s transfer rules will have to be revised to remain valid in the EU.