LINUX.ORG.RU

Сообщения harvos

 

LVM API

Есть вот желание манажерить LVM-томами программно. Казалось бы, liblvm отвечает всем требованиям, но насколько я понимаю она задепрекейчена. Из оф. репы LVM git://sourceware.org/git/lvm2.git ее уже удалили даже. Есть ли альтернатива?

 

harvos
()

ThinkPad t520 wireless

Есть thinkPad t520, на нем в дуалбуте win7 и Ubuntu 14.04. Макс. скорость вайфая изначально была в районе 1-2 Mbit/sec. В винде помогло принудительное включение режимов b/g (без n), скорость возросла примерно до 10 Mbit/sec. Как сделать то же самое в убунте? Драйвер rtl8188ce.

Может, есть другие варианты решения проблемы? Пока что пробовал шевелить опции swenc (софтварная криптография) и ips (power save move), обновил ядро до 3.14, не помогло.

 , ,

harvos
()

проблемы с PPTP VPN

Федора 14, использую плагин NetworkManager-pptp. pptp версии 1.7.2. Может, кто сталкивался со следующими проблемами:

1. Лог засирается сообщениями вида:

 pppd[3296]: Protocol-Reject for unsupported protocol 'Compressed Datagram' (0xfd)

Как я понимаю, это потому что pptp не умеет MPPC, но при старте VPN в логе видится сообщение:

kernel: [ 1821.672054] PPP MPPE Compression module registered
Что не так? Есть ли способ его научить млм хотя бы заткнуть?

2. Собственно, впн отваливается через пару минут после поднятия. В логах:

Mar 17 16:11:26 pinguin pppd[3296]: Protocol-Reject for unsupported protocol 'Compressed Datagram' (0xfd)
Mar 17 16:11:26 pinguin pppd[3296]: Terminating on signal 15
Mar 17 16:11:26 pinguin pppd[3296]: Modem hangup
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[callmgr_main:pptp_callmgr.c:235]: Closing connection (unhandled)
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[ctrlp_rep:pptp_ctrl.c:254]: Sent control packet type is 12 'Call-Clear-Request'
Mar 17 16:11:26 pinguin pptp[3304]: nm-pptp-service-3294 log[call_callback:pptp_callmgr.c:79]: Closing connection (call state)
Mar 17 16:11:26 pinguin pppd[3296]: Connect time 2.0 minutes.
Mar 17 16:11:26 pinguin pppd[3296]: Sent 586759 bytes, received 3651869 bytes.
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin pppd[3296]: MPPE disabled
Mar 17 16:11:26 pinguin pppd[3296]: Connection terminated.
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin avahi-daemon[1164]: Withdrawing workstation service for ppp0. 
Mar 17 16:11:26 pinguin dbus: [system] Rejected send message, 1 matched rules; type="error", sender=":1.86" (uid=0 pid=3294 comm="/usr/libexec/nm-pptp-service) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.UnknownMethod" requested_reply=0 destination=":1.87" (uid=0 pid=3296 comm="/usr/sbin/pppd))
Mar 17 16:11:26 pinguin pppd[3296]: Exit.

harvos
()

[loroogle translate] perfomance bottleneck

Как перевести сабж на русский язык без существенной потери смысла и чтобы коротко?

harvos
()

[C] OpenSSL + ГОСТ 34.10-2001

Как известно, в openssl не так давно включили поддержку нашей ЭЦП. Решил с ней поковыряться: скачал последнюю версию openssl, собрал engine ccgost, все путем. Только вот в чем проблема: документация, похоже, сильно отстает от кода. Например, смотрим кусок кода из man EVP_PKEY_sign_init:

        #include <openssl/evp.h>
        #include <openssl/rsa.h>

        EVP_PKEY_CTX *ctx;
        unsigned char *md, *sig;
        size_t mdlen, siglen;
        EVP_PKEY *signing_key;
        /* NB: assumes signing_key, md and mdlen are already set up
         * and that signing_key is an RSA private key
         */
        ctx = EVP_PKEY_CTX_new(signing_key);
        // bla-bla-bla

В то же время, в хедере evp.h функция EVP_PKEY_CTX_new() объявлена с двумя параметрами вместо одного. Можно конечно покопаться в исходниках, но может быть кто-нибудь встречал уже примеры использования openssl с ГОСТовой ЭЦП? Поделитесь ссылками.

 

harvos
()

[vim, С] проблемы подсветки синтаксиса

После куска кода а-ля

#define lru_list_last(lru, type) ({                 \
        TAILQ_LAST(&(lru)->head, lru_##type##_seq); \
})

ломается подсветка. Кто-нибудь сталкивался? Как решили проблему?

harvos
()

вопрос по xmodmap

Прописываю xmodmap -e «remove Lock = Caps_Lock»

После первого нажатия CapsLock все хорошо (CapsLock не срабатывает, символы в нижнем регистре).

После последующих нажатий CapsLock снова переключает регистр.

ЧЯДНТ?

xorg-x11-server-utils-7.5-5.fc14.i686, есичо

harvos
()

Посоветуйте литературу

В связи с написанием большого высоконагруженного проекта возник вопрос:

есть ли хорошая умная книжка на тему выбора политики кэширования и реализации кэширования? Всяких статей на вики явно не хватает. Пишу на Це с асинхронщиной есичо.

Хорошо, если по-русски, но англ. тоже сойдет.

harvos
()

[awesome] вопрос по layout'ам

Вот возьмем например tile. Можно ли сделать так, чтобы новое окно было не большим (макс. по вертикали), а маленьким? Инами словами, чтобы первое открытое окно было всегда максимизировано по вертикали.

Спасибо.

 

harvos
()

Tomboy ssh sync

Тут возникла проблема:

Попробовал настроить синхронизацию tomboy через sshfs, пишет, мол, «The FUSE module could not be loaded» (fuse-sshfs стоит, есессно).

Погуглил, выходит, fuse перестал быть модулем =(

Кто-нибудь сталкивался с проблемой? Если решили, то как?

$ sshfs --version
SSHFS version 2.2
FUSE library version: 2.8.5
fusermount version: 2.8.5
using FUSE kernel interface version 7.12

$ tomboy --version
Version 1.6.1
harvos
()

Git-svn трабла

То ли я дурак, то ли лыжи не едут.

Нашел два мануала по импорту git-репозитория в svn:

http://draconianoverlord.com/2010/03/05/existing-git-into-svn.html

http://stackoverflow.com/questions/661018/pushing-an-existing-git-repository-to-svn

Создал новый репозиторий git:

cd /bla/git_repo/
git init
git add hello.c
git commit -m "init"

Создал пустой репозиторий svn:

cd /bla/
svnadmin create svn_repo
# правим конфиг, запускаем

Далее по мануалу:

svn mkdir --parents svn://localhost/GIT/trunk/project -m "init git"
git svn init svn://localhost -T GIT/trunk/project
git svn fetch
# ругань типа Error from SVN, (220001): Item is not readable: Item is not readable
git branch -av

Тут он мне пишет:

* master 08e0ac0 init
Т.е. ветка svn не подключена. Какого?

При этом, если я сделаю просто

git svn init svn://localhost
(без транка), то все работает нормально, но тогда я не могу привязать свой git-репозиторий к конкретному проекту svn, что неправильно.

harvos
()

Beeline, интернет, русские женщины

У меня тут встал вопрос.

Есть некая дама А. Она утверждает, что ее провайдер (билайн), когда конфигурил ей подключение, цитирую, «прописал у себя ее компьютер». Как следствие, если тупо выдернуть пачкорд из ее компа и воткнуть в другой, то даже со всеми правильными настройками инет на нем не взлетит, пока не «пропишут». Подробнее ничего высянить не удалось.

Так вот, вопрос: ну не бред ли? Или может я отстал от жизни и что-то не уловил? На мой субъективный взгляд, пров никак не может отследить, что за машина подключена к другому концу провода. Но меня так пламенно в этом убеждали, что я прямо засомневался. Лор, помоги!

harvos
()

Криптофильтр

Доброго времени суток. Кто знает, напишите пожалуйста, где можно прочитать что такое криптофильтр. В русскоязычном гугле дают только определение из нескольких строк, в англ. я вообще ничего не нашел. Хотелось бы знать принципы работы, технические особенности, необходимые условия для обеспечения максимального уровня защиты, подводные камни и т.д. Спасибо заранее!

harvos
()

[C, netlink] metrics

Считываю ответ на запрос таблицы маршрутизации с netlink-сокета. Однако выхлоп какой-то странный (см. ниже). ЧЯДНТ?

Функция распарсивания ответа

void rip_netlink_read_reply( int nsd, rip_msg_t * rip )
{
	struct nlmsghdr * nlp;
	struct rtmsg * rtp;
	struct rtattr * rtap;
	int rtl;
	uint32_t metrics;
	uint32_t dst;
	uint32_t mask;
	char	buf[4096];
	int		rc;
	rte_t	rte;
	uint32_t mask_ip;
	int i, m;

	assert( nsd >= 0 && rip );

	rc = recv( nsd, buf, sizeof( buf ), 0 );
//	hexdump( stdout, "Binary reply", buf, rc );
	printf( "Read %d bytes\n", rc );
	nlp = (struct nlmsghdr *) buf;
	for( ; NLMSG_OK( nlp, rc ); nlp=NLMSG_NEXT(nlp, rc) )
	{
		if( nlp->nlmsg_type == NLMSG_NOOP ) continue;
		if( nlp->nlmsg_type == NLMSG_ERROR ) printf( "Error\n" );
		if( nlp->nlmsg_type == NLMSG_DONE ) printf( "Done\n" );

		rtp = (struct rtmsg *) NLMSG_DATA(nlp);
    	if(rtp->rtm_table != RT_TABLE_MAIN)
	    	continue;
		rtap = (struct rtattr *) RTM_RTA(rtp);
		rtl = RTM_PAYLOAD(nlp);
		for(;RTA_OK(rtap, rtl);rtap=RTA_NEXT(rtap,rtl))
		{
			switch(rtap->rta_type)
			{
				case RTA_DST:
					dst = *((uint32_t*)RTA_DATA(rtap));
					printf( "DST: %8x %s\n", dst, inet_ntoa(*((struct in_addr *)&dst )));					
					break;

				case RTA_METRICS:
					metrics = *((int*)RTA_DATA( rtap ) );
					printf( "Metrics: %x %d\n", metrics, metrics );					
					break;
					
				default:
					break;
			}
		}
		mask = rtp->rtm_dst_len;
		printf( "Mask: %d\n", mask );
		mask_ip = mask > 0 ? 0x00 - (1<<(32 - mask)) : 0xFFFFFFFF;
	}
}

Выхлоп

Read 1020 bytes
DST:   b1a8c0 192.168.177.0 <------ нормалды, только почему он мне метрику не прислал?
Mask: 24
DST:   2c10ac 172.16.44.0
Mask: 24
DST:   bedac3 195.218.190.0
Mask: 23
Mask: 0
Read 1640 bytes
DST:     80fe 254.128.0.0 <--------  отсюда и далее WTF???
Metrics: 20008 131080     <--------  X_X
Mask: 64
DST:     80fe 254.128.0.0
Metrics: 20008 131080
Mask: 64
DST:     80fe 254.128.0.0
Metrics: 20008 131080
Mask: 64
Read 20 bytes
Done
Mask: 0

harvos
()

[C, Linux, netlink] Коды ошибок

Где узнать, какие коды ошибок что означают в структуре nlmsgerr? В манах netlink(7), netlink(3) не нашел.

Нашел, что это вроде бы обычный errno. Если это не так, пожалуйста, отпишитесь.

Вопрос номер 2: Допустим, я посылаю запрос с целью получить данные из таблицы маршрутизации. В каком формате будут представлены данные в RTA ответного сообщения? Уточнение: я запрашиваю сразу всю таблицу (NLM_F_ROOT).

harvos
()

[C, TCP] размер заголовка

Как программно определить размер заголовка TCP-сообщения до его отправления? Размер заголовка может плавать за счет изменения длины поля Options. Например, я хочу отправить TCP-сообщение фиксированной длины. Чтобы это сделать, необходимо знать размер заголовка, который будет приписан к сообщению.

harvos
()

[C, Linux, sockets] AF_UNIX + SOCK_SEQPACKET

Вызов

socket(PF_INET, SOCK_SEQPACKET, 0);
возвращает -1 с ошибкой «Socket type not supported». Почитав, выяснил, что «служба передачи последовательности пакетов в домене Интернет реализуется на базе протокола SCTP». Поставил соотв. пакет (для Fedora это был lksctp-tools), но ошибка сохранилась. ЧЯДНТ? И да, с SOCK_STREAM все работает нормально.

harvos
()

[C, sockets, epoll] Вопрос

Используются неблокируюшие сокеты. epoll используется в режиме level-triggered (хотя в данном случае это вроде неважно). Может ли быть так, что epoll_wait сигнализировал EPOLLIN'ом, а при чтении из сокета recv вернул -1 и установил errno в EAGAIN? Аналогичный вопрос насчет EPOLLOUT и send.

harvos
()

[C, sockets] литература

Посоветуйте качественную литературу по разработке высоконагруженных серверных приложений, плз.

harvos
()

[loroogle] Быстродействие

Не так давно встретил в какой-то известной книге по программированию таблицу, в которой для сравнения было расписано время различных операций, например, сколько примерно занимает обращение по указателю, сколько - передача пакета по витой паре, сколько - процедура чтения/записи с HD и т.д. Реквестую название книги и номер страницы. Мне казалось, что это ОС-мы Таненбаума, но пока вроде не нашел.

 

harvos
()

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