The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от opennews (??) on 02-Ноя-16, 23:49 
Представлена (https://curl.haxx.se/mail/archive-2016-11/0006.html) новая версия утилиты для организации выборки данных по сети - cURL 7.51.0 (http://curl.haxx.se/), предоставляющей возможность гибкого формирования запроса с заданием таких параметров, как cookie, user_agent, referer и любых других заголовков. cURL поддерживает HTTP, HTTPS, HTTP/2.0, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP и другие сетевые протоколы. Одновременно вышло обновление параллельно развиваемой библиотеки libcurl, предоставляющей API для задействования всех функций cURL в программах на таких языках, как Си, Perl, PHP, Python.


Новый выпуск примечателен (https://curl.haxx.se/changes.html#7_51_0) устранением 11 уязвимостей (https://curl.haxx.se/mail/archive-2016-11/), некоторые из которых могут привести к записи за границу буфера, обращению к уже освобождённым блокам, повторному вызову функции free(), подстановке cookie для других серверов, неверной обработке спецсимволов в доменом имени. Из новых возможностей отмечается поддержка дополнительных наборов шифров в CURLOPT_SSL_CIPHER_LIST и добавление опции CURLOPT_KEEP_SENDING_ON_ERROR (https://curl.haxx.se/libcurl/c/CURLOPT_KEEP_SENDING_ON_ERROR...), при установке которой curl продолжит отправку тела запроса после получения ответа с кодом возврата 300 и выше.

URL: https://curl.haxx.se/mail/archive-2016-11/0006.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=45419

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 02-Ноя-16, 23:49 
> некоторые из которых могут привести к записи за границу буфера, обращению к уже освобождённым блокам, повторному вызову функции free(), подстановке cookie для других серверов, неверной обработке спецсимволов в доменом имени

При Rust такого не было!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +3 +/
Сообщение от Аноним (??) on 03-Ноя-16, 00:04 
А чё вдруг стало с Rust'ом? Помер? Закрыли?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

7. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –5 +/
Сообщение от Аноним (??) on 03-Ноя-16, 09:58 
Помер. Ещё до рождения. Сейчас родители этот трупик наряжают в детские костюмчики, читают ему Маршака, возят в коляске гулять. Но нормальные люди, когда видят их, переходят на другую сторону улицы. На всякий случай.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +3 +/
Сообщение от Аноним (??) on 03-Ноя-16, 08:45 
C - кросплатформерный ассемблер. Асма позволяет что угодно и куда угодно записать, потому и и С делает то, что ты ему говоришь. А эти ваши расты - хипстота.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

15. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Comdiv (ok) on 03-Ноя-16, 22:59 
Это, кстати, миф, потому-то Си и требует различных расширений под каждую платформу.
Для многих оказывается сюрпризом, когда их программа на "высокоуровневом ассемблере", валится на другой платформу из-за, к примеру, непригодного выравнивания или просто из-за других размерностей целых, пусть и в большую сторону. Второе несоответствие ассемблеру - это оптимизации современных компиляторов, изменяющих изначальную программу, порой, до неузнаваемости. Ассемблеры так не поступают.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

16. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 04-Ноя-16, 09:28 
Это не миф, ты просто буквально понял "кросплатформерный ассемблер". Ясен хер банальной перекомпиляцией под другую платформу софт  просто так не заработает, нужна куча #ifdef'ов ASM'ов. Смысл в том, что из всех высокоуровневых языков - С самый низкоуровневый. Если ты говоришь ему ч/з memcpy скопировать что-то куда-то, то кто он такой, чтоб тебе запрещать? Всякие сраные IZEN`ы этого не понимают. И именно поэтому 99.99999% всех операционок написано именно на нём - потому что офигенно безграничные возможности, только проц может тебя ограничить (page fault, например).
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Comdiv (ok) on 04-Ноя-16, 10:45 
>Если ты говоришь ему ч/з memcpy скопировать что-то куда-то,
>то кто он такой, чтоб тебе запрещать?

Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки. Во-вторых, компилятор может даже не запретить, а поступить хуже - молча выкинуть его, если посчитает, что он не нужен.
Нет, конечно, если назвать что угодно чем угодно и сказать, что надо понимать не буквально, а метафизически, то можно подогнать под любоё понятие при желании. Если же разобраться, то применительно к Си понятие "переносимый ассемблер" больше похоже на рекламный лозунг.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от angra (ok) on 04-Ноя-16, 11:50 
> Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки.

И что из этого следует?


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

Оптимизации вообще-то можно не включать.


> Если же разобраться, то применительно к Си понятие "переносимый ассемблер" больше похоже на рекламный лозунг.

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


Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

22. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Comdiv (ok) on 04-Ноя-16, 16:46 
>> Во-первых, на некоторых платформах нет memcpy как и остальной части стандартной библиотеки.
> И что из этого следует?

Что это не переносимый ассемблер.

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

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

> Разве что для того, кто не умеет писать на С и не
> способен посмотреть на список платформ и основной язык линукса(ядра),

Вот, что пишет Ваш коллега:
>>Ясен хер банальной перекомпиляцией под другую платформу софт
>>просто так не заработает, нужна куча #ifdef'ов ASM'ов.

..
> после чего сделать правильный вывод.

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


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

24. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 04-Ноя-16, 21:56 
> Что это не переносимый ассемблер.

Таки чистая математика переносится без изменений. А у тебя есть вакие-то варианты лучше?

> Далеко не всегда, потому что без них программа может и не завестись.

Если руки из плеч и голова на месте - все там работает. Но ты можешь показать варианты лучше, если сможешь.

> На ассемблере всё заведётся и ничего не выкинется.

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

> Никто не запрещает верить рекламным лозунгам.

Ну ок, рекламщик сам признался.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

26. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Led (ok) on 04-Ноя-16, 22:03 
> На ассемблере программу придется целиком переписывать под каждый вид процессоров, с ноля.

Не только. даже для одного и того же вида процессора, умеющего переключаться BE/LE.
Или даже для одного и того же эндиана, но разных ОС с разными ABI.
Или даже для одного и того же эндиана и ОС, но с разными вариантами ABI.

Но тупому вендузоеду мы же ничего не докажем:)

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

28. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 04-Ноя-16, 22:19 
> Не только. даже для одного и того же вида процессора, умеющего переключаться BE/LE.

На си вызывать функции с разными ABI тоже можно подолбаться, хотя для переключения режимов arm <-> thumb более-менее подкостылили. Желающие переключать endianess в рантайме мне не попадались вообще. А на портабельность IO конечно внимание придется обратить, но это не особо сложно, да и способствует пониманию того что по факту представляют собой данные и как их логично, компактно, эффективно и портабельно сохранять на диск (слать в сеть, ... ).

> Но тупому вендузоеду мы же ничего не докажем:)

