LINUX.ORG.RU

Сообщения SteelKey

 

Как считать файл построчно/побайтово (очень глупый вопрос)

На с/c++ не писал года два или больше. Итак, глупый вопрос:

есть файл вида

<строкаюникодавutf8>\n\r
<строкаюникодавutf8>\n\r
<строкаюникодавutf8>\n\r
<строкаюникодавutf8>\n\r

Как его считать в c/c++? :)

Проблема в том, что при использовании fgets/fgetc() вместо двух байт для юникода, получается все 16. То есть что-то типа FFFFFFADFFFFFF1A вместо AD1A. На всякий случай: при просмотре файла в hexeditor'е четко видно AD1A Почему fgets/fgetc несет такую чушь, непонятно. fgetwc/s не предлагать, так как нужно именно побайтовое чтение каждой отдельной строки. setlocale (бредовая идея) не помогает.

SteelKey
()

Пропускная способность сети.

Два компьютера с карточками RTK 8139 подключены через коммутатор
D-Link DES 3026. На обоих - linux 2.6.12.
При тесте с помощью ttcp получаю:
~ # dd if=/dev/urandom bs=1M count=100 | ttcp -t 192.168.0.78
ttcp-t: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp -> 192.168.0.78
ttcp-t: socket
ttcp-t: connect
100+0 records in
100+0 records out
ttcp-t: 104857600 bytes in 32.97 real seconds = 3105.57 KB/sec +++
ttcp-t: 12800 I/O calls, msec/call = 2.64, calls/sec = 388.20
ttcp-t: 0.0user 0.4sys 0:32real 1% 0i+0d 0maxrss 0+2pf 2890+235csw
~ #

В связи с этим возникаю следующие вопросы:
1. Зависит ли такая низкая скорость передачи от размера буфера tcp
(net.core.[wr]mem_max = 103424; net.ipv4.tcp_[wr]mem = 4096 87380 174760)
2. Все-таки почему 3MB/c, а не хотя бы 8MB/c?

Провода прямые (пробовал менять - на результат сильно не влияет (+-10KB/sec)). Никаких настроек по приоритетам на D-Link'e не сделано. В чем проблема - в сетевой карте? в коммутаторе? в настройках ядер?
На других компьютерах тесты дают почти тоже самое (3095, 3065 итд).
Везде RTK8139.

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

SteelKey
()

Интерфейс не пингуется.

P4/hyperthreading отключен/1Gb/i865PE.

Slackware 9.1/ядра 2.4.22, 2.4.31

ACPI отключен в BIOS'e и в ядре. APM тоже.

Ситуация первая:
2-ве карточки Realtek 8139C. Через 1-5 часов одна из них отваливается (не пингуется).

Ситуация вторая:
Карточка Realtek 8139D + onBoard Realtek 8139C. Через 1-5 часов onBoard отваливается (не пингуется).

В логах ничего. В dmesg'e тоже.

Есть идеи? Помогите, уже сутки тр*#^юсь.

SteelKey
()

VPN? Посоветуйте.

Имеется такая схема:

сеть1 <-> сервер1(NAT, iptables) <-> интернет <-> сервер2(ipchains, masquarading) <-> сеть2 <-> клиент Windows 2000.

Необходимо, чтобы клиент мог подключаться к сети1 и обладать теми же правами, что и локальные клиенты. Понятно, что надо использовать VPN, но вот что?
PPTP? PPPoE? Как постоить VPN через 2-ва NAT'a? Посоветуйте куда копать...

SteelKey
()

Почтовые клиенты.

Когда размер почтовых папок в Opera M2 превысил 100 Mb вся Opera это стала несчадно тормозить. Решил сменить почтовый клиент. Что посоветуете (для большого количества почты)? Sylpheed? Evolution? Aethera? Thunderbird?

P.S.: Я хотел без раздумий ставить Thunderbird, но меня смутила эта статья:
http://forevergeek.com/open_source/thunderbird_not_as_successful_as_firefox.php.
В частности там говориться, что Opera M2 быстрее чем Thunderbird... Это так?

SteelKey
()

EXT-3 на Slackware 9.1

kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,69), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
EXT3-fs error (device ide0(3,5)): ext3_free_blocks: Freeing blocks not in datazone - block = 12582912, count = 1

Что бы это могло значить? efcsk ничего плохого не находит :| А сообщения где-то раз в неделю появляются...

SteelKey
()

SpamAssassin: обучение.

Похоже я чего-то не понимаю. Если сделать так:
$ sa-learn --spam --mbox mbox
Learned from 0 message(s) (1 message(s) examined).
$ cat mbox | spamassassin
...
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on ferrari
X-Spam-Level:
X-Spam-Status: No, score=0.4 required=5.0 tests=AWL,PLING_PLING autolearn=no version=3.0.2
...

Хотя в /etc/mail/spamassassin/local.cf прописано:

use_bayes 1
auto_learn 1

Что здесь не так, или так и должно быть 8|.


SteelKey
()

Вопрос по аппаратуре сети...

