LINUX.ORG.RU

Сообщения sirius

 

Сервис на С с поддержкой OpenAPI

Форум — Development

Всем привет. Нужно реализовать микросервис на C, с интерфейсом OpenAPI. Не нашел библиотек для его парсинга(плохо искал?). У меня пока нет идей, кроме «свой парсер-велосипед» c «libevent» или с «libev + http-parser». Какой из этих вариантов лучше(в поиске по истории лора есть нелестные отзывы о реализации http в libevent, но вдруг что-то изменилось с тех пор)?

 ,

sirius
()

Вопрос по применению c-ares

Форум — Development

Всем привет. Есть такой пример кода:

/*
 *  gcc -o c-ares_test c-ares.c -static -I/usr/pkg/include -L/usr/pkg/lib -lcares_static -lm -std=c11
 *  gcc -o c-ares_test c-ares.c -I/usr/pkg/include -L/usr/pkg/lib -lcares -lm -std=c11
*/

#include <time.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <netdb.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <ares.h>

void dns_callback (void* arg, int status, int timeouts, struct hostent* host)
{
    if(status == ARES_SUCCESS) {
        //memcpy(host1, &host, sizeof(host));
        printf("%s\n", host->h_name);
        char ip[INET6_ADDRSTRLEN];
        for (int i = 0; host->h_addr_list[i]; ++i) {
            inet_ntop(host->h_addrtype, host->h_addr_list[i], ip, sizeof(ip));
            printf("%s\n", ip);
        }
    }
    else {
        printf("lookup failed: %s\n", ares_strerror(status));
    }
}

static void ares_loop(ares_channel channel) {
    int nfds, count;
    fd_set readers, writers;
    struct timeval tv, *tvp;
    while (1) {
        FD_ZERO(&readers);
        FD_ZERO(&writers);
        nfds = ares_fds(channel, &readers, &writers);
        if (nfds == 0)break;
        tvp = ares_timeout(channel, NULL, &tv);
        count = select(nfds, &readers, &writers, NULL, tvp);
        ares_process(channel, &readers, &writers);
     }

}

int main(int argc, char **argv) {
    int status;
    ares_channel channel;

    status = ares_library_init(ARES_LIB_INIT_ALL);
    if (status != ARES_SUCCESS){
        printf("ares_library_init: %s\n", ares_strerror(status));
        return 1;
    }
    if((status = ares_init(&channel)) != ARES_SUCCESS) {
        printf("ares feiled:  %s\n", ares_strerror(status));
        return 1;
    }
    ares_gethostbyname(channel, "google.com", AF_INET6, dns_callback, NULL);
    ares_gethostbyname(channel, "google.com", AF_INET, dns_callback, NULL);
    ares_loop(channel);
    ares_destroy(channel);
    ares_library_cleanup();
     
    return 0;
}

Как правильно вытащить результаты днс резольвинга в функцию main для дальнейшего использования в программе? Подозреваю, что нужно прокинуть указатель на структуру struct hostent* в callback функцию через void *arg, создать копию struct hostent* host, скопировать в нее данные и связать с указателем arg. Но так у меня не получилось - может не знаю как правильно, а может вообще не так надо... В общем, нужен ликбез по использованию библиотеки.

 

sirius
()

FreeBSD. Вопрос по взаимодействию с разработчиками.

Форум — General

Есть необходимость добавить поддержку модема(Quectel EM12) FreeBSD. По сути там надо по одной строчке в два файла добавить и все, модем взлетает и работает(в RAS режиме).

Собственно вопрос: как и куда написать разработчикам?

Попробовал создать себе аккаунт в https://bugs.freebsd.org/bugzilla/createaccount.cgi - письмо просто не приходит.

Возможно, кто-то из использующих FreeBSD уже подобным занимался, просветите, плиз…

 

sirius
()

Несколько вопросов по FreeBSD

Форум — General

Поставил в виртуалку FreeBSD, поразбирался немного. В общем это то что я так долго искал в Linux - базовая система + свежие пакеты програм. Есть желание перевести на нее на домашних компьтеры. Так как с системой знаком пока поверхностно - есть вопросы:

Что лучше использовать для домашнего NAS на FreeBSD (gmirror + ufs2) или zfs. Памяти там 8Гб, кроме хранилища там же будут развернуты xwiki (JAVA, PostgreSQL(БД небольшая), tomcat, nginx) и возможно nextcloud (еще одна бд в PostgreSQL + php-fpm)?

Насколько UFS2 (и с какими опциями) подходит для рабочих станций и ноутбуков? Как она переносит ресеты и прочие неожиданные перезапуски без размонтирования?

Как дела в данной ОС с WIFI. Есть ли перспектива получить на ней работающие 802.11ax/802.11ac?

Как подбираете оборудование для данной ОС?

Как дела с поддержкой принтеров/сканеров?

 

sirius
()

Проброс sip линий на АТС в локальную сеть

