LINUX.ORG.RU

Сообщения Dennis7

 

openvpn + gost. Как сейчас с этим дела? Есть бесплатное решение?

Всем привет!

Может кто-нибудь подсказать как сейчас обстоят дела с интеграцией шифрования по отечественному ГОСТ в openvpn? Нашел, что несколько лет назад на лоре такая тема уже была, но чем закончилось дело - так и осталось неизвестно.

Сейчас актуальная версия openvpn вроде как 2.4, где-то нашел патч для версии 2.1, откатился, наложил, кое-как собрал (с забиванием костылей и шаманством над кодом), но не работает.

Конфиг сервера:

#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/server.crt
key sample-keys/server.key

server 10.0.0.0 255.255.255.0
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun

dh sample-keys/dh2048.pem
Выхлоп сервера при подключении:
openvpn --config /etc/openvpn/ovpn-srv
Wed Jul 19 11:26:37 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:37 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:37 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:37 2017 WARNING: file 'sample-keys/server.key' is group or others accessible
Wed Jul 19 11:26:37 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:37 2017 TUN/TAP device tap0 opened
Wed Jul 19 11:26:37 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jul 19 11:26:37 2017 /sbin/ip link set dev tap0 up mtu 1500
Wed Jul 19 11:26:37 2017 /sbin/ip addr add dev tap0 10.0.0.1/24 broadcast 10.0.0.255
Wed Jul 19 11:26:37 2017 Listening for incoming TCP connection on [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link local (bound): [undef]
Wed Jul 19 11:26:37 2017 TCPv4_SERVER link remote: [undef]
Wed Jul 19 11:26:37 2017 Initialization Sequence Completed
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:42237
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 OpenSSL: error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS_ERROR: BIO read tls_read_plaintext error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS object -> incoming plaintext read error
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 TLS Error: TLS handshake failed
Wed Jul 19 11:26:42 2017 10.0.0.1:42237 Fatal TLS error (check_tls_errors_co), restarting
Конфиг клиента:
#dev tun
dev tap
#engine cryptocom
engine gost
auth gost-mac
cipher gost89
tls-cipher GOST2001-GOST89-GOST89
#comp-lzo yes

ca sample-keys/ca.crt
cert sample-keys/client.crt
key sample-keys/client.key

client
remote 10.0.0.1
keepalive 10 120
proto tcp
socket-flags TCP_NODELAY

persist-key
persist-tun
Выхлоп клиента:
openvpn --config /etc/openvpn/ovpn-cli 
Wed Jul 19 11:26:42 2017 OpenVPN 2.3.13 armv7l-unknown-linux-gnueabi [SSL (OpenSSL)] [LZO] [EPOLL] [MH] [IPv6] built on Apr 28 2017
Wed Jul 19 11:26:42 2017 library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.09
Wed Jul 19 11:26:42 2017 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Wed Jul 19 11:26:42 2017 Initializing OpenSSL support for engine 'gost'
Wed Jul 19 11:26:42 2017 WARNING: file 'sample-keys/client.key' is group or others accessible
Wed Jul 19 11:26:42 2017 No valid translation found for TLS cipher 'GOST2001-GOST89-GOST89'
Wed Jul 19 11:26:42 2017 Attempting to establish TCP connection with [AF_INET]10.0.0.1:1194 [nonblock]
Wed Jul 19 11:26:42 2017 TCP connection established with [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link local: [undef]
Wed Jul 19 11:26:42 2017 TCPv4_CLIENT link remote: [AF_INET]10.0.0.1:1194
Wed Jul 19 11:26:42 2017 Connection reset, restarting [0]
Все ссылки, которые можно найти в гугле читал.

 ,

Dennis7 ()

poll после send

Всем привет. Ткните носом, хочу разобраться. Есть маленький клиент на си, соединяющийся по локальному сокету с сервером. Хочется, чтобы клиент дожидался ответа от сервера, что данные получены или отваливался по таймауту. Набросал небольшой код:

int poll_ret;
struct pollfd fds;
 
    if (send(s, send_data, sizeof(send_data->level)
       sizeof(send_data->cmd_id), 0) < 0) {
         fprintf(stderr, "Cannot send to %s: %s.\n",LOCAL_SOCK,
                                             strerror(errno));
                          close(s);
                          return FAILED;
    }

    fds.fd = s;
    fds.events |= POLLIN;
    poll_ret = poll(&fds, 1, 5000);
 
    fprintf(stderr, "poll_ret = %d\n", poll_ret);
 
    if (poll_ret < 0) {
          perror("poll");
    } else if (poll_ret == 0) {
          fprintf(stderr, "End of data\n");
    } else {
         ret = read(fds.fd, buf, 100);
         fprintf(stderr, "Data: %s\n", buf);
    }
почти всегда poll возвращает 1 и сразу же все идет дальше, а нужно чтобы ждал данные, пару раз было что работает как задумывалось, т.е. отваливался по таймауту. Может кто подскажет как лучше сделать? Сокет неблокирующий, сервер делаю так: sudo nc -l -U /run/lock.sock

 ,

Dennis7 ()

DES. Есть хэш. Узнать пароль.

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

 

Dennis7 ()

Development'у один фиг не хватает ядра

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

 

Dennis7 ()

Где в стандарте си прочитать про выражения типа ...

({ какой-то код на си })

Интересует именно последовательность из круглой и фигурной скобок.

 ,

Dennis7 ()

планшет Huawei MediaPad T1 8.0, не работает 3g (Android 4.3)

Всем привет! В один прекрасный день на планшете отвалился 3g. Wi-Fi работает, а 3g нет. Я перепробовал все настройки, какие только нашел, но лучше не стало. С этим девайсом такое уже было, но тогда в сервисном центре его перепрошили, и все заработало.

Я тоже перепрошил (прошивку взял с официального сайта), но опять таки не заработало. Может кто-нибудь подскажет что можно еще попробовать? Может быть стоит попробовать перепрошить 3g модем (если такое вообще возможно, я не большой спец)? В сервисный центр ехать не очень близко и неохота.

Спасибо.

 ,

Dennis7 ()

С чего начать изучение Objective-C

Сабж.

Тему «Посоветуйте книги по X, с чего начать изучать Y» читал, в Wiki ответов не нашел. Умею С/С++, с ООП знаком. В Obj-C ни в зуб ногой, не умею даже hello_world, вообще новый для меня язык. С чего начать изучение?

Спасибо.

 

Dennis7 ()

Что почитать про менеджмент в IT (программирование, разработка)

Всем привет!

Проще говоря, интересуют книги про то, как эффективно руководить коллективом из 5-10 человек в IT сфере (программирование, разработка). Может кто знает? Можно на английском.

Dennis7 ()

разве это правильно

Всем привет. Сегодня увидел в коде программы

char CompressStr(char s[256])
... 
some code
...
и офигел... прогу писал математик. Блин,зачем же так передавать параметры в функцию. неужто он не знает указателей? (я объяснял что это переменная, содержащая адрес другой переменной, а еще бывает указатель на указатель, тут его реально «замкнуло...») кто-нибудь может скомпилить это код (с флагами -О0 если можно) и выложить ассемблерные инструкции сюда, интересно посмотреть.

Ни линукса, ни компилятора под рукой нет, а посмотреть интересно. )))

