radius: Fix MPPE key decryption for the second-half of the key block (#463)
During he refactor in commit
4cb90c1 the key material used to decrypt
the second-half of the encrypted block was accidentally updated from:
MD5(radius_secret + crypt[0..15]); to:
MD5(radius_secret + crypt[0..15] + salt)
Which would obviously mismatch.
This also refactors back into what I believe to be a more readable block
with lower nesting and more comprehensive error reporting.
Closes: #453
Signed-off-by: Jaco Kroon <jaco@uls.co.za>