LINUX.ORG.RU

Сообщения dimaz-z

 

Openssl, сертификаты, производительность

Есть следующая задачка: надо написать сервер и клиент для одной системы.

Необходимо шифрование трафика и идентификация сервера клиентом и клиентов сервером.

Пользовать, как понимаю, разумно Openssl.

Допустим, у нас есть 10000-100000 клиентов, у каждого должен быть свой сертификат.

Допустим, мы можем как-то идентифицировать клиента (по id, или по ip-адресу) и проверить его сертификат, клиент тоже проверяет сертификат сервера.

Как я понимаю, для этого на сервере должны храниться публичная часть сертификатов всех клиентов, а у клиентов публичная часть сертификата сервера?

Обмен будет вестись короткими сообщениями (примерно 128-256 байт), но с большой интенсивностью (100-1000 запросов в секунду).

Причём, скорее всего среди клиентов не будет равномерности по отправке сообщений, т.е. один клиент может прислать одно сообщение в день, другой же каждые 3 секунды слать.

Какая должна быть производительность у сервера, чтобы обслуживать такую нагрузку?

Так же разумным встаёт вопрос: сколько одновременных подключений сможет выдержать сервер? т.е. создавать ли для отправки каждого сообщения заново соединение, или нет.

Возможно есть какие-то альтернативы ssl в данном случае?

>>>

dimaz-z ()

syslog и utf-8

Пишу в syslog в программе, там попадаются русские слова, так вот, они отображаются как-то непонятно, к примеру
�235оме�200 �202еле�204она

должно было быть "номер телефона"

что делать, это лечится? локаль ru_RU.UTF-8, slackware 12.1

>>>

dimaz-z ()

Сокеты: блокирующийся вызов write, или как дождаться ACK

Пишу клиент-серверный проект для организации торговли.

Возникла проблема: юзаю select() для установки таймаута, с read()/recv() всё шикарно. Немного хуже с write()/send(). Мне надо точно знать, дошёл ли мой ответ до клиента. Я использую TCP, т.е. мне как-то надо заставить дождаться возвращения пакета ACK функцию write() и только потом продолжить выполнение программы.

Пример: открыли соединение, всё шикарно. обениваемся данными. В один прекрасный момент кто-то выдёргивает сетевой кабель, а клиент, допустим, отправляет серверу сообщение о том, что платёж проведён. Что будет: write() скопирует данные из моего буфера в системный и потом пойдёт дальше. Но данные то не дойдут (если, к примеру, кабель врубят через день), а приложение об этом не узнает. Так вот, надо бы, чтоб программа продолжила выполнение только после приёма ACK-пакета.

Понимаю, что можно потом самому послать TCP-пакет с подтверждением, но что-то это некрасиво. Не зря же TCP существует) Transmission Control Protocol, как никак)

