Portál AbcLinuxu, 25. května 2024 10:47

Linux FAX - dirty hack

11.5.2007 22:17 | Přečteno: 2077× | Linuxové báchorky | Výběrový blog | poslední úprava: 11.5.2007 22:53

Zdravim

V jedné malé firmě (5 účtů) žil byl MS SBS 2003, dělal firewall, doménu, exchange poštu a fax.

Správce byl z různých důvpdů odejit a přišel jsem já. První co jsem udělal bylo, že jsem nechal zakoupit repas PIII 1Ghz a přesunul na něj firewall, DNS a DHCP. Potud bylo ješte vše v pořádku. Inet šel jak má a občasné pády a záseky wokenního serveru neměly vliv na chod inetu.

Nastala potřeba přejmenovat jeden uživatelský účet. Se zachováním všeho nastavení, nejdůležitější bylo změnit jméno, které Outlook odesílal s každým emailem. No strávil jsem nad tím snad 2 odpoledne a prostě se to nepodařilo. Přepsal jsem v klikátkých kde co, ale outlook pořád trval na svém.

A aby toho nebylo dost, na dotyčný email přestala pošta chodit uplně. Přisla jedna nebo dvě zprávy a pak bylo potřeba v Exchangi něco změnit tak a zase změnit zpátky a zase pár emailů přišlo.

Rozhodl jsem se přesunout poštu na Linux poněkud dříve než jsem to měl původně v plánu. Zvolil jsem courier-mta, protože integruje smtp+imap+pop3 i fax, který se vcelku aktivně používá. (Probůh proč, v roce 2007 !!!!!!)

Poštu jsem rozchodil, to nebyl nějak zásadní problém, klientům místo Outlooku nainstaloval Thunderbird a přišel první problém. Kurýří SMTP se chová strašně. Z lokálu funguje jak má, z internetu se tváří jako filtered, telnetem se připojit nelze, ale emaily zvenčí přijdou. Nechápu. A nakonec v Thunderbirdu trvá odeslání jedné zprávy třeba půl minuty až minutu. Co to dělá nemám tušení, ale nakonec to odešle.

Příchozí fax jsem nakonec také rozjel. Potřebuje to mgetty+sendfax. A v tom to přišlo. Takový soft dnes už skoro nikdo nepoužívá a ani za dob své zašlé slávy to nebylo tak masově rozšířené jako třeba ovladač k nvidii. Návodů minimum a když už, tak rozporuplné a deset let staré. Do toho nutnost navázání mgetty a courier prostřednictvím skriptu new_fax, kterej má mgetty spustit po příchodu nového faxu.

Odchozí faxy jsem nerozchodil. Podle manualu to ma jit odesilat na 123456789@fax, ale smtp mi @fax neustále odmítal. Neřešil jsem, odesílat se dá i z plastového faxu.

Včera mi volal šéfik, že nejdou faxy. K tomu se přibalily takovy pitomosti jako vytvoření nového emailového ůčtu a pár prkotin. No byl jsem tam do 19:55, faxy jsem nevyřešil. Modem přestal do PC posílat RING, přitom druhej modem, kterej ale neumí faxovat RING posílá. Posílal jsem do něj milión AT příkazů, modem nic. Pokoušel jsem se i o odchozí fax, ten se sice podařilo tak nějak odesílat pomocí "echo "blee" > sendmail 123456789@fax", ale z Thunderbirdu pořád nic.

Dnes ráno volal zase, poněkud naštván, že pro jistotu už nechoděj ani emaily. Zjistil jsem, že jak jsem se snažil donutit Courier akceptovat doménu @fax, tak jsem zablokoval odesílání ůplně. SSH jsem žhavil celé dopoledne, ne a ne problém najít. Nakonec jsme smazal komplet konfiguraci courieru a vytvořil to znovu. No pošta sice začala fungovat, ale tajné přání, že by odesílání už nemuselo trvat přes půl minuty se nevyplnilo.

Zárověň chtěl, abych jim vrátil Outlook, že jsou na něj zvyklý a že v něm maj kalendář. Že jim Thunderbird nepřinesl žádné zlepšení. Mají Thunderbird cca 2-3 týdny. Navíc Thunderbird 2.0.0 je asi nějaká beta, protože některé věci (přesun spamu do extra složky) apod. vůbec nefungovali.

Dnes jsem tam opět strávil celé odpoledne. Nejprve jsem vyměnil modem za jiný kus, naprosto stejný model a RING začal fungovat. Těžko do něj bouchl blesk, když je za ISDN fritzem. Nechápu. Ještě jsem pořešil pár drobností s mailovými aliasy pro novou zaměstnankyni ze včerejška a říkal si, že všechny problémy ze včerejška rychle mizí.

To jsem se ale přepočítal. Nešli příchozí faxy. Modem sice fax přijal, uložil do /var/spool/fax/incoming, ale skript new_fax, kterej to má přetransformovat na email, prostě nespustil. Strávil jsem nad tím několik hodin, nic. Co návod to jiná defaultní cesta. Ani cesta zvolená při kompilaci nefungovala. Nějakým parametrem to zřejmě změnit nejde. Pro test jsem do toho skriptu dal "echo "bleee" > /tmp/testfile". Nic, prostě nic.