Он если хочет может писать прошивки для мк на голом ассемблере. А я буду внаглую реюзать код между разными оружениями пока он тут бубнит.

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

31. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Comdiv (ok) on 04-Ноя-16, 23:04 
>Не только. даже для одного и того же вида процессора

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

Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

39. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –3 +/
Сообщение от Аноним (??) on 05-Ноя-16, 00:59 
> Уже есть проблеск мысли, но опять мимо, ибо поддакивание не понявшему суть.
> Продолжайте позориться.

ИМХО позор - это когда утята крякают на си что зелен виноград, но напрочь забывают предложить хоть какие-нибудь варианты которые были бы хотя-бы настолько же портабельны. Ты уже можешь на этом своем rust писать фирмварь для мк и прочие начальные загрузчики?

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

45. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 01:44 
Позор - это встревать в дискуссию, ничего не поняв. Никто не предлагает заменять "священный грааль" на Rust, речь сугубо о рекламных заблуждениях.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

47. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 05-Ноя-16, 16:44 
> Позор - это встревать в дискуссию, ничего не поняв. Никто не предлагает
> заменять "священный грааль" на Rust, речь сугубо о рекламных заблуждениях.

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

Ответить | Правка | ^ к родителю #45 | Наверх | Cообщить модератору

50. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 21:53 
Где Вы увидели рекламу Rust у меня? В рассказе о том, что Си - это не "переносимый ассемблер"?

