
Sergey
13.04.2018
17:14:59
Rust or Nim

Dmitry
13.04.2018
17:18:19
Зшбс, 3proxy работает

Phil
13.04.2018
17:20:09
https://github.com/schors/tgdante

Google

Phil
13.04.2018
17:20:59

Andrey
13.04.2018
17:21:19
у миня не работает docker run

Fro
13.04.2018
17:49:22

Anton
13.04.2018
17:56:28
Нет у меня доверия к коду на Си, который мало кто изучал. Т. е. на Си можно писать безопасный код если приложить усилия (примеры такого софта - openbsd, dovecot, postifx, nginx и другие популярные проекты). Но проект, код которого скорее всего никто не изучал и который 5 лет не обновлялся это в лучшем случае лотерея в худшем случае - решето.

Andrey
13.04.2018
18:00:01
ну так ты его обложи костыльчиками, и пусть он там лежит себе решитит не отсвечивая

Sergey
13.04.2018
18:25:48
Те кто может писать на си безопасный код, по пальцам можно пересчитать
Аудитом никто незанимается, ни секурностью самих проектов, и тдд и тп
Ида, у всех ли есть например доступ типа к misra ?

e
13.04.2018
20:10:03
Смотрю пилят новый загрузик на луа и вроде как хотят успеть к 11.2. Но вот что-то не могу найти там подстановку картинки фоном. Опять забили на красивые десктопы?

Aleksandr
13.04.2018
20:11:11
Он на луа, но не графический

e
13.04.2018
20:13:07
он потенциально не может быть графическим?

Dmitry
13.04.2018
20:13:18
ну, штатный лоадер умеет рисовать как влинуксе количество процессоров
логотипами FreeBSD

Google

Dmitry
13.04.2018
20:14:40
ну и умеет в процессе загрузки показывать нескучные обои
провда только pcx или bmp формата

e
13.04.2018
20:15:55
это только на старой консоли вроде. vt уже не совместима с этим

Dmitry
13.04.2018
20:16:09
##############################################################
### Splash screen configuration ############################
##############################################################
splash_bmp_load="NO" # Set this to YES for bmp splash screen!
splash_pcx_load="NO" # Set this to YES for pcx splash screen!
splash_txt_load="NO" # Set this to YES for TheDraw splash screen!
vesa_load="NO" # Set this to YES to load the vesa module
bitmap_load="NO" # Set this to YES if you want splash screen!
bitmap_name="splash.bmp" # Set this to the name of the file
bitmap_type="splash_image_data" # and place it on the module_path
эээ
речь шла о загрузчике ?
какое отношение он имеет к новой консоли ?

e
13.04.2018
20:17:13
Both the splash screen and the screen saver work with syscons(4) only.
т.е. видать прямое

Dmitry
13.04.2018
20:23:52
/usr/src/sys/dev/vt/logo
т.е. сама vt(4) умеет рисовать