Подскажите, плз, если ли выход? Книжка Стивенса чёт надежды не даёт(

>>>

dimaz-z ()

Работа с com-портом. Чтение с блокировкой.

Есть проблемка одна: пишу драйвер для устройства, которое висит на последовательном порту. Оно юзает только линии данных на порту. Работа такая: запрос - ответ. Причём, после запроса должно пройти нормальное время (~50мсек) для того, чтобы появился ответ.

Пользую "non-canonical" (типа raw) режим работы с портом, но мне нужно, чтобы вызов read() блокировался, пока не придёт нужное кол-во данных в порт. Это необходимое количество данных не постоянно и варьируется от запроса к запросу.

Два варианта решения этой проблемы (как я вижу): -делать write() -- запрос, потом спать 50-60 мсек и читать read().

-делать write() потом менять newtio.c_cc[VMIN] на нужное кол-во байт, делать tcsetattr() и потом только читать, тогда read() заблокируется.

Но, ведь в вызове read() мы указываем последним параметром нужное кол-во символов. Нельзя ли как-нить обойтись без выставления каждый раз режима работы порта и сделать так, чтобы read() блокировался каждый раз?

>>>

dimaz-z ()

LaTeX + pstricks - нумерация, перекрёстное цитирование...

Вообщем пользуюсь я LaTeX для набора текстов для учёбы... Вот текст набираю, а там куча графиков и рисунков, я их написал в pstricks. Но их нужно как-то пронумеровать и потом на них ссылаться... вообщем сделать подпись напр. "Рис. 1" и потом на него ссылаться (\ref{} и.т.п.)... Как бы это автоматом сделать? Может поместить в какой нить контейнер, а в нём уже сделать какую нить \label{}? Кто нить, подскажите, плз...

dimaz-z ()

Нужна помощь в определении кодировки

Вообщем стояла у меня слака, там я писал в latex'е одну очень нужную вещь, локаль была ru_RU.KOI8-R, писал всё в Emacs'е....
Теперь поставл себе попробывать SuSe 10 x86_64, там как я я понимаю локаль ru_RU.UTF-8, пытаюсь открыть свой latex-файл и получаю кракозябры, конвертировал из koi8-r в utf-8, что только не делал, кучу переходов по кодировкам прошёл, не помогло...
Ща в эмуляторе поставил слаку, не в emacs'е это дело тоже не читается, конечно ща поставлю emacs, может и прочитается, но кто его знает, вообщем сам файл тут http://www.webfile.ws/d/1866, кто может, помогите, плз. жизнеопределяющий файл =)

dimaz-z ()

Zaurus SL-C3000

Вот собрался взять сабж, если кто нить подобное брал, то нем ожете сказать, где? Собираюсь взять на karmanniki.ru, как бы на подставу не напороться...

dimaz-z ()

Linux Counter

А ты зарегистрировался на http://counter.li.org/person/ ?
Что то там мало русских :(

dimaz-z ()

gtk+ и русский

вообщем стоит слака 10.2 с самосборными иксами и gtk+2.6.10, glib 2.6.*, pango... Так же стоит Abiword, gnumeric ... и XFE (не на gtk+, на fltk) в качестве файлового менеджера (это всё в школе)... Локаль для всей системы ru_RU.KOI8-R проблема такая:
С русскими буквами всё везде ок, сглаживание и.т.п. работает на ура, но есть проблема с русским в названиях папок и файлов. если создать файл (или папку) в xterm'е с русским именем, то всё работает, все всё видят, оно по-русски и в терминале и в XFE и в abiword... но вот только abiword файлы с русскими именами, созданные в консоли не хочет открывать...
Если же создать папку или файл из gtk+ приложения (напр. abiword) то в других gtk+ всё будет ок и по-русски, открываться будет везде в gtk.. а в xterm имя папки (файла) будет в кракозябрах, такие же кракозябра и в XFE (который не-gtk), что делать, может что из поставки gtk+ пересобрать, или запускать в другой локали gtk+ приложения?

Очень надо, кто может подскажите, плз :)

dimaz-z ()

бенчмарки и qemu

я тут хочу пробенчмарчить пару *BSD-систем, да линух, вот только машины отдельный для этого нет...
как вы считаете, если пускать система в qemu + kqemu, то это не сильно повлияет на достоверность резалтов?

dimaz-z ()

законы мерфи

У нас известные под названием "Законов подлости"
Например про компьютеры:
То, что некоторые пользователи зовут в программе, пользуясь ей, ошибкой, на самом деле является особенностью. Вывод: все что является для них особенностью или просто крутым (например, Windows) на самом деле есть не что иное, как одна большая ошибка.
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.

вот - http://optimism.chat.ru/page_pr.htm
и вообще http://optimism.chat.ru/rules.htm
:)

dimaz-z ()

конфиги для Emacs'а

скачал я из этой http://www.linux.org.ru/view-message.jsp?msgid=1177299 темы конфиги для emacs'а, куда их пихать? там файлы:
eclnt.el      lisp      outline.el   python.el        varia.el
hideshow.el   main.el   outline.el~  semantic.cache   varia.el~
hideshow.el~  main.el~  psvn.el      semantic.cache~
dimaz-z ()

OpenBSD и VPN (pptp)

