Skip to content

set_cache_location - MySQL Cache string broken (url encode/decode) #78

Closed
willybarro opened this Issue Apr 29, 2010 · 1 comment

2 participants

@willybarro

I found a bug when using special characters on the MySQL Cache string (when setting it with set_cache_location). I was using a string like this (attention to the special chars):
set_cache_location('mysql://user:p^a%s&s%@localhost:3306/database_name?prefix=els_');
The password, was been sent to the mysql_connect as "p%5Ea%25s%26s%25", and, as expected giving me a wrong password message.
I don't know how to commit on Git (and Simplepie is marked as readonly so...).
I fixed it changing some lines, adding:

below the line 11226:

$str = urldecode($str);

below the line 8834:

$server = urldecode($server);
$username = urldecode($username);
$password = urldecode($password);

And it worked just fine :)
Sorry if I posted on the wrong place or something, but, I needed to help, as it gave me headaches... :P

@rmccue
SimplePie member
rmccue commented Dec 11, 2010

Confirmed this occurring, and fixed. I don't believe $server needs it, however. I could be wrong, and if so, please note that either here or on another ticket.

Fixed in simplepie@eb014c3

@skyzyx skyzyx pushed a commit to skyzyx/simplepie that referenced this issue Aug 12, 2012
@rmccue rmccue Fix characters remaining URL encoded in MySQL passwords. Fixes #78 eb014c3
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.