LemonBoy
c00132ac4c
Simplify the code
...
Early exit, simpler code.
2018-01-07 12:36:20 +01:00
LemonBoy
9160ddaffd
Keep processing the CAPs on error
...
If an invalid CAP is found we keep going by parsing the next one.
2018-01-07 12:36:20 +01:00
LemonBoy
cd107deb46
Prevent a memory leak
...
When a CAP DEL is received the key/val pair is not stored in the
hashtable at all so just free them when we're done.
2018-01-07 12:36:20 +01:00
LemonBoy
74409aa850
Miscellaneous fixes
...
Stylistic stuff, please ignore.
2018-01-07 12:36:20 +01:00
LemonBoy
f683e81880
Prevent a NULL pointer deference
...
Always create the cap_supported table when a CAP event is received.
2018-01-07 12:36:20 +01:00
LemonBoy
432368bdc6
Use strcmp instead of g_strcmp0
...
There's no need to use the latter.
2018-01-07 12:36:19 +01:00
LemonBoy
cfc8c9f8e2
Properly dispose the GSList chains
...
We forgot to free the link and the data, oops.
2018-01-07 12:36:19 +01:00
LemonBoy
f4d811ddf5
Handle CAP {ADD,DEL} from cap-notify
...
This is the last piece of the puzzle.
2018-01-07 12:36:19 +01:00
LemonBoy
8c87766132
Parse multiline responses to CAP LS
...
The parsing logic isn't too elegant because of the optional parameter
used for signaling if a response has a continuation one.
2018-01-07 12:36:19 +01:00
LemonBoy
57827ca743
Don't free the hash table if there's none
...
Glib doesn't like that and shows a harmless warning.
2018-01-07 12:36:18 +01:00
LemonBoy
d21706e1cc
Factor out the parsing function
...
This is also needed for CAP NEW and CAP DEL.
2018-01-07 12:36:18 +01:00
LemonBoy
98836f8b7e
Parse the K/V form in CAP LS
...
This is a prerequisite for the IRC v3.2 compliance.
2018-01-07 12:36:18 +01:00
ailin-nemui
e7cce90ec0
Merge pull request #804 from ailin-nemui/patch-1
...
handle an already used nick different from the one we send
2018-01-07 11:23:42 +01:00
ailin-nemui
3c7185c5ad
Update irc-nicklist.c
...
move altnick check before the nick correction code
2018-01-05 00:38:54 +01:00
ailin-nemui
54d453623d
do not record topic change time when sender is blank
2018-01-03 12:45:43 +01:00
ailin-nemui
48e909dde7
Merge pull request #766 from horgh/horgh/mode-parsing
...
Fix MODE parameter parsing
2017-12-11 23:48:23 +01:00
Will Storey
b0637ad6ea
Update NULL comparison style and be C89 compatible
2017-12-02 10:09:52 -08:00
ailin-nemui
b332d448f7
fix comments
2017-11-30 11:15:47 +01:00
Will Storey
1a49787ef2
Revert initializing pointers to NULL
...
To maintain C89 compatibility
2017-11-27 19:37:11 -08:00
ailin-nemui
02c677f467
use enum
2017-11-10 22:02:36 +01:00
ailin-nemui
b0fa4dd46d
show initial nick and name on first start
2017-11-01 15:51:20 +01:00
Will Storey
8843d4f77d
Strip : from <trailing> parameters
...
This is to fix #601 . The function used to extract the mode string
assumed that ":" would only occur in a particular spot. This lead to the
possibility that ":" could be treated as part of things like nicknames
or mode arguments, where it should have been stripped as part of
protocol escaping.
2017-10-24 19:51:01 -07:00
Nei
495bdd11cf
Merge branch 'fix-16' into 'security'
...
Prevent a OOB read when parsing IRCNet ! channels
See merge request irssi/irssi!22
2017-10-20 13:23:28 +00:00
Nei
c46bed1e17
Merge branch 'fix-gl-15' into 'security'
...
Don't proceed with cmd_msg if there was an error splitting msg
See merge request irssi/irssi!21
2017-10-20 15:22:32 +02:00
Joseph Bisch
0840eaec7b
Make split functions return an array with NULL instead of NULL
...
This avoids undefined behavior in functions that call these split
functions and expect an array back instead of just a NULL pointer.
2017-10-20 15:22:32 +02:00
Nei
f4c8018cfb
Merge branch 'fix-gl-13' into 'security'
...
Fix use after free when channel is destroyed inbetween being synced
See merge request irssi/irssi!19
2017-10-20 15:22:32 +02:00
LemonBoy
45dfe2ba38
Prevent a OOB read when parsing IRCNet ! channels
...
Make sure the string has enough data.
Fixes #16
2017-10-19 11:17:56 +02:00
Paul Townsend
7b94015f8f
Changes based on comments in pull #771 .
2017-10-14 17:42:45 +01:00
Paul Townsend
87955b69cb
Add alternate_nick as a network-specific property.
2017-10-11 21:33:14 +01:00
Joseph Bisch
2edd816e7d
Fix segfault in query_remove_all
...
It is possible for rec to be NULL in query_remove_all, resulting in a
segfault. So return without doing anything if rec is NULL.
2017-10-08 22:02:44 -04:00
ailin-nemui
49ace3251b
fix uaf in chanquery module
...
the chanquery needs to be removed in any case if a channel rec is
destroyed, regardless of any state
Fixes GL#13
2017-10-08 19:48:11 +02:00
LemonBoy
d971c02920
Allow the user to clear the sasl-related fields
...
There was no easy way for the user to disable the SASL authentication or
to clear the username/password once the network was created.
Closes #718
2017-07-25 22:53:33 +02:00
LemonBoy
19c5178996
Prevent a memory leak during the processing of the SASL response.
...
We also get rid of an allocation in the process of doing so.
2017-01-24 22:19:50 +01:00
dx
b15c27cc63
Revert "Don't reset wait_cmd during connection registration (fixes early ISON)"
2017-01-10 03:09:36 -03:00
LemonBoy
38ea52d09f
Merge pull request #608 from tijko/master
...
Follow g_strsplit with call to g_strfreev
2017-01-08 21:55:39 +01:00
Tim Konick
5917bc6f75
Follow g_strsplit with call to g_strfreev
2017-01-07 14:31:35 -08:00
dequis
1831a8e1a7
Don't reset wait_cmd during connection registration (fixes early ISON)
2017-01-06 12:49:56 -03:00
Nei
7a112e0217
Merge branch 'master' into 'security'
...
Sync to master
See merge request !6
2017-01-03 13:30:39 +01:00
Nei
124bcd4804
Merge branch '4-use-after-free-when-receiving-numeric-432-invalid-nick' into 'security'
...
avoid server_disconnect
See merge request !4
2017-01-02 17:01:29 +00:00
ailin-nemui
91f48c6f0e
Merge pull request #586 from LemonBoy/fix-580
...
Process the nick changes in queries before the PRIVMSG is handled.
2017-01-02 14:44:07 +01:00
ailin-nemui
508d2e0860
bail out if nick is NULL in irc_query_find
...
Closes #1
2016-12-19 21:41:47 +01:00
ailin-nemui
77aab79057
avoid server_disconnect
...
Closes #4
2016-12-19 21:16:37 +01:00
LemonBoy
0d6add02cf
Process the nick changes in queries before the PRIVMSG is handled.
...
Otherwise we end up with the message in the status window since the
frontend knows jack shit about the casemapping option when it tries to
find the associated window for the query.
2016-12-15 19:36:44 +01:00
LemonBoy
91c9e871c7
Add an option to stop the connection when SASL fails.
2016-12-12 21:41:06 +01:00
Alexander Færøy
2be7289085
Rename SSL to TLS.
...
This patch changes the internal name of SSL to TLS. We also add -tls_*
options to /CONNECT and /SERVER, but make sure that the -ssl_* versions
of the commands continue to work like before.
2016-10-22 20:36:50 +02:00
LemonBoy
3667fd9fd1
Make the cap_complete field unsigned.
...
Fixes a problem where the field would end up as a negative number when
exposed to the perl scripts.
And move it near the other bit-packed fields so we take advantage of the
packing.
2016-09-30 19:30:43 +02:00
ailin-nemui
8d4d313cc9
Merge pull request #506 from kruton/sasl-400-byte-chunk
...
SASL: handle fragmentation
2016-09-26 16:43:33 +02:00
Kenny Root
60d9ec621f
SASL: handle fragmentation
...
The IRCv3 SASL extension says that AUTHENTICATION payloads of exactly
400 bytes in length indicate that the message is fragmented and will
continue in a subsequent message. Handle the reassembly and splitting of
these messages so that we are compliant with the specification.
2016-08-29 22:56:30 -07:00
dequis
3429c1a0a0
Set the default STATUSMSG to @ instead of @+ if it's missing
...
This fixes two issues:
- IRCNet doesn't have STATUSMSG, but it supports +channels, and
including + in the default value meant processing those incorrectly
- The "bahamut hack", for old servers that support but don't advertise
STATUSMSG, didn't work since ischannel_func doesn't use the default.
The choice of @ intentionally leaves out support for other STATUSMSG
(for example, AzzurraNet's bahamut 1.4 fork seemed to support + and % in
any order, contradicting the comment in the code).
I think this is a decent tradeoff, given how those servers are uncommon
and relying on +# or %# is even less common than @#.
Fixes #531
2016-08-24 19:56:23 -03:00
ailin-nemui
fd371cc345
Merge pull request #422 from LemonBoy/misc-cleanup
...
Clean up misc.c
2016-06-14 12:35:30 +02:00