LINUX.ORG.RU

Сообщения saper

 

Предложение по улучшению работы сайта

Форум — Linux-org-ru

Предлагаю:
1. Запретить объявления о работе в Job-Linux, в которых не указано географическое место работы (город или хотя бы регион).
2. Повесить объявление жирным шрифтом при добавлении объявления в раздел Job-Linux о запрете в п.1 и немедленном удалении неудовлетвряющих п.1 объявлений.
3. Модераторам взять на контроль выполнение требований п.1.

Почему:
1. Определенно неудобно для соискателей и неприятно для тех, кто живет в других городах.
2. Пусть жители столичных городов научатся уважать других людей, живущих в нашей стране и соседних городах.

saper
()

Размер бинарника и GCC

Форум — Development

Сразу оговорюсь, что сравнение размеров делал после strip (без опций) и опции компиляции для большого C-файла и нескольких одинаковые.

Была некая программа одним большим C-файлом. Вынес одну функцию во новый C-файл, её прототип определил в новом H-файле. Собрал как и раньше, только указал уже не один C-файл для GCC, а два. Бинарник получился меньше. Стал выносить больше C-функций, бинарник стал уменьшаться. Даже вынос глобальных переменных с typedef-ами уменьшил бинарник на несколько байт.

Получается, если на каждую функцию сделать отдельный файл, то бинарник будет совсем маленький?

GCC стандартный, из Slackware.
$gcc -v
Configured with: ../gcc-3.4.6/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --target=i486-slackware-linux --host=i486-slackware-linux
Thread model: posix
gcc version 3.4.6

Кто не верит, пусть проверит ... на "Hello World" не работает, но на сложном примере - наверняка ;-)

saper
()

Squid 2.6STABLE3

Новости — Open Source
Группа Open Source

Прокси-сервер Squid продолжает развитие своей новой ветки 2.6. 18 августа вышла третья стабильная версия ветки 2.6.

Основные серьезные изменения:
- src/dst acl не угадывает маски подсети к адресам, указанным без маски (теперь даже адрес, заканчивающийся на 0 будет считаться адресом узла, а не подсети);
- устранено несколько утечек памяти, падений программы и ошибок "assertion failed";
- восстановлена корректная работа delay pools (не работали в 2.6.STABLE1-2);
- новые обозначения для опции расширенного протоколирования через "log_format":
* для внешнего списка контроля доступа (%ue - external acl);
* для идентификатора пользователя SSL (%us - ssl user id).
- исправления ошибок и повышение производительности COSS;
- NTLM fake_auth теперь поддерживает имена пользователей на различных языках;
- небольшие оптимизации для снижения нагрузки на ЦП;
- реализована полная поддержка протокола DNS, включая работу через TCP при очень больших ответах DNS-серверов.

Подробный список изменений: http://www.squid-cache.org/Versions/v...

>>> Скачать

saper
()

Динамически переопределить функцию в C

Форум — Development

Поясню, чего хочется на примере (не имеет никакого отношения к моей программе):

void SHOW_LIST(char *command);

void myf1(char *command)
{
system(command);
}

void myf2(char *)
{
printf(command);
}

void main()
{
SHOW_LIST = myf1;

SHOW_LIST("ls");
}

saper
()

PME-Enable и setpci

Форум — Development

Подскажите, как установить флаг PME-Enable, выводимый по lspci -vv при помощи setpci?

