Commit Graph

442 Commits

Author SHA1 Message Date
Taavi Väänänen e64b5d47c3 Add SASL authentication support
This hacks together support for IRCv3.1 SASL. Currently only SASL PLAIN
is supported, but it's implemented in a way that adding support for
other types should not require too many changes to the current code.
2022-11-28 09:05:14 +00:00
Alex Bramley bbbcc9aa5b Noticed typo as soon as I pushed :-( 2022-03-23 09:40:06 +00:00
Alex Bramley 5b481cf00a Update travis for recent go versions. 2022-03-23 09:38:41 +00:00
Alex Bramley 33c2868b34 Add ostafen to contributors. 2022-03-23 09:36:35 +00:00
Stefano 54099b85a3 Implement feature request #77: Support IRCv3 capability negotiation during registration 2022-03-17 19:38:12 +00:00
Stefano b1565dba18 Add section for "Projects using GoIRC" 2022-02-03 09:38:40 +00:00
Luca Bigliardi 58c9607dfb Fix connection cleanup when context is canceled
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-03-27 19:28:50 +00:00
Alex Bramley c874d8df17 Update README to add shammash as a contributor. 2021-03-26 13:17:34 +00:00
Alex Bramley 5bb083547b Make call checker a handler. 2021-03-26 12:40:28 +00:00
Alex Bramley 1a10eba91a Use a Context in mockNetConn too. 2021-03-26 12:36:19 +00:00
Alex Bramley 27cc39787d Use a Context to kill internal goroutines. 2021-03-26 12:02:36 +00:00
Alex Bramley 1bb2dff298 Accept nick from 001 message. Fixes #110. 2021-03-26 11:20:00 +00:00
Alex Bramley cb4b7e5d82 Go version update; mod tidy. 2021-03-26 09:06:36 +00:00
Luca Bigliardi e0c319f8ff Support context during connect
Signed-off-by: Luca Bigliardi <shammash@google.com>
2021-02-24 19:06:21 +00:00
Alex Bramley a32ccd5931 Update travis, because why not. 2020-03-17 16:53:26 +00:00
Alex Bramley d8596aa285 Remove explicit dependency on optional logging packages. 2020-03-17 16:51:30 +00:00
Alex Bramley b2c51c13c6 NewNick handler that doesn't vary nick length. Fixes #108. Sort of. 2019-10-17 20:27:52 +01:00
Alex Bramley 0dc1109b0d Go modules for goirc. 2018-09-28 20:19:31 +01:00
Alex Bramley 08c1bcf174 Fix panic when String is called on nil mode pointers. Fixes #98. 2018-09-06 22:23:59 +01:00
Alex Bramley 47162eb0b8 Run gofmt to keep people happy! 2018-09-06 22:15:14 +01:00
John R Barker 90556d7c97 s/bob-smith/gundalow/
I renamed my account a lot time ago
2018-09-06 22:08:48 +01:00
Alex Bramley 5d183f21c3 Update travis.yml with recent Go versions. 2018-09-06 22:12:22 +01:00
Alex Bramley fc1dfa1ceb Add net.Dialer DualStack config option. 2018-02-16 21:04:56 +00:00
Alex Bramley a7abc67ac2 Hold state tracker lock for Me(). Fixes data race panic. 2017-10-31 21:38:46 +00:00
Alex Bramley c981f8f568 Avoid holding hSet lock while executing handlers. Fixes #102. 2017-07-25 20:29:28 +01:00
momo-aux 2ece5aab67 add: :n username channelname ex: :n testuser #testchannel (#97)
Add: :n <nick> <channel> as a command to the example client.

This queries the state tracker for the status of the user on the given channel.
2017-06-02 22:39:41 +01:00
Alex Bramley 329a62d7d9 Don't hold conn.mu during REGISTER. Fixes #94. 2016-12-18 14:22:12 +00:00
Alex Bramley 64ad58533d Test ERROR handling and add constant. Fixes #92. 2016-11-28 22:50:19 +00:00
Alex Bramley be9257d323 Fix example code, oops. 2016-09-16 19:43:45 +01:00
Alex Bramley 82bcd7aded Rename Shutdown to Close; implement io.Closer. 2016-09-16 19:40:27 +01:00
Alex Bramley 734da36009 Make Conn's Shutdown method public. 2016-09-12 20:55:10 +01:00
Alex Bramley a2223065b2 Actually perform SSL handshake when we claim to. Fixes #89. 2016-08-24 08:28:48 +01:00
Alex Bramley 20e4ea9b00 TestPing needs a different timer resolution on windows. Fixes #88. 2016-06-10 19:37:51 +01:00
Jason Keene aad5dbe821 Obfuscate PASS in debug logs. (#87) 2016-05-14 09:12:49 +01:00
Alex Bee 8d77d1625c Merge pull request #86 from bob-smith/patch-1
Travis icon in README.md
2016-03-06 19:40:27 +00:00
John R Barker f2d906c0e0 Travis icon in README.md 2016-03-06 19:38:35 +00:00
Alex Bee ace6a89147 Merge pull request #85 from bob-smith/travis
Enable travis-ci for goirc
2016-03-06 19:35:13 +00:00
John Barker 9ffd7740ec Enable travis-ci for goirc 2016-03-06 13:37:58 +00:00
Alex Bramley ba9b75dd46 Update README.md with additional credits. 2016-03-02 21:53:04 +00:00
Alex Bee 19d79b5351 Merge pull request #84 from bob-smith/patch-2
Syntax highlighting for source code in README.md
2016-03-02 21:40:21 +00:00
John Barker 0b121522bb Syntax highlighting for source code in README.md
Markdown knows about golang, so use the source (formatting) luke
2016-03-02 18:19:47 +00:00
Alex Bee 6277eb6e2d Merge pull request #81 from stapelberg/patch-1
README: add SSLConfig to make connecting work
2016-02-25 22:19:41 +00:00
Alex Bee 6eefee83e9 Merge pull request #82 from stapelberg/patch-2
ParseLine: ignore empty lines (instead of crashing)
2016-02-25 22:18:06 +00:00
Michael Stapelberg 07446c2595 ParseLine: ignore empty lines (instead of crashing) 2016-02-25 08:51:54 +01:00
Michael Stapelberg 51e6046a09 README: add SSLConfig to make connecting work
Without an SSLConfig, I get the following error:

```
E0225 08:43:12.384793   28687 connection.go:406] irc.recv(): tls: either ServerName or InsecureSkipVerify must be specified in the tls.Config
```
2016-02-25 08:50:53 +01:00
Alex Bee 8be75dd9d4 Merge pull request #76 from jakebailey/master
Add IRCv3 tag parsing and CAP command.

http://ircv3.net/specs/core/capability-negotiation-3.1.html
http://ircv3.net/specs/core/message-tags-3.2.html
2016-01-24 14:54:39 +00:00
Jake Bailey 4c6842acba link to spec 2016-01-12 20:02:46 -06:00
Jake Bailey 20ef362b1d skip empty tags, allow = in tag values, better clarify ; split, add IRCv3 tag parsing comment to ParseLine() 2016-01-12 20:00:40 -06:00
Jake Bailey 73f523f252 use a list of capabilities instead, as the spec defines space seperated caps 2016-01-11 16:50:32 -06:00
Jake Bailey 32ae1211bb check bad tag inputs 2016-01-11 16:43:19 -06:00