В тестах Serverspec у меня есть следующая проверка:
openssl_latest_version = 'OpenSSL 1.0.2h 3 May 2016'
describe command('openssl version') do
its(:stdout) { should match openssl_latest_version }
end
Есть ли способ автоматически получить строку, которую последний официально выпущенный OpenSSL возвращает при выполнении openssl version
? Т.е. автоматически устанавливается openssl_latest_version
основанный, например, на некоторых curl
вызов.
Я хочу, чтобы тест завершился неудачно, если установленная версия более поздняя, чем та, которая в настоящее время опубликована OpenSSL самое последнее на момент запуска теста, но без изменения параметров человеком.
я не хочу сравнить его с версией, доступной в диспетчере пакетов для какой-либо конкретной версии ОС, я не хочу устанавливать последнюю версию, мне просто нужен тест потерпеть неудачу когда текущая версия отличается от той, которая была объявлена последней.
Вот ужасный небольшой сценарий оболочки, который может это сделать:
$ lynx -dump https://www.openssl.org/source/ |
grep -- 'https://www.openssl.org/source/openssl-.*.tar.gz$' |
awk '{print $2}' |
sort -r |
grep -v -- '-fips-' |
grep -v -- '-pre' |
head -n1 |
sed -n -- 's_^https://www.openssl.org/source/openssl-\(.*\).tar.gz$_\1_p'
И результат на данный момент:
1.0.2h
Вы перепрыгиваете через несколько звеньев цепи. Вам необходимо проверить последнюю версию, доступную в вашем диспетчере пакетов, в зависимости от используемой вами ОС. Если вы управляете своими собственными пакетами (например, SpaceWalk для производных RedHat), это добавляет несколько ссылок в вашу цепочку, потому что вы также будете управлять пакетами, доступными в восходящем направлении, так что вы можете смотреть на это как на источник истины.
Если вы полностью отказываетесь от поддерживаемых версий openssl для своего дистрибутива и сразу переходите к последнему и лучшему проекту openssl, НУ Ладно, ПАРТНЕР, ДАВАЙТЕ РАЗРУШИТЬ ЭТО МЕСТО, КАК ЭТО НЕ ТАК! ᕕ (ᐛ) ᕗ
Вы захотите использовать репозиторий github openssl, клонируйте и проверьте версию, затем скомпилируйте и установите. Распознавать зависимости еще никогда не было так просто или безопасно!