PSR SE2a4 2022/2023 G4 : Différence entre versions

De Wiki d'activités IMA
Ligne 2 : Ligne 2 :
 
Rayane et Simon'''
 
Rayane et Simon'''
  
'''
+
 
= À faire: =
+
= '''À faire:''' =
'''
+
 
 
*Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
 
*Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
 
*Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465  
 
*Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465  
Ligne 12 : Ligne 12 :
 
*Le processus de remise stocke le message dans le sous-répertoire Maildir/tmp puis le déplace dans le sous-répertoire Maildir/new, déplacement doit être fait par la primitive rename => '''Partiellement fait''', ajout du move dans la fonction gestionCourriel du fichier out.c  
 
*Le processus de remise stocke le message dans le sous-répertoire Maildir/tmp puis le déplace dans le sous-répertoire Maildir/new, déplacement doit être fait par la primitive rename => '''Partiellement fait''', ajout du move dans la fonction gestionCourriel du fichier out.c  
  
'''
+
 
= Séance 1: =
+
= '''Séance 1:''' =
'''
+
 
  
 
*Lecture du Sujet  
 
*Lecture du Sujet  
Ligne 56 : Ligne 56 :
 
   
 
   
  
'''
+
 
= Séance 2: =
+
= '''Séance 2:''' =
'''
+
 
  
 
*Explication du code en salle de cours (1h)
 
*Explication du code en salle de cours (1h)
Ligne 64 : Ligne 64 :
  
  
''
+
 
 
== Modif code: ==
 
== Modif code: ==
''
+
 
 
*Dans Mutex.c => ajout d'un free(mutexes) | Car le threads est détruit mais pas l'allocation mémoire des mutexes
 
*Dans Mutex.c => ajout d'un free(mutexes) | Car le threads est détruit mais pas l'allocation mémoire des mutexes
 
*Dans out.c => fonction gestionCourriel => ajout d'un rename (move) du fichier TMP vers le fichier NEW
 
*Dans out.c => fonction gestionCourriel => ajout d'un rename (move) du fichier TMP vers le fichier NEW
Ligne 76 : Ligne 76 :
  
  
'''
+
==Taches restantes:==
= Séance 3: =
+
 
'''
+
 
 +
 
 +
===Pas fait:===
 +
 
  
''
 
== Taches restantes : ==
 
''
 
 
*Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
 
*Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
 
*Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465  
 
*Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465  
Ligne 88 : Ligne 88 :
 
*Les serveurs SMTP doivent gérer les enregistrements MX permettant d’associer un nom de domaine à un serveur de messagerie, le recours aux enregistrements AAAA et A est à utiliser en cas d’absence de MX => '''Partiellement'''  
 
*Les serveurs SMTP doivent gérer les enregistrements MX permettant d’associer un nom de domaine à un serveur de messagerie, le recours aux enregistrements AAAA et A est à utiliser en cas d’absence de MX => '''Partiellement'''  
 
*Pour la transmission vers les serveurs SMTP cibles, une communication chiffrée doit être préférée => SMTP dialogue à modifier => commande EHLO => permet de connaitre les fonctions du serveur
 
*Pour la transmission vers les serveurs SMTP cibles, une communication chiffrée doit être préférée => SMTP dialogue à modifier => commande EHLO => permet de connaitre les fonctions du serveur
 +
 +
 +
===En cours:===
 +
 +
 +
 +
 +
===Terminé:===
 +
 +
 +
*Le processus de remise stocke le message dans le sous-répertoire Maildir/tmp puis le déplace dans le sous-répertoire Maildir/new, déplacement doit être fait par la primitive rename => '''Partiellement fait''', ajout du move dans la fonction gestionCourriel du fichier out.c
 +
 +
 +
 +
= '''Séance 3:''' =

Version du 17 mars 2023 à 11:35

Groupe Numéro 4 Rayane et Simon


