From 88fb0591495b93d3ac2a2c98b9cac44d4a7192bb Mon Sep 17 00:00:00 2001 From: Nicolas fernandes <nicolas.fernandes.etu@univ-lille.fr> Date: Wed, 27 Jan 2021 23:43:05 +0100 Subject: [PATCH] question 10 --- question10/server | Bin 0 -> 13168 bytes question10/server.c | 29 +++++++++++++++++++++++++ question10/socket.c | 50 ++++++++++++++++++++++++++++++++++++++++++++ question10/socket.h | 7 +++++++ question9/pwg.c | 6 ++++++ 5 files changed, 92 insertions(+) create mode 100755 question10/server create mode 100644 question10/server.c create mode 100644 question10/socket.c create mode 100644 question10/socket.h diff --git a/question10/server b/question10/server new file mode 100755 index 0000000000000000000000000000000000000000..a4606225d89429d5fddc93868eb852934282b379 GIT binary patch literal 13168 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 S4^~i6lv$Qok_rxW1_l6JA_Qgt literal 0 HcmV?d00001 diff --git a/question10/server.c b/question10/server.c new file mode 100644 index 0000000..2046b6e --- /dev/null +++ b/question10/server.c @@ -0,0 +1,29 @@ +#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 diff --git a/question10/socket.c b/question10/socket.c new file mode 100644 index 0000000..616334d --- /dev/null +++ b/question10/socket.c @@ -0,0 +1,50 @@ +#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 diff --git a/question10/socket.h b/question10/socket.h new file mode 100644 index 0000000..7071627 --- /dev/null +++ b/question10/socket.h @@ -0,0 +1,7 @@ +#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 diff --git a/question9/pwg.c b/question9/pwg.c index e6544d8..e6380bb 100644 --- a/question9/pwg.c +++ b/question9/pwg.c @@ -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); -- GitLab