rlm_perl

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Re: rlm_perl

Сообщение NiTr0 »

Радиус собирал из исходников.

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Re: rlm_perl

Сообщение chtito2 »

Поставил все в vmware: FreeBSD 7.2, freeradius-2.1.6, perl-5.8.8_1. Все собирал из портов. Радиус при старте вылетает с той же ошибкой, что и на продакшн сервере:
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.
Если откатить фрирадиус до 2.1.3 то все ок. Понятно, что проблема не в Абиллсе, но все равно интересно что за хрень.
who | grep -i blonde | date; cd $HOME; unzip; touch; strip; finger; mount; fsck; more; yes; uptime; umount; sleep 69

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

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 гоняю. Взлетает.
------------------------
Интернет в Броварах
http://www.brnet.org.ua

chtito
Сообщения: 313
Зарегистрирован: Чт дек 13, 2007 11:03 am

Re: rlm_perl

Сообщение chtito »

Перл 5.8.9 или 5.10 все равно сегфолтяцца, а вот с 5.8.8 и фрирадиус 2.1.6 мне это помогло в вмваре, спасибо. Посмотрим как запашет.

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

2 chtito:

Код: Выделить всё

#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
Вот, собственно, вместо слов. Прошу заметить, на данной тестовой машине перл собран еще и с тредами. Еще раз хочу напомнить, _обязательно_ пересобирать _все_, зависящее от перла после пересборки оного. Также нельзя смешивать сборку из портов и пакеты. Ну, и на всякий случай, опции сборки из /etc/make.conf:

Код: Выделить всё

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
------------------------
Интернет в Броварах
http://www.brnet.org.ua

chtito
Сообщения: 313
Зарегистрирован: Чт дек 13, 2007 11:03 am

Re: rlm_perl

Сообщение chtito »

mr_gfd писал(а): #pkg_info -Ix radius
freeradius-1.1.7_4 A free RADIUS server implementation

Вот, собственно, вместо слов. Прошу заметить, на данной тестовой машине перл собран еще и с тредами. Еще раз хочу напомнить, _обязательно_ пересобирать _все_, зависящее от перла после пересборки оного. Также нельзя смешивать сборку из портов и пакеты.
У меня все из портов, все перестроено с тредами. Только одна существенная разница в freeradius 1.x против 2.x. Все равно segmentation fault с перл 5.8.9 или 5.10. Да я к ним и не стремлюсь. Достаточно 5.8.8, что вроде не вылетает при старте (при LD_PRELOAD).

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

Дык, думаю, пора пересобирать стенд и взлетатть на 8.0 с этим. Буда держать в курсе событий
------------------------
Интернет в Броварах
http://www.brnet.org.ua

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

Ну, взлетел на FreeBSD 8.0-RELEASE-p2 i386

Код: Выделить всё

#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
Для этого суем следующего вида патч в /usr/ports/net/freeradius2:

Код: Выделить всё

#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 ----
Маинтейнеру порта пока не слал. Завтра, скорее всего.
------------------------
Интернет в Броварах
http://www.brnet.org.ua

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

------------------------
Интернет в Броварах
http://www.brnet.org.ua

chtito2
Сообщения: 479
Зарегистрирован: Чт апр 17, 2008 5:26 pm

Re: rlm_perl

Сообщение chtito2 »

Отличные новости, посмотрим войдет ли патч в мейнстрим. Как я понял он одинаково применим и для 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

mr_gfd
Сообщения: 129
Зарегистрирован: Пт ноя 03, 2006 8:34 am

Re: rlm_perl

Сообщение mr_gfd »

Проверял с 5.10 перлом на 8.0 и 5.8.9 на 7.2. Работает.
Сейчас файл с произвольным именем достаточно положить в /usr/ports/net/freeradius2/files
и make clean && make patch && make && make deinstall && make reinstall
------------------------
Интернет в Броварах
http://www.brnet.org.ua

zakachkin
Сообщения: 336
Зарегистрирован: Чт янв 07, 2010 11:00 am

Re: rlm_perl

Сообщение zakachkin »

А какой тип NAS выберать в биллинге если rlm-perl?
Я не волшебник... я только учусь!

NiTr0
Сообщения: 767
Зарегистрирован: Пт фев 08, 2008 4:46 pm

Re: rlm_perl

Сообщение NiTr0 »

А при чем тут НАС вообще??? :shock:

zakachkin
Сообщения: 336
Зарегистрирован: Чт янв 07, 2010 11:00 am

Re: rlm_perl

Сообщение zakachkin »

NiTr0 писал(а):А при чем тут НАС вообще??? :shock:
в таком случае я не понимаю принцип действия...
Я не волшебник... я только учусь!

lasik
Сообщения: 983
Зарегистрирован: Чт янв 10, 2008 5:20 pm
Откуда: Россия, Москва

Re: rlm_perl

Сообщение lasik »

rlm_perl имеет отношение только к взаимотношению радиуса и перла, но не как к взаимотношению радиуса и наса или перла и наса

Ответить