<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Steppenwolf</title>
	<atom:link href="http://www.steppen-wolf.eu/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.steppen-wolf.eu/blog</link>
	<description>Home Page</description>
	<lastBuildDate>Sun, 19 May 2013 20:50:55 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Streaming Evento Ferus Trapani (25-01-2013)</title>
		<link>http://www.steppen-wolf.eu/blog/2013/01/14/streaming-evento-ferus-trapani-25-01-2013/</link>
		<comments>http://www.steppen-wolf.eu/blog/2013/01/14/streaming-evento-ferus-trapani-25-01-2013/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 15:13:23 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Alessandro Librio]]></category>
		<category><![CDATA[Evento Ferus]]></category>
		<category><![CDATA[Trapani]]></category>
		<category><![CDATA[Visual Art]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1575</guid>
		<description><![CDATA[A 30 anni dall&#8217;assassinio del magistrato Giangiacomo Ciaccio Montalto, il 25 Gennaio 2013 alle ore 17:00 il Palazzo di Giustizia di Trapani apre le porte alla cittadinanza per affidare un messaggio di speranza alla voce ed al sentire della cultura, &#8230; <a href="http://www.steppen-wolf.eu/blog/2013/01/14/streaming-evento-ferus-trapani-25-01-2013/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/' rel='bookmark' title='l&#8217;incaprettato'>l&#8217;incaprettato</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">A 30 anni dall&#8217;assassinio del magistrato Giangiacomo Ciaccio Montalto, il 25 Gennaio 2013 alle ore 17:00 il Palazzo di Giustizia di Trapani apre le porte alla cittadinanza per affidare un messaggio di speranza alla voce ed al sentire della cultura, dell&#8217;arte e dell&#8217;impegno civile, nella convinzione che il bello, il giusto ed il buono della nostra terra sconfiggeranno la violenza, la sopraffazione e la devianza criminale che hanno insanguinato ed avvilito la Sicilia dei nostri anni. L&#8217;evento Ferus ha già riscosso una grande partecipazione popolare al Palazzo di Giustizia di Catania lo scorso 23 maggio, per il ventennale dalle stragi di Capaci e di Via D&#8217;Amelio, trasformando il tribunale in luogo ideale per l&#8217;espressione.</p>
<p><em>In collaborazione con</em>:</p>
<p><a href="http://www.eventoferus.com/" target="_blank" title="Evento Ferus"><img src="http://www.steppen-wolf.eu/blog/images/ferus_logo_small.png" alt="Evento Ferus" title="Evento Ferus" width="223" height="80" /> <br /></a><a href="http://www.facebook.com/pages/Associazione-culturale-50mt/416732905005020" target="_blank" title="Associazione Culturale 50mt"><img src="http://www.steppen-wolf.eu/blog/images/logo_50_small.jpg" alt="Associazione Culturale 50mt" title="Associazione Culturale 50mt" width="80" height="80" /></a><a href="http://www.associazionenazionalemagistrati.it/" target="_blank" title="Associazione Nazionale Magistrati"><img src="http://www.steppen-wolf.eu/blog/images/logo_anm_large.jpg" alt="Associazione Nazionale Magistrati" title="Associazione Nazionale Magistrati" width="524" height="80" /></a></p>
<p><!--</p>
<p><iframe width="720" height="437" src="http://www.ustream.tv/embed/13000700?v=3&amp;wmode=direct" scrolling="no" frameborder="0" style="border: 0px none transparent;"></iframe></p>
<p>&#8211;></p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/' rel='bookmark' title='l&#8217;incaprettato'>l&#8217;incaprettato</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2013/01/14/streaming-evento-ferus-trapani-25-01-2013/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Network Flow using Sankey Diagram</title>
		<link>http://www.steppen-wolf.eu/blog/2012/12/02/network-flow-using-sankey-diagram/</link>
		<comments>http://www.steppen-wolf.eu/blog/2012/12/02/network-flow-using-sankey-diagram/#comments</comments>
		<pubDate>Sun, 02 Dec 2012 17:40:24 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[d3.js]]></category>
		<category><![CDATA[network flow]]></category>
		<category><![CDATA[ntop]]></category>
		<category><![CDATA[ntop 5.0]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[sankey diagram]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1542</guid>
		<description><![CDATA[Qualche mese fa ho sviluppato un plugin, scritto in python, per la visualizzazione dei flussi di rete, per il programma nTop di Luca Deri. Il plugin è presente di default nella versione 5.0 di ntop. Il diagramma “Sankey” è uno &#8230; <a href="http://www.steppen-wolf.eu/blog/2012/12/02/network-flow-using-sankey-diagram/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss yarpp-related-none'>

Nessun articolo correlato.
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Qualche mese fa ho sviluppato un plugin, scritto in python, per la visualizzazione dei flussi di rete, per il programma nTop di Luca Deri. Il plugin è presente di default nella <a title="ntop 5.0 Released" href="http://www.ntop.org/ntop/ntop-5-0-released/" target="_blank">versione 5.0 di ntop</a>.</p>
<p style="text-align: justify;">Il <a title="Wiki: Sankey Diagram" href="http://en.wikipedia.org/wiki/Sankey_diagram" target="_blank">diagramma “Sankey”</a> è uno specifico diagramma di flusso, nel quale viene mostrata la larghezza delle frecce in proporzione alla quantità di flusso. Generalmente sono utilizzati per visualizzare le quantità di energia o materiali o costi tra i processi.<br />
In questo programma, Network Flows, il diagramma di flusso Sankey viene utilizzato per mostrare le quantità di dati (flussi di rete), espressi in bytes, transitati tra uno o più host.</p>
<p style="text-align: justify;"><a href="http://www.steppen-wolf.eu/blog/wp-content/sankey_1.png"><img class="alignleft size-large wp-image-1550" title="Network Flow using Sankey Diagram 1" src="http://www.steppen-wolf.eu/blog/wp-content/sankey_1-1024x531.png" alt="Network Flow using Sankey Diagram 1" width="584" height="302" /></a></p>
<p style="text-align: justify;">Si può facilmente notare che in questo primo diagramma non si evidenziano le informazioni dei protocolli presenti nei flussi. Si è scelto di proposito di dare, in primo luogo, una visione d&#8217;insieme dei flussi maggiori della rete, lasciando, tuttavia, la possibilità di cliccare su un particolare flusso per aumentare il livello di dettaglio dei dati ed, eventualmente, di filtrarli selezionando solo i protocolli voluti.<br />
In questo primo diagramma tutti i flussi di rete tra due host sono accorpati, le uniche informazioni mostrate sul flusso sono la sua direzione e dimensione.</p>
<p>Il programma Network Flows nella sua versione dimostrativa, <a title="Code: Network Flow" href="http://www.steppen-wolf.eu/work/sgr/network_flow.tar.gz">liberamente scaricabile in licenza gpl</a>, acquisisce le informazioni da visualizzare da un file, dove ogni riga è definita come:</p>
<pre>host sorgente | host destinazione | bytes in | bytes out | proto layer 4| proto layer 7</pre>
<p style="text-align: justify;">Questo file viene elaborato dallo script python <em>sankey.py</em> che produrrà un output in formato json. I dati sono organizzati in:</p>
<ul>
<li style="text-align: justify;">una lista di nodi, dove ogni nodo è definito da un nome rappresentante l&#8217;indirizzo ip dell&#8217;host, altrimenti dal suo nome risolto, seguita da</li>
<li style="text-align: justify;">una lista di archi, dove per ogni arco è definito il suo nodo di origine, il suo nodo di destinazione, il suo peso e la sua direzione;</li>
<li>meta informazioni, che definiscono:
<ul>
<li>il numero massimo di host che si è scelto di visualizzare nel diagramma;</li>
<li>l&#8217;ordine di misura del peso di un arco;</li>
<li>i protocolli layer 4 e layer 7 presenti nei flussi dati;</li>
<li>i sottoinsiemi dei predetti protocolli che si è scelto di visualizzare nel diagramma;</li>
<li>più alcune variabili di stato.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">Lo script <em>sankey.py</em> computa i dati letti da file creando, per ogni nuova tupla di indirizzi degli host sorgente/destinazione, un nuovo elemento nell&#8217;hashmap <em>archi</em>, se la tupla è già presente i dati verranno sommati a quelli esistenti.</p>
<p>Per ogni chiave (sorgente/destinazione) vengono memorizzate più informazioni:</p>
<ul>
<li>la somma dei byte in ingresso e in uscita; dato che poi verrà usato per rappresentare il peso di quell&#8217;arco, sia per ordinare i flussi in ordine decrescente;</li>
<li>i byte in ingresso;</li>
<li>i byte in uscita;</li>
<li style="text-align: justify;">un hashmap rappresentante i protocolli layer 4, la cui chiave è il nome del protocollo del livello di trasporto, che, a sua volta, memorizzerà:
<ul>
<li>la somma dei byte in ingresso e uscita per quel protocollo;</li>
<li>un&#8217;ultima hashmap, rappresentante i protocolli layer 7, le cui chiavi sono in nomi dei protocolli del livello applicativo, che, a sua volta, memorizzerà:
<ul>
<li>la somma dei byte in ingresso e in uscita;</li>
<li>i byte in ingresso;</li>
<li>I byte in uscita per ogni protocollo layer 7.</li>
</ul>
</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">La ragione di questo gioco di matriosche è di poter dare all&#8217;utente, una volta valutata la visione d&#8217;insieme dei flussi di rete, la possibilità di avere delle informazioni più dettagliate su un paticolare flusso, tra due specifici host, cliccandovi sopra.</p>
<p style="text-align: justify;">Il diagramma di flusso sankey ha dunque due visualizzazioni.<br />
La prima, nella quale ogni host è definito come un rettangolo a cui viene associato un nome e un colore che lo identificano. In questa visualizzazione ogni rettangolo avrà almeno due archi uno uscente e l&#8217;altro entrante (almeno di non trovarci nel caso limite di un flusso in un&#8217;unica direzione <em>one-way flow</em>), in cui l&#8217;arco dello stesso colore rappresenterà sempre i dati in uscita per quel nodo e l&#8217;arco di colore diverso rappresenterà il flusso di dati in ingresso avente come origine il suo host di destinazione.</p>
<p style="text-align: justify;">Nella seconda modalità di visualizzazione si potranno vedere uno o più archi, dove ogni arco rappresenta il protocollo applicativo, mentre, il colore non identifica più la direzione del flusso bensì il protocollo layer 7. I rettangoli al centro del diagramma identificano, invece, i protocolli del livello di trasporto.</p>
<p style="text-align: justify;"><a href="http://www.steppen-wolf.eu/blog/wp-content/sankey_2.png"><img class="alignleft size-large wp-image-1551" title="Network Flow using Sankey Diagram 2" src="http://www.steppen-wolf.eu/blog/wp-content/sankey_2-1024x529.png" alt="Network Flow using Sankey Diagram 2" width="584" height="301" /></a></p>
<p style="text-align: justify;">È comunque sempre possibile selezionare un sottoinsieme di protocolli o definire un numero massimo di nodi da visualizzare al fine di raffinare la rappresentazione dei dati nel diagramma di flusso in base alle esigenze dell&#8217;utente.</p>
<p style="text-align: justify;">Il compito di visualizzare i dati, una volta che lo script <em>sankey.py</em> ha finito di elaborarli, è lasciato alla libreria grafica d3.js, la quale produrrà un grafico in formato svg.</p>
<p style="text-align: justify;">É opportuno far notare che il codice che disegna il grafo di flusso sankey, quando è stato scritto il programma Network Flow, non era presente nella libreria d3, poiché era ancora in fase di sviluppo. Lo sviluppatore della libreria, <a title="Mike Bostock Home Page" href="http://bost.ocks.org/mike/" target="_blank">Mike Bostock</a>, prevede in futuro un possibile miglioramento dell&#8217;algoritmo al fine di minimizzare la sovrapposizione dei collegamenti o per <a title="Mike Bostock: Sankey Diagrams" href="http://bost.ocks.org/mike/sankey/" target="_blank">supportare grafi ciclici</a> come i cicli al primo hop o connessioni di loopback.</p>
<p style="text-align: justify;">In merito agli archi di ritorno, per ovviare al problema ho scelto di confrontare, come stringhe, per ogni arco la sua sorgente e la sua destinazione. Se la sorgente è maggiore della destinazione la computazione dei dati rimane invariata, altrimenti, viene eseguito il complementare dei dati, invertendo la tupla sorgente/destinazione e viene eseguita la somma dei dati in ingresso alla variabile che conta i dati in uscita e viceversa.</p>
<p style="text-align: justify;">Per chi ha installato python 3 di default, è d&#8217;obbligo modificare la prima riga del file: <em>sankey.py</em> da</p>
<pre>#!/usr/bin/env python</pre>
<p style="text-align: justify;">a</p>
<pre>#!/usr/bin/env python2</pre>
<p style="text-align: justify;"><em>Grazie nignux per la segnalazione <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</em></p>
<p>Per avviare il programma bisogna dare il comando</p>
<pre>python webserver.py</pre>
<p style="text-align: justify;">mentre per visualizzare il diagramma basta andare alla pagina</p>
<pre>http://localhost:8090/</pre>
<p style="text-align: justify;"><a title="Codice sorgente network flow, versione dimostrativa" href="http://www.steppen-wolf.eu/work/sgr/network_flow.tar.gz">Codice sorgente</a> in licenza gpl v3.</p>
<div class='yarpp-related-rss yarpp-related-none'>
<p>Nessun articolo correlato.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2012/12/02/network-flow-using-sankey-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>l&#8217;incaprettato</title>
		<link>http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/</link>
		<comments>http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/#comments</comments>
		<pubDate>Wed, 23 May 2012 03:51:44 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Personale]]></category>
		<category><![CDATA[Alessandro Librio]]></category>
		<category><![CDATA[peformance]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1506</guid>
		<description><![CDATA[Il 23 maggio, a partire dalle 17:58 fino alle 24:00 andrà in streaming la performance &#8220;l&#8217;incaprettato&#8221; di Alessandro Librio, in occasione del ventesimo anniversario della morte di Giovanni Falcone.Sarà presente all&#8217;interno del Palazzo di Giustizia di Catania, oltre alla performance &#8230; <a href="http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/' rel='bookmark' title='Installazione &#8220;Palermo a Venezia&#8221; di Alessandro Librio'>Installazione &#8220;Palermo a Venezia&#8221; di Alessandro Librio</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;"><span style="font-size: medium;">Il 23 maggio, a partire dalle 17:58 fino alle 24:00 andrà in streaming la performance &#8220;l&#8217;incaprettato&#8221; di Alessandro Librio, in occasione del ventesimo anniversario della morte di Giovanni Falcone.</span><br /><span style="font-size: medium;">Sarà presente all&#8217;interno del Palazzo di Giustizia di Catania, oltre alla performance &#8220;l&#8217;incaprettato&#8221;, l&#8217;installazione sonora &#8220;FINE&#8221;, realizzata dallo stesso artista, entrambe commissionate dall&#8217;Associazione Nazionale Magistrati.</span></p>
<p><iframe src="http://player.vimeo.com/video/42758021" width="500" height="275" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/' rel='bookmark' title='Installazione &#8220;Palermo a Venezia&#8221; di Alessandro Librio'>Installazione &#8220;Palermo a Venezia&#8221; di Alessandro Librio</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2012/05/23/lincaprettato/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy birthday</title>
		<link>http://www.steppen-wolf.eu/blog/2011/12/25/happy_birthday/</link>
		<comments>http://www.steppen-wolf.eu/blog/2011/12/25/happy_birthday/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 23:00:52 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Personale]]></category>
		<category><![CDATA[Happy birthday]]></category>
		<category><![CDATA[xkcd]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1415</guid>
		<description><![CDATA[<div class='yarpp-related-rss yarpp-related-none'>

Nessun articolo correlato.
</div>
]]></description>
				<content:encoded><![CDATA[<p><a title="10: goto xkcd.com" href="http://xkcd.com/" target="_blank"><img class="alignnone" title="december_25th" src="http://www.steppen-wolf.eu/blog/wp-content/december_25th.png" alt="Happy Bitrthday" width="637" height="205" /></a></p>
<div class='yarpp-related-rss yarpp-related-none'>
<p>Nessun articolo correlato.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2011/12/25/happy_birthday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCP Socket (af_inet)(IPv4/IPv6)(with ssl) – c language</title>
		<link>http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/</link>
		<comments>http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 15:04:01 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[C language]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[af_inet]]></category>
		<category><![CDATA[c language]]></category>
		<category><![CDATA[posix]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[signal]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tcp socket]]></category>
		<category><![CDATA[tcp ssl socket]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[thread pool]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1402</guid>
		<description><![CDATA[This program is an example of programming a TCP socket in C language, using the well-known client-server programming model. The server side is multi-threaded, but the thread is optional since the developer/designer is still responsible for deciding if he/she needs &#8230; <a href="http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/' rel='bookmark' title='Threads pool (posix) &#8211; c language (ver 2)'>Threads pool (posix) &#8211; c language (ver 2)</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">This program is an example of programming a TCP socket in C language, using the well-known client-server programming model.<br />
The server side is multi-threaded, but the thread is optional since the developer/designer is still responsible for deciding if he/she needs it.</p>
<p style="text-align: justify;">The library &#8220;commv6.c&#8221; develops all the functions to create, bind, listen, and remove a socket AF_INET, and the functions to send and receive messages (using the methods read and write). It supports: IPv4/IPv6 and SSL (see commSSL.c).<br />
The structure of a message is defined in the file &#8220;msg.h&#8221;.</p>
<ul>
<li><a title="Documentazione doxygen" href="http://www.steppen-wolf.eu/work/tcpserver/doc/index.html" target="_blank">Doxygen documentation</a></li>
<li><a title="Source code (licenza gpl v3)" href="http://www.steppen-wolf.eu/work/tcpserver/tcpsocket.7z">Source code</a> (gpl v2)</li>
</ul>
<p style="text-align: justify;">Code tested under debian-like and arch linux platform (thanks to nignux).</p>
<hr style="height: 1px; border-width: 1px; border-style: solid; border-color: #CCCCCC; color: #ffffff;" noshade="noshade" size="1" />
<p style="text-align: justify;">Questo programma è un esempio di programmazione di un socket TCP in linguaggio C, utilizzando il ben noto paradigma di programmazione client-server.<br />
Il lato server è multi-threaded, ma è del tutto opzionale, e sarà responsabilità dello sviluppatore decidere se ne ha bisogno.</p>
<p style="text-align: justify;">La libreria &#8220;commv6.c&#8221; sviluppa tutte le funzioni per creare, pubblicare, rimanere in ascolto e rimuovere una  socket af_inet, e le funzioni per inviare e ricevere messaggi (usando i metodi read e write). Il codice supporta socket ipv4/ipv6 e SSL (commSSL.c)<br />
La struttura di un messaggio è definita nel file &#8220;msg.h&#8221;.</p>
<ul>
<li><a title="Documentazione doxygen" href="http://www.steppen-wolf.eu/work/tcpserver/doc/index.html" target="_blank">Documentazione doxygen</a></li>
<li><a title="Codice sorgente (licenza gpl v3)" href="http://www.steppen-wolf.eu/work/tcpserver/tcpsocket.7z">Codice sorgente </a>(gpl v2)</li>
</ul>
<p>Codice testato sotto piattaforma debian-like e arch linux (ringraziamenti a nignux).</p>
<hr style="height: 1px; border-width: 1px; border-style: solid; border-color: #CCCCCC; color: #ffffff;" noshade="noshade" size="1" />
<div id="gt-res-content">
<div style="text-align: justify;" dir="ltr">Be careful when you do a read(/write) on a socket: the machine at the other end of the socket is of your own platform (x86/x64)?</div>
<div style="text-align: justify;" dir="ltr">Fate attenzione quando fate una read(/write) su una socket: la macchina dall&#8217;altro capo della socket è della vostra stessa piattaforma (x86/x64)?</div>
</div>
<table border="0">
<tbody>
<tr>
<td></td>
<td>x86</td>
<td>x64</td>
</tr>
<tr>
<td>sizeof(char)</td>
<td> 1</td>
<td> 1</td>
</tr>
<tr>
<td>sizeof(short)</td>
<td> 2</td>
<td> 2</td>
</tr>
<tr>
<td>sizeof(float)</td>
<td> 4</td>
<td> 4</td>
</tr>
<tr>
<td>sizeof(int)</td>
<td> 4</td>
<td> 4</td>
</tr>
<tr>
<td>sizeof(unsigned int)</td>
<td> 4</td>
<td> 4</td>
</tr>
<tr>
<td>sizeof(long)</td>
<td> 4</td>
<td> <strong>8</strong></td>
</tr>
<tr>
<td>sizeof(double)</td>
<td> 8</td>
<td> 8</td>
</tr>
<tr>
<td>sizeof(long unsigned int)</td>
<td> 4</td>
<td> <strong>8</strong></td>
</tr>
<tr>
<td>sizeof(long double)</td>
<td>12</td>
<td><strong>16</strong></td>
</tr>
<tr>
<td>sizeof(long int)</td>
<td> 4</td>
<td> <strong>8</strong></td>
</tr>
</tbody>
</table>
<p>x64</p>
<pre>Linux 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux</pre>
<p>x32</p>
<pre>Linux 2.6.18-6-k7 #1 SMP Thu Aug 20 22:36:26 UTC 2009 i686 GNU/Linux</pre>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/' rel='bookmark' title='Threads pool (posix) &#8211; c language (ver 2)'>Threads pool (posix) &#8211; c language (ver 2)</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiscali Netbox G/N (Alcatel Thomson TG784)</title>
		<link>http://www.steppen-wolf.eu/blog/2011/07/13/tiscali-netbox-g-n-thomson-tg784/</link>
		<comments>http://www.steppen-wolf.eu/blog/2011/07/13/tiscali-netbox-g-n-thomson-tg784/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 07:58:18 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Hack]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[alcatel]]></category>
		<category><![CDATA[censura]]></category>
		<category><![CDATA[command line interface]]></category>
		<category><![CDATA[technicolor]]></category>
		<category><![CDATA[thomson tg784]]></category>
		<category><![CDATA[thomson tg784n]]></category>
		<category><![CDATA[tiscali netbox g]]></category>
		<category><![CDATA[tiscali netbox n]]></category>
		<category><![CDATA[ttl]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1310</guid>
		<description><![CDATA[If you are not paying for it, you’re not the customer; you’re the product being sold. — Andrew Lewis MetaFilter, 26 Agosto 2010 Richard Stallman, hackmeeting Firenze, 26 Giugno 2011 La politica di ogni provider adsl che si rispetti è &#8230; <a href="http://www.steppen-wolf.eu/blog/2011/07/13/tiscali-netbox-g-n-thomson-tg784/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><em>If you are not paying for it, you’re not the customer; you’re the product being sold. —<br />
Andrew Lewis MetaFilter, 26 Agosto 2010<br />
Richard Stallman, hackmeeting Firenze, 26 Giugno 2011</em></p>
<p style="text-align: justify;"><img class="alignleft" title="Alcatel Thomson tg784g (Tiscali Netbox g)" src="http://www.steppen-wolf.eu/blog/wp-content/thomson-tg784.jpg" alt="Alcatel Thomson tg784g (Tiscali Netbox g)" width="345" height="277" />La politica di ogni provider adsl che si rispetti è di lasciare fuori i propri clienti dall&#8217;amministrazione del router. Va da se che questo modo di fare cozza, completamente, con i miei ideali. Ovvero, io ho acquistato il modem, dunque, penso di avere il diritto di gestirlo come amministratore.</p>
<p style="text-align: justify;">Parliamo di cose serie, se siete tra i <em>fortunati</em> possessori del router Alcatel Thomson tg784g/n che viene dato (comodato d&#8217;uso o venduto) dalla Tiscali, per chi stipula un contratto voce, allora avete un serio problema di sicurezza sulla vostra rete locale.</p>
<p style="text-align: justify;">Questi pazzi hanno lasciato l&#8217;accesso telnet attivo e aperto verso internet, inoltre, le credenziali di accesso come amministratore sono note. In termini pratici un lamer potrebbe entrare nel vostro router, copiarne la configurazione e/o modificarla a suo vantaggio. Ovvero, chiunque può amministrare il vostro router senza che voi ve ne accorgete, esponendo la vostra rete locale ad attacchi di tipo <a title="Wiki: Man in the middle" href="http://it.wikipedia.org/wiki/Man_in_the_middle" target="_blank"><em>man in the middle</em></a> o al furto delle vostre credenziali di accesso alla rete adsl e voip.</p>
<p style="text-align: justify;">Bene, mettiamoci ai ripari. Il mio suggerimento è di creare un nuovo account sul router con i privilegi di amministratore e di rimuovere l&#8217;account di default.</p>
<p style="text-align: justify;">Consiglio: prima di continuare accedete all&#8217;interfaccia amministrativa web del vostro router, con le credenziali di accesso di amministratore, e salvatene la configurazione (File: <code>user.ini</code>)</p>
<p style="text-align: justify;">Cambiate l&#8217;indirizzo ip del vostro pc con <code>192.168.1.34</code> e collegatevi all&#8217;interfaccia telnet del vostro router:</p>
<pre>telnet 192.168.1.254 8081</pre>
<p>Attenzione, da rete locale il router risponderà all&#8217;interfaccia telnet solo se il pc che chiede l&#8217;accesso ha l&#8217;indirizzo <code>192.168.1.34</code>. Il motivo è una regola impostata nel firewall del router (estratto da <code>user.ini</code>):</p>
<p>Thomson TG 784 H:</p>
<pre>rule add chain=sink_system_service index=1 srcintf=lan srcip=!192.168.1.34 serv=telnet log=disabled state=enabled action=deny</pre>
<p>Thomson TG 784 N:</p>
<pre>rule add chain=sink_fire index=1 srcintf=lan srcip=!192.168.1.34 serv=telnet log=disabled state=enabled action=deny</pre>
<p>Loggatevi con le credenziali di accesso di root e date i seguenti comandi:</p>
<pre>env set var=SESSIONTIMEOUT value=0
user add name = &lt;nome&gt; password = &lt;password&gt; role = root
user list
saveall
exit</pre>
<p>sostituite:</p>
<ul>
<li style="text-align: justify;">&lt;nome&gt; col nome del vostro nuovo utente amministratore (consiglio: evitate nomi come  admin, administrator, root e simili) e</li>
<li style="text-align: justify;">&lt;password&gt; con la password da voi preferita (consiglio: metteteci una password forte).</li>
</ul>
<p style="text-align: justify;">Attenzione, alcune volte il router si pianta durante la procedura di <code>saveall</code>. Non allarmatevi se, per più di un minuto, la console telnet non risponde, riavviate il modem usando il pulsante di accensione. Generalmente il router riesce a salvare le impostazioni anche quando si pianta.<br />
Loggatevi nuovamente con le credenziali del nuovo utente che avete creato ed eseguite i seguenti comandi:</p>
<pre>env set var=SESSIONTIMEOUT value=0
user list
user delete name = &lt;nome&gt;</pre>
<p style="text-align: justify;">Sostituite &lt;nome&gt; con il nome dell&#8217;utente root standard del router.<br />
Se cancellate anche l&#8217;utente della tiscali avrete eliminato la possibilità da parte dell&#8217;assistenza remota di entrare nel vostro router: a voi la scelta.</p>
<p>E, giacché ci siamo, abilitiamo il client <a title="Wiki: Network Time Protocol" href="http://it.wikipedia.org/wiki/Network_Time_Protocol" target="_blank">ntp</a> del router:</p>
<pre>sntp add name=it.pool.ntp.org version=3
sntp config poll=60 pollpresync=5
sntp config state=enabled</pre>
<p style="text-align: justify;">inoltre, dato che la tiscali censura i dns, aggiungiamone due statici con priorità superiore a i dns della tiscali stessa:</p>
<pre>dns server route add dns=208.67.222.222 metric=1 intf=Internet
dns server route add dns=208.67.220.220 metric=1 intf=Internet
dns server route list</pre>
<p style="text-align: justify;">I dns che vedete nell&#8217;esempio precedente sono di opendns, se non vi piacciono cambiateli con quelli che più preferite. Nel mio caso ho inserito come dns il server di casa mia considerato che ho bind <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Ebbene si! In Italia esiste la censura&#8230; (lol) <del>provate a collegarvi al sito www[dot]thepiratebay[dot]org oppure www[dot]btjunkie[dot]org, prima e dopo aver cambiato i dns</del>.<br />
<del>T1scal1 censura, al momento, solo i dns,</del> Alice e altri provider eseguono una censura a livello di pacchetto, quindi, anche cambiando i dns non vi collegherete, comunque, ai siti internet censurati. (ricordate <a title="Tor Project" href="https://www.torproject.org/">tor</a> è vostro amico)</p>
<p style="text-align: justify;">Aggiornamento del 25/07. Sono spiacente di informare la censura di t1scal1 si è allineata agli altri provider adsl, censurando a livello di pacchetto e non più di solo dns&#8230;</p>
<p style="text-align: justify;">Modifichiamo la regola del firewall per il servizio telnet del router, al fine di rendere accessibile telnet da qualsiasi pc della rete locale.<br />
Creiamo una nuova espressione che identificherà il range degli indirizzi della nostra lan:</p>
<pre>expr add name=personal type=ip addr=192.168.1.0/24 mask=0</pre>
<p style="text-align: justify;">Poi modifichiamo la regola (che vi avevo mostrato prima) per il telnet:</p>
<p style="text-align: justify;">regola da usare per il modello Thomson TG 784 <strong>H</strong>:</p>
<pre>firewall rule modify chain=sink_system_service index=1 srcintf=lan srcip=!personal serv=telnet log=disabled state=enabled action=deny</pre>
<p style="text-align: justify;">regola da usare per il modello Thomson TG 784 <strong>N</strong>:</p>
<pre>firewall rule modify chain=sink_fire index=1 srcintf=lan srcip=!personal serv=telnet log=disabled state=enabled action=deny</pre>
<p style="text-align: justify;">Il comando &#8220;<code>srcintf=lan</code>&#8221; (letteralmente <em>source interface expression</em>) indica che la regola è valida solo per la rete locale lan. Se volete creare una regola per le connessioni internet dovete usare la parola &#8220;<code>wan</code>&#8220;.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Non dimenticatevi di salvare tutto prima di uscire</span>:</p>
<pre>saveall
exit</pre>
<p>Per maggiori informazioni sulla command line interface di questo router eseguite la ricerca &#8220;thomson tg784 cli&#8221; su g00gle e scaricate il pdf.</p>
<p style="text-align: justify;">Ad ogni modo, eseguendo la procedura di reset fisico del router, sarà possibile riportare il router alle impostazioni standard della adsl Tiscali.</p>
<h2>Abilitazione accesso FTP e HTTP da remoto<br />
(Aggiornamento del 10-10-2011)</h2>
<p>Non ho mai usato l&#8217;ftp del router&#8230; tuttavia sembra che a qualcuno faccia comodo <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<pre>service system ifadd name=FTP group=wan
saveall</pre>
<p><span style="text-decoration: underline;">Regola testata e NON funzionante</span> o almeno sembra che non basti per fare funzionare l&#8217;ftp da remoto.</p>
<p>Analogamente per l&#8217;interfaccia web di amministrazione del modem..<br />
(sconsiglio caldamente di abilitarla, ma a volte si sa può servire&#8230;)</p>
<pre>service system ifadd name=HTTP group=wan
saveall</pre>
<p>[<span style="text-decoration: underline;">Regola testata e funzionante</span>]</p>
<h2>Rimozione accesso Telnet da remoto (FTP e HTTP)</h2>
<p>Una volta per tutte, togliamo questa falla alla sicurezza del router&#8230;<br />
Attenzione, potrete sempre accedere al router tramite telnet dalla vostra rete locale di casa vostra, ma non più da internet.</p>
<pre>service system ifdelete name=TELNET group=wan
saveall</pre>
<p>Regola per rimuovere l&#8217;accesso FTP da remoto ..</p>
<pre>service system ifdelete name=FTP group=wan
saveall</pre>
<p>Regola per rimuovere l&#8217;accesso remoto all&#8217;interfaccia web di amministrazione del modem.. (l&#8217;accesso remoto non è attivo come impostazione di default del modem, almeno di vostre modifiche)</p>
<pre>service system ifdelete name=HTTP group=wan
saveall</pre>
<p>Insomma, avrete capito che <em>service system ifadd</em> aggiunge e <em>service system ifdelete</em> rimuove, mentre se volte avere una lista dei servizi del router&#8230;</p>
<pre>service system list</pre>
<p>Purtroppo,  quella lista non ci dice nulla su quale <em>lato</em> (internet o lan) del router sono attivi, bisogna andare a spulciarsi il file user.ini.</p>
<h2>Aprire le porte sul router&#8230;</h2>
<p style="text-align: justify;">Aprire le porte su questo router non è esattamente immediato.<br />
E&#8217; facile notare che se si utilizza una regola per servizio già presente sul router la porta viene aperta correttamente.<br />
Potete constatare voi stessi che se si assegna un ad un pc il servizio ssh o qualsiasi altro servizio preimpostato sul router la porta risulta essere effettivamente raggiungibile dall&#8217;esterno. Ben altra cosa accade con le regole definite manualmente dall&#8217;utente.</p>
<p style="text-align: justify;">Ho visto che ci sono alcuni navigatori che suggeriscono di disabilitare l&#8217;intrusion detection. Non è il caso. Vi faccio una metafora: è come se il vostro elettricista di fiducia per fare passare il cavo dell&#8217;antenna dal muro anziché fare un buco col trapano, ve l&#8217;ho butta giù con il martello pneumatico. Beh sicuramente il filo ci passa, ma non era esattamente quello che volevamo no?</p>
<p style="text-align: justify;">La soluzione esiste:</p>
<ul>
<li>Fissate in modo statico gli indirizzi ip dei pc di casa vostra su cui volete assegnare dei servizi (Home &gt; Home Network &gt; Devices &gt; &#8230;)</li>
<li>Create tutte le regole che vi servono (Home &gt; Toolbox &gt; Game &amp; Application Sharing &gt; New Game or Application).</li>
<li>Assegnate le regole alle vostre macchine</li>
<li>Salvate il vostro file <code>user.ini</code> (Home &gt; Thomson Gateway &gt; Configuration &gt; Backup &amp; Restore) sul desktop e apritelo con wordpad/gedit</li>
<li>Cercate la sezione &#8220;<code>[ service.ini ]</code>&#8221; Es:</li>
</ul>
<pre>[ service.ini ]
add name="AIM Talk" mode=client
...
add name=test
add name=VNC mode=server
add name="Xbox Live" mode=server
...
...</pre>
<p style="text-align: justify;">Per sinteticità ho tagliato le regole presenti nel router.<br />
La regola che ho creato per queste esempio si chiama <code>test</code>. La regola in questione non ha il parametro <code>mode</code>, per il modem è equivalente a scrivere <code>mode=client</code>. Risultato porta chiusa dall&#8217;esterno. Aggiungete <code>mode=server</code> ad ogni vostra regola creata:</p>
<pre>add name=test mode=server</pre>
<p style="text-align: justify;">Salvate il file, ridatelo in pasto al modem e avete finito. Solo un ultimo consiglio: NON usate la porta 8080 per le vostre regole, pena la perdita dell&#8217;accesso all&#8217;interfaccia web del router.<br />
(anche se disabilitato, sulla 8080 del router è presente il servizio di parental control)<br />
In generale se volete avere la lista di quali porte NON si devono usare sul router perché sono in uso dallo stesso modem. Dall&#8217;interfaccia telnet date:</p>
<pre>service system list</pre>
<h2>Aprire le porte sul router tramite telnet</h2>
<p>Un altro metodo, che vi evita di modificare a mano il file user.ini è il seguente:</p>
<p>Si crea un nuovo &#8220;nome di regola&#8221;. Es:</p>
<pre>service host add name=my_torrent mode=server</pre>
<p>Se per caso nel vostro <em>nome di regola</em> sono presenti degli spazi, allora:</p>
<pre>service host add name=<strong>"</strong>my torrent<strong>"</strong> mode=server</pre>
<p>bisogna inserire i doppi apici.<br />
Successivamente si devono creare le vere regole per questo nuovo &#8220;nome di regola&#8221;. Es:</p>
<p>per il solo protocollo TCP:</p>
<pre>service host rule add name=my_torrent protocol=<strong>tcp</strong> portrange=9020-9020</pre>
<p>per il solo protocollo UDP:</p>
<pre>service host rule add name=my_torrent protocol=<strong>udp</strong> portrange=9020-9020</pre>
<p>per entrambi i protocolli:</p>
<pre>service host rule add name=my_torrent protocol=<strong>any</strong> portrange=9020-9020</pre>
<p style="text-align: justify;">Qui, abbiamo aperto la porta 9020 del router. Si possono aggiungere molte regole ad ogni nome di regola, anche per più porte e protocolli diversi, tuttavia ogni nome di regola può essere assegnato ad un solo pc alla volta. Ad ogni modo è da evitare categoricamente la creazione di <em>nomi di regole</em> che aprono le stesse porte con lo stesso protocollo.<br />
(Qui serve solo del buon senso e un po di conoscenza del concetto di <a title="Wikipedia: Network Address Translation" href="http://it.wikipedia.org/wiki/Network_address_translation" target="_blank">NAT</a>)</p>
<p>Infine bisogna assegnare la regola al pc:</p>
<pre>service host assign name=my_torrent host=192.168.1.69 log=disabled</pre>
<p>Modificate l&#8217;indirizzo 192.168.1.69 con quello del vostro pc e ricordatevi di settare il suo indirizzo come statico nell&#8217;interfaccia del router. (Home &gt; Home Network &gt; Devices &gt; &#8230;)</p>
<p>Per rimuovere l&#8217;assegnamento:</p>
<pre>service host disable name=my_torrent</pre>
<p>Altro esempio. Assegnamo l&#8217;SSH ad un pc di casa, (la regola è già esistente sul router):</p>
<pre>service host assign name="Secure Shell Server (SSH)" host=192.168.1.66 log=enabled</pre>
<p>Rimozione dell&#8217;assegnamento:</p>
<pre>service host disable name="Secure Shell Server (SSH)"</pre>
<h2>E adesso, divertiamoci con un po&#8217; di hacking&#8230;</h2>
<p style="text-align: justify;">Attenzione: Questa procedura è valida solo per il modello TG 784 <strong>H</strong>.<br />
(Per chi non conosce le credenziali di accesso di default del router o, semplicemente, vuole sbirciare dentro il firmware di questo apparecchio.)<br />
Prendetevi una penna usb, la più piccola che avete va bene. Se avete dei dati sul supporto usb che volete conservare salvateli perché con questa procedura la penna usb verrà formattata.</p>
<p>Procedura valida solo per il vecchio modello Thomson TG 784; il nuovo modello (TG784n) non riconosce il filesystem del pennino.</p>
<ul>
<li style="text-align: justify;">Scaricate il file: <a title="tg787-sysroot.sqsh.7z" href="http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/TG784/v1/Filesystem/tg787-sysroot.sqsh.7z.php">tg787-sysroot.sqsh.7z</a> (filesystem che contiene un <em>ln -s</em> alla root)</li>
<li style="text-align: justify;">Aprite una shell sotto linux (una distro live di ubuntu può fare al caso vostro se  non avete linux installato sul vostro pc)</li>
<li style="text-align: justify;">se non l&#8217;avete già fatto, inserite la penna usb nel vostro pc ed eseguite il comando</li>
<li style="text-align: justify;"><code>$ mount</code>, nella vostra shell e identificate qual&#8217;è il nome della vostra penna usb (nel mio caso <code>/dev/sdb</code>), ed eseguite il comando:</li>
<li style="text-align: justify;"><code>$ sudo dd if=/dev/zero of=/dev/sdb</code>, che cancellerà ogni dato presente nella penna (più è grande il supporto più questa operazione sarà lunga),</li>
<li style="text-align: justify;">andate nella path dove avete scaricato il file e una volta scompattato eseguite il comando:</li>
<li><code>$ sudo dd if=sysroot.sqsh of=/dev/sdb</code>,</li>
<li style="text-align: justify;">a operazione terminata staccate la penna usb e inseritela nella porta usb del router</li>
<li style="text-align: justify;">Controllate, collegandovi all&#8217;interfaccia web del thomson, che in <em>toolbox</em> =&gt; <em>content sharing</em> sia attivo <em>server enabled (upnp Av Media Server)</em> (generalmente è già tutto attivato di default).</li>
<li style="text-align: justify;">All&#8217;indirizzo <code>\\192.168.1.253</code> o nelle condivisioni di rete (winzoz) troverete un pc chiamato <em>thomson</em>, al cui interno c&#8217;è condiviso il firmware del vostro router.</li>
<li style="text-align: justify;">Aprite il file <code>mlpuser.def</code> che si trova in <code>/sys/archive/xxxx/active/</code>, per leggere le credenziali di default del vostro router.</li>
</ul>
<p><a title="thomson tg784g" href="http://www.steppen-wolf.eu/blog/wp-content/tg784.jpg" target="_blank"><img title="thomson tg784g" src="http://www.steppen-wolf.eu/blog/wp-content/tg784-300x200.jpg" alt="thomson tg784g" width="300" height="200" /></a></p>
<p>Qualcuno ha detto TTL?</p>
<p><a href="http://www.steppen-wolf.eu/blog/wp-content/tg784_ttl.jpg"><img class="size-medium wp-image-1467" title="tg784_ttl" src="http://www.steppen-wolf.eu/blog/wp-content/tg784_ttl-300x200.jpg" alt="Thomson TG784g TTL JTAG" width="300" height="200" /></a></p>
<p style="text-align: justify;">Sembra però che bisogna anche saldare due ponticelli dietro la board del modem per fare funzionare la ttl.<br />
A questo <a title="tg782 ttl jtag" href="http://forums.whirlpool.net.au/archive/1216321">link</a> c&#8217;è spiegata la procedura per il modello tg782 (estremamente simile al tg784)<br />
Appena ho un po di tempo farò alcune prove in merito.<br />
Sarebbe molto carino riuscire a parlare direttamente con busybox piuttosto che con la command line interface (CLI) sviluppata da thomson.</p>
<h2 style="text-align: justify;">Cambiare antenna</h2>
<p style="text-align: justify;">Procedura valida solo per il modello TG 784 <strong>H</strong>, sul quale NON è presente il wifi di tipo N.</p>
<p style="text-align: justify;"><a href="http://www.steppen-wolf.eu/blog/wp-content/tg784_antenna1.jpg"><img class="size-medium wp-image-1529 alignnone" title="tg784_antenna1" src="http://www.steppen-wolf.eu/blog/wp-content/tg784_antenna1-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p style="text-align: justify;">Qui si può vedere il cavo &#8220;Mini PCI U.FL to RP-SMA Pigtail&#8221;</p>
<p style="text-align: justify;"><a href="http://www.steppen-wolf.eu/blog/wp-content/tg784_antenna2.jpg"><img class="size-medium wp-image-1530 alignnone" title="tg784_antenna2" src="http://www.steppen-wolf.eu/blog/wp-content/tg784_antenna2-223x300.jpg" alt="" width="223" height="300" /></a></p>
<h3>Link utili:</h3>
<ul>
<li><a href="http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/TG784/">http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/TG784/</a></li>
<li><a href="http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/TG784n/">http://download.modem-help.co.uk/mfcs-A/Alcatel/Modems/TG784n/</a></li>
<li><a title="Forum dedicato ai router Alcatel Thomson Tenicolor" href="http://forums.modem-help.co.uk/viewforum.php?f=20">http://forums.modem-help.co.uk/viewforum.php?f=20</a></li>
<li><a title="forums.whirlpool.net.au alcatel thomson" href="http://forums.whirlpool.net.au/forum/82?g=53" target="_blank">http://forums.whirlpool.net.au/forum/82?g=53</a></li>
</ul>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2011/07/13/tiscali-netbox-g-n-thomson-tg784/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Installazione &#8220;Palermo a Venezia&#8221; di Alessandro Librio</title>
		<link>http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/</link>
		<comments>http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/#comments</comments>
		<pubDate>Thu, 26 May 2011 07:24:14 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Personale]]></category>
		<category><![CDATA[Alessandro Librio]]></category>
		<category><![CDATA[binneale venezia]]></category>
		<category><![CDATA[Live Stream]]></category>
		<category><![CDATA[Palermo a Venezia]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1236</guid>
		<description><![CDATA[Un giorno di traffico per Venezia. Segnalo l&#8217;evento speciale &#8220;Palermo a Venezia&#8221; dell&#8217;artista Alessandro Librio che avrà luogo il 4 Giugno, giornata di apertura della 54° edizione della Biennale di Venezia. L&#8217;installazione si terrà al n. 63 di Piazza San &#8230; <a href="http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/03/16/nuovo-dominio/' rel='bookmark' title='Nuovo dominio!'>Nuovo dominio!</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2007/11/17/38%c2%b0-parallelo-oper-azione-zero-video-iniziale-erice/' rel='bookmark' title='38° Parallelo &#8211; Oper-azione Zero: video iniziale &#8220;Erice&#8221;'>38° Parallelo &#8211; Oper-azione Zero: video iniziale &#8220;Erice&#8221;</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2007/12/12/38%c2%b0-parallelo-oper-azione-zero-promo/' rel='bookmark' title='38° Parallelo &#8211; Oper-azione Zero: &#8220;Promo&#8221;'>38° Parallelo &#8211; Oper-azione Zero: &#8220;Promo&#8221;</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><em>Un giorno di traffico per Venezia.</em></p>
<p style="text-align: justify;"><img class="alignleft" title="Alessandro Librio" src="http://www.steppen-wolf.eu/blog/images/alessandro.jpg" alt="Alessandro Librio" width="300" height="218" />Segnalo l&#8217;evento speciale &#8220;Palermo a Venezia&#8221; dell&#8217;artista Alessandro Librio che avrà luogo il 4 Giugno, giornata di apertura della 54° edizione della Biennale di Venezia.</p>
<p style="text-align: justify;">L&#8217;installazione si terrà al n. 63 di Piazza San Marco nel cortile del Palazzo Reale, sarà inoltre possibile seguire l&#8217;evento in diretta sul sito internet dello stesso artista: <a title="&quot;Palermo a Venezia&quot; Live Stream" href="http://www.alessandrolibrio.com/node/173" target="_blank">http://www.alessandrolibrio.com/node/173</a>.</p>
<p style="text-align: justify;">L&#8217;obbiettivo che l&#8217;installazione si propone è l&#8217;unione del paesaggio sonoro della città di Palermo con quello di Venezia, infatti per ventiquattro ore i suoni/rumori del traffico palermitano verranno acquisiti e riprodotti in tempo reale a Venezia.</p>
<p style="text-align: justify;">Per informazioni più approfondite rimando all&#8217;intervista del sito SiciliaInformazioni:<a title="Intervista SiciliaInformazioni ad Alessandro Librio" href="http://www.siciliainformazioni.com/giornale/cultura/125290/suoni-palermo-invadono-venezia-linstallazione-librio-apre-biennale-darte.htm" target="_blank"></p>
<p>http://www.siciliainformazioni.com/giornale/cultura/125290/suoni-palermo-invadono-venezia-linstallazione-librio-apre-biennale-darte.htm</a></p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/03/16/nuovo-dominio/' rel='bookmark' title='Nuovo dominio!'>Nuovo dominio!</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2007/11/17/38%c2%b0-parallelo-oper-azione-zero-video-iniziale-erice/' rel='bookmark' title='38° Parallelo &#8211; Oper-azione Zero: video iniziale &#8220;Erice&#8221;'>38° Parallelo &#8211; Oper-azione Zero: video iniziale &#8220;Erice&#8221;</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2007/12/12/38%c2%b0-parallelo-oper-azione-zero-promo/' rel='bookmark' title='38° Parallelo &#8211; Oper-azione Zero: &#8220;Promo&#8221;'>38° Parallelo &#8211; Oper-azione Zero: &#8220;Promo&#8221;</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2011/05/26/installazione-palermo-a-venezia-alessandro-librio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Threads pool (posix) &#8211; c language (ver 2)</title>
		<link>http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/</link>
		<comments>http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/#comments</comments>
		<pubDate>Thu, 27 Jan 2011 12:50:40 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[C language]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[Programmazione]]></category>
		<category><![CDATA[c language]]></category>
		<category><![CDATA[pool]]></category>
		<category><![CDATA[posix]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[signal]]></category>
		<category><![CDATA[thread]]></category>
		<category><![CDATA[thread pool]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=1204</guid>
		<description><![CDATA[Example of generalized thread pool in C language with signal handling. rev 2: Completely revised the code of the library. Now there is a queue of jobs, a thread is awakened when a new job is available, following the classic &#8230; <a href="http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/' rel='bookmark' title='TCP Socket (af_inet)(IPv4/IPv6)(with ssl) – c language'>TCP Socket (af_inet)(IPv4/IPv6)(with ssl) – c language</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>Example of generalized thread pool in C language with signal handling.</p>
<p style="text-align: justify;">rev 2: Completely revised the code of the library.<br />
Now there is a queue of jobs, a thread is awakened when a new job is available, following the classic mechanism of producer / consumer.</p>
<p style="text-align: justify;">You can set: the thread pool size, its signal mask and the size of the job queue, calling the <em>poolInit</em> function that returns a new pool. If the signal mask is null then the signal mask shall be inherited from the creating thread.</p>
<p style="text-align: justify;">The function <em>poolDispatcher </em>gets three arguments the pointer to the pool; a void pointer to function <em>(start_routine</em>), with a single argument void <em>arg</em>. (very similar to <em>pthread_create</em>). The <em>poolDispather</em> when executed creates a new job that is inserted into the queue of jobs.</p>
<p>If you send too many jobs to the pool and the queue fills up, the <em>poolDispatcher</em> reject the new job and returns the error code &#8220;-5&#8243; (to avoid DOS attacks).<br />
The function <em>poolDestroy</em>, puts the pool in termination state, (the pool is no longer available to run new job), it waits for all active and pending jobs to finish; execute the join of the threads; free resources and exit.<br />
<a title="Thread Pool - C Language (documentation)" href="http://www.steppen-wolf.eu/work/thpool/doc/index.html" target="_blank">doxygen docomuntation</a> and <a title="Tread Pool - C language (source code)" href="http://www.steppen-wolf.eu/work/thpool/thpool.7z">source code</a> (license GPLv2)</p>
<p>&nbsp;</p>
<p>Esempio di pool di thread in linguaggio C generalizzato con gestione dei segnali.</p>
<p>E&#8217; possibile passare a questa libreria un proprio puntatore a funzione.<br />
La funzione verrà eseguita dal primo thread disponibile del pool di threads.</p>
<p style="text-align: justify;"><span style="text-decoration: line-through;">E&#8217; facile notare come la funzione <em>addjob</em> esegue, nel caso in cui tutti i threads siano impegnati, <strong>attesa attiva</strong>.</span><br />
<span style="text-decoration: line-through;">La soluzione è presto detta, implementare una lista di jobs, oppure (per chi non ha voglia) aumentare opportunamente la dimensione del pool threads.</span></p>
<p style="text-align: justify;">[update]<br />
Rivisto completamente il codice della libreria.<br />
Adesso esiste una lista di job; un thread del pool viene risvegliato quando un nuovo job è disponibile, seguendo il classico meccanismo di produttore/consumatore.</p>
<p style="text-align: justify;">La dimensione massima della coda dei job è settabile in fase di creazione del pool.<br />
Se si inviano troppi job al pool e la coda si riempie, la <em>poolDispatcher</em> rifiuterà il nuovo job ritornando il codice di errore &#8220;-5&#8243; (evitiamo attacchi di DOS).</p>
<p style="text-align: justify;">La funzione <em>poolDestroy</em>, mette il pool in fase di terminazione, (ovvero il pool non è più disponibile ad eseguire nuovi job), aspetta che tutti i job attivi e pendenti terminino; esegue la join dei threads; libera le risorse ed esce.<br />
[update-end]</p>
<p style="text-align: justify;">Una volta terminato il <em>job</em>, il thread viene reso automaticamente disponibile per un nuovo <em>job</em>.<br />
La dimensione del pool e la maschera dei segnali per i threads sono passate in fase di inizializzazione del pool stesso.</p>
<p style="text-align: justify;">E&#8217; possibile creare infiniti pool di threads, dato che ogni struttura dati viene creata dinamicamente in fase di inizializzazione del pool stesso. La maschera dei segnali è invece opzionale.</p>
<p>Per commenti e info più dettagliate sul codice: <a title="Thread Pool - C Language (Documentazione)" href="http://www.steppen-wolf.eu/work/thpool/doc/index.html" target="_blank">documentazione html</a> (doxygen).</p>
<p>E per scaricare il codice sorgente: <a title="Tread Pool - C language (codice)" href="http://www.steppen-wolf.eu/work/thpool/thpool.7z">codice sorgente</a> (in licenza gpl v2).</p>
<p><a href="http://www.steppen-wolf.eu/blog/wp-content/nicetry.gif"><img class="size-full wp-image-1215 alignnone" title="nicetry" src="http://www.steppen-wolf.eu/blog/wp-content/nicetry.gif" alt="" width="516" height="169" /></a></p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2011/10/18/tcp-socket-af_inet-c-language/' rel='bookmark' title='TCP Socket (af_inet)(IPv4/IPv6)(with ssl) – c language'>TCP Socket (af_inet)(IPv4/IPv6)(with ssl) – c language</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2011/01/27/thread-pool-c-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaCie 2Big Network: supporto nfs</title>
		<link>http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/</link>
		<comments>http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 16:09:33 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[2big network lacie]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[2Big Network]]></category>
		<category><![CDATA[5Big Network v1]]></category>
		<category><![CDATA[exports]]></category>
		<category><![CDATA[initng]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[Network File System]]></category>
		<category><![CDATA[nfsd]]></category>
		<category><![CDATA[nfsd kernel space]]></category>
		<category><![CDATA[nfsd user space]]></category>
		<category><![CDATA[portmap]]></category>
		<category><![CDATA[rsyncd]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=834</guid>
		<description><![CDATA[No, I will not fix your pc. [Detto anonimo e largamente condiviso] Aggiornamento / Update (05/02/2012): Per il servizio nfsd in kernelspace, guardate i commenti di questo stesso articolo. Suggerisco di usare il servizio nfsd in kernelspace, dato che supporta &#8230; <a href="http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/' rel='bookmark' title='LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr'>LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><cite>No, I will not fix your pc.<br />
[Detto anonimo e largamente condiviso]<br />
</cite></p>
<h2>Aggiornamento / Update (05/02/2012):</h2>
<p>Per il servizio nfsd in kernelspace, guardate i commenti di questo stesso articolo.<br />
Suggerisco di usare il servizio nfsd in kernelspace, dato che supporta il lock dei file.</p>
<p>For nfsd kernel space, look at the comments of this article.<br />
I recommend to use nfs kernel space since it supports file locking.</p>
<p>All thanks go to Bert.</p>
<hr style="height: 1px;" size="1" />
<p>Avevo tentato precedentemente di installare il <a title="wiki: Network File System (it)" href="http://it.wikipedia.org/wiki/Network_File_System">supporto nfs</a> sul mio vecchio (v1) nas 2Big Network della LaCie ma avevo desistito per la mancanza del modulo kernel nfsd, che permette di abilitare nfs server in kernelspace.</p>
<p style="text-align: justify;">Di recente, dopo una richiesta di aiuto da parte di un navigatore, ho riaffrontato il problema trovando una soluzione: nsf in spazio utente. Ok storco il naso anche io per l&#8217;enormità di quello che ho appena detto..<br />
Infatti ci sono grossi handicap per nfs <a title="wiki: User Space (en)" href="http://en.wikipedia.org/wiki/User_space" target="_blank">userspace</a>: lo sviluppo del codice è stato completamente abbandonato (l&#8217;ultima versione è la 0.9.22 e risale al 05/01/2009), ma il problema più grave che <span style="text-decoration: underline;">non vi è alcun supporto per il lock dei file</span>.</p>
<p style="text-align: justify;">Per installare il supporto per nfs v3 sul nas c&#8217;è bisogno dei demoni unfsd e portmap, il primo è nfs stesso il secondo è un servizio ONC RPC, in esecuzione su una macchina collegata in rete, che fornisce altri servizi ONC RPC (Remote Procedure Call). (Chi è abituato a programmare sa di che sto parlando)<br />
Per farla breve il pacchetto unfs3 dipende dal pacchetto portmap. Ai fini pratici significa che è richiesto  l&#8217;installazione anche del servizio portmap per avere nfs funzionante.<br />
Significa anche che ho dovuto scrivere due script per initng per avviare/arrestare correttamente i due demoni.</p>
<p style="text-align: justify;">File <code>portmap.i</code>:</p>
<pre># NAME: portmap
# DESCRIPTION: DARPA port to RPC program number mapper
# WWW: 

# exec daemon = /sbin/portmap -d ${PORTMAP_OPTS};
daemon portmap {
	need = bootmisc virtual/net;
	provide = virtual/portmap;
	pid_file = /var/run/portmap.pid;
	forks;
	env PORTMAP_OPTS=;
	env_file = /etc/portmap.conf;
	exec daemon = /sbin/portmap;
}</pre>
<p style="text-align: justify;">File <code>unfs3.i</code>:</p>
<pre># NAME: unfs3
# DESCRIPTION: starts user-space NFSv3 server.
#	       UNFS3 is a user-space implementation of the NFSv3 server specification.
#	       It provides a daemon for the MOUNT and NFS protocols,
#	       which are used by NFS clients for accessing files on the server.
#	       Unlike nfs-user-server, unfs3 is capable of handling files larger than 2GB,
#              but there is currently no support for file locking.
# WWW:

daemon unfs3 {
	need = initial virtual/portmap virtual/net;
	env PID_FILE = /var/run/unfsd.pid;
	env_file = /etc/unfs3.conf;
	pid_file = ${PID_FILE};
	require_network;
	forks;
	exec daemon = /usr/sbin/unfsd -i ${PID_FILE} $DAEMON_OPTS;
	daemon_stops_badly;
}</pre>
<p style="text-align: left;"><strong><span style="font-size: medium;">Installazione di nfs3 server<br />
</span></strong></p>
<p>Come premessa generale si presuppone che:</p>
<ul>
<li style="text-align: left;">abbiate già effettuato l&#8217;hack del vostro nas (<a href="/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/">vedi articolo</a>),</li>
<li style="text-align: left;">installato ssh e soprattutto con esso le librerie tcp-wrappers,</li>
<li style="text-align: left;">avete un account di root sul vostro nas (tutte operazioni documentate nell&#8217;articolo già citato)</li>
<li style="text-align: left;">e sopratutto, una buona padronanza della bash e dei sistemi linux.</li>
</ul>
<p>Per installare nfs server dovete scaricare questi due archivi:</p>
<ul>
<li style="text-align: left;"><a title="portmap (debian lenny armtel 10,6kb)" href="/blog/wp-content/portmap_6.0-9_armel.tar.gz"><code>portmap_6.0-9_armel.tar.gz</code></a> (10,6Kb)</li>
<li style="text-align: left;"><a title="unfs3 (debian lenny armtel 38,2kb)" href="/blog/wp-content/unfs3_0.9.21_armel.tar.gz"><code>unfs3_0.9.21_armel.tar.gz</code></a> (38,2Kb)</li>
</ul>
<p style="text-align: justify;">I pacchetti sono stati scaricati della distro debian lenny e sono compilati per armtel, da entrambi gli archivi ho eliminato i man page e i doc al fine di recuperare tutto lo spazio possibile.<br />
Ho spostato il file di configurazione di portmap nella cartella <code>/etc</code> e l&#8217;ho rinominato in <code>portmap.conf</code>.<br />
Il demone unfsd ha in file di configurazione proprio (da non confondere con il file <code>/etc/exports</code>) che ho rinominato in <code>unfs3.conf</code> e inserito anch&#8217;esso nella cartella <code>/etc</code>.<br />
Queste modifiche erano dovute dato che l&#8217;architettura del nas differisce dall&#8217;architettura di un sistema operativo debian. Gli script per initng riflettono queste modifiche per cui se cambiate posto a quei file dovrete modificare di conseguenza gli script di avvio dei demoni.</p>
<p>Copiate l’archivio nella vostra cartella condivisa del nas.</p>
<pre># cd /home/share/nome_cartella_della_vostra_condivisione
# tar -xvzf portmap_6.0-9_armel.tar.gz -C /
# tar -xvzf unfs3_0.9.21_armel.tar.gz -C /
# rm portmap_6.0-9_armel.tar.gz
# rm unfs3_0.9.21_armel.tar.gz
# cd /etc/initng/runlevel/
# echo portmap &gt;&gt; default.runlevel
# echo unfs3 &gt;&gt; default.runlevel</pre>
<p>Adesso dovete configurare il file <code>exports</code> che indica al demone nfs quali cartelle deve condividere nella vostra rete locale:</p>
<pre># vi /etc/exports</pre>
<p>Vi ricordo che i comandi per modificare un file con l’editor vi sono “i” per inserire nuovo testo e “ESC”+“:wq” per salvare e uscire, “ESC”+“:q!” per forzare l&#8217;uscita dal file senza salvare le modifiche apportate.</p>
<p>La configurazione del file in questione la lascio alla vostra esperienza personale, se state installando nfs sul nas si presuppone che sappiate quello che state facendo. Vi informo tuttavia che questa versione di nfs (unfs3) non supporta nfs v4 ne nfs v2, inoltre non supporta nemmeno alcuni tag di configurazione come <code>sync</code>.</p>
<p>Non ho voluto implementare il supporto per nfs v2 perché assolutamente obsoleto, infatti un client nfs presuppone che, se non diversamente specificato, il protocollo, che deve usare per condividere in locale una cartella esportata da una macchina remota, sia nfs v3. Per finire nfs v2 non supporta file di dimensione superiore a i 2Gb.</p>
<p>Una volta configurato il file exports potete riavviare la macchina o se preferite avviare manualmente i demoni con i comandi:</p>
<pre># ngc -u portmap
# ngc -u unfs3</pre>
<p>Per maggiori informazioni su ngc, digitate:</p>
<pre># ngc -h</pre>
<p>E dire che questo nas non lo uso neanche più&#8230;</p>
<p><strong>Aggiornamento.</strong></p>
<p>Ho modificato nuovamente lo script <code>unfs3.i</code> inserendo la riga <code>require_network</code> a causa dell&#8217;avvio immediato del demone unfsd da parte di initng (prima ancora che l&#8217;interfaccia di rete lan fosse attiva). Il demone unfsd non pubblicava la socket sull&#8217;indirizzo di rete locale impedendo l&#8217;accesso da remoto.</p>
<p>La clausola <code>require_network</code> impone ad initng di attendere che l&#8217;interfaccia di rete della lan sia attiva prima di avviare il server unfsd: problema risolto.</p>
<h2>Rsync</h2>
<p>Script di avvio per rsync. (Il programma è già incluso nel nas)<br />
File <code>rsyncd.i</code>:</p>
<pre>#!/sbin/itype

# Short-Description: fast remote file copy program daemon
# Description: rsync is a program that allows files to be copied to and
# from remote machines in much the same way as rcp.
# This provides rsyncd daemon functionality.

daemon rsyncd {
       need = bootmisc virtual/net;
       require_network;
       env RSYNC_CONFIG_FILE=/etc/rsyncd.conf;
       env_file = ${RSYNC_CONFIG_FILE};
       exec daemon = /usr/bin/rsync --daemon --no-detach --config ${RSYNC_CONFIG_FILE};
       daemon_stops_badly;
}</pre>
<p>Per maggiori informazioni su rsync vedere nei commenti di questo stesso articolo.</p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/' rel='bookmark' title='LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr'>LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Race condition tra Upstart e Samba se nel pc è presente un interfaccia bridge</title>
		<link>http://www.steppen-wolf.eu/blog/2010/09/18/race-condition-tra-upstart-e-samba-se-nel-pc-e-presente-un-interfaccia-bridge/</link>
		<comments>http://www.steppen-wolf.eu/blog/2010/09/18/race-condition-tra-upstart-e-samba-se-nel-pc-e-presente-un-interfaccia-bridge/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 16:45:38 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[br0]]></category>
		<category><![CDATA[bridge interface]]></category>
		<category><![CDATA[dhcp3]]></category>
		<category><![CDATA[dhcp3-server]]></category>
		<category><![CDATA[Race condition]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[tftp-hpa]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 10.04 server]]></category>
		<category><![CDATA[Upstart]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=810</guid>
		<description><![CDATA[Vengo subito al dunque, dopo un recente aggiornamento del pacchetto samba ho cominciato ad avere problemi ad accedere alle mie cartelle condivise sul mio ubuntu server 10.04. Nella mia macchina è presente un bridge di rete che collega la mia &#8230; <a href="http://www.steppen-wolf.eu/blog/2010/09/18/race-condition-tra-upstart-e-samba-se-nel-pc-e-presente-un-interfaccia-bridge/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss yarpp-related-none'>

Nessun articolo correlato.
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Vengo subito al dunque, dopo un recente aggiornamento del pacchetto samba ho cominciato ad avere problemi ad accedere alle mie cartelle condivise sul mio ubuntu server 10.04.<br />
Nella mia macchina è presente un bridge di rete che collega la mia interfaccia ethernet su cavo (eth0) con quella wifi (wlan0):</p>
<pre>router &lt;= eth0 (0.0.0.0) =&gt; br0 (192.168.1.10) &lt;= wlan0 (0.0.0.0) =&gt; altri pc.</pre>
<p>Il problema si risolveva se, dopo l&#8217;avvio della macchina, riavviavo il servizio samba.</p>
<p>Per trovare l&#8217;origine del problema ho controllato i file di log di samba:</p>
<pre>[2010/09/17 08:39:56, 0] lib/util_sock.c:938(open_socket_in)
bind failed on port 445 socket_addr = fe80::201:2eff:fe2f:d55%br0.
Error = Cannot assign requested address
[2010/09/17 08:39:56, 0] smbd/server.c:457(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Cannot assign requested address
[2010/09/17 08:39:56, 0] lib/util_sock.c:938(open_socket_in)
bind failed on port 139 socket_addr = fe80::201:2eff:fe2f:d55%br0.
Error = Cannot assign requested address
[2010/09/17 08:39:56, 0] smbd/server.c:457(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Cannot assign requested address</pre>
<p>La mia configurazione di rete di samba è la seguente:</p>
<pre>interfaces = 127.0.0.0/8 192.168.1.0/24 br0
bind interfaces only = yes</pre>
<p style="text-align: justify;">In pratica samba pubblica le sue sockets nell&#8217;interfaccia di rete br0 e loopback.</p>
<p style="text-align: justify;">Il problema si presenta perché upstart non aspetta che il bridge di rete sia attivo prima di avviare il servizio samba. Il bridge impiega circa 15 secondi ad avviarsi, nel mentre samba pubblica le sue sockets solo nelle interfacce di rete attive  in quel momento, essendo l&#8217;interfaccia bridge ancora non attiva, samba fallisce la pubblicazione del servizio sul bridge impedendo così l&#8217;accesso da un computer remoto.<br />
La conferma mi è stata data dal comando <code>netstat -an</code>.</p>
<p style="text-align: justify;">Prima del riavvio del servizio samba:</p>
<pre>tcp 0 0 127.0.0.1:139 0.0.0.0:* LISTEN
...
tcp 0 0 127.0.0.1:445 0.0.0.0:* LISTEN</pre>
<p style="text-align: justify;">Dopo il riavvio del servizio samba:</p>
<pre>tcp 0 0 127.0.0.1:139 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.10:139 0.0.0.0:* LISTEN
...
tcp 0 0 127.0.0.1:445 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.10:445 0.0.0.0:* LISTEN</pre>
<p style="text-align: justify;"><strong>La soluzione al problema è </strong>modificare lo script di avvio di samba di upstart.<br />
Ovvero:</p>
<pre>sudo nano /etc/init/smbd.conf</pre>
<p>e cambiare la linea:</p>
<pre>start on local-filesystems</pre>
<p>in</p>
<pre>start on (local-filesystems and net-device-up IFACE=br0)</pre>
<p style="text-align: justify;">Ovviamente se la vostra interfaccia bridge ha un nome diverso da br0 cambiatelo opportunamente.</p>
<p style="text-align: justify;">In questo modo obbligherete upstart ad aspettare che il bridge sia attivo prima di avviare il demone samba.</p>
<p style="text-align: justify;">Errori simili posso verificarsi se sulla vostra macchina viene eseguito il demone dhcp3-server configurato per fornire indirizzi ip sull&#8217;interfaccia bridge.</p>
<h2 style="text-align: justify;"><span style="font-size: large;">Race condiction analogo per dhcpd</span></h2>
<p style="text-align: justify;">(!sic) Ho risolto il problema con il <strong>servizio dhcp3</strong> editando il file:</p>
<pre>sudo nano /etc/init/rc-sysinit.conf</pre>
<p style="text-align: justify;">e cambiando la linea</p>
<pre>start on filesystem and net-device-up IFACE=lo</pre>
<p style="text-align: justify;">in</p>
<pre>start on filesystem and net-device-up IFACE=br0</pre>
<p style="text-align: justify;">For more info about this problem see:<br />
<a title="Launchpad ubuntu" href="https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/580319" target="_blank">https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/580319</a></p>
<h2 style="text-align: justify;">tftpd-hpa</h2>
<p style="text-align: justify;">Problemi anche con lui. il più delle volte si avvia e pubblica le sue socket sull&#8217;interfaccia bridge correttamente, tuttavia, sporadicamente fallisce.<br />
Quindi forziamo lo script di avvio, del servizio tftp-hpa, ad attendere la disponibilità del bridge prima di avviare il demone:</p>
<pre>nano /etc/init/tftpd-hpa.conf</pre>
<p style="text-align: justify;">e cambiare la riga:</p>
<pre>start on (filesystem and net-device-up IFACE!=lo)</pre>
<p style="text-align: justify;">in</p>
<pre>start on (filesystem and net-device-up IFACE=br0)</pre>
<p style="text-align: justify;">La condizione IFACE!=lo è sicuramente più furba tra tutte la condizioni di avvio riscontrate nei precedenti file di configurazione (dhcpd e samba), tuttavia non è sufficiente se nella vostra macchina avete più di un interfaccia di rete (es. tunnel ipv6). Il bridge è un interfaccia lenta e il servizio in questione finisce col pubblicare le proprie socket sulle altre interfacce di rete attive ma non sul bridge.</p>
<p style="text-align: justify;">Giacché sono in tema&#8230;<br />
Dato che in internet non ho visto molti esempi corretti di configurazioni (per debian) di interfacce bridge, riporto la mia configurazione di rete:</p>
<pre>/etc/network/interfaces

auto lo
iface lo inet loopback
iface eth0 inet manual
iface wlan0 inet manual

auto br0
iface br0 inet static
bridge_ports eth0 wlan0
address 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.1.255</pre>
<p>Per esempi di configurazione diversi e più completi vi rimando alla pagina, in inglese, della <a title="Wiki Debian: Bridge Network Connection" href="http://wiki.debian.org/BridgeNetworkConnections">wiki di debian</a>.</p>
<div class='yarpp-related-rss yarpp-related-none'>
<p>Nessun articolo correlato.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2010/09/18/race-condition-tra-upstart-e-samba-se-nel-pc-e-presente-un-interfaccia-bridge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr</title>
		<link>http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/</link>
		<comments>http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 18:48:10 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[2big network lacie]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[2Big Network]]></category>
		<category><![CDATA[5Big Network v1]]></category>
		<category><![CDATA[armtel]]></category>
		<category><![CDATA[defrag]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[LaCie 2Big Network]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[xfs]]></category>
		<category><![CDATA[xfs_fsr]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=757</guid>
		<description><![CDATA[It&#8217;s not a bug, it&#8217;s a feature. [Anonimo] Chi ha già eseguito l&#8216;hack del proprio nas avrà sicuramente notato che la partizione contenente i dati dell&#8217;utente è formattata con il filesystem xfs. Questo ottimo filesystem ha la brutta abitudine, con &#8230; <a href="http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/' rel='bookmark' title='Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug'>Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><cite>It&#8217;s not a bug, it&#8217;s a feature. [Anonimo]</cite></p>
<p style="text-align: justify;">Chi ha già eseguito l<a title="Hacking 2Big Network by Steppenwolf" href="http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/" target="_blank">&#8216;hack</a> del proprio nas avrà sicuramente notato che la partizione contenente i dati dell&#8217;utente è formattata con il filesystem <a title="xfs wikipedia" href="http://it.wikipedia.org/wiki/XFS_%28file_system%29" target="_blank">xfs</a>. Questo ottimo filesystem ha la brutta abitudine, con l&#8217;uso, di frammentarsi deteriorando così le sue prestazioni.</p>
<p>Per vedere lo stato di frammentazione del proprio filesystem:</p>
<p style="padding-left: 30px;"><code><strong>#</strong> xfs_db -c frag -r /dev/md4</code></p>
<p>Vedrete qualcosa del tipo:</p>
<p style="padding-left: 30px;"><code>actual 3144, ideal 3135, fragmentation factor 0.29%</code></p>
<p style="text-align: justify;">Per deframmentare il nas abbiamo bisogno dell&#8217;utility <code>xfs_fsr</code>, che<strong> non </strong>è installata sul nas.<br />
Ho recuperato il programma dal pacchetto xfsdump della distro debian lenny compilato per armtel, quindi compatibile con il nas. Ho rimosso dal pacchetto tutti i file strettamente non necessari riducendolo a 14kb.</p>
<ul>
<li style="text-align: left;"><a title="xfs_fsr (debian lenny armtel 14kb)" href="http://www.steppen-wolf.eu//blog/wp-content/xfsdump_2.2.48-1_armel.tar.gz">Scaricate il file <code>xfsdump_2.2.48-1_armel.tar.gz</code></a></li>
<li style="text-align: left;">Copiate l’archivio nella vostra cartella condivisa del nas.</li>
<li style="text-align: left;"><code><strong>#</strong> cd /home/share/nome_cartella_della_vostra_condivisione</code></li>
<li style="text-align: left;"><code><strong>#</strong> tar -xvzf xfsdump_2.2.48-1_armel.tar.gz -C /</code></li>
<li style="text-align: left;"><code><strong>#</strong> xfs_fsr -v</code></li>
</ul>
<p style="text-align: justify;">Potete anche andare a farvi un caffè, la prima esecuzione del programma ha impegnato più di 4 ore per finire. <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p style="text-align: justify;">Per chi non si fosse informato, recentemente è uscito un aggiornamento del firmware del nas ver 2.2.6.<br />
Se vi chiedete che fine hanno fatto le versioni 2.2.4 e 2.2.5&#8230; bhe della 2.2.4 non so dirvi molto ma la versione 2.2.5 del firmware è stata un flop totale. Il processo di installazione, che consisteva in due file da caricare sul nas, si piantava al caricamento del secondo file.</p>
<p>Ho testato l&#8217;hack su questa nuova versione del firmware, nei seguenti modi:</p>
<ul>
<li style="text-align: left;">nas con firmware 2.2.3 bucato e aggiornato successivamente alla ver 2.2.6</li>
<li style="text-align: left;">aggiornato il nas alla versione 2.2.6 e successivamente bucato</li>
</ul>
<p>in entrambi i casi è stato possibile bucare il nas.</p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/' rel='bookmark' title='LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..'>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/' rel='bookmark' title='Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug'>Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pulizie di fine pasqua&#8230;</title>
		<link>http://www.steppen-wolf.eu/blog/2010/04/08/pulizie-di-fine-pasqua/</link>
		<comments>http://www.steppen-wolf.eu/blog/2010/04/08/pulizie-di-fine-pasqua/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 23:56:43 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[aggiornamento sito]]></category>
		<category><![CDATA[bitcreek]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[nerdicism]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=753</guid>
		<description><![CDATA[Dopo un po di mesi che non aggiornavo il mio sito internet ho, in questi ultimi giorni, fatto un po di pulizie&#8230; Ho pubblicato un progetto in linguaggio Java per il corso di programmazione di rete (BitCreek, una Content Distribution &#8230; <a href="http://www.steppen-wolf.eu/blog/2010/04/08/pulizie-di-fine-pasqua/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2006/07/11/work-in-progress/' rel='bookmark' title='Work in progress..'>Work in progress..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2006/07/10/working/' rel='bookmark' title='Working&#8230;'>Working&#8230;</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Dopo un po di mesi che non aggiornavo il mio sito internet ho, in questi ultimi giorni, fatto un po di pulizie&#8230;</p>
<p style="text-align: justify;">Ho pubblicato un progetto in linguaggio Java per il corso di programmazione di rete (<a title="BitCreek, una Content Distribution Network (CDN) ispirata a BitTorrent" href="http://www.steppen-wolf.eu/blog/works/bitcreek-java-laboratorio-di-programmazione-di-rete-a-a-08-09/">BitCreek, una Content Distribution Network (CDN) ispirata a BitTorrent</a>) compreso, come sempre, di codice, documentazione e sorgenti. Spero che possa dare uno aiuto a chi si affaccia per la prima volta alle socket tcp, tcp-ssl, udp, remote method invocation, pool di thread, ecc.. ecc.. in java.</p>
<p style="text-align: justify;">D&#8217;altra parte ho eliminato il vecchio sito del liceo: inutile strascico di pagine obsolete. Ultima modifica, degna di nota, è la pagina di benvenuto al sito che adesso è integrata nel blog e il ripristino di alcuni collegamenti interrotti in alcuni post.</p>
<p style="text-align: justify;">Appena ho un po di tempo pubblicherò un altro post sul nas 2big network. <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p style="text-align: justify;"><a title="good code Vs bad code" href="http://www.osnews.com/images/comics/wtfm.jpg" target="_blank">Good code Vs Bad code</a></p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2006/07/11/work-in-progress/' rel='bookmark' title='Work in progress..'>Work in progress..</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2006/07/10/working/' rel='bookmark' title='Working&#8230;'>Working&#8230;</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2010/04/08/pulizie-di-fine-pasqua/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LaCie 2Big Network hack: telnet, openssh, ntpd, cups and more..</title>
		<link>http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/</link>
		<comments>http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 21:43:31 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[2big network lacie]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[2Big Network]]></category>
		<category><![CDATA[5Big Network v1]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[armtel]]></category>
		<category><![CDATA[cups]]></category>
		<category><![CDATA[initng]]></category>
		<category><![CDATA[ipp]]></category>
		<category><![CDATA[LaCie]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[ntp]]></category>
		<category><![CDATA[ntpd]]></category>
		<category><![CDATA[openSSH]]></category>
		<category><![CDATA[pam]]></category>
		<category><![CDATA[sshd]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[unionfs]]></category>
		<category><![CDATA[webshell]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=542</guid>
		<description><![CDATA[Dopo le 3 del mattino, due sole categorie di persone sono al lavoro: le prostitute e i programmatori. [Anonimo]. Informazioni Generali Hacking Hacking tramite la creazione di una nuova condivisione Binari compilati per architettura ARM e file di configurazione per &#8230; <a href="http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/' rel='bookmark' title='LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr'>LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: right;"><cite>Dopo le 3 del mattino, due sole categorie di persone sono al lavoro: le prostitute e i programmatori. [Anonimo]. </cite></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img class="size-full wp-image-589" title="LaCie 2big Network" src="http://www.steppen-wolf.eu/blog/wp-content/2big_Network.jpg" alt="LaCie 2big Network" width="280" height="300" /></td>
<td>
<ol>
<li><a href="#info">Informazioni Generali</a></li>
<li><a href="#hacking">Hacking</a></li>
<li><a href="#hacking_condivisione">Hacking tramite la creazione di una nuova condivisione</a></li>
<li><a href="#binari_arm">Binari compilati per architettura ARM e file di configurazione per initng e pam </a></li>
<li><a href="#telnet">Aggiungere telnet al nas</a></li>
<li><a href="#openssh">Installazione di OpenSSH</a></li>
<li><a href="#user_privileges">Persistenza dei privilegi dell&#8217;utente</a></li>
<li><a href="#su_passwd_bash_personalization">Problemi con su e passwd e personalizzazione del promtp della bash</a></li>
<li><a href="#ntp">Installazione di NTP</a></li>
<li><a href="#cups">Installazione di Cups (print server)</a></li>
<li><a title="Deframmentazione filesystem del nas con xfs_fsr (articolo dedicato)" href="/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/">Deframmentazione del filesystem del nas</a> (Vedi articolo)</li>
<li><a title="Installazione del supporto nfs server side in userspace (articolo dedicato)" href="/blog/2010/10/22/lacie-2big-network-supporto-nfs/">Installazione nfs server in spazio utente</a> (Vedi articolo)</li>
<li><a href="#ngc">The next generation control (ngc)</a></li>
<li><a href="#ripristino">Ripristino</a></li>
<li><a href="#link">Link Utili</a></li>
<li><a href="#speculazioni">Speculazioni</a></li>
<li><a href="#ringraziamenti">Ringraziamenti</a></li>
</ol>
</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><a name="info"></a>Informazioni Generali</strong></span></p>
<p>L&#8217;obbiettivo di questo post è di aggiungere una shell ssh e il demone ntpd al vostro nas, ma prima di fare ciò è bene capire un po con quale macchina abbiamo a che fare. Il nas LaCie 2Big Network preso come riferimento e su cui è stata eseguita questa procedura ha il firmware ufficiale, distribuito dalla <a title="Pagina di supporto del nas LaCie 2Big Network" href="http://www.lacie.com/it/support/support_manifest.htm?id=10245" target="_blank">LaCie</a>, aggiornato alla versione 2.2.3.</p>
<pre># cat /proc/cpuinfo

Processor       : ARM926EJ-S rev 0 (v5l)
BogoMIPS        : 266.24
Features        : swp half thumb fastmult edsp
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant     : 0x0
CPU part        : 0x926
CPU revision    : 0
Cache type      : write-back
Cache clean     : cp15 c7 ops
Cache lockdown  : format C
Cache format    : Harvard
I size          : 32768
I assoc         : 1
I line length   : 32
I sets          : 1024
D size          : 32768
D assoc         : 1
D line length   : 32
D sets          : 1024

Hardware        : Feroceon
Revision        : 0000
Serial          : 0000000000000000</pre>
<pre># cat /proc/version

Linux version 2.6.22.7 (root@grp-dash) (gcc version 4.2.1) #1 Thu Apr 9 16:07:45 CEST 2009</pre>
<pre># free
 	total	used	free	shared	buffers
Mem:	61952	60184	1768	0	7384
Swap:	128376	60184	0	128376
Total:	190328	130144</pre>
<pre># df -h

Filesystem	Size	Used	Available	Use%	Mounted on
rootfs  	648.4M	20.2M	595.3M  	3%	/
udev    	648.4M	20.2M	595.3M  	3%	/dev
/dev/md0	7.5M	5.9M	1.2M    	83%	/oldroot
udev            10.0M	0	10.0M           0%	/oldroot/dev
udev	        10.0M	0	10.0M   	0%	/oldroot/dev
none	        30.3M	0	30.3M   	0%	/oldroot/dev/shm
/dev/md1	167.0M	111.3M	47.1M   	70%	/oldroot/var/original
/dev/md2	648.4M	20.2M	595.3M   	3%	/oldroot/snapshots
unionfs	        648.4M	20.2M	595.3M  	3%	/
/dev/md4	930.4G	1.2M	930.4G  	0%	/home</pre>
<pre># cat /proc/partitions

major minor  #blocks  name

8     0  976762584 sda
8     1          1 sda1
8     2  975755970 sda2
8     5     128457 sda5
8     6       8001 sda6
8     7       8001 sda7
8     8     176683 sda8
8     9     674698 sda9
8    10       8001 sda10
8    16  976762584 sdb
8    17          1 sdb1
8    18  975755970 sdb2
8    21     128457 sdb5
8    22       8001 sdb6
8    23       8001 sdb7
8    24     176683 sdb8
8    25     674698 sdb9
8    26       8001 sdb10
31    0        512 mtdblock0
9     0       7936 md0
9     1     176576 md1
9     2     674624 md2
9     3     128384 md3
9     4  975755904 md4</pre>
<pre># cat /proc/mtd

dev:    size   erasesize  name
mtd0: 00080000 00010000 "cfi_flash_0"</pre>
<p style="text-align: justify;">Sinteticamente è un sistema operativo linux con un kernel decisamente datato (sic!) compilato per processori con architettura arm, cpu a 400mhz, 64mb di ram (i nuovi modelli hanno 128 mb di ram) e bootloader <a title="U-Boot - the Universal Boot Loader " href="http://www.denx.de/wiki/U-Boot" target="_blank">uboot</a>. Dalle poche informazioni reperite dal sito ufficiale sembra che sia stato usato per costruire il sistema <a title="www.scratchbox.org" href="http://www.scratchbox.org" target="_blank">scratcbox</a> e per avviare i servizi e i demoni hanno usato <a title="www.initng.org" href="http://www.initng.org" target="_blank">initng</a> al posto di init.d. I problemi che nascono sono molteplici: il reperimento del software già compilato per il sistema (a meno di buttarsi a capofitto nel cross-compiling) compatibile con le versioni di libreria utilizzate dal nas e la creazione degli script di avvio per initng. Anche gli script per initng trovati in rete devono essere modificati un po per farli funzionare sul sistema, dato che gli sviluppatori non hanno rispettato pienamente le specifiche di initng, inserendo tutti gli script *.i nella cartella <code>/etc/initng/</code> senza effettuare la suddivisione in sottocartelle (deamon per i demoni, net per i servizi di rete, ecc.)</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><a name="hacking"></a>Hacking</strong></span></p>
<p style="text-align: justify;">Premessa: Non mi assumo alcuna responsabilità qualora, in seguito alle modifiche effettuate, il vostro sistema smettesse di funzionare  correttamente. Vi ricordo, inoltre, che ogni modifica hardware o software al sistema comporta la perdita della garanzia da parte del produttore.<br />
L&#8217;accesso al sistema è fondamentale per poter aggiungere al nostro nas uno script bash che esegue dei comandi a nostro piacimento (webshell) o preferibilmente uno script ad hoc per avviare il servizio telnet ed avere una console di root remota.<br />
Ci sono diversi modi per &#8220;bucare&#8221; il vostro nas, infatti a seconda dei servizi avviati sulla macchina la sicurezza di questo oggetto va decisamente a farsi benedire. Un modo molto semplice per avere accesso al sistema senza smontare fisicamente i dischi è creare una nuova condivisione con un percorso <em>particolare</em>. (vedi più sotto) Avrete così un accesso a tutto il sistema e con i privilegi di amministratore dato che il webserver del nas possiede i diritti di root.</p>
<p style="padding-left: 30px;"><a href="http://www.steppen-wolf.eu/blog/wp-content/2big_web_browser.gif"><img class="size-medium wp-image-574" title="2big_web_browser" src="http://www.steppen-wolf.eu/blog/wp-content/2big_web_browser-300x212.gif" alt="2Big Network Web Browser Hacked" width="300" height="212" /></a></p>
<p style="text-align: justify;">La controparte di questo hacking è che al riavvio della macchina, la condivisione creata viene cambiata dal sistema (meccanismo di protezione??) e rediretta nella vostra condivisione principale, obbligandovi a dover riapplicare la &#8216;patch&#8217; ogni qualvolta sentite l&#8217;esigenza di accedere al vostro sistema linux. Anche la rimozione della nuova condivisione è da eseguire con estrema attenzione. Il mio suggerimento è di rimuovere questa condivisione una volta che si è uppato sul nas il demone telnet e il suo file di avvio (vedi sotto).</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="hacking_condivisione"></a>Hacking tramite la creazione di una nuova condivisione</span></strong></p>
<ul>
<li style="text-align: left;">Create una nuova condivisione sul vostro nas di nome &#8220;Hack&#8221;. La path della condivisione non è importante ciò che importa è che abilitiate almeno la condivisione http.</li>
<li style="text-align: left;">Salvare la configurazione xml del vostro nas sul disco (Sistema-&gt;Manutenzione-&gt;Salva configurazione)</li>
<li style="text-align: left;">Fare una copia di backup del file appena salvato (Fatelo! Vi servirà più avanti per rimettere le cose in ordine).</li>
<li style="text-align: left;">Editare il file di configurazione xml scaricato modificando la path della condivisione &#8220;Hack&#8221; come da figura:</li>
</ul>
<p style="padding-left: 30px;"><img class="size-full wp-image-575" style="border: 1px solid black;" title="edconf.xml" src="http://www.steppen-wolf.eu/blog/wp-content/nas_xml.gif" alt="edconf.xml" width="657" height="292" /></p>
<p style="text-align: justify;">Tenete conto le righe del codice xml del vostro file possono differire dall&#8217;immagine qui sopra riportata, in relazione al numero di condivisioni della vostra macchina, dagli utenti e dai gruppi.</p>
<ul>
<li style="text-align: left;">Salvare le modifiche e uppare la nuova configurazione sul nas (Sistema-&gt;Manutenzione-&gt;Carica la configurazione)</li>
<li style="text-align: left;">Usate il vostro browser e accedete alle pagina di amministrazione del nas e cliccate su <em>sfoglia</em> per navigare sulla nuova condivisione via web.</li>
</ul>
<p style="text-align: justify;">La <em>magia</em> viene eseguita dalla riga <code> ../../../../ </code>che impone al sistema di creare una nuova condivisione partendo dalla radice.<br />
Se provate a rimuovere la condivisione &#8220;hack&#8221; farete danni al vostro sistema, perché insieme alla condivisione rimuoverete anche i file in essa contenuti (quindi il sistema operativo del nas). Un modo indolore per effettuare la rimozione della condivisione è caricare il backup della configurazione del nas effettuato precedentemente (edconf.xml) e solo dopo rimuovere la condivisione &#8216;hack&#8217; normalmente tramite l&#8217;interfaccia web.</p>
<p>Una volta che avete l&#8217;accesso al filesystem, per di più con i diritti di root (!), potrete uppare tutti i file che volete.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="binari_arm"></a>Binari compilati per architettura ARM e file di configurazione per initng e pam</span></strong></p>
<p style="text-align: justify;">Da qui in poi avrete bisogno di questo archivio:</p>
<p style="text-align: justify; padding-left: 30px;">&gt;&gt; <a title="LaCie_2Big_Network_[TELNET][NTP][SSH][CUPS].zip" href="http://www.steppen-wolf.eu/blog/wp-content/LaCie_2Big_Network_[TELNET][NTP][SSH][CUPS].zip">LaCie_2Big_Network_[TELNET][NTP][SSH][CUPS].zip</a> (6,79Mb),</p>
<p style="text-align: justify;">contenente tutti i binari e le librerie, compilati per architettura arm, che vi servono per installare sul vostro nas i demoni Telnet, NTP, OpenSSH e Cups.<br />
(link aggiornato in data 19/01/12  <a title="Censura" href="http://www.repubblica.it/tecnologia/2012/01/19/news/pirateria_chiuso_megaupload_megavideo-28445149/"> <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </a>  aggiunta protezione <a title="wikipedia: hotlink" href="http://it.wikipedia.org/wiki/Hot-link" target="_blank">hotlink</a> al file)<br />
L&#8217;archivio contiene i seguenti file:</p>
<ul>
<li style="text-align: justify;"><code>cups-1.3.8-r1.tbz2</code> (1,89Mb), contenente tutti file del servizio di stampa. è incluso nell&#8217;archivio anche la libreria libpaper (<code>libpaper-1.1.23.tbz2</code>) richiesta dal cups e non presente nel nas.</li>
<li style="text-align: justify;"><code>cups-1.3.8-r1_(driver).tbz2</code> (3.74Mb), contenente tutti file ppd presenti nella distribuzione 9.10 di ubuntu. Questo file, ovviamente, non è presente nel sito internet dove ho recuperato i binari compilati per il nas.</li>
<li style="text-align: justify;"><code>cups-1.3.8-r1_(language).tbz2</code> (419Kb), contenente la traduzione nelle maggiori lingue, italiano compreso, delle pagine html di cups. Questo file non è presente nel sito internet dove ho recuperato i binari compilati per il nas.</li>
<li style="text-align: justify;"><code>ntp-4.2.4_p4.tbz2</code> (247Kb), contenente i binari e i file di configurazione per il demone ntp</li>
<li style="text-align: justify;"><code>openssh-4.7_p1-r6.tbz2</code> (490Kb), contenente i binari e i file di configurazione per il demone ssh. L&#8217;archivio contiene inoltre le librerie tcp-wrappers (<code>tcp-wrappers-7.6-r8.tbz2</code>) richieste dal demone non presenti nel nas.</li>
<li style="text-align: justify;"><code>usbutils-0.73.tbz2</code> (86,2Kb). Questo file non è strettamente necessario al nas ne è obbligatorio installarlo per far funzionare cups, tuttavia può essere di aiuto poiché installa l&#8217;eseguibile <code>lsusb</code>.</li>
<li style="text-align: justify;"><code>utelnetd.tbz2</code> (5.7Kb), contenente il demone utelnetd e un file per eseguirlo (vedi paragrafo successivo per maggiori info)</li>
</ul>
<p style="text-align: justify;">Gli archivi originali li ho recuperati dal sito:<a title="binar arm" href="http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/" target="_blank"></p>
<p>http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi</a>/</p>
<p>dove sono presenti molti pacchetti già compilati per i nas della buffalo. Senonché questi pacchetti sono pensati per un sistema che usa inet.d e non initng, per cui ho dovuto crearmi a mano gli scrip di avvio per i demoni sshd, ntpd e cups (rispettivamente <code>/etc/initng/sshd.i</code>, <code>/etc/initng/ntpd.i</code> e <code>/etc/initng/cups.i</code>). Vi posso assicurare che non è stato un bel vedere: la documentazione in merito è alquanto carente e il forum ufficiale del progetto initng è sommerso dallo spam. (Quanto adoro gli spammer <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' />  )</p>
<p style="text-align: justify;">Ho voluto lasciare i pacchetti distinti, evitando di fare un unico archivio,  in modo da lasciarvi la massima scelta su cosa installare. Da i file ho rimosso i man page e i docs.</p>
<p><span style="font-size: medium;"><strong><a name="telnet"></a>Aggiungere telnet al nas</strong></span></p>
<p style="text-align: justify;">L&#8217;archivio <code>utelnetd.tbz2</code> contiene due file, il demone telnet e un file per lanciarlo e configurare la bash del vostro sistema. Copiate i due file nella cartella <code>/www/cgi-bin/public/</code> tramite la condivisione creata precedentemente.<br />
EccoVi il contenuto del file telnet.cgi:</p>
<pre>#!/bin/sh
echo "Content-type: text/plain"
echo ""

# Settings for root bash shell
HOME='/root'
PATH='/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin:.:'
TERM=linux

PS1='\u@\h:\w# '
PS2='&gt; '
PS3='&gt; '
PS4='+ '
export PS1 PS2 PS3 PS4 PATH HOME TERM

# Run telnet daemon
echo utelnetd -l /bin/bash
eval utelnetd -l /bin/bash</pre>
<p>Potete lanciare il vostro demone telnet da un browser web all&#8217;indirizzo:</p>
<pre>http://indirizzo_nas/cgi-bin/public/telnet.cgi</pre>
<p style="text-align: justify;"><strong></strong>Se la pagina rimane bianca e in <em>caricamento infinito</em> non preoccupatevi, lanciate ugualmente il vostro client telnet sull&#8217;indirizzo del nas e godetevi la vostra console di root senza login. (evviva sicurezza!)<br />
Una volta che si possiede una console a tutti gli effetti si può anche pensare di fare uno step in avanti con la sicurezza installando openssh.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="openssh"></a>Installazione di OpenSSH</span></strong></p>
<p>Copiate l&#8217;archivio <code>openssh-4.7_p1-r6[modificato].tbz2</code> nella vostra cartella condivisa del nas.<br />
Dalla console di telnet eseguite:</p>
<pre># cd /home/share/nome_cartella_della_vostra_condivisione
# tar -xvjf openssh-4.7_p1-r6.tbz2 -C /
# rm openssh-4.7_p1-r6.tbz2
# cd /etc/initng/runlevel/
# echo sshd &gt;&gt; default.runlevel
# touch /var/log/lastlog</pre>
<p style="text-align: justify;">Al primo avvio del nas dopo l&#8217;installazione dello ssh sarà, per una sola volta, più lento, la causa è la creazione automatica dei file:</p>
<pre>ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_key
ssh_host_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub</pre>
<p style="text-align: justify;">obbligatori per il funzionamento del demone ssh stesso (cartella <code>/etc/ssh/</code>).</p>
<p style="text-align: justify;">Eccovi il file di configurazione (<code>sshd.i</code>), incluso nell&#8217;archivio, per initng per il demone sshd:</p>
<pre>#!/sbin/itype

# NAME: OpenSSH
# DESCRIPTION: The standard Linux SSH server
# WWW: http://www.openssh.com/

service sshd/generate_keys {
	env KEYGEN=/usr/bin/ssh-keygen;
	env RSA1_KEY=/etc/ssh/ssh_host_key;
	env RSA_KEY=/etc/ssh/ssh_host_rsa_key;
	env DSA_KEY=/etc/ssh/ssh_host_dsa_key;
	script start = {
		[ ! -s ${RSA1_KEY} ] &amp;&amp; \
			${KEYGEN} -q -t rsa1 -f ${RSA1_KEY} -C '' -N '' 2&gt;&amp;1
		if [ ! -s ${RSA_KEY} ] ; then
			${KEYGEN} -q -t rsa -f ${RSA_KEY} -C '' -N '' 2&gt;&amp;1
			chmod 600 ${RSA_KEY}
			chmod 644 ${RSA_KEY}.pub
		fi
		if [ ! -s ${DSA_KEY} ] ; then
			${KEYGEN} -q -t dsa -f ${DSA_KEY} -C '' -N '' 2&gt;&amp;1
			chmod 600 ${DSA_KEY}
			chmod 644 ${DSA_KEY}.pub
		fi
	}
}

daemon sshd {
	need = bootmisc virtual/net mountfs;
	pid_file = /var/run/sshd.pid;
	need = sshd/generate_keys;
	exec daemon = /usr/sbin/sshd -D;
	daemon_stops_badly;
	respawn;
}</pre>
<p style="text-align: justify;">Altro problema sono le pam, anche qui, il file presente nell&#8217;archivio originale non funziona e ho dovuto editarlo a mano. Eccovi il suo nuovo contenuto:</p>
<pre>#%PAM-1.0

auth        required     pam_unix.so
account     required     pam_unix.so
password    required     pam_unix.so
session     required     pam_unix.so</pre>
<p>Modificatelo a vostra discrezione (file <code>/etc/pam.d/sshd</code>).</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="user_privileges"></a>Persistenza dei privilegi dell&#8217;utente</span></strong></p>
<p style="text-align: justify;">I problemi tuttavia non finiscono qui. Ad ogni riavvio della macchina il file <code>/etc/passwd</code> e <code>/etc/shadow</code> vengono sovrascritti. In particolare ogni nuovo utente creato tramite l&#8217;interfaccia web del nas non ha il diritto di loggarsi alla console remota del nas. Es:</p>
<pre>admin:x:500:100::/home:/bin/false</pre>
<p style="text-align: justify;">Il <code>/bin/false</code> è il nostro problema! Per ovviare alla situazione ho creato un servizio per initng, chiamato personal, che permette di ripristinare i privilegi di un account:</p>
<pre>#!/sbin/itype
#
# Cambiate la riga user="utente" inserendo a posto di 'utente' il nome dell'utente da voi creato

service personal {
	need = edconfd/ready;
	last;
	script start = {
		user="utente"
		PASSWD="$user:x:0:0::/root:/bin/bash"

		if [ "x`cat /etc/passwd | grep $user`" == "x" ]; then
			echo $PASSWD &gt;&gt; /etc/passwd
			echo "Insert user $user done" &gt;&amp;2
		else
			LINE="`cat /etc/passwd | grep $user`"
			if [ "$LINE" != "$PASSWD" ]; then
				sed -i "s#${LINE}#${PASSWD}#g" /etc/passwd
				echo "User $user restored" &gt;&amp;2
			fi
		fi
		exit 0
	};
}</pre>
<p><span style="text-decoration: underline;">Si presuppone che l&#8217;utente sia stato creato precedentemente tramite l&#8217;interfaccia web del nas.</span></p>
<p style="text-align: justify;">L&#8217;unica modifica richiesta è cambiare la stringa <code>user="utente"</code>, inserendo al posto di <em>utente</em> il nome dello user che avete creato. L&#8217;esecuzione dello script comporta la modifica dei privilegi dell&#8217;utente (che diventerà un alter ego del root) e la possibilità di effettuare il login remoto nella shell ssh.<br />
Il file non è presente in alcun archivio, ma è possibile scaricarlo qui:</p>
<ul>
<li style="text-align: left;"><a title="Script per initng &quot;personal.i&quot;" href="http://www.steppen-wolf.eu/blog/wp-content/personal.i">personal.i</a> (prima versione)</li>
<li style="text-align: left;"><a title="Script per initng &quot;personal2.i&quot;" href="http://www.steppen-wolf.eu/blog/wp-content/personal2.i">personal2.i</a> (versione per i più smaliziati)</li>
</ul>
<p>Per avviare automaticamente al boot del nas lo script copiare il file <code>personal.i</code> nella cartella <code>/etc/initng/</code>, ed eseguire:</p>
<pre># cd /etc/initng/runlevel/
# echo personal &gt;&gt; default.runlevel</pre>
<p style="text-align: justify;">Una volta che lo script è stato aggiunto potete finalmente eliminare il vostro demone telnet e il suo file di avvio dalla cartella <code>/www/cgi-bin/public/</code>. Per scaramanzia vi consiglio di riavviare la macchina e accertarvi che tutto funzioni come si ci aspetti prima di rimuovere i due file.</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><a name="su_passwd_bash_personalization"></a>Problemi con su e passwd e personalizzazione del promtp della bash</strong></span></p>
<p>Quando gli sviluppatori della LaCie hanno compilato il sistema hanno tralasciato, penso volutamente, qualcosa&#8230;<br />
Loggatevi come root al nas ed eseguite (ricordo che l&#8217;accesso telnet che avete è di root):</p>
<pre># vi /etc/busybox.conf</pre>
<p>Inserite queste linee, salvate il file e uscite dall&#8217;editor</p>
<pre>[SUID]
passwd = ssx 0.0
su = ssx root.0</pre>
<p>Dalla console, sempre con l&#8217;account di root, eseguite questi comandi:</p>
<pre># chown 0.0 /etc/busybox.conf
# chmod 600 /etc/busybox.conf
# chown 0.0 /bin/busybox
# chmod 4755 /bin/busybox</pre>
<p>I problemi con su e passwd sono finiti.</p>
<p>Se volete il promt della bash esteso vi consiglio di editare il file <code>/etc/profile.bash</code> cambiando la riga:<br />
<code></code></p>
<pre>PS1='[\u@\h \W]\$ '</pre>
<p>in<br />
<code></code></p>
<pre>PS1='[\u@\h \w]\$ '</pre>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="ntp"></a>Installazione di NTP</span></strong></p>
<p>Copiate l&#8217;archivio <code>ntp-4.2.4_p4.tbz2</code> (247Kb) nella vostra cartella condivisa del nas.<br />
Dalla console, con i privilegi di root attivi, eseguite:</p>
<pre># cd /home/share/nome_cartella_della_vostra_condivisione
# tar -xvjf ntp-4.2.4_p4.tbz2 -C /
# rm -r ntp-4.2.4_p4.tbz2
# cd /etc/initng/runlevel/
# echo ntpd &gt;&gt; default.runlevel</pre>
<p style="text-align: justify;">Questo qui è il file di configurazione, incluso nell&#8217;archivio, per initng per il demone ntpd:</p>
<pre>#!/sbin/itype

daemon ntpd {
	env NTPD_PID = /var/run/ntpd.pid;
	need = bootmisc virtual/net;
	require_network;
	exec daemon = /usr/sbin/ntpd -c /etc/ntp.conf -p ${NTPD_PID};
	forks;
	pid_file = ${NTPD_PID};
	respawn;
}</pre>
<p style="text-align: justify;">Non dimenticatevi di configurare correttamente il vostro fuso orario. Potete farlo dalla pagina web di configurazione &#8220;system&#8221; del vostro nas. Per finire riavviate il nas.</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><a name="cups"></a>Installazione di Cups (print server)</strong></span></p>
<p>Copiate l&#8217;archivio <code>cups-1.3.8-r1.tbz2</code> (1.89Mb)  nella vostra cartella condivisa del nas.</p>
<p>Dalla console, con i privilegi di root attivi, eseguite:</p>
<pre># cd /home/share/nome_cartella_della_vostra_condivisione
# tar -xvjf cups-1.3.8-r1.tbz2 -C /
# rm -r cups-1.3.8-r1.tbz2
# cd /etc/initng/runlevel/
# echo cupsd &gt;&gt; default.runlevel</pre>
<p>Aprite l&#8217;interfaccia web del nas e cliccate su GRUPPI e poi aggiungi, e create un nuovo gruppo con il nome &#8220;lpadmin&#8221; e aggiungete al gruppo l&#8217;utente che avete creato precedentemente per accedere al nas in ssh.</p>
<pre># vi /etc/sysconfig/modules</pre>
<p>Aggiungete la riga <code>usblp</code>, come da figura e salvate.</p>
<p style="padding-left: 30px;"><img style="border: 1px solid black;" title="File /etc/sysconfig/modules" src="http://www.steppen-wolf.eu/blog/wp-content/modules.gif" alt="File /etc/sysconfig/modules" width="603" height="226" /></p>
<p style="text-align: justify;">L&#8217;ultimo passaggio impone al sistema di caricare automaticamente all&#8217;avvio il modulo che supporta la stampa su porta usb.<br />
Vi ricordo che i comandi per modificare un file con l&#8217;editor vi sono &#8220;i&#8221; per inserire nuovo testo e &#8220;ESC&#8221;+&#8221;:wq&#8221; per salvare e uscire.</p>
<p>Eccovi il file di configurazione, incluso nell&#8217;archivio, per avviare automaticamente il demone cups tramite initng:</p>
<pre>#!/sbin/itype

# NAME: CUPS
# DESCRIPTION: The Common Unix Printing System
# WWW: http://www.cups.org

daemon cupsd {
	need = bootmisc dbus virtual/net avahi;
	require_network;
	exec daemon = /usr/sbin/cupsd -F -c /etc/cups/cupsd.conf;
}</pre>
<p style="text-align: justify;">Dovete, inoltre, modificare il file <code>/etc/cups/cupsd.conf</code> per permettere l&#8217;amministrazione remota del cups, altrimenti inattiva. Come aiuto vi riporto il mio <a title="File di configurazione per il demone cupsd" href="http://www.steppen-wolf.eu/blog/wp-content/cupsd.conf">file di configurazione</a>. Per un ulteriore aiuto su come configurare il cups vi rimando al sito internet ufficiale <a title="Common UNIX Printing System" href="http://www.cups.org/" target="_blank">www.cups.org</a>.</p>
<p style="text-align: justify;">Anche per il cups ho dovuto editare a mano il file pam. Eccovi il suo nuovo contenuto:</p>
<pre>#%PAM-1.0

auth        required     pam_unix.so
account     required     pam_unix.so</pre>
<p>Modificatelo a vostra discrezione (file <code>/etc/pam.d/cups</code>).</p>
<p style="text-align: justify;">Una volta riavviata la macchina, il cups sarà in esecuzione e raggiungibile all&#8217;indirizzo del vostro nas alla porta 631:</p>
<pre>https://indirizzo_nas:631</pre>
<p style="text-align: justify;">I file <code>cups-1.3.8-r1_(driver).tbz2</code> e <code>cups-1.3.8-r1_(launguage).tbz2</code>, sono opzionali e contengono i driver e la traduzione dell&#8217;interfaccia web, installarli o meno è una vostra scelta. Potete anche installare solo la lingua italiana rimuovendo dall&#8217;archivio <code>cups-1.3.8-r1_(launguage).tbz2</code> le cartelle delle lingue che non desiderate, lo stesso dicasi per il file con i driver.</p>
<p style="text-align: justify;">Per poter stampare in formato raw (output pre formattato) dovete togliere il commento alla linea seguente dal file <code>/etc/cups/mime.convs</code>:</p>
<pre>application/octet-stream application/vnd.cups-raw 0 -</pre>
<p style="text-align: justify;">Assicuratevi che non sia commentata anche la linea seguente del file <code>/etc/cups/mime.types</code>:</p>
<pre>application/octet-stream</pre>
<p style="text-align: justify;">In linux la stampante sarà rintracciabile all&#8217;indirizzo (fate attenzione alle volte non c&#8217;è bisogno di indicare il numero di porta):</p>
<pre>ipp://indirizzo_nas:631/printers/nome_stampante</pre>
<p style="text-align: justify;">Es:</p>
<pre>ipp://192.168.1.100:631/printers/ML-3050</pre>
<p style="text-align: justify;">In windows xp cliccate su &#8220;Aggiungi stampante&#8221; e per aggiungere una nuova stampante di rete e selezionate &#8220;Stampante  in Internet o della rete domestica o aziendale&#8221; e usate l&#8217;URL:</p>
<pre>http://indirizzo_nas:631/printers/nome_stampante</pre>
<p style="text-align: justify;">Selezionate, infine, il driver per la vostra stampante.<br />
Una piccola precisazione, il samba del nas non è stato compilato con il supporto per il cups. (<code>libcups.so.2</code>)</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="ngc"></a>The next generation control (ngc)</span></strong></p>
<pre># ngc -H
 initNGControl (0.6.10.2 ) by Jimmy Wennlund http://www.initng.org/

 ngc understand this commands:
 short Option                          : description
 ----------------------------------------------------------
 [-h] --help                           : Print what commands you can send to initng.
 [-H] --help_all                       : Print out verbose list of all commands.
 [-s] --status &lt;opt&gt;                   : Print all services.
 [-O] --options &lt;opt&gt;                  : Print out option_db.
 [-u] --start opt                      : Start service.
 [-d] --stop opt                       : Stop service.
 [-t] --states &lt;opt&gt;                   : Print out all possible states.
 [-I] --list_filedescriptors &lt;opt&gt;     : Print all open filedescriptors initng have.
 [-P] --print_service_db &lt;opt&gt;         : Print service_db
 [-p] --print_active_db &lt;opt&gt;          : Print active_db
 [-v] --verbose                        : Toggle the verbose flag - ONLY FOR DEBUGGING
 [-i] --add_verbose opt                : Add string to watch for to make initng verbose - ONLY FOR DEBUGGING
 [-k] --del_verbose opt                : Del string to watch for to make initng verbose - ONLY FOR DEBUGGING
 [-c] --hot_reload                     : Fast Reload
 [-g] --get_pid_of opt                 : Get pid of service
 [-j] --restart_from opt               : Stop all services, and start from
 [-z] --zap &lt;opt&gt;                      : Resets a failed service, so it can be restarted.
 [-r] --restart opt                    : Restart service
 [-T] --time opt                       : Print uptime
 [-f] --father opt                     : Print father to
 [-R] --reload_service &lt;opt&gt;           : Reload service data from disk ( reparse /etc/initng )
 [-6] --reboot                         : Reboot the computer
 [-0] --poweroff                       : Power off the computer
 [-1] --halt                           : Halt the computer
 [-m] --print_plugins                  : Print loaded plugins
 [-o] --load_module opt                : Load Module
 [-n] --done                           : Prints percent of system up
 [-a] --service_dep_on opt             : Print what services me depends on
 [-A] --service_dep_on_deep opt        : Print what services me depends on deep
 [-b] --service_dep_on_me opt          : Print what dependencies that are depending on me
 [-B] --service_dep_on_me_deep opt     : Print what dependencies that are depending on me deep
 [-U] --run opt                        : Simply run an exec with specified name, example ngc --run service/test:start
 [-y] --stop_unneeded                  : Stop all services, not in runlevel</pre>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="ripristino"></a>Ripristino</span></strong></p>
<p style="text-align: justify;">È possibile ripristinare il filesystem del nas allo stato precedente le modifiche effettuando l&#8217;aggiornamento del firmware, anche con la stessa versione installata sul nas, nel mio caso 2.2.3, usando l&#8217;utility messa a disposizione dalla LaCie stessa. Tuttavia non è possibile effettuare tale operazione se il nas risulta non essere più visibile in rete, infatti l&#8217;utility non esegue il processo di aggiornamento se non vede precedentemente il nas.</p>
<p style="text-align: justify;">Procedura di reset ufficiale fornita da LaCie</p>
<p style="text-align: justify;">Portare l&#8217;interruttore dell&#8217;unità su <strong>OFF.</strong>. Dopo lo spegnimento, assicurarsi che l&#8217;interruttore rimanga in posizione OFF.<br />
Se l&#8217;unità si trova in modalità SAFE, spostare lo switch RAID in modalità BIG.<strong><br />
PREMERE A LUNGO</strong> il pulsante frontale. <strong>SPOSTARE</strong> l&#8217;interruttore di accensione in posizione <strong>ON</strong> . Il LED sul lato frontale dell&#8217;unità inizia a lampeggiare.<br />
Quando il LED smette di lampeggiare, <strong>RILASCIARE</strong> il pulsante frontale.<br />
Una volta rilasciato, il LED inizia a <strong>LAMPEGGIARE DI NUOVO</strong>. Quando smette, <strong>PREMERE A LUNGO</strong> il pulsante frontale. Il LED ricomincia a lampeggiare.<br />
Quando il LED smette di lampeggiare, <strong>RILASCIARE</strong> il pulsante. L&#8217;unità esegue il reset.<br />
Una volta che il reset è stato eseguito l&#8217;unità si riavvierà automaticamente.<br />
Se necessario, riportare il selettore RAID su SAFE.<br />
Per recuperare eventuali dati persi durante il processo, si devono ricreare le condivisioni presenti sull&#8217;unità prima del reset. Eventuali aggiornamenti del firmware dovranno essere applicati di nuovo.<br />
La procedura di reset è parecchio noiosa da eseguire, infatti solo al quarto tentativo il nas si è resettato correttamente, quindi vi consiglio di avere molta pasienza.</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="link"></a>Link Utili</span></strong></p>
<ul>
<li style="text-align: left;"><a title="U-Boot - the Universal Boot Loader" href="http://www.denx.de/wiki/U-Boot" target="_blank">uboot</a></li>
<li style="text-align: left;"><a title="Cross-compilation toolkit project" href="http://www.scratchbox.org/" target="_blank">scratcbox</a></li>
<li style="text-align: left;"><a title="Buildroot: making Embedded Linux easy" href="http://buildroot.uclibc.org/" target="_blank">buildroot</a></li>
<li style="text-align: left;"><a title="The next generation init system" href="http://www.initng.org/" target="_blank">www.initng.org</a>, vedi preferibilmente <a href="http://gitorious.org/initng/" target="_blank">http://gitorious.org/initng/</a>.</li>
<li style="text-align: left;"><a title="Lacie NAS-Central" href="http://lacie.nas-central.org/wiki/Main_Page" target="_blank">Lacie NAS-Central</a></li>
<li style="text-align: left;"><a title="General NAS-Central Forums (LaCie)" href="http://forum.nas-central.org/viewforum.php?f=46" target="_blank">General NAS-Central Forums</a></li>
<li style="text-align: left;"><a title="binar arm" href="http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/" target="_blank">http://downloads.buffalo.nas-central.org/LSPro_ARM9/Distributions/Genlink/Binaries/armv5tejl-softfloat-linux-gnueabi/<br />
</a> (binari compilati per architettura arm)</li>
<li style="text-align: left;"><a title="Pagina di supporto del nas LaCie 2Big Network" href="http://www.lacie.com/it/support/support_manifest.htm?id=10245" target="_blank">LaCie</a> (pagina di supporto)</li>
<li style="text-align: left;"><a title="Centro download GPL LaCie" href="http://www.lacie.com/gpl/" target="_blank">LaCie GPL</a></li>
<li style="text-align: left;"><a title="Common UNIX Printing System" href="http://www.cups.org/" target="_blank">www.cups.org</a>, Common UNIX Printing System.</li>
</ul>
<p>&nbsp;</p>
<p><strong><span style="font-size: medium;"><a name="speculazioni"></a>Speculazioni</span></strong></p>
<p style="text-align: justify;">Un idea molto interessante che mi è venuta in mente è di modificare il raid del nas. In particolare, usare gli hard disk esterni, agganciabili alle porte del usb, come parte integrante del raid usando il raid 5 o aggiungere un hd esterno da usare come spare in caso di guasto. Non ho compiuto alcuna prova in merito, principalmente per mancanza di hd, ma se qualcuno ha avuto la stessa mia idea e ci sta provando mi faccia sapere qualcosa. <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Aggiornamento del kernel (?!?)</p>
<p>&nbsp;</p>
<p><span style="font-size: medium;"><strong><a name="ringraziamenti"></a>Ringraziamenti</strong></span></p>
<p style="text-align: justify;">Ringrazio gli utenti del forum &#8220;General NAS-Central Forums&#8221;, che con i loro utili post hanno permesso la stesura di questo articolo e soprattutto di bucare il mio nas. <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 7691px; width: 1px; height: 1px;">http://hostname:631/printers/RawPrinterQueueName</div>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2010/10/22/lacie-2big-network-supporto-nfs/' rel='bookmark' title='LaCie 2Big Network: supporto nfs'>LaCie 2Big Network: supporto nfs</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2010/04/14/lacie-2big-network-tweaking-deframmentazione-filesystem-con-xfs_fsr/' rel='bookmark' title='LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr'>LaCie 2Big Network tweaking: deframmentazione filesystem con xfs_fsr</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2009/11/18/lacie-2big-network-hack-telnet-openssh-ntpd-cups-and-more/feed/</wfw:commentRss>
		<slash:comments>125</slash:comments>
		</item>
		<item>
		<title>Fonera Si, Fonera.. No!?</title>
		<link>http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/</link>
		<comments>http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 23:10:37 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Fonera]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Personale]]></category>
		<category><![CDATA[fonera]]></category>
		<category><![CDATA[fonera 2.0g]]></category>
		<category><![CDATA[fonera 2.0n]]></category>
		<category><![CDATA[fonera 2100]]></category>
		<category><![CDATA[fonera 2200]]></category>
		<category><![CDATA[fonera 2202]]></category>
		<category><![CDATA[freelan]]></category>
		<category><![CDATA[malumore]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=517</guid>
		<description><![CDATA[  Non sono contento della piega che da un po di tempo a questa parte fon sta prendendo. Hanno impiegato molti sforzi a sviluppare dei plugin per megaupload, picasa, facebook, twitter, rapidshare ecc. che non sono così fondamentali come la &#8230; <a href="http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/' rel='bookmark' title='Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug'>Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" style="border: 1px solid black;" title="Fonera 2100, 2200, 2.0g, 2.0n" src="http://www.steppen-wolf.eu/blog/wp-content/foneras.jpg" alt="Fonera 2100, 2200, 2.0g, 2.0n" width="524" height="406" /></p>
<p style="text-align: center;"> </p>
<p>Non sono contento della piega che da un po di tempo a questa parte fon sta prendendo. Hanno impiegato molti sforzi a sviluppare dei plugin per megaupload, picasa, facebook, twitter, rapidshare ecc. che non sono così fondamentali come la stabilità del router, né sono così importanti da essere installati di default e senza possibilità di rimuoverli dalla fonera.<br />
 Inoltre continuano a non dare troppo peso alle richieste degli utenti sia in termini di hardware che in termini di software. Chi non vuole sulla propria fonera tutte le opzioni che il <em>mod</em> <a title="FreeWLAN Wiki" href="http://wiki.fon.com/wiki/FreeWLAN">freelan</a> fornisce?<br />
 Quando la fonera 2.0g era in fase beta si chiedeva alla fon un router con 64mb di ram e il supporto alla tecnologia wifi n (tra le tante necessità queste almeno erano le più richieste). Adesso esiste ed è il nuovo router fonera 2.0n, si ma a che prezzo? Hanno ritirato dal mercato la &#8220;vecchia&#8221; fonera 2.0g e mandato una mail ai possessori di quest&#8217;ultima per incentivare l&#8217;acquisto della nuova macchina a prezzo scontato. Intanto i miei fonera si impilano uno sopra l&#8217;altro&#8230;<br />
 Sembra che si siano accorti che 32mb di ram erano troppo pochi per far girare tutte quelle applicazioni sulla fonera figuriamoci un client torrent. Nel frattempo ho sempre difficoltà ad accedere alla WebGui della fonera lato wan  obbligandomi ad riavviare firefox o peggio la fonera stessa (che impiega <em>soli</em> 5 minuti per rimettersi on-line). <br />
 Non tocchiamo nemmeno l&#8217;argomento del transfer-rate in ftp dal pc all&#8217;hard disk collegato alla fonera: semplicemente ridicolo. Ho un nas della LaCie che 10 volte più veloce!<br />
 Piuttosto che creare un nuovo router ora non potevano fin da subito progettare questo senza passare dallo step (fallito) della fonera 2.0g?<br />
 La nuova fonera 2.0n nonostante abbia uno switch di 4 porte queste non sono gigalan e le sue due antenne sono fisse, non so voi ma l&#8217;idea delle antenne fisse mi  rabbrividisce. Ho diverse antenne wifi di varia portata da 2db a 16db che non potrei usare con questo router.<br />
 Spero che migliorino il supporto software per bene altrimenti a fare un <code>fis init -f</code> e mettere su OpenWrt non ci vuole poi molto&#8230;&#8221;soli&#8221; 30 minuti (almeno per le <em>vecchie</em> fonere, 3-5 minuti per la nuova). <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' /> </p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/' rel='bookmark' title='Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug'>Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fonera 2.0g firmware ufficiale 2.3.0.1 RC 1 e i suoi bug</title>
		<link>http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/</link>
		<comments>http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/#comments</comments>
		<pubDate>Wed, 07 Oct 2009 22:01:52 +0000</pubDate>
		<dc:creator>Steppenwolf</dc:creator>
				<category><![CDATA[Fonera]]></category>
		<category><![CDATA[Hack]]></category>
		<category><![CDATA[Lavoro]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[/etc/config/fon]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[firmware 2.3.0.1 rc 1]]></category>
		<category><![CDATA[fonera]]></category>
		<category><![CDATA[fonera 2.0g]]></category>
		<category><![CDATA[fonera 2202]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[passphrase]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.steppen-wolf.eu/blog/?p=493</guid>
		<description><![CDATA[Che la RC1 del firmware 2.3.0.1 della fonera 2.0g fosse baggato era cosa nota già dai primi momenti in cui è stato reso pubblico. Anomalie: Questa è la shell della fonera 2.0g con l&#8217;ultimo firmware 2.3.0.1. Come si può notare &#8230; <a href="http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/">Continua a leggere <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

<b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/' rel='bookmark' title='Fonera Si, Fonera.. No!?'>Fonera Si, Fonera.. No!?</a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Che la RC1 del firmware 2.3.0.1 della fonera 2.0g fosse baggato era cosa nota già dai primi momenti in cui è stato reso pubblico.</p>
<p style="text-align: justify;"><span style="font-size: medium;"><br />
 Anomalie:</span></p>
<p><img class="size-full wp-image-499" style="border: 1px solid black;" title="fonera 2.0g shell" src="http://www.steppen-wolf.eu/blog/wp-content/fonera_shell.gif" alt="fonera 2.0g shell" width="523" height="484" /></p>
<p>Questa è la shell della fonera 2.0g con l&#8217;ultimo firmware 2.3.0.1.<br />
 Come si può notare la dicitura è: <code>Fonera 20n Firmware (v2.2.6.0)</code><br />
 Il che fa pensare che di fatto stiano facendo un unico firmware per entrambe le fonere 2.0g e 2.0n modificando solo il supporto per il processore Atheros AR2315 a 183Mhz per la fonera 2.0g e Ralink RT3052F a 300 Mhz per la fonera 2.0n.</p>
<p><span style="font-size: medium;"><br />
 Bug:</span></p>
<p style="text-align: justify;">Se provate ad accedere dalla wan in ssh alla fonera riceverete un messaggio di errore di connessione rifiutata, questo anche se avete abilitato l&#8217;accesso ssh lato wan dalla fonera stessa.<br />
 Per risolvere questo problema, nella attesa di una release meno baggata, procedete così:</p>
<ol style="text-align: left;">
<li style="text-align: left;">
<p>Guadagnate l&#8217;accesso ssh sulla fonera (lato lan)</p>
</li>
<li style="text-align: left;">Modificate il file:
<p><code>root@fonera:~# vi /etc/firewall.fon</code></p>
</li>
<li>Aggiungete la riga (comando &#8220;i&#8221; per inserire nuovo testo nel file):
<p><code>iptables -A input_wan -p tcp --dport 22 -j ACCEPT</code></p>
</li>
<li>
<p>Salvate (per salvare pigiate &#8220;esc&#8221;, poi &#8220;:wq&#8221;)</p>
</li>
<li>Riavviate la fonera o riavviate il firewall:
<p><code>root@fonera:~# /etc/init.d/firewall restart</code></p>
</li>
</ol>
<p>Questo sembrerebbe essere un bug introdotto proprio dalla versione del firmware 2.3.0.1 rc1. <br />
 Non è sicuramente un grave problema, ma per chi, come me, usa la shell della fonera può dare <em>fastidio</em>. <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' /> </p>
<p><span style="font-size: medium;"><br />
 Altro giro altro bug! <img src='http://www.steppen-wolf.eu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> </span></p>
<p>Posso confermare che questo bug era già presente nella versione precedente del firmware (2.2.6.0 rc2).<br />
 La fonera, come sapete, può collegarsi alla rete &#8220;wan&#8221; sia tramite cavo di rete che wifi.<br />
 Se volete impostare la modalità di connessione wifi e come il sottoscritto siete piuttosto esigenti sulla wpa passphrase  avrete qualche problema. L&#8217;interfaccia grafica della fonera infatti si rifiuta di salvare pass-phrases lunghe.<br />
 Es:</p>
<div id="attachment_503" class="wp-caption alignright" style="width: 310px"><a href="http://www.steppen-wolf.eu/blog/wp-content/fon_internet_setting.jpg"><img class="size-medium wp-image-503" title="Fonera Internet Setting" src="http://www.steppen-wolf.eu/blog/wp-content/fon_internet_setting-300x203.jpg" alt="Fonera Internet Setting" width="300" height="203" /></a><p class="wp-caption-text">Fonera Internet Setting (Clicca per ingrandire)</p></div>
<p>Nel mio caso uso una passphrase di 63 caratteri esadecimali. Quando pigiate il tasto salva la fonera vi segnalerà in rosso la vostra passphrase e si rifiuterà di salvare le impostazioni.<br />
 La soluzione che suggerisco è semplice:</p>
<ol>
<li style="text-align: left;">
<p>Inserire una passphrase fasulla di otto caratteri tipo &#8220;12345678&#8243; e salvare le impostazioni.</p>
</li>
<li style="text-align: left;">Aprire una console sulla fonera e modificare il file:
<p><code>root@fonera:~# vi /etc/config/fon<br />
 </code></p>
</li>
<li style="text-align: left;">
<p>Cercate la riga:</p>
<p><code>option 'psk' '12345678'</code></p>
<p>e sostituitela con:</p>
<p><code>option 'psk' '<em>inserite_la_vostra_passphrase</em>' </code></p>
<p>Es:</p>
<p><img class="size-full wp-image-505" style="border: 1px solid black;" title="Fonera passphrase config" src="http://www.steppen-wolf.eu/blog/wp-content/fon_config.gif" alt="Fonera passphrase config" width="518" height="262" /> </li>
<li style="text-align: left;">Salvate il file e riavviate la fonera.</li>
</ol>
<p style="text-align: justify;">Spero di aver dato una mano d&#8217;aiuto.</p>
<div class='yarpp-related-rss'>
<p><b>Articoli correlati:</b><ol>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/20/installare-piranha-sulla-fonera/' rel='bookmark' title='Installare piranha sulla fonera [Aggiornato]'>Installare piranha sulla fonera [Aggiornato]</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/09/19/wep-hack-with-aircrack-ng-on-fonera-piranha-2-0-alpha-4/' rel='bookmark' title='Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4'>Wep Hack with Aircrack-ng on fonera piranha 2.0 alpha 4</a></li>
<li><a href='http://www.steppen-wolf.eu/blog/2009/10/08/fonera-si-fonera-no/' rel='bookmark' title='Fonera Si, Fonera.. No!?'>Fonera Si, Fonera.. No!?</a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.steppen-wolf.eu/blog/2009/10/07/fonera-2-0g-firmware-ufficiale-2-3-0-rc-1-e-i-suoi-bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
