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)
 | 
					  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);
 | 
					     size=recv(create_socket,buffer,BUF-1, 0);
 | 
				
			||||||
     if (size>0)
 | 
					     if (size>0)
 | 
				
			||||||
     {
 | 
					     {
 | 
				
			||||||
        buffer[size]= '\0';
 | 
					        buffer[size]= '\0';
 | 
				
			||||||
        printf("%s",buffer);
 | 
					        printf("\x1b[36m%s\x1b[0m",buffer);
 | 
				
			||||||
     }
 | 
					     }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
     perror("Connect error - no server available");
 | 
					     perror("\x1b[31mConnect error - no server available\x1b[0m");
 | 
				
			||||||
     return EXIT_FAILURE;
 | 
					     return EXIT_FAILURE;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					   bool login = false;
 | 
				
			||||||
  do {
 | 
					  do {
 | 
				
			||||||
     //command vom user überprüfen
 | 
					     //command vom user überprüfen
 | 
				
			||||||
     char command[6] = "";
 | 
					     char command[7] = "";
 | 
				
			||||||
     printf ("\nEnter Command: \n");
 | 
					     printf ("\n\x1b[35mEnter Command:\x1b[0m \n");
 | 
				
			||||||
     fgets (command, 6, stdin);
 | 
					     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
 | 
					      //je nach command wird was audgeführt
 | 
				
			||||||
      if(startsWith("send", command) == true) {
 | 
					      if(startsWith("send", command) == true) {
 | 
				
			||||||
@@ -87,16 +129,16 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         strcat(bufferString, "send");
 | 
					         strcat(bufferString, "send");
 | 
				
			||||||
         
 | 
					         
 | 
				
			||||||
         //User Dateneingabe und daten einlesen
 | 
					         //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);
 | 
					         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);
 | 
					         fgets (empfaenger, 8, stdin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         printf("<Betreff max. 80 Zeichen>\n");
 | 
					         printf("\x1b[35m<Betreff max. 80 Zeichen>\x1b[0m\n");
 | 
				
			||||||
         fgets (betreff, 80, stdin);
 | 
					         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);
 | 
					         fgets (nachricht, 80, stdin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         //Buffer formatieren
 | 
					         //Buffer formatieren
 | 
				
			||||||
@@ -114,7 +156,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
         //Response vom Server (OK oder ERR) empfangen und ausgeben
 | 
					         //Response vom Server (OK oder ERR) empfangen und ausgeben
 | 
				
			||||||
         char readBuffer[BUF] = "";
 | 
					         char readBuffer[BUF] = "";
 | 
				
			||||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
					         read(create_socket , readBuffer, 1024); 
 | 
				
			||||||
         printf("\n%s\n", readBuffer);
 | 
					         printf("\n%s\n", readBuffer);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -125,9 +167,9 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         char p[20] = "";
 | 
					         char p[20] = "";
 | 
				
			||||||
         int counter = 0;
 | 
					         int counter = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         printf("<Username max. 8 Zeichen>\n");
 | 
					         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
				
			||||||
         fgets (username, 8, stdin);
 | 
					         fgets (username, 8, stdin);
 | 
				
			||||||
         printf("<Posteingang oder Postausgang>\n");
 | 
					         printf("\x1b[35m<Posteingang oder Postausgang>\x1b[0m\n");
 | 
				
			||||||
         fgets (p, 20, stdin);
 | 
					         fgets (p, 20, stdin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         strcat(bufferString, ";");
 | 
					         strcat(bufferString, ";");
 | 
				
			||||||
@@ -139,7 +181,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
					         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         char readBuffer[BUF] = "";
 | 
					         char readBuffer[BUF] = "";
 | 
				
			||||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
					         read(create_socket , readBuffer, 1024); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         char delimiter[] = ";";
 | 
					         char delimiter[] = ";";
 | 
				
			||||||
         char *ptr;
 | 
					         char *ptr;
 | 
				
			||||||
@@ -157,7 +199,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            else if (counter == 0) {
 | 
					            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 {
 | 
					            else {
 | 
				
			||||||
@@ -179,11 +221,11 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         char nid[80] = "";
 | 
					         char nid[80] = "";
 | 
				
			||||||
         char folder[20] = "";
 | 
					         char folder[20] = "";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         printf("<Username max. 8 Zeichen>\n");
 | 
					         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
				
			||||||
         fgets (username, 8, stdin);
 | 
					         fgets (username, 8, stdin);
 | 
				
			||||||
         printf("<posteingang oder postausgang>\n");
 | 
					         printf("\x1b[35m<posteingang oder postausgang>\x1b[0m\n");
 | 
				
			||||||
         fgets (folder, 20, stdin);
 | 
					         fgets (folder, 20, stdin);
 | 
				
			||||||
         printf("<Nachrichten-Nummer>\n");
 | 
					         printf("\x1b[35m<Nachrichten-Nummer>\x1b[0m\n");
 | 
				
			||||||
         fgets (nid, 80, stdin);
 | 
					         fgets (nid, 80, stdin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         strcat(bufferString, ";");
 | 
					         strcat(bufferString, ";");
 | 
				
			||||||
@@ -201,7 +243,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         //strcpy(buffer, "");
 | 
					         //strcpy(buffer, "");
 | 
				
			||||||
         //buffer[size]= '\0';
 | 
					         //buffer[size]= '\0';
 | 
				
			||||||
         char readBuffer[BUF] = "";
 | 
					         char readBuffer[BUF] = "";
 | 
				
			||||||
         int valread = read(create_socket , readBuffer, 1000); 
 | 
					         read(create_socket , readBuffer, 1000); 
 | 
				
			||||||
         printf("\n%s\n", readBuffer ); 
 | 
					         printf("\n%s\n", readBuffer ); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -214,11 +256,11 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         char bufferString[BUF] = "del";
 | 
					         char bufferString[BUF] = "del";
 | 
				
			||||||
         char p[20] = "";
 | 
					         char p[20] = "";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         printf("<Username max. 8 Zeichen>\n");
 | 
					         printf("\x1b[35m<Username max. 8 Zeichen>\x1b[0m\n");
 | 
				
			||||||
         fgets (username, 8, stdin);
 | 
					         fgets (username, 8, stdin);
 | 
				
			||||||
         printf("<Posteingang oder Postausgang>\n");
 | 
					         printf("\x1b[35m<Posteingang oder Postausgang>\x1b[0m\n");
 | 
				
			||||||
         fgets (p, 20, stdin);
 | 
					         fgets (p, 20, stdin);
 | 
				
			||||||
         printf("<Nachrichten-Nummer>\n");
 | 
					         printf("\x1b[35m<Nachrichten-Nummer>\x1b[0m\n");
 | 
				
			||||||
         fgets (nachrichtennummer, 80, stdin);
 | 
					         fgets (nachrichtennummer, 80, stdin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         strcat(bufferString, ";");
 | 
					         strcat(bufferString, ";");
 | 
				
			||||||
@@ -232,7 +274,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
					         send(create_socket, bufferString, strlen (bufferString), 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         char readBuffer[BUF] = "";
 | 
					         char readBuffer[BUF] = "";
 | 
				
			||||||
         int valread = read(create_socket , readBuffer, 1024); 
 | 
					         read(create_socket , readBuffer, 1024); 
 | 
				
			||||||
         printf("\n%s\n", readBuffer ); 
 | 
					         printf("\n%s\n", readBuffer ); 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -244,6 +286,7 @@ int main (int argc, char **argv) {
 | 
				
			|||||||
      else {
 | 
					      else {
 | 
				
			||||||
         printf("DAS IST KEIN COMMAND!!!!!");
 | 
					         printf("DAS IST KEIN COMMAND!!!!!");
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
 | 
					     }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										9
									
								
								makefile
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								makefile
									
									
									
									
									
								
							@@ -1,7 +1,8 @@
 | 
				
			|||||||
#Client und Server kompilieren
 | 
					#Client und Server kompilieren
 | 
				
			||||||
all: server.c client.c
 | 
					all: server.c client.c
 | 
				
			||||||
	gcc server.c -o server -lpthread
 | 
						gcc -Wall -o server server.c -lldap -llber -lpthread
 | 
				
			||||||
	gcc client.c -o client -lpthread
 | 
						gcc -Wall -o client client.c -lldap -llber -lpthread
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
#Kompilierten Client und Server löschen	
 | 
					#Kompilierten Client und Server löschen	
 | 
				
			||||||
clean: client server
 | 
					clean: client server
 | 
				
			||||||
@@ -9,11 +10,11 @@ clean: client server
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#Nur den Client kompilieren:
 | 
					#Nur den Client kompilieren:
 | 
				
			||||||
client: client.c
 | 
					client: client.c
 | 
				
			||||||
	gcc client.c -o client -lpthread
 | 
						gcc -Wall -o client client.c -lldap -llber -lpthread
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Nur den Server kompilieren:
 | 
					#Nur den Server kompilieren:
 | 
				
			||||||
server: server.c
 | 
					server: server.c
 | 
				
			||||||
	gcc server.c -o server -lpthread
 | 
						gcc -Wall -o server server.c -lldap -llber -lpthread
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#Kompilierten Server löschen	
 | 
					#Kompilierten Server löschen	
 | 
				
			||||||
cleanS: server
 | 
					cleanS: server
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user