Форум — Admin

Дано: (SIPGW провайдера, IP:1.1.1.1 ) - (сеть 2.2.2.0) - (роутер с openwrt, IP:2.2.2.10) - (АТС в локальной сети, адрес 3.3.3.3).

Роутер - Asus RT-N10+. АТС - Panasonic KX-NCP1000.

Задача - подключить sip линии к УАТС(Panasonic KX-NCP1000). Условия прохождения исходящих вызовов: Авторизация по sip на SIPGW - отключена(условие провайдера); в поле from: номер_тлефона@2.2.2.10; в поле to: номер_телефона_адресата@1.1.1.1

Что пробовал: 1.Прокинуть порты АТС родной прошивкой - не заработало. 2.Залил openwrt, с помощью siproxd добился прохождения входящих. Исходящие не проходят, так как при исходящем звонке в поле to прописывается (в зависимости от настроек siproxd и АТС) или номер_телефона_адресата@2.2.2.10 или номер_телефона_адресата@3.3.3.3 Заменять домен на произвольный для исходящих вызовов siproxd судя по всему не умеет(или я не нашел такой опции).

Поможет ли мне opensips + rtpproxy решить данную задачу или, возможно есть другие способы?

sirius
()

python3 web кодинг. вывод UTF-8

Форум — Web-development

Ни print(), ни sys.stdout.write() не выводят строки с символами, отличными от латиницы.
Где-то месяц назад находил решение, даже проверял - работало, но пример не сохранился а повторно найти не получается.
Версия python: 3.2
Help.
Если можно - лучше с примером.

sirius
()

Вопрос по cmake

Форум — Development

Есть проект с такой структурой:
libs
prog1
prog2
CMakeLists.txt,
где libs, prog1, и prog2 - проекты со своими CMakeLists.txt. причем prog1 и prog2 зависят от собраной библиотеки libs libs.so.

Подскажите, что и как прописать в корневом CMakeLists.txt и одноименных файлах проектов prog1 и prog2, чтобы при сборке сначала собиралась библиотека, а потом подключая ее собирались prog1 и prog2?
Спасибо.

sirius
()

Посоветуйте sip-сервер

Форум — Admin

Посоветуйте sip-сервер с поддержкой конференц-связи.
Asterisk вроде может все это, но на мой взгляд избыточен.
Opensips - не могу найти инфу, умеет конференции или нет.
Что из этого лучше использовать? Какое еще есть ПО, чтобы реализовать сабж?
Спасибо.

sirius
()

e17 Модуль переключения раскладки

Форум — Desktop

Как сабж настроить? Вводные данные: xorg.conf нет - все цепляется через hal, переключалка раскладки(на данный момент) тоже. Спасибо.

sirius
()

Genius video wonder pro 2 v2 + пульт

Форум — Linux-hardware

Плата на чипе bt878a. тип тюнера на плате не видно, предполагаю что филипс.
Без пульта заводиться при нескольких параметрах bttv (например:card=21,tuner=3; card=54,tuner=5...), а вот с пультом проблема:
bttv видит пульт с параметрами card=34 и card=152. в первом случае не на все кнопки пульта есть реакция, звук остается даже после выключения tvtime(помогает только выгрузка модуля);
Во втором реакция есть на все кнопки пульта(но на все кнопки одинаковый кейкод) и не удалось добиться звука.
перебор тюнеров конечно же делал.

P.S. Вчера с горя залез в исходники bttv, подправил 152 карту - звук появился. Проблему с одинаковыми кейкодами еще не решил.

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

sirius
()

html

Форум — Development

Вот этот код:
<button name=Go value=2 type=submit>Go!</button>
не работает в IE6, но при этом в firefox и mozilla все срабатывает(данные формы уходят на сервер). Кто-нибудь просветить  может - чего IE не нравиться?
sirius
()

Когда gentoo 2005.0 выйдет?

Форум — Talks

Решил gentoo дома поставить, и соответственно взять хочется самый новый...
sirius
()

подключение телефона через data кабель

Форум — General

Как подключать/работать с телефоном(nokia 6610) через data кабель (usb)?
sirius
()

Связка dns + dhcpd

Форум — Admin

Можно ли сделать так, чтобы при обновлении данные хранились в файлах *.jnl, а текстовые файлы зон оставались без изменений?
sirius
()

ipsec in 2.6

Форум — Admin

Кто-нибудь настраивал встроенный в 2.6 ipsec? Какие впечатления? И где можно инфы по настройке нарыть?
sirius
()

Kernel 2.6 & Graphics

Форум — General

Перекомпилил ядро (... ну надо было), заодно выкинул из него все лишнее и видимо перестарался. Теперь Иксы ваабще не стартуют(говорят что ошибка 
инициализации драйвера)
Система FC2, ядро из коробки, видеокарта nvidia (geforce4).
Подскажите - какие опции вкючать в ядре для графики?
sirius
()

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