Daniel Oaks
317a804644
Fix dates at top of source files
2017-03-27 22:15:02 +10:00
Daniel Oaks
b33b217fab
Add very initial ChanServ and NickServ virtual clients
...
As well, add channel registration and re-applying founder privs on the first client joining the channel. I'm going to re-architect our modes system to better acocunt for this sort of change.
2017-03-11 22:01:40 +10:00
Daniel Oaks
415a8117ee
logger: Better colours and output
2017-03-06 20:15:28 +10:00
vegax87
f3c9c2b4b5
USERHOST command
2017-01-23 17:44:35 +01:00
Daniel Oaks
9e65d9b87e
Add SAMODE command, restricted by oper capab
2017-01-23 09:36:13 +10:00
Daniel Oaks
62dc3c8f66
server: Implement TAGMSG draft command
2017-01-18 07:26:05 +10:00
vegax87
4797331962
Basic implementation of LUSERS command
2017-01-15 01:48:47 +01:00
Daniel Oaks
4168eaafbb
Basic implementation of KLINEs
2017-01-11 22:38:16 +10:00
Daniel Oaks
b6f807dfdc
commands: Use ERR_NOTREGISTERED when appropriate
2016-11-08 07:07:31 +10:00
Daniel Oaks
011419e755
dline: Should be working now
2016-11-04 21:15:23 +10:00
Daniel Oaks
8c797d0f76
Initial DLINE changes
2016-11-04 12:42:58 +10:00
Daniel Oaks
07e4728c15
roleplay: Initial commit
2016-11-01 23:56:25 +10:00
Daniel Oaks
8e2a8cb1b3
opers: Enforce oper class permissions
2016-10-23 11:13:08 +10:00
Daniel Oaks
6cd71e1b9e
Add REHASH command
2016-10-19 21:38:31 +10:00
Daniel Oaks
1bab81091f
Add MONITOR command
2016-10-16 20:14:56 +10:00
Daniel Oaks
43e28e2fef
PROXY: Remove command, I don't think it's that useful
2016-10-15 16:29:34 +10:00
Daniel Oaks
7b50f64d7e
help: Add new /HELP command
2016-10-14 20:56:44 +10:00
Daniel Oaks
5e72409695
Move from ascii(ish) unicode encoding to prelim rfc7700 using functions instead
2016-10-11 23:51:46 +10:00
Daniel Oaks
969eed394f
KILL: Make reason optional, to match other ircds
2016-09-14 20:57:33 +10:00
Daniel Oaks
266c534af9
theater: Remove THEATER command for now
2016-09-12 12:31:25 +10:00
Daniel Oaks
1679bc9ac2
accounts: Add initial SASL handler, still need to write mechanism handlers
2016-09-06 16:31:59 +10:00
Daniel Oaks
e4b6c1852b
accounts: Add very initial, extremely broken account work (not including config changes)
2016-09-04 19:25:33 +10:00
Daniel Oaks
748bc759cb
Cleanups reported by goreportcard
2016-06-30 15:43:27 +10:00
Daniel Oaks
04442ddef1
Stuff is no longer completely broken. Just mostly.
2016-06-20 22:53:45 +10:00
Daniel Oaks
b8dc10f92d
nickname: Fix
2016-06-20 10:04:53 +10:00
Daniel Oaks
9e7a590f23
server: Fix
2016-06-19 21:59:18 +10:00
Daniel Oaks
2a519c8061
use server.name and server.nameString, name for checking and getting nice comparison, nameString for reply outputs
2016-06-19 15:43:16 +10:00
Daniel Oaks
c2e5386966
commands: Fix comment
2016-06-19 12:53:52 +10:00
Daniel Oaks
08225c201d
continue work reorganising and redoing EVERYTHING
2016-06-19 10:01:30 +10:00
Daniel Oaks
e83283e7fd
urgh this should not even be commited yet, this will all be squashed out
2016-06-17 22:17:42 +10:00
Daniel Oaks
2f08401a0f
Attempt to add mostly-correct license info at the top of each file... track this stuff a bit better
2016-06-15 21:50:56 +10:00
Daniel Oaks
fb345a2dd4
user: Don't parse the second and third params anymore
2016-04-15 18:45:05 +10:00
Daniel Oaks
9acdeedec6
commands: Simplify and unify minimum required number of args handling
2016-04-15 15:57:08 +10:00
Daniel Oaks
4177522e74
modes: Correct mode argument handling, only first param is the modestring
2016-04-14 21:22:17 +10:00
Daniel Oaks
9b32d7d6b8
mode: Parse more advanced mode changes
2016-04-14 18:41:58 +10:00
Daniel Oaks
3972fc49ed
privileges: Add founder/admin/halfop (qah), remove owner (O)
...
channel owner is from 2812 and unused in the real world
2016-04-14 09:36:02 +10:00
Edmund Huber
02dca1dd89
fix array overrun panic bug, #13
2015-06-06 18:26:28 -07:00
Jeremy Latt
6c10add399
improve performance by using less goroutines
...
- get rid of command channel in Client
- get rid of loginTimer; use other timers instead
- move debugging code to debug.go
2014-04-15 12:10:02 -07:00
Jeremy Latt
b0bb0faadc
remove unnecessary String()s; rename parse functions
2014-03-28 14:33:31 -07:00
Edmund Huber
34b01b115e
add a type for CTCP-encoded strings, and NOTICEs for error cases
2014-03-23 06:47:21 +01:00
Edmund Huber
d5bdc78d55
adding theater-mode, fixes #15
2014-03-20 05:05:18 +01:00
Jeremy Latt
8c44bb9ff3
ONICK command to allow operators to change users' nicks
2014-03-17 12:56:35 -07:00
Jeremy Latt
39b7c2a915
Merge remote-tracking branch 'origin/master' into cleanup
...
Conflicts:
irc/client.go
irc/commands.go
irc/constants.go
irc/reply.go
irc/server.go
irc/types.go
2014-03-13 12:38:44 -07:00
Jeremy Latt
2006aff9f7
break up types.go
...
- remove old interfaces, move to relevant files
- remove Phase in favor of a boolean flag
2014-03-12 17:52:25 -07:00
Jeremy Latt
77d053ccac
get rid of editableCommand
2014-03-12 17:10:48 -07:00
Jeremy Latt
96a108f8da
mark unicode normalization with type
2014-03-12 16:45:22 -07:00
Jeremy Latt
5d46e7d7fa
Merge remote-tracking branch 'origin/master' into user-mask
...
Conflicts:
irc/reply.go
irc/server.go
irc/types.go
2014-03-06 17:44:37 -08:00
Jeremy Latt
b2055595e1
WHOWAS command
2014-03-06 12:14:21 -08:00
Jeremy Latt
69cdad45ac
partially-working sqlite-based usermasks
2014-03-06 11:56:32 -08:00
Jeremy Latt
d54f530d13
Merge remote-tracking branch 'origin/master' into cap-protocol
...
Conflicts:
irc/server.go
2014-03-06 10:34:50 -08:00
Jeremy Latt
0874692aa8
send proper replies for cap protocol
2014-03-02 12:54:48 -08:00
Jeremy Latt
9aa7debbfe
move password handling into a single file
2014-03-01 15:18:49 -08:00
Jeremy Latt
36602c9a3c
basic capability negotiation
...
- multi-prefix is supported as an example
2014-02-28 19:24:38 -08:00
Jeremy Latt
542744d52a
fix line parsing function
2014-02-27 21:21:47 -08:00
Jeremy Latt
04f0b2c48d
trim trailing space from commands
2014-02-26 16:18:52 -08:00
Jeremy Latt
6f00f89efa
relax unicode parsing rules
...
NFKC was previously used for all text. Now, we use NFKC for all args but
the last, which may be free text. This arg is normalized with NFC to
allow for formatting characters.
2014-02-26 13:11:29 -08:00
Jeremy Latt
39911a812d
handle mode command with trailing empty arguments
2014-02-26 12:08:01 -08:00
Jeremy Latt
a30bb540e9
rewrite parseLine to be much saner about utf8
2014-02-25 13:24:32 -08:00
Jeremy Latt
1fe73aaa9e
kill command
2014-02-25 09:10:16 -08:00
Jeremy Latt
4d2d18caf1
time command
2014-02-25 07:45:40 -08:00
Jeremy Latt
f0305cf01a
invite command
2014-02-25 07:35:52 -08:00
Jeremy Latt
d6ec1e719b
add a version command for sumeet
2014-02-24 22:04:11 -08:00
Jeremy Latt
cc6f764c85
minor cleanup
2014-02-24 17:45:04 -08:00
Jeremy Latt
72726a39b8
many changes
...
- load config sub files relative to config file dir
- load config file by name
- expect bcrypt for passwords
- -genpasswd for generating config-file-safe passwords
- block client thread while checking passwords (PASS and OPER)
2014-02-24 09:48:46 -08:00
Jeremy Latt
41e6baf9d4
get rid of a race; use pointers where possible
2014-02-23 18:05:06 -08:00
Jeremy Latt
0bf968e19e
move command parsing and hostname lookups into the socket routine
2014-02-23 17:04:24 -08:00
Jeremy Latt
3b56b5bf42
expose various go internals as a DEBUG command
2014-02-23 10:04:31 -08:00
Jeremy Latt
f482b6b82f
add all channel mask list replies
2014-02-22 15:01:11 -08:00
Jeremy Latt
f9bf422ba7
be more lax about whitespace when parsing commands from clients
2014-02-20 21:09:56 -08:00
Jeremy Latt
b6d8f62674
adjust ping message
2014-02-20 19:22:08 -08:00
Jeremy Latt
9960089226
format replies to strings instead of using a Reply struct
2014-02-19 22:20:34 -08:00
Jeremy Latt
58517ad4e8
fix closed channel on socket close
2014-02-18 10:13:57 -08:00
Jeremy Latt
baf83e73d2
support USER from both RFCs 1459 and 2812
2014-02-17 22:10:48 -08:00
Jeremy Latt
b17e62d0b0
names command
2014-02-17 21:02:03 -08:00
Jeremy Latt
2ecc66b9d9
add more modes to arg-having modes
2014-02-17 11:46:40 -08:00
Jeremy Latt
f0fc3b492c
list command
2014-02-16 23:51:27 -08:00
Jeremy Latt
a9d7f64693
kick command
2014-02-16 23:29:11 -08:00
Jeremy Latt
a894e3f37f
parse lines more robustly
2014-02-16 22:22:46 -08:00
Jeremy Latt
4e56ea1bdc
get rid of unnecessary concurrency for channels and clients
2014-02-16 22:20:42 -08:00
Jeremy Latt
488b2ccf8f
implement channel modes and messages properly
2014-02-15 19:49:20 -08:00
Jeremy Latt
4d9742d033
organize server command into phases
2014-02-14 18:28:36 -08:00
Jeremy Latt
52dd2521c2
remove prefix from local replies; fix topic message
2014-02-12 18:14:19 -08:00
Jeremy Latt
6daf81ea91
notice command
2014-02-11 17:11:59 -08:00
Jeremy Latt
09887b2db3
motd command
2014-02-11 16:35:32 -08:00
Jeremy Latt
a203a3ca16
ison command
2014-02-11 15:58:54 -08:00
Jeremy Latt
08d9d5ab79
away modes
2014-02-11 15:44:58 -08:00
Jeremy Latt
4379cb8e1c
add PROXY protocol support
2014-02-10 18:40:06 -08:00
Jeremy Latt
fb65203805
stub cap command
2014-02-10 11:14:34 -08:00
Jeremy Latt
8a90634c0a
irc operators
2014-02-09 10:07:40 -08:00
Jeremy Latt
1787ac8ebf
use Reply() to wrap channel
2014-02-09 08:48:11 -08:00
Jeremy Latt
55d3d6e946
don't overwrite base command
2014-02-08 23:51:51 -08:00
Jeremy Latt
20257ec624
use ModeOp everywhere
2014-02-08 22:42:14 -08:00
Jeremy Latt
93f4b6859a
more channel mode parsing and bad listing
2014-02-08 22:06:10 -08:00
Jeremy Latt
d370abcd4c
minimal who command
2014-02-08 18:49:52 -08:00
Jeremy Latt
d8951e1b48
minimal channel mode command
2014-02-08 18:14:39 -08:00
Jeremy Latt
a0eed1d687
properly implement join/part
2014-02-08 17:53:06 -08:00
Jeremy Latt
c4f457705a
minimal whois implementation
2014-02-08 17:43:59 -08:00
Jeremy Latt
3f9495cda0
add data structures for decoding mode messages
2014-02-08 14:20:23 -08:00
Jeremy Latt
b9cb539219
organize like a proper go package
2014-02-08 13:19:35 -08:00