e
13.04.2018
20:27:12
но не графику (

Dmitry
13.04.2018
20:29:50
по-моему, как раз графику
спрайты 80x80 точек
/* Used internally, not a tunable. */
int vt_draw_logo_cpus;
VT_SYSCTL_INT(splash_cpu, 0, "Show logo CPUs during boot");
VT_SYSCTL_INT(splash_ncpu, 0, "Override number of logos displayed "
"(0 = do not override)");
VT_SYSCTL_INT(splash_cpu_style, 2, "Draw logo style "
"(0 = Alternate beastie, 1 = Beastie, 2 = Orb)");
VT_SYSCTL_INT(splash_cpu_duration, 10, "Hide logos after (seconds)");
так как оно не настраиваемое, то ручками проставь там нужные тебе цифры и перекомпилируй ядро
просто эта фигня реально никому не нужна

e
13.04.2018
20:35:01
splash_cpu - это в loader.conf прописать?

Dmitry
13.04.2018
20:35:11
нет
/usr/src/sys/dev/vt/vt_core.c

Google

Dmitry
13.04.2018
20:36:00
напрямую в исходниках

Roman
13.04.2018
20:37:00

Dmitry
13.04.2018
20:37:45
там тупо врапперы для работы с freebsd, linux, windows

Roman
13.04.2018
20:38:18

e
13.04.2018
20:38:53
ну да, в таком виде это действительно никому не нужно... а вот нормальная графика в загрузчике многих бы привлекла

Dmitry
13.04.2018
20:39:20
причем, там было место, где в целях совместимости с FreeBSD 8,x вызывалась древняя функция определения времени вместо новой gettimeofday(), котороя появилась в 9.0
в результате, демон, написанный на go, который который часто вызывал эту функцию, съедал все процессорное время
а libc в 9.0 научилась вызывать gettimeofday() не делая syscall

Roman
13.04.2018
20:46:00

Dmitry
13.04.2018
20:47:34
в любой платформе есть "логические фичи", которые позволяют родным программам работать более эффективно
а так - это просто модный компилятор python
берешь программу на python, собираешь ее со всеми питонячими библиотеками в один большой файл - получаешь программу на Go

Roman
13.04.2018
20:49:37
ну, оно по скорости сравнима с си и имеет более строгую систему типов

Dmitry
13.04.2018
20:51:34
В Си, насколько я помню, там вообще отсутсвует система типов

Roman
13.04.2018
20:51:52

Dmitry
13.04.2018
20:52:43
вот именно что примитивная. на уровне того, что char - 1 байт, а int - 16 или 32 байта
все состальное - костыли, проверяющие знаковость, безнаковость и т.п.

Google

Dmitry
13.04.2018
20:55:08
т.е., если у меня есть массив байт, длиной 32 байта, мне никто не запретит записать туда 64-х разрядное число по адресу 28-го байта
и пофиг, что я 4 байта запишу в "левую" область памяти. для стандарта Си - это не ошибка

Lev
13.04.2018
20:56:58

Dmitry
13.04.2018
20:58:13
что из этого: https://en.wikipedia.org/wiki/UB

Lev
13.04.2018
20:58:16
Другое дело, что для скорости и совместимости с терабайтами говно- и старо-кода это йуби на будет поймано по-умолчанию
но соберите свою программу с санитайзером и она рухнет в этом месте с диагностикой.

Dmitry
13.04.2018
20:59:22
нифига

Lev
13.04.2018
20:59:31
бля. рассуждать о стандарте Си и не знать одного из ключевых терминов - это сильно

Dmitry
13.04.2018
20:59:53
единственный вариант - прогон программы в какой-нибудь виртуальной машине

Admin
ERROR: S client not available

Lev
13.04.2018
20:59:56
undefined behavioir
а вы пробовали пользоваться санитайзерми из кланга? попробуйте
только 90% реальных программ не пройдут проверку
дело не в стандарте, а в компиляторах. А они так себя ведут потому что такто- и байто-выжимания от них требуют
Арифметика указателей за пределами массивов, например, стандартом запрещена
и алиасинг кроме как с char* запрещён

Dmitry
13.04.2018
21:03:29
и приведения типов нету ?

Lev
13.04.2018
21:03:40
но всем пофиг, ведь так быстрее, если без проверок!
приведение типа через указатель (скастить указатель на инт в укащатель на дабл и разыменовать) - нельзя
то есть можно

Google

Lev
13.04.2018
21:04:56
но - то самое ub.

Dmitry
13.04.2018
21:05:18
ага, и union самое то
я после паскаля когда увидел Си, удаснулся
В паскале тоже есть подобная структура

Lev
13.04.2018
21:05:54
стандарт написан так, что программист мамой клянётся, что он не нарушит, а компиояториверит и не проверяет

Dmitry
13.04.2018
21:05:58
но там все ее члены должны иметь одинаковый размер

Lev
13.04.2018
21:06:08
юнион как раз правильный способ этт делать
и он чётко описан, что по наибольшему
но все кастят указатели, так проще
а компилятор при раздельной компиляции проверить не может
в рамках одной функции можно включить проверку

Dmitry
13.04.2018
21:08:04
в архитектуре x86 по другому нельзя

Lev
13.04.2018
21:08:26
только по дефолту выключена потому что тогда не соберётся половина программ
А в результате и имеем проблемы с оверранами буферров, отрицательными смещениями и прочими дырами. Зато быстро

Dmitry
13.04.2018
21:10:10
нет. это дебильная x86 архитектура

Lev
13.04.2018
21:11:03
а что не дебильное?
у икс86 модель памяти хотя бы строгая

Dmitry
13.04.2018
21:11:20
когда писался Си, не было всяких младших байтов и тому подобной фигни

Lev
13.04.2018
21:12:17
i432 был не дебильный дамвесь вышел нк начавшись
А сравнивать 8 бит даже с 16 смешно. На аппаратном уровне спасёт только теговая память, а это дорого непередаваемо дорого

Dmitry
13.04.2018
21:14:13
причем здесь 8 бит