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