Есть такая информация из pci-utils:
#define PCI_PM_CTRL 4 /* PM control and status register */
...
#define PCI_PM_CTRL_PME_ENABLE 0x0100 /* PME pin enable */
...
t = get_conf_word(d, where + PCI_PM_CTRL);
printf("\t\tStatus: D%d PME-Enable%c DSel=%d DScale=%d PME%c\n",
t & PCI_PM_CTRL_STATE_MASK,
FLAG(t, PCI_PM_CTRL_PME_ENABLE),
...

Я так понимаю, что нужно для выбранного устройства (setpci -d или -s) установить для регистра 4 значение 3 бита в 1. Не хочется повредить железку.

Это нужно, чтобы работал Wake-On-Lan на сетевом адаптере. После выключения из Windows он работает (там в настройках PME-Enable стоит в Enabled), после выключения из Linux - нет.

Установка через "ethtool -s eth0 wol g" не помогает (да и не должна, она всего лишь включает WOL на карте, но карта скажем так пока еще не имеет связи с матплатой, потому что PME-Enable выключен - lspci показывает PME-Enable-). В BIOS-е WOL для этой почти интегрированной сетевой платы включен (это Intel EtherExpress VE/100 на IBM T23). Даже если сбросить "ethtool -s eth0 wol d", а потом включить WOL "ethtool -s eth0 wol g", то все равно ничего не работает. Другие флаги для ethtool параметра wol эта сетевая не поддерживает (ущербная она, этакая недоделка от Intel, не ожидал, offload capabilities никаких нет вообще).

saper
()

thttpd 2.25, Internet Explorer и UTF8

Форум — Admin

Вот такая нездоровая проблема с Internet Explorer: есть страничка, у нее в заголовке указана кодировка KOI8-R, внутри нее есть ссылка, в которой есть KOI8-R русские символы.

Mozilla и Konqueror корректно переходят по ссылке, а Internet Explorer получает ошибку от thttpd, о том, что ссылка не найдена. При этом thttpd указывает ссылку, которая не найдена для Internet Explorer, эта ссылка сформирована в UTF8 почему то.

Т.е. если ссылка была на файл.html, то Internet Explorer запрашивает я└п╟п╧п╩.html.

Я проблему понимаю, но не знаю кто виноват IE или thttpd. С одной стороны страница содержит явное указание KOI8-R, с другой стороны IE в своем пакете в заголовке указывает, что GET идет в кодировке UTF8.

Конфигурационный файл thttpd:
dir=/var/my
chroot
user=myproc
logfile=/var/log/thttpd/thttpd.log
pidfile=/var/run/thttpd/thttpd.pid
globalpasswd
charset=koi8-r
port=80

saper
()

UnixWay: Часто запускаемый бинарник и редко изменяемая конфигурация

Форум — Development

Есть некий проект, который хочется сделать Unixway, проект кроссплатформенный, для него недопустимо использование GNU или BSD специфических вызовов или библиотек. Вкратце продукт состоит из бинарника и файла конфигурации.

Бинарник часто запускается (по несколько раз в день), иногда как CGI. Конфигурационный файл - обычный текстовый .conf вида "PARAMETER VALUE", он меняется раз в неделю (в худшем случае) или раз в месяц (в норме).

Парсинг конфигурационного файла в бинарнике длителен и занимает около 2 секунд на целевой машине. Для CGI это не очень хорошо, т.к. бинарник еще и статистику считает некоторое время.

Допускает ли UnixWay такое: - бинарник проверяет контрольную сумму конфигурационного файла, если она не соответствует записанной в бинарном конфигурационном файле, то происходит его перегенерация; - бинарник читает свою конфигурацию из бинарного конфигурационного файла (т.е. уже без парсинга).

Возможно кто то подскажет кроссплатформенную (не GNU/BSD специфичную) библиотеку для парсинга конфигурационного файла?

saper
()

C: int->char[4] для printf/scanf

Форум — Development

Очень нужно в программе, обрабатывающей огромное число записей (~2млн.) реализовать быстрое чтение и запись 4 символов. Я вижу самый простой путь - это занести символы в int:
int x;
char *z;
z = (char *)&x;
z[0] = val1;
z[1] = val2;
z[2] = val3;
z[3] = val4;

Вот как теперь, имея этот самый int вывести его через printf ?
printf("%4c", x) или printf("%c%c%c%c", x) не работают

Хочется реализовать именно так, чтобы было быстро. Уточнение насчет x: его возвращает функция, то есть в итоге я хочу получить что то вроде:
printf("%4c", myfunc(x))

В man сказано:
"%c If no l modifier is present, the int argument is converted to an unsigned char". То есть он считывает таки переменную, а не указатель. Как заставить его считать оттуда все 4 байта без конверсии? Если делать %lc, то он читает 2 байта, как я понял, а мне бы 4 :-)