À faire:

  • Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
  • Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465
  • Il doit être possible de basculer sur une communication chiffrée à partir du port 25 en utilisant les commandes EHLO et STARTTLS
  • Les serveurs SMTP doivent gérer les enregistrements MX permettant d’associer un nom de domaine à un serveur de messagerie, le recours aux enregistrements AAAA et A est à utiliser en cas d’absence de MX => Partiellement
  • Pour la transmission vers les serveurs SMTP cibles, une communication chiffrée doit être préférée => SMTP dialogue à modifier => commande EHLO => permet de connaitre les fonctions du serveur
  • Le processus de remise stocke le message dans le sous-répertoire Maildir/tmp puis le déplace dans le sous-répertoire Maildir/new, déplacement doit être fait par la primitive rename => Partiellement fait, ajout du move dans la fonction gestionCourriel du fichier out.c


Séance 1:

  • Lecture du Sujet
  • On examine le code:- fonction in.c => fonction chercheMX (fct de résolution) => Permet d'obtenir le MX (nom d'un MTA) et donc le MTA (agent de transfert)
  • Compilation du code
  • Il faut determiner les tâches à effectuer


Prise en main de la VM (VMALAD):

  • Allumer la VM => capbreton.plil.info => xen create /etc/xen/VMALAD.cfg
  • Se connecter => ssh root@193.48.57.166 => mdp : glopglopglop

Modif code:

  • Changement dans gestionCourriel() -> in.c / changement pour éviter d'envoyer le message sur tout les mx mais sur celui qui marche


while(*p!=NULL){
 #ifdef DEVERMINE
   printf("Serveur : %s\n",*p);
 #endif
   int ss=connexionServeur(*p,SMTP_PORT_DEFAULT);
   FILE *dialogue=fdopen(ss,"a+");
   if(dialogue==NULL){
     perror("gestionCourriel.fdopen");
     exit(EXIT_FAILURE);
   }
   char erreur[MAX_ERREUR];
   int resultat=SMTP_dialogue(dialogue,donnees,erreur,MAX_ERREUR);
   fclose(dialogue);
   if(resultat<0) ecritureJournal(JOURNIV_DEVERMINE,JOURNAL_MXHS,*p);
   // Logguer l'erreur
   else { break; }
   p++;
    }
 }


Séance 2:

  • Explication du code en salle de cours (1h)



Modif code:

  • Dans Mutex.c => ajout d'un free(mutexes) | Car le threads est détruit mais pas l'allocation mémoire des mutexes
  • Dans out.c => fonction gestionCourriel => ajout d'un rename (move) du fichier TMP vers le fichier NEW
char new_fichier[MAX_CHEMIN];
sprintf(new_fichier, "%s/%s/%s/%ld_%010d_%010ld",dossier,id,MAILDIR_NEW,time_save,pid,messages);
rename(fichier, new_fichier);
}


Taches restantes:

Pas fait:

  • Un système doit être réalisé permettant au serveur SMTP sortant de mettre en file d’attente les messages non remis à destination pour cause d’erreur transitoire du serveur SMTP cible
  • Les communications peuvent être chiffrées par TLS, les communication chiffrées peuvent être négociées directement sur le port 465
  • Il doit être possible de basculer sur une communication chiffrée à partir du port 25 en utilisant les commandes EHLO et STARTTLS
  • Les serveurs SMTP doivent gérer les enregistrements MX permettant d’associer un nom de domaine à un serveur de messagerie, le recours aux enregistrements AAAA et A est à utiliser en cas d’absence de MX => Partiellement
  • Pour la transmission vers les serveurs SMTP cibles, une communication chiffrée doit être préférée => SMTP dialogue à modifier => commande EHLO => permet de connaitre les fonctions du serveur


En cours:

Terminé:

  • Le processus de remise stocke le message dans le sous-répertoire Maildir/tmp puis le déplace dans le sous-répertoire Maildir/new, déplacement doit être fait par la primitive rename => Partiellement fait, ajout du move dans la fonction gestionCourriel du fichier out.c


Séance 3: