<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">Update: dopo chiacchierata
in paranoic mode con @Arkanet si è deciso che</font><font
face="Helvetica, Arial, sans-serif"><font face="Helvetica, Arial,
sans-serif"> al posto di {NOME PROPRIETARIO} ci andrà la
fingerprint della sua chiave PGP, inserita in fase di
installazione.<br>
In questo modo nelle e-mail è possibile sapere - tramite lookup
al keyserver - l'identità del proprietario dell'altro nas
collegato.<br>
<br>
In pratica,</font></font><font face="Helvetica, Arial,
sans-serif"> l'installer genera il file xml che andrà poi copiato
in</font><font face="Helvetica, Arial, sans-serif"> </font><font
face="Helvetica, Arial, sans-serif"><big><tt>/etc/avahi/services/<font
face="Helvetica, Arial, sans-serif">ninuxoo</font>.service<font
face="Helvetica, Arial, sans-serif">.</font></tt></big></font><font
face="Helvetica, Arial, sans-serif"><br>
</font><font face="Helvetica, Arial, sans-serif"><font
face="Helvetica, Arial, sans-serif"><font face="Helvetica,
Arial, sans-serif">Ma perché i link simbolici in </font></font></font><big><tt>/etc/avahi/services/</tt></big><font
face="Helvetica, Arial, sans-serif"><font face="Helvetica, Arial,
sans-serif"><font face="Helvetica, Arial, sans-serif"> non
funzionano?</font></font></font><font face="Helvetica, Arial,
sans-serif"><br>
<br>
Gubi<br>
<br>
</font>
<div class="moz-cite-prefix">Il 03/12/2013 21:14, Alessandro
Gubitosi ha scritto:<br>
</div>
<blockquote cite="mid:529E3BB7.4030902@gotanotherway.com"
type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<br>
<div class="moz-cite-prefix">Il 03/12/2013 16:36, Clauz ha
scritto:<br>
</div>
<blockquote cite="mid:529DFA65.8080609@ninux.org" type="cite">
<pre wrap="">On 12/03/2013 12:14 AM, Gabriel wrote:>
</pre>
<blockquote type="cite" style="color: #000000;">
<pre wrap=""><span class="moz-txt-citetags">> </span>con il comando che diceva Clauz evitiamo di doverci scrivere il
<span class="moz-txt-citetags">> </span>programma che parla su socket.
<span class="moz-txt-citetags">> </span>Con crond e awk si fa eseguire e parsare ogni tot, e ninuxoo va a
<span class="moz-txt-citetags">> </span>leggere il file con gli ip degli altri nodi-ninuxoo.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>Servirebbe un altro comando per annunciare il servizio con avahi.
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>
<span class="moz-txt-citetags">> </span>@Clauz conosci il comando?
</pre>
</blockquote>
<pre wrap="">Ho visto che esiste avahi-publish, che dovrebbe fare al caso nostro, ma
non l'ho mai usato.
</pre>
</blockquote>
Allora,<br>
ho fatto approfondimenti e mi pare funzionare:<br>
<ol>
<li>Ogni NAS deve avere avahi installato con questa config:</li>
<ul>
<li>Path: <big><tt>/etc/avahi/services/sap.service</tt></big></li>
<li>Contenuto:<br>
<big><tt><?xml version="1.0"
standalone='no'?><!--*-nxml-*--></tt></big><br>
<big><tt><!DOCTYPE service-group SYSTEM
"avahi-service.dtd"></tt><tt><br>
</tt><tt><service-group></tt><tt><br>
</tt><tt> <name replace-wildcards="yes">{NOME
PROPRIETARIO}</name></tt><tt><br>
</tt><tt> <service></tt><tt><br>
</tt><tt> <type>_sap._udp</type></tt><tt><br>
</tt><tt> <port>64689</port></tt><tt><br>
</tt><tt> <txt-record>Hello guys I'm a Ninuxoo
device</txt-record></tt><tt><br>
</tt><tt> </service></tt><tt><br>
</tt><tt></service-group></tt></big><br>
</li>
</ul>
<li>Per trovare quindi gli altri NAS basterà lanciare questo
comando: <big><tt>avahi-browse _sap._udp -rpt</tt></big></li>
</ol>
<p><br>
<b>SPIEGAZIONE</b><br>
In pratica ogni NAS annuncerà "<big><small>Hello guys I'm a
Ninuxoo device" in protocollo SAP via udp, sulla porta
64689.<br>
Il campo NOME PROPRIETARIO è arbitrario e serve per far
capire agli altri ninuxiani di chi è quel nas.<br>
Ciclicamente (secondo le impostazioni del proprietario del
NAS), il device farà un check (punto 2) e invierà una mail
al suo proprietario con un report.<br>
Se quindi si indica di collegare un altro NAS si avvia lo
scambio chiavi RSA e l'operazione sarà conclusa quando il
proprietario dell'altro NAS avrà accettato [1].<br>
Una volta agganciati i NAS comunicheranno con costanza e in
maniera cifrata.<br>
Ad esempio: quando faccio una ricerca, il mio NAS cercherà
via mdns tutti gli altri, ne risolverà l'ip e invierà una
richiesta di ricerca locale. Se i token corrispondono si
otterranno risultati che saranno quindi aggiunti alla gui
come stessero in locale, diversamente una risposta del tipo
"ma che vòi" :D<br>
</small></big></p>
<p><big><small>In tutti i processi solo le macchine sapranno gli
indirizzi IP (che saranno comunque cifrati).<br>
Se un device cambia hostname o indirizzo non ce ne frega
nulla perché il tutto si associa alla sua chiave rsa
pubblica.<br>
Cambiando chiave RSA bisognera far ricollegare tutti i NAS
conosciuti (che marcheranno quella vecchia come revocata).<br>
</small></big></p>
<p><big><small><b>Note</b><br>
1.
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device#facciamo-amicizia">https://github.com/gubi/Ninuxoo-Semantic-Decentralized/wiki/Tokens-e-processo-di-scambio-chiavi-tra-device#facciamo-amicizia</a></small></big></p>
<p><big><small>Ce piace?</small></big><br>
<big><small><big><small>@Clauz e @Gabriel +1<br>
</small></big>Gubi<br>
</small></big></p>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
ninux-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:ninux-dev@ml.ninux.org">ninux-dev@ml.ninux.org</a>
<a class="moz-txt-link-freetext" href="http://ml.ninux.org/mailman/listinfo/ninux-dev">http://ml.ninux.org/mailman/listinfo/ninux-dev</a>
</pre>
</blockquote>
<br>
</body>
</html>