Возможно (и скорее всего) не по адресу, но все же, может кто-нибудь ответит...

Есть хаб, к которому подключены 19 компов. На хабе 20 разъемов Ethernet. Диапазон ip в сети: 192.168.0.x. Требуется подключить еще четыре компьютера к хабу, желательно без создания подсети. Какой железкой это можно сделать? Менять хаб нецелесообразно, т.к. эти пресловутые компы будут находится достаточно далеко от него, и ведь проще будет протянуть 1 провод, на не четыре. :| Я плохо разбираюсь в механизмах создания подсетей, поэтому посоветуйте решение или линк на доку... Заранее спасибо.

SteelKey
()

сервер через firewall

Вопрос конечно тупой, поэтому прошу сильно ногами не бить. ;)

Итак есть следующая сеть:
Сервак с linux, подключен по eth1 к ADSL-модему с одним(!) статическим ip, на eth0 - в локалку. На серваке - iptables, exim, proxy. Пользователи сидят через NAT в инете и тихо радуются. Но тут возникла необходимость как-то присобачить Windows 2003 Terminal Server для 1C, да так, чтобы он был доступен через тот же ip, что и mail-сервер. Как это можно сделать и возможно ли вообще (скорее второе, но вдруг...) Вариант "купи подсеть на 8 ip у провайдера не подходит" ;(.

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

SteelKey
()

OpenSSH и время логина.

Прихожу сегодня на работу и обнаруживаю в логах:

....
Mar 9 11:21:28 ice sshd[24472]: Failed password for root from
210.104.39.125 port 59281 ssh2
....
Mar 9 11:21:40 ice sshd[24480]: Failed password for root from 210.104.39.125 port 59702 ssh2
....

И так в течение ~ 3-4 часов. Поэтому вопрос: как мне сделать в ssh, что если логин 5 раз облом с одного ip-шника, то добавить его в hosts.deny?

SSH через Internet _очень_ нужен, посоветуйте как улучшить безопасность...

SteelKey
()

2 вопроса по ClamAV

Можно ли сделать следующее с ClamAV:

1. Регалярный scan пользовательских директорий на сервере и, если находится вирус, то он копируется куда-то, а пользователю на мыло кидается уведоиление. В принципе можно скриптик написать, но вдруг такой велосипед уже изобретен?

2. У пользователей на виндах стоит ClamWin. У меня на серваке - ClamAVd. И те, и другие регулярно обновляют базы через Internet. Неплохо бы сделать так, чтобы ClamWin'ы скачивали базы с сервака, т.к. там они все равно есть. Трафик-то не резиновый, чтобы по -дцать раз одно и то же качать. Есть ли солюшен?

Заранее благодарен.

SteelKey
()

OpenSSH: Как разграничить доступ?

Есть сервак. На нем интерфейся eth0, eth1. Надо, чтобы с интерфейса eth0 по ssh мог подключиться _любой_ пользователь, а через интерфейс eth1 только пользователи root, user1: root _только_ с одного определенного ip, а user1 - с любого ip. eth0 - локалка, eth1 - Internet. Можно ли это сделать средствами SSH, или требуется заюзать iptables. Можно пример конфига :)? Заранее спасибо.

SteelKey
()

WebPlus ADSL

Народ, кто работал с ним, подскажите у них просто статическая конфигурация модема в стиле:
ifconfig eth0 ***.***.***.*** up netmask ***.***.***.***
route add default gw ***.***.***.*** dev eth0
или PPPoE?

SteelKey
()

Поддомены.

Ситуация следующая:
Есть DNS example.com, первичный и вторичный сервера у провайдера.
Есть локальная сеть с выделенкой. На выделенке предоставляется только
один IP-адрес. Есть внутренний сервер DNS в локалке.
Требуется всякий запрос типа что-то-там.example.com обрабатывать
на внутреннем сервере. Т.е., чтобы я мог совбодно добавить поддомен
что-то-там.example.com, не дергая при этом настройки зон провайдера.
Это можно как-то сделать?

SteelKey
()

Проблема со сборкой шаблонов...

Ситуация всем известная....

templ.h:
#ifndef __TEMPL_H
#define __TEMPL_H

template <class data_t> class templ{
data_t data;

public:
templ(data_t t);
data_t get(){ return data; }
};

#endif
============================================================
templ.cc:
#include "templ.h"

template <class data_t> templ<data_t>::templ(data_t t){
data = t;
}

=============================================================
test.cc:
#include <iostream>

#include "templ.h"

using namespace std;

int main(){

templ <int> t(10);

cout << t.get() << endl;

return 0;
}
=============================================================
Makefile:

OBJS = templ.o test.o
BINS = test

CC = g++
OPTIONS = -Wabi
.PHONY = all clean

all: $(BINS)

test: $(OBJS)
$(CC) $(OPTIONS) -o test $(OBJS)

templ.o: templ.h

test.o: templ.h

clean:
rm -f $(OBJS) $(BINS) *~
=============================================================

