The OpenNET Project / Index page

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

29.05.2017 09:55  Подведены итоги аудита кода библиотеки GNU libmicrohttpd

Проект GNU опубликовал выпуск библиотеки libmicrohttpd 0.9.55, представляющей простой API для встраивания функциональности HTTP-сервера в приложения. Библиотека поддерживает протокол HTTP 1.1, TLS, инкрементальную обработку POST-запросов, basic- и digest-аутентификацию, IPv6, SHOUTcast и различные методы мультиплексирования соединений (select, poll, pthread, thread pool). Среди поддерживаемых платформ: GNU/Linux, FreeBSD, OpenBSD, NetBSD, Android, macOS, Win32, Symbian и z/OS.

Выпуск примечателен исправлением недоработок, выявленных в результате аудита безопасности кодовой базы, проведённого компанией Least Authority в рамках инициативы Mozilla по аудиту важных открытых проектов. В ходе аудита были выявлены четыре проблемы, одна из которых отнесена к умеренно опасным уязвимостям, две к неопасным и одна помечена как замечание. Из проблем отмечается использование функции форматирования строки sprintf без явного указания размера буфера (например sprintf(buf, "%s", str)), а также функции strcpy, вместо которых следовало применять snprintf и strncpy. Также выявлены проблемы с обращением к файловому дескриптору до его инициализации при сборке в режиме "-Wall" и обработкой заголовков с пробелами, которые должны отбрасываться в соответствии с требованиями RFC 7230.

Из не связанных с безопасностью изменений отмечается устранение проблем со сборкой на Linux-системах без поддержки epoll, обеспечение поддержки опции MHD_OPTION_STRICT_FOR_CLIENT и информационной переменной MHD_CONNECTION_INFO_REQUEST_HEADER_SIZE, проведение чистки от устаревшего кода и оптимизация определения закрытия соединения keep-alive.

  1. Главная ссылка к новости (http://www.mail-archive.com/in...)
  2. OpenNews: Компания Mozilla выделила 365 тысяч долларов на гранты открытым проектам
  3. OpenNews: Компания Mozilla представила проекты, получившие гранты в третьем квартале 2016 года
  4. OpenNews: Компания Mozilla распределила 585 тысяч долларов на гранты открытым проектам
  5. OpenNews: Библиотека на Си для встраивания HTTP сервера в приложения
Лицензия: CC-BY
Тип: Программы
Ключевые слова: moss, libmicrohttpd
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.3, Аноним (-), 10:31, 29/05/2017 [ответить] [показать ветку] [···]    [к модератору]
  • –4 +/
    Не очень понятно, зачем это Мозилле, они используют эту библиотеку где-то? Тут же HTTP 1.1 только?
     
  • 1.5, Аноним (-), 11:17, 29/05/2017 [ответить] [показать ветку] [···]    [к модератору]
  • +3 +/
    Мозилле бы "заморозить" Firefox на время, чтобы исправлять только ошибки безопасности. А сейчас у них килотонны нового кода каждый релиз
     
     
  • 2.15, Аноним (-), 17:18, 29/05/2017 [^] [ответить]     [к модератору]
  • –2 +/
    Я прочел килотонны нового кода как килотонны гоWнокода ибо так читается быст... весь текст скрыт [показать]
     
  • 2.24, AlexYeCu_not_logged (?), 21:55, 29/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    >Мозилле бы "заморозить" Firefox на время

    Поздно.

     
  • 2.26, Аноним (-), 22:45, 29/05/2017 [^] [ответить]    [к модератору]  
  • +/
    Разве двиг хтмл и жс не заморожен?
     
  • 1.6, Аноним (-), 11:46, 29/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    А, это та читалка логов systemd по http, которой никто никогда не пользовался
     
  • 1.7, Аноним (-), 11:48, 29/05/2017 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Объясните простому студенту: разве не весь нормальный софт должен собираться с -Wall без предупреждений?
     
     
  • 2.8, A.Stahl (ok), 11:51, 29/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Софт может (а некоторый и не может), но не должен. Отношение "должен" к софту вообще не применимо.
     
  • 2.11, Аноним (-), 12:55, 29/05/2017 [^] [ответить]     [к модератору]  
  • +5 +/
    Соберёшь одним компилятором без предупреждений, а следующая версия уже десяток в... весь текст скрыт [показать]
     
  • 2.13, nobody (??), 15:06, 29/05/2017 [^] [ответить]     [к модератору]  
  • –6 +/
    Нет Варнинги, потому и варнинги, что может быть ошибкой, а может и нет Также н... весь текст скрыт [показать]
     
     
  • 3.22, key (??), 21:09, 29/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    > Нет. Варнинги, потому и варнинги, что может быть ошибкой, а может и
    > нет. Также немало предупреждений - вкусовщина.
    > -Wall - это время от времени посмотреть и обдумать предупреждения. Постоянно с
    > этим компилировать - сумасшествие

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

    А когда в солидных отраслевых библиотеках идет ругань про приведение типов это мягко говоря не красиво(пускай и в варнингах).

     
     
  • 4.27, Evgeny (??), 22:48, 29/05/2017 [^] [ответить]     [к модератору]  
  • +2 +/
    А теперь вспомним, что библиотека кросс-платформенная и собирается некоторым кол... весь текст скрыт [показать]
     
     
  • 5.28, Аноним (-), 23:01, 29/05/2017 [^] [ответить]     [к модератору]  
  • +/
    Если говорить о ругани на неявное приведение типов, о которой говорилось выше, т... весь текст скрыт [показать]
     
     
  • 6.29, Evgeny (??), 23:11, 29/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > Если говорить о ругани на неявное приведение типов, о которой говорилось выше,
    > то никаких специфичных для компилятора директив не требуется. Замену на явное
    > приведение с удовольствием проглотит любой компилятор.

    Это не случай libmicrohttpd.
    Но, кстати, тоже не очень показательно - опять-таки, на разных платформах - разные размеры у типов данных. Когда-то один больше, когда-то другой. Что к чему приводить в случае сравнениях "x > y"?

     
  • 2.14, Нанобот (ok), 17:05, 29/05/2017 [^] [ответить]    [к модератору]  
  • –2 +/
    вот представь себе ситуацию: сделал ты программку с этим твоим -Wall. и выложил куда-то. её скачали и начали компилировать всякие сомнительные личности, у каждой из них свой компилятор со своим виденьем того, где нужно предупреждения предупреждать, где не нужно. и в результате вполне рабочий код у половины не компилируется. замучаешься исправлять ошибки компиляции на ровном месте.
     
     
  • 3.19, Аноним (-), 20:52, 29/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Тебе же не предлагают ещё и -Werror включать по умолчанию.
     
  • 3.31, Michael Shigorin (ok), 10:34, 30/05/2017 [^] [ответить]    [к модератору]  
  • +/
    > вот представь себе ситуацию: сделал ты программку с этим твоим -Wall.
    > [...] в результате вполне рабочий код у половины не компилируется.

    Если говорить о сочетании -Wall -Werror, то (прошвырнувшись быстро по тому, что под рукой) некоторые апстримы вроде zstd, libmikmod или slocate такое практикуют (а в альте это довольно распространённая практика -- чинить -Wall и включать -Werror; но это всё-таки про более узкое сочетание компиляторов и платформ, конечно).

     
  • 2.16, Аноним (-), 17:21, 29/05/2017 [^] [ответить]    [к модератору]  
  • +1 +/
    Качественный и законеченный - да. А уже качественный, но еще развивающийся может выдавать несущественные предупреждения.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


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