-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathNotes
More file actions
84 lines (71 loc) · 2.71 KB
/
Notes
File metadata and controls
84 lines (71 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---------------------------**NOTES**---------------------------
This is a notes file to keep track of progress and changes that
must be made or bugs that were resolved. Documentation is also
included here.
<!-- Author: Obada -->
*Current code base version* -> *Doesn't compile all files*
1. *Server* (IN PROGRESS) ~ Mutasem | mmajid-m
- socket -> initialize server varaibles -> setsockopt -> bind -> listen -> accept (NOT DONE)
- Redo Server::run() function for a cleaner/clearer code and use poll() (NOT DONE)
- Rename variables in Server.hpp to more meaningful names (NOT DONE)
2. *Parsing* (IN PROGRESS) ~ AbdulAziz | ael-masr
- Parse command line (NOT DONE)
- Call appropriate commands when used (NOT DONE)
- Call appropriate error codes when applicable (NOT DONE)
- Handle all CAP commands (CAP LS, CAP REQ, CAP ACK, CAP END) (NOT DONE)
3. *Commands* (DONE) ~ Obada | 0bada1
- USER (DONE) ✅
- NICK (DONE) ✅
- JOIN (DONE) ✅
. Usage:
JOIN #<channel>
JOIN &<channel>
- PART (DONE) ✅
- PRIVMSG (DONE) ✅
. Usage:
PRIVMSG <user> <msg>
PRIVMSG #<channel> <msg>
- NOTICE (DONE) ✅
- KICK (DONE) ✅
- INVITE (DONE) ✅
- TOPIC (DONE) ✅
- MODE (DONE) ✅
Options:
· i: Set/remove Invite-only channel (DONE) ✅
· t: Set/remove the restrictions of the TOPIC command to channel operators (DONE) ✅
· k: Set/remove the channel key (password) (DONE) ✅
· o: Give/take channel operator privilege (DONE) ✅
· l: Set/remove the user limit to channel (DONE) ✅
_______________________________________________________________
***RFC 1459 NOTES***
1.2 Clients
* Description
- Anything that connects to a server apart from a server
* Restrictions (See RFC 2812 section 5.1)
- A client nickname shall be only up to 9 characters
1.3 Channels
* Description
- A channel is a group that is created when the first user joins and deleted when the last user leaves
- 2 types of channels exist:
. '#' channel
. '&' channel
* Channel name resrictions:
- Channel name can be up to 200 characters
- Channel name must begin with '&' or '#'
- Channel name may not contain spaces, comas or ctrl G (^G or ASCII 7)
- Maximum of 10 joined channels at once per user
1.3.1 Channel Operators
* Description
- A channel operator is the owner of a channel and is identified by a '@' prefix sign in their name in the channel only
* Operations allowed by channel operators
- KICK -> Eject client from channel
- MODE -> Change channel mode
- INVITE -> Invite a client to an invite only channel (+i)
- TOPIC -> Change the channel topic in a +t channel
2.
***RFC 2810 NOTES***
***RFC 2812 NOTES***
*IRSSI BUGS*
- Part works but does not leave channel on irssi
- Set nick needs checking
-