LINUX.ORG.RU

Исправления безопасности в языке Go

 ,


0

5

Go — язык программирования с открытым исходным кодом.

Вчера вышли версии 1.11.3 и 1.10.6, где закрыты три недавно обнаруженные проблемы безопасности.

Изменения:

  • устранена возможность удаленного выполнения команд с использованием команды go get -u;
  • исправлена уязвимость выхода за пределы каталога, позволявшая внедрять вредоносные файлы;
  • устранена возможность тратить вычислительные мощности, загружая в crypto/x509 цепочки сертификатов неограниченной длины.

>>> Подробности



Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 2)
Ответ на: комментарий от WitcherGeralt

hugo — это любимый инструмент чтобы нафигачить визитку на готовом шаблоне

FIXED

Для нормального статик генератора он слаб. Кроме маркдауна и html-шаблонов по сути ничего не поддерживается. Как минимум еще нужен sass/less. А для комфортной работы, нужно чтобы плагины можно было легко написать, в пару строчек. Это всё требует python, ruby или node. Кстати, официальный snap идет c питоном и нодой

Deleted
()
Ответ на: комментарий от Deleted

Не муди, фрилансеру дали несколько картинок и текста, сказали запилить одностраничник, херак херак на hugo и готово, да ёщё и выглядит нормально.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Эдакий Joomla для отсталых. С отной стороны так-же неудобно менять верстку. С другой стороны оно даже не CMS. Так что секретарша не сможет сама вбить фальшивые отзывы или добавить новость. Непонятно откуда

Deleted
()
Ответ на: комментарий от Deleted

Кроме маркдауна и html-шаблонов по сути ничего не поддерживается. Как минимум еще нужен sass/less.

Это было бы недостаточно монолитно для Go.

tailgunner ★★★★★
()
Ответ на: комментарий от Deleted

Иначе столько проектов на Go бы просто не было, и еще больше не стартовало бы

Понятно почему валят с питона и пхп на го. Запарились таскать нитерпретатор в каждом контейнере и ооочень запарились с однопоточностью. Ради такого можно закрыть глаза на минусы go. Но неприязнь, связанная с примитивностью языка есть и будет только нарастать со становлением Swift, C# и Rust

Deleted
()
Ответ на: комментарий от Deleted

Но неприязнь, связанная с примитивностью языка

Примитивность языка вызывает не неприязнь, а искреннюю любовь. Ибо KISS.

anonymous
()
Ответ на: комментарий от anonymous

Правильно. Зачем делать обобщенное программирование в языке, когда в любом дистре есть gnu m4. Обобщай сколько душе угодно

Deleted
()
Ответ на: комментарий от vertexua

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

bread
()
Ответ на: комментарий от Deleted

Как минимум еще нужен sass/less.

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

bread
()
Ответ на: комментарий от bread

Просто целая куча разных по целям проектов гордо обзывает себя static site generator. От специфических автогенераторов покументации по конкретным ЯП до совсем странных штук

Deleted
()
Ответ на: комментарий от te111011010

Так

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

DukeNukem
()
Ответ на: комментарий от Deleted

Да сиди. М4 - убожество, каких поискать. Нравиться считать скобки, пиши на Лиспе. Нравиться gcc -E? Кю. В том то и проблема, что всегда найдутся программисты, которые «точно знают как правильно», пока мамка готовит. В Go нарочно сделано всё так, чтобы они шли лесом и не мешали работать. Нравиться арифметика указателей? Here you are

var (
    t [10]int64
    p = &t[0]
)
// shift
p = (*int)(unsafe.Pointer(uintptr(unsafe.Pointer(p))+8))
И сборщик мусора тут не при чём. Это просто не нужно.

anonymous
()
Ответ на: комментарий от anonymous

М4 - убожество, каких поискать

Я как-бы это и написал

Нравиться считать скобки, пиши на Лиспе

Нравится копипаста или рантайм-рефлексия типов, пиши на Go

Deleted
()
Ответ на: комментарий от Deleted

sass/less для неосиляторов css и нормального проектирования

anonymous
()
Ответ на: комментарий от anonymous

PostCSS и прочий css-in-js это история прежде всего про изоляцию стилей в компонентах. Для статических сайтов PostCSS не в тему. На сгенеренных страницах конечно могут быть React-компоненты со своими стилями, но это отдельная история

На голом CSS писать больно. Можно сколько угодно хорохориться, но на LESS все-равно будет в разы проще

Deleted
()
Ответ на: Так от DukeNukem

Спецификация языка (то бишь его синтаксис)

Нет

находится в открытом доступе

Уникальная фича!

anonymous
()
Ответ на: комментарий от Deleted

Копипаста для тех кто не умеет в интерфейсы. Собственно интерфейсы и есть задумка, которая тщательно игнорируется перебежчиками со всяких захламлённых языков, типа Си++ и так далее. Им, видети ли не уютно.

Кстати, если тип X имплементирует интерфейс Y и в этом пакете используется каст X -> Y, то это оптимизируется компилятором и переживать о лишних тактах процессора нет смысла.

Я уже не говорю, про cross-package in-lining, который в Си решается пиханием кода в голову. Как и в плюсах. Э - экосистема.

kostyarin_ ★★
()
Ответ на: комментарий от kostyarin_

Копипаста для тех кто не умеет в интерфейсы

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

Я уже не говорю, про cross-package in-lining, который в Си решается пиханием кода в голову. Как и в плюсах. Э - экосистема

Зачем ты сравниваешь современный язык с Языками Древности?

Deleted
()
Ответ на: комментарий от kostyarin_

Я уже не говорю, про cross-package in-lining

Капец инопланетная технология.

который в Си решается пиханием кода в голову

Или LTO.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

LTO - это та самая штука, которая при компиляции Linux kernel хавает 4-9GB оперативы. LTO - это та самая штука, из-за которой Firefox перешли на LLVM. Судя по всему, не хватило памяти. LTO - это когда у тебя дешёвая работа, на которой ты хочешь поспать под предлогом «компилируется». Я уже молчу про то, что нагружать компиляцией с LTO, какой-нибудь открытый CI сервер просто не прилично.

Скорость компиляции имеет значение, как и затрачиваемые ресурсы.

anonymous
()
Ответ на: комментарий от anonymous

Никто не использует lto в процессе разработки кода, эта штука чисто для релиза. А открытыми CI серверами пользуются нищеброды у которых нет своего железа, ты же знаешь.

annulen ★★★★★
()
Ответ на: комментарий от Deleted

Судя по всему ты просто ещё не успел постичь всю гибкость интерфейсов. И не пишешь тесты.

anonymous
()
Ответ на: комментарий от annulen

Открытые CI для значка build pass, для тех, кто использует твой опен-сорц проект, и для тех, кто является контрибутором. Может у тебя и есть железо, а у других коммитеров его может и не быть.

Можно не использовать LTO, но тогда и не использовать CI. Иначе никак. Может ты очень сильно веришь в компилятор, вот только кого это волнует? Вопросы веры - личное дело каждого.

anonymous
()
Ответ на: комментарий от anonymous

Можно не использовать LTO, но тогда и не использовать CI

Ппц логика

annulen ★★★★★
()
Ответ на: комментарий от anonymous

Может у тебя и есть железо, а у других коммитеров его может и не быть

В этом и смысл CI - стоит сервер, скажем с агентом билдбота или дженкинса, и собирает поддерживаемые конфигурации. Сколько надо оперативки для сборки, столько в нем и стоит

annulen ★★★★★
()
Ответ на: комментарий от anonymous

LTO

Linux kernel

Firefox

А ты написал на Go Linux kernel? Или Firefox?

Скорость компиляции имеет значение,

Многие другие вещи тоже имеют значение. Более важно.

tailgunner ★★★★★
()

Исправления безопасности в языке

то язык у них с «отктрытым кодом», то «безопасность языка» какая-то. я всегда подозревал, а теперь уверен, что основная масса идиотов от программирования ломится на подобные вещи, как мухи на сами-знаете-что.

anonymous
()
Ответ на: комментарий от annulen

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

kostyarin_ ★★
()
Ответ на: комментарий от Deleted

А как телеметрия влияет на безопасность? Это же вопросы privacy.

Сторонних людей (разработчика и тех кому он готов эту информацию передать) не должно волновать что у меня на сервере раздаётся по https-протоколу между мной и моими клиентами.

sekreti-gollivuda
()
Ответ на: комментарий от sekreti-gollivuda

Сторонних людей (разработчика и тех кому он готов эту информацию передать) не должно волновать что у меня на сервере раздаётся по https-протоколу между мной и моими клиентами.

Это не отвечает на вопрос «А как телеметрия влияет на безопасность?», но подтверждает сказанное мной далее «Это же вопросы privacy.».

Deleted
()
Ответ на: комментарий от Deleted

Безопасность это не только взлом сервера хакерами. Расширь понятие безопасности: безопасность бизнеса, безопасность жизни.

Ты выкладывай свои полные паспортные данные. Раз ты такой открытый человек и всем доверяешь.

sekreti-gollivuda
()
Ответ на: комментарий от sekreti-gollivuda

У тебя в голове смешиваются разные понятия, исходя из чего ты делаешь неверные выводы.

Ты выкладывай свои полные паспортные данные. Раз ты такой открытый человек и всем доверяешь.

А это как-то совсем не в тему.

Deleted
()
Ответ на: комментарий от Deleted

Что ты из себя строишь. Безопасности не может быть без защиты privacy. Ты пытаешься отделить эти два понятия как будто бы privacy это ерунда. С тебя скан паспорта.

sekreti-gollivuda
()
Ответ на: комментарий от sekreti-gollivuda

Ты пытаешься отделить эти два понятия как будто бы privacy это ерунда.

Ничего подобного «privacy — это ерунда» я не говорил.

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

Deleted
()

Это правда, что в Go до сих пор нельзя распарсить json / использовать хешмапу?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.