rlm_perl
Re: rlm_perl
Радиус собирал из исходников.
Re: rlm_perl
Поставил все в vmware: FreeBSD 7.2, freeradius-2.1.6, perl-5.8.8_1. Все собирал из портов. Радиус при старте вылетает с той же ошибкой, что и на продакшн сервере:
Если откатить фрирадиус до 2.1.3 то все ок. Понятно, что проблема не в Абиллсе, но все равно интересно что за хрень.Can't load '/usr/local/lib/perl5/5.8.8/mach/auto/POSIX/POSIX.so' for module POSIX: /usr/local/lib/perl5/5.8.8/mach/auto/POSIX/POSIX.so: Undefined symbol "PL_sig_name" at /usr/local/lib/perl5/5.8.8/mach/XSLoader.pm line 70.
at /usr/local/lib/perl5/5.8.8/mach/POSIX.pm line 26
Compilation failed in require at /usr/abills/libexec/config.pl line 155.
BEGIN failed--compilation aborted at /usr/abills/libexec/config.pl line 155.
Compilation failed in require at /usr/abills/libexec/rlm_perl.pl line 35.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69
Re: rlm_perl
env LD_PRELOAD="/usr/local/lib/perl5/5.8.8/mach/CORE/libperl.so" /usr/local/sbin/radiusd -x
Если его так стартовать?
Я таким образом rlm_perl с FreeRadius 1.1.7 и Perl 5.10.1 и 5.8.9 гоняю. Взлетает.
Если его так стартовать?
Я таким образом rlm_perl с FreeRadius 1.1.7 и Perl 5.10.1 и 5.8.9 гоняю. Взлетает.
Re: rlm_perl
Перл 5.8.9 или 5.10 все равно сегфолтяцца, а вот с 5.8.8 и фрирадиус 2.1.6 мне это помогло в вмваре, спасибо. Посмотрим как запашет.
Re: rlm_perl
2 chtito:
Вот, собственно, вместо слов. Прошу заметить, на данной тестовой машине перл собран еще и с тредами. Еще раз хочу напомнить, _обязательно_ пересобирать _все_, зависящее от перла после пересборки оного. Также нельзя смешивать сборку из портов и пакеты. Ну, и на всякий случай, опции сборки из /etc/make.conf:
Код: Выделить всё
#uname -srm
FreeBSD 7.2-RELEASE-p4 i386
#ifconfig dmz0
dmz0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:0e:2e:07:ff:be
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
#pkg_info -Ix perl
perl-threaded-5.10.1 Practical Extraction and Report Language
#pkg_info -Ix radius
freeradius-1.1.7_4 A free RADIUS server implementation
#env LD_PRELOAD="/usr/local/lib/perl5/5.10.1/mach/CORE/libperl.so" /usr/local/sbin/radiusd -x
Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded perl
Module: Instantiated perl (perl)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Loaded Acct-Unique-Session-Id
Module: Instantiated acct_unique (acct_unique)
Initializing the thread pool...
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
rad_recv: Accounting-Request packet from host 10.0.0.1:57576, id=133, length=437
NAS-Identifier = "berylhead.local"
Acct-Session-Id = "4371908-L_pppoe-8"
NAS-Port = 8
NAS-Port-Type = Ethernet
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = "002191ff8cb8"
Called-Station-Id = "internet"
NAS-Port-Id = "em0"
mpd-link = "L_pppoe-8"
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Client-Endpoint:0 = "00:21:91:ff:8c:b8"
Framed-IP-Address = 192.168.3.173
Framed-IP-Netmask = 255.255.255.255
User-Name = "test"
Acct-Multi-Session-Id = "4371908-B_pppoe-8"
mpd-bundle = "B_pppoe-8"
mpd-iface = "ng6"
mpd-iface-index = 12
Acct-Link-Count = 1
Acct-Authentic = RADIUS
Acct-Status-Type = Interim-Update
Acct-Session-Time = 85382
Acct-Input-Octets = 773445276
Acct-Input-Packets = 5379830
Acct-Input-Gigawords = 0
Acct-Output-Octets = 2049409462
Acct-Output-Packets = 8386633
Acct-Output-Gigawords = 2
mpd-input-octets = "1:457915"
mpd-input-packets = "1:7145"
mpd-input-octets = "0:762191746"
mpd-input-packets = "0:5368195"
mpd-output-octets = "1:1083299"
mpd-output-packets = "1:7619"
mpd-output-octets = "0:10604678278"
mpd-output-packets = "0:8374524"
perl_pool: item 0x28b0f000 asigned new request. Handled so far: 1
found interpetator at address 0x28b0f000
perl_pool total/active/spare [5/0/5]
Unreserve perl at address 0x28b0f000
Sending Accounting-Response of id 133 to 10.0.0.1 port 57576
^C
Код: Выделить всё
PERL_ARCH=mach
NOPERL=no
WITH_PERL=yes
WITHOUT_PERL=no
CPUTYPE?=core2
CFLAGS= -O2 -fno-strict-aliasing -pipe
COPTFLAGS= -O -pipe
MAKE_SHELL?=sh
INSTALL=install -C
CCVER?=gcc42
WITHOUT_X11=yes
Re: rlm_perl
У меня все из портов, все перестроено с тредами. Только одна существенная разница в freeradius 1.x против 2.x. Все равно segmentation fault с перл 5.8.9 или 5.10. Да я к ним и не стремлюсь. Достаточно 5.8.8, что вроде не вылетает при старте (при LD_PRELOAD).mr_gfd писал(а): #pkg_info -Ix radius
freeradius-1.1.7_4 A free RADIUS server implementation
Вот, собственно, вместо слов. Прошу заметить, на данной тестовой машине перл собран еще и с тредами. Еще раз хочу напомнить, _обязательно_ пересобирать _все_, зависящее от перла после пересборки оного. Также нельзя смешивать сборку из портов и пакеты.
Re: rlm_perl
Дык, думаю, пора пересобирать стенд и взлетатть на 8.0 с этим. Буда держать в курсе событий
Re: rlm_perl
Ну, взлетел на FreeBSD 8.0-RELEASE-p2 i386
Для этого суем следующего вида патч в /usr/ports/net/freeradius2:
Маинтейнеру порта пока не слал. Завтра, скорее всего.
Код: Выделить всё
#pkg_info -Ix perl
perl-5.10.1 Practical Extraction and Report Language
Код: Выделить всё
pkg_info -Ix radi
freeradius-2.1.8 A free RADIUS server implementation
Код: Выделить всё
#cat files/patch-rlm-perl2
*** src/main/modules.c Wed Dec 30 17:44:35 2009
--- src/main/modules.c Mon Feb 8 01:18:38 2010
***************
*** 207,215 ****
* Solve the issues of libraries linking to other libraries
* by using a newer libltdl API.
*/
- #ifndef HAVE_LT_DLADVISE_INIT
- #define fr_dlopenext lt_dlopenext
- #else
static lt_dlhandle fr_dlopenext(const char *filename)
{
lt_dlhandle handle = 0;
--- 207,212 ----
***************
*** 225,231 ****
return handle;
}
- #endif /* HAVE_LT_DLADVISE_INIT */
#endif /* WITHOUT_LIBLTDL */
static int virtual_server_idx(const char *name)
--- 222,227 ----
Re: rlm_perl
Отличные новости, посмотрим войдет ли патч в мейнстрим. Как я понял он одинаково применим и для FreeBSD 7.x? И еще, получается с патчем остаться с Perl 5.8 (5.8.9)?
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69
Re: rlm_perl
Проверял с 5.10 перлом на 8.0 и 5.8.9 на 7.2. Работает.
Сейчас файл с произвольным именем достаточно положить в /usr/ports/net/freeradius2/files
и make clean && make patch && make && make deinstall && make reinstall
Сейчас файл с произвольным именем достаточно положить в /usr/ports/net/freeradius2/files
и make clean && make patch && make && make deinstall && make reinstall
Re: rlm_perl
А при чем тут НАС вообще???
Re: rlm_perl
в таком случае я не понимаю принцип действия...NiTr0 писал(а):А при чем тут НАС вообще???
Я не волшебник... я только учусь!
Re: rlm_perl
rlm_perl имеет отношение только к взаимотношению радиуса и перла, но не как к взаимотношению радиуса и наса или перла и наса