Поставил я себье на машину (машина - роутер + ftp) вместо линухи OpenBSD 3.8...
Машина подключена к городской сетке (ethernet), для того, для выхода в нет пользуется VPN (pptp)...
Пока без проблем настроил NAT, теперь пытаюсь поднять pptp - клиета, в упор не получается, ставил из портов, ставил и ручками из исходников (в портах версия постарее), ставил pptp-client 1.7.0...

Поставил, скопировал конфиги ppp (options и chap-secrets), которые у меня остались от линухи (слаки), как всегда написал pptp 192.168.7.254, а он мне выдал:
/usr/sbin/pppd: PPP device not available. Make sure the device is created with
ifconfig and that the kernel supports PPP. See ifconfig(8) and ppp(4).

Ядро дефолтное...
192.168.7.254 - это сервак pptp

вот пара конфигов:
/etc/ppp/options :

name dimaz
remotename vpn
defaultroute
noauth
asyncmap 0
crtscts
lock
local
noproxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx

/etc/ppp/chp-secrets:

<name> vpn <passw>

где естественно я имя и пароль поменял на <name> и <passw>

В линухе всё работало без вопросов, а тут казус небольшой...
В инете искал, не нашёл ничё путного, в манах тоже... что делать?

dimaz-z ()

P2P сервер

Нужно в локаке организовать изолированный P2P сервер... локалка приличная ~600 машин... под линух есть что то? желательно конечно bittorrent, но и другое подойдёт... Искал, но ничё не нашёл...

dimaz-z ()

Перевод компов в информатике на линух...

Вообщем учусь я в 11 классе, да ещё и админом в своей школе подрабатываю...
Стою перед вопросом, хочу с вами посоветоваться...
Есть компьютерный класс: 11 компов, все разношёрстные, а именно:
где то 2-3 штуки: Cel 400 - 32-64 RAM
1 штука: Cel 2.2 128 RAM
штук 5: Cel 300 - 16-32 RAM
1 штука: Pentium 166 32 RAM.

На всех на них, кроме Cel 2.2 стоит 98 винда, глюков выше крыши...
на Cel 2.2 стоит XP SP2, глюков тоже хватает...

Я тут подумываю о пересаживании ученичков на линух с минимальными потерями...
Задачи, которые выполняются на этих компах: Word, Exel, Pascal, QBasic, лазанье в нете и игрухи...

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

Как вы считаете, стоит хотя бы поробывать сделать пару машинок с 2-й загрузкой (пока) и попытаться учеников укротить?
Сл-но хотел бы спросить какие можно было бы поставить WM (чтобы значки выкинуть на раб. стол), файловый менеджер и.т.п., чтобы пошло на такой конфигурации, учитывая дефицит памяти... За основу возьму слаку...

Подскажите, чем можете :) кто имел дело с линухом на таких слабых мащинах...

dimaz-z ()

аналог tail -F

хотел бы тут программу написать, точнее парсер логов на C, перла не знаю, так бы на нём писал, короче как при появлении новой строки в файле передавать эту новую строку в функцию для обработки?

dimaz-z ()

реклама IBM на TV

Вот появилась реклама IBM, связанная с Blue-GENE, может у них дело и до линуха дойдёт? :)

dimaz-z ()

OpenBSD

Вот думаю поюзать и потетстить OpenBSD, тем более скоро будет новый релиз... У кого какой есть опыт эксплуатации этой системки? Какие плюсы, какие минусы?

dimaz-z ()

MP3 -> OGG с перекодированием имён файлов и тегов...

Короче вот я тут за пару часиков наклепал... качайте смотрите, там README есть, там не всё, но написано... как будет время доработаю и допишу...

http://dimaz-z.narod.ru/mp32ogg.tar.gz

это тестовая кривая версия, написаная на скорую руку для записи ogg-файлов в mp3-плеер :)
как будет время почищу код, добавлю настроек и функций...

dimaz-z ()

GRIP

Вообщем конверчу я диск в ogg grip'ом... альбом русской группы, названия русские, в результате, выставил я кодировку в настройках CDDB, в окне с треками нормальные русские буквы, а при записи на диск получается папка и файлы нереального вида, там даже иероглифами не пахнет... системная локаль Koi8-r... что сделать, чтобы имена файлов и папок в нормальной кодировке записывались?

dimaz-z ()

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