4.3.5 Traitement des messages pour l'API_IPsec
distante
Le fichier « process.c » fait un traitement
initial des messages pour les renvoyer au module spécifique qui peut
réaliser les actions demandées. Ensuite on détaille le
traitement des messages qui sont dirigés vers l'API_IPsec distante. En
effet, quand une application veut manager une API_IPsec distante elle doit s'y
connecter et obtenir son descripteur de socket « sfd_remote ». Puis,
elle doit encapsuler tous les messages en utilisant un Header de type
REM_MSG_FUNC TION suivi par le paramètre
sfd_remote. La figure suivante montre le traitement
du message : on prend le sfd_remote, on efface le
Header1 et on renvoie le message original à l'API_IPsec distante.
Normalement le message original est aussi traité dans l'API_IPsec
locale.
H1: REM_MSG_FUNC TION P1: sfd_remote
H2: Message Original F2 / P2 / R2
Application
H2: Message Original F2 / P2 / R2
API_IPsec Local
process
H2: Message Original F2 / P2 / R2
API_IPSEC Remote
module
Figure 23. Traitement des messages REM_MSG_FUNCTION
pour l'API_IPsec distante
|
Etude d'IPsec Projet d'une API_IPSEC pour
la Mobilite et le Multihoming
|
|
|
4.3.6 La compilation et le debug
Le projet est compilé avec l'utilitaire
«makefile» de Linux. Il est configuré pour utiliser le GCC
(GNU C Compiler) et compiler et linker tous les fichiers du répertoire
du projet, avec les dépendances nécessaires et les headers du
système ou des librairies (comme « libipsec» ou «
libpthread ») spécifiques.
Une étude de manuels et de tutoriales a
été nécessaire pour écrire les fichiers de
configuration « configure.am » et «
makefile.am».
Aussi, la connaissance pour linker ou créer librairies dynamiques (*.so)
et statiques (*.a), ou l'emplacement des headers et librairies du
système a été indispensable pour réussir a bien
compiler le projet d'API_IPsec qui a toujours vu grandir la taille et le nombre
de ses fichiers source. Dans l'Annexe on détaille le contenu des
fichiers de configuration.
Le debuggage s'est fait de manière manuelle, avec
la méthode de « essai / error ».
4.3.7 Prototype de la Mobility_Application
La Mobility_Application, comme toute autre
application qui veut utiliser l'API_IPsec, doit compiler les fichiers qui
contiennent les fonctions et messages de communication. Pour cette raison, on a
développé cette première version aussi en langage
C.
La suivante figure présente le schéma des
fichiers source qui constituent la Mobility_Application et leur
interrelation:
Figure 24. Schéma des fichiers source de la
Mobility_Application
«MA.c» est le fichier principal de la
Mobility_Application. Principalement elle utilise le fichier « app_msgs
», qu'on a déjà expliqué, pour envoyer les messages
à l'API_IPsec et savoir comme atteindre ses réponses de
confirmation, d'erreur ou de valeurs.
|
Etude d'IPsec Projet d'une API_IPSEC pour
la Mobilite et le Multihoming
|
|
|
On veut faire noter que dans cette première
version le fichier « app_detect » n'est pas réalisé
mais émulé directement dans la MA. Le fichier « api_utils
» ou les structures de « api_structs » sont également
réutilisés de manière à faciliter le
développement. La Mobility_Application ne devrait pas les
connaître, seule l'API_IPsec peut connaître ce type de structures
ou de fonctions d'utilité.
|