Commit graph

466 commits

Author SHA1 Message Date
Aaron Weiss
91fb0a1dc1 Merge pull request #85 from tobbez/use-serde
Replace rustc-serialize with serde
2017-06-14 16:28:34 -04:00
Torbjörn Lönnemark
e33248f043 Replace rustc-serialize with serde
rustc-serialize is deprecated.

Fixes #84.
2017-06-14 22:20:31 +02:00
Aaron Weiss
310c85f336 Merge pull request #83 from TheMightyBuzzard/master
Properly remove users from channels on quit
2017-06-06 11:25:46 -04:00
TheMightyBuzzard
c6efd4d9f0 Properly remove users from channels on quit 2017-06-06 04:37:25 -05:00
Aaron Weiss
d03d61dcec
Bumped version to 0.11.8. 2017-05-25 17:28:00 +02:00
Aaron Weiss
38c7ed2c71
Changed Server API to provide channel lists, and fixed channel tracking
to work with user PARTs.
2017-05-25 17:27:00 +02:00
Aaron Weiss
4446b8e875 Merge pull request #81 from baileyn/master
Fixed a typo in the README.
2017-05-17 18:10:49 -04:00
Nicholas Bailey
9e3aab5209 Fixed a typo in the README. 2017-05-17 17:58:35 -04:00
Aaron Weiss
4d8507cfdb
Bumped version to 0.11.7. 2017-05-02 19:52:03 -04:00
Aaron Weiss
f3fb23d755
Added input sanitization to prevent newline injection (fixes #80). 2017-05-02 19:47:16 -04:00
Aaron Weiss
1709460020 Merge pull request #78 from TheMightyBuzzard/tracknickchanges
track nick changes
2017-04-12 16:28:06 -04:00
TheMightyBuzzard
9706d93968 track nick changes
Client did not track nick changes. This solves that, although admittedly in a rather inefficient way.
2017-04-11 07:29:33 -05:00
Aaron Weiss
5f3b566821 Added some spacemacs shilling. 2017-04-01 19:35:16 -04:00
Aaron Weiss
3f458b5aaa Merge pull request #77 from FROG-TIPS/master
Allow all of SSL2, SSL3 and TLSv1 connections
2017-04-01 16:31:24 -04:00
Perl I. Weird
2da5f4defc Allow all of SSL2, SSL3 and TLS1 connections 2017-04-01 13:22:25 -07:00
Aaron Weiss
d68e998f44 Merge pull request #76 from miedzinski/ctcp-config
Use CTCP VERSION and SOURCE replies from Config
2017-03-22 23:40:56 -04:00
Dominik Miedziński
fcb0c1da64 Use CTCP VERSION and SOURCE replies from Config 2017-03-22 22:06:43 +01:00
Aaron Weiss
c402371450 Merge pull request #75 from miedzinski/fix-warnings
Remove unused imports and fix broken test
2017-03-15 12:35:27 -04:00
Aaron Weiss
3c3f175cc0 Merge pull request #74 from miedzinski/ctcp-ping
Ignore CTCP PINGs without timestamps
2017-03-15 12:33:37 -04:00
Dominik Miedziński
59b79c06cc Remove unused imports and fix broken test 2017-03-15 17:28:07 +01:00
Dominik Miedziński
f4f49c6dd3 Ignore CTCP PINGs without timestamps 2017-03-15 17:11:19 +01:00
Aaron Weiss
1f7d13399d Merge pull request #64 from ovibos/patch-1
Fix typo in README.md
2017-01-08 15:55:03 -05:00
ovibos
3252e51af4 Fix typo in README.md
Without a trailing comma for the `channels` member, the getting started example won't compile.
2017-01-08 15:52:54 -05:00
Aaron Weiss
b8f0d697a5
Bumped version number to 0.11.6 (after pulling). 2016-12-18 16:28:02 -05:00
Aaron Weiss
cd52dd74da
Bumped version number to 0.11.5. 2016-12-18 16:25:30 -05:00
Aaron Weiss
d13a28ff98
Added send_part to ServerExt. 2016-12-18 16:25:24 -05:00
Aaron Weiss
bd79f90d96 Merge pull request #58 from miedzinski/rejoin
Rejoin all channels on reconnect (fixes #55)
2016-09-24 17:28:14 -04:00
Dominik Miedziński
e13f94e0c2 Rejoin all channels on reconnect (fixes #55) 2016-09-24 23:22:20 +02:00
Aaron Weiss
4f01c21b96
Bumped version number to 0.11.4. 2016-08-09 02:49:56 -04:00
Aaron Weiss
1931f1391b
Added channel_keys to example config in README.md. 2016-07-05 16:22:31 -04:00
Aaron Weiss
5b8f320050
Implemented channel keys for autojoined channels (fixes #51). 2016-07-05 16:21:21 -04:00
Aaron Weiss
ee7f963893 Merge pull request #54 from kcm1700/fix/ping-logic
Changed ping timeout logic in ping thread
2016-07-05 10:40:20 -04:00
ChanMin Kim
bba8648252 Changed ping timeout logic in ping thread
Previously, ping thread might enter infinite reconnect loop.
Consider the following scenario.

1. If at least one ping is sent, last_ping_data is updated.
2. Then there are many activities, so should_ping() becomes false.
3. After some seconds, now().to_timespec() - time > strong.ping_timeout_duration() is satisfied.
4. reconnect()
5. But should_ping() is still false.
6. The condition is still satisfied, so reconnect() again and again.

I made several changes.

Followings are the changes in the code
- Handle PONG message from server.
- Add `waiting_pong_reply' flag in the state. The flag is set if ping is
sent but the corresponding pong did not arrive yet.
- Ping thread checks ping timeout in correct way.
- Sleeping duration for ping is now based on idle time.
- Initialize ping related fields when `reconnect()' is called.

Hopefully, this commit may be related to issue #50.
2016-07-05 06:55:30 +09:00
Aaron Weiss
7032a550c9
Updated README to offer an example using programmatic configuration, and
to explicitly mention runtime configuration loading (fixes #53).
2016-06-30 14:10:31 -04:00
Aaron Weiss
cd47ff8683 Merge pull request #52 from vadixidav/master
make tag members public
2016-06-19 01:05:02 -04:00
Geordon Worley
baef34f947 make tag members public 2016-06-19 00:37:58 -04:00
Aaron Weiss
4ab3f72c84
Bumped version mentioned in README.md. 2016-04-23 20:36:38 -04:00
Aaron Weiss
d99d8d0a05
Fixed bug in readme (see #47). 2016-04-23 20:35:21 -04:00
Aaron Weiss
7c733b5665
Bumped version number to 0.11.3. 2016-04-11 23:01:03 -04:00
Aaron Weiss
e450621a57
Removed unnecessary parentheses. 2016-04-11 23:00:50 -04:00
Aaron Weiss
8838417d6f
Bumped version to 0.11.2. 2016-04-11 22:59:42 -04:00
Aaron Weiss
85e30e6f9f
Added a bounds check on handle_ctcp. 2016-04-11 22:59:20 -04:00
Aaron Weiss
79afdeb134 Bumped version to 0.11.1. 2016-04-02 13:53:09 -04:00
Aaron Weiss
fcc5c64826 Command parsing now parses into raw, rather than producing an error. 2016-04-02 13:50:27 -04:00
Aaron Weiss
91195feee4 Updated travis to use stable Rust. 2016-03-25 23:07:47 -04:00
Aaron Weiss
eb91bd376f Bumped version to 0.11.0. 2016-03-17 21:46:21 -04:00
Aaron Weiss
863946ecb8 Implemented Display for Message. 2016-03-17 21:39:58 -04:00
Aaron Weiss
e4495940fc Made a whole lot of linting changes to improve code.
Small API changes:
  1. Message::into_string -> Message:to_string
  2. NetStream::UnsecuredTcpStream -> NetStream::Unsecured
  3. NetStream::SslTcpStream -> NetStream::Ssl
2016-03-17 21:35:35 -04:00
Aaron Weiss
90d9f0568a Bumped version number to 0.10.1. 2016-02-21 12:39:59 -05:00
angelsl
46f9136c93 Write directly from threads (through a mutex) instead of using a writing thread
The writing thread now becomes a simple pinging thread. The pinging
thread will exit when the weak reference to the ServerState can no
longer be upgraded i.e. when the ServerState has been dropped i.e. when
the IrcServer has been dropped.

This fixes #43 as well.

This is the first in a series of changes that will reduce allocations by
the library.
2016-02-17 23:25:01 -05:00