Advertisement
Guest User

Untitled

a guest
Mar 7th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.38 KB | None | 0 0
  1. void Start_Server()
  2. {
  3. struct sockaddr_in serv;
  4. struct sockaddr_in cli;
  5. socklen_t client_len;
  6. //char username[10];
  7. char bufer[30]={0};
  8. char *buf="Connection Successful";
  9. char cPassword[20];
  10.  
  11. pthread_t threadID;
  12. int nListenDesc; // server socket descriptor
  13. int nConnectionDesc=-1; // client socket descriptor
  14. int nRetvalue; //storing return value of authentication
  15.  
  16. nListenDesc=socket(AF_INET,SOCK_STREAM,0);
  17. serv.sin_family=AF_INET;
  18. serv.sin_addr.s_addr=inet_addr(IP); // assigning ip address
  19. serv.sin_port=htons(PORT); //assigning port address
  20. if(nListenDesc==-1)
  21. perror("socket descriptor not created");
  22. bind(nListenDesc,(struct sockaddr*)&serv,sizeof(serv)); //assigning address to socket
  23. if((system("mkdir /tmp/monitor/"))==-1) // creating directory
  24. puts("directory not created");
  25. listen(nListenDesc,5);
  26. while(1)
  27. { if((nConnectionDesc = accept(nListenDesc,(struct sockaddr*)&cli,&client_len))==-1)
  28. perror("error in nConnectionDesc");
  29. recv(nConnectionDesc,bufer,strlen(bufer),0);
  30. puts(bufer);
  31. sscanf(bufer,"%s %s",cUsername,cPassword);
  32. printf("%s %s",cUsername,cPassword);
  33. if((nRetvalue=authenticate(cUsername,cPassword,nConnectionDesc))==1) // passing username and password for
  34. { // authentication
  35. puts("user not authenticated ");
  36. exit(0);
  37. }
  38.  
  39. send(nConnectionDesc,buf,strlen(buf),0);
  40. if (pthread_create(&threadID, NULL, &serverThread,(void *) nConnectionDesc) != 0) //creating thread
  41. {
  42. perror("Thread create error");
  43. close(nConnectionDesc);
  44. close(nListenDesc);
  45. exit(1);
  46. }
  47. //pthread_detach(pthread_self());
  48. printf("Parent ready for another connectionn");
  49.  
  50.  
  51. }
  52.  
  53.  
  54.  
  55. int authenticate(char cUser[20],char cPass[20],int nAsock)
  56. {
  57. struct loginStruct sAuthent[10]; //creating object of loginStruct
  58. int nIndex=0;
  59. int nFiledesc; //file descriptor
  60.  
  61. strcpy(sAuthent[0].cUname,"aviral"); // passing value to
  62. strcpy(sAuthent[0].cPaswd,"aviral"); // structure variables
  63. strcpy(sAuthent[1].cUname,"avinash");
  64. strcpy(sAuthent[1].cPaswd,"avinash");
  65. for(; nIndex<3;nIndex++)
  66. {
  67. if(strcmp(cUser,sAuthent[nIndex].cUname) ==0) // authenticate username
  68. {
  69. if(strcmp(cPass,sAuthent[nIndex].cPaswd)==0) //authenticate password
  70. {
  71. puts("cUser good");
  72. char cPath[20]="/tmp/monitor/";
  73. strcat(cPath,cUser);
  74. puts(cPath);
  75. nFiledesc=creat(cPath,S_IRWXU); //creating user file
  76. close(nFiledesc);
  77. return 0;
  78. }
  79.  
  80. }
  81. else
  82. {
  83. // puts("User not Authenticates");
  84.  
  85. }
  86.  
  87.  
  88. } return 1;
  89.  
  90. }
  91.  
  92. void Start_Client()
  93. {
  94. struct sockaddr_in serv;
  95. int sock=-1;
  96. sock=socket(AF_INET,SOCK_STREAM,0);
  97. memset(&serv,0,sizeof(struct sockaddr_in));
  98. serv.sin_family=AF_INET;
  99. serv.sin_addr.s_addr=inet_addr(IP);
  100. serv.sin_port=htons(PORT);
  101. if(sock==-1)
  102. perror("Socket not created");
  103. if((connect(sock, (struct sockaddr*)&serv,sizeof(serv)))!=0)
  104.  
  105. perror("connection not established");
  106. login(sock);
  107. transact_with_serv(sock);
  108. }
  109. int login()
  110. {
  111. char carUser[20];
  112. char carPass[20];
  113. int sockfd,n;
  114. char buff[20];
  115. printf("Enter username:");
  116. scanf("%s",carUser);
  117. printf("Enter Password:");
  118. scanf("%s",carPass);
  119. sprintf(buff,"%s %s",carUser,carPass);
  120. send(sockfd,buff,strlen(buff),0);
  121. n=recv(sockfd,buff,sizeof(buff),0);
  122. puts(buff);
  123. return sockfd;
  124. }
  125.  
  126. nConnectionDesc = accept(nListenDesc,(struct sockaddr*)&cli,&client_len)
  127.  
  128. client_len = sizeof(cli);
  129.  
  130. char bufer[30]={0};
  131. ....
  132. recv(nConnectionDesc,bufer,strlen(bufer),0);
  133.  
  134. int sockfd,n;
  135. ...
  136. send(sockfd,buff,strlen(buff),0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement