Skip to content

Commit 3afaa0b

Browse files
committed
version 0.1
- added relevant response codes to major Send Commands - added instructions for - make, run, debug, test, production - added support for client side command execution
1 parent 8f85ef7 commit 3afaa0b

28 files changed

+370
-64
lines changed

logs/clientlog.txt

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
Connection to Server ...
2+
Server IP : 127.0.0.1
3+
Port : 9000
4+
[CLIENT:CONNECTION] Connected to 127.0.0.1
5+
6+
[LOGGING] Client config is :
7+
[Variable] controlConnectionIP = 127.0.0.1
8+
[Variable] controlConnectionPortNumber = 9000
9+
[Variable] dataDumpReceiverIP = CURRENT_MACHINE_IP
10+
[Variable] dataDumpReceiverPortNumber = 9010
11+
12+
[LOGGING] [RESPONSE] J's FTP-Server
13+
14+
J-FTP ➜ [Variable] ftpRequest = ls
15+
16+
[LOGGING] Detected Command : LIST
17+
18+
[RESPONSE] [Response : 530]
19+
Unauthenticated User. Please Login first
20+
21+
J-FTP ➜ [Variable] ftpRequest = user root
22+
23+
[LOGGING] Detected Command : user root
24+
25+
[RESPONSE] [Response : 331]
26+
Username OK. Needs Password
27+
28+
J-FTP ➜ [Variable] ftpRequest = pass root
29+
30+
[LOGGING] Detected Command : pass root
31+
32+
[RESPONSE] [Response : 230]
33+
[AUTHENTICATION:SUCCESS] User logged in.
34+
35+
J-FTP ➜ [Variable] ftpRequest = ls
36+
37+
[LOGGING] Detected Command : LIST
38+
39+
[LOGGING] [CLIENT] : I am creating a new data Connection
40+
[Variable] getDataDumpReceiverPortNumber() = 9010
41+
42+
[LOGGING] [RESPONSE] I AM READY
43+
44+
[CLIENT]: Got connection from 127.0.0.1
45+
[LOGGING] CURRENT_MACHINE_IP
46+
[Variable] getDataDumpReceiverPortNumber() = 9010
47+
48+
[RESPONSE] Directory Listing is as follows :
49+
50+
51+
[RESPONSE] total 12
52+
drwxrwxrwx 1 jatin jatin 0 Apr 4 13:27 bin
53+
drwxrwxrwx 1 jatin jatin 376 Apr 4 13:28 logs
54+
-rwxrwxrwx 1 jatin jatin 3081 Apr 4 12:11 makefile
55+
drwxrwxrwx 1 jatin jatin 0 Apr 4 12:10 obj
56+
-rwxrwxrwx 1 jatin jatin 3485 Apr 4 13:27 readme.md
57+
drwxrwxrwx 1 jatin jatin 0 Apr 4 12:10 src
58+
-rwxrwxrwx 1 jatin jatin 2678 Apr 4 13:21 todoList.md
59+
60+
61+
[Variable] ftpRequest = ls
62+
63+
[LOGGING] Detected Command : LIST
64+
65+
[RESPONSE] [Response : 226]
66+
Directory Listing Send OK.
67+
68+
J-FTP ➜ [Variable] ftpRequest = pwd
69+
70+
[LOGGING] Detected Command : PWD
71+
72+
[RESPONSE] [Response : 257]
73+
/media/jatin/New Volume1/elementary-OS-backup/Documents/4th-sem/FTP
74+
75+
J-FTP ➜ [Variable] ftpRequest = exit
76+
77+
[LOGGING] Detected Command : QUIT
78+
79+
[RESPONSE] [Response : 221]
80+
Terminating Connection
81+

logs/makelog.txt

+86
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
Created Output directories successfully!
2+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/Accept.o src/server/Accept.cpp
3+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/askForHelpAndCreateDataConnection.o src/server/askForHelpAndCreateDataConnection.cpp
4+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/authenticateClient.o src/server/authenticateClient.cpp
5+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_CDUP.o src/server/commands/cmd_CDUP.cpp
6+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_CWD.o src/server/commands/cmd_CWD.cpp
7+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_INVALID.o src/server/commands/cmd_INVALID.cpp
8+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_LIST.o src/server/commands/cmd_LIST.cpp
9+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_MKD.o src/server/commands/cmd_MKD.cpp
10+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_MODE.o src/server/commands/cmd_MODE.cpp
11+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_NOOP.o src/server/commands/cmd_NOOP.cpp
12+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_PASS.o src/server/commands/cmd_PASS.cpp
13+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_PORT.o src/server/commands/cmd_PORT.cpp
14+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_PWD.o src/server/commands/cmd_PWD.cpp
15+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_QUIT.o src/server/commands/cmd_QUIT.cpp
16+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_RETR.o src/server/commands/cmd_RETR.cpp
17+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_RMD.o src/server/commands/cmd_RMD.cpp
18+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_STOR.o src/server/commands/cmd_STOR.cpp
19+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_STRU.o src/server/commands/cmd_STRU.cpp
20+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_SYS.o src/server/commands/cmd_SYS.cpp
21+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_TYPE.o src/server/commands/cmd_TYPE.cpp
22+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/commands/cmd_USER.o src/server/commands/cmd_USER.cpp
23+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/createDataConnection.o src/server/createDataConnection.cpp
24+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/createSocketAndBindToPort.o src/server/createSocketAndBindToPort.cpp
25+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/createSocketAndConnectToHost.o src/server/createSocketAndConnectToHost.cpp
26+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/doesRouteToHostExist.o src/server/doesRouteToHostExist.cpp
27+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/executeShellCommand.o src/server/executeShellCommand.cpp
28+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/get_in_addr.o src/server/get_in_addr.cpp
29+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/handleZombies.o src/server/handleZombies.cpp
30+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/Listen.o src/server/Listen.cpp
31+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/loggers.o src/server/loggers.cpp
32+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/main.o src/server/main.cpp
33+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/parseArgs.o src/server/parseArgs.cpp
34+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/print.o src/server/print.cpp
35+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/Recv.o src/server/Recv.cpp
36+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/resolveCommand.o src/server/resolveCommand.cpp
37+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/Send.o src/server/Send.cpp
38+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/server.o src/server/server.cpp
39+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/utils/commandTokenizer.o src/utils/commandTokenizer.cpp
40+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/utils/oneWayHash.o src/utils/oneWayHash.cpp
41+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/utils/pathTokenizer.o src/utils/pathTokenizer.cpp
42+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/utils/split.o src/utils/split.cpp
43+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/utils/trim.o src/utils/trim.cpp
44+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/server/main.o src/server/main.cpp
45+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -o bin/server ./obj/server/Accept.o ./obj/server/askForHelpAndCreateDataConnection.o ./obj/server/authenticateClient.o ./obj/server/commands/cmd_CDUP.o ./obj/server/commands/cmd_CWD.o ./obj/server/commands/cmd_INVALID.o ./obj/server/commands/cmd_LIST.o ./obj/server/commands/cmd_MKD.o ./obj/server/commands/cmd_MODE.o ./obj/server/commands/cmd_NOOP.o ./obj/server/commands/cmd_PASS.o ./obj/server/commands/cmd_PORT.o ./obj/server/commands/cmd_PWD.o ./obj/server/commands/cmd_QUIT.o ./obj/server/commands/cmd_RETR.o ./obj/server/commands/cmd_RMD.o ./obj/server/commands/cmd_STOR.o ./obj/server/commands/cmd_STRU.o ./obj/server/commands/cmd_SYS.o ./obj/server/commands/cmd_TYPE.o ./obj/server/commands/cmd_USER.o ./obj/server/createDataConnection.o ./obj/server/createSocketAndBindToPort.o ./obj/server/createSocketAndConnectToHost.o ./obj/server/doesRouteToHostExist.o ./obj/server/executeShellCommand.o ./obj/server/get_in_addr.o ./obj/server/handleZombies.o ./obj/server/Listen.o ./obj/server/loggers.o ./obj/server/main.o ./obj/server/parseArgs.o ./obj/server/print.o ./obj/server/Recv.o ./obj/server/resolveCommand.o ./obj/server/Send.o ./obj/server/server.o ./obj/utils/commandTokenizer.o ./obj/utils/oneWayHash.o ./obj/utils/pathTokenizer.o ./obj/utils/split.o ./obj/utils/trim.o
46+
Compiled server successfully!
47+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/Accept.o src/client/Accept.cpp
48+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/authenticateFromServer.o src/client/authenticateFromServer.cpp
49+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/client.o src/client/client.cpp
50+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_CDUP.o src/client/commands/cmd_CDUP.cpp
51+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_CWD.o src/client/commands/cmd_CWD.cpp
52+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_INVALID.o src/client/commands/cmd_INVALID.cpp
53+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_LIST.o src/client/commands/cmd_LIST.cpp
54+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_MKD.o src/client/commands/cmd_MKD.cpp
55+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_MODE.o src/client/commands/cmd_MODE.cpp
56+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_NOOP.o src/client/commands/cmd_NOOP.cpp
57+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_PASS.o src/client/commands/cmd_PASS.cpp
58+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_PORT.o src/client/commands/cmd_PORT.cpp
59+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_PWD.o src/client/commands/cmd_PWD.cpp
60+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_QUIT.o src/client/commands/cmd_QUIT.cpp
61+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_RETR.o src/client/commands/cmd_RETR.cpp
62+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_RMD.o src/client/commands/cmd_RMD.cpp
63+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_STOR.o src/client/commands/cmd_STOR.cpp
64+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_STRU.o src/client/commands/cmd_STRU.cpp
65+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_SYS.o src/client/commands/cmd_SYS.cpp
66+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_TYPE.o src/client/commands/cmd_TYPE.cpp
67+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/commands/cmd_USER.o src/client/commands/cmd_USER.cpp
68+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/createDataConnection.o src/client/createDataConnection.cpp
69+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/createSocketAndBindToPort.o src/client/createSocketAndBindToPort.cpp
70+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/createSocketAndConnectToHost.o src/client/createSocketAndConnectToHost.cpp
71+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/dataDumpAtRemoteIP.o src/client/dataDumpAtRemoteIP.cpp
72+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/get_in_addr.o src/client/get_in_addr.cpp
73+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/Listen.o src/client/Listen.cpp
74+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/loggers.o src/client/loggers.cpp
75+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/main.o src/client/main.cpp
76+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/parseArgs.o src/client/parseArgs.cpp
77+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/print.o src/client/print.cpp
78+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/provideHelpAndCreateDataConnection.o src/client/provideHelpAndCreateDataConnection.cpp
79+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/Recv.o src/client/Recv.cpp
80+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/resolveCommand.o src/client/resolveCommand.cpp
81+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/sanitizeRequest.o src/client/sanitizeRequest.cpp
82+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/Send.o src/client/Send.cpp
83+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -c -o obj/client/main.o src/client/main.cpp
84+
g++ -std=c++17 -I. -g -rdynamic -Wall -Wextra -o bin/client ./obj/client/Accept.o ./obj/client/authenticateFromServer.o ./obj/client/client.o ./obj/client/commands/cmd_CDUP.o ./obj/client/commands/cmd_CWD.o ./obj/client/commands/cmd_INVALID.o ./obj/client/commands/cmd_LIST.o ./obj/client/commands/cmd_MKD.o ./obj/client/commands/cmd_MODE.o ./obj/client/commands/cmd_NOOP.o ./obj/client/commands/cmd_PASS.o ./obj/client/commands/cmd_PORT.o ./obj/client/commands/cmd_PWD.o ./obj/client/commands/cmd_QUIT.o ./obj/client/commands/cmd_RETR.o ./obj/client/commands/cmd_RMD.o ./obj/client/commands/cmd_STOR.o ./obj/client/commands/cmd_STRU.o ./obj/client/commands/cmd_SYS.o ./obj/client/commands/cmd_TYPE.o ./obj/client/commands/cmd_USER.o ./obj/client/createDataConnection.o ./obj/client/createSocketAndBindToPort.o ./obj/client/createSocketAndConnectToHost.o ./obj/client/dataDumpAtRemoteIP.o ./obj/client/get_in_addr.o ./obj/client/Listen.o ./obj/client/loggers.o ./obj/client/main.o ./obj/client/parseArgs.o ./obj/client/print.o ./obj/client/provideHelpAndCreateDataConnection.o ./obj/client/Recv.o ./obj/client/resolveCommand.o ./obj/client/sanitizeRequest.o ./obj/client/Send.o ./obj/utils/commandTokenizer.o ./obj/utils/oneWayHash.o ./obj/utils/pathTokenizer.o ./obj/utils/split.o ./obj/utils/trim.o
85+
Compiled client successfully!
86+
Build successful.

logs/serverlog.txt

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
Server Started at Port 9000
2+
[LOGGING] Server config is :
3+
[Variable] controlConnectionIP =
4+
[Variable] controlConnectionPortNumber = 9000
5+
[Variable] dataConnectionIP =
6+
[Variable] dataConnectionPortNumber = 9010
7+
[Variable] backlogsPermitted = 10
8+
9+
[INFO] : Server Listening at 9000
10+
[SERVER]: Got connection from 127.0.0.1
11+
[INFO] : [SERVER] Got connection from 127.0.0.1
12+
New Connection Accepted. Creating Process to handle this.
13+
14+
[LOGGING] Server config is :
15+
[Variable] controlConnectionIP = 127.0.0.1
16+
[Variable] controlConnectionPortNumber = 9000
17+
[Variable] dataConnectionIP = 127.0.0.1
18+
[Variable] dataConnectionPortNumber = 9010
19+
[Variable] backlogsPermitted = 10
20+
[LOGGING] [SERVER] : I am creating a new data Connection
21+
[LOGGING] Server config is :
22+
[Variable] controlConnectionIP = 127.0.0.1
23+
[Variable] controlConnectionPortNumber = 9000
24+
[Variable] dataConnectionIP = 127.0.0.1
25+
[Variable] dataConnectionPortNumber = 9010
26+
[Variable] backlogsPermitted = 10
27+
127.0.0.1
28+
[LOGGING] 127.0.0.1
29+
[Variable] port = 9010
30+
31+
[SERVER:CONNECTION] Connected to 127.0.0.1
32+
[LOGGING] 127.0.0.1
33+
[Variable] getDataConnectionPortNumber() = 9010
34+
Server Started at Port 9000
35+
[LOGGING] Server config is :
36+
[Variable] controlConnectionIP =
37+
[Variable] controlConnectionPortNumber = 9000
38+
[Variable] dataConnectionIP =
39+
[Variable] dataConnectionPortNumber = 9010
40+
[Variable] backlogsPermitted = 10
41+
42+
[INFO] : Server Listening at 9000
43+
[SERVER]: Got connection from 127.0.0.1
44+
[INFO] : [SERVER] Got connection from 127.0.0.1
45+
New Connection Accepted. Creating Process to handle this.
46+
47+
[LOGGING] Server config is :
48+
[Variable] controlConnectionIP = 127.0.0.1
49+
[Variable] controlConnectionPortNumber = 9000
50+
[Variable] dataConnectionIP = 127.0.0.1
51+
[Variable] dataConnectionPortNumber = 9010
52+
[Variable] backlogsPermitted = 10

0 commit comments

Comments
 (0)