А что реально, так можно писать на Си? Или это плюсовики так могут?

 

Dennis7 ()

Книга про битовые операции

Всем привет!

Давно когда-то читал книжку на русском языке о программировании. В ней первая глава была посвящена битовым операциям и трюкам с ними (типа установить/сбросить n-ый бит, сосчитать кол-во битов == 1 в слове, установлен ли первый бит в 1 и т.д.). Может кто-нибудь вспомнит название и автора. Или какую-нибудь толковую книжку посоветует по теме, можно и на английском.

Заранее спасибо.

 , ,

Dennis7 ()

Вероятности тред...

Всем привет! Пишу в General, потомучто не знаю в какой конкретно раздел поместить сей вопрос.

Итак, всё просто. Задача: Есть «кость» - кубик с шестью гранями и написанными на них «цифрами». Кубик бросается и бросается, какова вероятность того, что в следующий раз выпадет один? Вероятность выпадания «1» растет в зависимости от числа бросков или нет? Переформулирую, вероятность наступления случайного события увеличивается, если оно не наступило, если все делается для того, чтобы оно наступило? И как можно численно, выразить это? К примеру, три раза бросили кубик, но «1» не выпадало, вероятность выпадования «1» бОльше на девятом броске, чем на третьем? Каково мат. ожидание этого?

Спасибо...

P.S.: Линукс здесь при том, что пишу я программу для него )))

Перемещено tazhate из general

 

Dennis7 ()

rpmbuild: error: No file attributes configured

Всем привет!

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

sudo apt-get install rpm
Файлы rpmrc и macros скопировал с другого компа, похожей конфигурации. Но все равно rpmbuild «не видит» макрос %defattr(-,root,root,-) в spec-файле. Ранее по этим spec-файлам все собиралось ОК.

OS: Ubuntu 12.04

rpm: 4.9.1.1

Я далеко на гуру в rpm. Гугл пока никак не помогает... Куда копать?...

 , ,

Dennis7 ()

systemd, dbus, не вброс...

Всем привет. Эксперементирую с systemd на виртуалке.

Собрал, запустил, но dbus ругается, что нет такого адреса на шине (выхлоп будет потом, я еще «поколдую»).

А вообще есть ли подобная практика запуска systemd как user instance? Можно ли этим делом рулить через systemctl? Вопросы такие возникают потому как я пытаюсь на дебиане все это запустить, а тут, то одной либы не хватает, то версия другой очень стара... (Еще раз, не вброс)

Леннарт Поттеринг вежливо отмалчивается пока....

 ,

Dennis7 ()

Где (в каком файле) android хранит ip-адрес?

Сабж.

Dennis7 ()

Почему макросы major, minor возвращают странные значения?

Есть код:

$ cat t.c
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>

int main()
{
        struct stat st;
        const char *s = "/dev/input/event0";
#ifdef _BSD_SOURCE
        printf("_BSD_SOURCE is defined.\n");
#else
        printf("_BSD_SOURCE is NOT defined.\n");
#endif
        if (stat(s, &st) == 0) {
                printf("ID: %lld\n", st.st_dev);
                printf("%s: char dev=%s, major=%u, minor=%u\n",
                   s, S_ISCHR(st.st_mode) ? "yes" : "no", major(st.st_dev), minor(st.st_dev));
        } else
                printf("Err: \n");
        return 0;
}
Компилирую:
$ gcc -Wall -ggdb -O2 t.c -o t
Запускаю:
$ ./t 
_BSD_SOURCE is defined.
ID: 5
/dev/input/event0: char dev=yes, major=0, minor=5
А в консоли:
$ ls -la /dev/input/event0
crw------- 1 root root 13, 64 Jun 15 08:49 /dev/input/event0
Почему major, minor в программе возвращают странные значения?
$ uname -r
2.6.32-5-686
$ gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.4 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-targets=all --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.4.5 (Debian 4.4.5-8)

Dennis7 ()

Доступ к памяти на чтение

Всем привет, и доброй ночи | дня | утра | вечера. Хочу понять... например, есть библиотека, в ней есть функция с прототипом:

read_data(void *data, size_t len);

Понятно, что data - указатель на данные, len - размер этих данных. Эта функция из библиотеки возможно будет вызываться из многих программ, и существует вероятность того, что len будет валидным, а вот data... data может быть указателем на память после mmap или ioctl+copy_to_user...

Проверка того, что data == NULL необходима или достаточна?

Как проверить, что память, на которую указывает data доступна для чтения в размере len? Говорят, что в оффтопике есть функция IsBadPtr, которая как раз и применяется для этого вопроса.

Dennis7 ()

Видимо прописка - это главное

Искал (ищу) работу... В Job не надо перемещать, плиз, пост не об этом...

Есть куча предложений, но все работодатели хотят, чтобы у меня была прописка в..., как тут говорят, default city... Хотя, я жил там, успешно работал, но сейчас перешел на «удаленку», но сейчас вновь подыскиваю себе работу... Живу в дальнем подмосковье. Отчего работодатели «воротят» нос от моей прописки? Как будто в Ховрино добраться из, например, Выхино занимает менее часа?

Dennis7 ()

Палец->Программа->Ядро->result

Всем привет! Заболел... Всякая зараза «ходит» по планете... Градусника в доме нет (пипец!!!, модераторы сорри). Озадачился проблемой - вот было бы классно, если бы можно было бы поднести палец (или другую часть человеческого тела) к некоторому считывателю... А он тебе в ответ - «Ваша температура - 36.6 градусов по Цельсию». А еще, было бы вообще класс, сделать такой сайт, который определяет температуру части тела, приложенного к девайсу (мышка, «клава», или что-то еще...) И в зависимости от температуры части тела, прописать те или иные средства лечения... Хотя, конечно, все это весьма индивидуально. Аналогов в рунете не нашел, хотя возможно они и есть....

Аппаратно (можно через USB, но нужен датчик, возможно основанные на термопаре...) и программно на локальном компе под Линукосм эта задача вполне решаема (сам могу написать код), но вот как вынести её в инет...

Какие мысли, господа??? Паранойю не предлагать... )))

Перемещено JB из Development

Dennis7 ()

Управление «К». Миф или реальность?

Is big brother watching you?

Dennis7 ()

На чём лучше писать сценарии загрузки ОС Linux...?

ОС - Embedded Linux Архитектура - ARM

Хочется как-нибудь ускорить работу сценариев загрузки. Сейчас они написаны на bash (может быть не совсем корректно выразился...). Хотелось бы узнать, а что если всякие bash-скрипты в /etc/init.d/rc* поменять на например Perl-скрипты, или на Питон, или на еще что-нибудь? Будет ли выигрышь в скорости загрузки? А может быть вообще обратить внимание на какую-нибудь systemd систему? Или вообще, взять и написать свой собственный init. Положить его в /sbin/ и всё.

Спасибо.

Dennis7 ()

RSS подписка на новые темы