Hello,
I was try to build my own RPM-package of freeradius-0.9.0 with rlm_sql_oracle-
module support to deploy to Suse 8.2 servers. Oracle version is 8.1.7.4.
The strange trouble was discovered.
If I take default suse freeradius.spec file, then I build a buggy binary. The
error seems to in libclntsh.so.8.0 because 'gdb radiusd core' show me nothing
--------------------------------
# gdb radiusd core
Core was generated by `/usr/sbin/radiusd -X'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
(gdb)
--------------------------------
Then I make strace dump of crash of /usr/sbin/radiusd
--------------------------------
write(1, "Ready to process requests.\n", 27) = 27
time(NULL) = 1064587304
select(13, [10 11 12], NULL, NULL, NULL) = 1 (in [10])
recvfrom(10, "\1\0\0Z 1064587317\1\6serg\2\22\211\1\f\243"..., 4096, 0,
{sa_family=AF_INET, sin_port=htons(3660),
sin_addr=inet_addr("192.168.0.11")}, [16]) = 90
write(1, "rad_recv: Access-Request packet "..., 77) = 77
time(NULL) = 1064587317
write(1, "\tUser-Name = \"serg\"\n", 20) = 20
write(1, "\tUser-Password = \"2007811\"\n", 27) = 27
write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31
write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21
write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31
write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35
write(1, "\tNAS-Port-Type = Async\n", 23) = 23
write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25
time(NULL) = 1064587317
write(1, "modcall: entering group authoriz"..., 34) = 34
time(NULL) = 1064587317
write(1, " modcall[authorize]: module \"pr"..., 53) = 53
time(NULL) = 1064587317
write(1, " modcall[authorize]: module \"ch"..., 49) = 49
time(NULL) = 1064587317
write(1, " rlm_eap: No EAP-Message, not d"..., 41) = 41
time(NULL) = 1064587317
write(1, " modcall[authorize]: module \"ea"..., 48) = 48
time(NULL) = 1064587317
write(1, " rlm_realm: No \'@\' in User-Na"..., 67) = 67
time(NULL) = 1064587317
time(NULL) = 1064587317
write(1, " rlm_realm: No such realm \"NU"..., 36) = 36
time(NULL) = 1064587317
write(1, " modcall[authorize]: module \"su"..., 51) = 51
time(NULL) = 1064587317
write(1, "radius_xlat: \'serg\'\n", 21) = 21
time(NULL) = 1064587317
write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52
time(NULL) = 1064587317
write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 186) = 186
time(NULL) = 1064587317
write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42
time(NULL) = 1064587317
write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170
write(9, "\0015\0\0\6\0\0\0\0\0\21k\4\26\0\0\0U\0\0\0\1\0\0\0\3^"..., 309) =
309
read(9, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) =
850
brk(0) = 0x8174000
brk(0x8175000) = 0x8175000
brk(0) = 0x8175000
brk(0x8177000) = 0x8177000
brk(0) = 0x8177000
brk(0x8178000) = 0x8178000
brk(0) = 0x8178000
brk(0x8179000) = 0x8179000
brk(0) = 0x8179000
brk(0x817b000) = 0x817b000
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
The current %build section of freeradius.spec look like
--------------------------------
%build
CFLAGS="$RPM_OPT_FLAGS" ./configure \
--prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir} \
--infodir=%{_infodir} \
--mandir=%{_mandir} \
--libdir=%{_libdir} \
--localstatedir=/var \
--enable-developer
make
--------------------------------
But the main problem what I can make the right binary just by typing
./configure
make
make install
This is a strace-log of same place of /usr/local/sbin/radiusd. It's works
fine!
--------------------------------
write(1, "Ready to process requests.\n", 27) = 27
time(NULL) = 1064587919
select(10, [7 8 9], NULL, NULL, NULL) = 1 (in [7])
recvfrom(7, "\1\10\0Z 1064587941\1\6serg\2\22\\\236w\203"..., 4096, 0,
{sa_family=AF_INET, sin_port=htons(3711), s
in_addr=inet_addr("192.168.0.11")}, [16]) = 90
write(1, "rad_recv: Access-Request packet "..., 77) = 77
time(NULL) = 1064587941
write(1, "\tUser-Name = \"serg\"\n", 20) = 20
write(1, "\tUser-Password = \"2007811\"\n", 27) = 27
write(1, "\tNAS-IP-Address = 192.168.0.11\n", 31) = 31
write(1, "\tNAS-Port-Id = \"100\"\n", 21) = 21
write(1, "\tCalled-Station-Id = \"2892992\"\n", 31) = 31
write(1, "\tCalling-Station-Id = \"017291760"..., 35) = 35
write(1, "\tNAS-Port-Type = Async\n", 23) = 23
write(1, "\tConnect-Info = \"wsghgh\"\n", 25) = 25
time(NULL) = 1064587941
write(1, "modcall: entering group authoriz"..., 34) = 34
time(NULL) = 1064587941
write(1, " modcall[authorize]: module \"pr"..., 53) = 53
time(NULL) = 1064587941
write(1, " modcall[authorize]: module \"ch"..., 49) = 49
time(NULL) = 1064587941
write(1, " rlm_eap: No EAP-Message, not d"..., 41) = 41
time(NULL) = 1064587941
write(1, " modcall[authorize]: module \"ea"..., 48) = 48
time(NULL) = 1064587941
write(1, " rlm_realm: No \'@\' in User-Na"..., 67) = 67
time(NULL) = 1064587941
time(NULL) = 1064587941
write(1, " rlm_realm: No such realm \"NU"..., 36) = 36
time(NULL) = 1064587941
write(1, " modcall[authorize]: module \"su"..., 51) = 51
time(NULL) = 1064587941
write(1, "radius_xlat: \'serg\'\n", 21) = 21
time(NULL) = 1064587941
write(1, "rlm_sql (sql): sql_set_user esca"..., 52) = 52
time(NULL) = 1064587941
write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 186) = 186
time(NULL) = 1064587941
write(1, "rlm_sql (sql): Reserving sql soc"..., 42) = 42
time(NULL) = 1064587941
write(1, "SELECT 1 id,\'serg\' UserName,\'Use"..., 170) = 170
write(6, "\0015\0\0\6\0\0\0\0\0\21k\4\27\0\0\0<\0\0\0\1\0\0\0\3^"..., 309) =
309
read(6, "\3R\0\0\6\0\0\0\0\0\20\31\v\234\342\25\210W\342P\0\0xg"..., 2064) =
850
brk(0) = 0x8172000
brk(0x8173000) = 0x8173000
brk(0) = 0x8173000
brk(0x8175000) = 0x8175000
brk(0) = 0x8175000
brk(0x8176000) = 0x8176000
brk(0) = 0x8176000
brk(0x8177000) = 0x8177000
brk(0) = 0x8177000
brk(0x8179000) = 0x8179000
write(6, "[EMAIL PROTECTED]"..., 121) =
121
read(6, "\0~\0\0\6\0\0\0\0\0\4\1\1\0\0\0{\5\0\0\0\0\1\0\0\0\3\0"..., 2064) =
126
brk(0) = 0x8179000
brk(0x817a000) = 0x817a000
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraru.msb", O_RDONLY) = -1 ENOENT
(No such file or directory)
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10
fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
lseek(10, 0, SEEK_SET) = 0
read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) =
256
lseek(10, 512, SEEK_SET) = 512
read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) =
512
lseek(10, 1024, SEEK_SET) = 1024
read(10, "[EMAIL PROTECTED]"..., 512) =
512
lseek(10, 39936, SEEK_SET) = 39936
read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) =
512
close(10) = 0
time(NULL) = 1064587941
write(1, "radius_xlat: \'\'\n", 17) = 17
time(NULL) = 1064587941
write(1, "radius_xlat: \'SELECT 1 id,\'serg"..., 122) = 122
time(NULL) = 1064587941
write(1, "SELECT 1 id,\'serg\' UserName,Attr"..., 106) = 106
write(6, "\0\346\0\0\6\0\0\0\0\0\3^\7a\200\0\0\1\0\0\0\f\34\27\10"..., 230) =
230
read(6, "\1\244\0\0\6\0\0\0\0\0\20\31\255Y\247\30\330\36\344P\0"..., 2064) =
420
open("/opt/oracle/product/8.1.7/rdbms/mesg/oraus.msb", O_RDONLY) = 10
fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
lseek(10, 0, SEEK_SET) = 0
read(10, "\25\23\"\1\23\3\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 256) =
256
lseek(10, 512, SEEK_SET) = 512
read(10, "\210\34rYM~\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 512) =
512
lseek(10, 1024, SEEK_SET) = 1024
read(10, "[EMAIL PROTECTED]"..., 512) =
512
lseek(10, 39936, SEEK_SET) = 39936
read(10, "\t\0\31\5\0\0>\0\32\5\0\0\214\0\33\5\0\0\336\0\34\5\0\0"..., 512) =
512
close(10) = 0
time(NULL) = 1064587941
write(1, "radius_xlat: \'\'\n", 17) = 17
time(NULL) = 1064587941
write(1, "rlm_sql (sql): No matching entry"..., 78) = 78
time(NULL) = 1064587941
write(1, "rlm_sql (sql): Released sql sock"..., 41) = 41
time(NULL) = 1064587941
write(1, " modcall[authorize]: module \"sq"..., 52) = 52
time(NULL) = 1064587941
----------------------------
Somebody can helps me with a troubleshooting?
P.S. /etc/raddb and /usr/local/etc/raddb is alike besides the paths of course.
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html