Commit graph

537 commits

Author SHA1 Message Date
John-John Tedro
3e396f8577 Bump dependencies, set rust-version 2023-04-12 17:50:47 +02:00
sean borg
1e2a03d327
remove reference to for_each_incoming 2022-08-12 19:59:33 +01:00
Daniel Lublin
bcc6479d22
New option: dangerously_accept_invalid_certs
This patch adds an option to dangerously ignore all ceritificate
verifications. This option must be used with extreme caution and should
only be used as a last resort.

Closes #209, #230

Co-authored-by: Hyeon Kim <simnalamburt@gmail.com>
2021-11-15 05:52:15 +09:00
Frederik B
8605fcb421 Fix docstring and README example for ping timeout default 2021-04-11 21:03:07 +02:00
Johann150
b9d07ed9fb
better error for missing certificate files
made config::path pub(crate) to avoid code duplication
but not pub so it is not part of the public API
2021-01-14 18:07:28 +01:00
Johann150
1733c22b86
add ConfigError variant for missing files
This should be used when the config contains a path but that file cannot be read.
2021-01-14 18:04:03 +01:00
John-John Tedro
def1442e5e Upgrade to Tokio 1.0 2020-12-29 09:59:39 +01:00
John-John Tedro
9437f7264a Switch to tokio channels since they can now be suitably used 2020-12-02 08:02:25 +01:00
John-John Tedro
43c8b1cb63 Bump to Tokio 0.3.0 2020-12-02 08:02:25 +01:00
John-John Tedro
56e584fe76 Run rustfmt 2020-12-02 08:02:19 +01:00
Thomas Hurst
4c27a9513d Disable Pinger until after MOTD
Some servers ignore PING commands until after login, so clients would
otherwise always time out, as mentioned in #207, #214, and #218.

With this change I am able to reliably connect to ircu servers.
2020-11-17 05:04:37 +00:00
Aaron Weiss
5968edd355
migrate all the examples and tests to freenode 2020-07-23 13:41:01 -04:00
Aaron Weiss
e9d18b7f48
increased default ping timeout to 20 seconds 2020-07-23 13:41:01 -04:00
Aaron Weiss
7ac4585871
ping_time is once again used to define the ping intervals 2020-07-23 13:41:01 -04:00
Théo Gaillard
4d0acf91a1
feat: add multi lines support for CTCP 2020-05-13 07:33:21 +08:00
Théo Gaillard
67e61e0606
feature: add TLS as feature and support multiples TLS backends (currently native-tls and rustls) 2020-03-31 09:48:57 +08:00
Théo Gaillard
5bf3909d46
feature: add proxy config 2020-03-04 22:00:48 +08:00
Aaron Weiss
bbc99b1d20
Merge pull request #199 from belak/fix-suffix-handling
Handle suffix as a plain param
2020-01-31 13:21:10 -05:00
Kaleb Elwert
f785d15b4c Handle suffix as a plain param 2020-01-30 16:25:52 -08:00
Kaleb Elwert
dd09555537 Make serde optional 2020-01-29 11:06:58 -08:00
Kaleb Elwert
57e5874852 Fix client::test::no_user_tracking 2020-01-28 22:11:17 -08:00
Aaron Weiss
a086e0913c
Merge pull request #189 from udoprog/fix-sync-resolve
Avoid synchronously resolving server address
2019-12-30 19:28:34 -05:00
John-John Tedro
b08e2a89ae Avoid synchronously resolving server address 2019-12-29 19:08:31 +01:00
John-John Tedro
731f792686 Fix updating outgoing client state
This also allows us to simplify the channel_tracking_names_part test.
2019-12-28 07:34:48 +01:00
Aaron Weiss
71a703c762
Merge pull request #186 from udoprog/config
Simplify Config structure
2019-12-27 16:57:09 -05:00
Aaron Weiss
4c756654a1
Merge pull request #187 from udoprog/fix-test-todo
Fix test which requires driving the outgoing queue
2019-12-27 16:52:57 -05:00
John-John Tedro
9066824213 Fix test which requires driving the outgoing queue 2019-12-27 17:36:11 +01:00
John-John Tedro
5189b69e7e Simplify Config structure
This simplifies some of the `Config` structure, in particular this
means:

