cannot use colon (':') in gnutls_psk_set_server_credentials_file file
rfc4279 does not exclude ':' from the PSK identity, so the client can (and do) send usernames that contain ':' characters.
for example:
username = urn:imei:1234567890
it's impossible to authenticate these username when put in a file passwd to gnutls_psk_set_server_credentials_file(), since that authentication path just blindly looks for the first ':' on the line, eg:
urn:imei:1234567890:password
the parsing code for that line should allow escaping the ':'s in the username, eg:
urn\:imei\:1234567890:password