Я повторю.
> Позор - это встревать в дискуссию, ничего не поняв

Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

32. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 04-Ноя-16, 23:10 
>> Что это не переносимый ассемблер.
> Таки чистая математика переносится без изменений.

1. Никогда не сталкивались с отсутсвием floating-point?
2. При чём тут ассемблер?

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

На микроконтроллерах может не хватить мощи. Без оптимизаций компиляторы нередко выдают отвратный код.

> На ассемблере программу придется целиком переписывать под каждый вид процессоров, с ноля.

Речь не о том, что надо писать на ассемблере, а о том, что Си - это не "переносимый ассемблер". Из контекста не надо выпадать

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

35. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 05-Ноя-16, 00:17 
> 1. Никогда не сталкивались с отсутсвием floating-point?

Сталкивались. И чего? Если FPU нет то вариантов немного: сэмулировать его или не использовать в программе плавучку. У благородного дона есть какие-то иные варианты?

> 2. При чём тут ассемблер?

При том что си можно гонять в этаком режиме портабельного ассемблера. Не так уж принципиально написать a+=b; или add r1, r2. Только первый вариант соберется под любой процессор, а второй - только под процессор у которого есть r1 и r2 и синтаксис ассемблера именно такой.

> На микроконтроллерах может не хватить мощи.

И тогда програмер идет оптимизировать код. Или берет мк помощнее. А знаешь, у STM32F4xx и аппаратная плавучка есть, и частоты приличные по меркам МК, и интерфейс внешней памяти есть, памяти можно навесить немеряно, и MPU ("MMU lite") и вообще, какие-то извращенцы поддержку в mainline ядро Linux аж запилили.

> Без оптимизаций компиляторы нередко выдают отвратный код.

Ты знаешь, gcc очень прилично оптимизирует под Cortex M, легко подпирая конкуренцией коммерческие тулсы. И флаги оптимизации там такие же как и для других процессоров.

> что Си - это не "переносимый ассемблер". Из контекста не надо выпадать

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

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

43. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 01:38 
> Сталкивались. И чего? Если FPU нет то вариантов немного: сэмулировать его или
> не использовать в программе плавучку.

Как это соотносится с "один в один"?

> При том что си можно гонять в этаком режиме портабельного ассемблера. Не
> так уж принципиально написать a+=b; или add r1, r2.

Это про ЯВУ, а не про ассемблер.

> И тогда програмер идет оптимизировать код. Или берет мк помощнее.
> Ты знаешь, gcc очень прилично оптимизирует под Cortex M, легко подпирая конкуренцией

Речь изначально об этом и велась - для микрокотроллеров оптимизация критична.

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

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

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

48. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 05-Ноя-16, 17:04 
> Как это соотносится с "один в один"?

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

Если ты не понял - то что си может адаптироваться к сильно обкоцаным платформам и окружениям - не баг а фича. Потому что позволяет программить под урезанные окружения с минимальными отличиями. Что-то может потребоваться учесть. Но учесть это придется в любом случае, а остальных так вообще изогнуть не получится. Но да, ты не запустишь GTK+ программу на мк с 8 кило флеша. Хотя-бы потому что памяти под весь потребный код не хватит и не учитывать это програмер не сможет, хоть там что.

>> так уж принципиально написать a+=b; или add r1, r2.
> Это про ЯВУ, а не про ассемблер.

В случае си упомянутые записи почти эквивалентны и си таки успешно справляется с ролью портабельного ассемблера. Да, портабельность не 100%. Однако обычный ассемблер - не портабелен вообще а других вариантов не очень то и есть.

