urfaclient

UTM5 + freeradius (2 dynamic ip pool) + urfaclient на php + pppoe-server (linux)

Имеем мы биллинг UTM5.
Решили отказаться от NATа и раздать клиентам реальные динамические ip-шники.
Порыскав на форуме netup.ru, я не нашел ничего, что удовлетворяло бы моим запросам.
NASы у нас в виде машин на Линухе, freeradius, urfaclient на php написали умельцы с форума. Единственное, что нашел по теме, и за это огромное человеческое спасибо wingman'у с форума, который осветил эту тему более ярко:
http://www.netup.ru/phpbb/viewtopic.php?t=7948&highlight=%E4%E8%ED%E0%EC...

UTM5. URFAclient на PHP. Error calling function.

Для 64-х битных систем, если при вызове пользовательских функций возникает ошибка "Error calling function"
Всему виной php-функция unpack. Костыль нашел на форуме netup.ru.
Нужно поправить функцию AttrGetInt в файле URFAClient_Packet.php

    function AttrGetInt($code)
    {
                if (isset($this->attr[$code]['data'])) {
                    $x = unpack("N", $this->attr[$code]['data']);
                    if ($x[1]>2147483647) return $x[1]-4294967296;
                    return $x[1];
                } else {
                        return FALSE;
                }