Commit Graph

287 Commits

Author SHA1 Message Date
2cb6b744ef update url in go.mod 2024-11-29 15:54:56 +00:00
Jeffrey Paul
98f99fcbe9
Update go.mod with new url 2024-11-29 07:51:07 -08:00
Jeffrey Paul
8399256730
don't hammer server if conn terminated during reconnection 2024-11-29 07:49:50 -08:00
Thomas Jager
73e444401d
Merge pull request #138 from jpneverwas/external
Support SASL EXTERNAL and proxies for TLS connections
2021-07-23 11:04:43 +02:00
J.P. Neverwas
7309af6dbf Add support for SASL EXTERNAL mechanism 2021-07-03 20:57:00 -07:00
J.P. Neverwas
272c4d1650 Allow connecting via proxy 2021-07-03 16:09:44 -07:00
Thomas Jager
35410aa86c
Merge pull request #132 from slingamn/sasl_stall.1
fix SASL stalling due to duplicated callbacks
2021-04-19 11:03:48 +02: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
Thomas Jager
48e72812fe
Merge pull request #124 from irccloud/cap-timeout
Add an overall timeout on CAP negotiation
2019-08-07 11:50:13 +00:00
Hiroaki Mizuguchi
511f12d368 Add non UTF-8 encoding support 2019-08-07 18:21:07 +09:00
Thomas Jager
949efec008
Merge pull request #126 from IceflowRE/master
Add go mod support
2019-06-09 10:25:34 +02:00
Iceflower
555c28fe5d
Add go mod support 2019-06-09 02:12:35 +02: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
Thomas Jager
0b3c53b324
Merge pull request #117 from l-n-s/ipv6_support
Add IPv6 address support
2019-04-04 16:52:36 +02: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
Thomas Jager
139f940005
Merge pull request #116 from int3l/master
Prevent nil pointer dereference
2019-03-24 15:35:21 +01:00
int3l
c5c6e02b15
Prevent nil pointer dereference
fixes #110
2019-03-24 16:09:35 +02:00
Thomas Jager
dc1855cb43
Merge pull request #111 from IceflowRE/master
Add strikethrough to message filter
2019-03-01 11:51:15 +01:00
Thomas Jager
4a9f9901cc
Merge pull request #115 from irccloud/sasl_fix
Fix issue with SASL auth on some servers
2019-03-01 11:50:49 +01:00
Russ Garrett
6e51f3a4d0
Fix issue with SASL auth on some servers
On some servers SASL auth would fail because we didn't fully comply with
the spec. Multiple caps can be returned in a `CAP ACK`, and sometimes
servers add a trailing space. Parse these responses more correctly.
2019-03-01 10:20:59 +00:00
Thomas Jager
98931bbadb
Merge pull request #114 from MattMcNam/nick
Don’t send NICK and USER commands while negotiating caps
2019-02-21 23:52:39 +01:00
Matthew McNamara
08674caae5 Don’t send NICK and USER while negotiating caps 2019-02-21 22:31:06 +00:00
Thomas Jager
e4af78aa4f
Merge pull request #113 from irccloud/sasl_cap_fix
Fix SASL where additional caps are requested
2019-02-21 15:18:30 +01:00
Russ Garrett
9fa2a77567
Fix SASL where additional caps are requested
Where additional caps were requested using `RequestCaps`, SASL would
send an `AUTHENTICATE` command for each one which servers don't like.
Check that we're responding to the correct `CAP ACK`.
2019-02-21 12:22:37 +00:00
Iceflower
916eeaf7dd
Add strikethrough to message filter
https://modern.ircdocs.horse/formatting.html
2018-09-29 18:43:29 +02:00
Thomas Jager
14f3614f28
Merge pull request #104 from sadbox/parallel
Run all callbacks in parallel
2018-08-16 06:31:03 +02:00
Thomas Jager
54508e33af
Merge pull request #103 from sadbox/master
Add support for Handler timeouts via context
2018-08-16 06:30:43 +02:00
Thomas Jager
f25dab053f
Merge pull request #107 from IceflowRE/master
Add method to get message without formatting
2018-08-16 06:25:45 +02:00
Thomas Jager
3962ef5b5b
Merge pull request #109 from boreq/docs
Improve AddCallback documentation
2018-08-10 07:33:44 +02:00
boreq
6d6a4e3311 Improve AddCallback documentation 2018-08-10 02:04:31 +02:00
Iceflower
e975eae5ba
Add method to get message without formatting 2018-06-26 08:49:07 +02: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
Thomas Jager
5063e5f260
Merge pull request #96 from qaisjp/feature/webirc
Add WebIRC field
2018-04-09 15:01:47 +02:00
Qais Patankar
81cb5e9132
Merge branch 'master' into feature/webirc 2017-12-24 19:08:48 +00:00
Qais Patankar
d5dbd683d9
Merge branch 'master' into feature/webirc 2017-12-24 19:08:02 +00:00
Thomas Jager
db5bd176f7
Merge pull request #99 from prologic/master
Add realname support. Guard against race conditions on Disconnect
2017-11-13 09:21:06 +01:00
James Mills
547dde5ba3
Do not Disconnect() on ERROR events (e.g: KILL). 2017-11-12 18:53:49 -08: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
Thomas Jager
12e0f85112 Merge pull request #97 from pztrn/pztrn_master
Fix dataraces and possible application stuck
2017-10-03 08:19:41 +02:00
Stanislav N. aka pztrn
5a0a900995 Pings are also wrapped with own sync.Mutex. 2017-10-03 02:19:13 +05:00
Stanislav N. aka pztrn
e39cceace6 Added eventsMutex and wrap all events calls with it.
Due to some "golangish" code this library have possibility to
run into data race when application is working with callbacks.
This commit adds eventsMutex (which is a sync.Mutex), removed
all "golangish" ifs-map reads, and wrap events map read with
sync.Mutex to avoid data races.
2017-10-03 02:03:43 +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
Thomas Jager
cfd5535e09 Merge pull request #91 from ugjka/master
make other threads exit if there's an error in one
2016-11-26 18:48:35 +01:00