Если я это буду компилить впрямую, то получу мессагу:
$ make
g++ -c -o templ.o templ.cc
g++ -c -o test.o test.cc
g++ -Wabi -o clist templ.o test.o
test.o(.text+0x1a): In function `main':
: undefined reference to `templ<int>::templ[in-charge](int)'
collect2: ld returned 1 exit status
make: *** [clist] Error 1
$

Я обычно спрвалялся с этим методом дописывания в templ.cc следующего:
void __gccbug(){
templ <int> nw(1);
}
И так для каждого типа, или вообще описывая функции в h-нике.

Но вот как я это универским преподам буду объяснять (у нас сейчас курс ООП)? ;) Запихнуть в h-файл нельзя - "неправильное формирование рабочих файлов" ;)). И остваить функцию __gccbug тоже нельзя. :( Может опция какая-то к gcc есть или какой-нить другой солюшен? Помогите пожалуйста.

SteelKey
()

Топология сети...

Ламерский конечно вопрос, но надеюсь кто-нибудь ответит.
Задача следующая: организовать доступ в инет для небольшой сети + поставить почтовый сервер/htpp сервер. Доступ к инет осуществляется через оптоволокно с одним ip-адресом.
Соотвественно, вопросы:
- ISP-шлюз лучше организовать на том же серваке, что и почта/http или
почту/http поставить внутри локальной сети. Если второй вариант, то в какую сторону копать? Т.е. ведь запросы http/smtp должны идти на сервак в локалке, а на остальные компы - нет. Каким образом эти маршруты описать? (просто хотя бы названия howto, если таковые есть).
- доступ в интернет для компов локалки? Адрес-то внешний один. Какие здесь есть решения проблемы - proxy? Какой proxy посоветуете?

Если не трудно, то поделитесь своими решаениями (топологиями) для данной задачи. Заранее спасибо.

SteelKey
()

Smasung TFT 172t

Следующая проблема возникает с этим монитором:
У производителя указан режим 1280x1024@75. Если я ставлю этот режим, то минут через десять после запуска x-ов монитор начинает противно свистеть. Винда ставит 1280x1024@70 и никакого свиста. При попытке получить modline с помощью gtf или установить VSync с помощью DPMS получаю режим 1280x1024@60. Помогите пожалуйста...

ATI Radeon 9000/Slackware 9.1/current/2.6.6

SteelKey
()

Софт для упрощения таблиц истинности/операций с логическими схемами.

Есть ли такой софт под Linux?

SteelKey
()

Exim: ошибка в auth client.

Все очень просто - требуется пересылать почту через удаленный smtp-сервер с аунтефикацией.

Прекрасно соединяюсь с тем серваком посредством CLENT AUTH через Oper'y или Mozilla Mail.

В конфиге прописываю:

smarthost:
driver = manualroute
domains = !@
transport = remote_smtp
route_list = * mail.timeold.ru

....

remote_smtp:
driver = smtp
hosts_require_auth = mail.timeold.ru

......

fixed_plain:
driver = plaintext
public_name = LOGIN
client_send = ^user^*********

#Вариант ": user : ********" не предлагать - тоже не работает.

Теперь пытаюсь послать письмо:

2004-10-08 10:26:49 1CFoDJ-0000ww-KB <= user@timeold.ru U=key P=local-esmtp S=426 id=Pine.LNX.4.58.0410081026410.3629@ice.ice.net
2004-10-08 10:26:50 1CFoDJ-0000ww-KB fixed_plain authenticator failed H=mail.timeold.ru [194.85.34.43] 535 Incorrect authentication data
2004-10-08 10:26:50 1CFoDJ-0000ww-KB == user@timeold.ru R=smarthost T=remote_smtp defer (-42): authentication required but authentication attempt(s) failed

Попробовал зателнетиться на удаленный сервак - вроде все в норме, RFC стандартно воддерживается. Тем более Opera все прекрасно отсылает. Проблема в Exim'e. Не подскажете, как решить?

SteelKey
()

Fetchmail не переписывает заголовки!

Вот что пишет на -v -v:

reading message keyguard@pop.mail.ru:1 of 1 (712 octets)
About to rewrite Return-path: <keyguard@mail.ru>
Rewritten version is Return-path: <keyguard@mail.ru>

About to rewrite To: Key <keyguard@mail.ru>
Rewritten version is To: Key <keyguard@mail.ru>

About to rewrite From: Key <keyguard@mail.ru>
Rewritten version is From: Key <keyguard@mail.ru>

fetchmail: about to deliver with: /usr/sbin/sendmail -t -f 'keyguard@mail.ru' 'key'

Соответственно письмо, попадая на Exim идет обратно в inet, вместо того, чтобы идти в ящик к пользователю... :(

Конфиг:
defaults mda "/usr/sbin/sendmail -t -f %F %T"
poll pop.mail.ru with proto pop3 interface ppp0/0.0.0.0/0.0.0.0
user "keyguard" there has password "kis10aaa" is key here

Как с такой проблемой бороться?

SteelKey
()

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