LemonBoy
550fe6f010
Use 0 as a sentinel value for sasl_timeout
...
If sasl_timeout is never initialized with a valid timeout id then
calling /disconnect on the server calls g_source_remove() with 0 as tag,
causing an harmless error message to be printed.
Beside that, the sasl_timeout field is defined as a unsigned int.
We can use 0 as sentiel since g_timeout_add returns tags that are always
greater than zero.
2016-03-20 21:47:02 +01:00
dequis
e853392f43
Remove sasl timeout source when the server disconnects
2016-03-11 14:55:31 -03:00
Mantas Mikulėnas
4baefd2574
Fix SASL EXTERNAL authentication
...
The "AUTHENTICATE" command is always required – it's part of the IRCv3
SASL framing. RFC 4422 only documents the Base64 payload.
2016-03-08 23:13:03 +02:00
LemonBoy
eba160ca6d
Duplicate the code paths for autocommands.
2016-01-24 23:02:40 +01:00
LemonBoy
2502080871
Change when the autocmds are sent.
...
As per #175 if a -botcmd is specified for a given channel without a
-bots parameter then the command is sent right after joining the
channel.
2016-01-14 23:54:42 +01:00
Lukas Mai
41088b6f65
make /knockout use /unban to remove bans
...
/knockout uses /ban to set bans but calls ban_remove() directly to
remove them. This commit makes it use /unban instead. This allows
scripts that hook ban/unban to work automatically with /knockout.
2016-01-08 19:37:29 +01:00
Lukas Mai
cf90b2122e
irc/core/irc-commands.c: fix indentation
2016-01-08 18:52:59 +01:00
dequis
82ce1de5b0
irc-cap: Don't send a space at the beginning of the CAP REQ parameter
...
Turns out it confuses inspircd, making it reply a NAK with empty
parameter. The rest is ACKed anyway. I've already whined at saberuk
and there's a pending pull request over there fixing this issue.
And, of course, this is cleaner.
2015-11-26 19:50:58 -03:00
LemonBoy
d7ef9c590f
Correctly alias 'channel' to '#channel'
...
Use the same approach used in 'irc_channels_join'.
Remove 'irc_nick_strip' since it was unused.
2015-11-19 15:31:32 +01:00
LemonBoy
d4676c9855
Use the PARAM_FLAG_STRIP_TRAILING_WS flag wherever possible.
2015-11-09 23:02:41 +01:00
LemonBoy
8094e87cdf
Preserve the sasl_ options across reconnects.
2015-10-28 21:56:35 +01:00
dx
15a40ea6d3
Merge pull request #314 from LemonBoy/sasl_session
...
Save the sasl state in the session
2015-10-03 22:15:17 -03:00
Alexander Færøy
da3f2f0d01
Set HOST_NAME_MAX to 255, if it's undefined.
...
Thanks to Jilles and dx.
Fixes #309
2015-10-02 19:55:29 +02:00
LemonBoy
cfff402fe6
Don't set the usermode field if blank
...
Fixes FS#919
2015-10-02 11:25:30 +02:00
LemonBoy
a475d57183
Save the sasl state in the session
...
This is seemingly required to have irssi re-authenticate after a
restart.
2015-10-02 10:52:13 +02:00
ailin-nemui
18989e76db
Merge pull request #304 from LemonBoy/sasl_user_options
...
Allow the user to set and modify the SASL parameters
2015-09-26 19:07:54 +02:00
LemonBoy
1a2c479bc0
Allow the user to set and modify the SASL parameters
...
The /NETWORK ADD command now is able to modify the SASL mechanism, the
username and the password on a chatnet basis.
2015-09-26 18:53:10 +02:00
dequis
7ae7422939
Add multi-prefix to list of capabilities to request
...
Turns out event_names_list() in irc-nicklist.c already handles this.
event_who() just ignores it, which is probably a good idea since some of
the irc servers I tested this with have a bug that results in sending
multiple prefixes in the NAMES reply but not in the WHO one (they were
forks of ircd-hybrid before 7.3.0)
And NAMES always happens, anyway. WHO is omitted sometimes for huge
channels.
2015-09-23 03:17:29 -03:00
ailin-nemui
211e84c1e9
Merge pull request #267 from kyak/master
...
Add expandos for hostname
2015-09-21 18:47:09 +02:00
dx
0912a11050
Merge pull request #278 from LemonBoy/sasl
...
SASL support
2015-09-20 19:19:49 -03:00
LemonBoy
203c00938a
Use formats instead of g_warning
...
Add some copyright headers here and there too.
2015-09-21 00:04:37 +02:00
Alexander Færøy
a44c4b82de
More format warnings removed.
2015-09-20 23:11:39 +02:00
Alexander Færøy
6c9dcffb5e
Fix formatting warnings.
2015-09-20 22:51:13 +02:00
Alexander Færøy
be977bf1b7
Fix warning.
2015-09-20 21:21:40 +02:00
LemonBoy
06040fb30b
Merge remote-tracking branch 'origin' into sasl
2015-09-19 23:58:16 +02:00
Jari Matilainen
9586766d87
Add setting to configure rejoin on reconnect behaviour
...
Closes #169
2015-09-19 18:34:05 -03:00
LemonBoy
24d32c28ee
Don't handle 908 as a critical failure
...
"if the mechanism is unknown, 908 is optional, 904 (or equivalent error condition) is required"
2015-09-11 23:21:33 +02:00
LemonBoy
49c4ea5fd9
Parse the error string received by the server
...
So that in case of SASL failure the user sees a nice error message.
2015-09-11 23:20:07 +02:00
LemonBoy
1f114d75c6
Consider the SASL handshake successful on 903
2015-09-11 23:17:46 +02:00
LemonBoy
55387dd93d
Handle event 906 and 908
2015-09-11 22:23:38 +02:00
LemonBoy
6645d0d38d
Explicitly set the authorization id during the PLAIN handshake
...
On error show the user the message sent by the server.
2015-09-11 22:09:47 +02:00
LemonBoy
171b67441d
Replace spaces with tabs
2015-09-11 01:17:18 +02:00
LemonBoy
c90c7deac3
Address all the points outlined in the first review
...
Replace G_SOURCE_REMOVE with FALSE for the compatibility sake.
Zero the timeout id after g_source_remove and when exipred.
Save the sasl_* options in sig_chatnet_saved().
2015-09-11 01:07:43 +02:00
LemonBoy
b8d3301d34
SASL support
...
The only supported methods are PLAIN and EXTERNAL, the latter is untested as of
now.
The code gets the values from the keys named sasl_{mechanism,username,password}
specified for each chatnet.
2015-09-11 00:30:16 +02:00
Alexander Færøy
7b46dae182
Merge pull request #248 from LemonBoy/chantypes
...
Implement CHANTYPES support
2015-09-10 01:37:08 +02:00
LemonBoy
21c1e4e9f8
Fix two minor issues outlined in the PR#222
...
irc-cap.c has now a licence header.
A minor style fix in misc.c
2015-09-02 22:40:10 +02:00
kyak
2f9cca8ec6
Remove extra line break
...
How did this extra break cripple in here?
2015-08-29 15:40:17 +03:00
kyak
b065f2a011
Use HOST_NAME_MAX for userhost and hostname expandos
...
Use HOST_NAME_MAX instead of hardcoded 100 for userhost
and hostname expandos.
2015-08-29 15:36:05 +03:00
kyak
b7d82ecdce
Use "(none)" as fallback for hostname and userhost expandos
...
Use "(none)" instead of "??" for hostname and userhost expandos
when these can't be reliably detected.
2015-08-29 15:32:22 +03:00
kyak
19760679eb
In expando_hostname, set *free_ret to TRUE
...
*free_ret must be set to TRUE in both cases, since we return
some newly initialised memory
2015-08-29 15:29:57 +03:00
kyak
0435331912
Clean up in hostname expando before return
...
Clean up the vector resulting from g_strsplit before
returning from expando_hostname(). Also, use g_strdup()
instead of g_strconcat() to return the pointer to hostname.
2015-08-26 09:34:48 +03:00
Alexander Færøy
d2c9f30977
Merge pull request #222 from LemonBoy/cap-support
...
[RFC] CAP support
2015-08-24 22:22:01 +02:00
LemonBoy
b0e7c18376
Send the CAP LS after sending the proxy strings
...
Patch by @dequis
2015-08-20 23:37:34 +02:00
kyak
8e71d6ec73
Add expandos for hostname
...
See http://bugs.irssi.org/index.php?do=details&task_id=829
2015-07-19 09:45:50 +03:00
Geert Hauwaerts
4cc6fdaaab
Add server check in irc_server_connect ( #208 )
...
Fail instead of crash, if irc_server_connect is called without object.
(#208 )
2015-06-12 17:44:13 +02:00
LemonBoy
e480b9b165
Improve ischannel_func ( #253 )
...
The function now skips all the leading characters that are in the STATUSMSG. If
the server didn't send the STATUSMSG option then it's assumed to be "@+" for
compatibility with bahamut 2.4 (sic).
2015-05-31 15:30:21 +02:00
LemonBoy
16c71cf1fb
Implement CHANTYPES support
2015-05-15 17:07:30 +02:00
LemonBoy
2d7030a844
Implement support for IRCv3.1 CAP negotiation
2015-05-05 23:14:26 +02:00
Alexander Færøy
eb0f09073c
Merge pull request #199 from ailin-nemui/config-parser
...
Make config parser more robust
2015-04-17 21:23:03 +02:00
dequis
f14199d9c1
Change all strcmp() to g_strcmp0() to handle nulls gracefully
...
Just a string replacement (but i did check every one of them)
sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00