Ticket #33546 (closed enhancement: fixed)
freeradius: add mysql variant
| Reported by: | gvibe06@… | Owned by: | macports-tickets@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 2.0.4 |
| Keywords: | haspatch | Cc: | |
| Port: | freeradius |
Description
Freeradius will not build with MySQL support automatically. I am forced to put in configure.args-append manually.
checking for mysql_init in -lmysqlclient_r... no configure: WARNING: MySQL libraries not found. Use --with-mysql-lib-dir=<path>. checking for mysql/mysql.h... no configure: WARNING: MySQL headers not found. Use --with-mysql-include-dir=<path>. configure: WARNING: silently not building rlm_sql_mysql. configure: WARNING: FAILURE: rlm_sql_mysql requires: libmysqlclient_r mysql.h. configure: creating ./config.status config.status: creating Makefile config.status: creating config.h
Created patch for Portfile...testing and verification info:
Checking variant mysql successfully added to Portfile
# port info freeradius freeradius @2.1.9, Revision 1 (sysutils) Variants: kerberos, mysql, (-)universal
Confirming MySQL detected by configure
=== configuring in ./drivers/rlm_sql_mysql (/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_sysutils_freeradius/freeradius/work/freeradius-server-2.1.9/src/modules/rlm_sql/./drivers/rlm_sql_mysql) configure: running /bin/sh ./configure '--prefix=/opt/local' '--host=x86_64-apple-darwin11.3.0' '--build=x86_64-apple-darwin11.3.0' '--with-modules=rlm_sql' '--with-mysql-lib-dir=/opt/local/lib/mysql5/mysql' '--with-mysql-include-dir=/opt/local/include/mysql5' '--without-rlm_krb5' '--with-openssl-includes=/opt/local/include/openssl' '--with-openssl-libraries=/opt/local/lib' '--with-system-libtool' 'build_alias=x86_64-apple-darwin11.3.0' 'host_alias=x86_64-apple-darwin11.3.0' '--enable-ltdl-install=no' --cache-file=/dev/null --srcdir=. checking for x86_64-apple-darwin11.3.0-gcc... no checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for mysql_config... no checking for pthread_create in -lpthread... yes checking for mysql_init in -lmysqlclient_r... yes checking for mysql/mysql.h... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h
Post make, confirming SQL module built successfully
x ./opt/local/lib/rlm_sql_mysql-2.1.9.la x ./opt/local/lib/rlm_sql_mysql-2.1.9.so x ./opt/local/lib/rlm_sql_mysql.a x ./opt/local/lib/rlm_sql_mysql.la x ./opt/local/lib/rlm_sql_mysql.so
Testing proper SQL module linking using: radiusd -X
rlm_sql (sql): Driver rlm_sql_mysql (module rlm_sql_mysql) loaded and linked rlm_sql (sql): Attempting to connect to radius@localhost:/radius rlm_sql (sql): starting 0 rlm_sql (sql): Attempting to connect rlm_sql_mysql #0 rlm_sql_mysql: Starting connect to MySQL server for #0 rlm_sql (sql): Connected new DB handle, #0 rlm_sql (sql): starting 1 rlm_sql (sql): Attempting to connect rlm_sql_mysql #1 rlm_sql_mysql: Starting connect to MySQL server for #1 rlm_sql (sql): Connected new DB handle, #1 rlm_sql (sql): starting 2 rlm_sql (sql): Attempting to connect rlm_sql_mysql #2 rlm_sql_mysql: Starting connect to MySQL server for #2 rlm_sql (sql): Connected new DB handle, #2 rlm_sql (sql): starting 3 rlm_sql (sql): Attempting to connect rlm_sql_mysql #3 rlm_sql_mysql: Starting connect to MySQL server for #3 rlm_sql (sql): Connected new DB handle, #3 rlm_sql (sql): starting 4 rlm_sql (sql): Attempting to connect rlm_sql_mysql #4 rlm_sql_mysql: Starting connect to MySQL server for #4 rlm_sql (sql): Connected new DB handle, #4 rlm_sql (sql): Processing generate_sql_clients rlm_sql (sql) in generate_sql_clients: query is SELECT id, nasname, shortname, type, secret, server FROM nas rlm_sql (sql): Reserving sql socket id: 4 rlm_sql (sql): Released sql socket id: 4
Running required radtest to verify test user
$ radtest sqltest testpwd localhost 1812 testing123 Sending Access-Request of id 246 to 127.0.0.1 port 1812 User-Name = "sqltest" User-Password = "testpwd" NAS-IP-Address = 192.168.1.4 NAS-Port = 1812 rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=246, length=20
Further confirming SQL module success via radiusd debug output
rad_recv: Access-Request packet from host 127.0.0.1 port 55590, id=246, length=59
User-Name = "sqltest"
User-Password = "testpwd"
NAS-IP-Address = 192.168.1.4
NAS-Port = 1812
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "sqltest", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] No EAP-Message, not doing EAP
++[eap] returns noop
[sql] expand: %{User-Name} -> sqltest
[sql] sql_set_user escaped user --> 'sqltest'
rlm_sql (sql): Reserving sql socket id: 3
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'sqltest' ORDER BY id
WARNING: Found User-Password == "...".
WARNING: Are you sure you don't mean Cleartext-Password?
WARNING: See "man rlm_pap" for more information.
[sql] User found in radcheck table
[sql] expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'sqltest' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'sqltest' ORDER BY priority
rlm_sql (sql): Released sql socket id: 3
++[sql] returns ok
++[pap] returns updated
Found Auth-Type = PAP
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Replacing User-Password in config items with Cleartext-Password. !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!! Please update your configuration so that the "known good" !!!
!!! clear text password is in Cleartext-Password, and not in User-Password. !!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+- entering group PAP {...}
[pap] login attempt with password "testpwd"
[pap] Using clear text password "testpwd"
[pap] User authenticated successfully
++[pap] returns ok
+- entering group post-auth {...}
++[exec] returns noop
Sending Access-Accept of id 246 to 127.0.0.1 port 55590
Patch file: patch-add_mysql_variant.patch is attached to this request.
Thanks, Jeff (gvibe06@…)
Attachments
Change History
comment:1 Changed 15 months ago by ryandesign@…
- Keywords haspatch added; freeradius mysql5 mysql5-server removed
- Port changed from mysql5 to freeradius
- Summary changed from freeradius needs mysql variant to freeradius: add mysql variant
Changed 15 months ago by gvibe06@…
- Attachment patch-add_mysql_variant.patch added
Patch file for Portfile to add mysql variant.
Note: See
TracTickets for help on using
tickets.


/opt/local should not be hardcoded; use ${prefix}.