Daniel Oaks
309ec8191e
Add 'k' snomask for kills (including those coming from dlines and klines)
2017-06-11 10:01:39 -06:00
Daniel Oaks
3ee26041ff
Send snomask on client quits
2017-06-11 09:42:37 -06:00
Daniel Oaks
55d8eb5dce
Make 'nick' snomask look nicer
2017-06-10 17:07:44 -06:00
Daniel Oaks
53190ef131
Send a whole lot more snomasks
2017-05-28 12:43:09 -06:00
Daniel Oaks
ebb9d629d7
xline: Add ANDKILL param to kill all matching clients
2017-05-24 00:58:36 -06:00
Daniel Oaks
d847d55c06
Fix wordWrap function so it doesn't drop chars, and fix client.Notice() to automagically split very long lines.
2017-05-09 21:09:44 +10:00
Daniel Oaks
9fe7c143c8
server: Remove useless comments, make idle/quit function layouts nicer
2017-05-09 20:37:48 +10:00
Daniel Oaks
c911ff2bcd
Squash a bunch of possible races
2017-04-18 22:26:01 +10:00
Daniel Oaks
f7a4f5d956
socket: Move to a timing-out send method that reduces goroutines and ensures QUIT/ERROR are sent
2017-04-18 20:29:00 +10:00
Daniel Oaks
f665ebac16
channels: Help prevent issues when join/parting
2017-04-18 17:19:44 +10:00
Daniel Oaks
1c917a19a7
client: Ensure ERROR message is parsed when quitting
2017-04-17 23:05:47 +10:00
Daniel Oaks
22216d4d60
Fix lots of nits
2017-04-16 11:31:33 +10:00
Daniel Oaks
317a804644
Fix dates at top of source files
2017-03-27 22:15:02 +10:00
Daniel Oaks
300d02bd9c
channel: Kill a race condition that locked up the server.
...
Specifically, if you joined a channel while someone else was trying to part. the Join method would grab the lock, the Quit method would queue to grab the lock, the Join method would unlock and then try to regrab the lock, and it would get into a situation where nobody would have the lock and everyone would be waiting for it.
This caused weird oddities with clients.
2017-03-26 22:11:09 +10:00
Daniel Oaks
aad1070633
client: Unlock channel mutex earlier
2017-03-24 21:54:06 +10:00
Daniel Oaks
6842d2ead6
Merge master
2017-03-24 12:29:13 +10:00
Daniel Oaks
05074e966d
modes: Continue overhauling
2017-03-24 12:23:21 +10:00
Daniel Oaks
f29a5f0e70
socket: Very initial SendQ limit
2017-03-14 08:12:39 +10:00
Daniel Oaks
de4db1c6ef
socket: Start overhaul of sockets and writing
2017-03-13 23:53:21 +10:00
Daniel Oaks
439331cfb8
logger: Move to separate package, make *much* nicer
2017-03-10 22:02:08 +10:00
Daniel Oaks
5de03f2169
logging: Reverse arrows for in and out, in ~= left, out ~= right
2017-03-06 22:12:27 +10:00
Daniel Oaks
b328a4fcd3
logging: Add userinput and output, fix up lots
2017-03-06 22:11:10 +10:00
Daniel Oaks
29e89b16a0
logger: Very initial working new logs
2017-03-06 15:50:23 +10:00
vegax87
b3a54cbb2c
Merge branch 'master' of https://github.com/DanielOaks/oragono
2017-02-09 12:23:10 +01:00
Martin Lindhe
730d283201
server-time: convert local time to UTC before using it, fixes #94
2017-02-07 01:37:32 +01:00
vegax87
a623d8ef1e
Solved! RPL_USERHOST must use trailing
2017-01-23 21:20:42 +01:00
Daniel Oaks
c8b5fb65e0
WHOIS: Use inbuilt functionality to force trailing, as suggested by @vegax87
2017-01-23 09:03:49 +10:00
Daniel Oaks
c2fedfb177
client: Forego the ForceTrailing func, just automagically work it out based on the command name
2017-01-22 10:43:02 +10:00
Daniel Oaks
b257c5955e
client: Add SendForceTrailing function, to force the last param to be a trailing
2017-01-20 23:51:36 +10:00
Daniel Oaks
67d65b0e3d
client: Ignore empty lines, send ERROR with no prefix
2017-01-19 07:56:33 +10:00
Daniel Oaks
cbe49ff3d8
Use a better line-splitting algorithm
2017-01-18 08:05:31 +10:00
Daniel Oaks
522001d4f6
Cleanup message sending
2017-01-18 07:27:06 +10:00
Daniel Oaks
e741c1476b
Implement message-ids draft
2017-01-18 07:26:41 +10:00
Daniel Oaks
f6185fa336
Get it working, using not-great and very initial splitting code
2017-01-18 07:26:05 +10:00
Daniel Oaks
92626a178d
server: Start roughly hacking in new message-tags support
2017-01-18 07:26:05 +10:00
Daniel Oaks
d2e18962e3
Very initial maxline work
2017-01-18 07:26:05 +10:00
Daniel Oaks
2b240faa90
strings: Fix nick bugs, use UsernameCaseMapped
2017-01-14 02:32:15 +10:00
Daniel Oaks
4168eaafbb
Basic implementation of KLINEs
2017-01-11 22:38:16 +10:00
Daniel Oaks
6f7c683247
channel: RWMutex for members access
2017-01-11 02:09:08 +10:00
Daniel Oaks
a8eabe8e9c
client: Fix a lot of bugs around setting NICK
2016-11-29 22:33:10 +10:00
Daniel Oaks
dc605ebb01
client: Send quit messages more correctly
2016-11-29 21:06:01 +10:00
Daniel Oaks
2e2e91689a
client: Send quit message to friends correctly
2016-11-29 19:28:22 +10:00
Daniel Oaks
9a9820fa88
NICK: Prevent races, remove a DoS
2016-11-16 12:02:22 +10:00
Daniel Oaks
95e36b99a2
Nick locking (entirely broken, needs to be completely redesigned)
2016-11-16 03:05:33 +10:00
Daniel Oaks
c3174bb648
Various crash fixes, and little cleanups for safety
2016-11-04 21:38:47 +10:00
Daniel Oaks
07e4728c15
roleplay: Initial commit
2016-11-01 23:56:25 +10:00
Daniel Oaks
c7fdb4656e
strings: Use inbuilt precis.Nickname encoding now
2016-10-27 00:44:36 +10:00
Daniel Oaks
a404bf83d1
Add automated client connection limiting
2016-10-23 23:05:00 +10:00
Daniel Oaks
a7949b6cb4
irc: Assorted golint cleanups
2016-10-23 11:48:57 +10:00
Daniel Oaks
29e811a531
oper: Support custom vhosts, and chghost
2016-10-23 11:28:31 +10:00
Daniel Oaks
8e2a8cb1b3
opers: Enforce oper class permissions
2016-10-23 11:13:08 +10:00
Daniel Oaks
f3459830e7
opers: Allow setting custom whois lines
2016-10-23 11:01:05 +10:00
Daniel Oaks
64bdedaee2
Add oper classes, for more finely-grained control
2016-10-23 10:47:11 +10:00
Daniel Oaks
425a521d27
channel: Fix MODE and WHO
2016-10-16 21:28:59 +10:00
Daniel Oaks
1e956355bf
NICK: Fix small bug when casefolding
2016-10-16 20:35:50 +10:00
Daniel Oaks
1bab81091f
Add MONITOR command
2016-10-16 20:14:56 +10:00
Daniel Oaks
e643c2101f
capability: Add 3.2 CAP values
2016-10-16 13:54:09 +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
0eebd6273c
AWAY: Only dispatch AWAY when cap-notify is used
2016-10-13 18:08:08 +10:00
Daniel Oaks
985f87d9d1
client: Remove silly testing Println
2016-10-13 16:21:19 +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
2bfcc553ce
client: Don't fail silently on error sending messages
2016-09-19 23:00:19 +10:00
Daniel Oaks
5d7d510348
client: Fix minor bug when doing SASL before NICK/USER
2016-09-19 22:30:29 +10:00
Daniel Oaks
754b74c21c
accounts: Add account-tag capability
2016-09-12 11:25:31 +10:00
Daniel Oaks
c2aa31001a
client: Fix initial RPL_UMODEIS
2016-09-07 21:50:42 +10:00
Daniel Oaks
220bc2c609
server-time: Fix time format
2016-09-07 21:48:03 +10:00
Daniel Oaks
b5e7d8968f
accounts: Add SASL EXTERNAL handler
2016-09-07 21:32:58 +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
5269dc8776
accounts: Very roughly introduce account type
2016-09-05 22:35:13 +10:00
Daniel Oaks
49034cb20e
certfp: Add certfp retrieval from client
2016-09-05 13:53:39 +10:00
Daniel Oaks
e33a810522
capability: Add extended-join and userhost-in-names
2016-08-14 11:59:33 +10:00
Daniel Oaks
ef592d160c
capability: Add server-time
2016-08-13 22:04:21 +10:00
Daniel Oaks
d810033a02
client: Timeout ident more nicely
2016-07-02 19:12:00 +10:00
Daniel Oaks
199f8bd8ae
USER: disallow usernames that break the protocol
2016-06-30 23:55:44 +10:00
Daniel Oaks
19c2bb69fc
Allow looking up usernames with ident on connection
2016-06-30 19:28:34 +10:00
Daniel Oaks
5d3b185881
client: Use more accurate QUIT message for ping timeouts
2016-06-30 15:35:34 +10:00
Daniel Oaks
b820559050
modes: Add TLS umode (+Z)
2016-06-29 01:09:07 +10:00
Daniel Oaks
34a099b61a
Fix PING and PONG
2016-06-22 22:04:13 +10:00
Daniel Oaks
04442ddef1
Stuff is no longer completely broken. Just mostly.
2016-06-20 22:53:45 +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
7b13858f8c
client: Fix
2016-06-19 15:37:29 +10:00
Daniel Oaks
7fcc6bdbc4
channels: Fix
2016-06-19 14:55:24 +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
9860094020
socket: Use updated socket code
2016-06-15 21:21:45 +10:00
Daniel Oaks
8885f14f19
PROXY: Restrict to specified addresses/hostnames
2016-04-21 16:53:55 +10:00
Daniel Oaks
ed95f09725
Fix clients no longer being able to send commands after a single command errors out
2016-04-15 19:08:52 +10:00
Jeremy Latt
4ce4ba31c5
keep track of whether sockets are closed
2014-04-15 12:10:02 -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
Jeremy Latt
3b12dec207
cleanup
2014-03-27 18:58:12 -07:00
Jeremy Latt
d696f2313e
stop leaking client goroutines; closes #34
2014-03-27 16:49:22 -07:00
Edmund Huber
2272aae213
spelling and gofmt
2014-03-23 06:50:07 +01:00
Edmund Huber
6267b6a40c
clean up /theater so that it doesn't need a bunch of pointers and that it reuses channel-scoped-user-modes machinery
2014-03-22 22:25:24 +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
7a9f1d750b
explain why CheckPassword happens in client thread
2014-03-15 15:12:29 -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