IMA4 2021/2022 EC4 : Différence entre versions

De Wiki d'activités IMA
(Travail réalisé)
(Erreurs corrigés:)
Ligne 41 : Ligne 41 :
 
smtp.c:184:23: warning: format not a string literal and no format arguments [-Wformat-security]
 
smtp.c:184:23: warning: format not a string literal and no format arguments [-Wformat-security]
 
   184 |  if(fprintf(dialogue,envoi)<0) return -1;
 
   184 |  if(fprintf(dialogue,envoi)<0) return -1;
       |                      ^[[Utilisateur:Kpatrike|Kpatrike]] ([[Discussion utilisateur:Kpatrike|discussion]]) 1 septembre 2022 à 15:27 (UTC)
+
       |                       
 +
 
 
smtp.c: In function ‘dialogue_DATA’:
 
smtp.c: In function ‘dialogue_DATA’:
 
smtp.c:211:1: warning: format not a string literal and no format arguments [-Wformat-security]
 
smtp.c:211:1: warning: format not a string literal and no format arguments [-Wformat-security]
 
   211 | if(fprintf(dialogue,corps)<0) return -1;
 
   211 | if(fprintf(dialogue,corps)<0) return -1;
 
       | ^~
 
       | ^~
 +
 
smtp.c: In function ‘afficheCourriel’:
 
smtp.c: In function ‘afficheCourriel’:
 
smtp.c:239:3: warning: format not a string literal and no format arguments [-Wformat-security]
 
smtp.c:239:3: warning: format not a string literal and no format arguments [-Wformat-security]

Version du 1 septembre 2022 à 15:28

Objectif

Terminer le projet système réseau SE2a4 2021/2022 à partir d'un source incomplet.

Le sujet du projet est ici : https://rex.plil.fr/Enseignement/Systeme/Tutorat.IMA2a4.Messagerie/

Le source incomplet est disponible en ligne Fichier:PSR-ReX-v6.zip.

Vous devez documenter vos avancées sur cette page Wiki.

Travail réalisé

Etape1:

- args.c : traitement des arguments courts et longs - libcom : Fonctions Initialisation, Connexion, BoucleServeur et résolution de nom de domaine - MTAint/tcpint.c : Code source pour le test de la communication TCP avec notre serveur fonctionne avec nc [ipv4_serveur] [port]

L'étape suivante sera d'implémenter les threads pour gérer plusieurs communications en même temps.


Etape2:

- MTAint: gestion_stmp : fonction de traitement et de stockage des informations avec des commandes HELO, MAIL, RCPT, DATA, QUIT dans une structure client réorganisation des fichiers : Test(test connection tcp, répertoire MTAint Etape1) , implémentation de la bibliothèque SMTP

L'implémentation des threads nous donne des erreurs. Librarire Threads non implémentée pour l'instant.

Etape2_finale:

MTAint: Implémentation des threads réalisée à l'aide d'une structure {void * arg, void * f(*f)(void *). Conflits de librairies résolus, nouvelle fonction serverLoop2 pour les threads et changement de void * gestionsmtp(int) en void * gestionsmtp(void *) pour être pris en charge par un thread

La prochaine étape est d'envoyer les donnés sur le port 25 et de recevoir un mail.

Etape3

Suite à une mauvaise compréhension du sujet de ma part, j'ai recommencé le projet avec le code fourni.

Erreurs corrigés:

smtp.c:184:23: warning: format not a string literal and no format arguments [-Wformat-security]

 184 |   if(fprintf(dialogue,envoi)<0) return -1;
     |                       

smtp.c: In function ‘dialogue_DATA’: smtp.c:211:1: warning: format not a string literal and no format arguments [-Wformat-security]

 211 | if(fprintf(dialogue,corps)<0) return -1;
     | ^~

smtp.c: In function ‘afficheCourriel’: smtp.c:239:3: warning: format not a string literal and no format arguments [-Wformat-security]

 239 |   if(complet) fprintf(sortie,donnees->corps);
     |   ^~

La fonction fprintf ne reconnaissait pas le dernier argument en paramètre. Ajout d'un %s : fprintf(FILE *,"%s",char *)

Script pour netcat

Automatisation des tests avec la commande : function slowcat(){ while read; do sleep .05; echo "$REPLY"; done; } | cat txt | slowcat | nc localhost 2000

Et le fichier "txt":

$ cat email_msg.txt HELO localhost MAIL FROM: <patrikeev@gmail.com> RCPT TO: <konstantin.patrikeev@polytech-lille.net> DATA From: [IES] <system@example.com> To: <bbronosky@example.com> Date: Fri, 27 Oct 2017 06:14:11 +0000 Subject: Test Message

Hi there! This is supposed to be a real email...

Have a good day! -- System


. QUIT

Documents Rendus

Lien du répertoire git : https://archives.plil.fr/kpatrike/EC_Messagerie.git