> Речь изначально об этом и велась - для микрокотроллеров оптимизация критична.

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

> Речь, не о том, чтобы использовать только ассемблер, а о том, что
> Си - не является "переносимым ассемблером" по озвученым ранее причинам.

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

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

51. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 22:06 
>> Как это соотносится с "один в один"?
> Ну вот так. У разного железа - разные возможности.

Поэтому и не получается "переносимого ассемблера"

> Если ты не понял - то что си может адаптироваться к сильно
> обкоцаным платформам и окружениям - не баг а фича.

Ели Вы не поняли, другие языки тоже могут, это не делает их "переносимыми ассемблерами"

> В случае си упомянутые записи почти эквивалентны и си таки успешно справляется

Данные записи эквивалентны для многих ЯВУ. Это не про ассемблер.

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

Си выглядит как ЯВУ со всеми вытекающими, пусть фанатики и видят в нём "ассемблер", прикрывая таким образом его дыры (ассемблер, что вы хотите). Кстати предок Си - Би, был ближе к этому понятию.

Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

27. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +1 +/
Сообщение от Аноним (??) on 04-Ноя-16, 22:09 
> Это, кстати, миф, потому-то Си и требует различных расширений под каждую платформу.

А это уже на усмотрение програмера - насколько портабельным он хочет быть. А знаешь, если ты уповал на системный вызов который реализован только в Linux - ты таки будешь Linux-only программой. На любом ЯП, который в принципе системные вызовы делать позволяет. Просто потому что ты зависишь от фичи которую другие системы/рантаймы тебе не предоставляют.

> Для многих оказывается сюрпризом, когда их программа на "высокоуровневом ассемблере",
> валится на другой платформу из-за, к примеру, непригодного выравнивания

Если код не писан совсем уж левой пяткой - таки все обычно просто работает. Можно наверное найти особо экзотичные платформы, но там как правило кроме экзотичного диалекта си и нет больше ничего. Может еще ассемблер какой, еще более экзотичный. Типа C для DSP с 16-битным char просто потому что стандарт не запрещает, а 8 битов адресовать проц не умеет в принципе, потому что для него минимальный юнит - 16 битов.

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

Типы данных с фиксированным размером - это C99, которому 17 лет. Если до кого за 17 лет не дошло - наверное это не си виноват.

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

Тем не менее, сейчас стало модно писать в SIMD-стиле на C - когда делаются generic операции с generic переменными энного размера а компилер это раскладывает в регистры которые у его проца. Гугл в libvpx вынес половину neon/sse асма в пользу simd intrinsics на си.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

34. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 04-Ноя-16, 23:21 
> Может еще
> ассемблер какой, еще более экзотичный. Типа C для DSP с 16-битным
> char просто потому что стандарт не запрещает, а 8 битов адресовать
> проц не умеет в принципе, потому что для него минимальный юнит
> - 16 битов.

Стандарт Си, кстати, не даёт гарантий, что char 8-битный, так что это не должно оказывать сопротивление грамотно написанному. Но как много людей пишут код, учитывая это?

> Типы данных с фиксированным размером - это C99, которому 17 лет.

Типы с фиксированными разрядностями являются опциональными по стандарту и для "истинно переносимых" не должны использоваться. Вместо них следует использовать int_leastXX_t, но опять-таки, как много людей так пишут?

> до кого за 17 лет не дошло - наверное это не си виноват.

Как видим, 17 лет не хватило, чтобы понять стандарт полностью. Разве я не прав?

> вынес половину neon/sse асма в пользу simd intrinsics на си.

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

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

37. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Аноним (??) on 05-Ноя-16, 00:46 
> Стандарт Си, кстати, не даёт гарантий, что char 8-битный,

И чего? Если нужны гарантии - есть uint8_t, с 1999 года.

> Но как много людей пишут код, учитывая это?

