Skip to content
Snippets Groups Projects
Commit 88fb0591 authored by Nicolas Fernandes's avatar Nicolas Fernandes
Browse files

question 10

parent 15c4154a
No related branches found
No related tags found
No related merge requests found
File added
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <grp.h>
#include "socket.h"
#define BLOCK_SIZE 1024
int main (int argc , char ** argv) {
int socket_server = creer_serveur(PORT);
if(socket_server == -1){
return 1;
}
while(1){
char buf[BLOCK_SIZE];
int socket_client = accept_(socket_server);
FILE * file = fdopen(socket_client,"w+");
fgets(buf, BLOCK_SIZE, file);
printf(buf);
fgets(buf, BLOCK_SIZE, file);
printf(buf);
int pid = fork();
if(pid==0){
}
}
}
\ No newline at end of file
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
int creer_serveur(int port){
//On récupére le descripteur du socket serveur
int socket_serveur = socket(AF_INET, SOCK_STREAM, 0);
if (socket_serveur == -1){
/* traitement de l’erreur */
perror("problème lors de la création du socket_serveur");
return -1;
}
//Attachement de la socket serveur sur toutes les interfaces
struct sockaddr_in saddr;
saddr.sin_family = AF_INET; /* Socket ipv4 */
saddr.sin_port = htons(port); /* Port d’écoute */
saddr.sin_addr.s_addr = INADDR_ANY; /* écoute sur toutes les interfaces */
//rattachement de la socket a une adresse et un port
if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1) {
perror("erreur lors du bind du socker_serveur");
return -1;
/* traitement de l’erreur */
}
if (listen(socket_serveur, 10) == -1) {
perror ( " erreur lors de l'execution de listen avec le socket_serveur " );
return -1;
}
return socket_serveur;
}
int accept_(int socket_serveur){
int socket_client;
socket_client = accept(socket_serveur, NULL, NULL);
if (socket_client == -1){
perror("erreur lors du accept");
return -1;
/* traitement d’erreur */
}
return socket_client;
}
\ No newline at end of file
#ifndef __SOCKET_H__
#define __SOCKET_H__
#define PORT 4000
int creer_serveur(int port);
int accept_(int socket_server);
#endif
\ No newline at end of file
......@@ -6,6 +6,9 @@
#include <grp.h>
#include "check_pass.h"
/*
* password encrypter
*/
char* encrypter(char *password) {
unsigned long seed[2];
char salt[] = "$1$ierfdjef";
......@@ -24,6 +27,9 @@ char* encrypter(char *password) {
return password;
}
/*
* swap temp file with passwd file
*/
void swapPwdFile(){
//remove /etc/admini/passwd
removeFile(PATH_PWD_FILE);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment