Size: 585
Comment:
|
Size: 1102
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
== Multiple definition of `sha1_result == Quick solution: Change all sha1_result functions in Dovecot source tree to dovecot_sha1_result or something. For example: |
If you use MySQL version older than 4.1.18, or in 5.x series older than 5.0.19, there's a problem with conflicting symbols. Either the linking fails completely, or Dovecot can't log in: |
Line 8: | Line 6: |
zsh cd dovecot perl -i -pe 's/sha1_result/dovecot_sha1_result/' **/*.[ch] |
dovecot: Oct 14 01:02:22 Error: auth-worker(default): mysql: Connect failed to localhost (db): Access denied for user 'user'@'localhost' (using password: YES) - waiting for 1 seconds before retry |
Line 13: | Line 9: |
More permanent solution: It's a [http://bugs.mysql.com/bug.php?id=13944 MySQL bug]. Try to get them fixed. | They both have the same root reason: Conflicing `sha1_result` symbol. Either upgrade to newer MySQL library, or modify Dovecot sources: |
Line 15: | Line 11: |
== Access denied == | {{{ cd dovecot perl -i -pe 's/sha1_result/dovecot_sha1_result/' `find . -name '*.[ch]'` }}} |
Line 17: | Line 16: |
Store the password to MySQL with OLD_PASSWORD() function instead of PASSWORD(). | Another solution to "access denied" is to use OLD_PASSWORD() function to set the password in MySQL. This works because it doesn't use the SHA1 functions. |
Line 19: | Line 18: |
[http://www.dovecot.org/list/dovecot/2005-November/010000.html More information here.] | Note that this is also [[http://www.dovecot.org/list/dovecot-cvs/2006-October/006519.html|fixed in Dovecot 1.0rc9 and later]]. Also, see also [[http://www.runmapglobal.com/blog/howto-set-up-a-mysql-cluster-for-two-servers-three-servers-required-for-true-redundancy/ | MySQL Servers]] |
MySQL Problems
If you use MySQL version older than 4.1.18, or in 5.x series older than 5.0.19, there's a problem with conflicting symbols. Either the linking fails completely, or Dovecot can't log in:
dovecot: Oct 14 01:02:22 Error: auth-worker(default): mysql: Connect failed to localhost (db): Access denied for user 'user'@'localhost' (using password: YES) - waiting for 1 seconds before retry
They both have the same root reason: Conflicing sha1_result symbol. Either upgrade to newer MySQL library, or modify Dovecot sources:
cd dovecot perl -i -pe 's/sha1_result/dovecot_sha1_result/' `find . -name '*.[ch]'`
Another solution to "access denied" is to use OLD_PASSWORD() function to set the password in MySQL. This works because it doesn't use the SHA1 functions.
Note that this is also fixed in Dovecot 1.0rc9 and later.
Also, see also MySQL Servers