Ты знаешь, C99 с лохматого 1999 года таки освоили довольно много людей. Всяких кривых удодов с вьюжлстудией вы рассматривать не будем - ориентироваться на C89 никто в здравом уме не собирается.

> Типы с фиксированными разрядностями являются опциональными по стандарту и для "истинно
> переносимых" не должны использоваться. Вместо них следует использовать int_leastXX_t,
> но опять-таки, как много людей так пишут?

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

> Как видим, 17 лет не хватило, чтобы понять стандарт полностью. Разве я не прав?

Как видим, мы и поняли стандарты и их реализации так как нам было удобно. А проблемы индейцев это таки проблемы индейцев. Тем более что индейцы вообще не знают что такое стандарт, но копьями и стрелами трясут.

> Так это и есть расширения языка, поддерживаемые на уровне компилятора, хотя и
> грамотно завёрнутые в абстракции Си.

И чего? Если вякать про стандарты - напишите на свою хипстерскую хрень хотя-бы такие, тогда поговорим. На JS вон пытались написать. И в ES6 получился const который не констифицирует. Это вообще фэйспалм.

Ответить | Правка | ^ к родителю #34 | Наверх | Cообщить модератору

38. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –2 +/
Сообщение от Led (ok) on 05-Ноя-16, 00:55 
> Как видим, мы и поняли стандарты и их реализации так как нам
> было удобно. А проблемы индейцев это таки проблемы индейцев. Тем более
> что индейцы вообще не знают что такое стандарт, но копьями и
> стрелами трясут.

Думаю, ты немного ошибся: ты пытаешся что-то доказать не индейцу, а индусу из касты "вендузоеды".

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

44. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 01:40 
Продолжая поддакивать не в тему, Вы позоритесь всё больше.

Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

41. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 01:31 
> И чего? Если нужны гарантии - есть uint8_t, с 1999 года.

Ещё раз, uint8_t - это опциональный тип, стандарт не гарантирует его наличия. Откройте наконец стандарт, и почитайте.

> Ты знаешь, C99 с лохматого 1999 года таки освоили довольно много людей.

Сколько можно?

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

При чём тут всё это. Речь об "ассемблере" - не "ассемблере", а не о том, что лучше. Открою страшную тайну - использую преимущественно Си.

>> Как видим, 17 лет не хватило, чтобы понять стандарт полностью. Разве я не прав?
> Как видим, мы и поняли стандарты и их реализации так как нам было удобно.

То, что Вы не учли этого и никогда не встречали ситуации, где эти типы отсутствуют, а теперь выдаёте это за концепцию.

> И чего? Если вякать про стандарты - напишите на свою хипстерскую хрень
> хотя-бы такие, тогда поговорим. На JS вон пытались написать.

При чём тут это? Повторюсь - использую Си. Речь о терминологии и радужных рекламных лозунгах, а не замене Си на Js.

Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

49. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +1 +/
Сообщение от Аноним (??) on 05-Ноя-16, 17:52 
> Ещё раз, uint8_t - это опциональный тип, стандарт не гарантирует его наличия.

Стандарт не гарантирует что под программу хватит памяти, что скорость процессора достаточна, и много чего еще. Поэтому у программ есть system requirements. Если твое окружение не подходит - ты пролетаешь. Рассматривай требование к полной реализации стандарта как часть system requirements, если тебе так понятнее.

> Откройте наконец стандарт, и почитайте.

Открыли, почитали и сделали выводы как нам удобнее понимать стандарт. Недовольные системными требованиями программы отправляются смотреть рис. 1.

>> Ты знаешь, C99 с лохматого 1999 года таки освоили довольно много людей.
> Сколько можно?

Ну вот столько. Что вижу - то и пою: нормальными типами народ в программах пользуется уже много лет. То что кто-то номинально может забить на реализацию удобных програмерам типов - так он столь же номинально получит отлуп что это системные требования и пойдет смотреть рис. 1. И все как бы честно.

> При чём тут всё это. Речь об "ассемблере" - не "ассемблере", а не о том, что лучше.

