Compare commits
No commits in common. "master" and "datastore-rework" have entirely different histories.
master
...
datastore-
|
@ -26,8 +26,6 @@ arguments.
|
|||
* `data [donnée]` : déclare une donnée à propager. La donnée peut contenir des
|
||||
espaces, et s'étend jusqu'à la fin de la ligne.
|
||||
|
||||
Un tel fichier de configuration « exemple » est fourni : `cfg.default`.
|
||||
|
||||
Le programme, à l'initialisation, lit le fichier puis le réécrit avec
|
||||
éventuellement des données tirées au hasard si nécessaire (eg. ID du nœud).
|
||||
|
||||
|
@ -36,5 +34,3 @@ d'erreur (stderr).
|
|||
|
||||
Le programme affiche son état actuel (voisins + infos sur eux, données + infos
|
||||
sur elles) lors d'un appui sur RETURN.
|
||||
|
||||
Un SIGINT (^C) permet l'arrêt propre du programme.
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
bootstrap 6722a421aadb51bd ::ffff:81.194.27.155 1212
|
||||
data The game
|
||||
data Second data
|
||||
data Oh wow, a third one!
|
|
@ -27,7 +27,7 @@ void DataStore::update() {
|
|||
handleExpire(evt.id, evt.seqno);
|
||||
}
|
||||
if(hasOwnData) {
|
||||
if(time(NULL) - recvTime[myData] >= csts::TIME_REPUBLISH_DATA)
|
||||
if(time(NULL) - recvTime[myData] > csts::TIME_REPUBLISH_DATA)
|
||||
handleRepublish(myData);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -157,14 +157,4 @@ inonder initialisé avec la liste des voisins vers qui on souhaite inonder.
|
|||
Régulièrement, \lstcpp{Flooder::update} est appelé, et se charge d'inonder
|
||||
plusieurs fois la donnée vers chaque pair de l'ayant pas encore acquittée.
|
||||
|
||||
\subsection{Problèmes remarqués}
|
||||
|
||||
J'ai récemment remarqué que la manière dont je gère les seqno, à savoir prendre
|
||||
pour seqno la valeur de \lstcpp{time(NULL)}, me rend d'autant plus % chktex 36
|
||||
vulnérable aux attaques par republication de données fausses~: mon programme ne
|
||||
se rend pas compte que sa donnée a été \og{}effacée~\fg, et --- pire --- si le
|
||||
seqno utilisé est assez grand, mes republications n'auront aucun effet du point
|
||||
de vue des autres nœuds pendant longtemps~: la donnée republiée semble
|
||||
obsolète, est donc ignorée, puis la donnée stockée finit par expirer\ldots
|
||||
|
||||
\end{document}
|
||||
|
|
Loading…
Reference in New Issue