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