Database connection fails if database name contains an "@"
|Reported by:||fgp||Owned by:|
|Severity:||normal||Keywords:||database at failure parseDSN|
If the database name contains an "@", roundcube is unable to connect to the database. This applies to both a literal "@" in the database DSN, as well as to an "@" represented by "%40". While the former case is not easily supportable, since there's no unambigouos way to parse a DSN which contains two "@" characters, ther latter case's failure seems like a bug.
The attached patch fixes that bug by making MDB2's parseDSN use rawurldecode() on the "database" field also, not only on "username" and "password" (where URL-escapes are handled correctly).
I've also reported this to the MDB2 guys, but since roundcube does include it's own copy of MDB2, I figured I'd report it here too. Here's a link to the upstream bugreport