P.S. Я понимаю, что printf/scanf можно переписать или переопределить, но быстро уже не будет :-(

saper
()

Есть ли в природе пример кода согласно man на qsort

Форум — Development

В man на qsort или bsearch сказано, что в качестве функции сравнения может выступать strcmp. Покажите такой пример, т.е. без промежуточной функции compar ...

saper
()

Сортировка очень болших бинарных файлов

Форум — Development

Подскажите библиотеку для C/C++ или внешнюю утилиту для сортировки очень больших файлов (от 500Мб до 2Гб). Содержимое файлов - цифры в формате C-шных unsigned int и float.

Хочется избавиться от преобразования float->char[16] и использования обычного sort.

saper
()

strftime и локаль

Форум — Development

Маленькая программка:

#include <time.h>

void main()
{
time_t t;
struct tm *local;
char ftime[256];

t = time(NULL);
local = localtime(&t);
strftime(ftime, 127, "%d %b %Y %H:%M", local);
printf("\n%s\n", ftime);
}

Возвращает:
21 May 2006 18:43

Почему то не русской локали, хотя date из bash выдает:
Вск Май 21 18:43:40 MSD 2006

locale из bash выдает:
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R

И вот еще:
$ ls -d1 /usr/lib/locale/ru*
/usr/lib/locale/ru
/usr/lib/locale/ru_RU
/usr/lib/locale/ru_RU.koi8r
/usr/lib/locale/ru_RU.koi8-r
/usr/lib/locale/ru_RU.KOI8R
/usr/lib/locale/ru_RU.KOI8-R

$ ls -d1 /usr/share/locale/ru*
/usr/share/locale/ru
/usr/share/locale/ru_RU
/usr/share/locale/ru_RU.koi8r
/usr/share/locale/ru_RU.koi8-r
/usr/share/locale/ru_RU.KOI8R
/usr/share/locale/ru_RU.KOI8-R

На UTF8 перейти не смогу, да и не поможет:
$ export LC_ALL=ru_RU.UTF8
$ export LANG=ru_RU.UTF8
$ /x
21 May 2006 18:43

:-(

saper
()

Squid 2.5STABLE14

Новости — Open Source
Группа Open Source

Вышла новая версия HTTP прокси-сервера Squid. Все изменения:
- устранены утечки памяти в коде, касающегося ident, htcp клиента и обработки заголовков external_acl;
- иконки теперь отображаются, когда visible_hostname указан без доменного суффикса.

Скачать: http://www.squid-cache.org/Versions/v...

>>> Подробности

saper
()

SARG 2.2

Новости — Open Source
Группа Open Source

Вышла новая версия программы анализа и генерации отчетов по журналам прокси-серверов Squid и Microsoft ISA.

Важные изменения:
- поддержка 64-битных архитектур;
- унифицирован внешний вид большинства отчетов;
- повышена производительность обработки отчетов;
- удалены сообщения отладки, использовавшиеся для разработки;
- исправлены ошибки, приводящие к некорректной генерации отчетов и падению программы.

>>> Подробности/скачать

saper
()

Samsung выпустила центр связи под управлением Linux

Новости — Open Source
Группа Open Source

Устройство представляет собой настольную SOHO АТС:
- 2 разъёма для городских телефонных линий, 1 для аналогового телефона, факса или модема;
- до 8 радиотрубок и до 4 разговоров одновременно;
- передача голосовой информации по SIP (кодеки G.711 и G.729);
- встроенный шлюз IP-телефонии;
- 2 порта ethernet для подключения к ЛВС и Internet;
- WiFi IEEE 802.11b/g точка доступа для подключения рабочих станций;
- встроенный DHCP-сервер и NAT.

>>> Подробности

saper
()

*.mp4

Форум — Desktop

Есть у меня 2 файла с расширением mp4, ни mplayer, ни xine не играют их (версии - последние, стабильные). Сейчас качаю mpeg4ip и gpac.

saper
()

Nokia портировала Apache на телефоны

Новости — Open Source
Группа Open Source

Компания Nokia портировала web-сервер Apache на свои телефоны с операционной системой Symbian S60 2nd Edition Feature Pack 2.

Порт включает web-свервер Apache httpd и модули: mod_alias, mod_auth, mod_autoindex, mod_dav, mod_dav_fs, mod_dir, mod_log_config, mod_mime, mod_rewrite, mod_setenvif и mod_python.

Скачать:
http://research.nokia.com/research/pr...
Подробнее на русском:
http://telecom.compulenta.ru/267021/

>>> Подробности

saper
()

BSI представляет продукты с открытым исходным кодом

Новости — Open Source
Группа Open Source

BSI - агентство информационной безопасности Германии, известное во всем мире. На конференции LinuxTag, проходящей с 3 по 6 мая, BSI представит три продукта с открытым исходным кодом:

1. gpg4win для добавления шифрования и подписей GPG в Microsoft Outlook 2003: http://www.gpg4win.de

2. BSI Open Source Security Suite - система управления политиками безопасности, основанная на сканере Nessus и системе обнаружения вторжений Security Local Auditing Daemon (SLAD): http://www.bsi.bund.de/produkte/boss/...

3. ERPOSS4 - защищенный дистрибутив для офисной работы (основан на Debian 3.1, включает ядро 2.6.12, OpenOffice, KDE 3.3.2 с системой защиты от спама и вирусов): http://www.bsi.bund.de/produkte/erpos...

Оригинал анонса (на немецком): http://www.bsi.bund.de/presse/pressin...
На английском: http://www.infoworld.com/article/06/0...
На русском: http://soft.compulenta.ru/266725/

>>> Ссылки на Live-CD

saper
()

Спамоборона 1.5

Новости — Проприетарное ПО
Группа Проприетарное ПО

Компания Яндекс разработала новую версию продукта Спамоборона, распространение которой осуществляет компания ДиалогНаука, в которой расширены функции для крупных клиентов (провайдеров и корпоративных).

Добавлена поддержка почтовых систем:
- Postfix >= 2.1
- Exim >= 4 (с патчем local scan)

Увеличилось число поддерживаемых платформ:
- Slackware 10.2
- SuSE 10
- ASPLinux 11
- Red Hat Enterprise Server/Advanced Server 4
- FreeBSD 6.0

"Дистрибутив "Спамообороны" 1.5 и демонстрационный ключ, сроком на 30 дней доступны после регистрации на веб-сайте "ДиалогНауки"" (ссылки в Подробностях).

>>> Подробности

saper
()

Как помочь Open Source проектам

Форум — Talks

Есть проблема, которая (по моим данным) до сих пор не решена: если какая то средняя или маленькая компания в РФ захочет перевести некоторую сумму разработчикам того же NetFilter, Squid или еще какого то проекта, то она столкнется с переводом денег за границу, что организовать для небольших компаний очень сложно.

Хотя 200-300$ в год для 2-3 Open Source проектов некоторые могут себе позволить и более того хотели бы перевести эти суммы. Некоторые безвозмездно, некоторые возмездно (увидеть свою компанию в Donations).

Есть ли в РФ такой фонд и если нет, то может кто знает более простой способ отблагодарить материально разработчиков? (Патчи, сообщения об ошибках - контакт с авторами проектов налажен, эта ступенька уже есть, хочется большего).

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

saper
()

BASH: разность разделить на разность

Форум — Development

Можно ли в bash одной строкой разделить разность на разность, вроде:
let X=(a-b)/(c-d)

saper
()

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