ПослеПредупреждение о безопасности FreeRadiusЯ пытаюсь собрать установочные файлы FreeRadius 3.0.15 .deb для Debian 9/Stretch для размещения в моем локальном репозитории.
На самом деле эта версия мне также нужна для проекта RadSec и исправления нескольких других ошибок.
Я собираю их, следуя следующим инструкциям:
git clone https://github.com/FreeRADIUS/freeradius-server.git
cd freeradius-server
git fetch origin v3.0.x:v3.0.x
git checkout v3.0.x
fakeroot dpkg-buildpackage -b -uc
Однако при компиляции я получил следующую ошибку:
dpkg-buildpackage: info: source package freeradius
dpkg-buildpackage: info: source version 3.0.15+git
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Alan DeKok <[email protected]>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build freeradius-server
dpkg-checkbuilddeps: error: Unmet build dependencies: libjson0 | libjson-c2
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
Что делать?
решение1
В качестве альтернативы, если вам нужно обновить FreeRadius только для устранения уязвимости, вы можете установить последние пакеты FreeRadius из нестабильной версии; ониисправить уязвимостьтоже (с минимальным патчем до 3.0.12).
Интересным общим решением проблемы такого рода для пользователей, проводящих тестирование и желающих установить исправления безопасности из нестабильной версии, как только они станут доступны, является использованиеРасширение Пола Уайза наdebsecan
— он автоматически закрепляет пакеты за их нестабильной версией по мере необходимости, когда там выпускаются исправления безопасности.
решение2
libjson-c2
не существует в Debian 9; выполнение:
$apt-cache search libjson-c
libjson-c3 - JSON manipulation library - shared library
Совершенно очевидно, что теперь он называется libjson-c3
; поэтому я заменил в файле Debian control
проекта в freeradius-server/debian/control
строке 10 libjson-c2
наlibjson-c3
10 libjson0 | libjson-c3,
Делаем снова:
fakeroot dpkg-buildpackage -b -uc
Он успешно компилируется и создает в каталоге freeradius-server/..
следующие файлы:
freeradius_3.0.15+git_amd64.deb freeradius-common_3.0.15+git_all.deb freeradius-config_3.0.15+git_amd64.deb freeradius-dbg_3.0.15+git_amd64.deb freeradius-dhcp_3.0.15+git_amd64.deb freeradius-iodbc_3.0.15+git_amd64.deb freeradius-krb5_3.0.15+git_amd64.deb freeradius-ldap_3.0.15+git_amd64.deb freeradius-memcached_3.0.15+git_amd64.deb freeradius-mysql_3.0.15+git_amd64.deb freeradius-postgresql_3.0.15+git_amd64.deb freeradius-redis_3.0.15+git_amd64.deb freeradius-rest_3.0.15+git_amd64.deb freeradius-utils_3.0.15+git_amd64.deb freeradius-yubikey_3.0.15+git_amd64.deb libfreeradius3_3.0.15+git_amd64.deb libfreeradius-dev_3.0.15+git_amd64.deb