LDAP per S2

Ho finito di mettere insieme la sostituta di S2.

Ero partito con l’idea di realizzare il tutto con schema ldap il più standard possibili ma mi sono presto dovuto scontrare con la dura realtà: di fatto ogni produttore ha implementato un proprio schema :-/

Ho scelto quindi di utilizzare lo schema di JAMM ma senza usarne l’interfaccia grafica perchè scritta in java… a metà del lavoro ho scoperto l’esistenza del progetto phamm, per altro guidato da due italiani, che parte dall’idea di realizzare un’admin php per lo stesso schema.

Ho messo in piedi tutto il cinema: postfix, dovecot, amavis, clam, spamassassin, gnarwl con le configurazioni su ldap (openldap). Un pezzo alla volta, ora funziona tutto. Metterò online le configurazione appena le avrò limate a modino.

Zio impazzito

Oggi mentre seguivo il mio n-esimo lavoro sono stato allarmato dal Jamo e poi dal Corra su un problema che affligge le immagini sul sito.

Appena rientrato in casa ho dato un’occhiata: il problema si è palesato immediatamente:

arancia:~/tmp fabio$ wget -S http://www.inter.it/img/headers/ita/it_header_sky-materazi.jpg
--19:55:54-- http://www.inter.it/img/headers/ita/it_header_sky-materazi.jpg
=> `it_header_sky-materazi.jpg'
Resolving www.inter.it... 217.169.113.132
Connecting to www.inter.it[217.169.113.132]:80... connected.
HTTP request sent, awaiting response...
1 HTTP/1.1 200 OK
2 Date: Wed, 19 Jan 2005 18:56:05 GMT
3 Server: Apache/2.0.52 (Debian GNU/Linux)
4 Cache-Control: max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600, max-age=600
5 Expires: Wed, 19 Jan 2005 16:10:12 GMT, Wed, 19 Jan 2005 16:20:02 GMT, Wed, 19 Jan 2005 16:20:18 GMT, Wed, 19 Jan 2005 16:31:09 GMT, Wed, 19 Jan 2005 16:31:56 GMT, Wed, 19 Jan 2005 16:42:07 GMT, Wed, 19 Jan 2005 16:42:13 GMT, Wed, 19 Jan 2005 16:52:22 GMT, Wed, 19 Jan 2005 16:52:22 GMT, Wed, 19 Jan 2005 17:03:15 GMT, Wed, 19 Jan 2005 17:04:57 GMT, Wed, 19 Jan 2005 17:15:14 GMT, Wed, 19 Jan 2005 17:15:15 GMT, Wed, 19 Jan 2005 17:25:19 GMT, Wed, 19 Jan 2005 17:25:29 GMT, Wed, 19 Jan 2005 17:36:09 GMT, Wed, 19 Jan 2005 17:36:27 GMT, Wed, 19 Jan 2005 17:46:27 GMT, Wed, 19 Jan 2005 17:46:32 GMT, Wed, 19 Jan 2005 17:56:37 GMT, Wed, 19 Jan 2005 17:57:37 GMT, Wed, 19 Jan 2005 18:07:38 GMT, Wed, 19 Jan 2005 18:07:41 GMT, Wed, 19 Jan 2005 18:17:41 GMT, Wed, 19 Jan 2005 18:17:57 GMT, Wed, 19 Jan 2005 18:28:06 GMT, Wed, 19 Jan 2005 18:28:34 GMT, Wed, 19 Jan 2005 18:38:34 GMT, Wed, 19 Jan 2005 18:38:38 GMT, Wed, 19 Jan 2005 18:48:40 GMT, Wed, 19 Jan 2005 18:48:49 GMT, Wed, 19 Jan 2005 19:01:55 GMT, Wed, 19 Jan 2005 19:02:17 GMT
6 ETag: "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014", "132f2a-8ade-41a49014"
7 Accept-Ranges: bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes, bytes
8 Last-Modified: Wed, 24 Nov 2004 13:43:48 GMT
9 Content-Length: 34389
10 Content-Type: image/jpeg
11 Age: 206
12 Keep-Alive: timeout=5, max=100
13 Connection: Keep-Alive

100%[====================================>] 34,389 --.--K/s

19:55:54 (492.55 KB/s) - `it_header_sky-materazi.jpg' saved [34389/34389]

Il nostro reverse-proxy-cache part time ZIO sembra impazzito… non ho ancora identificato il problema ma l’ho tolto dal pool di cache sotto il load-balancer. La cosa strana è che la configurazione è del tutto identica alle altre due cache che hanno funzionato bene finora.

Coincidenza ho anche qualche problema con la cache in test basata su squid… ogni tanto muore senza dare errori…

Risolto REF MOVIE

Facendo un po’ di reverse engeneering ho scoperto che per generare un ref-movie esiste anche un formato testuale.

Fantastico perché la soluzione che avevo trovato era veramente sporca, oltre a non funzionare per tutti i filmati.

