The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Найдена причина проблем dehydrated с ACME-серверами, отличными от LetsEncrypt

03.07.2020 08:52

Sebastian Krause определил источник странной несовместимости с сервисом Bypass скрипта dehydrated, используемого для автоматизации получения TLS-сертификатов по протоколу ACME. С Bypass работают и эталонный клиент, и uacme, но не dehydrated (точнее, он тоже с некоторыми обходными манёврами заработал, но исключительно в режиме dns-1).

Причина оказалась банальна: вместо того чтобы разбирать ответ в формате JSON по настоящему, автор dehydrated использовал особенность форматирования конкретного JSON-вывода от сервиса Let's Encrypt и выполнял разбор при помощи регулярного выражения. Но Bypass возвращает не красиво отформатированный, а минифицированный JSON, и использованное регулярное выражение не сработало. Указанный подход не исключает возникновения проблем и с LetsEncrypt, если данный сервис в будущем без предупреждения поменяет формат выдачи, оставшись при этом вполне в рамках официального протокола.

При обсуждении проблемы было предложено использовать внешний парсер JSON, такой как json_pp или jq (добавить в pipe 'jq -r ".authorizations | .[]"' для корректного разбора). Недостатком такого подхода является размытие идеи обойтись минимальными и легко верифицируемыми средствами, а также проблемы с обработкой ошибок.