Ну вот си вполне себе обеспечивает использование в виде этакого портабельного ассемблера. Да, если програмер хочет posix syscalls - он наверное должен понимать что это уже требует нефиговый рантайм/ядро/либы. Концепции управления памятью - тоже не ассемблер уже. В ассемблере понятия выделения памяти вообще нет как такового. Поэтому когда кто-то начинает оперировать каким-то выделением памяти и дергать сисколы - ну ок, это уже не режим ассемблера и более высокий уровень. А если еще немного подкостылить - си станет довольно высокоуровневой штукой. Плюс си в том что от всех этих услуг можно отказаться, если они мешают. И останется по сути только генерация кода и препроцессор, больше всего напоминающие по смыслу кроссплатформенный ассемблер а не что-нибудь еще.

> Открою страшную тайну - использую преимущественно Си.

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

> То, что Вы не учли этого и никогда не встречали ситуации, где
> эти типы отсутствуют, а теперь выдаёте это за концепцию.

В программировании встречается много ситуаций. У кого-то printf делать некуда, кому-то с его 8 кило памяти программа кажется увесистой, у кого-то программа с навороченными 32-битными вычислениями никак не укладывается в реалтайм на 8МГц восьмибитнике. Концепция системых требований у программистов очень распостранена. Как и концепция отправки смотреть рис. 1 тех кто им не соответствует.

> При чём тут это? Повторюсь - использую Си. Речь о терминологии и
> радужных рекламных лозунгах, а не замене Си на Js.

При том что ругая то и се неплохо бы сравнить состояние дел в других областях для получения некоего референса кто и где и так ли уж плох си в сравнении с остальными. По сравнению с другими - ну там хоть какие-то стандарты вообще есть и там по крайней мере const менее долбанутый чем в JS, а на явно кривую работу с типами компилер бухтит warning'ами, что спасает от туевой хучи дурного дебагинга. Никто не спорит что можно сделать и лучше. Но пока не очень сделали, потому что при попытках это делать - берутся делать какие-нибудь вебмакаки, под свои довольно нишевые нужды. С понятным результатом.

Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

52. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Comdiv (ok) on 05-Ноя-16, 22:31 
> Открыли, почитали и сделали выводы как нам удобнее понимать стандарт.
> Недовольные системными требованиями программы отправляются смотреть рис. 1.

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


> Ну вот столько. Что вижу - то и пою: нормальными типами народ
> в программах пользуется уже много лет.

int_leastXX_t - это нормальные типы, в большинстве своём эквивалентные intXX_t, но с более высокой переносимостью. Можно долго прикрывать незнание высоким слогом, это всё равно пустые слова.

> высокий уровень. А если еще немного подкостылить - си станет довольно
> высокоуровневой штукой.

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

> Плюс си в том что от всех этих услуг
> можно отказаться, если они мешают.

Это можно проделать во многих ЯВУ. Пример - Java Card Edition.

>> Открою страшную тайну - использую преимущественно Си.
> Довольно странно пользоваться инструментом который ругаешь, не?

Не согласиться с рекламной уткой, постоянно поминаемой не к месту - это ругать? Люди, что с вами? Приходится объяснять очевидные вещи:
Использую Си не потому что это идеал, который нельзя критиковать (откуда тогда возьмётся прогресс), а потому, что на данный момент - это лучший выбор(!) для низкоуровневых задач по совокупности качеств, в первую очередь инфраструктурных.

> Хотя возможно ты прожженый
> эстет. С практической же точки зрения только сишный код с писюка
> на мк и получится перетащить.

Я перетаскивал его с МК даже в браузер, и это было прекрасно. Это не делает его "переносимым ассемблером"

> А то что там какие-то неиедеальости - вся разработка
> софта - сплощные неидеальности и компромиссы.

Это не означает, что не надо пытаться сделать лучше, в том числе - в создании языков.

> При том что ругая то и се неплохо бы сравнить состояние дел
> в других областях для получения некоего референса кто и где и
> так ли уж плох си в сравнении с остальными.

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

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

Есть такая проблема, но она не будет длиться вечно.


Ответить | Правка | ^ к родителю #49 | Наверх | Cообщить модератору

12. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –2 +/
Сообщение от Аноним (??) on 03-Ноя-16, 11:03 
> При Rust такого не было!

При Rust вообще софта не было. Пара утилит типа легковесной (по функционалу) замены cp да полурабочий движок браузера не в счёт.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

30. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 04-Ноя-16, 22:31 
> При Rust вообще софта не было. Пара утилит типа легковесной (по функционалу)
> замены cp да полурабочий движок браузера не в счёт.

А в случае Rust принц не спасает принцессу. Он отправляется в лес и рубит деревце, с которым двигает к сельскому кузнецу, чтобы тот ему пику вообще сделал. После чего отправляется ловить дикую лошать, которую еще надлежит объездить. Ну а в следующей части пьесы принц узнает что замок он тоже должен строить сам.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

53. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Лютый жабист (ok) on 08-Ноя-16, 05:09 
Под rust ещё скорее всего не написали путней либы даже уровня curl.
И неясно, напишут ли, т.к. rust тормознее java, при этом в жабе уже давно есть полноценные безголовые браузеры HtmlUnit/Selenium, которые умеют исполнять JS, юзать алерты, попапы, итд
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

54. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 08-Ноя-16, 06:19 
Grep на Rust быстрее чем на си, давай продолжай кукарекать или найди этот проект и проверь.
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

55. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Лютый жабист (ok) on 08-Ноя-16, 07:12 
printf может тоже быстрее. А что приличное: курл и htmlunit на расте уже написали, товарищ кококо?
Ответить | Правка | ^ к родителю #54 | Наверх | Cообщить модератору

3. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –1 +/
Сообщение от Аноним (??) on 03-Ноя-16, 00:23 
>CURLOPT_KEEP_SENDING_ON_ERROR

Джва года ждал.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Плазма полетела on 03-Ноя-16, 08:33 
>Version: 4:16.04.3-0ubuntu1

Кто знает, что означает цифра перед двоеточием?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +1 +/
Сообщение от vitalif (ok) on 03-Ноя-16, 10:27 
это epoch http://askubuntu.com/questions/441879/why-do-some-packages-h...
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

11. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +18 +/
Сообщение от Led (ok) on 03-Ноя-16, 10:49 
>>Version: 4:16.04.3-0ubuntu1
> Кто знает, что означает цифра перед двоеточием?

Четыре.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  –3 +/
Сообщение от Нониус on 03-Ноя-16, 09:03 
да, это не unix-way
мегакомбайн
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Наркоман on 03-Ноя-16, 10:02 
Нужно на каждый тип запроса для каждого протокола по утилите, да. Чтобы угодить фанатикам.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +3 +/
Сообщение от A.Stahl (ok) on 03-Ноя-16, 10:03 
Почему комбайн? Разве он что-то умеет кроме отсылания запросов и получения ответов?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

13. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от angra (ok) on 03-Ноя-16, 12:49 
Не надо путать комбайны с утилитами, имеющими много опций или поддерживающими много протоколов.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +1 +/
Сообщение от Andrey Mitrofanov on 03-Ноя-16, 15:46 
> Не надо путать комбайны с утилитами, имеющими много опций или поддерживающими много
> протоколов.

Да. </> https://gnunet.org/gnurl

Нет, не надо </> https://duckduckgo.com/?q=%D0%BA%D0%BE&#...

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

23. "Новая версия утилиты cURL 7.51 с устранением 11 уязвимостей"  +/
Сообщение от Аноним (??) on 04-Ноя-16, 17:10 
ну они сами там расписались в том, что им трудно договариваться с оригинальными разработчиками, когда они пытаются пилить свои форки-велосипеды на их оригинальных разработках ;)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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