Ldap Login, Makefile, Color
This commit is contained in:
		
							
								
								
									
										91
									
								
								client.c
									
									
									
									
									
								
							
							
						
						
									
										91
									
								
								client.c
									
									
									
									
									
								
							@@ -54,26 +54,68 @@ int main (int argc, char **argv) {
 | 
			
		||||
 | 
			
		||||
  if (connect ( create_socket, (struct sockaddr *) &address, sizeof (address)) == 0)
 | 
			
		||||
  {
 | 
			
		||||
     printf ("Connection with server (%s) established\n", inet_ntoa (address.sin_addr));
 | 
			
		||||
     printf ("\x1b[32mConnection with server (%s) established\n\x1b[0m", inet_ntoa (address.sin_addr));
 | 
			
		||||
     size=recv(create_socket,buffer,BUF-1, 0);
 | 
			
		||||
     if (size>0)
 | 
			
		||||
     {
 | 
			
		||||
        buffer[size]= '\0';
 | 
			
		||||
        printf("%s",buffer);
 | 
			
		||||
        printf("\x1b[36m%s\x1b[0m",buffer);
 | 
			
		||||
     }
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
     perror("Connect error - no server available");
 | 
			
		||||
     perror("\x1b[31mConnect error - no server available\x1b[0m");
 | 
			
		||||
     return EXIT_FAILURE;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
   bool login = false;
 | 
			
		||||
  do {
 | 
			
		||||
     //command vom user überprüfen
 | 
			
		||||
     char command[6] = "";
 | 
			
		||||
     printf ("\nEnter Command: \n");
 | 
			
		||||
     fgets (command, 6, stdin);
 | 
			
		||||
     char command[7] = "";
 | 
			
		||||
     printf ("\n\x1b[35mEnter Command:\x1b[0m \n");
 | 
			
		||||
     fgets (command, 7, stdin);
 | 
			
		||||
 | 
			
		||||
     if (startsWith("login", command) == true && login == false)
 | 
			
		||||
     {
 | 
			
		||||
         char username[10] = "";
 | 
			
		||||
         char pw[50] = "";
 | 
			
		||||
         char bufferString[BUF] = "";
 | 
			
		||||
         strcpy(bufferString, "login;");
 | 
			
		||||
         //User Dateneingabe und daten einlesen
 | 
			
		||||
         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (username, 10, stdin);
 | 
			
		||||
 | 
			
		||||
         printf("\x1b[35m<Passwort max. 50 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (pw, 50, stdin);
 | 
			
		||||
 | 
			
		||||
         strcat(bufferString, username);
 | 
			
		||||
         strcat(bufferString, ";");
 | 
			
		||||
         strcat(bufferString, pw);
 | 
			
		||||
         remN(bufferString);
 | 
			
		||||
 | 
			
		||||
         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
			
		||||
 | 
			
		||||
         //Response vom Server (OK oder ERR) empfangen und ausgeben
 | 
			
		||||
         char readBuffer[BUF] = "";
 | 
			
		||||
         read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         printf("\n%s\n", readBuffer);
 | 
			
		||||
         if (strncmp(readBuffer, "OK", 2) == 0)
 | 
			
		||||
         {
 | 
			
		||||
            login = true;
 | 
			
		||||
         }
 | 
			
		||||
     }else if (login == false && startsWith("quit", command) == true)
 | 
			
		||||
     {
 | 
			
		||||
        strcpy(buffer, "quit\n");
 | 
			
		||||
     }else if (login == false)
 | 
			
		||||
     {
 | 
			
		||||
        printf("\x1b[33mBitte zuerst <login> eingeben. Erst danach können sie auf das Program zugreifen!\x1b[0m\n");
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
     
 | 
			
		||||
     
 | 
			
		||||
     
 | 
			
		||||
     if(login == true){
 | 
			
		||||
     
 | 
			
		||||
 | 
			
		||||
      //je nach command wird was audgeführt
 | 
			
		||||
      if(startsWith("send", command) == true) {
 | 
			
		||||
@@ -87,16 +129,16 @@ int main (int argc, char **argv) {
 | 
			
		||||
         strcat(bufferString, "send");
 | 
			
		||||
         
 | 
			
		||||
         //User Dateneingabe und daten einlesen
 | 
			
		||||
         printf("<Sender max. 8 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Sender max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (sender, 8, stdin);
 | 
			
		||||
 | 
			
		||||
         printf("<Empfänger max. 8 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Empfänger max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (empfaenger, 8, stdin);
 | 
			
		||||
 | 
			
		||||
         printf("<Betreff max. 80 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Betreff max. 80 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (betreff, 80, stdin);
 | 
			
		||||
 | 
			
		||||
         printf("<Nachricht, beliebige Anzahl an Zeilen>\n");
 | 
			
		||||
         printf("\x1b[35m<Nachricht, beliebige Anzahl an Zeilen>\x1b[0m\n");
 | 
			
		||||
         fgets (nachricht, 80, stdin);
 | 
			
		||||
 | 
			
		||||
         //Buffer formatieren
 | 
			
		||||
@@ -114,7 +156,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
 | 
			
		||||
         //Response vom Server (OK oder ERR) empfangen und ausgeben
 | 
			
		||||
         char readBuffer[BUF] = "";
 | 
			
		||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         printf("\n%s\n", readBuffer);
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
@@ -125,9 +167,9 @@ int main (int argc, char **argv) {
 | 
			
		||||
         char p[20] = "";
 | 
			
		||||
         int counter = 0;
 | 
			
		||||
 | 
			
		||||
         printf("<Username max. 8 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (username, 8, stdin);
 | 
			
		||||
         printf("<Posteingang oder Postausgang>\n");
 | 
			
		||||
         printf("\x1b[35m<Posteingang oder Postausgang>\x1b[0m\n");
 | 
			
		||||
         fgets (p, 20, stdin);
 | 
			
		||||
 | 
			
		||||
         strcat(bufferString, ";");
 | 
			
		||||
@@ -139,7 +181,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
			
		||||
 | 
			
		||||
         char readBuffer[BUF] = "";
 | 
			
		||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         read(create_socket , readBuffer, 1024); 
 | 
			
		||||
 | 
			
		||||
         char delimiter[] = ";";
 | 
			
		||||
         char *ptr;
 | 
			
		||||
@@ -157,7 +199,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            else if (counter == 0) {
 | 
			
		||||
               printf("<Anzahl der Nachrichten für den User: %s>\n", ptr);
 | 
			
		||||
               printf("\x1b[35m<Anzahl der Nachrichten für den User: %s>\x1b[0m\n", ptr);
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            else {
 | 
			
		||||
@@ -179,11 +221,11 @@ int main (int argc, char **argv) {
 | 
			
		||||
         char nid[80] = "";
 | 
			
		||||
         char folder[20] = "";
 | 
			
		||||
 | 
			
		||||
         printf("<Username max. 8 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (username, 8, stdin);
 | 
			
		||||
         printf("<posteingang oder postausgang>\n");
 | 
			
		||||
         printf("\x1b[35m<posteingang oder postausgang>\x1b[0m\n");
 | 
			
		||||
         fgets (folder, 20, stdin);
 | 
			
		||||
         printf("<Nachrichten-Nummer>\n");
 | 
			
		||||
         printf("\x1b[35m<Nachrichten-Nummer>\x1b[0m\n");
 | 
			
		||||
         fgets (nid, 80, stdin);
 | 
			
		||||
 | 
			
		||||
         strcat(bufferString, ";");
 | 
			
		||||
@@ -201,7 +243,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
         //strcpy(buffer, "");
 | 
			
		||||
         //buffer[size]= '\0';
 | 
			
		||||
         char readBuffer[BUF] = "";
 | 
			
		||||
         int valread = read(create_socket , readBuffer, 1000); 
 | 
			
		||||
         read(create_socket , readBuffer, 1000); 
 | 
			
		||||
         printf("\n%s\n", readBuffer ); 
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
@@ -214,11 +256,11 @@ int main (int argc, char **argv) {
 | 
			
		||||
         char bufferString[BUF] = "del";
 | 
			
		||||
         char p[20] = "";
 | 
			
		||||
 | 
			
		||||
         printf("<Username max. 8 Zeichen>\n");
 | 
			
		||||
         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
			
		||||
         fgets (username, 8, stdin);
 | 
			
		||||
         printf("<Posteingang oder Postausgang>\n");
 | 
			
		||||
         printf("\x1b[35m<Posteingang oder Postausgang>\x1b[0m\n");
 | 
			
		||||
         fgets (p, 20, stdin);
 | 
			
		||||
         printf("<Nachrichten-Nummer>\n");
 | 
			
		||||
         printf("\x1b[35m<Nachrichten-Nummer>\x1b[0m\n");
 | 
			
		||||
         fgets (nachrichtennummer, 80, stdin);
 | 
			
		||||
 | 
			
		||||
         strcat(bufferString, ";");
 | 
			
		||||
@@ -232,7 +274,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
			
		||||
 | 
			
		||||
         char readBuffer[BUF] = "";
 | 
			
		||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         read(create_socket , readBuffer, 1024); 
 | 
			
		||||
         printf("\n%s\n", readBuffer ); 
 | 
			
		||||
 | 
			
		||||
      }
 | 
			
		||||
@@ -244,6 +286,7 @@ int main (int argc, char **argv) {
 | 
			
		||||
      else {
 | 
			
		||||
         printf("DAS IST KEIN COMMAND!!!!!");
 | 
			
		||||
      }
 | 
			
		||||
     }
 | 
			
		||||
 | 
			
		||||
      
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								makefile
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								makefile
									
									
									
									
									
								
							@@ -1,7 +1,8 @@
 | 
			
		||||
#Client und Server kompilieren
 | 
			
		||||
all: server.c client.c
 | 
			
		||||
	gcc server.c -o server -lpthread
 | 
			
		||||
	gcc client.c -o client -lpthread
 | 
			
		||||
	gcc -Wall -o server server.c -lldap -llber -lpthread
 | 
			
		||||
	gcc -Wall -o client client.c -lldap -llber -lpthread
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
#Kompilierten Client und Server löschen	
 | 
			
		||||
clean: client server
 | 
			
		||||
@@ -9,11 +10,11 @@ clean: client server
 | 
			
		||||
 | 
			
		||||
#Nur den Client kompilieren:
 | 
			
		||||
client: client.c
 | 
			
		||||
	gcc client.c -o client -lpthread
 | 
			
		||||
	gcc -Wall -o client client.c -lldap -llber -lpthread
 | 
			
		||||
 | 
			
		||||
#Nur den Server kompilieren:
 | 
			
		||||
server: server.c
 | 
			
		||||
	gcc server.c -o server -lpthread
 | 
			
		||||
	gcc -Wall -o server server.c -lldap -llber -lpthread
 | 
			
		||||
 | 
			
		||||
#Kompilierten Server löschen	
 | 
			
		||||
cleanS: server
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user