Автор проекта dehydrated (проект недавно был продан компании Apilayer GmbH) согласился, что разбор JSON является большой проблемой, но добавлять внешние парсеры он не считает хорошей идеей, так как одним из ключевых достоинств скрипта является отсутствие привязки к внешним зависимостям. В настоящее время он занят, но надеется в ближайшие несколько дней уделить внимание решению проблемы. В планах отмечена переработка парсера JSON или интеграция готового парсера на языке shell - JSON.sh.

  1. Главная ссылка к новости (https://github.com/dehydrated-...)
  2. OpenNews: Проект dehydrated сменил владельца
  3. OpenNews: Разработанный проектом Let's Encrypt протокол ACME утверждён в качестве интернет-стандарта
  4. OpenNews: Организация EFF выпустила релиз Certbot 1.0, пакета для получения сертификатов Let's Encrypt
  5. OpenNews: Let's Encrypt перешёл к проверке с использованием разных подсетей
Автор новости: пох.
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/53279-dehydrated
Ключевые слова: dehydrated, acme, shell
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (146) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 08:58, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +36 +/
    Не перевелись ещё норкоманы на Земле.
     
     
  • 2.29, Аноним (29), 09:52, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Придумавшие JSON.
     
     
  • 3.56, Аноним (56), 11:58, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Придумавшие использовать только JSON в протоколе Let's Encrypt.
     
  • 3.70, Lex (??), 15:25, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +17 +/
    Криворукая макака не придумала ничего лучше, чем «парсить» json самопальной регуляркой и это в типо_секурном_проекте...
    Но виноват JSON ?)

    Интересно, сколько бы д.ма вылилось на автора проекта, окажись проект написанным на каком-нибу JS...
    Но, поскольку это юниксовый скрипт, виноват кто угодно( вплоть до формата данных и фазы Луны, из-за которой разработчику пришла в голову столь дурацкая идея ), но не сама скриптомакака.

     
     
  • 4.94, Аноним (94), 17:53, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так смысл же был в отсутствии зависимостей.
     
     
  • 5.95, Аноним (95), 18:05, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Написать парсер несложно. Гляньте вон в хаскеле на парсерные комбинаторы, например
     
  • 5.98, Аноним (98), 18:23, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Так смысл же был в отсутствии зависимостей.

    Отсутствие зависимостей — это статически собранный бинарник.

     
  • 5.107, zekefast (ok), 21:07, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Статик бинарь лучшее отсутствие зависимостей!
     
     
  • 6.135, Аноним (135), 00:33, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, сделай его размером с эту шеллфигню? :)
     
  • 5.117, Аноним (117), 23:48, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Набижали одепты секты статических бинарников.
    Вспомни с ними, какие версии TLS-либ вкомпилены унутрь, или тех же парсеров чего ни попадя, и сколько дыр в них с тех пор нашли.
     
  • 2.44, noregexp (?), 10:21, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml
    читать до конца!
     
     
  • 3.46, Повидло19 (?), 10:28, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    До конца регулярного выражения? :)
     
     
  • 4.136, Аноним (-), 00:35, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они чуть не рекурсивные бывают - так что с этим поаккуратнее :)
     
  • 3.104, Аноним (104), 19:45, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Это божественно!
     
  • 3.121, Аноним (121), 00:14, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Блеать, откуда ты нарыл такое, коллега?
     

  • 1.2, Аноним (2), 09:03, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Это полная уже деградация, если пропарсить какойто простейший json проблема.
     
     
  • 2.6, foo (?), 09:11, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Это полная уже деградация, если пропарсить какойто простейший json проблема.

    Dehydrated написан на shell. Использовать node.js, пожалуйста, не предлагать.

     
     
  • 3.10, ННН (?), 09:16, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кроме shell и node.js никаких языков очевидно больше не существует.
     
     
  • 4.30, Аноним (29), 09:53, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бидончик
     
     
  • 5.137, Аноним (-), 00:37, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И потом еще версию этого шита на каждом сервере правильную таскать? :)
     
  • 4.59, foo (?), 13:17, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Кроме shell и node.js никаких языков очевидно больше не существует.

    Насчет node.js, естественно был сарказм. Насчет shell даже комментировать как-то неловко (в этом и смысл dehydrated: минимум зависимостей). Переписывать его на другой я/п- тоже самое, что переписать ядро на rust. Надеюсь, так понятнее.

     
     
  • 5.80, Аноним (98), 16:13, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Переписывать его на другой я/п- тоже самое, что переписать ядро на rust.

    Один скрипт — не ядро, если у автора голова не из чугуния — проблем нет.

    > в этом и смысл dehydrated: минимум зависимостей

    Минимум зависимостей — это Go с CGO_ENABLED=0. Можно запускать даже в абсолютно пустой rootfs.

     
     
  • 6.85, foo (?), 16:33, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Один скрипт — не ядро, если у автора голова не из чугуния — проблем нет.

    Нет, преписать- проблем нет. Проблема в другом,- зачем? :) Клиентов на C- уже несколько.

    >Минимум зависимостей — это Go с CGO_ENABLED=0. Можно запускать даже в абсолютно пустой rootfs.

    Клиентов на GO- _уже_ как собак нерезаных. Зачем ещё один?

     
     
  • 7.99, Аноним (98), 18:24, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Клиентов на GO- _уже_ как собак нерезаных. Зачем ещё один?

    И мы плавно подходим к пониманию, что дело не отсутствии зависимостей, а в желании "быть не таким, как все".
    Похвально, но непрактично.

     
  • 6.102, Аноним (117), 18:56, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Go с CGO_ENABLED=0

    А что, net уже работает без cgo?

     
     
  • 7.108, Аноним (108), 21:16, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Если говорить о линуксе, то да https://github.com/golang/go/issues/25670
     
  • 3.72, Няняняним (?), 15:36, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Лови: https://stedolan.github.io/jq/
     
     
  • 4.77, foo (?), 15:47, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Лови: https://stedolan.github.io/jq/

    С какой долей вероятности этого не будет на сервере?

     
  • 3.73, Няняняним (?), 15:37, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вообще - в чем преимущество "быть написанным на шелл"? Возьмите-сделайте сишный/плюсовый клиент
     
     
  • 4.82, foo (?), 16:25, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >А вообще - в чем преимущество "быть написанным на шелл"?

    1. Отсутствие внешник зависимостей (на сервере это важно).
    2. Теоретически более простой аудит кода.

    >Возьмите-сделайте сишный/плюсовый клиент

    Кхм, они и так уже есть.

     
     
  • 5.93, пох. (?), 17:31, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Возьмите-сделайте сишный/плюсовый клиент
    > Кхм, они и так уже есть.

    ну, кстати, я посмотрел на uacme - а там - там-тадам, подавай gcc чуть ли не десятый, и непременнейше еще и openssl распоследней версии. Увы, у меня такого не завезли (а где завезли - там и сертификаты пока еще от digicert - правда, уже не зельоные - смысла ни малейшего платить).
    Это при том что код ни разу не назовешь простым и понятным.

     
  • 4.138, Аноним (-), 00:39, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А вообще - в чем преимущество "быть написанным на шелл"?

    "Шелл есть на всем что хоть немного похоже на сервер" :)

    >  Возьмите-сделайте сишный/плюсовый клиент

    Совсем без внешних либ? Нудно. С ними? Кучу зависимостей ставить. А шелл что, он всяко есть.

     
  • 3.79, Аноним (98), 16:10, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Dehydrated написан на shell. Использовать node.js, пожалуйста, не предлагать.

    Вы так говорите, как будто это не сорта одного и того же.
    И shell, и JS — мелконишевые языки, простые для изучения неквалифицированными "разработчиками" и именно поэтому вылезшие за пределы своей ниши. Это и обуславливает "высочайшую" культуру разработки на обоих этих языках.

     
     
  • 4.83, foo (?), 16:26, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >Вы так говорите, как будто это не сорта одного и того же.

    Дело не в этом. Дело в том, что shell на сервере уже есть.

     
     
  • 5.97, Аноним (98), 18:21, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А в чруте или контейнере его может и не быть.
    И да, запускать столь сомнительные программы, как сабж, на хостовой системе — идея не очень.
     
     
  • 6.103, Аноним (117), 19:00, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А в чруте или контейнере его может и не быть.

    Не может, если там сколько-нибудь полноценная ОС. Впрочем, это не столь важно, учитывая, что dehydrated написан не на shell, а на bash, которого и правда может не быть.

     
     
  • 7.109, Аноним (108), 21:17, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Не может, если там сколько-нибудь полноценная ОС.

    Зачем полноценная ОС для запуска статического бинарника? Просто чтобы занять несколько гигов на диске?

     
     
  • 8.127, Аноним (117), 11:01, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Несколько сотен метров Зачем Ну затем, чтобы в ней работало хоть что-то кроме ... текст свёрнут, показать
     
  • 2.13, пох. (?), 09:24, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а слабо показать работающий код парсера json на bash+sed/awk/grep/tr/cut - то есть именно самому пропарсить json юниксными средствами, а не надо читать твой текст как "установить кем-то написанный софт который это делает за меня" (смысл dehydtated ровно в том чтоб обойтись без построннего сложного софта) ?

     
     
  • 3.17, asdasd (?), 09:38, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А то сам код bash / tcsh сильно простой?
     
     
  • 4.25, пох. (?), 09:45, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а сам код именно bash - уже несколько раз внезапно исполнял левые файлы по нажатию tab, да - но он у неудачников "нового стандарта" так и так уже есть. (с true shell эта поделка, разумеется, не работает, как обычно)

    В смысле, если в нем найдут очередную дыру - у тебя будут проблемы и без dehydrated (которого они вполне могут и не затронуть).

     
     
  • 5.139, Аноним (-), 00:40, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    С труЪ <whatever> обычно нифига и не работает. труЪ не для того чтобы работать.
     
  • 4.32, Аноним (29), 09:56, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На bash если и непростой, то сам bash есть из коробки.
     
     
  • 5.36, пох. (?), 10:05, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то только в "новом стандарте", и то не в любом (правда, dash, наверное, совместим).

    > bash

    bash: Command not found.

    (а на one true sh эта поделка не работает)

     
     
  • 6.81, Аноним (98), 16:17, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В 2020 году bash и есть one true sh, по факту. Есть на любой не-маргинальной системе.

    Лично я, правда, ориентируюсь на posix-подмножество, потому что на дебиановском семействе /bin/sh — это dash, в котором поменьше интерактивного мусора. Но это уже мой личный перфекционизм.

     
     
  • 7.87, пох. (?), 16:46, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > В 2020 году bash и есть one true sh, по факту. Есть на любой не-маргинальной системе.

    то есть в линyпсе, линyпсе и линyпсе? Ну оок.

    > Но это уже мой личный перфекционизм.

    если твой шелл не позволяет выполнить какой-нибудь неожиданный код, просто нажав tab - ты живешь зря, ага.

     
     
  • 8.101, Аноним (98), 18:27, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, на какой-нибудь AIX или Amiga может и не быть Это прискорбно, но пренебр... текст свёрнут, показать
     
  • 8.128, Аноним (94), 11:59, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ещё на freebsd А больше то и не надо Хотя даже на проклятых винде и макос можн... текст свёрнут, показать
     
     
  • 9.130, Аноним (117), 20:58, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В freebsd нет bash искаропки А вот в макоси есть, хоть и второй свежести Иди у... текст свёрнут, показать
     
     
  • 10.140, Аноним (-), 00:42, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так и фрибзды нет искаропки Problem solved Next ... текст свёрнут, показать
     
  • 3.19, asdasd (?), 09:39, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И как-бы самая банальное решение проблемы с такими приколами это минимизация, trim и т.д. На тех-же awk / sed'ах на раз два делается.
     
  • 3.21, asdasd (?), 09:40, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И да, вам уже в новости сказали про JSON.sh, который использует только gawk и egrep.
     
     
  • 4.27, пох. (?), 09:46, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я эту новость, как бы, писал. Мне интересно было посмотреть на код крякающего комментатора, а не на JSON.sh

    Полагаю, ничего кроме пузырей в лужу, он бы не написал.

     
     
  • 5.141, Аноним (-), 00:43, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > я эту новость, как бы, писал. Мне интересно было посмотреть на код
    > крякающего комментатора, а не на JSON.sh

    Троллинг новостью.... технично! Это левелап скилла!

     
  • 4.28, kvaps (ok), 09:51, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть ещё JSON.awk, на чистом awk:
    https://github.com/step-/JSON.awk
     
     
  • 5.34, пох. (?), 10:01, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    wow, красота какая.
    И даже не на gnu awk.

    Но, кстати, и не чистый awk - автор ниасилил, такой RS вряд ли хотя бы posix-compliant


     
     
  • 6.60, Аноним (117), 13:19, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не, на original-awk не пашет. Да и на mawk 1.3.3 тоже, вопреки заявлениям.
     
     
  • 7.62, пох. (?), 13:36, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    для mawk там RS надо поменять на \b (и молиться чтоб он не приехал внутри json), остальное вроде рабочее.

    Но в целом зверюшка, безусловно, забавная но бесполезная в реальной жизни, как утконос.


     
  • 3.22, пох. (?), 09:41, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    кстати, мельком глянув в JSON.sh (кто будет свое показывать - чур не подглядывать, это слишком просто): с одной стороны, автор умел в программирование (то есть правильно понял задачу, а не как это лопоухое недоразумение, грепал чорти что), а с другой:
    > #!/bin/sh

    sic!
    ...
    ... там еще какие-то попытки что-то zsh-специфичное понаделать ...
    ...
    > if ([ "$0" = "$BASH_SOURCE" ] || ! [ -n "$BASH_SOURCE" ]);
    > then
    >  parse_options "$@"
    >  tokenize | parse
    > fi

    здрасьте, приехали.

     
  • 3.23, asdasd (?), 09:41, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Причем код JSON.sh всего-лишь на 208 строк.
     
  • 3.52, PnD (??), 11:24, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Да нет, не слабо́:
    """
    if [ "$(echo $RESULT_ACCEPTING | jq -r '.result')" = "success" ] ; then…
    """
    Что, для json нужны инструменты jQuery? (Есть и альтернативные, но этот вот под рукой оказался.)
    Ну так рассматривайте очередной инструмент как новую функцию в базисе (того самого "юникс-вея").
    В большинство не-гуманитарных специальностей соотв. разделы математики входят, чего бы ими не пользоваться (а не придумывать ярлыки "unix-way" и прочую ∞́ню).
     
     
  • 4.63, пох. (?), 13:40, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так рассматривайте очередной инструмент как новую функцию в базисе

    у нас и в старых не все идеально с безопасностью обработки untrusted данных, а верить что написанное мальчиками в штанцах с подворотиками не блеванет смузи если правильно накормить - надо очень наивным быть.

    Применение таких инструментов сводит весь смысл написания dehydrated (если он вообще был, что сомнительно) к х.ю

     
     
  • 5.78, Аноним (98), 16:06, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А какой тогда смысл в написании dehydrated, если его автор ничем не отличается от мальчиков в штанцах с подворотиками, если абсолютно так же выблeвывает смузи?
     
     
  • 6.89, пох. (?), 16:53, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    В написании - дык, эта - "был продан компании Apilayer GmbH", а чего добился в баш-разработке ты?! ;-)
    А в использовании - смысл если для кого и был, то да, кончился, об том, собстно, и новость.

    ТАКОЕ использовать - напрашиваться на неприятности.

    Я сбежал на acme-tiny еще пол-года назад, когда всплыла несовместимость с bypass и явное нежелание автора ничего исправлять и разбираться - унеговсеработает. А вчерась просто получил подтверждение, что и правильно не стал время терять - тут уже ничего не исправить, только молнией всех подряд.

     
  • 3.54, Gefest (?), 11:46, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А в чем сложность с awk ??
    https://github.com/step-/JSON.awk
     
  • 3.129, Ordu (ok), 20:31, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Примерно так:

    cat file.json | sed 's/\([,{[]\)/\1\n/g' | tr -s '\n' >tmp.json

    Я не вдавался в подробности, может тут не всё сделано, что нужно, но идея должна быть ясна. tr -s, кстати, наверное лишний. Но потом можно работать с tmp.json регекспами так, как dehydrated работал до того. И никакой JSON.sh не нужен.

     
  • 2.48, КО (?), 10:35, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Проблема в пропарсить любой json.

    Сейчас добавят парсер. Потом кто-то умный дотумкает, что злонамеренный сервер может хакнуть систему вызвав в ней черти-что специально подготовленным json. И понесется... :)

     
     
  • 3.76, Аноним (76), 15:40, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, ведь, как оказалось, валидация пришедших со стороны данных слишком сложно для нынешних программистов
     
     
  • 4.131, КО (?), 18:40, 05/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    После parse валидировать поздно, до сложно.
     

  • 1.3, Аноним (3), 09:09, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Лучше я продолжу сидеть на http-плоколе и сайтах
     
     
  • 2.7, ННН (?), 09:13, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +9 +/
    И смотреть рекламу мегафона и ростелекома?
     
     
  • 3.16, пох. (?), 09:31, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И не платить денег п-сам, платить тем кто все еще за твои деньги тебе же не гадит, во всяком случае - старается в рамках, оставленных ему конь-ституцией и госмафией.

     
     
  • 4.110, AnonPlus (?), 22:02, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Бывают места, где никто, кроме мобильных операторов не даёт интернет. Но тебя там нет (впрочем, это хорошо).
     
     
  • 5.142, Аноним (-), 00:44, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Бывают места, где никто, кроме мобильных операторов не даёт интернет. Но тебя
    > там нет (впрочем, это хорошо).

    Алсо бывают еще всякие кафешки и прочие - и будет очень кстати если логины-пароли там все же не умыкнут. Даже если их вафельница и не шифрованая.


     
  • 2.122, Аноним (121), 00:17, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Кто-ж запрещает?
    А потом, когда поймёшь - добро пожаловать в волшебный мир айти.
     

  • 1.4, eee (??), 09:09, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    пармер джексона на коленке на сях пишется за полтора дня с перекурами, неужели не осилили? :)
     
     
  • 2.9, ННН (?), 09:15, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Перекурили
     

  • 1.5, Аноним (5), 09:10, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    В одном своём проекте тоже использовал самопальный разбор json на regexp-ах Да,... большой текст свёрнут, показать
     
     
  • 2.8, ННН (?), 09:14, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Самопальный разбор конечно же исследовался на безопасность, аудит провели?
     
     
  • 3.12, Х (?), 09:22, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вы еще про аудит dehydrated спросите.

    Работает - не трогай. Сиквел "Это же просто сертификат!" от автора блокбастера "Кто же меня атаковать будет?" и "Ничего там у меня такого нет!".

     
     
  • 4.15, пох. (?), 09:29, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы еще про аудит dehydrated спросите.

    весь смысл dehydrated именно в том, что он достаточно прост и мал для того, чтобы такой аудит был возможен (в отличие от навязываемой летсшиткриптой самообновляющейся поделки)

    А на практике вот - тысячеглаз не заметил даже такого ужаса, пока не сломалось.

    А афтырь (напомню - а то в новости это не одобрила цензура) - недавно успешно продал свой гуаноскрипт за бабки - и теперь у него, по его словам - "ой, совершенно нет времени, никак нет времени" - так что переделывать он будет... когда-нибудь никогда.

     
     
  • 5.71, Lex (??), 15:32, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так в том и соль, что регулярно, особенно сложные, едва ли запросто подвергаются аудитом и проверкам
     
     
  • 6.90, пох. (?), 16:56, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Так в том и соль, что регулярно, особенно сложные,

    этот вот был простой, а хрен ли толку? Тысячигласс, бл...

    А на практике за пол-года один глазастый и неленивый нашелся, да и то когда уже просто сломалось, а не в рамках рутинной проверки.

     
  • 3.26, Аноним (5), 09:45, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Своему коду я доверяю и придерживаюсь концепций безопасного программирования, а вот можно ли доверять чужому коду, в которому уже кучу дыр нашли....
     
     
  • 4.61, Аноним (117), 13:24, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Своему коду я доверяю

    Зря. Доверять нельзя никому, но уж себе — вообще ни в коем случае.

     
  • 3.143, Аноним (-), 00:46, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Самопальный разбор конечно же исследовался на безопасность, аудит провели?

    Использовалась инновационная^W баянная технология аудита "неуловимый Джо" :)

     
  • 2.39, OpenEcho (?), 10:10, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    True tool для хардкорных пацанов, которые не доверяют никому ;)
    https://github.com/diafygi/gethttpsforfree

    где JSON (JavaScript Object Notation) парсится нативным JavaScript

     
     
  • 3.45, пох. (?), 10:27, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > где JSON (JavaScript Object Notation) парсится нативным JavaScript

    в твоем браузере. Ну его, знаешь ли, нах.

    Но, если что - это тот же автор что acme-tiny. Который как раз действительно tiny, действительно позволяет аудитить глазками, и не содержит п-цов типа грепа по json. Минус, правда, есть - он тоже не работает с bypass.no ;-) Но это легко поправить.

     
  • 3.144, Аноним (144), 00:59, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > где JSON (JavaScript Object Notation) парсится нативным JavaScript

    Проблема в том что сабж актуален для автоматизации серверов. А ваше нечто - оно вообще для чего? Чтобы поднять сайт на 3 месяца - и потом забыть про него когда сдохнет неоплаченый сервак и протухший сертификат? :)

     
     
  • 4.146, OpenEcho (?), 09:26, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Проблема в том что сабж актуален для автоматизации серверов. А ваше нечто - оно вообще для чего?

    Например - протух сертификат (нормальный, двухгодовалый не халявный), а вы в отпуске, а дежурного админа найти не могут(проиграл в карты и его утопили, запил, проспал...) и нужно быстренько поставить что то временно взамен пока не вернешься с отпуска и купишь нормальный серт...

     

  • 1.11, Х (?), 09:20, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Против acme.sh этот dehydrated и правда слабоват.

    P.S. Господа из Битрикса запилили именно его старую версию в свою поделку bitrix_env.sh, и им получают серты - и одно время что-то там внутри сломалось, что серты не обновлялись. Думаете, был фикс со стороны Битрикса?

     
     
  • 2.14, 1 (??), 09:26, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что такое "Битрикс" ? И под какой лицензией он выпускается ?
    Если BSD - то и нафик не надо.
     
     
  • 3.145, Аноним (144), 01:00, 07/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Если BSD - то и нафик не надо.

    Круче, это нечто проприетарное. И кстати они додумались использовать xml-like с русскими названими тегов.

     
  • 2.33, OpenEcho (?), 10:01, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    acme.sh - это тот самый китаец, который думает что он лучше других знает как должен выглядеть конфиг nginx-a ?
     
     
  • 3.37, пох. (?), 10:07, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    ну я чота не понял - ты хотел автоматики или не хотел?
     
     
  • 4.40, OpenEcho (?), 10:12, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    чур чур от такой автоматики...
     
  • 4.41, OpenEcho (?), 10:16, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В том же обезвоженом есть хуки через которые можно reload nginx вообще без правки конфигов...
    И автоматика на месте и ключи обновились
     
     
  • 5.75, Аноним (75), 15:39, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    в acme.sh, внезапно, тоже так можно
     
  • 3.74, Аноним (75), 15:38, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не заставляет пользоваться китайским генератором конфига. Если его не просить - оно и не генерит.
     
  • 3.111, D (?), 22:27, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сдается, что вранье про nginx: конфиг писать он не пробует, так что не надо гнать волну.

    Зато работает давно и надежно, и это сильно плюс.

     

  • 1.18, Аноним (18), 09:39, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Использование JSON.sh мне видится хорошим решением, в идеале просто выдернуть оттуда нужные функции.

    > Автор новости: пох.

    Ладно.

     
     
  • 2.31, пох. (?), 09:54, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Использование JSON.sh мне видится хорошим решением

    а использование п-ца dehydrated после такого каминаута - тебе видится хорошим решением?

    Я в общем новость писал из соображений "бегите, глупцы!"

     
     
  • 3.35, Аноним (18), 10:05, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну dehydrated хотя бы легаси не использует в отличие от certbot с Python 2 в зависимостях. acme.sh остается правда.

    Да, то что он может в любой момент сломаться действительно фатально. Я думал переводить на него свой сервер с certbot , но теперь буду выбирать что-то другое или вообще дождусь пока certbot 2 питон выкинут.

    Жаль что на OpenWRT роутере сабж практически единственный вариант.

     
     
  • 4.38, пох. (?), 10:08, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да как бы ладно сломаться - но я что-то не уверен что он при такой квалификации автыря и подходе на от...сь не выполнит в один прекрасный день то, что должен был погрепать.

     
  • 4.47, OpenEcho (?), 10:28, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    acme.sh - ну если много смелости доверять скрипту который роется не в своих конфигах, чем он тогда луче чем certbot ?


    А если нужен не легаси питон, то: acme-tiny
    что то около 200 строк - вообще без всяких завиcимостей

     
     
  • 5.49, пох. (?), 10:48, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > acme.sh - ну если много смелости доверять скрипту который роется не в своих конфигах

    ну будь же мужыком, подсунь ему СВОЙ конфиг - не парсящийся твоим nginx, и пусть переписывает его до изумления ;-)

    > А если нужен не легаси питон, то: acme-tiny

    Вообще-то у него все в порядке с legacy - посмотри в первых строчках, как он обходит проблему с 2.7

    У него не все в порядке с тем что автор, кажется, забил х.й, или сделался вечноживой - хороший pr с dns-01 повис в воздухе, с bypass не работает потому что на самом деле нарушает протокол, ну и прочих issues там хватает, а автор похоже даже не читает их.

    Ну и там все ручками - ключ, csr, самостоятельно сохранить выхлоп.

    Что немного неудобно, если сайтов у тебя сотни - или придется уже свои обертки писать, в то время как acme.sh все это сделал бы за тебя, безобразно, зато единообразно.

     
  • 5.112, D (?), 22:29, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Да не трогает он твой конфиг, если не просить.

    Матчасть учи!

     
     
  • 6.125, OpenEcho (?), 02:29, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы правда думаете что я не читал документацию и вы открыли мне америку ???

    Зачем ВООБЩЕ трогать конфигурации сервисов использующих сертификаты?
    Достаточно переписать существующие сертификаты и все.

    Весь смысл секьюрности используя обезвоженного, acme.sh, acme-tiny - это генерировать сертификаты, не из под рута, которые можно аудитать самому. Если вы и тот чувак считает, что можно трогать ЧУЖУЮ конфигурацию, из под рута, то от чистого сердца - удачи вам обоим, если не догоняете элементарных основ безопасности...

     
     
  • 7.134, пох. (?), 12:19, 06/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Зачем ВООБЩЕ трогать конфигурации сервисов использующих сертификаты?

    а зачем еще и сам скрипт каждый раз автоматически обновлять, "из надежнейшего источника"?
    Пипл любит чтоб поменьше напрягать межушный хрящ.
    А что при этом открывается поле для интереснейших экспериментов - это до них не дойдет никогда.

    > Достаточно переписать существующие сертификаты и все.

    ну вообще-то тоже так себе идея.
    Даже у варианта с симлинками - потому что симлинк читается от рута потом, и может неожиданно оказаться не тем, чем ожидалось.

    Но никакой ручной аудит в случаях сотен сертификатов со сроком действия три дня невозможен, поэтому готовиться надо именно к такой работе :-(

    Или вот, может кому собачку на юге дефаултсити регулярно выгуливать надо? Да чорт с ним, с югом - в дефаулт сити, не уточняя, каком именно?

     

  • 1.20, Онаним (?), 09:39, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Dehygraded
     
     
  • 2.55, Gefest (?), 11:48, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Degraded
     

  • 1.24, Ilya Indigo (ok), 09:43, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > но исключительно в режиме dns-1

    Другого и не нужно! По другому *. не получишь.

     
  • 1.42, Аноним (42), 10:18, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    решение проблемы очевидно: четко описать в документации требуемый формат входных данных. В данном случае - то, что json должен быть правильно отформатирован.

    Не надо подсовывать юзеру незаменяемые костыли вроде JSON.sh. Юзер не дурак и сам разберется, благо задача тривиальная и инструментов куча. А для думающих, что юзер дурак, уже есть макось, винда, андроид и т.п.

     
     
  • 2.106, Ordu (ok), 20:48, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > решение проблемы очевидно: четко описать в документации требуемый формат входных данных.

    Он чётко описан: json

    > В данном случае - то, что json должен быть правильно отформатирован.

    Это дополнительное требование, если мы добавляем его к стандарту на json, то мы получаем другой стандарт.

    > Не надо подсовывать юзеру незаменяемые костыли вроде JSON.sh.

    Я тоже так считаю. sh должен научится поддерживать json из коробки. Это будет офигенным плюсом, потому как у sh вообще есть серьёзные проблемы безопасно работать с внешними данными -- внешние данные постоянный источник багов и дыр в шелл-скриптах. Поддержка же json позволит избавится если не ото всех граблей, которые башевский read раскладывает, то по-крайней мере от самых гнусных.

    Когда был моден xml, sh не повёлся на моду, и это обернулось к лучшему, потому как xml ужасен. Но json уже доказал себя как формат данных для межпроцессного взаимодействия. И со стороны sh глупо это игнорировать, поскольку весь sh построен на организации этого самого межпроцессного взаимодействия.

    Хотя, с другой стороны, sh -- это такая окаменелость, что туда уже ничего невозможно добавить. Единственный возможный выход -- выкинуть sh.

     
     
  • 3.132, КО (?), 08:19, 06/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >потому как xml ужасен.

    А ужасен он в первую очередь тем, что есть стандартный механизм проверки, что этот xml - тот что надо xml. Json же от рождения такого оверинжиниринга не предлагает. Поэтому сначала надо распарсить его отъев 4Tb оперативки, а только потом выяснить - подходит ли он тебе. :)

     
     
  • 4.133, Ordu (ok), 11:30, 06/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >>потому как xml ужасен.
    > А ужасен он в первую очередь тем, что есть стандартный механизм проверки,
    > что этот xml - тот что надо xml.

    Нет, он ужасен тем, что он весь целиком оверинжиниринг. Попытка адаптировать sgml под произвольные данные. Механизм проверки в целом полезен, но я не думаю, что этот механизм проверки отъедает меньше оперативной памяти, чем парсинг json: чтобы проверить xml на соответствие dtd тебе придётся распарсить xml. Другое дело, что тебе не придётся писать сложный код проверки, потому как есть библиотечный и ещё более сложный код для общего случая.

     

  • 1.43, Нанобот (ok), 10:18, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кто-то в интернете нашёл баг в какой-то программе. Охренеть новость
     
     
  • 2.50, пох. (?), 11:01, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Кто-то в интернете нашёл баг в какой-то программе.

    во-первых, не в какой-то, а в такой на которой держится безопастность приличной части того интернета. Во-вторых не баг а п-ц, причем полный. В-третьих ушло всего пол-года на то чтобы этот кто-то нашелся.

     
     
  • 3.51, suffix (ok), 11:13, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Кто-то в интернете нашёл баг в какой-то программе.

    Когда я на Хабре высказал своё мнение что нафиг LS ибо раз в три месяца менять руками сертифкат геморройно а ставить на сервер сторонние приблуды которые что-то откуда-то сами качают несекурно - меня кроме ещё одного параноика никто не поддержал :(


     
     
  • 4.65, foo (?), 13:45, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ничего, скоро и платные EV придется раз в три месяца обновлять :)
     
     
  • 5.67, пох. (?), 14:29, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да не будет уже никаких платных EV. Гугель лучше тебя (и лучше нотариусов) знает, правильный у тебя сертификат, или нет. А пользователю скоро даже после двадцати приседаний и включения ста отладочных флагов перестанут показывать "ненужную" ему информацию.

     
     
  • 6.84, foo (?), 16:29, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >да не будет уже никаких платных EV.

    В итоге, похоже, так и будет. Прекрасные времена.

     
  • 3.91, Аноним (91), 17:05, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Именно в какой-то. В первый раз об этом поделии слышу.
     
  • 3.116, Аноним (117), 23:32, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > во-первых, не в какой-то, а в такой на которой держится безопастность приличной части того интернета. Во-вторых не баг а п-ц, причем полный.

    П-ц был бы, если бы оно действительно как-то влияло на безопасность. Но оно не влияет.
    А теперь, внимание, вот это — п-ц полнее некуда:
    https://src.fedoraproject.org/rpms/dehydrated/blob/master/f/dehydrated.spec#_5

     
     
  • 4.118, пох. (?), 23:52, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Но оно не влияет.

    ты, конечно же, проверил?

    > https://src.fedoraproject.org/rpms/dehydrated/blob/master/f/dehydrated.spec#_5

    и в чем тебе померещилась проблема в этой строчке?

     
     
  • 5.119, Аноним (117), 00:02, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > ты, конечно же, проверил?

    Да, прикинь, я смотрел в код перед тем, как его использовать. И видел эту хрень с JSON. Дело было явно раньше, чем сабжевый баг был зарепорчен.

    > и в чем тебе померещилась проблема в этой строчке?

    Угадай. (Нет, у certbot не лучше, но у него by design, а тут просто раздолбайство майнтейнера.)

     
     
  • 6.120, Аноним (117), 00:13, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Дело было явно раньше, чем сабжевый баг был зарепорчен.

    А, нет, вру. В сентябре, кажись, это было.

     

  • 1.53, YetAnotherOnanym (ok), 11:28, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Жаль, Кристапс на переносимую версию своего клиента забил. Очень годная штука была.
     
     
  • 2.92, acmeclientportable (?), 17:23, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://github.com/graywolf/acme-client-portable
     
     
  • 3.113, YetAnotherOnanym (ok), 22:52, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > https://github.com/graywolf/acme-client-portable

    Пасиб.

     

  • 1.57, Аноним (57), 12:51, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    а чего так все возбудились? Найдена ошибка - исправлена. А у тру-админов, которые не мерзкие девопсы-системдос-юзеры, один вечер уйдет написать свой аналог скрипта. Это же просто скрипт, алло, таких по десятку на проде у вас!
     
     
  • 2.68, anonymous (??), 14:45, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а чего так все возбудились? Найдена ошибка - исправлена.

    Но-но-но. Здесь философский вопрос ставится - кто виноват? И то, что кто-то уже что-то поправил, не отменяет этого вопроса. Это вопрос столь же фундаментальный как вопрос борьбы добра и зла. Сервер и клиент - кто под кого должен прогибаться? Человечекочитаемый протокол или машиночитаемый - какой лучше? Зачем сложные стандарты передачи данных, если есть простые?

     
     
  • 3.69, Аноним (69), 15:22, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Только думать надо хотя бы на стадии принятия этого JSON во всех щелях. Не очень он и человекочитаемый. Почему бы не использовать 'key=value;key2=value2;...' формат по дефолту, не понятно.
     
     
  • 4.115, Аноним (108), 23:24, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Почему бы не использовать 'key=value;key2=value2;...' формат по дефолту, не понятно.

    Вполне понятно. Потому что он читается на порядок хуже, чем JSON.

     
     
  • 5.126, Аноним (117), 10:58, 04/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Для лучшей читаемости надо "key1=value1\nkey2=value2\nkey3=value3". И грепать намного удобнее.
     

  • 1.58, Аноним (58), 13:11, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > интеграция готового парсера на языке shell - JSON.sh.

    а слабО на csh/tcsh ??

     
     
  • 2.64, пох. (?), 13:44, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    а в чем проблема? Не все ли равно, из какого шелла egrep с sed'ом вызывать?

     

  • 1.66, Аноним (-), 14:25, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    пох
     
  • 1.86, Аноним (86), 16:34, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >When the "authorizations" list in the result contains multiple items with no spaces between them, the next for-loop doesn't work correctly because bash can't split on anything.

    Но это же некорректный подход? В JSON пробелы не играют значения, очень глупо полагаться на то, что они будут с пробелами или чем там ещё.

    То есть автор с самого начала неправильно решил обрабатывать JSON, что вылилось в текущую эпопею. Правильно?

     
  • 1.88, freehck (ok), 16:52, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Автор проекта dehydrated (проект недавно был продан компании Apilayer GmbH) согласился, что разбор JSON является большой проблемой, но добавлять внешние парсеры он не считает хорошей идеей, так как одним из ключевых достоинств скрипта является отсутствие привязки к внешним зависимостям.

    Передайте кто-нибудь автору, что отсутствие зависимостей -- нахрен никому, кроме него, не нужно. Развелось блин наркоманов.

     
  • 1.96, Аноним (96), 18:13, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Причина оказалась банальна: вместо того чтобы разбирать ответ в формате JSON по настоящему, автор dehydrated использовал особенность форматирования конкретного JSON-вывода от сервиса Let's Encrypt и выполнял разбор при помощи регулярного выражения.

    А что вы ещё хотели от баше...филов. Если что-то серьёзное сделано на баше, и особенно критичное к безопасности - значит автор этого альтернативно одарён и от него и его поделий надо держаться подальше.

    Есть пословица - you are only as good, as your tools. То есть, ты можешь сто раз всем доказывать, что ты умный как Фейнман, но пока ты используешь вилку, чтобы чистить унитаз, а туалетный ёрш - чтобы класть им в рот спагетти, в твой ум никто не поверит, да и до добра такое не доведёт.

     
     
  • 2.114, Аноним (108), 23:20, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Есть пословица - you are only as good, as your tools. То есть, ты можешь сто раз всем доказывать, что ты умный как Фейнман, но пока ты используешь вилку, чтобы чистить унитаз, а туалетный ёрш - чтобы класть им в рот спагетти, в твой ум никто не поверит, да и до добра такое не доведёт.

    Среди некоторых людей популярно мнение, что чем менее удобен инструмент, тем круче тот, кто им пользуется. Обычно это называют Unix philosophy.

     

  • 1.100, Аноним (100), 18:25, 03/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    LetsEncrypt вывод поменял без уведомлений. Это также может сказаться и на других не официальных клиентах.
     
     
  • 2.105, Аноним (117), 20:11, 03/07/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых, перечитай новость: ничего он не менял (пока). Во-вторых, имеет полное право менять без предупреждений, не нарушая спецификацию протокола.
    Ну и вообще
    >  The implementation of a protocol must be robust.  Each implementation
    >  must expect to interoperate with others created by different
    >  individuals.  While the goal of this specification is to be explicit
    >  about the protocol there is the possibility of differing
    >  interpretations.  In general, an implementation must be conservative
    >  in its sending behavior, and liberal in its receiving behavior.

    © Jon Postel, RFC791
    Let's Encrypt в этом отношении молодец, автор dehydrated — нет.

     

  • 1.123, Аноним (123), 00:51, 04/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Самопальный парсинг жсон это дно.
     
  • 1.124, Аноним (124), 02:12, 04/07/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Такое надо на питон писать
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру