Merge branch 'master' of gaufre.informatique.univ-paris-diderot.fr:perdriau/dazibao

This commit is contained in:
n07070 2020-05-12 16:49:59 +02:00
commit f5ab2ba488

View File

@ -52,9 +52,9 @@ Ce message sera envoyé aux pairs en faisant la demande lors de l'inondation.
#### Réception des paquets et traitement
Lors de la réception d'un message, on effectue plusieurs vérifications. La première consiste à vérifier l'entête du paquet. Une fois cette entête validée, on ajoute le pair à la liste des pairs connus.
Lors de la réception d'un message, on effectue plusieurs vérifications. La première consiste à vérifier l'entête du paquet. En particulier, il faudra vérifier que le champ body_length du paquet est bien conforme aux spécifications données et correspond bien au nombre d'octets reçus par recvmsg. Une fois cette entête validée, on ajoute le pair à la liste des pairs connus.
On passe ensuite à la validation de chaque TLV. On commence par créer un paquet vide, qui va nous servir lors du renvoi éventuel de paquets vers les pairs. Ensuite, l'un à la suite des autres, nous validons les TLVs.
On passe ensuite à la validation de chaque TLV. On commence par créer un paquet vide, qui va nous servir lors du renvoi éventuel de paquets vers les pairs. Ensuite, l'un à la suite des autres, nous validons les TLVs. Il faudra vérifier que leur longueur n'est pas différente de ce que l'on attend selon leur type, mais aussi il faudra vérifier que la longeur annoncée ne dépasse pas les bornes du paquet à la position courrante.
La validation du TLV se fait selon plusieurs critères : est-ce que la taille annoncée correspond bien à la taille que l'on constate, est-ce que le type de TLV existe bien, ou encore est-ce que le TLV doit être traité (dans le cas du padding par exemple).