Joseph Bisch
4f5f62ac63
Add server-fuzz to fe-fuzz
...
Based on test-796.c in the tests directory.
2018-08-15 11:11:09 -04:00
ailin-nemui
817179a760
Revert "Flag topic as unset if it is zero length"
2018-08-13 14:43:25 +02:00
Lukas Waymann
7d3eb47ab5
Fix potential rename(3)
across file systems
...
Make sure the temporary file in the `config_write` function is created
on the same file system as the file we `rename` it to later.
2018-08-12 10:55:47 +00:00
Lukas Waymann
764f8215a9
Fix /save
replacing symlinks with regular files
...
A side-effect of 8deb618
is that `/save` may replace configuration files
that are symlinks with regular files. Fix this by resolving all
symlinks before renaming the temporary file.
2018-08-12 07:22:14 +00:00
David Phillips
10f6326649
Redraw on SIGWINCH when screen size hasn't changed
...
Some programs and users send SIGWINCH as a request for the client to redraw
in the event of session detachment/reattachment (e.g. abduco). A well-formed
terminal will only send SIGWINCH when the window size has changed, so there
is no need to optimise this case out.
2018-08-06 14:58:56 +12:00
Doug Freed
f3909b8bcb
core/ignore: fix #900
2018-08-03 17:07:06 -04:00
ailin-nemui
0c94d44f52
Merge pull request #892 from dwfreed/fix-ignore-flags
...
core/ignore: fix ignore_match_level handling of flag levels
2018-08-02 13:42:24 +02:00
ailin-nemui
ffd7ecc8bf
Merge pull request #897 from horgh/horgh/topic-unset
...
Flag topic as unset if it is zero length
2018-07-31 09:34:15 +02:00
dequis
b114b11e36
channel_change_topic: change one strlen == 0 to *str == '\0'
2018-07-30 23:45:56 -03:00
ailin-nemui
c7e50f48e5
Merge pull request #886 from vague666/set_item_format
...
remove = from format because people get confused by it
2018-07-25 11:32:06 +02:00
Will Storey
15840ac27b
If we receive a 0 length topic, record it as unset
...
Fixes #888 .
Previously we showed that there was a topic set when using /topic, just
an empty one. This was different than how we show such topics when
initially joining a channel. Now we say that the topic is unset in both
cases.
2018-07-24 18:45:22 -07:00
Will Storey
0e187cf9cf
Fix typo in comment
2018-07-24 18:29:31 -07:00
Janik Rabe
4f45828ff3
Keep errstr set to NULL if errno is not set
...
Don't use errno if it is not set and show the default error message
instead. This prevents messages like "SSL handshake failed: Success"
from being shown.
2018-07-18 21:12:38 +03:00
Doug Freed
d84a24444f
core/ignore: fix ignore_match_level handling of flag levels
2018-06-29 09:00:38 -04:00
vague666
1ab679bf32
remove = from format because people get confused by it
2018-06-14 20:07:43 +02:00
vague666
ba2554dd14
missing space
2018-06-09 05:55:25 +02:00
vague666
d2e1caf720
simplifying code
2018-06-07 15:17:46 +02:00
vague666
1547248e94
simplify code
2018-06-06 11:03:44 +02:00
vague666
ac3af3fb56
these were bitflags
2018-06-06 10:00:38 +02:00
vague666
db3b671328
Added HIDDEN level to ignores
2018-06-05 15:29:40 +02:00
ailin-nemui
631650bd8a
Revert "record line info on empty lines"
2018-05-07 21:22:43 +02:00
ailin-nemui
e19d6ee219
Merge pull request #873 from ailin-nemui/empty_lines
...
record line info on empty lines
2018-04-24 13:58:25 +02:00
ailin-nemui
0caf884e92
Merge pull request #871 from dequis/atomic-config-write
...
Make config_write more atomic to prevent truncation when out of space
2018-04-24 13:58:15 +02:00
ailin-nemui
34b31e8451
record line info on empty lines
2018-04-16 16:22:04 +02:00
dequis
8deb6182c6
Make config_write more atomic to prevent truncation when out of space
...
This is modeled after glib's g_file_set_contents. It doesn't use that
function directly because the writing is done with GIOChannel
streaming-like writes and g_file_set_contents expects the whole thing to
be in-memory.
Main differences with g_file_set_contents:
- complete lack of win32 special casing (cygwin/WSL should work though)
- no fallocate() (linux only, but we don't know the size upfront, anyway)
- always calls fsync (glib skips it on btrfs or when not overwriting)
Other than that, it's the same old mkstemp + fsync + rename.
2018-04-08 15:52:09 -03:00
dequis
d0151fd5a2
Add fe-cap to show messages for CAP-related events in the UI
...
Replaces cap.pl
2018-04-08 01:26:11 -03:00
dequis
af5ee997e7
Add "server cap req" signal, emitted before requesting caps
2018-04-08 01:24:48 -03:00
ailin-nemui
b2b1ac6708
Merge pull request #866 from ailin-nemui/reconnects
...
This is a simple change which might fix #130
The lookup_servers are also disconnected if the lookup/SSL handshake doesn't succeed in time. I'm not perfectly sure if this is the master fix but it does seem to be an issue that servers can be stuck in lookup, especially for SSL. See the issue for a reproducer
2018-04-06 10:50:58 +02:00
ailin-nemui
8bf2162053
Merge pull request #858 from ailin-nemui/sbar
...
change the statusbar commands so that no accidential status bars are created
2018-04-02 08:36:53 +02:00
ailin-nemui
0c1db8f2ae
Merge pull request #854 from irssi/ahf/otr
...
OTR support, take 2
2018-03-31 13:04:35 +02:00
dequis
4501917cae
otr: rename module.c to otr-module.c
2018-03-31 01:46:34 -03:00
ailin-nemui
c08685a1a3
also reconnect lookup_servers
2018-03-29 23:24:13 +02:00
ailin-nemui
a3b9e2370f
up abi
2018-03-29 22:00:40 +02:00
dequis
7d7c6975ed
otr: add target param to the unencrypted 'message private' signal
...
Same case as the previous commit.
2018-03-28 23:36:03 -03:00
dequis
dd7dc7ca7d
otr: fix missing 'target' param in 'message private' signal
...
Fixes warnings like these on '/msg yourself'
-!- Irssi: critical privmsg_get_query: assertion 'nick != NULL' failed
-!- Irssi: critical query_find: assertion 'nick != NULL' failed
2018-03-28 23:06:47 -03:00
dequis
b52cf1015e
otr: add KEY_GEN_STARTED state to avoid starting it twice
...
Fun race condition there, got this when testing with the jabber
xmlconsole open in bitlbee
2018-03-28 22:40:17 -03:00
Dorian Harmans
17920ab5aa
Merge remote-tracking branch 'upstream/master'
2018-03-26 22:50:54 +02:00
ailin-nemui
7fc59d2d10
Merge pull request #862 from ailin-nemui/line_is_null
...
fix a crash when trying to append to a NULL line
2018-03-26 12:46:04 +02:00
Dorian Harmans
25a44dacf4
fix build with LibreSSL 2.7.0
2018-03-23 21:35:35 +01:00
ailin-nemui
138eca0749
fix build
2018-03-20 18:13:26 +01:00
ailin-nemui
ee04cd503f
add disabled txt
2018-03-20 17:59:11 +01:00
ailin-nemui
977c2c0a0d
refactor common parts
2018-03-20 17:53:03 +01:00
ailin-nemui
501c150ec2
make new status bar actually work
2018-03-20 17:39:08 +01:00
ailin-nemui
7d99ff05cd
Merge pull request #803 from ailin-nemui/bug-796-test
...
Postpone server cleanup until after unref
2018-03-20 10:30:01 +01:00
ailin-nemui
6ffbd0ab54
Merge pull request #859 from ailin-nemui/delkeys
...
make default keybinds deletable
2018-03-19 16:23:27 +01:00
ailin-nemui
c8191b3315
abi bump
2018-03-19 10:35:42 +01:00
ailin-nemui
61c58b7690
actually check which of add or modify was called
2018-03-19 10:35:39 +01:00
ailin-nemui
d845ee7361
change the statusbar commands so that no accidenal status bars are created
2018-03-19 09:59:22 +01:00
ailin-nemui
c7ca8102c0
fix a crash when trying to append to a NULL line
...
reported by @vague666
2018-03-17 13:36:38 +01:00
ailin-nemui
65a139aa9e
move no window printing code
2018-03-16 12:54:15 +01:00
Alexander Færøy
8d07f52bae
Add ABI check for otr_core module.
2018-03-15 14:01:50 +01:00
ailin-nemui
b7906b8706
in fact hidden levels should not be re-set when you run /set
2018-03-15 10:06:29 +01:00
ailin-nemui
7ec6c500b4
make default keybinds deletable
2018-03-12 17:46:26 +01:00
ailin-nemui
575daf4af7
Merge pull request #852 from dequis/document-cat-seek
...
Document second parameter (seek position) of /cat command
2018-03-10 13:11:39 +01:00
LemonBoy
76d958a87f
More g_strcmp0 -> g_ascii_strcasecmp
2018-03-09 17:36:28 +01:00
LemonBoy
fb9f5174c2
Compare channels/networks fields case-insensitively
...
Fixes #856
2018-03-08 20:35:00 +01:00
Alexander Færøy
016b42baea
Add OTR support.
...
This patch adds support for the OTR protocol to irssi. This is an import
of the external irssi-otr project that we are now taking over
maintership for.
Major thanks to the original authors of Irssi-OTR: Uli Meis and David
Goulet. Thanks to the OTR community in #OTR on OFTC, thanks to everyone
who have helped testing the patches and submitted UI suggestions.
2018-02-26 23:32:57 +01:00
dequis
097a9f4988
Document second parameter (seek position) of /cat command
2018-02-16 10:09:48 -03:00
ailin-nemui
203f6c5329
also unblock theme elements when processing finished
2018-02-16 13:46:29 +01:00
ailin-nemui
e289d34b9a
limit alignment padding to a screenful
...
Credit to Oss-Fuzz
2018-02-14 15:04:24 +01:00
ailin-nemui
a6fcd5432e
improve padding performance
...
Credit to Oss-Fuzz
2018-02-13 12:31:22 +01:00
ailin-nemui
c01f6df957
Merge pull request #844 from CatboxParadox/perms
...
dcc get shouldn't fail when file attrs can't be changed
2018-02-13 11:10:21 +01:00
Nei
b0d9cb33cd
Merge branch 'security' into 'master'
...
Security
See merge request irssi/irssi!34
2018-02-13 09:51:22 +00:00
Staron, Martin
3cbcb4fe85
dcc get shouldn't fail when file attrs can't be changed
2018-02-13 08:15:39 +01:00
ailin-nemui
5c5ed64180
try to make sure the server is still good enough to call ischannel when printing netsplit/join
2018-02-09 13:02:00 +01:00
ailin-nemui
946876b1e9
Merge pull request #843 from ailin-nemui/glib238
...
restore compat with glib <2.40
2018-02-09 11:49:23 +01:00
ailin-nemui
16912e1a91
restore compat with glib <2.40
2018-02-08 14:41:08 +01:00
ailin-nemui
e32e9d63c6
Do not read beyond end of escaped string
...
Credit to OSS-Fuzz
2018-02-08 14:11:23 +01:00
ailin-nemui
02712942e0
Merge pull request #835 from ailin-nemui/theme-stack
...
protect theme recursion
2018-02-07 21:23:39 +01:00
ailin-nemui
1e6d787401
ensure cap_supported is existent yet
2018-02-07 11:07:22 +01:00
Nei
12483c688a
Merge branch 'sasl-timeout' into 'security'
...
Fix Sasl timeout error
See merge request irssi/irssi!33
2018-02-06 06:46:11 +00:00
Nei
a73659e0ea
Merge branch 'soperise' into 'security'
...
Soperise
See merge request irssi/irssi!32
2018-02-06 06:45:54 +00:00
Nei
41e2b535ef
Merge branch 'nonick' into 'security'
...
please give us nicks
See merge request irssi/irssi!31
2018-02-06 06:45:32 +00:00
ailin-nemui
f8fbc1e1ab
Merge pull request #775 from LemonBoy/caps_kv
...
CAP 3.2 support
2018-02-05 22:29:35 +01:00
ailin-nemui
8183180613
Merge pull request #764 from GinjaNinja32/colorful-input
...
Add color support for input bar
2018-02-05 22:28:08 +01:00
ailin-nemui
cfcc021c81
Merge pull request #824 from dequis/more-netsplit-revert
...
Revert more of the netsplit print optimisation to fix crashes
2018-02-05 22:26:32 +01:00
ailin-nemui
3c1bc5f916
Merge pull request #836 from ailin-nemui/resize
...
Fix resizing of windows when used incorrectly
2018-02-05 22:25:33 +01:00
ailin-nemui
442f6f08b4
Merge pull request #837 from ailin-nemui/no-show
...
check the error condition of mainwindow_create
2018-02-05 22:24:17 +01:00
ailin-nemui
b33ce255a9
check for negative bound
2018-02-04 11:34:20 +01:00
ailin-nemui
c25e122149
Merge pull request #822 from Manishearth/autocomplete-colon
...
Insert colons after completing nicks preceded by a list of other autocompleted nicks
2018-02-04 11:28:25 +01:00
ailin-nemui
9c494a88a3
Merge pull request #831 from ailin-nemui/openssl-x509
...
Do not use X509_STORE on OpenSSL < 1.0.2
2018-02-04 11:27:02 +01:00
ailin-nemui
2185c4ddb3
up abi
2018-02-03 23:19:27 +01:00
ailin-nemui
9072e98819
change color -> extents (malloc based)
2018-02-02 13:56:56 +01:00
ailin-nemui
84f03e0146
do not reuse sasl timeout
2018-02-02 11:43:23 +01:00
ailin-nemui
5b5bfef035
check the error condition of mainwindow_create
2018-02-02 10:05:37 +01:00
ailin-nemui
f0bd434eb0
stop the madness
2018-02-02 09:50:08 +01:00
ailin-nemui
4c662acf95
another replaces fix
...
Credit to OSS-Fuzz
2018-02-01 14:19:40 +01:00
ailin-nemui
12360fb2c0
protect theme recursion
2018-02-01 10:21:31 +01:00
ailin-nemui
8028dcff93
Merge pull request #830 from g-elfling/master
...
Add Shift-Tab completion to gui-readline
2018-01-30 11:20:40 +01:00
ailin-nemui
126189bb37
we probably should not try to replace replaces
...
Credit to OSS-Fuzz
2018-01-29 09:28:55 +01:00
dequis
a4f99ae746
Revert more of the netsplit print optimisation to fix crashes
...
Now iterating over all servers to avoid crashes on server_ischannel(),
which is a macro for server->ischannel(), so it dies horribly when it's
null. Doesn't help that IS_IRC_SERVER() always returns true on null.
2018-01-28 23:06:26 -03:00
ailin-nemui
0909d47e5b
Check that server is still existent when using /oper
2018-01-25 16:11:31 +01:00
ailin-nemui
e91da9e409
please give us nicks
2018-01-25 16:05:47 +01:00
Ailin Nemui
af087e1103
fix sequence error
2018-01-25 15:08:26 +01:00
Ailin Nemui
f5aa829bd0
Do not use X509_STORE on OpenSSL < 1.0.2
2018-01-25 15:01:55 +01:00
Niklas Luokkala
6dfe5bc836
modified gui-readline based on the suggestions made to the pull request
2018-01-24 22:12:09 +02:00
LemonBoy
260733475c
Accept CAPs with an empty value (KEY=)
2018-01-24 10:55:20 +01:00
LemonBoy
b0b40be82e
Deprecate gslist_remove_string
...
It is not used anymore and it leaks memory.
2018-01-24 10:47:40 +01:00
LemonBoy
474ee8ee70
Address some minor stylish nits
2018-01-24 10:45:54 +01:00
Niklas Luokkala
0ba1b1f2a4
removed unnecessary repetition
2018-01-24 01:49:28 +02:00
Niklas Luokkala
d14dbbd093
Add Shift-Tab completion to gui-readline
2018-01-24 00:15:29 +02:00
Manish Goregaokar
12d08f79bb
Insert colons after completing nicks preceded by a list of other autocompleted nicks
...
When pinging two people, typing `nick1<tab> nick2<tab> message` for
autocompletion will get you `nick1: nick2 message`, which is kinda
confusing.
We only insert the colon after the first autocompleted nick,
because if a nick is used in the middle of the sentence it's mentioning
the person but not targeting the message at them.
However, this breaks down when we try to ping a list of people. There
should be a colon in front of each separating the names from the
message. only having a colon at the end of the nick list works too,
but it seems like the IRC convention is to just use multiple colons.
This patch makes it so that autocompleting a nick after a list of
existing autocompleted nicks at the beginning of the message
will include a colon.
2018-01-20 10:25:06 +05:30
GinjaNinja32
0f1b3873fe
Don't accept pos<0 or len<0 in gui_entry_set_color
2018-01-18 10:08:00 +01:00
GinjaNinja32
13b93c8c05
Apply changes based on review feedback
2018-01-18 10:08:00 +01:00
GinjaNinja32
925ae6e6ad
Add color support for input bar
2018-01-18 10:08:00 +01:00
Zero King
d983ad1a87
Update Irssi website URLs
2018-01-16 15:23:54 +00:00
Joseph Bisch
182673ed05
Add theme_load to fe-fuzz
2018-01-15 11:59:01 -05:00
Joseph Bisch
4512e2683a
Merge pull request #780 from josephbisch/fuzz-event-get-params
...
Add event_get_params to fe-fuzz
2018-01-15 10:53:21 -05:00
ailin-nemui
fa8508404f
revert netsplit print optimisation
...
this reverts part of #465
unfortunately we need to further refine the initial patch
- when filtering by channel, the whole split is cleaned up nevertheless
- something similar happens for the netjoins
- furthermore, we cannot wait only for PUBLIC msgs, j/p/q are equivalently relevant for temporal integrity
2018-01-10 20:12:04 +01:00
Jari Matilainen
4041f29711
Changed spaces to tab
2018-01-09 23:16:26 +01:00
Jari Matilainen
f2e73a7046
Add perl access to hidden_level in TEXT_BUFFER_VIEW_REC
2018-01-09 23:15:08 +01:00
ailin-nemui
a6663c58d4
Merge pull request #697 from ailin-nemui/rsplit
...
sideways split support for Irssi
2018-01-08 12:20:20 +01:00
ailin-nemui
f83ba5a5bb
Merge pull request #779 from vague666/activity_hide_target_only_channels_v2
...
Allow selection of what kind of activity targets to ignore v2
2018-01-08 12:19:46 +01:00
ailin-nemui
2e0815bfd7
Merge pull request #726 from dequis/term-environment-check
...
Add a startup warning if the TERM var is wrong inside tmux/screen
2018-01-08 12:19:30 +01:00
ailin-nemui
063c85da6c
Fix space in message
2018-01-07 20:01:00 +01:00
LemonBoy
fed791ed91
Fix a problem with multiline responses
...
Do not clear the whole table every time a response is received.
2018-01-07 12:36:21 +01:00
LemonBoy
4b9fcbc15a
Nicer error message when a duplicate CAP in LS
2018-01-07 12:36:21 +01:00
LemonBoy
f3a5355648
Match LS instead of checking the first letter only
2018-01-07 12:36:21 +01:00
LemonBoy
6c45ab0493
Command names may be in lower-case
...
Do not take the string case into account when comparing the command
name.
2018-01-07 12:36:20 +01:00
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
0d5e353ef1
Reword warning message
...
Include multiplexer name in TERM recommendation
2018-01-07 11:43:13 +01:00
ailin-nemui
d85f867261
Merge pull request #805 from ailin-nemui/exec-empty
...
fix /exec -o for blank lines
2018-01-07 11:24:00 +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
e75ee2f74c
Merge pull request #746 from ailin-nemui/hide-lines
...
Add method to hide lines in a view
2018-01-07 11:23:22 +01:00
dequis
f9c8365999
fe-common-core: fix redeclaration of server_tag_len
2018-01-07 01:45:12 -03:00
dequis
0aafd011c0
Add a startup warning if the TERM var is wrong inside tmux/screen
...
One of the most common and confusing issues we get in #irssi,
this should help identifying and mitigating it.
2018-01-06 18:04:01 -03:00
ailin-nemui
121a4971e6
Update fe-common-core.c
...
fix mixed decls
2018-01-06 20:17:51 +01:00
ailin-nemui
4d5982f07d
Update fe-common-core.c
2018-01-06 20:02:31 +01:00
ailin-nemui
ded4e4d98d
fix redraw
2018-01-06 01:05:35 +01:00
ailin-nemui
63d8e884dd
fix some more
2018-01-06 00:26:48 +01:00
ailin-nemui
4e71a1f485
sideways split support for Irssi
...
warning:
* may be buggy
This commit adds support for sideways splits into Irssi. To that regard,
there are a number of new commands available
the "R" commands:
/window new rsplit - make a new sideways split
/window rshow - show an existing window to the right
/window rgrow/rshrink/rsize/rbalance
- manipulate the size of your sideways split windows
the "D" commands:
/window dup/ddown/dleft/dright
- navigate the windows directionally, as an alternative to
/window up/down that you can bind to some key
/window move dleft/dright - the same for moving
Enjoy!
2018-01-06 00:26:48 +01:00
ailin-nemui
451019d05d
make format_real_length left-collecting
2018-01-06 00:26:48 +01:00
ailin-nemui
6e6a96d8c1
fix uaf in signal path
2018-01-06 00:02:48 +01:00
ailin-nemui
b111f038dd
fix /exec -o for blank lines
...
since it is not allowed to send nothing, instead of spamming the status window
with error, send " " instead
Fixes FS#902
2018-01-05 23:19:06 +01:00
ailin-nemui
eb18904840
fix crash in notifylist
2018-01-05 22:13:23 +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
Nei
7bed781622
Merge branch 'fix-gl-20' into 'security'
...
do not record topic change time when sender is blank
See merge request irssi/irssi!25
2018-01-04 22:19:39 +00:00
Nei
f5c3995fea
Merge branch 'fix-gl-21' into 'security'
...
check if \\c is complete in eval
See merge request irssi/irssi!26
2018-01-04 22:19:34 +00:00
Nei
94f0cbe34a
Merge branch 'fix-gl-19' into 'security'
...
rewrite completion code and check for direct match of separator
See merge request irssi/irssi!27
2018-01-04 22:19:29 +00:00
ailin-nemui
c9b3d87eb7
Postpone server cleanup until after unref
...
Add a new signal, server destroyed, that is supposed to run the clean up
tasks of server disconnected. This is so that some structures will stay
around longer.
2018-01-04 23:04:12 +01:00
ailin-nemui
cc17837a9b
disable variable arguments code
2018-01-03 15:51:51 +01:00
ailin-nemui
2361d4b1e5
rewrite completion code and check for direct match of separator
2018-01-03 15:35:18 +01:00
ailin-nemui
7a83c63701
check if \\c is complete in eval
2018-01-03 14:09:48 +01:00
ailin-nemui
54d453623d
do not record topic change time when sender is blank
2018-01-03 12:45:43 +01:00
Nei
e405330e04
Merge branch 'uaf-modify' into 'master'
...
Prevent a UAF error during the execution of some commands
See merge request irssi/irssi!24
2018-01-03 10:35:58 +00:00
Joseph Bisch
15705432e1
Remove outdated comment
2018-01-02 20:22:38 -05:00
Joseph Bisch
ef07b3c60c
Remove redundant if case
2018-01-02 20:21:07 -05: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
2b918fd9b8
move decls before code
2017-11-30 11:17:05 +01: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
5637a8df43
Merge pull request #790 from ailin-nemui/mirc-colour
...
reset colour at comma, like mIRC
2017-11-26 15:18:43 +01:00
ailin-nemui
466d074200
Merge branch 'master' into hide-lines
2017-11-26 00:31:01 +01:00
ailin-nemui
3792bc9ba9
Merge pull request #762 from ailin-nemui/global-history
...
allow access to global command history when using a specifc history
2017-11-26 00:28:58 +01:00
ailin-nemui
47400d405a
Update formats.c
...
remove now useless check for ,
2017-11-20 14:17:15 +01:00
ailin-nemui
3acc72f842
reset colour at comma, like mIRC
...
Fixes #742 and #740
2017-11-15 16:35:25 +01:00
ailin-nemui
4e8c1548e0
Merge pull request #786 from ailin-nemui/show-inital-nick
...
show initial nick and name on first start
2017-11-15 16:28:22 +01:00
LemonBoy
7605f67f95
Prevent a UAF error during the execution of some commands
...
Some arguments were free'd first and then printed, leading to gibberish
being output to screen or a crash.
Found by Joseph Bisch.
Closes: !GL17
2017-11-11 12:37:51 +01:00
ailin-nemui
02c677f467
use enum
2017-11-10 22:02:36 +01:00
LemonBoy
66b2c9bc91
Keep a copy of the strings coming from the config
...
The "HILIGHT_REC" structure used to keep a pointer to the "servertag"
string, owned by the "CONFIG_NODE", causing a double-free.
2017-11-03 16:37:04 +01:00
Joseph Bisch
532527ffa6
Use gchar and g_strndup in fe-fuzz
2017-11-02 11:56:53 -04:00
Joseph Bisch
f4b89044f0
Fix malloc parameter in fe-fuzz
...
It is fairly safe to assume that sizeof(char) will always be 1 anyway
and replace the size calculation with a comment explaining the
calculation.
2017-11-02 11:48:30 -04:00
Joseph Bisch
f9d69597ef
Remove unnecessary malloc cast in fe-fuzz
...
We compile this as C code, so the cast is unnecessary.
2017-11-02 11:44:57 -04:00
Jari Matilainen
60c31219a2
Allow selection of what kind of activity targets to ignore
...
Initialize tagtarget on declaration
move code around for better flow, extra checks for uninitialized values
remove unnecessary item->type checks
don't strdup sign
add braces around if statements, use strcmp0 with single characters and remove g_str_has_prefix
refactoring
changed g_ascii_strcasecmp to g_strcmp0
Add networktag/ shorthand
fixed memory leaks
changed from #@= to ::channels, ::queries and ::dccqueries
check for empty string and continue; if found
fixed bug with empty string check
Clean up code
2017-11-02 15:33:15 +01:00
ailin-nemui
4d6822b1c4
up abi
2017-11-01 15:52:45 +01:00
ailin-nemui
b0fa4dd46d
show initial nick and name on first start
2017-11-01 15:51:20 +01:00
ailin-nemui
96c7f68b35
clean up file path after move
2017-10-26 16:15:25 +02: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
Joseph Bisch
84fc92635a
Add event_get_params to fe-fuzz
2017-10-24 13:27:11 -04:00
ailin-nemui
cfa51c5ae2
Merge pull request #770 from horgh/horgh/rm-unused-function
...
Remove a couple unused functions
2017-10-23 14:29:34 +02: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
Nei
3c2ae68073
Merge branch 'fix-dcc' into 'security'
...
fix dcc
See merge request irssi/irssi!20
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
Joseph Bisch
beb2beba3b
Revert "Don't proceed with cmd_msg if there was an error splitting msg"
...
This reverts commit bd83852d646de28f2e0fe01efe7c9236aa4074d4.
2017-10-20 15:22:32 +02:00
Nei
e37d9b2497
Merge branch 'fix-gl-12' into 'security'
...
fix out of bounds read in compress_colors
See merge request irssi/irssi!18
2017-10-20 15:22:32 +02:00
Joseph Bisch
73d7b9d775
Don't proceed with cmd_msg if there was an error splitting msg
...
There may be cases (such as if target or server->nick is very long)
where the split_message function returns NULL, indicating an error. To
avoid a potential segfault, we now check to see if splitmsgs is NULL.
2017-10-20 15:22:32 +02:00
ailin-nemui
9f0dc4766c
fix dcc issue
2017-10-20 15:14:10 +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
LemonBoy
28d0b8c746
Merge pull request #771 from paultownsend/issue-120
...
Add alternate_nick as a network-specific property
2017-10-18 12:00:56 +02:00
Paul Townsend
7b94015f8f
Changes based on comments in pull #771 .
2017-10-14 17:42:45 +01:00
Will Storey
233be9f580
Mark net_ip_compare() deprecated
2017-10-13 18:30:57 -07:00
Will Storey
da59fd7c2d
Revert "Delete unused function net_ip_compare()"
...
This reverts commit cb5f3cba1f
.
2017-10-13 18:28:26 -07:00
ailin-nemui
7b97edf9d1
Merge pull request #769 from horgh/horgh/error-check-server-connect
...
Set host to an empty string on error
2017-10-13 17:14:47 +02:00
Edward Tomasz Napierala
9895e7b28a
Silence down a warning that would appear on "/away" in Capability mode.
2017-10-11 23:52:36 +01:00
Edward Tomasz Napierala
5c0b4aeb05
Sort Capsicum headers.
2017-10-11 23:31:26 +01:00
Edward Tomasz Napierala
1e66cbd62e
Improve Capsicum stdio limits to fix terminal state on exit.
2017-10-11 23:13:06 +01:00
Paul Townsend
87955b69cb
Add alternate_nick as a network-specific property.
2017-10-11 21:33:14 +01:00
Edward Tomasz Napierala
17b195021d
Bump default capsicum_port_max to 9999.
...
This is needed for servers like ssl.efnet.org, which, per default
config, listen on 9999.
2017-10-11 14:34:38 +01:00
Will Storey
174adee9dd
Always initialize the host string
...
This also removes a wordy comment
2017-10-10 18:21:05 -07:00
Will Storey
b8b90c76d4
Delete unused function net_connect()
2017-10-09 13:20:44 -07:00
Will Storey
3b3939b146
Delete commented out CYGWIN define
2017-10-09 13:14:59 -07:00
Will Storey
cb5f3cba1f
Delete unused function net_ip_compare()
2017-10-09 13:14:34 -07:00
Will Storey
4ccff71f67
Set host to an empty string on error
...
While investigating #317 , I noticed that it was possible we would access
an uninitialized buffer due to failing to check the return value of
net_ip2host(). This is done in several places. To make such uses safe,
set the host buffer to an empty string on error. It is possible callers
could be improved by handling the error in each spot, but this gives us
some safety.
2017-10-09 12:50:04 -07: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
ailin-nemui
00c80cb6fc
fix out of bounds read in compress_colors
...
Reported by Hanno Böck.
Fixes GL#12
2017-10-07 20:48:53 +02:00
Edward Tomasz Napierala
40ae8f5fa6
Limit capsicum rights to stdio.
...
This requires FreeBSD fix (https://reviews.freebsd.org/D12622 )
to work properly.
2017-10-07 03:28:02 +01:00
ailin-nemui
5da0b73a12
up abi
2017-10-06 15:31:59 +02:00
ailin-nemui
deac66f33c
add a key binding to erase history entries
...
it is possible to delete the current history entry using the
erase_history_entry key binding
2017-10-06 15:31:52 +02:00
ailin-nemui
16d68a86ca
add two XSFuncs to manipulate command history entries
...
it is possible to use Irssi::UI::Window::get_history_entries to save the
history entries, load_history_entries to load entries into the command
history and delete_history_entries to remove history entries (for example
to remove history selectively)
2017-10-06 15:02:15 +02:00
ailin-nemui
1fd285dccf
refactor history to use history_entries list
...
this allows access to the global history even when a using /window history
named or /set window_history on, and you want to recall something from one
of the other windows' histories.
usage (default): ctrl+up/down
2017-10-06 14:58:47 +02:00
ailin-nemui
92dbb1895b
Merge pull request #754 from ailin-nemui/fix-752
...
add new function to set the position in bytes
2017-10-05 11:31:44 +02:00
ailin-nemui
1f7de4c3bd
up abi
2017-10-05 11:31:33 +02:00
ailin-nemui
8dfeca57ed
hidden lines
2017-09-21 14:20:31 +02:00
ailin-nemui
0468c5d912
add new function to set the position in bytes
...
fixes #752
2017-09-15 13:47:01 +02:00
ailin-nemui
fc8c15fcd7
Merge pull request #755 from trasz/capsicum
...
Get rid of the zombies in Capsicum capability mode.
2017-09-15 13:40:17 +02:00
Edward Tomasz Napierala
624ef4a696
Get rid of the zombies in Capsicum capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-09-12 14:19:17 +01:00
LemonBoy
36d8b974fc
Restore compatibility with old OpenSSL versions
...
Let's implement X509_STORE_up_ref on our own.
2017-09-11 17:19:20 +02:00
LemonBoy
96d5a4669d
Increment the X509_STORE refcount during the connection
...
OpenSSL doesn't increment the reference count when the store is assigned
to a SSL_CTX.
2017-09-11 16:32:36 +02:00
ailin-nemui
24ad80177b
Merge pull request #735 from trasz/capsicum
...
Add Capsicum support
2017-09-10 19:43:59 +02:00
Edward Tomasz Napierala
b529e1a9df
Fix /back in Capsicum capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-09-08 13:14:24 +01:00
LemonBoy
7086eae650
Complete filenames ending with a slash
2017-08-29 21:03:42 +02:00
ailin-nemui
13471013f3
Merge pull request #737 from ailin-nemui/fix-733
...
Revert "Merge pull request #452 from LemonBoy/terminfo-cup"
2017-08-10 16:49:32 +02:00
Edward Tomasz Napierala
edee0ba587
Don't error out on failure to load default certificate store.
...
This restores the previous behaviour.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-10 14:35:34 +01:00
Joseph Bisch
1ad38b27e4
Merge pull request #738 from trasz/master
...
Fix indentation; no functional changes.
2017-08-09 10:29:10 -04:00
Edward Tomasz Napierala
4bcbb41113
Fix indentation; no functional changes.
...
(Take two.)
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-09 14:36:06 +01:00
Edward Tomasz Napierala
0c49a84ffb
Add back some ifdefs.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-09 11:06:36 +01:00
ailin-nemui
947682e5dd
Revert "Merge pull request #452 from LemonBoy/terminfo-cup"
...
Fixes #733 . The fix outlined in #452 had adverse effects for the
following reason. The code removed the restoration path that would go on
the code path from kill SIGTSTP. The problem is this: When Irssi is not
running in a controlling parent (like a shell), the TSTP will in fact be
ignored. In that case, there is no process sending a CONT either and
thus the screen state never gets restored. Luckily, the patch in #457 is
sufficient to prevent the problem in #450 (which lead to the development
of #452 ). To that end, we do end up with potentially calling
terminfo_cont twice but that is better than not calling it at all.
This reverts commit b1ffd5f647
, reversing
changes made to 9cb0419435
.
2017-08-07 15:29:17 +02:00
Paul Townsend
788e47032f
Update /CONNECT and /SERVER syntax tags (-ssl -> -tls).
2017-08-05 21:02:35 +01:00
Edward Tomasz Napierala
5db6caee0d
Attempt to fix build by adding the forgotten header.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-01 01:50:16 +01:00
Edward Tomasz Napierala
96f4fe10c6
Change the way we load default CA certificates so it works with Capsicum.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-01 01:47:45 +01:00
Edward Tomasz Napierala
aeaa420ad3
Clean up includes a bit.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-01 01:15:25 +01:00
Edward Tomasz Napierala
5551b4fe95
Update copyrights.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-30 11:47:08 +01:00
Edward Tomasz Napierala
8bb392a3f4
Hook up capsicum.h and fe-capsicum.h to autotools.
...
This hopefully fixes Travis build.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-30 01:27:33 +01:00
Edward Tomasz Napierala
a29eeaa9f2
Fix trailing slash handling for capsicum_irclogs_path.
...
This is mostly an anti-footshooting measure, but still.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
7f2697d307
Cosmetics.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
8c04c2be14
Fix build without Capsicum.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
12e2c46d6a
Add wrappers to reduce #ifdefs.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
c00d4753ae
Restrict port range available in capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
e777ae986d
Working autolog.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
241dd66ac1
Working /log and /rawlog.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
939371aa1d
Fix warnings.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
1f57ceec4c
Prevent the user from calling "/capsicum enter" twice.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
509eca76f0
Make DNS work in capability mode.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
f4546be7ec
Reorder functions.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
925240155e
Config file support for "capsicum" parameter.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
cec68557aa
/connect works - although only with IP addresses.
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
3200c381db
Rename to "/capability enter" and "/capability status".
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
d5d45c29b8
Add capability mode error/success messages.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
56c94570b4
Implement /cap_enter.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
2914498b29
Consistency: use FALSE instead of 0.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 10:42:53 +01:00
Edward Tomasz Napierala
08dc6734b9
When rawlog open fails, there's no point in trying to write. Don't.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 10:40:42 +01:00
Edward Tomasz Napierala
42b5e89f6e
Add missing diagnostics for rawlog open().
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-28 04:49:14 +01:00
Edward Tomasz Napierala
e08e2bd87a
Don't compute log_dir_create_mode in three different places.
...
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-28 03:56:02 +01:00
ailin-nemui
437fbef6eb
Merge pull request #719 from LemonBoy/sasl-disable-none
...
Setting sasl_mechanism to '' disables the auth
2017-07-26 10:57:05 +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
Nei
f67e766934
Merge branch 'fix-11' into 'security'
...
Correct GHashTable usage
See merge request !16
2017-07-05 14:46:42 +00:00
Nei
fc3615120d
Merge branch 'fix-10' into 'security'
...
Check return value of localtime
See merge request !15
2017-07-05 14:46:24 +00:00
ailin-nemui
73b851c39c
correct GHashTable usage
2017-07-04 16:11:45 +02:00
ailin-nemui
1656dc1e54
Merge pull request #653 from ailin-nemui/regexex
...
Enable UTF8 in GRegex
2017-07-03 09:53:09 +02:00
Nei
29ebac987d
Check return value of localtime
...
Fixes #10
2017-06-29 13:48:44 +00:00
ailin-nemui
2b209348bd
Merge pull request #722 from dequis/back-to-the-future
...
parse_time_interval: Allow negative time in settings
2017-06-23 18:00:51 +02:00
ailin-nemui
28d82c8f63
Merge pull request #709 from osm/master
...
Escape nicks during nick completion when expand_escapes is enabled
2017-06-23 18:00:04 +02:00
ailin-nemui
9d32636ebe
Merge pull request #703 from vague666/server_modify_port
...
Allow -port <num> or irc.host.tld <num> in /server add
2017-06-23 17:59:02 +02:00
ailin-nemui
c56919768e
Merge pull request #721 from dequis/unexpected-exits
...
term-terminfo: Avoid switching out of alt screen on unexpected exits
2017-06-23 17:58:40 +02:00
ailin-nemui
bbf8b86074
remove const
2017-06-22 09:33:33 +02:00
Oscar Linderholm
12d671a056
Escape nicks during nick completion when expand_escapes is enabled
...
Fixes #693
2017-06-21 10:40:47 +02:00
ailin-nemui
02a5d1a00b
fix weird n-fold unescaping
2017-06-19 14:09:02 +02:00
ailin-nemui
1fc170ee11
Merge branch 'master' into regexex
2017-06-19 11:06:24 +02:00
dequis
7354a74c65
parse_time_interval: Allow negative time in settings
...
This splits sign parsing out of parse_time_interval_uint() so that the
negative sign is applied outside of the unsigned context where the
number parsing is done, and after all the checks that it's lower than
(1 << 31)
This fixes issues with settings like `server_reconnect_time`,
`server_connect_timeout` and `lag_max_before_disconnect`, which accepted
-1 as a valid value.
2017-06-17 15:34:36 -03:00
dequis
4b1c60b2ec
term-terminfo: Avoid switching out of alt screen on unexpected exits
...
Perl sucks and kills the whole process when there's a version mismatch
in Perl_xs_handshake(). Our atexit handler catches the exit and
deinitializes the terminal, removing the error.
This commit uses the 'quitting' global variable which is set when irssi
is voluntarily quitting, and avoids sending TI_rmcup, which restores the
original screen and makes the error invisible.
2017-06-17 13:47:13 -03:00
ailin-nemui
3246001fb4
Merge pull request #715 from dequis/lastlog-glist-performance
...
Performance improvements for /lastlog
2017-06-07 00:15:45 +02:00
ailin-nemui
5e9a3ad80c
Merge pull request #714 from dequis/dcc-fname-gcc-warnings
...
fe-dcc-(get|send): Fix some -Wpointer-compare with newer gcc
2017-06-07 00:15:05 +02:00
dequis
e498265328
Performance improvements for /lastlog -before
...
This avoids the use of g_list_find() to find if a match was already
added to the list of results, by checking the last two added matches
instead.
Checking just the last match isn't enough because a NULL match is added
as a separator (shown as -- in the UI)
2017-06-05 18:11:47 -03:00
dequis
0e44ea8916
Performance improvements for /lastlog with big result sets
...
This applies to "/lastlog" with no filters (or with filters that don't
filter a lot) and with large amounts of text in the scrollback.
Test case:
/exec seq 1 500000
/lastlog -file log.txt
Thanks to morning for reporting this.
2017-06-05 18:10:27 -03:00
dequis
52bb06ccd9
fe-dcc-(get|send): Fix some -Wpointer-compare with newer gcc
...
The warning itself:
>warning: comparison between pointer and zero character constant [-Wpointer-compare]
Harmless stuff as far as I can tell.
The fix adds a null check that probably isn't needed. The old code that
compared against '\0' worked a lot like a null check so it makes sense
to keep that, while also adding the intended check for empty string.
This was visible with "/dcc close send a" showing an empty filename.
The equivalent for get didn't show the filename in the format string.
2017-06-05 15:58:43 -03:00
Ailin Nemui
fb08fc7f1a
Merge remote-tracking branch 'gitlab/security'
2017-06-05 15:12:16 +02:00
ailin-nemui
4edfccfce7
get rid of new_text
2017-06-05 13:46:43 +02:00
ailin-nemui
48899a123d
Update iregex-gregex.c
...
add 2 comments about new_string
2017-06-05 10:23:16 +02:00
ailin-nemui
00354c3651
Update iregex-gregex.c
...
make helper functions static
2017-06-05 10:10:38 +02:00
Jari Matilainen
f28c64a3dc
Make backward compatible with ssl flags
2017-06-04 19:47:30 +02:00
ailin-nemui
78a390f479
abi up
2017-06-04 19:03:40 +02:00
Jari Matilainen
e84adeca15
change ternary operator to if/else statements, add default ssl port support
2017-06-04 17:41:38 +02:00
ailin-nemui
79bbca4644
Refactor regex and implement UTF8 mode for GRegex
...
- with non-unicode byte to Private Use Area A mapping
- move all ifdefs to iregex.h file only
2017-06-04 00:52:53 +02:00
ailin-nemui
31b9d115b0
Merge pull request #706 from dequis/parse-uint
...
Add parse_uint function to improve integer overflow handling
2017-06-02 14:47:38 +02:00
Joseph Bisch
1ce9e07be0
Use CXX for fe-fuzz linking
2017-06-01 23:59:19 -04:00
Nei
200eb5922e
Merge branch 'fix-gl9' into 'security'
...
Fix dcc_request where addr is NULL
See merge request !13
2017-05-30 19:39:06 +00:00
Joseph Bisch
528f51bfbe
Fix dcc_request where addr is NULL
2017-05-29 14:53:26 -04:00
Joseph Bisch
30a92754bb
Fix oob read of one byte in get_file_params_count{,_resume}
...
We can use continue to handle cases such as:
"ab<space><space>c"
2017-05-29 14:43:24 -04:00
ailin-nemui
d61c54c32b
do not reset true colour bit on colour reset
...
fixes #710
2017-05-27 00:12:54 +02:00
dequis
632b0ce5e6
Add parse_uint function to improve integer overflow handling
...
Originally found by oss-fuzz (issue 525) in get_ansi_color using ubsan.
After a lot of analysis I'm 99% sure this isn't security relevant so
it's fine to handle this publicly.
The fix is mainly adding a function that does it right and use it
everywhere. This is harder than it seems because the strtol() family of
functions doesn't have the friendliest of interfaces.
Aside from get_ansi_color(), there were other pieces of code that used
the same (out*10+(*in-'0')) pattern, like the parse_size() and
parse_time_interval() functions, which are mostly used for settings.
Those are interesting cases, since they multiply the parsed number
(resulting in more overflows) and they write to a signed integer
parameter (which can accidentally make the uints negative without UB)
Thanks to Pascal Cuoq for enlightening me about the undefined behavior
of parse_size (and, in particular, the implementation-defined behavior
of one of the WIP versions of this commit, where something like signed
integer overflow happened, but it was legal). Also for writing
tis-interpreter, which is better than ubsan to verify these things.
2017-05-18 00:21:11 -03:00
Jari Matilainen
0c26aeb9fc
Make sure port is only set on /server modify if specified
2017-05-15 23:07:01 +02:00
ailin-nemui
10cea61696
Merge pull request #702 from vague666/server_modify_notls
...
Added support for -notls and -notls_verify
2017-05-14 09:44:26 +02:00
ailin-nemui
81cf8d8813
Update fe-server.c
2017-05-14 09:43:38 +02:00
Jari Matilainen
4a6fbdbe78
Spaces to tabs
2017-05-14 03:01:01 +02:00
ailin-nemui
371eb7f505
expand macro
2017-05-12 16:27:33 +02:00
ailin-nemui
787e192567
improve nicklist performance
2017-05-12 13:36:48 +02:00
Jari Matilainen
783458e9ba
Added code comments
2017-05-11 14:08:45 +02:00
Jari Matilainen
25f9c71f69
Allow -port <num> or irc.host.tld <port num> in /server add and /server modify
2017-05-11 14:02:23 +02:00
Jari Matilainen
f060292a9c
Added braces
2017-05-11 11:17:14 +02:00
Jari Matilainen
dbde9f0fe3
Added support for -notls and -notls_verify
2017-05-11 10:57:24 +02:00
LemonBoy
c890ecafa0
Merge pull request #686 from josephbisch/remove-history-wrap
...
Don't allow command history to wrap around
2017-04-11 15:19:19 +02:00
Joseph Bisch
3297fafcd9
Add syntax info for completion
...
Allows syntax info to be picked up and displayed by help command.
Fixes #687
2017-04-07 12:56:46 -04:00
Joseph Bisch
405136440c
Remove over_counter
...
We are no longer using over_counter for any functional purpose, so
remove it.
2017-04-07 08:20:28 -04:00
Joseph Bisch
7c86575b02
Don't allow command history to wrap around
...
This changes the behavior of the command history to avoid wrapping back
to the bottom once the top of the history is reached.
2017-04-06 20:27:39 -04:00
Joseph Bisch
41776d71f7
Fix strange history behavior when history is empty
...
If text is being entered and then the user presses the up arrow
followed by the down arrow, the expected behavior is to return to the
text being entered. Prior to this commit that was not the case.
Fixes #462
2017-04-05 11:00:25 -04:00
Joseph Bisch
a4cc4e0ad7
Fix off by one error with char_expandos
2017-03-31 15:37:48 -04:00
Stephen Oberholtzer
2b9be6e2ed
Intentation/whitespace fixes
...
Change several instances of space-indentation to tabs, matching the
surrounding code.
2017-03-21 10:27:39 -04:00
Stephen Oberholtzer
70f9db3cbd
Fix delay at startup when running against glib 2.49.3+
...
In glib v2.49.3, an optimization was made to eliminate certain
unnecessary wakeups. (The specific change was made in
e4ee3079c5afc3c1c3d2415f20c3e8605728f074). Before this change, the
first call to g_main_iteration would always complete immediately.
In Irssi, this effectively reversed the order of the main loop, causing
the reload_config check and the dirty_check to run *before* the first
blocking call to g_main_iteration.
With the new logic, the first g_main_iteration call now blocks,
preventing the screen from being refreshed until the user starts typing
or a timer goes off. (It also delays processing of SIGHUP, but I
expect that is not a common situation.)
This commit reorders the main loop to wait at the end of the loop,
rather than the beginning, addressing the problem.
(This closes Debian bug #856201.)
2017-03-21 09:37:23 -04:00
ailin-nemui
966efced3c
up abi ver
2017-03-14 09:54:28 +01:00
ailin-nemui
e2e02160cd
Merge pull request #645 from LemonBoy/keyboard-misc
...
Timeout feature for keys
2017-03-11 23:11:43 +01:00
Ailin Nemui
77b2631c78
Merge branch 'netjoin-timeout' into 'master'
...
fe-netjoin: remove irc servers on "server disconnected" signal
Closes #7
See merge request !10
2017-03-10 17:18:18 +01:00
dequis
93c158d815
expand_escape: expand double backslash as a backslash
2017-03-08 20:01:05 -03:00
ailin-nemui
d57c64adeb
Merge pull request #667 from ailin-nemui/fix-dcc-get
...
fix dcc get
fixes #656
2017-03-08 09:45:40 +01:00
ailin-nemui
ddba68ad77
Merge pull request #659 from ailin-nemui/foreach_dontspam
...
make foreach send commands
2017-03-07 23:37:23 +01:00
ailin-nemui
7bd1b80687
fix dcc get
...
fixes #656
2017-03-07 23:27:08 +01:00
ailin-nemui
62fd3ac180
Revert "Quote the filename when dcc requests are auto accepted."
2017-03-06 11:27:55 +01:00
ailin-nemui
29f27cfb39
Merge pull request #658 from LemonBoy/dcc-autoaccept
...
Quote the filename when dcc requests are auto accepted.
2017-03-04 21:43:21 +01:00
LemonBoy
dc99f8d7a5
Properly check the command arguments in tail place.
...
A command requiring an argument and given in tail position would not
raise an error but silently set the value to the empty string ''.
2017-03-04 21:37:13 +01:00
Nei
7ef22687f9
Merge branch 'd-minor' into 'master'
...
Prevent some potential null-pointer deferences.
See merge request !9
2017-03-04 20:35:17 +00:00
Stephen Oberholtzer
5c4e6304ce
Don't emit the script destroyed signal before script is actually destroyed
...
The script unloading code originally worked like this:
1. Destroy package
2. Emit 'script destroyed' signal
3. Unhook script's signal handlers
If a script added a 'script destroyed' signal handler, unloading
that script would cause the 'script destroyed' signal to be sent to the
(already destroyed) package. This would cause a script error, which would
trigger a script unload, which would start the whole process over again,
until we run out of heap or stack space and segfault.
This commit simply reorders the operations so that the 'script destroyed'
signal is sent *after* the script is fully destroyed.
2017-02-28 23:48:56 -05:00
dequis
7c09b72848
fe-netjoin: remove irc servers on "server disconnected" signal
2017-02-27 23:43:37 -03:00
ailin-nemui
fa1a056291
Merge pull request #647 from dequis/fix-early-ison-take-2
...
notify-ison: Don't send ison before the connection is done
2017-02-27 14:45:41 +01:00
ailin-nemui
9aaa6449a0
make foreach send commands
2017-02-27 13:43:58 +01:00
LemonBoy
027acffb42
Handle file names with quotes.
...
Let's repurpose escape_string and make it more flexible by letting us
choose the characters to escape.
2017-02-22 11:49:09 +01:00
LemonBoy
db85ab7c90
Quote the filename when dcc requests are auto accepted.
...
PR #453 forces the user to quote the filenames given to /DCC commands
when they contain spaces but the autoget functionality didn't get
updated so the filename was always passed without quotes.
Closes #656 .
2017-02-21 15:17:37 +01:00
LemonBoy
9cae98e642
Execute what's left in the input queue when the timeout expires.
...
Similar to how vim behaves.
2017-02-18 15:57:55 +01:00
ailin-nemui
540639e0fa
Merge pull request #627 from LemonBoy/ssl-expiry
...
Check whether the client certificate is expired.
2017-02-15 15:49:00 +01:00
LemonBoy
c067f8e99b
Do not alias /server <hostname> to /server connect <hostname>
...
Closes #559 .
2017-02-14 23:02:05 +01:00
LemonBoy
98ead50b4e
Prevent some potential null-pointer deferences.
...
Spotted by our friend scan-build.
2017-02-14 14:46:14 +01:00
dequis
15736ba5ab
notify-ison: Don't send ison before the connection is done
2017-02-11 00:07:03 -03:00
ailin-nemui
653c7fb05a
Merge pull request #622 from ailin-nemui/starttls
...
provide net_start_ssl api
2017-02-06 12:38:20 +01:00
ailin-nemui
28df637055
provide net_start_ssl api
...
fixes #615
2017-02-05 23:08:42 +01:00
ailin-nemui
ff5dd3673e
Merge pull request #628 from LemonBoy/openssl-compat
...
Support OpenSSL 1.1.0.
2017-02-05 22:20:31 +01:00
LemonBoy
73e8a065bd
Support OpenSSL 1.1.0.
...
- X509_get_notBefore becomes X509_get0_notBefore
- X509_get_notAfter becomes X509_get0_notAfter
- ASN1_STRING_data becomes ASN1_STRING_get0_data (and drops the const)
- The whole library is now initialized by OPENSSL_init_ssl
Closes #597
2017-02-03 13:29:19 +01:00
Nei
aab24cf4a4
Merge branch 'dub-the-wub' into 'master'
...
Prevent a memory leak during the processing of the SASL response.
See merge request !8
2017-02-03 11:49:16 +00:00
ailin-nemui
1ee25d2286
Merge pull request #590 from LemonBoy/hi-minor
...
Minor cleanup in the highlighting signal.
2017-01-31 14:18:48 +01:00
ailin-nemui
4031b92b9b
Merge pull request #626 from ailin-nemui/textbuffer_monospace
...
support storing and replaying the monospace attribute in textbuffer
2017-01-31 14:17:44 +01: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
LemonBoy
697dd19d88
Check whether the client certificate is expired.
...
Right now we only warn the user, the connection keeps going.
Fixes #211
2017-01-22 21:58:55 +01:00
ailin-nemui
876c1dd93e
implement break_wide
...
for more pleasant east asian mixed display
2017-01-20 10:32:23 +01:00
Joseph Bisch
c8dafe2a76
Add SUPPRESS_PRINTF_FALLBACK
...
There are some cases (such as fuzzing with fe-fuzz) where suppressing
printf output may be desirable.
2017-01-16 12:56:33 -05:00
Hanno
677fb1f55c
perl_parse needs NULL terminated parameter list.
2017-01-15 22:20:23 +01:00
LemonBoy
305b02fc63
Merge pull request #613 from ailin-nemui/fix_completion
...
fix regression in completion
2017-01-13 22:36:44 +01:00
Alexander Færøy
7732bbed5e
Merge pull request #610 from josephbisch/fe-fuzz
...
Add frontend for fuzzing
2017-01-13 00:16:30 +01:00
Joseph Bisch
fe1ea4b80a
Fix fe-fuzz nits
2017-01-12 18:11:09 -05:00
dx
b15c27cc63
Revert "Don't reset wait_cmd during connection registration (fixes early ISON)"
2017-01-10 03:09:36 -03:00
Joseph Bisch
abdae2d5fc
Don't duplicate module-formats.* in fe-fuzz
2017-01-09 08:19:01 -05:00
ailin-nemui
17fc77565e
fix regression in completion
...
fixes #609
2017-01-09 13:19:37 +01: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
Joseph Bisch
cf46907256
Add frontend for fuzzing
...
Use the following configure command:
$ ./configure --with-fuzzer --with-fuzzer-lib=/path/to/libFuzzer.a \
CC=clang CXX=clang++
Places an irssi-fuzz in src/fe-fuzz/ after build.
Also can specify SANFLAGS to override the chosen sanitizer flags
(defaults to "-g -fsanitize=address -fsanitize-coverage=trace-pc-guard").
2017-01-07 20:01:07 -05: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
dequis
752f484c6c
Add OPENSSL_NO_EC for solaris 11.3, see issue #598
...
Original patch by 'Slarky'
According to that ticket, the next major version of solaris won't need
this. Consider reverting this when solaris 11.3 stops being relevant.
2017-01-06 11:47:24 -03:00
Martijn Dekker
c9c45e4f89
make irssi --with-perl build with separate object directory
...
irssi 1.0.0 will not build if Perl is enabled and a separate
object code directory is used. The problem was a relative path
to an internal Perl dependency in four Makefile.PL.in files.
2017-01-06 12:24:36 +01:00
ailin-nemui
33107be748
fix GRegex GError problem
2017-01-05 13:06:55 +01:00
Nei
7a112e0217
Merge branch 'master' into 'security'
...
Sync to master
See merge request !6
2017-01-03 13:30:39 +01:00
ailin-nemui
01163710e7
Merge pull request #585 from ailin-nemui/win_seq
...
g_sequence backing for window list
2017-01-03 12:45:50 +01:00
Ailin Nemui
1f72b8e66a
up abi version
2017-01-03 12:29:52 +01:00
Ailin Nemui
f5cbbebc2e
switch for gregex and regex.h
2017-01-03 12:29:11 +01:00
Nei
1b99299ed2
Merge branch 'percent_flag' into 'security'
...
fix %[
See merge request !5
2017-01-02 17:01:47 +00: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
Nei
c3cca5ecf3
Merge branch '1-null-pointer-dereference-in-irc_nickcmp_rfc1459' into 'security'
...
bail out if nick is NULL
See merge request !3
2017-01-02 17:01:05 +00:00
Nei
24d2d039b5
Merge branch '3-out-of-bounds-read-with-invalid-utf8-in-term_addstr' into 'security'
...
Fix oob read on invalid utf8 in term_addstr
See merge request !2
2017-01-02 17:00:44 +00:00
Nei
7daa7a6aa9
Merge branch '2-out-of-bounds-read-of-one-byte-with-x1b-48-in-truecolor-builds' into 'security'
...
check for end of string in ansi 48
See merge request !1
2017-01-02 17:00:15 +00:00
LemonBoy
5dcf291f21
Use the RAW flag when building the regexps.
...
Also, plugged a memory leak when retrieving the match position.
2017-01-02 17:50:14 +01:00
LemonBoy
5eaead761f
Rebase against master.
2017-01-02 17:50:14 +01:00
LemonBoy
3fcd3cd2b9
Remove the regexp_compiled field.
...
It was made redundant by the introduction of the pointer to the GRegex
structure.
Silence the compiler warning in textbuffer.c about preg being
initialized by setting it to NULL.
2017-01-02 17:50:14 +01:00
LemonBoy
8e5db471e4
Use GLib's regexp interface (backed by PCRE)
2017-01-02 17:50:14 +01: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
LemonBoy
7e22d051ae
Make sure SASL was actually requested before failing.
2017-01-01 23:08:38 +01:00
ailin-nemui
77ff8f5b74
Merge pull request #514 from LemonBoy/sasl_fail
...
Add an option to stop the connection when SASL fails.
2016-12-21 15:29:26 +01:00
ailin-nemui
07050e2a3c
Merge pull request #587 from ailin-nemui/sbar_crash
...
add assertion to statusbar_read_group
2016-12-21 15:28:17 +01:00
ailin-nemui
9151f87145
remove some for loops
2016-12-20 21:40:18 +01:00
ailin-nemui
9a018a782c
sort windows_seq helpers to top
2016-12-20 21:36:56 +01:00
ailin-nemui
03f5dc63fe
nits
2016-12-20 21:33:51 +01:00
ailin-nemui
9004265e54
clean up window_refnum_{prev,next}
2016-12-20 21:01:16 +01:00
ailin-nemui
7dc2f832c1
fix %[
2016-12-20 16:41:57 +01:00
ailin-nemui
2f59fe2062
add some sequence helper functions
2016-12-19 22:03:46 +01:00
Joseph Bisch
8007e9e61d
Fix oob read on invalid utf8 in term_addstr
2016-12-19 15:52:05 -05: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
a39e210ea8
Minor cleanup in the highlighting signal.
2016-12-18 15:46:48 +01:00
LemonBoy
7a7f6abc16
Prevent a UaF by calling server_disconnect in a signal handler.
2016-12-15 22:41:57 +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
ailin-nemui
7b856d628b
check for end of string in ansi 48
2016-12-15 18:01:26 +01:00
ailin-nemui
17e42649bb
reset background for mirc colour 99
...
fix #571
2016-12-15 17:06:40 +01:00
ailin-nemui
59242cb595
add assertion to statusbar_read_group
...
fix #564
2016-12-15 16:59:38 +01:00
ailin-nemui
365097319f
manually redraw the activity list on expose only
...
might speed up /foreach query /unquery
2016-12-13 03:19:00 +01:00
ailin-nemui
560283ba4e
g_sequence backing for window list
2016-12-13 01:04:26 +01:00
LemonBoy
4ccffd85ff
Expose 'sasl_success' to the perl side.
2016-12-12 21:41:07 +01:00
LemonBoy
91c9e871c7
Add an option to stop the connection when SASL fails.
2016-12-12 21:41:06 +01:00
ailin-nemui
618c8bd10e
Merge pull request #581 from LemonBoy/set-contract
...
Enforce the is_node_list contract in lib-config setters.
2016-12-08 12:29:52 +01:00
ailin-nemui
964f423fed
Merge pull request #570 from josephbisch/fix-issue-563
...
enforce check that chatnets are nodelists to handle invalid config
2016-12-08 12:11:59 +01:00
LemonBoy
7fb84b5b7d
Enforce the is_node_list contract in lib-config setters.
...
An assertion failure is better than a segfault.
2016-11-29 23:08:45 +01:00
LemonBoy
5efb3077d5
Merge pull request #565 from ahf/bug/524
...
Kill bell_beeps.
2016-11-29 22:13:53 +01:00
LemonBoy
22ce6637c7
Merge pull request #577 from LemonBoy/flagz
...
Minor corrections to the netsplit code.
2016-11-25 21:52:42 +01:00
LemonBoy
5f0e755a00
Don't shadow the 'channel' variable when printing the netjoins.
...
This is the root cause of #567
2016-11-23 22:22:37 +01:00
ailin-nemui
dcffa98d46
add a static buffer for dcc received data
...
increased buffersize might make irssi freeze less / #159
2016-11-23 17:02:29 +01:00
LemonBoy
7574bed26c
Minor corrections to the netsplit code.
2016-11-23 16:11:38 +01:00
Lauri Tirkkonen
4cbf279d88
add completion_empty_line setting
2016-11-08 16:27:38 +02:00
ailin-nemui
43934ae9ad
add missing inheritance to Exec item from 3532fc46
2016-11-01 17:08:28 +01:00
Joseph Bisch
c98f5f23ea
enforce check that chatnets are nodelists to handle invalid config
2016-10-27 11:18:37 -04:00
Alexander Færøy
6a6196eebe
Kill bell_beeps.
...
Fixes #524
2016-10-23 21:24:12 +02:00
Alexander Færøy
bc4e2c9ade
Shorten the certificate chain output.
2016-10-23 02:51:08 +02:00
Alexander Færøy
322625b548
Only do checks for SSL_get_server_tmp_key in network-openssl.c.
2016-10-22 22:04:33 +02:00
Alexander Færøy
0a6e66f8b7
Kill do { ... } while (0); and replace it with goto's.
2016-10-22 22:04:33 +02:00
Alexander Færøy
d501a54f4f
Emit the TLS handshake finished signal before we do verification.
...
This patch moves the emitted "tls handshake finished" signal to before
we do validation of the given TLS certificate. This ensures that we
display certificate information before we possibly error out and
disconnects from the server.
2016-10-22 22:04:33 +02:00
Alexander Færøy
5a04430998
Kill support for DANE.
...
This patch removes support for DANE validation of TLS certificates.
There wasn't enough support in the IRC community to push for this on the
majority of bigger IRC networks. If you believe this should be
reintroduced into irssi, then please come up with an implementation that
does not rely on the libval library. It is causing a lot of troubles for
our downstream maintainers.
2016-10-22 22:04:33 +02:00
Alexander Færøy
f533baa191
Lift EC_KEY declaration onto the entry of the function.
2016-10-22 22:04:32 +02:00
Alexander Færøy
25824e2d3f
Lift ASN1_STRING declaration onto the entry of the function.
2016-10-22 22:04:32 +02:00
Alexander Færøy
4e170c5233
Declare variables in the beginning of the function.
2016-10-22 22:04:32 +02:00
Alexander Færøy
53d772e48b
Make sure we clean-up after ourself upon failure.
2016-10-22 22:04:31 +02:00
Alexander Færøy
5146ce9631
Add x509 certificate and public key pinning support.
...
This patch adds two new options to /CONNECT and /SERVER to let the user
pin either an x509 certificate and/or the public key of a given server.
It is possible to fetch the certificate outside of Irssi itself to
verify the checksum. To fetch the certificate call:
$ openssl s_client -connect chat.freenode.net:6697 < /dev/null 2>/dev/null | \
openssl x509 > freenode.cert
This will download chat.freenode.net:6697's TLS certificate and put it into the
file freenode.cert.
-tls_pinned_cert
----------------
This option allows you to specify the SHA-256 hash of the x509
certificate. When succesfully connected to the server, irssi will verify
that the given server certificate matches the pin set by the user.
The SHA-256 hash of a given certificate can be verified outside of irssi
using the OpenSSL command line tool:
$ openssl x509 -in freenode.cert -fingerprint -sha256 -noout
-tls_pinned_pubkey
------------------
This option allows you to specify the SHA-256 hash of the subject public key
information section of the server certificate. This section contains both the
cryptographic parameters for the public key, but also information about the
algorithm used together with the public key parameters.
When succesfully connected to the server, irssi will verify that the
given public key matches the pin set by the user.
The SHA-256 hash of a public key can be verified outside of irssi using
the OpenSSL command line tool:
$ openssl x509 -in freenode.cert -pubkey -noout | \
openssl pkey -pubin -outform der | \
openssl dgst -sha256 -c | \
tr a-z A-Z
It is possible to specify both -tls_pinned_cert and -tls_pinned_pubkey
together.
2016-10-22 22:01:50 +02:00
Alexander Færøy
c6c2e79537
Display TLS connection information when connected to a TLS enabled server.
2016-10-22 21:58:50 +02:00
Alexander Færøy
1d101afe0d
s/SSL/TLS/ for warning strings.
2016-10-22 21:58:49 +02:00
Alexander Færøy
13f75d49e0
Simplify TLS verification error handling.
2016-10-22 21:58:49 +02:00
Alexander Færøy
b630fd1703
Populate and emit TLS_REC after TLS handshake have completed.
2016-10-22 21:58:49 +02:00
Alexander Færøy
99d017720d
Add TLS_REC.
...
This patch adds the TLS_REC structure. This structure is used to emit
information about the TLS handshake from the core of irssi to the
front-end layers such that we can display connection information to the
user.
2016-10-22 20:37:33 +02: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
Alexander Færøy
da67d3e8e6
Add function to convert a buffer to a colon-delimited hex string.
...
This patch adds binary_to_hex(), which can take an input buffer and
convert it to colon-delimited hex strings suitable for printing for
fingerprints.
2016-10-22 20:36:50 +02:00
Alexander Færøy
6300dfec71
Always build irssi with TLS support.
...
This patch removes the optional checks for whether to build irssi with
TLS support or not. This will allow us to ship a default configuration
file where we connect to TLS enabled IRC servers out of the box.
2016-10-16 14:55:48 +02:00
ailin-nemui
61590f31df
Merge pull request #465 from LemonBoy/netsplit-print
...
Some small adjustments to the netsplit code.
2016-10-11 16:12:35 +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
ailin-nemui
f9fd50a357
nullptr when doing module backward compat on invalid config
2016-09-25 23:17:20 +02:00
ailin-nemui
31044ec004
Merge pull request #542 from LemonBoy/xs-add
...
Expose the CAP fields to the perl scripts.
2016-09-22 17:10:33 +02:00
ailin-nemui
295a4b77f0
Patches for heap corruption and missing bounds check
...
By Gabriel Campana and Adrien Guinet from Quarkslab.
2016-09-20 19:56:06 +02:00
ailin-nemui
b3c6cdbb91
Merge pull request #540 from LemonBoy/reset-autorun
...
/script reset can now also run the autorun scripts
2016-09-19 22:14:57 +02:00
LemonBoy
0e0d99587a
Expose 'cap_toggle' to the perl scripts.
2016-09-15 20:38:04 +02:00
ailin-nemui
b58be939d2
Merge pull request #516 from LemonBoy/comp-file
...
Fix the tab completion for paths starting with ./
2016-09-13 23:29:09 +02:00
LemonBoy
21539019dd
Make sure to make a copy of ERRSV content.
...
Otherwise we might end up showing an empty message.
Fixes #522 .
2016-09-13 17:11:05 +02:00
LemonBoy
9591afcb4b
Expose the CAP fields to the perl scripts.
2016-09-13 16:07:48 +02:00
LemonBoy
b2424f3193
Add a '-autorun' switch to /script reset
...
This way we reload all the scripts in the autorun folder.
2016-09-11 16:59:21 +02:00
LemonBoy
e4f8abc973
Merge pull request #533 from dequis/statusmess
...
Set the default STATUSMSG to @ instead of @+ if it's missing
2016-09-04 12:11:02 +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
ailin-nemui
c8630acbaf
Merge pull request #529 from ailin-nemui/issue500
...
fix nick->host == NULL crash
2016-08-25 04:24:07 +02: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
LemonBoy
251d8a686a
Fix an OOB access in the cutbuffer implementation.
2016-08-24 22:29:52 +02:00
ailin-nemui
681caf2b58
fix nick->host == NULL crash
2016-08-22 12:27:10 +02:00
ailin-nemui
17f4bd2060
Merge pull request #526 from ailin-nemui/ax-dummy
...
remove broken dummy mode
2016-08-14 23:35:41 +02:00
ailin-nemui
de11e0f4f2
remove broken dummy mode
2016-08-12 19:33:56 +02:00
ailin-nemui
b411f943a0
fix use after free in expando error
2016-08-12 18:24:58 +02:00
ailin-nemui
9ee4803770
remove curses terminal and ncurses macro
2016-08-04 10:02:28 +02:00
ailin-nemui
8b47196745
Merge pull request #517 from LemonBoy/unignore
...
Minor cosmetic fix in /unignore error message.
2016-07-13 15:26:37 +02:00
LemonBoy
bd4189907e
Minor cosmetic fix in /unignore error message.
...
Reported here:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577202
2016-07-12 17:38:05 +02:00
LemonBoy
dab3246db9
Fix the tab completion for paths starting with ./
2016-07-12 16:35:43 +02:00
Tom Feist
9559a8ead9
Allow Irssi::signal_remove to work properly with coderefs
2016-07-12 12:42:15 +02:00
LemonBoy
c0f66c95ff
Such draft. Very wow.
2016-06-26 21:45:03 +02:00
LemonBoy
8f5e200551
Avoid entering an endless loop while traversing the channel list
2016-06-26 21:45:03 +02:00
LemonBoy
ed06e43ec8
Some small adjustments to the netsplit code.
...
By making the signal handler hooked to the "print starting" event
smarter we can avoid dumping the whole netsplit stats for every
server/channel when a message arrives.
Issue #420
2016-06-26 21:45:03 +02:00
ailin-nemui
c2c32e3955
check for NULL in statusbar_more_updated
...
fixes crash due to invalid access of active_win members when the more
indicator is triggered without an active window
2016-06-25 21:33:50 +02:00
ailin-nemui
f264a78947
Merge pull request #496 from ailin-nemui/comp
...
completion fixes
2016-06-24 10:05:15 +02:00
LemonBoy
798ce006c2
Merge pull request #498 from vague666/add_modify_functions
...
Add modify to /channel, /server and /network
2016-06-21 22:46:52 +02:00
Jari Matilainen
a4223a3b2e
use TRUE/FALSE in if statements for gboolean
2016-06-21 22:05:21 +02:00
Jari Matilainen
2bb913f0c1
Fix minor nits
2016-06-19 16:35:13 +02:00
Jari Matilainen
4292dbd202
Add command_set_options for modify commands to allow completion
2016-06-18 18:47:11 +02:00
Jari Matilainen
79e30405e6
Let ADD still work as modify
2016-06-18 18:02:04 +02:00
Jari Matilainen
1d2113a638
Add /server modify SYNTAX
2016-06-18 17:53:35 +02:00
Jari Matilainen
421288cf50
Add /network modify
2016-06-18 17:52:47 +02:00
Jari Matilainen
1dd1dde1d4
Add /server modify
2016-06-18 17:52:26 +02:00
Jari Matilainen
92a2384ab0
Add /channel modify
2016-06-18 17:51:58 +02:00
ailin-nemui
77ad62fadb
completion fixes
2016-06-16 21:30:46 +02:00
ailin-nemui
fd371cc345
Merge pull request #422 from LemonBoy/misc-cleanup
...
Clean up misc.c
2016-06-14 12:35:30 +02:00
LemonBoy
2da49e3ca6
Don't crash when the key isn't found.
2016-06-13 22:14:08 +02:00
LemonBoy
862729d7a3
Add a completion_match_case setting.
2016-06-13 22:13:43 +02:00
LemonBoy
78c1c1518a
Be smart about case-matching the nicks.
...
If the prefix contains an uppercase letter then don't use the
case-insensitive search functions.
2016-06-13 21:55:20 +02:00
ailin-nemui
52ced0728b
Merge pull request #492 from LemonBoy/enum
...
Enum setting implementation
2016-06-13 21:47:39 +02:00
LemonBoy
5c8423a08c
Add a space after the comma when listing the options.
2016-06-13 20:27:37 +02:00
LemonBoy
439e21f127
Use ; as separator instead of ,
2016-06-13 14:07:04 +02:00
LemonBoy
9a30ab53df
Move the validation of the CHOICE setting value
...
Also, use a FORMAT to show the error message.
2016-06-13 14:03:00 +02:00
dequis
9ea155f8df
servers-reconnect: pass unix_socket attribute to new connection
...
Trying to /reconnect unix sockets turned them into inet.
2016-06-12 20:28:06 -03:00
LemonBoy
6f795f020d
Strip the surrounding whitespace.
2016-06-12 23:39:22 +02:00
LemonBoy
7307b48bd6
Sort the completion results
...
Make sure the current option is shown first.
2016-06-12 22:58:35 +02:00
LemonBoy
31f12c10df
Use strarray_find instead of g_strv_contains
2016-06-12 16:38:34 +02:00
LemonBoy
86c5e56ef4
Make rejoin_channels_mode of type CHOICE
2016-06-12 16:26:18 +02:00
LemonBoy
bf9d9494db
Add a CHOICE type to the settings system.
...
This is useful to let the user choose an option between a finite set of
valid alternatives.
2016-06-12 16:18:33 +02:00
ailin-nemui
0fad2cd842
Merge pull request #352 from ailin-nemui/silent_perl
...
silent make perl
2016-06-09 22:02:22 +02:00
ailin-nemui
d6d74c0da9
Do not crash on OPTCHAN when item has no server
...
May fix bugs.debian.org#826525
2016-06-06 16:58:40 +02:00
LemonBoy
9fd286fed8
Bump the ABI
2016-06-05 22:47:29 +02:00
LemonBoy
98fce5f807
Deprecate net_connect()
2016-06-05 22:47:04 +02:00
LemonBoy
0060f682c2
Factor out some redundant code and remove hashtable_get_keys
2016-06-05 17:24:27 +02:00
LemonBoy
2e8744319d
str_to_uofft is a tiny wrapper over strtoul{,l}
2016-06-05 16:54:20 +02:00
LemonBoy
cc70e8c581
Clean up some GTimeVal juggling
2016-06-05 16:48:27 +02:00
LemonBoy
e0b290c34f
Update the g_istr_hash function to use the djb hash
2016-06-05 16:24:55 +02:00
LemonBoy
0f9d2b3570
Remove unused regexp_match
2016-06-05 16:24:55 +02:00
LemonBoy
7a3c6fe86c
Replace strarray_length with g_strv_length
2016-06-05 16:24:55 +02:00
LemonBoy
72712a0c62
Replace strocpy with g_strlcpy
...
The only difference was that the former returned 1 if the buffer was
overflown, but the return value was never checked.
2016-06-05 16:24:55 +02:00
LemonBoy
8289f36075
Check the return value of open() in rawlog.c
2016-06-05 16:24:55 +02:00
LemonBoy
bb190be0bf
Replace mkpath with g_mkdir_with_parents
2016-06-05 16:24:55 +02:00
ailin-nemui
e0c8a9f398
perl 5.10 fix
2016-06-05 11:36:13 +02:00
ailin-nemui
03aec7d3b3
silent make perl
2016-06-03 13:55:13 +02:00
LemonBoy
f1d0c8ff99
Correct the name of the emitted signal.
...
There's a typo in 'sasl_fail', the signal that's emitted should be
'server sasl failure' and not 'server sasl fail'.
2016-06-01 22:29:13 +02:00
ailin-nemui
02221eae37
fix dist compilation failure
...
remove illegal wcwidth.c include and compile wcwidth.c
correct #include in wcwidth.c
fallout from #480
2016-05-18 16:50:41 +02:00
ailin-nemui
5995c0619d
abi increase for #480
2016-05-18 14:39:52 +02:00
ailin-nemui
74d38683bf
Merge pull request #480 from xavierog/handle-utf8-nicks-with-mk_wcwidth
...
Handle utf8 nicks with mk_wcwidth()
2016-05-18 09:18:21 +02:00
Xavier G
5d69b4c4a7
Convert string policies from #define to enum.
2016-05-13 17:35:47 +02:00
Xavier G
a26a387545
Adjust some conditions.
2016-05-13 17:31:11 +02:00
Xavier G
72064de9fe
Simplify scrlen_str() using string_width().
2016-05-13 04:19:38 +02:00
Xavier G
29beafcf6f
Improve UTF-8 handling in display_sorted_nicks().
2016-05-13 04:08:15 +02:00
Xavier G
f1b5b515b9
Make get_alignment() available outside special-vars.c
2016-05-13 03:51:48 +02:00
Xavier G
97a4ee78fd
get_alignment: handle UTF-8 strings.
...
get_alignment now works with columns (width), not bytes, although it is liable
to work with bytes if the given text is not a valid UTF-8 string.
2016-05-13 03:42:56 +02:00
Xavier G
09ca3ad48f
Fix indentation of display_sorted_nicks().
...
This was done assuming an "indent with tab, align with spaces" approach.
get_alignment also benefited from a minor indentation fix.
2016-05-13 03:31:23 +02:00
Xavier G
719efc44a3
Introduce string_chars_for_width().
2016-05-13 03:04:08 +02:00
Xavier G
35b3ccc6a4
Introduce string_length() and string_width().
2016-05-13 02:47:26 +02:00
Xavier G
21c07c0060
Leverage string_policy().
2016-05-13 02:27:19 +02:00
Xavier G
2c8648a9c8
Introduce string_policy().
2016-05-13 02:10:02 +02:00
Xavier G
b0afcc96db
Rename advance() into string_advance().
2016-05-13 01:52:37 +02:00
Xavier G
5c74a3bb88
Move advance() from fe-common/core to core.
2016-05-13 01:39:14 +02:00
Xavier G
5538578820
Move utf8.{h,c} from fe-common/core to core.
2016-05-13 01:26:33 +02:00
pisculichi
47e792da05
Fix some ANSI C issues.
2016-05-03 15:28:20 +00:00
isundil
b63339af89
Increased ABI version
2016-04-30 18:26:26 +00:00
isundil
e7a18759ec
Added case-sensitive regexp matching for hilights
2016-04-29 22:17:51 +00:00
B Thibault
ddd5416430
changed command-line -case to -matchcase
2016-04-29 11:00:34 +02:00
B Thibault
d8a6e66699
Ref #421 (Add an option to make /hilight case sensitive)
...
Allow use of /hilight -case exAMPle (compatible with other options)
Added matchcase to hilight config file (exemple: { text = exAMPle; matchcase = yes; } )
2016-04-29 01:01:34 +02:00
B Thibault
9fa3869a97
retab
2016-04-29 00:12:28 +02:00
dequis
2ba4b9d26a
net_gethosterror: Handle EAI_SYSTEM ("System error") properly
...
That error code means "check errno". A few users got it and we never
figured out what happened - it usually fixed itself after restarting
something - so hopefully with this we'll have more information the next
time.
2016-04-07 07:26:19 -03:00
ailin-nemui
1349755bb5
Merge pull request #453 from LemonBoy/dcc-quote
...
Support quoted filenames in some /DCC commands
2016-04-05 22:39:54 +02:00
ailin-nemui
26f875263a
Merge pull request #455 from ailin-nemui/cutbuffer
...
improved cutbuffer handling
2016-03-31 19:13:53 +02:00
ailin-nemui
ec4ecd844b
Revert "Removed the obsolete SQUERY and SERVLIST commands"
...
This reverts commit 4beebe3238
.
2016-03-29 22:41:01 +02:00
ailin-nemui
aec2466e36
Improve cutbuffer handling
...
* Adds two new keys which you can bind in /bind:
yank_next_cutbuffer: Revert to the previous last deleted text
append_next_kill: Append next deletion
* Consecutive kills are now appended to the current cutbuffer
2016-03-29 15:20:45 +02:00
ailin-nemui
b9914abbf3
Make use of terminal application keys configurable
...
adds a new setting term_appkey_mode which can enable or disable the use
of keyboard transmit (application keys) mode. Fixes #430
2016-03-22 23:58:34 +01:00
ailin-nemui
b1ffd5f647
Merge pull request #452 from LemonBoy/terminfo-cup
...
Don't call terminfo_cont() twice on resume
2016-03-22 23:05:27 +01:00
ailin-nemui
9cb0419435
Merge pull request #443 from LemonBoy/chatnet
...
Throw an error when a chatnet has no available url
2016-03-22 23:00:01 +01:00
ailin-nemui
29e160f0bf
Merge pull request #457 from ailin-nemui/fix_450
...
fix race condition in terminal init
2016-03-22 22:57:28 +01:00
ailin-nemui
3bc8afa740
Merge pull request #458 from ailin-nemui/fix_449
...
Properly toggle bracketed paste mode on stop/cont
2016-03-22 22:54:43 +01:00
LemonBoy
897016131e
Don't call terminfo_cont() twice on resume
...
Fixes some weirdness when using ^Z with zsh.
2016-03-22 22:50:24 +01:00
ailin-nemui
d36d34fe04
Merge pull request #456 from ailin-nemui/fix_454
...
cutbuffer: do not unconditionally use replace when noop was requested
2016-03-22 22:47:42 +01:00
ailin-nemui
35d255fc8c
Properly toggle bracketed paste mode on stop/cont
...
Fixes #449
2016-03-22 16:36:30 +01:00
LemonBoy
8b54366d95
Support quoted filenames in some /DCC commands
2016-03-22 16:00:00 +01:00
LemonBoy
e5ee243ab6
Simplify some logic in server_create_conn
2016-03-22 15:45:08 +01:00
ailin-nemui
195c44a76e
Merge pull request #446 from ailin-nemui/fix_445
...
strip less whitespace from commands
2016-03-22 15:23:37 +01:00
ailin-nemui
938d0071c6
fix race condition in terminal init
...
remove the tcgetattr call to a single time on irssi load instead of
querying it each time. Fixes #450
2016-03-22 15:21:20 +01:00
ailin-nemui
117c890d98
cutbuffer: do not unconditionally use replace when noop was requested
2016-03-22 14:43:31 +01:00
ailin-nemui
f7658640fb
Merge pull request #437 from vague666/glob_matching
...
Use glob matching for activity_hide_targets
2016-03-21 11:21:01 +01:00
ailin-nemui
132d3c49f3
strip less whitespace from commands
...
fixes #445
2016-03-20 22:39:06 +01:00
ailin-nemui
2ab2636713
Merge pull request #442 from LemonBoy/fix-435
...
Do not assume any default value for statusmsg.
2016-03-20 22:06:41 +01:00
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
LemonBoy
8394973d5a
Bump the ABI version
...
Since a new format has been added.
2016-03-20 12:16:48 +01:00
LemonBoy
6745dd6159
Throw an error when a chatnet has no available url
...
If you type /connect <CN> and the chatnet <CN> has no url available
let's just throw an error instead of trying to process <CN> as a url.
2016-03-19 14:04:53 +01:00
LemonBoy
f31d37a852
Make ischannel_func return false for empty strings
2016-03-19 12:11:53 +01:00
Jari Matilainen
857e27aef6
Don't use glob matching, just regular string comparisons
2016-03-17 23:58:46 +01:00
LemonBoy
f6c2805b91
Do not assume any default value for statusmsg.
...
If the server didn't send it then just skip the check, the old value it
defaulted to was possibly overlapping with the CHANTYPES leading to an
incorrect behaviour. Fixes #435 .
2016-03-17 22:27:05 +01:00
TheLemonMan
795b7de808
Merge pull request #439 from horgh/ssl-errors
...
Clear error queue before SSL I/O operations
2016-03-17 22:07:57 +01:00
ailin-nemui
49bdd179b2
Merge pull request #438 from dequis/sasl-timeout-disconnect
...
Remove sasl timeout source when the server disconnects
2016-03-17 16:14:34 +01:00
KindOne
bcebed5a72
Replace spaces with tabs
2016-03-14 21:23:37 -04:00
Jari Matilainen
94b823c3cd
Use glob matching for activity_hide_targets
...
spaces vs tabs!
strarray_find* needs to return -1 if no index found
2016-03-14 22:29:36 +01:00
Jari Matilainen
27c37cb3f3
Return -1 from null-test to comply with the rest of strarray_find
2016-03-14 22:17:17 +01:00
Will Storey
8ab6bdf2ce
Add clear error calls to irssi_ssl_get_iochannel
2016-03-13 15:09:52 -07:00
Will Storey
be733d2482
Clear error queue before SSL I/O operations
...
Otherwise we can see errors that are not related to the operation
we check for. SSL_get_error() inspects the thread's error queue.
See https://www.openssl.org/docs/manmaster/ssl/SSL_get_error.html for
more information.
2016-03-13 13:28:04 -07:00
dequis
e853392f43
Remove sasl timeout source when the server disconnects
2016-03-11 14:55:31 -03:00
Giuseppe
66e9c4bb39
Merge pull request #432 from grawity/fix-external
...
fix SASL EXTERNAL
2016-03-08 22:49:05 +01:00
ailin-nemui
8f1f1d879f
Merge pull request #426 from Manishearth/paste-split
...
Make pasting warning appear when long pastes are going to be split into many lines
2016-03-08 22:17:06 +01: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
Lukas Mai
8c1da2890c
irssi proxy: allow listening on unix sockets
2016-03-02 00:53:56 +01:00
Lukas Mai
3fc7e4d4ea
reindent
2016-03-02 00:51:01 +01:00
Lukas Mai
4d234c175c
fix proxy server name
2016-02-26 18:40:51 +01:00
Manish Goregaokar
ef0c7d3e7a
Make pasting warning appear when long pastes are going to be split into many lines
2016-02-24 00:51:11 +05:30
Manish Goregaokar
9f0e5da208
use a #define'd LINE_SPLIT_LIMIT instead of hardcoding 400
2016-02-24 00:42:35 +05:30
Lukas Mai
3167ccfbc2
remove redundant check
2016-02-18 02:23:09 +01:00
Lukas Mai
c9ce0c521a
make pointer check explicit
2016-02-18 02:23:00 +01:00
Lukas Mai
4732e33ca9
irssi proxy: allow multiplexing multiple networks over a single port
2016-02-18 01:20:33 +01:00
Lukas Mai
88e2449f83
fix formatting
2016-02-18 01:20:33 +01:00
Todd A. Pratt
8723c0fb33
fix whitespace
2016-02-10 09:47:10 -05:00
Todd A. Pratt
0ca534c345
Merge branch 'master' of github.com:irssi/irssi
2016-02-10 09:42:42 -05:00
ailin-nemui
0860469900
Merge pull request #413 from dequis/completion-list-crash-fix
...
completion: Fix crash when the complist provided by a script has nulls
2016-02-05 21:39:20 +01:00
Todd A. Pratt
431863852c
Merge branch 'master' of github.com:irssi/irssi
2016-02-04 21:48:41 -05:00
ailin-nemui
af229a8bb7
Merge pull request #410 from LemonBoy/getaddrinfo-v6-flag
...
Getaddrinfo v6 flag
2016-02-03 11:45:11 +01:00
Todd A. Pratt
966d002b55
remove memory allocation check, spaces to tabs
2016-01-30 11:32:08 -05:00
Todd A. Pratt
876609901a
add an append operation to cut buffer handling
2016-01-30 09:34:46 -05:00
dequis
7674fd5936
completion: Fix crash when the complist provided by a script has nulls
...
Can be reproduced with aspell_complete.pl 1.00 by setting an invalid
dictionary with "/set spell_dict a"
2016-01-29 10:40:18 -03:00
LemonBoy
0cc8276e89
Add AI_ADDRCONFIG to the getaddrinfo hints.
...
A first step to untangle the ipv4 vs ipv6 mess.
At the time of writing Linux, OpenBSD and FreeBSD all support the
AI_ADDRCONFIG flag.
2016-01-27 16:16:27 +01:00
LemonBoy
118eb0a68c
Call getnameinfo with NI_NAMEREQD flag.
...
This way net_gethostbyaddr will fail when the system is unable to
resolve the address to a valid host name.
Without this flag in case of failure the function would return the ip
address instead of failing.
2016-01-27 15:54:29 +01:00
LemonBoy
f31b2026b4
Minor style fix in net_ip2host.
2016-01-27 15:04:07 +01:00
LemonBoy
87c0827471
Delete the HAVE_IPV6 ifdef.
...
Welcome to the future.
2016-01-27 14:31:55 +01:00
ailin-nemui
dc03baa0d3
Merge pull request #353 from toddpratt/master
...
Allow for prepending to the cutbuffer in addition to replacing it.
2016-01-26 09:02:38 +01:00
ailin-nemui
c7a3d2822c
Merge pull request #399 from LemonBoy/bots
...
Change when the autocmds are sent.
2016-01-26 09:00:29 +01:00
LemonBoy
d964950e5d
Serialize the 'name' attribute of the CHANNEL_REC.
...
This way the code doing the serialization in 'sig_layout_save_item' is
now symmetric with the loading code loading the data in
'sig_layout_restore'.
2016-01-25 20:48:13 +01: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
ailin-nemui
62cab9d662
Merge pull request #393 from ailin-nemui/moduleversion-perl
...
forward ABI to perl modules
2016-01-11 21:19:35 +01:00
ailin-nemui
bd2c549064
Merge pull request #394 from ailin-nemui/reset-history
...
option to clear the history
2016-01-11 21:04:48 +01:00
ailin-nemui
8f37095969
Merge pull request #389 from ailin-nemui/hilight2-up
...
keep track of address in text_dest for hilight purposes
2016-01-11 21:04:43 +01:00
ailin-nemui
d16f57b378
Merge pull request #390 from LemonBoy/ignore-find
...
Clean up the ignore_find API to make it more powerful.
2016-01-11 21:04:27 +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
ailin-nemui
ad842ea8a6
reorder history add and fixes
2016-01-08 15:42:59 +01:00
ailin-nemui
4659cea65a
option to clear the history
2016-01-08 15:19:13 +01:00
ailin-nemui
cfb6123a7a
forward ABI to perl modules
2016-01-07 09:26:02 +01:00
Lukas Mai
837e03bd8f
irssiproxy: avoid using pointer after freeing it
2016-01-06 12:45:18 +01:00
LemonBoy
dbee606c60
Don't break the API.
...
Have a ignore_find_full method that is the one that all the new code
should be using and provide some working stubs for ignore_find and
ignore_find_noact.
2016-01-03 21:26:57 +01:00
LemonBoy
609f3ba6c2
Clean up the ignore_find API to make it more powerful.
...
This way we prevent the creation of duplicate ignores since the old code
skipped the ignore_find call when a pattern was specified.
It should also cover all the cases where the ignores would be wrongly
overwritten, such as the case outlined in #78 .
2016-01-03 19:49:18 +01:00
ailin-nemui
7cc85b9427
keep track of address in text_dest for hilight purposes
2015-12-28 01:08:35 +01:00
ailin-nemui
5fbad764df
clean up after #303
2015-12-15 00:08:44 +01:00
ailin-nemui
074af68578
Merge pull request #303 from vague666/fs275
...
Applied patch from fs#275 to make /hilight -mask -line work properly
2015-12-15 00:07:18 +01:00
ailin-nemui
38720e0ecb
Merge pull request #306 from dequis/bracketed-paste
...
Implement paste detection via the bracketed paste mode 2: bracket pasterer
2015-12-15 00:06:48 +01:00
dequis
ce77842a98
Bracketed paste: fix nitpick from ahf's review
...
Thanks ahf
2015-12-13 13:56:09 -03:00
ailin-nemui
6e01a23134
ensure staticlib perl works on 5.22 (for now)
2015-12-13 01:09:13 +01:00
dequis
e6fa311590
Bracketed paste: Adjust paste line count if there's text after newlines
...
With bracketed paste, "a\nb" will result in two lines being pasted,
because it's a single thing, with an end marker which the timeout based
pastes don't have.
Due to the way term_gets() counts lines, that input will have
paste_line_count == 1. This can be misleading.
This code adjusts it by looking at the last character, and increasing
the count if it finds anything that isn't a newline.
2015-12-12 01:49:32 -03:00
dequis
38d372eccb
Disable timeout-based paste detection if paste_use_bracketed_mode is on
2015-12-12 01:19:36 -03:00
ailin-nemui
9dd2b7c616
deinit perl on staticperl builds
2015-12-10 14:02:59 +01:00
Todd A. Pratt
5d99a3d59a
Merge branch 'master' of github.com:irssi/irssi
2015-12-09 20:48:21 -05:00
ailin-nemui
ff8ccaf08b
module check irssi version
...
Add explicit checks into every module to match the ABI version defined
in common.h
2015-12-10 00:52:33 +01:00
ailin-nemui
4dc2bab4b4
Merge pull request #371 from LemonBoy/rampage
...
Rewrite some faulty logic handling the saved channels. Fixes #340
2015-12-09 23:07:48 +01:00
dequis
96766b7f05
Remove all WIN32 ifdefs (unifdef -UWIN32)
...
Just use cygwin.
This looks like it wasn't enough to do anything useful, and I don't
think anyone cares about supporting win32 the hard way.
2015-12-09 15:20:59 -03:00
LemonBoy
1749a7a5ab
Minor adjustments.
...
Use g_strcmp0 instead of strcmp.
Explicit checks added for the g_strcmp0 clauses.
2015-12-09 16:16:03 +01:00
LemonBoy
971417caa3
Rewrite some faulty logic handling the saved servers.
2015-12-09 16:02:37 +01:00
LemonBoy
60c501625b
Better function naming
2015-12-09 15:43:31 +01:00
ailin-nemui
20fe5d0c7f
add missing file to Makefile
2015-12-09 14:23:15 +01:00
Ailin Nemui
3532fc4671
Add bindings for exec-type window items to Perl
...
These bindings were missing and resulted in non-hash non-undef active
entries when an interactive process is executing.
2015-12-09 12:05:48 +01:00
ailin-nemui
229c600e99
Merge pull request #174 from ailin-nemui/entry-prompt-colours
...
reimplement format and length logic for the entry prompt
2015-12-09 12:01:00 +01:00
ailin-nemui
57576bb75f
Merge pull request #65 from ailin-nemui/perl-irc-poly
...
forward alternate_nick to Irc::Server attributes
2015-12-09 12:00:30 +01:00
LemonBoy
750df38e8c
Rewrite some faulty logic handling the saved channels.
...
Issue #340 brought to our attention the fact that under certain
circumstances irssi would go on a wild rampage and carelessly overwrite
some saved channel records in the configuration file.
This happened because the code didn't take into account the case where
the channel index in setupchannels wouldn't match the one in the
configuration; this actually happens when the user removes a chatnet
without removing the associated channels.
2015-12-09 00:34:39 +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
dx
99193e9971
Merge pull request #357 from LemonBoy/fix-99+1
...
Correctly alias 'channel' to '#channel'
2015-11-26 19:25:16 -03:00
ailin-nemui
11ad4da0e3
more perl inheritance warning fixes
2015-11-25 12:16:42 +01:00
dx
80141622ed
Merge pull request #365 from ailin-nemui/perl_nick
...
fix nick class hierarchy
2015-11-23 21:02:48 -03:00
ailin-nemui
a941329b41
fix nick class hierarchy
2015-11-24 00:40:19 +01:00
ailin-nemui
877ff075bd
stop cap_sasl
2015-11-24 00:30:12 +01:00
dx
0ca0c882a5
Merge pull request #360 from LemonBoy/backport-patch
...
Save a patch from the Flyspray oblivion, plus a nice unrelated commit to make everyone (un)happy
2015-11-23 13:08:13 -03:00
ailin-nemui
f9654a7e0c
Merge pull request #359 from LemonBoy/dcc-assert
...
Let ignore_check do its work when server is NULL
2015-11-23 10:05:05 +01:00
LemonBoy
0171b1a634
Use the expanded filename when picking the awaylog
...
This fixes a long-standing bug where 'fname' was being feed to cat
instead of 'real_fname', causing it to quit with a 'No such file or directory'
error.
FS#377
2015-11-22 21:59:28 +01:00
LemonBoy
50fae4212e
Use 'isblank()' instead of a custom macro
2015-11-22 21:33:44 +01:00
Fabian Kurz
011eda7d9e
Correct a wrong use of the 'paste_buffer' variable
...
The function "static void paste_buffer_join_lines(GArray *buf)" in
"src/fe-text/gui-readline.c" is supposed to join lines from the GArray
pointed to by *buf under certain circumstances.
In the code of the function "buf" is actually used for getting the length
of the GArray, but to get a pointer to the data, "paste_buffer->data" is
used; paste_buffer is defined in the scope of the whole file.
This delivers the desired result, because this function is only called
once, with "paste_buffer" as the argument. If paste_buffer_join_lines()
will ever be used with a different argument, it will fail.
2015-11-22 21:24:05 +01:00
LemonBoy
8701cbc972
Let ignore_check do its work when server is NULL
...
A NULL-check has been added to the ignore_match_server macro, making the
function safe from a pointer perspective.
Fixes #193 in the meanwhile.
2015-11-22 17:20:00 +01: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
ailin-nemui
fbb838b3b0
Merge pull request #350 from LemonBoy/fix-99
...
Strip trailing whitespace from commands
2015-11-18 22:01:29 +01:00
Todd A. Pratt
15dfb27f80
use the enum name which was the original intended change
2015-11-14 09:07:35 -05:00
Todd A. Pratt
bb8c0bbf4c
fix indentation, undelete line not meant to be deleted.
2015-11-13 20:33:57 -05:00
Todd A. Pratt
f90e10c5d2
remove more cruft from previous implementation
2015-11-13 14:01:25 -05:00
Todd A. Pratt
7768f3e520
remove cruft from previous implementation
2015-11-13 13:51:56 -05:00
Todd A. Pratt
1199ecc62f
a facility for prepending or replacing the cutbuffer
2015-11-13 13:42:28 -05:00
Todd A. Pratt
0b2b3a0b85
Merge branch 'master' of github.com:toddpratt/irssi
2015-11-13 10:59:21 -05:00
ailin-nemui
ac04fa7413
Merge pull request #351 from vague666/hilight_default_behaviour
...
Fix /hilight list output behaviour depending on enabled flags
2015-11-10 11:07:16 +01:00
Jari Matilainen
b333d10364
/hilight list print output with enabled flags, except when -word and -nick are used
2015-11-09 23:06:56 +01:00
LemonBoy
d4676c9855
Use the PARAM_FLAG_STRIP_TRAILING_WS flag wherever possible.
2015-11-09 23:02:41 +01:00
LemonBoy
3d9b9d473f
Strip the trailing whitespace from /join commands.
...
Fixes #99 for great good.
2015-11-09 18:42:49 +01:00
LemonBoy
1006fee802
Add an option to strip trailing whitespace when parsing commands
2015-11-09 17:32:51 +01:00
ailin-nemui
6d6e672e8e
Merge pull request #313 from isundil/master
...
Fix #45 Make it easy to delete default channels, servers and networks
2015-11-09 16:45:19 +01:00
ailin-nemui
0188c1fb5d
Merge pull request #341 from dequis/strsplit-len-fix
...
Fix invalid reads in strsplit_len when splitting on spaces
2015-11-09 16:21:33 +01:00
dequis
b054ade4b9
strsplit_len: make it look more like the original version
2015-11-09 06:46:40 -03:00
dequis
8736c12fc9
strsplit_len: use strlen() directly instead of a remaining_len variable
2015-11-09 06:33:08 -03:00
dequis
8c98e07eab
Merge remote-tracking branch 'origin/master' into bracketed-paste
2015-11-08 14:28:18 -03:00
Todd A. Pratt
4f8974f66e
Merge branch 'master' of github.com:toddpratt/irssi
2015-11-02 08:08:38 -05:00
Todd A. Pratt
3c95f6aae9
Make C-w and M-backspace work right.
2015-11-02 08:00:52 -05:00
ailin-nemui
50775e92e6
Merge pull request #330 from dequis/xterm-keypad-enter
...
Add xterm's keypad enter, meta-O-M to "key return" bindings
2015-11-02 00:15:58 +01:00