Když jsem skript spustil ručně a předal mu potřebné parametry včetně faxových souboru, tak email vytvořil a do Outlooku přišel. To už jsem nastavil IMAP-SMTP účet do Outlooku. Nakonec mě napadlo spásné řešení, jehož výsledek je zde. Slabé povahy upozorňuji, že se jedná o hnusný a ošklivý hack, ale díky němu jsem mohl šéfikovi říct že faxy chodí.

/etc/inittab:

F1a:3:respawn:/check_new_fax

/check_new_fax:

#!/bin/bash
/usr/local/sbin/mgetty -x 9 -F ttyS2
if [ ! -f /var/spool/fax/incoming/* ]; then
 exit;
fi;
sleep 5
head=$(ls /var/spool/fax/incoming | cut -d . -f1 | uniq | head -n1)
ident=$(echo $head | cut -d "-" -f 2-)
stranek=$(ls /var/spool/fax/incoming/$head.* | wc -l)
new_fax 1 $ident $stranek $(ls /var/spool/fax/incoming/$head.*)

Skript jsem původně napsal pro pravidelné spouštění z cronu, kdy má z adresáře /var/spool/fax/incoming zpracovávat jen jeden příchozí fax. Faxy se skládají ze stránek a to jsou jednotlivé soubory. Šlo by to trochu zjednodušit, to určitě. Uniq je tam koukám zbytečný, ale šlo o čas.

Na začátku se spustí mgetty a čeká dokavad nepřijde fax, jakmile přijde, mgetty se ukončí, v inittabu je respawn. Pak je test zda existují nějaké soubory (zbylo z cron verze), pak pro jistotu sleep 5, pak už se jen získají jména souborů, získá se identifikace a počet souborů. Na konci se spustí kýžený skript, tomu se musí předat návratový kód (dal jsem 1 a ničemu to zřejmě nevadí), identifikace odesílatele (získáno z názvu souboru), počet stránek (počet souborů) a nakonec jednotlivé faxové soubory.

Fuj, fuj fuj a ještě jednou třikrát fuj. Nemám rád fax! Den blbec!

Zdeněk

       

Hodnocení: 90 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

11.5.2007 22:44 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Odpovědět | Sbalit | Link | Blokovat | Admin
A vzpomeňme při této příležitosti prolézačky pro děti.
Luk avatar 11.5.2007 23:00 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Odpovědět | Sbalit | Link | Blokovat | Admin
Tohle mi něco podezřele silně připomíná. A sice to, jak jsem zprovozňoval mailing listy na kombinaci Postfix + Smartlist. Předávání do smartlistu přes rouru jsem prostě a jednoduše nerozchodil. Takže také nastoupil dirty hack - doručování jsem nastavil normálně do maildiru, tam pak periodickou kontrolu (kvůli staré verzi kernelu bohužel nešel využít incron) s tím, že se došlé zprávy cpou do Smartlistu a následně mažou.
Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
karoliner avatar 12.5.2007 20:05 karoliner | skóre: 9 | blog: karoliner | Mosty u Jablunkova
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Odpovědět | Sbalit | Link | Blokovat | Admin

V jedné malé firmě (5 účtů) žil byl MS SBS 2003, dělal firewall, doménu, exchange poštu a fax.

Tahle věta na začátku a pak všechny peripetie dále v blogu jsou skvělým argumentem pro migraci z Windows na Linux :-D
"Čistý štít!" Kohouti jsou malí páni, to jitřenka řídí kokrhání.
karoliner avatar 12.5.2007 20:07 karoliner | skóre: 9 | blog: karoliner | Mosty u Jablunkova
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Ale jinak tě upřímně lituju, někdy jsou takové kšefty na mašli.
"Čistý štít!" Kohouti jsou malí páni, to jitřenka řídí kokrhání.
12.5.2007 22:05 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
No bacha, to ze ten server dodnes pada parkrat do tydne, faxy chodily jako ze spis nechodily (vyresilo se vetsinou rebootem), pravidelne kazde pondeli byl vytuhly, ze je zavirovany az po strop a ze ac je to P4 asi 3.6Ghz bootuje cca 25 minut a je pomaly jak snek, to jsem ani nepsal. To jsou takove bezne veci, prislo mi zbytecne to zduraznovat.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
14.5.2007 15:14 dotaz
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Odpovědět | Sbalit | Link | Blokovat | Admin
A nakonec v Thunderbirdu trvá odeslání jedné zprávy třeba půl minuty až minutu.

Možná hloupá otázka - jsou ty mašiny, odkud se odesílá, v /etc/hosts? Možná by to pomohlo, co je v logu?
18.5.2007 18:35 misch
Rozbalit Rozbalit vše Re: Linux FAX - dirty hack
Což mi připomíná, že 99% problémů v Linuxu pomůže vyřešit strace :)

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.