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.