Simon Arlott
4b1cce65ed
ircd: send tags on every message
...
Simplify linebuf by introducing fsnprint to manage a list of printfs.
Add a msgbuf unparse cache for send functions that loop.
2017-08-06 16:21:29 +01:00
Simon Arlott
05a16d98e1
tests: add msgbuf_parse tests
2017-07-29 22:46:08 +01:00
Simon Arlott
f3564f47f4
msgbuf: correctly split buffers into IRCv3 tags and RFC1459 message data
2017-07-29 22:46:07 +01:00
Simon Arlott
33ded5fc57
librb: remove unnecessary NULL from the end of rb_string_to_array output
2017-07-29 22:46:04 +01:00
Simon Arlott
57dd2c6a89
msgbuf: don't append a ';' unless there are existing tags
...
When both account-tag and server-time are present but the client
doesn't have the first (i == 0) of these enabled. They will get
an erroneous ';' after the '@'.
Track whether or not there are tags present, and use this to
determine whether to add the ';' or not. Also remove the extra
function that loops over all of the tags by using this flag to
handle the case where there are no tags being written.
2016-12-04 19:41:08 +00:00
Simon Arlott
3656fa83a9
msgbuf_parse: rb_string_to_array outputs to a MAXPARA+1 size array
2016-10-22 22:38:07 +01:00
Aaron Jones
6d16f66be6
msgbuf: Fix remote crash vulnerability due to malformed message tag.
...
Fixes #218
Reported-by: ManiacTwister <github@s7t.de>
2016-09-11 10:35:13 +00:00
Matt Ullman
66769bc1f8
More cleanup
2016-03-23 00:11:26 -04:00
Matt Ullman
e23126c83b
Cleanup warnings
2016-03-21 22:28:41 -04:00
William Pitcock
4d2f203026
msgbuf: msgbuf_unparse_tags(): don't send a tags sigil unless tags will actually be emitted
2016-02-20 18:41:16 -06:00
William Pitcock
71c875fb9a
msgbuf: allow for an explicit target to be defined
2016-02-20 17:59:00 -06:00
William Pitcock
5559c3cf17
send: implement partial support for outbound tags (enough for account-tag as a testcase)
2016-02-20 16:37:19 -06:00
William Pitcock
33085472a2
msgbuf: make msgbuf_unparse_prefix() public
2016-02-20 14:46:09 -06:00
William Pitcock
8f64d32533
msgbuf: implement msgbuf_vunparse_fmt() and friends
2016-02-20 11:38:00 -06:00
William Pitcock
691adddd0e
msgbuf: handle me.name properly
2016-02-20 11:23:44 -06:00
William Pitcock
4a13e3f1da
msgbuf: add some message building code
2016-02-20 11:21:12 -06:00
William Pitcock
d670fe5271
msgbuf: msgbuf_append_tag(): add support for attaching a specific capability bit
2016-02-13 00:19:23 -06:00
William Pitcock
08006c16f8
msgbuf: do a better job of handling gotchas with parsing tags
2016-02-10 21:16:28 -06:00
William Pitcock
269dd686b3
msgbuf: improve parse logic
2016-02-10 00:46:32 -06:00
William Pitcock
a8e69f5dfc
msgbuf: implement msgbuf_parse()
2016-02-10 00:08:58 -06:00