Add support for SRV records for finding IRC servers. eg irc://quakenet.org/
Of the top 20 networks, it looks like only quakenet support it right now,
but it makes sense and allows for multiple servers to exist on the same IP
with different ports without needing to know the ports.
Eg for a test network you could just connect to irc://inspircd.testnetwork/
or irc://ircu.testnetwork/ without needing to remember the ports.
Change-Id: Ia366292e64b2ca46cb8658b34fdac598fa155722
Reviewed-on: http://gerrit.dmdirc.com/2567
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Add support for "away-notify" capability (http://ircv3.atheme.org/extensions/away-notify-3.1)
Add support for "account-notify" capability (http://ircv3.atheme.org/extensions/account-notify-3.1)
Add support for "extended-join" capability (http://ircv3.atheme.org/extensions/extended-join-3.1)
Don't bother negotiating UHNAMES or NAMESX using PROTOCTL if we have already enabled the userhost-in-names and multi-prefix capabilities with CAP
Don't bother asking for TSIRC using the TIMESTAMPEDIRC command if we have negotiated it using CAP
Rename "tsirc" capability to "dfbnc.com/tsirc" as a non-standard capability
From a DMDirc point of view, capabilities probably need exposing through the general interface somehow so that if (for example) away-notify is enabled, the client doesn't still send lots of WHOs.
Change-Id: Ice7a8ceae5595a364881e5a1fbe2d7fbdef9a639
Reviewed-on: http://gerrit.dmdirc.com/2544
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
Previously it added an object as a callback target even if it didn't implement the callback handler, this was pointless and stupid, now it checks.
Change-Id: I24ce9f063a0f1f95e84ad2ae28a67e335cd63afe
Reviewed-on: http://gerrit.dmdirc.com/2519
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
We no longer truncate lines if there's a character which
can't be coded for in unicode, which stops lots of other
breakage.
Change-Id: I1886703fc7f6e4d2076da4e4bd3b9aa60e8bc051
Fixes-Issue: CLIENT-353
Reviewed-on: http://gerrit.dmdirc.com/2414
Reviewed-by: Shane Mc Cormack <shane@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
jgit-describe only supports 1 subdir atm, so for now we still need to shell out once.
Change-Id: I1cdbfd09abe2f515b78732e98203c52772a724c6
Reviewed-on: http://gerrit.dmdirc.com/2299
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
Fix for issue CLIENT-312 - Parser shouldn't extend runnable
The parser now defines some new methods:
- connect()
- connect(threadName)
- interrupt()
connect([threadName]) is responsible for creating any required threads
for the parser to run in and maintaining them internally.
interrupt() allows for interrupting these thread if they exist and if
required.
A new base class for parsers has been added to accomodate this with
minimum changes required elsewhere - ThreadedParser which BaseParser
now extends.
ThreadedParser handles the creation of a single controlThread and allows
interrupting it, and also defines an abstract void run() method (which
all existing parsers will already have from extending runnable in the
past) which is used by the controlThread.
Change-Id: Ib3e884407181adc362394b23fe59f8e3b401d692
Depends-On: I5ef8ea1e988fe9591df0054ad0016c409fc34b3f
Depends-On: I90ac61d56eb623165d3c4211f1c3247fcba823c8
Reviewed-on: http://gerrit.dmdirc.com/2255
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
Port now defaults to 6667 if none is specified.
compareURI also now takes username/password into consideration if one is given to it to compare to (different password could be a different server, for example in the case of bouncers)
Fix StringIndexOutOfBoundsException when using a server that does timestamped IRC. (Fixes issue #CLIENT-326)
Change-Id: I61151b953b29df6dc12ec19f3c43f8cf7a6a37ed
Reviewed-on: http://gerrit.dmdirc.com/2248
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
IRC parser support for IRCds which only support one listmode at once.
Fixes #CLIENT-318
The logic was already there, there just wasn't a group for it to make it easy.
Change-Id: I25976c3436961de8d4c2e243c5d14d58762e9222
Reviewed-on: http://gerrit.dmdirc.com/2251
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
Add @ChildImplementations to TestParser
- Should fix the billion unit test failures per night
Release semaphores even if we break due to lack of error checking
Make TestParser set some sensible-ish ping values
Change-Id: I0918114380f2c22de5d7c9574714ae9e1f098b12
Reviewed-on: http://gerrit.dmdirc.com/2196
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>
Remove public non-final fields in favour of getters
Remove some unused and some useless methods
Change-Id: I3c0841494242da9a7c3a73f776b783965e6619fb
Reviewed-on: http://gerrit.dmdirc.com/2182
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Greg Holmes <greg@dmdirc.com>