Commit Graph

128 Commits

Author SHA1 Message Date
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
Chance Zibolski
06fee2df7d disconnect: Clear callbacks before closing channels 2014-07-14 17:05:27 -07:00
Chance Zibolski
846881130f Remove pread 2014-07-14 17:05:06 -07:00