URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 113960
[ Назад ]

Исходное сообщение
"Обновление Ruby 2.5.1 с устранением уязвимостей"

Отправлено opennews , 29-Мрт-18 13:37 
Выпущен (https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-5-1-rele.../) корректирующий релиз языка программирования Ruby 2.5.1 (https://www.ruby-lang.org/), в котором устранено шесть уязвимостей:

-  CVE-2017-17742 (https://www.ruby-lang.org/en/news/2018/03/28/http-response-s.../) - библиотека WEBrick подвержена подстановке фиктивного ответа через указание символов перевода строки в HTTP-заголовке;
-  CVE-2018-6914 (https://www.ruby-lang.org/en/news/2018/03/28/unintentional-f.../) - инициирование создания файлов и каталогов через указание символов "../" в имени префикса временного файла при использовании библиотек tempfile и tmpdir;
-  CVE-2018-8777 (https://www.ruby-lang.org/en/news/2018/03/28/large-request-d.../) - вызов отказа в обслуживании (израсходование доступной памяти) при обработке слишком большого HTTP-заголовка в WEBrick;
-  CVE-2018-8778 (https://www.ruby-lang.org/en/news/2018/03/28/buffer-under-re.../) - выход за нижнюю границу буфера при обработке специально оформленных данных в String#unpack;

-  CVE-2018-8779 (https://www.ruby-lang.org/en/news/2018/03/28/poisoned-nul-by.../) -  создание сокета в другом каталоге через указаие нулевого байта (\0) в пути, передаваемом в UNIXServer.open и UNIXSocket.open;

-  CVE-2018-8780 (https://www.ruby-lang.org/en/news/2018/03/28/poisoned-nul-by.../) - обработка иных каталогов в Dir.open, Dir.new, Dir.entries и Dir.empty при наличии нулевого символа в пути.

URL: https://www.ruby-lang.org/en/news/2018/03/28/ruby-2-5-1-rele.../
Новость: https://www.opennet.me/opennews/art.shtml?num=48350


Содержание

Сообщения в этом обсуждении
"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено X4asd , 29-Мрт-18 14:09 
ошибки уровня "дедсад познаёт POSIX API и базовые концепции HTTP"

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено пох , 29-Мрт-18 14:16 
какой детсад? ruby вышел из моды еще когда я хотя бы в трудовой писался "программистом"

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


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 29-Мрт-18 14:29 
https://ru.wikipedia.org/wiki/%D0%A8%D0%...

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 30-Мрт-18 11:04 
не путайте Руби с питоном и бейсиком

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 29-Мрт-18 14:18 
Новость отличная сама по себе, но наверняка будет гудение в комментариях, мол, опять про Ruby.

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

У Ruby есть свои задачи, которые он хорошо решает, и не надо, пожалуйста, сюда приплетить Rails -- это как судить про Python только по Django.


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено ыы , 29-Мрт-18 15:19 
А может количество Django и Rails-ов это всетаки показатель?
На php вон CMS как собак не резаных.. а у руби чего? рельсы?

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 29-Мрт-18 15:38 
Нет, не может. Это заблуждение, так как Rails является отдельным продуктом, его качество не означает качество языка: написать хорошо или плохо можно на *любом* языке.

У Ruby есть другие сильные продукты: Puppet, Foreman, Vagrant. Он прекрасен, как язык язык оркестрации и работы с текстовыми файлами, которым был Perl.

Могу дать простой совет: никогда не начинать учить/знакомиться с Ruby через Rails, тогда парадигма восприятия будет совсем иной.


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Солнышко , 29-Мрт-18 17:50 
Перечислите, пожалуйста, задачи, которые хорошо решает Ruby

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 29-Мрт-18 18:15 
Например:

1. Работа с текстовыми файлами. Да, в 2018 это до сих пор нужно, раньше это делали через Perl, сейчас это делают либо на Python, либо на Ruby. Первый - тонны конвеншенов и бойлерплейта, несоответствий ООП-принципу, всего этого нет во втором. Именно удобнее, потому что есть такие вещи как полноценный юникод, pack/unpack, итераторы и один из самых мощных regexp-движков onigma, в этом плане разве что Java круче.

2. Оркестрирование - Puppet, Chef, Vagrant, Foreman все они написаны на Ruby за счёт полноценного, стройного ООП и удобства работы с классами, строгим scope, отсутствием траты значительных ресурсов при обновлении версии языка (даже портирование с 1.9 на 2.4 не вызывает значительных проблем).

3. Системные скрипты и обёртки, за счёт наличия удобных библиотек по IO, HTTP (HTTParty), GPGME, работы с процессами/тредами.

4. Прототипирование - быстрый наброс прототипа, который, например, потом будет написан на Go для большей портативности.

5. Мокапы и временные заглушки - опять же, удобные вещи вроде WEBrick, HTTParty и других в"ысокоуровневых" вещей.

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


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено _ , 29-Мрт-18 18:47 
>1. Работа с текстовыми файлами. Да, в 2018 это до сих пор нужно, раньше это делали через Perl, сейчас это делают либо на Python, либо на Ruby.

Или всё ещё на Перле. Или awk\sed. Или js. Или <впиши свой Ёзыг> ...
Для рябчиков замедленных в развитии - нынче даже Fortran это делает. Ага - сам ржал, но оно в стандарте теперь.
Впрочем, вам хвастаться-то больше нечем, так что да - Работа с текстовыми файлами конёк рябы! :-)

>2. Оркестрирование - Puppet, Chef, Vagrant, Foreman все они написаны на Ruby

И кроме чифа для оперов и вагранта для девок - нафиг никому ненужны!
Соль _не_ на рябе, Ансибл - вообще на Питоне - а он в РХ, а значит скоро у всех у нас.

>3. Системные скрипты и обёртки, за счёт наличия удобных библиотек по IO, HTTP (HTTParty), GPGME, работы с процессами/тредами.

Это в 21 веке есть в любом языке! Только рябу со всеми потрохами надо самому ставить. А тот же питон - уже в системе. Так что - лесом.

>4. Прототипирование - быстрый наброс прототипа, который, например, потом будет написан на Go для большей портативности.

Перестань нюхать клей. Я серьёзно.

>5. Мокапы и временные заглушки - опять же, удобные вещи вроде WEBrick, HTTParty и других в"ысокоуровневых" вещей.

Ладно - уговорил! Рябе - _идеальный_ язык для затычек! Я правильно тебя понел? :-)

>но наличие пула инструментов, которые сделаны на Ruby и работают, отрицать нельзя. Попробуйте.

А чего ты думаешь народ злой такой на ваших?! Попробовали.
Специально для вас (Я ГАРАНТИРУЮ ЭТО!(С)ЛОР) - придумали и сделали Докер. Ибо программы на рябе _до_сих_пор_ работают только на машине программиста :-(


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 30-Мрт-18 08:26 
Да в целом, правильно. Руби хорош именно гибким синтаксисом и возможностью создавать на нём специализированные языки предметной области, которые, для не знающих Руби, будут казаться специально разработанными под них. Да и возможности создавать эти языки программирования (DSEL) на локальных языках - само по себе существенное преимущество именно Руби.

class Numeric
  def куб
    self * self * self
  end
end

Math::PI.куб # => 31.006276680299816
3.куб # => 9


module Enumerable
  def Σ
    reduce(:+)
  end
end
(1..5).Σ # => 15


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено _ , 29-Мрт-18 18:30 
> Перечислите, пожалуйста, задачи, которые хорошо решает Ruby

Он хорошо раннит Rails! Всио. :-)


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Некто с Марса , 29-Мрт-18 17:19 
Я не пользуюсь ruby, но иногда поглядываю. Некоторые библиотеки там отличные.
Начинающим программистам было бы неплохо посмотреть на mechanize, shoez или fxruby. Некоторым может понравиться. Особенно после джавки.

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено _ , 29-Мрт-18 18:29 
>Я не пользуюсь ruby, но иногда поглядываю.

Какая редкость! :)
>Некоторые библиотеки там отличные.

Да. Рельсы. Остальное - онищщще.
>Начинающим программистам было бы неплохо посмотреть на mechanize, shoez или fxruby.

Начинающим программистам надо держаться от ребе как можно дальше. Как доктор говорю.
>Некоторым может понравиться. Особенно после джавки.

Это может понравится только после Перла, да и то ...


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Некто с Марса , 29-Мрт-18 19:32 
>Да. Рельсы. Остальное - онищщще.

Про рельсы как раз не могу сказать ничего. А про fxruby  могу сказать пару тёплых слов. Маленький GUI с отполированными виджетами.Видел ещё с пяток вкусняшек.
>Начинающим программистам надо держаться от ребе как можно дальше. Как доктор говорю.

Доктор, здесь не больничка и не поликлиника. И речь тут немного не про грипп или насморк.  А всего лишь про яп.


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено anonymous , 30-Мрт-18 11:47 
Я писал на Ruby довольно долго перед тем как свалить в функциональщину. Очень даже помогает на практике отполировать основы. А дальше можно валить хоть в Lisp, хоть в Haskell. Ведь к этому моменту будет понимание функций высшего порядка, того что всё является выражением, да и иммутабельность довольно популярна в Ruby-сообществе.

"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Некто с Марса , 30-Мрт-18 16:41 
Совершенно верно. Ruby позволяет  новичкам увидеть современные средства программирования. Добавлю сюда ещё такие уже привычные всем итераторы, генераторы(enumerated classes) и замыкания.
Некоторые API довольно элегантны и лаконичны. Так что польза от него есть.
Но ограничения языка тоже нужно принимать в расчёт. Это я про  многопоточность и производительность в первую очередь.


"Обновление Ruby 2.5.1 с устранением уязвимостей"
Отправлено Аноним , 30-Мрт-18 18:51 
Для новичков Руби совсем не годится. В него имеет смысл идти после хотя бы базового понимания других императивных языков.

В смысле, использовать его можно и новичками, но в форме DSL. А вот серьёзно влезать программировать, лучше уже имея опыт. И уж явно, не для школы этот язык.

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