Commit Graph
130 Commits
Author SHA1 Message Date
Jeffrey Paul 8399256730 don't hammer server if conn terminated during reconnection 2024-11-29 07:49:50 -08:00
J.P. Neverwas 272c4d1650 Allow connecting via proxy 2021-07-03 16:09:44 -07:00
Shivaram Lingamneni ca8c401467 fix SASL stalling due to duplicated callbacks
Each reconnection would add redundant callbacks for CAP and the
SASL numerics. This would result in `AUTHENTICATE PLAIN` being sent
multiple times (once for each callback), which would confuse the server.
2021-02-11 22:37:42 -05:00
Thomas Jager 8e7ce4b5a1 Merge pull request #128 from akihiro/master
Add non UTF-8 encoding support
2019-08-07 11:50:34 +00:00
Hiroaki Mizuguchi 511f12d368 Add non UTF-8 encoding support 2019-08-07 18:21:07 +09:00
Russ Garrett 2d0ed40435 Add an overall timeout on CAP negotiation
At the moment it just hangs if the server doesn't support CAP. This adds
a 15 second timeout to the CAP negotiation process, after which the
connection continues.

The timeout and error on failed SASL negotiation is preserved.
2019-05-12 10:29:21 +01:00
Viktor Villainov 0d03b4dd26 Add IPv6 support: Use net.SplitHostPort 2019-04-04 10:35:40 -04:00
Viktor Villainov b9b3e9bcc0 Add IPv6 address support 2019-04-03 17:50:05 -04:00
int3l c5c6e02b15 Prevent nil pointer dereference
fixes #110
2019-03-24 16:09:35 +02:00
Matthew McNamara 08674caae5 Don’t send NICK and USER while negotiating caps 2019-02-21 22:31:06 +00:00
James McGuire fc944ef429 Run all callbacks in parallel 2018-05-18 15:19:14 -07:00
James McGuire edafec0fc7 Add support for callback timeouts via context 2018-05-11 19:17:24 -07:00
Qais Patankar d5dbd683d9 Merge branch 'master' into feature/webirc 2017-12-24 19:08:02 +00:00
James Mills 656226dc22 Add realname support. Guard against race conditions on Disconnect 2017-11-12 18:53:49 -08:00
Thomas Jager ef65ae61a3 Merge pull request #94 from irccloud/ircv3-tags
IRCv3 capability negotiation and tag parsing
2017-10-13 19:30:29 +02:00
Stanislav N. aka pztrn 5a0a900995 Pings are also wrapped with own sync.Mutex. 2017-10-03 02:19:13 +05:00
Qais Patankar c359ee2670 Add WebIRC field 2017-08-18 16:56:08 +01:00
Russ Garrett 744f1e3a7a IRCv3 Capability Negotiation
This adds the ability to negotiate arbitrary IRCv3 capabilities on
connection. Capabilities to be requested can be set in `irc.RequestCaps`,
and after registration the negotiated capabilities can be seen in
`irc.AcknowledgedCaps`.
2017-01-25 17:36:15 +00:00
Russ Garrett e1d00ae799 Add support for parsing IRCv3 tags in received messages 2017-01-25 15:39:59 +00:00
Thomas Jager 1b0acb5f2f Fix double close of irc.end channel. 2016-12-08 09:29:58 +01:00
ugjka f4980d9fc2 make other threads exit if there's an error in one 2016-11-26 13:51:12 +02:00
Thomas Jager fdbbdf33e3 Fix data races 2016-11-05 18:53:11 +01:00
Thomas Jager 582bf80992 Changed the way Quit/Disconnect works to avoid possible DATA races.
Rewrote tests to be less spammy. Created REconnection test.
2016-07-27 22:55:55 +02:00
Thomas Jager 6c780b5b70 Merge branch 'master' of github.com:thoj/go-ircevent 2016-07-25 01:30:25 +02:00
Thomas Jager 4d2d36fc65 Remove unreacable code 2016-07-25 01:29:06 +02:00
Wim 8401b5855f Add SASL (PLAIN) support 2016-07-22 22:38:18 +02:00
Thomas Jager ab737c68eb Remove unnecessary return 2016-02-06 21:20:35 +01:00
peted 5a16c2581e revert some changes but also update err chan for new connection so further errors are received in Loop 2015-11-14 23:51:15 +10:00
peted 937f84605b fix reconnection logic 2015-11-14 23:10:39 +10:00
Luke Evers f0c83dc012 Add support for specifying a quit message. 2015-10-28 08:58:41 -04:00
Dainis Tillers 3b5fa9fe31 Fix - #65, when disconnect is called it will try to reconnect again in the Loop function, but Disconnect has already closed the channel 2015-08-28 21:01:23 +03:00
Thomas Jager 3f51dd25c7 Move fuzzing code to seperate file 2015-07-31 21:33:36 +02:00
Thomas Jager f204a14e00 Only trim newline/linefeed 2015-07-31 13:03:48 +02:00
Thomas Jager c47f9d8e3d Fuzz testing callbacks 2015-07-31 08:30:21 +02:00
Thomas Jager 6c849e1147 Merge branch 'master' of github.com:thoj/go-ircevent into fuzz 2015-07-31 07:35:48 +02:00
Thomas Jager 4f50f209c4 Fix parser. Tested with go-fuzz 2015-07-31 07:34:19 +02:00
Thomas Jager 35f8ae857e Merge pull request #62 from alaska/master
Add kick/multi kick. Properly randomize. Catch invalid CTCP messages and log
2015-07-31 07:05:02 +02:00
Andy Walker 6112236593 fix multi-kick
Spec defines multiple users as joined by spaces not commas
2015-07-30 12:57:48 -04:00
Andy Walker ad73608a87 add Kick and MultiKick commands 2015-07-21 18:41:16 -04:00
Dainis f69e2d3444 Fix - wait for waitgroup to sync before reconnecting again ensuring that it just doesn't keep on creating new goroutines 2015-07-14 09:35:22 +03:00
Julian Daube f9d88d1af1 initialized .nickcurrent with .nick
fixes empty return of Nick() directly after initialising
2015-06-20 22:24:25 +02:00
Julian Daube 4f7b3d1c84 fixed a small bug which marks the connection alive to early 2015-06-20 22:21:27 +02:00
Keno Schwalb 4e1ebe0162 minor adjustments for multiple connections 2014-11-03 15:21:48 +00:00
Tyler Sommer 533177a490 Added Connected method 2014-10-23 18:17:58 -07:00
Thomas Jager 18b9dfbf29 Merge pull request #47 from GawainLynch/master
Add a formatted ACTION
2014-10-07 22:40:37 +02:00
Gawain Lynch fc7dfec2b9 Add a formatted ACTION 2014-10-07 21:29:22 +01:00
Ant Zucaro 80f67f76b5 Add ReadLoop() debugging via Connection.Debug. 2014-10-05 08:56:52 -04:00
Ant Zucaro f997fc841a Add a 'VerboseReadLoop' option.
Troubleshooting responses from the IRC server becomes easier when
you can actually see the raw responses. This change adds a
'VerboseReadLoop' member to the Connection struct. When set to
true, the raw messages sent from the server will be placed into
the standard log for review. This message is printed before
evaluating any callbacks.
2014-10-04 08:20:58 -04:00
Ant Zucaro 066134263e Change duplicate error message for missing irc.nick. 2014-10-04 08:10:14 -04:00
Wesley Dawson 30608bd31c Use tls.DialWithDialer instead of tls.Client and remove irc.netsock 2014-08-13 18:35:37 -07:00