Please don't worry about your English - it's just fine.
First with your aes encryption. To use AES, you must specify the -DAES when you compile. However, the 2.9.0 version has a problem with AES incryption and certain passwords; I've just uploaded Version 3.0.0 which fixes this problem (and does a little more).
For the md5 encryption problem - the only problem I've seen on this was an Mac OS which was fixed by a seciurity update.
A couple of questions for you. What OS are you running on? And what is the mysql definition of your htpwd table?
Thanks,
Jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
when compiling V3.0.0 i have an error
command line :
/etc/httpd/bin/apxs -c -DAES -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
result :
In file included from /usr/include/mysql/my_global.h:294,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
mod_auth_mysql.c:271:22: my_aes.h: No such file or directory
apxs:Error: Command failed with rc=65536
i'm looking for my_aes.h
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
but it's not good, here is the resuslt of the compilation :
In file included from /usr/include/mysql/my_global.h:294,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
In file included from mod_auth_mysql.c:271:
/usr/include/mysql/my_aes.h:21:23: rijndael.h: No such file or directory
apxs:Error: Command failed with rc=65536
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
here is the result fo compilation on Redhat9.0 kernel 2.4.20.
command line :
/etc/httpd/bin/apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -DAES -lm -lz mod_auth_mysql.c
result :In file included from /usr/include/mysql/my_global.h:291,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
mod_auth_mysql.c:271:22: my_aes.h: No such file or directory
apxs:Error: Command failed with rc=65536
yahnice
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The problem with missing my_aes.h and rijndael.h files is documented in the BUILD file. If you wish to use AES encryption, you must have a copy of those files. They are supplied by MySQL, but it looks like they are not being distributed with every package. They are available from MySQL and other sites - ensure you have one compatible with your version of MySQL.
As for the warning on atomic.h: This is a known issue with MySQL. There is a patch on redhat.com for this, but we can't recommend it one way or the other. We have not tested it, and it is not a patch authorized by MySQL.
However, our code does not use this at all - and there should be no problem with including the header other than the warning message. I'll make a note to include a comment about this message in the next version.
Jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
i have downloaded the sources of mysql to have my_aes.h and rijndael.h. Then compilation is ok but when i launch apache few functions dfined in .h files are not known...
for instance : my_aes_encrypt and rijndaelKeySetupDec.
for my_aes_encrypt i have compiled a source of my_aes.c but i'm not sure that this source is compatible, and i have a new message for the next : rijndaelKeySetupDec.
Can you tell me where these functions are coded ?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You may have mixed MySQL libraries. Are you also using PHP? If so, did you recompile your PHP code with your current MySQL libraries? I ask because the MySQL libraries compiled into the default PHP package are older version which doesn't support these functions.
Alternatively, does your httpd.conf file point to the current (newest) MySQL libs?
Jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
One other thing - I just reread your message and saw you were compiling with my_aes.c. That should not be necessary; the code is already in the latest MySQL libraries.
You just need to ensure you are linking to the latest libraires, and loading the same libraries at runtime.
Jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not using php, programs on the web server are in C.
In httpd.conf, the only MySQL link in about mod_auth_mysql with the line "LoadModule mysql_auth_module modules/mod_auth_mysql.so" .
MySQL were installed with rpm's and libraries are all on the same directory /usr/lib/mysql by default.
And the compilation command line of apxs link to /usr/lib/mysql.
I'll try to find the mlssing functions elsewhere on my disk
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To the C programs on your server use MySQL? Or is anyting other than mod_auth_mysql making calls (or capable of making calls) to MySQL? For instance - you indicate you aren't using PHP on your system - but is the PHP library being loaded, even if it's not being used? Or any other modules?
Any of these could be causing a different lever of MySQL libraries to be loaded.
Also, do you have two or more versions of the MySQL client library on your system (perhaps one from MySQL and one from another package)? Again, another library may be loaded.
Everything looks like you are linking to one version of the library yet loading a different version.
Jerry
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
OK, if the C programs use MySQL, are they compiled with an older version of the MySQL libraries? This could be the problem.
Also - even though you're not using PHP, are you loading it? That is, do you have a LoadModule for one of the PHP modules in your httpd.conf file? If not, what other modules are you loading which might link to MySQL (whether you're using them or not)?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hi, im french and my english is very rusty...but i'll try
i have apache 2.0.52 and mysql 4.1.12 .
with mod_auth_mysql_1.4 all it's ok
i try to use mod_auth_mysql_2.9.0 but impossible to user md5, aes or sha.
with md5 apche log says : "password mismatch: /"
with aes an sah apache logs says : "mysql invalid encryption method aes" or "mysql invalid encryption method sha"
please, what's wrong in my case ?
i just try with with mysql 4.0.20 btu it's happen the same thing :-(
the config of my virtualhost :
<Directory "/var/www/html/xxxxx/">
AuthName "authentification par mysql"
AuthMySQLEnable on
AuthType Basic
AuthMySQLHost localhost
AuthMySQLUser xxxxx
AuthMySQLPassword xxxxx
AuthMySQLDB htpwd
AuthMySQLPort 3306
AuthMySQLSocket /var/lib/mysql/mysql.sock
AuthMySQLUserTable user_info
AuthMySQLPwEncryption aes
AuthMySQLNameField user_name
AuthMySQLPasswordField user_passwd
AuthMySQLSaltField <xxxxxx>
# AuthSQLAuthoritative On
# AuthSQLKeepAlive on
Require valid-user
# Require group 2
</Directory>
Hello, yahnice,
Please don't worry about your English - it's just fine.
First with your aes encryption. To use AES, you must specify the -DAES when you compile. However, the 2.9.0 version has a problem with AES incryption and certain passwords; I've just uploaded Version 3.0.0 which fixes this problem (and does a little more).
For the md5 encryption problem - the only problem I've seen on this was an Mac OS which was fixed by a seciurity update.
A couple of questions for you. What OS are you running on? And what is the mysql definition of your htpwd table?
Thanks,
Jerry
A lot of thanks !!
My OS is RedHat 8.0 kernel 2.4.18 (because of eicon card for X25 network)
table user_info :
id : int(14)
user_name : char(30)
user_passd : char(20)
host_group : int(14)
created : timestamp(14)
updated : timestamp(14)
isadmin : tinyint(4)
table user_group :
id : int(14)
user_name : char(30)
user_group : char(20)
created : timestamp(14)
updated : timestamp(14)
table host_info :
id : int(14)
host : char(255)
host_group : int(14)
created : timestamp(14)
updated : timestamp(14)
I think that the user_passwd field format must to be "blob". yes or no ?
i'll download the 3.0.0 version to test it.
Thanks again :-)
HARGH !!
when compiling V3.0.0 i have an error
command line :
/etc/httpd/bin/apxs -c -DAES -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
result :
In file included from /usr/include/mysql/my_global.h:294,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
mod_auth_mysql.c:271:22: my_aes.h: No such file or directory
apxs:Error: Command failed with rc=65536
i'm looking for my_aes.h
i have find sources of my_aes.h here :
http://www.distlab.dk/mysql-4.1/html/my__aes_8h-source.html
but it's not good, here is the resuslt of the compilation :
In file included from /usr/include/mysql/my_global.h:294,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
In file included from mod_auth_mysql.c:271:
/usr/include/mysql/my_aes.h:21:23: rijndael.h: No such file or directory
apxs:Error: Command failed with rc=65536
and some info agin ...
here is the result fo compilation on Redhat9.0 kernel 2.4.20.
command line :
/etc/httpd/bin/apxs -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -DAES -lm -lz mod_auth_mysql.c
result :In file included from /usr/include/mysql/my_global.h:291,
from mod_auth_mysql.c:267:
/usr/include/asm/atomic.h:40:2: warning: #warning Using kernel header in userland program. BAD!
mod_auth_mysql.c:271:22: my_aes.h: No such file or directory
apxs:Error: Command failed with rc=65536
yahnice
Yahnice,
The problem with missing my_aes.h and rijndael.h files is documented in the BUILD file. If you wish to use AES encryption, you must have a copy of those files. They are supplied by MySQL, but it looks like they are not being distributed with every package. They are available from MySQL and other sites - ensure you have one compatible with your version of MySQL.
As for the warning on atomic.h: This is a known issue with MySQL. There is a patch on redhat.com for this, but we can't recommend it one way or the other. We have not tested it, and it is not a patch authorized by MySQL.
However, our code does not use this at all - and there should be no problem with including the header other than the warning message. I'll make a note to include a comment about this message in the next version.
Jerry
thank you.
I haven't seen it in BUILD file.
i'll do that :-)
hello Jerry.
i have downloaded the sources of mysql to have my_aes.h and rijndael.h. Then compilation is ok but when i launch apache few functions dfined in .h files are not known...
for instance : my_aes_encrypt and rijndaelKeySetupDec.
for my_aes_encrypt i have compiled a source of my_aes.c but i'm not sure that this source is compatible, and i have a new message for the next : rijndaelKeySetupDec.
Can you tell me where these functions are coded ?
Yahnice,
These functions are in the MySQL libraries.
You may have mixed MySQL libraries. Are you also using PHP? If so, did you recompile your PHP code with your current MySQL libraries? I ask because the MySQL libraries compiled into the default PHP package are older version which doesn't support these functions.
Alternatively, does your httpd.conf file point to the current (newest) MySQL libs?
Jerry
Yahnice,
One other thing - I just reread your message and saw you were compiling with my_aes.c. That should not be necessary; the code is already in the latest MySQL libraries.
You just need to ensure you are linking to the latest libraires, and loading the same libraries at runtime.
Jerry
Jerry
I'm not using php, programs on the web server are in C.
In httpd.conf, the only MySQL link in about mod_auth_mysql with the line "LoadModule mysql_auth_module modules/mod_auth_mysql.so" .
MySQL were installed with rpm's and libraries are all on the same directory /usr/lib/mysql by default.
And the compilation command line of apxs link to /usr/lib/mysql.
I'll try to find the mlssing functions elsewhere on my disk
Yahnice,
You could still have a problem with libraries.
To the C programs on your server use MySQL? Or is anyting other than mod_auth_mysql making calls (or capable of making calls) to MySQL? For instance - you indicate you aren't using PHP on your system - but is the PHP library being loaded, even if it's not being used? Or any other modules?
Any of these could be causing a different lever of MySQL libraries to be loaded.
Also, do you have two or more versions of the MySQL client library on your system (perhaps one from MySQL and one from another package)? Again, another library may be loaded.
Everything looks like you are linking to one version of the library yet loading a different version.
Jerry
Jerry
Sorry for the delay, but i was sick.
Thank you for your response.
The C programs use libmysqlclient.so to making calls to MySQL and only these programs have an acces to MySQL
I have only one version (4.1.12) )of MySQL.
i'm still looking for the functions 8-)
thank's again.
Yahnice
Hi, Yahnice,
I hope you're feeling better.
OK, if the C programs use MySQL, are they compiled with an older version of the MySQL libraries? This could be the problem.
Also - even though you're not using PHP, are you loading it? That is, do you have a LoadModule for one of the PHP modules in your httpd.conf file? If not, what other modules are you loading which might link to MySQL (whether you're using them or not)?