So I have just seen a backup fail because of escaped characters in the db_url:
Generating mysql dump for default. [0.063 sec] [backup]
mysqldump -hexample.koumbit.net -uaegir [notice]
-p%40... -rsites/default/database.sql aegir
[0.063 sec]
Executing: mysqldump -hmysql.koumbit.net -uaegir -p%40... -rsites/default/database.sql aegir
mysqldump: Got error: 1045: Access denied for user 'aegir'@'example.koumbit.net' (using password: YES) when trying to connect
Adding sites directory to /var/aegir/backups/default-2009-06-17_3.tar [backup]
[0.074 sec]
(Some parameters were changed to protect our security.)
I'll try to track this down, but it's rather annoying since it's in 0.2 and we'll need to hotfix...
| Comment | File | Size | Author |
|---|---|---|---|
| #5 | 494358_import_decode_hotfix-2.patch | 4.55 KB | anarcat |
| #2 | 494358_import_decode_hotfix.patch | 3.61 KB | anarcat |
Comments
Comment #1
anarcat commentedOkay, so the problem seems to be related with the import mechanism, because the install functions have the urldecode() calls hooked in properly and they are nowhere to be found in import.
Comment #2
anarcat commentedHere's a patch I'm going to test in prod. It fixes the dburl parts on import.
Comment #3
anarcat commentedThe patch works and I can now backup the site after importing again. I committed the patch as is. However, I'm worried that the backup said it succeeded when it wasn't actually able to connect to the database backend, is that a feature we want?! I have opened #494376: backup succeeds even if database connexion fails to make sure I look into this.
Comment #4
anarcat commentedSo the committed fix works great, except verify writes back the db_url without urlencoding it (ugh!). So this breaks the site altogether.
Comment #5
anarcat commentedSo this patch works better: I urlencode the various parts before injecting them back, directly in the template.
Comment #6
anarcat commentedI committed the fix already.