Parameters which are meaningfully equivalent longer stored in
an `Option<T>`, an example of this is `channels`. If you don't
want to join any channels you simply leave it as empty instead.
In effect, `None` is behaviorally equivalent to `vec![]`.

We don't allocate when accessing certain configuration options.
For example, when accessing `channels` we used to allocate a
vector to handle the "empty case", we simply return the slice
corresponding to the list of channels instead.

We skip serializing empty or optional configuration fields.
From a deserialization perspective this is already something
that was mostly supported through use of `Option<T>` and
`#[serde(default)]`.
2019-12-27 17:12:46 +01:00
John-John Tedro
f200a9f281 Switch to modern error handling 2019-12-27 17:01:03 +01:00
John-John Tedro
549e2e8722 Port to tokio 0.2 2019-12-18 21:06:04 +01:00
Adam Gausmann
400c982639 Fix compilation errors on 0.14 2019-06-10 20:52:36 -05:00
Aaron Weiss
0b7a7a0f02
fixup! Merge branch 'develop' into 0.14 2019-06-06 13:41:30 -04:00
Aaron Weiss
c383c6241e
Merge branch 'develop' into 0.14 2019-06-06 13:40:55 -04:00
jesopo
379a2db9fa Update source_response test 2019-05-18 23:08:08 +01:00
jesopo
9dbb04431a Don't send an empty CTCP SOURCE response 2019-05-18 22:51:55 +01:00
John-John Tedro
f02362c782 Mark Future in PackedIrcClient as Send + 'static 2019-03-17 11:52:48 +01:00
Daniel Griffen
971a386ca0
spawn handler futures on the reactor 2019-01-09 20:18:38 -08:00
David Blajda
199f591e78 Handle the case of a single SOH in PRIVMSG 2019-01-03 19:33:17 +00:00
Chris West (Faux)
99fe1256e1 parse traditional USER form
Fixes: #160
2018-10-21 12:25:08 +01:00
Aaron Weiss
47d9c4c78b
Merge pull request #149 from brigand/feat/develop/message-prefix
Introduces Prefix enum
2018-10-15 11:16:30 -04:00
Jason Liquorish
cdf874c23e Re-format ci bot message 2018-10-12 23:11:02 +01:00
Jason Liquorish
f1d7d71471 Add test bot for CI 2018-10-09 19:06:16 +01:00
Christoph Herzog
e112efe7dd Add 'Send' bound for PackedClient client future.
The Future is Send anyway, but this bound on the Box is neccessary
to use the future across threads because the compiler can't figure
out the Send bound otherwise.
2018-10-04 18:20:41 +02:00
Christoph Herzog
e5089fa317 Use tokio::net::tcp::ConnectFuture instead of deprecated re-export. 2018-10-04 02:53:56 +02:00
Christoph Herzog
2aff64b645 Refactor IrcClientFuture and ConnectionFuture to own the config
This commit refactors IrcClientFuture and ConnectionFuture to own
the config instead of holding a reference.

This is required for reconnecting in dynamic contexts.
This is not possible with the old API, because Config is a reference,
requiring the value to live for the whole execution of the reactor.
2018-10-04 02:52:53 +02:00
Douman
23112f7582 Clean up tokio-core 2018-09-22 23:43:47 +03:00
Frankie Bagnardi
f66dcd6b0a rebased 2018-09-17 22:03:22 -07:00
Frankie Bagnardi
140c981e63 prefix cleanup and docs 2018-09-17 22:00:52 -07:00
Frankie Bagnardi
c44ec0984e Prefix with FromStr and Display 2018-09-17 21:59:02 -07:00
Aaron Weiss
f109c10475
Fixed a warning in config.rs (for some tests) and the README example. 2018-09-17 18:08:21 -04:00