Tamás Solymos
ceced391f3
Allow non-context Dialers
...
Dialers who don't implement DialContext but upgrade past https://github.com/fluffle/goirc/pull/109 (which is 2.5 years old but still) will break. This change falls back to the non-context dial method, where calls may take longer and time out, and goirc would give them a warning as well.
2023-11-23 08:29:44 +00:00
Kobe Housen
8b460bc60f
Use make size hint when copying channels in Nick()
...
70% faster when using a high number of channels
Old performance
```
$ go test ./state -bench=.
goos: linux
goarch: amd64
pkg: github.com/fluffle/goirc/state
cpu: AMD Ryzen Threadripper PRO 3945WX 12-Cores
BenchmarkNickSingleChan-24 15465226 76.35 ns/op
BenchmarkNickManyChan-24 5738 195721 ns/op
PASS
ok github.com/fluffle/goirc/state 2.433s
```
new performance
```
$ go test ./state -bench=.
goos: linux
goarch: amd64
pkg: github.com/fluffle/goirc/state
cpu: AMD Ryzen Threadripper PRO 3945WX 12-Cores
BenchmarkNickSingleChan-24 15022640 79.13 ns/op
BenchmarkNickManyChan-24 10000 115104 ns/op
PASS
ok github.com/fluffle/goirc/state 2.456s
```
2023-11-17 12:58:34 +00:00
Alex Bramley
2b7abdce8f
Add @supertassu to README, update copyright dates.
2022-11-28 13:42:10 +00:00
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