Banale il ref-movie generato:
rtsptext
rtsp://127.0.0.1:7070/mov/test.mov

Un po’ di chiarimenti saltano fuori cercando “rtsptext” su google… in particolare:
http://www.soundscreen.com/streaming/cgi.html

Gv ha controllato la QTSS admin guide che dedica ben 1 riga alla fine di un paragrafo all’argomento :-/

Otimizzare il clusterone

Grandi manovre sui server per cercare di ottimizzare un po’ le risorse che abbiamo.

In particolare:
1. Ho creato un *canale* preferenziale per l’accesso amministrativo anche quando la scheda di rete di veleno tende a saturare i suoi 100Mb
2. Sto’ testando squid come accelerator+cache in alternativa ad apache2

Unico problema al momento è mantenere una consistenza nei log. Visto che in squid non è possibile mandare i log in pipe ad un programma ho optato per una named pipe, e in background faccio girare:
cat /path/squid-pipe | cronolog ...

Risolta anche una magagna di rete, dovuta al fatto che se ho 2 interfacce di rete con due classi diverse e forzo una route statica di un singolo host della prima subnet sull’interfaccia di rete della seconda, i pacchetti che invio raggiungono si l’host ma, *giustamente*, con l’ip source della seconda interfaccia. Questo per esemplificare… in realtà la cosa è ulteriormente incasinata da altri fattori :-)

Purtroppo anche oggi (stanotte!) non ho avuto tempo di lavorare alla migrazione del server di posta elettronica.

s/2004/2005/

E quest’anno esce di scena facendo un bel po’ di rumore.

Non ci sono parole per descrivere la tragedia del sud-est asiatico… e la televisione certo non aiuta alternando il gossip tragedia con il surreale opportunamente intercalati da teorie di fisica.

L’intervento più intelligente l’ho trovato stamattina su il manifesto nell’editoriale di Alex Zanotelli che ripropone la cancellazione *incondizionata* del debito dei paesi che sono stati colpiti dalla catastrofe.

Tanti auguri al 2005… non sarà una passeggiata :-/

vauro-fine2004.gif

Baby Tux

Oggi ho ricevuto un ultimo regalo di natale dal Corra… forse non era proprio per me ma io me lo sono fatto andare bene :-)

fabutux.jpg

ARP-CROCCHI

Ovvero accrocchi di arp.

E’ già un po’ che mi chiedo cosa sia sto’ giochino di fastweb:

system.log:
Dec 30 02:13:39 arancia kernel: arp: 1.xxx.yyy.176 moved from 00:00:0c:07:ac:00 to 00:03:6f:00:a1:cc on en0

shell:
Welcome to Darwin!
arancia:~ fabio$ arp -a
? (1.xxx.yyy.1) at 0:0:c:7:ac:0 on en0 [ethernet]
arancia:~ fabio$ ping 1.xxx.yyy.176
PING 1.xxx.yyy.176 (1.xxx.yyy.176): 56 data bytes
64 bytes from 1.xxx.yyy.176: icmp_seq=0 ttl=254 time=7.241 ms
64 bytes from 1.xxx.yyy.176: icmp_seq=1 ttl=255 time=5.858 ms
64 bytes from 1.xxx.yyy.176: icmp_seq=2 ttl=255 time=3.954 ms
^C
--- 1.xxx.yyy.176 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 3.954/5.684/7.241 ms
arancia:~ fabio$ arp -a
? (1.xxx.yyy.1) at 0:0:c:7:ac:0 on en0 [ethernet]
? (1.xxx.yyy.176) at 0:3:6f:0:a1:cc on en0 [ethernet]

(il .1 è il default gw, il .176 l’hag di casa mia)

Il tutto capita esattamente ogni 30 minuti.
Boh… appena ho un po’ di voglia ci sbatterò la testa (magari con una macchina linux!)

UPDATE: mi sa che è una vaccata: macosx (*bsd?) quando trova un nuovo mac address segnala un cambio di arp dal default gw a quel mac address… burp!
(questa volta fastweb non centra proprio nulla)

Downgrade DSS

Con il passaggio a Sarge su veleno avevo fatto l’upgrade del Darwin Streaming Server alla versione 5.0.1.

Sono già un paio di volte che Jamo mi segnala che ha dovuto riavviare il DSS incriccato :-/ L’error.log non mi da’ molte informazioni: per non saper ne leggere ne scrivere (e soprattutto per evitare di essere disturbato durante le feste :-) ) ho reinstallato la versione 4.1.3 che con woody non aveva mai dato problemi. Speriamo che non litighi con le librerie di Sarge.

Il downgrade è del tutto simile all’upgrade, tanto lo script non indaga sul fatto che la versione installata sia precedente o no: basta lanciare lo script Install :-)
Io cmq ho fatto un backup di /etc/streaming che ho ripristinato subito dopo l’installazione, giusto per evitare di ripristinare i singoli file dalla copia .backup che genera lo script.