Compare commits

...

2,765 commits

Author SHA1 Message Date
ailin-nemui
43f1727ef9
Merge pull request #1611 from horgh/horgh/muon-meson-fmt-workflow
Add muon-meson fmt GitHub Actions workflow
2026-01-27 08:02:34 +00:00
William Storey
54bb34e14f Add muon fmt GitHub Actions workflow 2026-01-26 21:02:10 -08:00
William Storey
7ca9fd5aee Format root meson.build 2026-01-26 21:02:10 -08:00
Ailin Nemui
221d520c37 run meson formatter 2026-01-25 22:07:44 +01:00
ailin-nemui
80b8875fea
Merge pull request #1607 from ailin-nemui/gio-resolver-fixes
GResolver fixes
2026-01-25 18:22:20 +00:00
Ailin Nemui
88afc78aac GResolver fixes
fix issues brought up by @horgh in #1580
2026-01-25 00:25:44 +01:00
ailin-nemui
00466fe5be
Merge pull request #1605 from ailin-nemui/gio-resolver-old
add compatibility code for older GResolver
2026-01-24 20:04:17 +00:00
ailin-nemui
64db7abcec
Merge pull request #1606 from ailin-nemui/comment-warning
fix space in end comment
2026-01-24 20:03:33 +00:00
Ailin Nemui
0157a4424b fix clang-format-xs boot code 2026-01-24 20:53:29 +01:00
Ailin Nemui
00146211d0 fix space in end comment 2026-01-24 18:06:21 +01:00
Ailin Nemui
e9281b2f11 add compatibility code for older GResolver 2026-01-24 18:05:05 +01:00
ailin-nemui
3629a122c6
Merge pull request #1604 from ailin-nemui/perl-irc-dcc
make Irssi::Irc usable without dcc
2026-01-24 15:28:52 +00:00
Ailin Nemui
45d3013f9e up abi 2026-01-24 14:27:18 +01:00
Ailin Nemui
a54677ce99 up perl api 2026-01-24 14:27:16 +01:00
Ailin Nemui
2012668bef make Irssi::Irc usable without dcc 2026-01-24 14:27:16 +01:00
Ailin Nemui
51322d6af1 restore ip4_any 2026-01-24 13:53:23 +01:00
ailin-nemui
3c65684643
Merge pull request #1568 from nikolas/patch-2
Add a few more compile dependencies to INSTALL document
2026-01-23 21:18:17 +00:00
nikolas
c6d15ee461 Add a few more compile dependencies to INSTALL document 2026-01-23 22:17:39 +01:00
ailin-nemui
62031f5bdc
Merge pull request #1580 from ailin-nemui/gio-resolver
use GIO resolver
2026-01-23 20:42:55 +00:00
Ailin Nemui
e64ed836a5 up glib wrap 2026-01-23 21:21:10 +01:00
Ailin Nemui
51f2a4f7fb use GIO resolver
change: rename resolve_prefer_ipv6 -> irssiproxy_prefer_ipv6
2026-01-23 21:21:10 +01:00
ailin-nemui
d5be7d7756
Merge pull request #1578 from ailin-nemui/cygwin
make compilation work on cygwin
2026-01-23 20:20:43 +00:00
ailin-nemui
81887a6224
Merge pull request #1599 from ailin-nemui/docs
run syncdocs.sh
2025-12-27 21:46:58 +00:00
ailin-nemui
97304bb7c0
Merge pull request #1600 from ailin-nemui/github
github actions: update package lists
2025-12-27 21:46:19 +00:00
Ailin Nemui
d30cdafcff github actions: update package lists 2025-12-27 22:41:02 +01:00
Ailin Nemui
82b253f63e run syncdocs.sh
added New-users and qna, removed faq and startup-HOWTO from sync
2025-12-27 22:35:23 +01:00
ailin-nemui
ebdf863925
Merge pull request #1597 from ailin-nemui/scripts
run syncscripts.sh
2025-12-27 19:42:18 +00:00
Ailin Nemui
d145f24c22 run syncscripts.sh
autoop 1.10 -> 1.11
mail 2.92 -> 2.93
scriptassist 2022053100 -> 2023111700
2025-12-27 20:41:26 +01:00
ailin-nemui
6c72dc14fa
Merge pull request #1594 from soulseller/fix/hide-text-style-colors
formats: fix hide_text_style and hide_colors to mitigate color bleed
2025-11-27 11:16:35 +00:00
soulseller
3811b1ffc9 formats: fix hide_text_style and hide_colors to mitigate color bleed 2025-11-27 00:59:18 +02:00
ailin-nemui
89dc74cbdd
Merge pull request #1591 from soulseller/fix/netsplit-nickname-truncation
fe-netsplit: fix nickname truncation to avoid trailing comma-space
2025-11-25 13:19:12 +00:00
ailin-nemui
bab97b4c0c
Merge pull request #1588 from arza-zara/patch-1
Increase default scrollback_lines
2025-11-25 12:23:40 +00:00
soulseller
5416843d2d fe-netsplit: fix nickname truncation to avoid trailing comma-space 2025-11-23 15:15:24 +02:00
ailin-nemui
f4a4bcb4b8
Merge pull request #1590 from jremes-foss/lusers-in-typo-fix
Typo fix in docs/help/in/lusers.in
2025-11-22 15:08:00 +00:00
Juha Remes
3316202c48 Typo fix in docs/help/in/lusers.in 2025-11-22 14:27:53 +00:00
arza
f293277765
Increase default scrollback_lines
It seems common that people miss important messages when being away and want to increase the scrollback.
2025-09-23 00:01:54 +03:00
ailin-nemui
e70993c4b6
Merge pull request #1577 from ailin-nemui/glib276
replace str->str & g_string_free with g_string_free_and_steal
2025-07-26 17:32:43 +00:00
Ailin Nemui
989ddd8429 replace shared_module with shared_library
according to mesonbuild irc chat
2025-07-25 19:49:53 +02:00
Ailin Nemui
df8aa42778 make compilation work on cygwin 2025-07-25 16:20:28 +01:00
ailin-nemui
cc24b2c54c
Merge pull request #1579 from ailin-nemui/ghvoid
fix xbps github action
2025-07-25 14:48:09 +00:00
Ailin Nemui
d21ff2e658 fix xbps 2025-07-25 16:24:11 +02:00
Ailin Nemui
8eee36d1ea replace str->str & g_string_free with g_string_free_and_steal
solving unused warning in GLib 2.76
2025-07-22 12:03:49 +02:00
ailin-nemui
995e77c30d
Merge pull request #1575 from irssi/hilight_syntax_update
Add -priority to hilight syntax line
2025-07-21 16:51:55 +00:00
ailin-nemui
216715bc81
Merge pull request #1576 from ailin-nemui/solaris
fix github solaris test
2025-07-21 16:51:40 +00:00
Ailin Nemui
9f0b2bc50d detect third argument type of puts 2025-07-21 18:35:09 +02:00
Ailin Nemui
6276fe1a68 debug logging solarisvm prepare 2025-07-20 23:03:52 +02:00
Jari Matilainen
7681cb7585
Add -priority to hilight syntax line 2025-07-20 22:40:59 +02:00
ailin-nemui
aa285d45cd
Merge pull request #1572 from ailin-nemui/perl-redefined
fix _GNU_SOURCE redefined warning due to perl ccflags
2025-07-13 17:57:31 +00:00
Ailin Nemui
838f8d179e fix _GNU_SOURCE redefined warning due to perl ccflags 2025-07-13 19:33:52 +02:00
ailin-nemui
599448af2e
Merge pull request #1566 from ar-an-ribe/fix-for-issue-1513
Resolve issue #1513.
2025-05-02 05:56:26 +00:00
Christian Carey
f12ed4ff54 Resolve issue #1513. 2025-05-02 00:02:46 -04:00
ailin-nemui
4ec9d10904
Merge pull request #1560 from ailin-nemui/wchar
add missing include for wcwidth thread test
2025-04-29 20:34:42 +00:00
Ailin Nemui
9fd6df2a15 add missing include for wcwidth thread test 2025-04-29 22:27:14 +02:00
ailin-nemui
4b33824249
Merge pull request #1565 from ailin-nemui/void
Void Linux github action fixes
2025-04-29 20:26:31 +00:00
Ailin Nemui
8eea7bef92 curl render 2025-04-29 22:19:02 +02:00
Ailin Nemui
af4fa60d3e s/gsed/sed 2025-04-29 22:14:52 +02:00
ailin-nemui
824c1aa376
Merge pull request #1563 from ailin-nemui/void
test the void
2025-04-29 20:08:05 +00:00
Ailin Nemui
5c53f2a329 test the void 2025-04-29 22:03:33 +02:00
ailin-nemui
f857f29eaf
Merge pull request #1564 from ailin-nemui/pep440
adapt pep440 dev version in make-dist.sh
2025-04-29 20:02:49 +00:00
Ailin Nemui
4857586564 adapt pep440 dev version in make-dist.sh 2025-04-29 20:52:56 +02:00
ailin-nemui
b14bc4a2fc
Merge pull request #1559 from ailin-nemui/bitwarnings
make bitfields unsigned
2025-04-27 12:41:57 +00:00
Ailin Nemui
c7c8d074bd up abi 2025-04-27 14:31:53 +02:00
Ailin Nemui
8acda3f9eb make bitfields unsigned 2025-04-27 14:31:01 +02:00
ailin-nemui
39d15558d2
Merge pull request #1561 from ailin-nemui/ghactions
update to ubuntu 22.04 in github actions
2025-04-27 10:35:46 +00:00
Ailin Nemui
b9511a9b7e update to ubuntu 22.04 in github actions 2025-04-27 12:23:54 +02:00
ailin-nemui
4449455113
Merge pull request #1558 from ailin-nemui/darwin-warning
fe-text: remove const for better Darwin support
2025-04-14 17:23:36 +00:00
Emil Engler
32adf7c1dd fe-text: remove const for better Darwin support
This commit removes the `const` qualifier from certain member fields,
as the Darwin version of several `<term.h>` related functions only
accept a `char *` rather than a `const char *`, thereby resulting in
dozens of compiler warnings.
2025-04-14 18:16:04 +02:00
ailin-nemui
a5441f62b9
Merge pull request #1542 from sortie/HOST_NOT_FOUND
Fix using HOST_NOT_FOUND instead of EAI_NONAME.
2025-04-14 13:36:51 +00:00
ailin-nemui
a1c8edfa44
Merge pull request #1541 from sortie/inet_aton
Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
2025-04-14 13:36:44 +00:00
ailin-nemui
efd8f9b3a5
Merge pull request #1540 from sortie/select
Include <sys/select.h> to get select(3).
2025-04-14 13:36:35 +00:00
Jonas 'Sortie' Termansen
f24d859c80 Fix using HOST_NOT_FOUND instead of EAI_NONAME.
HOST_NOT_FOUND is a gethostbyname(3) error condition rather than a
getaddrinfo(3) error condition and cannot be passed to net_gethosterror
as documented as it calls gai_strerror(3). EAI_NONAME is the appropriate
similar error condition as standardized by POSIX for getaddrinfo(3).
2025-04-14 15:09:27 +02:00
Jonas 'Sortie' Termansen
38440cf340 Replace obsolescent inet_addr(3)/inet_aton(3) with inet_pton(3).
inet_addr has become obsolescent as of POSIX-1.2024 and is not available
on strict POSIX 2024 libc implementations.

inet_pton(3) is the standard and portable replacement available on all
POSIX-1.2001 systems.
2025-04-14 15:08:55 +02:00
Jonas 'Sortie' Termansen
4b2951c828 Include <sys/select.h> to get select(3).
This is the header required by POSIX-1.2024.

This change is needed to build irssi on operating systems such as Sortix
that have a strict libc without obsolete behaviors.
2025-04-14 15:08:02 +02:00
ailin-nemui
5a9a9ababa
Merge pull request #1557 from ailin-nemui/solarisvm
test solaris build with github/vmactions
2025-04-14 13:07:23 +00:00
Ailin Nemui
6dce0a091b test solaris build with vmactions 2025-04-08 09:03:10 +02:00
Ailin Nemui
382bde9ab3 namespace TERM_REC functions (conflict with curses.h) 2025-04-08 09:03:00 +02:00
Ailin Nemui
7bac5eb762 include curses.h when needed 2025-04-08 09:03:00 +02:00
ailin-nemui
fca3e83e68
Merge pull request #1543 from Steering7253/master
add ipaddr and family to perl SERVER_REC (and connrec)
2025-04-08 06:05:42 +00:00
ailin-nemui
23ec63ae39
Merge pull request #1556 from Steering7253/fix_sasl_multi_cap
fix irssi SASL negotiation with multiple CAP ACK
2025-04-07 20:37:18 +00:00
steering7253
99c37387a4
bump ABI_VERSION 2025-04-07 14:36:10 -06:00
ailin-nemui
85bb6ef008
Merge pull request #1552 from ailin-nemui/tv2
initialise memory in ctcp ping reply
2025-04-07 20:33:53 +00:00
steering7253
49d7302e98
fix irssi SASL negotiation with multiple CAP ACK
when attempting SASL, if multiple CAP ACK were received (for example,
because a script sent an additional CAP REQ), then any not containing
`sasl` would cause SASL to fail (immediately aborting the connection
with no message, depending on sasl_disconnect_on_failure setting)

check not only if SASL is set in this line, but also if we've already
seen it in a previous line.
2025-04-07 13:53:39 -06:00
steering7253
26fd0585cd
add ipaddr and family to connrec and perl SERVER_REC 2025-04-07 13:51:49 -06:00
Ailin Nemui
d6c146a1fa initialise memory in ctcp ping reply 2025-03-24 08:54:01 +01:00
ailin-nemui
ee4471a118
Merge pull request #1546 from ailin-nemui/setuptools
fix github workflow setuptools
2024-12-16 20:00:54 +00:00
Ailin Nemui
e8e5bf5d81 patch old setuptools for python 3.12 for github workflow 2024-12-16 20:57:44 +01:00
Ailin Nemui
a7bb40f530 pin setuptools and meson ver for make dist in workflow 2024-12-16 20:57:27 +01:00
Ailin Nemui
a775f50572 add glib dependency to github workflows 2024-12-16 20:57:27 +01:00
Ailin Nemui
ca1cd7a26a new setuptools broken in github workflow 2024-12-16 20:57:27 +01:00
ailin-nemui
344dd0fbd4
Merge pull request #1545 from plundra/plundra/actions-upload-fix
github workflows: Bump actions/upload-artifact from deprecated (defunct) v1 to v4.
2024-12-16 19:56:05 +00:00
Pontus Lundkvist
ae094ba3e6 Bump actions/upload-artifact from deprecated (defunct) v1 to v4. 2024-11-18 22:43:57 +01:00
ailin-nemui
0697e3eaf1
Merge pull request #1527 from ardovm/capsicumdoc
Mention the section for capsicum settings.
2024-05-13 20:11:09 +00:00
Arrigo Marchiori
2dce273264 Mention the section of the capsicum settings. 2024-04-27 21:38:21 +02:00
ailin-nemui
5c15937554
Merge pull request #1525 from ailin-nemui/bans
fix /ban command
2024-04-12 21:18:39 +00:00
Ailin Nemui
19e7d3f6b8 up abi 2024-04-12 23:00:52 +02:00
Ailin Nemui
822fd50132 fix /ban command 2024-04-12 22:55:20 +02:00
ailin-nemui
4b48cdce65
Merge pull request #1523 from irssi/from-codeberg
From codeberg
2024-04-02 06:29:49 +00:00
ailin-nemui
c906b769fd
Merge pull request #1522 from dwfreed/fix-missing-nl
Ensure all text files have newlines at the end
2024-04-02 06:27:24 +00:00
Doug Freed
9d0787fc10 Ensure all files have newlines at the end 2024-04-02 05:23:10 +00:00
ailin-nemui
89f3e1acf5
Merge pull request #1519 from ailin-nemui/openssl3
deprecated openssl3 function
2024-04-01 20:36:00 +00:00
ailin-nemui
7b56ffdc2e
Merge pull request #1518 from ailin-nemui/dylib
fix deprecation in new glib module_open
2024-04-01 20:35:05 +00:00
ailin-nemui
bb4ed2b14f
Merge pull request #1521 from ailin-nemui/nodejs
github actions nodejs churn
2024-04-01 20:33:21 +00:00
Ailin Nemui
455dcb18ec deprecated openssl3 function 2024-04-01 22:31:53 +02:00
Ailin Nemui
111e9160a9 github actions nodejs churn 2024-04-01 22:28:17 +02:00
ailin-nemui
d30653f7f9
Merge pull request #1520 from irssi/readme-perl-ver
Update minimum required Perl version in readme
2024-04-01 20:11:15 +00:00
ailin-nemui
c48354307e
Update minimum required Perl version in readme 2024-04-01 22:10:35 +02:00
Ailin Nemui
e13df83dc8 new code for g_module_open which might work with apple dylibs given new enough glib 2024-04-01 17:38:30 +02:00
ailin-nemui
b18832bf3b
Merge pull request #1500 from patrick-irc/scram
Added support for SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512
2024-04-01 15:17:16 +00:00
Ailin Nemui
2f2fa029f9 up abi 2024-04-01 16:37:35 +02:00
Ailin Nemui
08bb648850 proper sasl mechanism variable initialisation 2024-04-01 16:33:57 +02:00
Ailin Nemui
98b391f62e minor cleanup 2024-04-01 16:33:36 +02:00
Patrick Okraku
f2b97631e1 Added support for SCRAM-SHA-1, SCRAM-SHA-256 and SCRAM-SHA-512 2024-04-01 15:12:01 +02:00
ailin-nemui
215be29035 Merge pull request 'Fix github issue #1504 - irssi switches to af_unix if network name contains /' (!6) from ticho/irssi:gh1504 into master
Reviewed-on: https://codeberg.org/irssi/irssi/pulls/6
2024-04-01 08:42:17 +00:00
Andrej Kacian
e295caa866 Fix github issue #1504 - irssi switches to af_unix if network name contains /
In addition to looking for a /, we also check if the network name is
known.
2024-04-01 08:42:17 +00:00
ailin-nemui
91dac0e5a1
Merge pull request #1512 from ailin-nemui/shquote
missing shell quotes
2024-03-31 16:53:57 +00:00
ailin-nemui
aebc0667a6
Merge pull request #1515 from maflcko/patch-1
Update server.c: Add missing include
2024-03-31 16:53:44 +00:00
maflcko
cf6615a70e
Update server.c: Add missing include 2024-03-28 19:33:24 +01:00
Ailin Nemui
4dd57cf24e missing shell quotes 2024-02-23 17:04:41 +01:00
ailin-nemui
b3f6ed0b11
Merge pull request #1511 from soliton-/patch-1
typo fixes
2024-02-01 21:24:30 +00:00
Gunter Labes
41f8213fe0
typo fixes 2024-02-01 21:56:20 +01:00
ailin-nemui
504fd7bc60
Merge pull request #1510 from ailin-nemui/perl-again
restore locale if perl breaks it
2024-01-27 17:42:42 +00:00
Ailin Nemui
a0caf5e5e6 restore locale if perl breaks it 2023-12-22 15:06:23 +01:00
Ailin Nemui
514f1cdcf6 Revert "Merge pull request #1498 from ailin-nemui/perl5380locale"
This reverts commit 48bc90eb17, reversing
changes made to 2a1291f26f.
2023-12-22 15:06:23 +01:00
ailin-nemui
2f16b554b5
Merge pull request #1509 from ailin-nemui/compile-deps
explicitly list pkg-config as build dependency
2023-12-19 12:53:20 +00:00
Ailin Nemui
a11df816b7 explicitly list pkg-config as build dependency, since meson needs it to find glib 2023-12-19 13:51:46 +01:00
ailin-nemui
89adcc4ee8
Merge pull request #1505 from irssi/vague666-patch-1
Update bind.in
2023-11-11 13:55:37 +00:00
Jari Matilainen
ed2825f28b
Update bind.in
Better explanation for upper-/lowercase usage for keys
2023-11-11 02:13:34 +01:00
ailin-nemui
363fbf048f
Merge pull request #1502 from irssi/ailin-nemui/window-default-help
Add SET window_default_ to See also in window help
2023-10-31 10:00:46 +00:00
ailin-nemui
ea434591f4
Add SET window_default_ to See also in window help 2023-10-31 10:58:14 +01:00
Ailin Nemui
465d3188a4 Merge tag '1.4.5' into integrate/1.4.5 2023-10-01 19:19:33 +02:00
Ailin Nemui
bcf07a2546 tag as 1.4.5 2023-10-01 15:46:01 +02:00
ailin-nemui
ce4dd911bc Merge pull request #1497 from ailin-nemui/github-workflow-error
Slightly improve GitHub workflow

(cherry picked from commit 2a1291f26f)
2023-10-01 14:25:50 +02:00
ailin-nemui
6438fcfe70 Merge pull request #1498 from ailin-nemui/perl5380locale
Restore locale after loading Perl

(cherry picked from commit 48bc90eb17)
2023-10-01 14:03:11 +02:00
ailin-nemui
91593cfec3 Merge pull request #1495 from ailin-nemui/terminclude
fe-text: include the real tputs(3) from term.h
(cherry picked from commit db32744ee4)
2023-10-01 14:01:47 +02:00
ailin-nemui
7145e1ef20 Merge pull request #1494 from RealKindOne/master
Add -notls and -notls_verify into help file and src/core/chat-commands.c

(cherry picked from commit e7f1268478)
2023-10-01 14:01:21 +02:00
ailin-nemui
db4dad3dd0 Merge pull request #1493 from ailin-nemui/macsuffix
add explicit name_suffix to shared modules

(cherry picked from commit f1c9fb4296)
2023-10-01 14:01:11 +02:00
ailin-nemui
1226a587b7 Merge pull request #1492 from ailin-nemui/meson-apple
document meson apple workaround

(cherry picked from commit 8c8e4e34d4)
2023-10-01 13:57:17 +02:00
ailin-nemui
5a0dc0db09 Merge pull request #1488 from emilengler/remove-unused-var
core: remove unused len variable
(cherry picked from commit f04375668c)
2023-10-01 13:55:52 +02:00
ailin-nemui
590ca4dbdf Merge pull request #1484 from ailin-nemui/realposix
change realpath to use syntax based on _POSIX_VERSION

(cherry picked from commit f9c9485d15)
2023-10-01 13:54:39 +02:00
ailin-nemui
edfbc1f2f6 Merge pull request #1478 from ailin-nemui/buildperl
update perl requirement in install file

(cherry picked from commit 3f203dc382)
2023-10-01 13:53:35 +02:00
ailin-nemui
7f32ed012c Merge pull request #1474 from ailin-nemui/perl5380
fix usage of $type in ExtUtils::ParseXS 3.50

(cherry picked from commit da49ec62e6)
2023-10-01 13:51:11 +02:00
ailin-nemui
7f67b5deb0 Merge pull request #1471 from irssi/from-codeberg
Sync

(cherry picked from commit 274977a587)
2023-10-01 13:50:19 +02:00
ailin-nemui
8afbd6511c Merge pull request #1467 from ScoreUnder/perl_warning_to_stderr
Print perl import warning to STDERR

(cherry picked from commit e732b601f7)
2023-10-01 13:48:49 +02:00
ailin-nemui
6b65492b65 Merge pull request #1462 from mauke/upgrade-tilde-expand
expand ~ to $HOME in /upgrade

(cherry picked from commit 5c42345ea2)
2023-10-01 13:47:36 +02:00
ailin-nemui
160c2401a5 Merge pull request #1458 from ailin-nemui/help-toglev
update level toggle help

(cherry picked from commit c6ad171fe9)
2023-10-01 13:46:28 +02:00
ailin-nemui
48bc90eb17
Merge pull request #1498 from ailin-nemui/perl5380locale
Restore locale after loading Perl
2023-10-01 11:31:07 +00:00
Ailin Nemui
dfca0a9f84 Restore locale after loading Perl 2023-09-22 14:59:22 +02:00
ailin-nemui
2a1291f26f
Merge pull request #1497 from ailin-nemui/github-workflow-error
Slightly improve GitHub workflow
2023-09-14 13:32:44 +00:00
Ailin Nemui
7c5b2db269 add separate annotation-warnings step
see 2908d82845/src/Runner.Worker/Handlers/OutputManager.cs (L320)
see https://github.com/actions/runner/issues/763#issuecomment-1435735340
2023-09-14 15:24:19 +02:00
ailin-nemui
db32744ee4
Merge pull request #1495 from ailin-nemui/terminclude
fe-text: include the real tputs(3) from term.h
2023-09-13 20:55:21 +00:00
Ailin Nemui
4bc354d5e4 load all modules in the right order during check 2023-09-13 22:54:46 +02:00
Ailin Nemui
8c2fa0687e silence clang perl warning on affected version 2023-09-13 22:51:29 +02:00
Emil Engler
4ceafbeea4 fe-text: include the real tputs(3) from term.h
This commit includes the real `tpus(3)` function from the appropriate
`term.h` header file, if found.

This commit is necessary to fix a compiler warning on Darwin.
2023-09-12 17:20:21 +02:00
ailin-nemui
f04375668c
Merge pull request #1488 from emilengler/remove-unused-var
core: remove unused len variable
2023-09-12 14:53:59 +00:00
Ailin Nemui
fe6013be42 improve code formatting 2023-09-12 13:51:36 +02:00
ailin-nemui
f1c9fb4296
Merge pull request #1493 from ailin-nemui/macsuffix
add explicit name_suffix to shared modules
2023-09-12 11:27:03 +00:00
ailin-nemui
e7f1268478
Merge pull request #1494 from RealKindOne/master
Add -notls and -notls_verify into help file and src/core/chat-commands.c
2023-09-09 11:00:37 +00:00
KindOne
9ab78d0160 Add -notls and -notls_verify into help file and src/core/chat-commands.c 2023-09-09 05:25:30 -04:00
ailin-nemui
8c8e4e34d4
Merge pull request #1492 from ailin-nemui/meson-apple
document meson apple workaround
2023-09-06 14:04:20 +00:00
Ailin Nemui
523a42e6f0 document meson apple workaround
workaround for https://github.com/mesonbuild/meson/issues/11165
2023-09-04 21:42:18 +02:00
ailin-nemui
58ca3af360
Merge pull request #1491 from ailin-nemui/serveradd-crash
stop crash on server add
2023-08-26 17:11:38 +00:00
Ailin Nemui
a037f68f02 stop crash on server add
reported by nsprra
2023-08-22 22:28:36 +02:00
ailin-nemui
07b971cf0c
Merge pull request #1486 from vague666/edit_command_history
patch by petteri_ to enable bash-like editing of window history
2023-08-18 13:57:14 +00:00
Emil Engler
3aa9734c1c
core: remove unused len variable
This commit removes the unused `len` variable, which gets set quite a
few times, but whose value is totally unused.

This also fixes a compiler warning I get on my Darwin.
2023-08-14 12:01:31 +02:00
vague666
96dbcef166 patch by petteri_ to enable bash-like editing of window history 2023-08-14 11:35:06 +02:00
Ailin Nemui
c0db0b8cb8 add explicit name_suffix to shared modules 2023-08-10 10:19:01 +02:00
ailin-nemui
f9c9485d15
Merge pull request #1484 from ailin-nemui/realposix
change realpath to use syntax based on _POSIX_VERSION
2023-08-09 18:52:16 +00:00
Ailin Nemui
1131a881cf change realpath to use syntax based on _POSIX_VERSION 2023-08-08 07:59:31 +02:00
ailin-nemui
3f203dc382
Merge pull request #1478 from ailin-nemui/buildperl
update perl requirement in install file
2023-07-19 18:26:45 +00:00
Ailin Nemui
c93c61bf99 update perl requirement in install file 2023-07-19 20:04:25 +02:00
ailin-nemui
da49ec62e6
Merge pull request #1474 from ailin-nemui/perl5380
fix usage of $type in ExtUtils::ParseXS 3.50
2023-07-18 22:05:28 +00:00
Ailin Nemui
3ec05851a0 fix usage of $type in ExtUtils::ParseXS 3.50 2023-07-04 12:33:01 +02:00
ailin-nemui
274977a587
Merge pull request #1471 from irssi/from-codeberg
Sync
2023-05-25 11:00:40 +00:00
ailin-nemui
83ebc0a0e3
Merge pull request #1457 from examknow/listmode-timestamps
properly format listmodes and their timestamps
2023-05-25 11:00:32 +00:00
Ailin Nemui
685816e945 up abi 2023-05-25 11:48:31 +02:00
Ailin Nemui
0355ed0bea format 2023-05-25 11:42:15 +02:00
Ailin Nemui
0bcff291e9 order 2023-05-25 11:36:25 +02:00
ailin-nemui
ffe4dbac67 Merge pull request 'Fix logic in how own actions are printed for other protocols' (!5) from ticho/irssi:nonirc-own-action-print-fix into master
Reviewed-on: https://codeberg.org/irssi/irssi/pulls/5
2023-05-05 11:33:59 +00:00
Andrej Kacian
9e9858638d Fix logic in how own actions are printed for other protocols
When working with channels belonging to other, non-IRC protocols,
calling irc_channel_find() returns NULL, which makes irssi
use IRCTXT_OWN_ACTION_TARGET format, instead of the correct
IRCTXT_OWN_ACTION.

Using generic channel_find() instead fixes the issue.
2023-05-04 23:10:27 +02:00
ailin-nemui
e732b601f7
Merge pull request #1467 from ScoreUnder/perl_warning_to_stderr
Print perl import warning to STDERR
2023-04-15 14:08:31 +00:00
Score_Under
c5df1c01cc
Print perl import warning to STDERR
Printing to STDOUT can interfere with programs which intend to produce
machine-readable output and yet for whatever reason import Irssi.pm from
outside of irssi.

Closes https://github.com/irssi/irssi/issues/1465
2023-04-15 00:39:38 +01:00
ailin-nemui
a8a2460531
Merge pull request #1463 from ailin-nemui/github-ubuntu
update github workflows ubuntu
2023-04-04 13:29:32 +00:00
Ailin Nemui
a93c51796d update github workflows ubuntu 2023-04-04 15:18:54 +02:00
ailin-nemui
5c42345ea2
Merge pull request #1462 from mauke/upgrade-tilde-expand
expand ~ to $HOME in /upgrade
2023-04-04 13:12:50 +00:00
Lukas Mai
ca148a0122 expand ~ to $HOME in /upgrade
Fixes #1460.
2023-04-04 11:24:18 +02:00
ailin-nemui
c6ad171fe9
Merge pull request #1458 from ailin-nemui/help-toglev
update level toggle help
2023-03-31 12:43:36 +00:00
Ailin Nemui
960d185b42 update level toggle help 2023-03-31 14:42:50 +02:00
Ailin Nemui
152468efd0 Merge tag '1.4.4' into integrate/1.4.4 2023-03-31 04:24:56 +08:00
Ailin Nemui
a09fcb9093 tag as 1.4.4 2023-03-28 14:12:28 +02:00
David Schultz
ee12134812
clean up time_ago()
Co-authored-by: Doug Freed <dwfreed@mtu.edu>
2023-03-27 19:37:48 -05:00
David Schultz
201296a0da add time_ago() in addition to timestamps; deduplicate qlist logic 2023-03-27 18:21:36 -05:00
ailin-nemui
78d00b99b4 Merge pull request #1456 from ailin-nemui/collector
fix stale special collector use after free

(cherry picked from commit c03057f36a)
2023-03-27 23:21:04 +02:00
ailin-nemui
9948a18fce Merge pull request #1455 from irssi/vague666-typo-fix
Update ignore.in

(cherry picked from commit 6671fec9a9)
2023-03-27 23:21:00 +02:00
ailin-nemui
6d3284f7e9 Merge pull request #1454 from irssi/from-codeberg
Sync

(cherry picked from commit 2b91c45f5d)
2023-03-27 23:20:56 +02:00
ailin-nemui
38a80b21ea Merge pull request #1453 from irssi/vague666-ignore-in-update
Update ignore.in

(cherry picked from commit 706b6fff81)
2023-03-27 23:20:43 +02:00
ailin-nemui
d1319b422b Merge pull request #1452 from irssi/vague666-levels-in-update
Update levels.in

(cherry picked from commit 1c9990acab)
2023-03-27 23:20:30 +02:00
ailin-nemui
75fd596084 Merge pull request #1447 from ailin-nemui/signalsfile-fix
fix signalsfile some more

(cherry picked from commit c1fd4b17f5)
2023-03-27 23:19:50 +02:00
ailin-nemui
82618ce25d Merge pull request #1446 from ailin-nemui/signalsfile-fix
fix signals file

(cherry picked from commit 2ac1f01b94)
2023-03-27 23:19:43 +02:00
ailin-nemui
377824ae7f Merge pull request #1442 from lheckemann/master
Support receiving monospace

(cherry picked from commit c06be88d8f)
2023-03-27 23:19:16 +02:00
ailin-nemui
2f0a165569 Merge pull request #1439 from irssi/from-codeberg
Sync

(cherry picked from commit de43e9e067)
2023-03-27 23:18:15 +02:00
ailin-nemui
0438c7f0b2 Merge pull request #1438 from qoreQyaS/master
Lang-Fix: Use more general messages
(cherry picked from commit 162dc256be)
2023-03-27 23:18:00 +02:00
ailin-nemui
af8e40b744 Merge pull request #1434 from irssi/ailin-nemui/statusbar-help
correct statusbar help text

(cherry picked from commit 7445ad1f15)
2023-03-27 23:17:36 +02:00
ailin-nemui
473cf8ca3f Merge pull request #1432 from horgh/horgh/win-logfile
Check window logfile parameter

(cherry picked from commit 6f5026fd49)
2023-03-27 23:17:12 +02:00
ailin-nemui
f422b98613 Merge pull request #1431 from ailin-nemui/missing-news
add missing news reference

(cherry picked from commit f8500320cf)
2023-03-27 23:15:41 +02:00
ailin-nemui
8a8fb77408 Merge pull request #1429 from ailin-nemui/docs-revamp
remove ported sections from manual and add links

(cherry picked from commit 42f83fc130)
2023-03-27 23:14:58 +02:00
ailin-nemui
8f79457769 Merge pull request #1428 from ailin-nemui/flip-level
add (hide)level flip command

(cherry picked from commit 88cc48651d)
2023-03-27 23:14:28 +02:00
ailin-nemui
1426ae87b1 Merge pull request #1424 from ailin-nemui/lastlog
fix lastlog -window

(cherry picked from commit 6e3745f423)
2023-03-27 23:13:48 +02:00
ailin-nemui
f32701b906 Merge pull request #1421 from j1mmie/patch-1
Add parameter LIST to STATUSBAR documentation

(cherry picked from commit b988b2925b)
2023-03-27 23:00:46 +02:00
Ailin Nemui
f21df708b0 up version 2023-03-27 22:59:49 +02:00
ailin-nemui
c03057f36a
Merge pull request #1456 from ailin-nemui/collector
fix stale special collector use after free
2023-03-27 20:46:56 +00:00
ailin-nemui
d627e56021
Merge pull request #1450 from ailin-nemui/fix-1449
fix crash on connect in startup
2023-03-27 20:46:41 +00:00
David Schultz
9324ff9f68 this should work for everyone 2023-03-27 11:05:40 -05:00
David Schultz
556f580f67 add support for ircd-hybrid quiet lists 2023-03-26 19:27:48 -05:00
Ailin Nemui
c554a45738 fix stale special collector use after free
reported by ednash and investigated by @dwfreed
2023-03-26 23:37:12 +02:00
David Schultz
2db9dfbb46 properly format listmodes and their timestamps 2023-03-26 16:36:27 -05:00
ailin-nemui
6671fec9a9
Merge pull request #1455 from irssi/vague666-typo-fix
Update ignore.in
2023-03-21 08:49:09 +00:00
Jari Matilainen
5153bb3ff5
Update ignore.in
Fix typo
2023-03-21 09:44:01 +01:00
ailin-nemui
2b91c45f5d
Merge pull request #1454 from irssi/from-codeberg
Sync
2023-03-21 07:05:33 +00:00
ailin-nemui
bdec87e208 Merge pull request 'Fix logic in how actions are printed for other protocols' (!3) from ticho/irssi:nonirc-action-print-fix into master
Reviewed-on: https://codeberg.org/irssi/irssi/pulls/3
2023-03-21 06:25:57 +00:00
Andrej Kacian
3057c9e920 Fix logic in how actions are printed for other protocols
This causes subsequent window_item_set_active() check, further
down in the same function, to evaluate correctly, and getting
the action message printed using correct format.
2023-03-21 06:25:57 +00:00
ailin-nemui
1c9990acab
Merge pull request #1452 from irssi/vague666-levels-in-update
Update levels.in
2023-03-20 19:31:56 +00:00
ailin-nemui
706b6fff81
Merge pull request #1453 from irssi/vague666-ignore-in-update
Update ignore.in
2023-03-20 19:31:40 +00:00
Jari Matilainen
82bfd3abfe
Update ignore.in
Add NOHILIGHT description to help
2023-03-20 11:04:39 +01:00
Jari Matilainen
0334de0a05
Update levels.in
Make it more clear what NOHILIGHT can be used for
2023-03-20 11:00:37 +01:00
Ailin Nemui
7d3640ce2e fix crash on connect in startup
fixes #1449

does not completely fix the issue (connect still does not work, error message is misleading)
2023-02-25 20:44:12 +01:00
ailin-nemui
c1fd4b17f5
Merge pull request #1447 from ailin-nemui/signalsfile-fix
fix signalsfile some more
2023-02-13 08:51:33 +00:00
Ailin Nemui
25273898bf still didn't work 2023-02-12 16:31:23 +01:00
ailin-nemui
2ac1f01b94
Merge pull request #1446 from ailin-nemui/signalsfile-fix
fix signals file
2023-02-12 13:51:44 +00:00
Ailin Nemui
fcbe19eb8c fix signals file 2023-02-12 10:35:12 +01:00
ailin-nemui
72df66524b
Merge pull request #1445 from jesopo/ipv6-default
switch to prefering ipv6 by default
2023-02-09 17:41:11 +00:00
jesopo
9a29bf1022 switch to prefering ipv6 by default 2023-02-09 17:18:52 +00:00
ailin-nemui
c06be88d8f
Merge pull request #1442 from lheckemann/master
Support receiving monospace
2023-02-02 17:03:53 +01:00
Linus Heckemann
b91a56c2cd Support receiving monospace
0x11 (decimal 17) is used to denote monospace by a number of clients
according to https://modern.ircdocs.horse/formatting.html
2023-01-28 19:31:14 +01:00
ailin-nemui
3fb147ec72
Merge pull request #1441 from ailin-nemui/gh-actions
chores: update for github workflows deprecations
2023-01-22 16:49:20 +01:00
Ailin Nemui
274868d560 chores: update for github workflows deprecations 2023-01-22 16:39:05 +01:00
ailin-nemui
de43e9e067
Merge pull request #1439 from irssi/from-codeberg
Sync
2023-01-21 16:48:36 +01:00
ailin-nemui
fe8f2a5dc8
Merge pull request #1440 from ailin-nemui/termux-git
update termux package to git+
2023-01-21 16:44:18 +01:00
ailin-nemui
6bab6e2c06
update termux package to git+
20bd0f0dc0
2023-01-21 16:38:40 +01:00
ailin-nemui
251522685d Merge pull request 'Expose location of signals.txt via pkg-config' (!1) from ticho/irssi:signalsfile into master
Reviewed-on: https://codeberg.org/irssi/irssi/pulls/1
2023-01-19 21:50:41 +00:00
Andrej Kacian
c65bf6899f Expose location of signals.txt via pkg-config
Adds "signalsfile" variable to installed irssi-1.pc.
2023-01-19 22:41:51 +01:00
ailin-nemui
162dc256be
Merge pull request #1438 from qoreQyaS/master
Lang-Fix: Use more general messages
2022-12-25 17:51:32 +01:00
Sven "qoreQyaS" Grewe
f852cc4eb3 Lang-Fix: Use more general messages
* Changed the messages for /window level and /window immortal to a more
  general tone.
  Executing both commands without parameter show the current state but
  the old messages indicate a change of state.

Signed-off-by: Sven "qoreQyaS" Grewe <git@gucke.net>
2022-12-25 16:09:27 +01:00
ailin-nemui
6f5026fd49
Merge pull request #1432 from horgh/horgh/win-logfile
Check window logfile parameter
2022-12-23 10:34:56 +01:00
Will Storey
3415718ea7 Check a logfile parameter is given
Previously this continued with an empty filename, resulting in a broken
config file.

Fixes #1392.
2022-12-23 10:01:51 +01:00
Will Storey
6dfcde5acd Fix indentation issues in fe-log.c 2022-12-23 10:01:51 +01:00
ailin-nemui
8eca391b74
Merge pull request #1430 from ailin-nemui/config-lol
add list_of_lists to config and more error messages
2022-12-23 09:59:51 +01:00
ailin-nemui
7445ad1f15
Merge pull request #1434 from irssi/ailin-nemui/statusbar-help
correct statusbar help text
2022-12-18 21:53:34 +01:00
ailin-nemui
a83f94484c
correct statusbar help text 2022-12-18 21:53:27 +01:00
Ailin Nemui
19be330489 up abi 2022-12-18 21:11:54 +01:00
Ailin Nemui
e7fb82db89 update glib version to fix timezone assertion bug 2022-12-18 20:00:29 +01:00
Ailin Nemui
1453f46fcf add timezone to g_date_time_new_from_iso8601 call 2022-12-18 16:34:15 +01:00
ailin-nemui
f8500320cf
Merge pull request #1431 from ailin-nemui/missing-news
add missing news reference
2022-12-18 12:27:29 +01:00
Ailin Nemui
7f4bf738a3 add missing news reference 2022-12-18 12:27:00 +01:00
Ailin Nemui
8d7449d26f add list_of_lists to config and more error messages 2022-12-18 12:20:07 +01:00
ailin-nemui
b988b2925b
Merge pull request #1421 from j1mmie/patch-1
Add parameter LIST to STATUSBAR documentation
2022-12-18 12:18:13 +01:00
Jimmie Tyrrell
41071247f2 Add parameter LIST to STATUSBAR documentation
This command was not outlined in the documentation. `/STATUSBAR LIST` is an integral part of statusbar management and should be included.
2022-12-18 12:17:26 +01:00
ailin-nemui
42f83fc130
Merge pull request #1429 from ailin-nemui/docs-revamp
remove ported sections from manual and add links
2022-12-18 12:14:22 +01:00
Ailin Nemui
119d3203e1 remove ported sections from manual and add links 2022-12-18 12:13:38 +01:00
ailin-nemui
88cc48651d
Merge pull request #1428 from ailin-nemui/flip-level
add (hide)level flip command
2022-11-29 20:05:52 +01:00
Ailin Nemui
261a7ce76e add (hide)level flip command 2022-11-27 17:14:19 +01:00
ailin-nemui
6e3745f423
Merge pull request #1424 from ailin-nemui/lastlog
fix lastlog -window
2022-11-26 15:09:50 +01:00
Ailin Nemui
7d20ea92ae fix lastlog -window 2022-11-13 11:35:41 +01:00
Ailin Nemui
684094aa85 Merge tag '1.4.3' into integrate/1.4.3 2022-10-29 12:22:58 +02:00
Ailin Nemui
c99c8b444d tag as 1.4.3 2022-10-29 12:13:46 +02:00
ailin-nemui
f9f6341c20 Merge pull request #1420 from ailin-nemui/starttls-config
enable saving of -disallow_starttls

(cherry picked from commit afba148056)
2022-10-29 12:07:34 +02:00
ailin-nemui
9a95edc69a Merge pull request #1419 from ailin-nemui/init-irc-funcs
move irc server functions to object creation time

(cherry picked from commit a661e2fb35)
2022-10-29 12:07:23 +02:00
ailin-nemui
93a94308bd Merge pull request #1417 from ailin-nemui/loop
do not freeze on alt+left/right

(cherry picked from commit 0c97433c7c)
2022-10-29 12:07:05 +02:00
ailin-nemui
afba148056
Merge pull request #1420 from ailin-nemui/starttls-config
enable saving of -disallow_starttls
2022-10-15 08:52:40 +02:00
ailin-nemui
a661e2fb35
Merge pull request #1419 from ailin-nemui/init-irc-funcs
move irc server functions to object creation time
2022-10-15 08:52:32 +02:00
ailin-nemui
0c97433c7c
Merge pull request #1417 from ailin-nemui/loop
do not freeze on alt+left/right
2022-10-15 08:52:20 +02:00
ailin-nemui
26f9750ad1 Merge pull request #1414 from irssi/vague666-patch-4
Add -nocap to /connect and /server connect syntax

(cherry picked from commit 55913ade13)
2022-10-14 22:41:21 +02:00
ailin-nemui
277923aaac Merge pull request #1413 from irssi/vague666-patch-3
Update /server syntax line

(cherry picked from commit 238d7cfd08)
2022-10-14 22:41:21 +02:00
ailin-nemui
23419e5866 Merge pull request #1415 from irssi/vague666-patch-5
/server: Add help for -cap/-nocap

(cherry picked from commit f76d41953f)
2022-10-14 22:41:21 +02:00
ailin-nemui
2c18da3cc6 Merge pull request #1411 from irssi/vague666-patch-1
/connect: Add help for -nocap

(cherry picked from commit 38b18bd84d)
2022-10-14 22:41:21 +02:00
ailin-nemui
c01b35b062 Merge pull request #1407 from madpilot78/Fix_libnv_detection
Fix libnv detection on recent FreeBSD

(cherry picked from commit f32d0ab51a)
2022-10-14 22:41:21 +02:00
ailin-nemui
f51bc42429 Merge pull request #1380 from ailin-nemui/scriptassist
run syncscripts.sh

(cherry picked from commit 68823eb6af)
2022-10-14 21:46:50 +02:00
ailin-nemui
be5f917f07 Merge pull request #1393 from ailin-nemui/eval-help
minor rendering fix in eval help

(cherry picked from commit 0bf18beed7)
2022-10-14 21:46:30 +02:00
Ailin Nemui
833f41179d enable saving of -disallow_starttls 2022-10-14 21:37:09 +02:00
Ailin Nemui
c2457c7d94 move irc server functions to object creation time 2022-10-14 21:06:51 +02:00
Ailin Nemui
093dcd423f no infinite loops please 2022-09-22 22:25:02 +02:00
ailin-nemui
55913ade13
Merge pull request #1414 from irssi/vague666-patch-4
Add -nocap to /connect and /server connect syntax
2022-09-14 09:24:35 +02:00
ailin-nemui
de2bf6707f fix clang-format 2022-09-14 09:19:18 +02:00
ailin-nemui
238d7cfd08
Merge pull request #1413 from irssi/vague666-patch-3
Update /server syntax line
2022-09-13 09:52:30 +02:00
ailin-nemui
f76d41953f
Merge pull request #1415 from irssi/vague666-patch-5
/server: Add help for -cap/-nocap
2022-09-13 09:51:57 +02:00
ailin-nemui
38b18bd84d
Merge pull request #1411 from irssi/vague666-patch-1
/connect: Add help for -nocap
2022-09-13 09:51:43 +02:00
Jari Matilainen
d448ca3341
/server: Add help for -cap/-nocap 2022-09-12 14:17:34 +02:00
Jari Matilainen
07041c37d4
Add -nocap to /connect and /server connect syntax 2022-09-12 14:15:11 +02:00
Jari Matilainen
fe77b7e06f
Update /server syntax line 2022-09-12 14:07:05 +02:00
Jari Matilainen
03edebd54c
/connect: Add help for -nocap 2022-09-12 14:03:21 +02:00
ailin-nemui
f32d0ab51a
Merge pull request #1407 from madpilot78/Fix_libnv_detection
Fix libnv detection on recent FreeBSD
2022-08-19 10:42:05 +02:00
Guido Falsi
7baefc3315 Fix libnv detection on recent FreeBSD
On recent FreeBSD systems it is required to include the sys/nv.h file, otherwise symbols are missing.

Reported here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=265397

Patch suggested by: Kristof Provost <kp@freebsd.org>
2022-08-19 10:32:47 +02:00
ailin-nemui
58109aeeed
Merge pull request #1403 from lnde/fetext-sigterm
Re-write SIGTERM handling
2022-08-12 12:17:49 +02:00
Andreas Lundin
a237321b33 re-write SIGTERM handling
Exit safely on SIGTERM by emitting "gui exit" from the main loops of
fe-text and fe-none rather than from the signal handler itself.

Based on feedback from Nei and dwfreed.
2022-08-11 20:09:59 +00:00
ailin-nemui
555030a2ad
Merge pull request #1405 from ailin-nemui/no-chatnet-crash
fix crash when loading server without chatnet
2022-08-08 22:20:19 +02:00
Ailin Nemui
252656cad4 fix crash when loading server without chatnet 2022-07-24 19:32:47 +02:00
Ailin Nemui
722d3c4c3d Merge tag '1.4.2' into integrate/1.4.2 2022-07-13 20:33:59 +02:00
Ailin Nemui
bc805f9bcd tag as 1.4.2 2022-07-13 20:08:52 +02:00
ailin-nemui
476774662a Merge pull request #1398 from ailin-nemui/lastlog-crash
get line texts before printing lastlog

(cherry picked from commit a57cc1c55e)
2022-07-13 19:12:01 +02:00
ailin-nemui
a57cc1c55e
Merge pull request #1398 from ailin-nemui/lastlog-crash
get line texts before printing lastlog
2022-07-13 19:10:50 +02:00
Ailin Nemui
7fe7de3c2e get line texts before printing lastlog 2022-07-12 20:50:01 +02:00
ailin-nemui
1b6b92ffff Merge pull request #1388 from ailin-nemui/default-hash-chan
default to hash channels

(cherry picked from commit a5f5ea7d79)
2022-07-03 00:14:14 +02:00
ailin-nemui
730c3c1a12 Merge pull request #1377 from ailin-nemui/meson
fix yet another meson regression

(cherry picked from commit 07aa061b6d)
2022-07-03 00:14:14 +02:00
ailin-nemui
c6a7f02042 Merge pull request #1383 from ailin-nemui/pc-moduledir
add irssimoduledir to irssi-1.pc

(cherry picked from commit 545d97f8d6)
2022-07-03 00:14:14 +02:00
ailin-nemui
f17fb68257 Merge pull request #1387 from ailin-nemui/textbufferview
Textbufferview

(cherry picked from commit 783dd37533)
2022-07-03 00:14:14 +02:00
ailin-nemui
3404d822c8 Merge pull request #1384 from ailin-nemui/meson-system-includes
use -isystem instead of -I for include directories

(cherry picked from commit 593afc2e40)
2022-07-03 00:14:14 +02:00
ailin-nemui
5b0f7f7899
Merge pull request #1394 from ailin-nemui/faster-termux-pkg
use less time on termux pkg
2022-07-02 16:09:05 +02:00
Ailin Nemui
3fec4d894f use less time on termux pkg
hard-code the values instead of building perl
2022-07-02 14:12:15 +02:00
ailin-nemui
0bf18beed7
Merge pull request #1393 from ailin-nemui/eval-help
minor rendering fix in eval help
2022-06-30 23:25:35 +02:00
Ailin Nemui
f135339e27 minor rendering fix in eval help 2022-06-30 23:13:48 +02:00
ailin-nemui
593afc2e40
Merge pull request #1384 from ailin-nemui/meson-system-includes
use -isystem instead of -I for include directories
2022-06-18 12:43:01 +02:00
ailin-nemui
783dd37533
Merge pull request #1387 from ailin-nemui/textbufferview
Textbufferview
2022-06-18 12:42:47 +02:00
Ailin Nemui
4dc3eb1048 update clang-format 2022-06-13 09:41:46 +02:00
Ailin Nemui
453e65bbfe misc cleanup 2022-06-13 09:41:46 +02:00
Ailin Nemui
b028b8e19d fix recount of lines after scroll 2022-06-13 09:41:46 +02:00
Ailin Nemui
48edd6f5fa fix recount of lines after window set 2022-06-13 08:22:18 +02:00
ailin-nemui
a5f5ea7d79
Merge pull request #1388 from ailin-nemui/default-hash-chan
default to hash channels
2022-06-13 07:39:29 +02:00
Ailin Nemui
891ef5df10 default to hash channels 2022-06-13 02:44:33 +02:00
Ailin Nemui
04b914dcb0 fix visible lines expiring from cache 2022-06-13 01:17:19 +02:00
Ailin Nemui
67aa2baf62 fix memory leak when updating single line 2022-06-13 01:17:19 +02:00
Ailin Nemui
ae8ec99d5c fix scrollback redraw not updating linecount 2022-06-13 01:17:19 +02:00
ailin-nemui
68823eb6af
Merge pull request #1380 from ailin-nemui/scriptassist
run syncscripts.sh
2022-06-12 18:11:05 +02:00
ailin-nemui
545d97f8d6
Merge pull request #1383 from ailin-nemui/pc-moduledir
add irssimoduledir to irssi-1.pc
2022-06-12 18:10:50 +02:00
Ailin Nemui
279fa4e5b8 remove relevant code from termux receipe 2022-06-12 17:18:53 +02:00
Ailin Nemui
528632bba2 use -isystem instead of -I for include directories
limits warnings to our own code
2022-06-12 17:13:28 +02:00
Ailin Nemui
34d45ac678 add irssimoduledir to irssi-1.pc
for module authors to know where to install to
2022-06-12 16:52:31 +02:00
Ailin Nemui
88745d2941 run syncscripts.sh 2022-06-12 12:34:33 +02:00
ailin-nemui
07aa061b6d
Merge pull request #1377 from ailin-nemui/meson
fix yet another meson regression
2022-06-12 05:33:41 +02:00
Ailin Nemui
ac35fe010e fix yet another meson regression
broken by meson 0.60.0
2022-06-11 22:58:56 +02:00
Ailin Nemui
de46fee864 update website 2022-06-11 18:10:29 +02:00
Ailin Nemui
f2c5e60766 revert branding 2022-06-07 15:47:49 +02:00
Ailin Nemui
531c68ed09 Merge tag '1.4.1' into integrate/1.4.1 2022-06-06 21:11:30 +02:00
Ailin Nemui
0e0bc17992 tag as 1.4.1 2022-06-06 19:31:27 +02:00
ailin-nemui
580b05a7f3 Merge pull request #88 from ailin-nemui/arraycopy
fix missing len in g_array_copy

(cherry picked from commit 47b0661e96)
2022-06-06 12:05:26 +02:00
ailin-nemui
47b0661e96
Merge pull request #88 from ailin-nemui/arraycopy
fix missing len in g_array_copy
2022-06-01 18:38:15 +02:00
Ailin Nemui
a39bc0601c fix missing len in g_array_copy 2022-05-31 21:09:39 +02:00
Ailin Nemui
c33d0c2384 Merge tag '1.4.0-an' into integrate/1.4.0-an 2022-05-31 12:34:27 +02:00
Ailin Nemui
7207a26d1e revert branding 2022-05-31 10:25:01 +02:00
Ailin Nemui
a558430a0a Merge tag '1.4.0-an' into HEAD 2022-05-31 10:20:57 +02:00
Ailin Nemui
612fdb9c2d tag as 1.4.0-an 2022-05-30 11:33:44 +02:00
Ailin Nemui
cbb155e73c remove install_rpath
reported by dwfreed / Unit193

(cherry picked from commit e692f85f4a)
2022-05-30 11:27:50 +02:00
ailin-nemui
84de64d6da Merge pull request #84 from ailin-nemui/ignore-leak
avoid memory leak in ignore cache

(cherry picked from commit af5feb16be)
2022-05-29 20:44:18 +02:00
ailin-nemui
d6bc4cf5b7 Merge pull request #76 from ailin-nemui/scroll_page_count
fix scroll_page_count settings with .

(cherry picked from commit 84a98d0e08)
2022-05-29 20:41:43 +02:00
ailin-nemui
d193ca1784 Merge pull request #83 from ailin-nemui/shelp
new SHELP default alias

(cherry picked from commit 4cec2d98c5)
2022-05-29 20:27:54 +02:00
ailin-nemui
afed542bfb Merge pull request #82 from ailin-nemui/progval-help
Format RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP

(cherry picked from commit b446d06b9d)
2022-05-29 20:26:30 +02:00
ailin-nemui
1598c88cfd Merge pull request #77 from ailin-nemui/fix_ignore_help
Clarify the help for /ignore -time

(cherry picked from commit c62505386f)
2022-05-29 19:19:07 +02:00
ailin-nemui
3e9a270562 Merge pull request #72 from ailin-nemui/load-silent-doc
add -silent switch in syntax comment and respect it without args

(cherry picked from commit 06a7dcad99)
2022-05-29 19:16:40 +02:00
ailin-nemui
8530917397 Merge pull request #70 from ailin-nemui/update-screenshot
update screenshot

(cherry picked from commit 854c88da03)
2022-05-29 19:15:54 +02:00
ailin-nemui
aa54da3811 Merge pull request #68 from ailin-nemui/gint64fmt
use gint64 define

(cherry picked from commit cf6bc31172)
2022-05-29 19:14:41 +02:00
ailin-nemui
45b6df7902 Merge pull request #67 from ailin-nemui/spelling
spelling fixes

(cherry picked from commit 7ec61c4ec0)
2022-05-29 19:11:46 +02:00
ailin-nemui
44ad0fce90 Merge pull request #60 from ailin-nemui/paste
Add "paste event" signal

(cherry picked from commit 738931762b)
2022-05-29 19:11:07 +02:00
ailin-nemui
dc15cc3969 Merge pull request #61 from ailin-nemui/actlist_separator
Actlist separator

(cherry picked from commit d523ceacf0)
2022-05-29 19:09:50 +02:00
ailin-nemui
5997b2654b Merge pull request #58 from ailin-nemui/erase-cutbuffer
Add empty_kill_clears_cutbuffer option

(cherry picked from commit 27008bf447)
2022-05-29 19:09:31 +02:00
ailin-nemui
baf2a43da2 Merge pull request #57 from ailin-nemui/lr-skip-visible
Make window left/right skip windows that are already visible in other…

(cherry picked from commit 53187de6a2)
2022-05-29 19:02:25 +02:00
ailin-nemui
26c4cd8bbf Merge pull request #50 from ailin-nemui/gliblog
Improve handling of GLib log messages

(cherry picked from commit 0e3f6aa4a2)
2022-05-29 19:02:03 +02:00
ailin-nemui
27046adabe Merge pull request #59 from ailin-nemui/ilog-domain
fix crash when accessing settings during shutdown

(cherry picked from commit cc411a1be0)
2022-05-29 18:59:38 +02:00
ailin-nemui
ff0e76bbb9 Merge pull request #45 from ailin-nemui/server-outgoing
simplify duplicate code in outgoing modify

(cherry picked from commit f5d74bd81b)
2022-05-29 18:12:52 +02:00
ailin-nemui
af5feb16be
Merge pull request #84 from ailin-nemui/ignore-leak
avoid memory leak in ignore cache
2022-05-26 00:20:13 +02:00
Ailin Nemui
66e3b0e578 avoid memory leak in ignore cache
#1373
2022-05-22 11:06:53 +02:00
ailin-nemui
7285da27e0
Merge pull request #87 from ailin-nemui/names
stop IRC names when using /names
2022-05-22 11:00:02 +02:00
Ailin Nemui
5b340d7d2b stop IRC names when using /names 2022-05-19 14:54:15 +02:00
Ailin Nemui
9f71a391c3 test OBS workflow 2022-05-19 14:37:59 +02:00
Ailin Nemui
fb5c99d27f Merge remote-tracking branch 'irssi/master' 2022-04-25 23:33:58 +02:00
Tom Wesley
7d673653a1
Merge pull request #1372 from dwfreed/rebrand-1.3.2
Merge Nei's changes
2022-04-25 18:09:44 +01:00
Doug Freed
6d2cfc24b7 Clean up remaining branding reverts 2022-04-24 20:40:01 +00:00
Doug Freed
2f700bebc7 NEWS: remove 2 lines that would be confusing 2022-04-24 20:07:30 +00:00
ailin-nemui
4cec2d98c5
Merge pull request #83 from ailin-nemui/shelp
new SHELP default alias
2022-04-24 15:40:54 +02:00
Ailin Nemui
37e65ba168 new SHELP default alias 2022-04-24 15:40:20 +02:00
ailin-nemui
b446d06b9d
Merge pull request #82 from ailin-nemui/progval-help
Format RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP
2022-04-21 23:02:17 +02:00
Ailin Nemui
49479f151c up abi 2022-04-21 22:18:33 +02:00
Ailin Nemui
4f1e5f35a3 fix formatting 2022-04-21 22:00:18 +02:00
Ailin Nemui
ba16d71e9f add SERVER_ to constants 2022-04-21 22:00:18 +02:00
Valentin Lorentz
f684c18867 s/irctxt_/server_/ 2022-04-21 22:00:18 +02:00
Valentin Lorentz
48571389c7 Revert "Add ERR_HELPNOTFOUND"
This reverts commit 91439c099e1bbf848dac03f67a3239fcc4c1f771;
because it adds handling for numeric 524, which conflicts with
ERR_QUARANTINED and ERR_OPERSPVERIFY.
2022-04-21 22:00:18 +02:00
Valentin Lorentz
41b3895ce3 Free signals 2022-04-21 22:00:18 +02:00
Valentin Lorentz
1415ef5389 Add ERR_HELPNOTFOUND 2022-04-21 22:00:18 +02:00
Valentin Lorentz
3a3301e19b Format RPL_HELPSTART/RPL_HELPTXT/RPL_ENDOFHELP
They are typical replies when using the HELP command.
2022-04-21 22:00:18 +02:00
ailin-nemui
e300fee93d
Merge pull request #81 from ailin-nemui/pubnotices
add new PUBNOTICES level
2022-04-21 21:09:20 +02:00
Ailin Nemui
7360944900 add new PUBNOTICES level
separating private notices and channel notices
2022-04-21 13:38:40 +02:00
Ailin Nemui
0bd7fc459c revert branding 2022-03-23 17:16:32 +01:00
ailin-nemui
ae5a9283ee
Merge pull request #79 from ailin-nemui/query-bounds
restore irc bound queries
2022-03-18 22:58:39 +01:00
ailin-nemui
ed4ec313a2
Merge pull request #80 from ailin-nemui/meson
don't do stupid things
2022-03-18 22:45:00 +01:00
Ailin Nemui
cfd421a948 update meson requirement, add check for built files 2022-03-18 22:31:40 +01:00
Ailin Nemui
8381e13e4c up abi 2022-03-16 00:07:06 +01:00
Ailin Nemui
884cabd55d restore irc bound queries 2022-03-16 00:02:29 +01:00
ailin-nemui
84a98d0e08
Merge pull request #76 from ailin-nemui/scroll_page_count
fix scroll_page_count settings with .
2022-03-11 12:11:18 +01:00
ailin-nemui
c62505386f
Merge pull request #77 from ailin-nemui/fix_ignore_help
Clarify the help for /ignore -time
2022-03-11 12:09:26 +01:00
ailin-nemui
4986a4f9db
Merge pull request #75 from ailin-nemui/termux
simplify termux github workflow
2022-03-11 09:14:08 +01:00
Ailin Nemui
0c49ba0bda fix clang-format 2022-03-11 09:06:37 +01:00
vague666
344398dd2a Update SYNTAX 2022-03-11 08:58:05 +01:00
vague666
82dd550184 Clarify the help 2022-03-11 08:58:05 +01:00
Ailin Nemui
8fa2d01a7f fix scroll_page_count settings with . 2022-03-11 08:56:35 +01:00
Ailin Nemui
bb4859d3d5 simplify termux github workflow 2022-03-11 08:54:44 +01:00
ailin-nemui
4bf129084f
Merge pull request #74 from ailin-nemui/makedist
Add some missing files to make-dist
2022-02-21 17:52:15 +01:00
ailin-nemui
4115e47434
Merge pull request #73 from ailin-nemui/cruft
remove deprecated defines
2022-02-21 17:15:18 +01:00
Ailin Nemui
c0929e3aaf Add some missing files to make-dist 2022-02-20 18:55:45 +01:00
Ailin Nemui
883510a3fd remove deprecated defines
- PERL_STATIC_LIBS (was not tested anymore)
- HAVE_GMODULE (always required)
- HAVE_STATIC_IRC
- HAVE_STATIC_PERL
- HAVE_SOCKS (was not working properly)
- USE_GREGEX (we use it)
2022-02-20 17:33:36 +01:00
ailin-nemui
06a7dcad99
Merge pull request #72 from ailin-nemui/load-silent-doc
add -silent switch in syntax comment and respect it without args
2022-02-20 16:29:21 +01:00
Ailin Nemui
10caed057a add -silent switch in syntax comment and respect it without args 2022-02-20 15:54:04 +01:00
ailin-nemui
854c88da03
Merge pull request #70 from ailin-nemui/update-screenshot
update screenshot
2022-02-19 23:24:58 +01:00
ailin-nemui
9b768abfd7
update screenshot 2022-02-19 23:17:49 +01:00
ailin-nemui
3a5f93bbcc
Merge pull request #69 from ailin-nemui/always-24bit
remove enable-true-color compile time switch
2022-02-19 22:45:37 +01:00
Ailin Nemui
0682cbed3c remove TERM_TRUECOLOR define 2022-02-19 22:23:29 +01:00
Ailin Nemui
b34f16e9df remove enable-true-color compile time switch 2022-02-19 22:23:29 +01:00
ailin-nemui
58efc6371a
Merge pull request #64 from ailin-nemui/remove-autotools
good-bye and thanks, autotools
2022-02-19 22:22:42 +01:00
Ailin Nemui
e692f85f4a remove install_rpath
reported by dwfreed / Unit193
2022-02-19 21:44:10 +01:00
Ailin Nemui
b8736225cf good-bye and thanks, autotools 2022-02-19 21:44:10 +01:00
ailin-nemui
cf6bc31172
Merge pull request #68 from ailin-nemui/gint64fmt
use gint64 define
2022-02-19 11:00:34 +01:00
ailin-nemui
7ec61c4ec0
Merge pull request #67 from ailin-nemui/spelling
spelling fixes
2022-02-19 10:58:05 +01:00
Ailin Nemui
9b73d152fe use gint64 define 2022-02-19 00:34:06 +01:00
Ailin Nemui
bfcafa76c0 spelling fixes
by lintian / dwfreed
2022-02-19 00:27:02 +01:00
ailin-nemui
d9b181e4a1
Merge pull request #42 from ailin-nemui/module-autoload
Protocol module autoloading
2022-02-17 18:03:12 +01:00
Ailin Nemui
b335e5526d up abi 2022-02-16 23:54:51 +01:00
Ailin Nemui
1f8e167295 test termux pkg 2022-02-16 23:54:51 +01:00
Ailin Nemui
ef2c55fc18 fix irc module in fuzzer 2022-02-16 22:05:04 +01:00
Ailin Nemui
2e6c376342 add android cross link deps 2022-02-16 21:49:11 +01:00
Ailin Nemui
89bcff606f fix meson deprecations 2022-02-16 21:49:11 +01:00
Ailin Nemui
f4938a2804 remove unused function 2022-02-16 21:49:11 +01:00
Ailin Nemui
3760fcd1ca load config on chat protocol cre 2022-02-16 21:49:11 +01:00
Ailin Nemui
bee057ff21 fix something 2022-02-16 21:49:11 +01:00
Ailin Nemui
82f8ee57c3 autoload the IRC module 2022-02-16 21:49:11 +01:00
ailin-nemui
738931762b
Merge pull request #60 from ailin-nemui/paste
Add "paste event" signal
2022-02-11 14:17:49 +01:00
Ailin Nemui
76d140650a add settings*choice functions to perl 2022-02-07 16:44:14 +01:00
ailin-nemui
27008bf447
Merge pull request #58 from ailin-nemui/erase-cutbuffer
Add empty_kill_clears_cutbuffer option
2022-02-06 16:33:20 +01:00
ailin-nemui
d523ceacf0
Merge pull request #61 from ailin-nemui/actlist_separator
Actlist separator
2022-02-06 14:38:57 +01:00
Ailin Nemui
e5d02bd57b simplify 2022-02-06 14:22:56 +01:00
Ailin Nemui
32ab41625f simplify code 2022-02-06 09:50:38 +01:00
Ailin Nemui
089cab715f fix formatting 2022-02-06 02:27:36 +01:00
Ailin Nemui
75e56297fc fix intentation 2022-02-06 02:25:19 +01:00
Mikael Magnusson
d652055060 Add empty_kill_clears_cutbuffer option
Adapted revert of 13524b1f76bb.
2022-02-06 02:24:17 +01:00
vague666
d6b55c6d43 Make redrawing of item actually work 2022-02-06 01:49:24 +01:00
vague666
de626250b5 Added statusbar_items_redraw code 2022-02-06 01:49:24 +01:00
vague666
cdda5ab759 Make actlist separator a setting 2022-02-06 01:49:24 +01:00
Ailin Nemui
f47154d1a9 support multiple scripts 2022-02-06 01:47:55 +01:00
ailin-nemui
cc411a1be0
Merge pull request #59 from ailin-nemui/ilog-domain
fix crash when accessing settings during shutdown
2022-02-06 01:11:41 +01:00
Ailin Nemui
d4ed3460fc fix some stupidness 2022-02-06 00:41:13 +01:00
Ailin Nemui
5cd13d6ea2 compatibility code for old GLib 2022-02-05 23:24:52 +01:00
Ailin Nemui
17f185d833 add setting to ignore first newline 2022-02-05 23:01:55 +01:00
Ailin Nemui
5f29b35fbe fix crash when accessing settings during shutdown 2022-02-05 22:33:34 +01:00
Ailin Nemui
4846e4f319 Add "paste event" signal 2022-02-05 22:32:57 +01:00
ailin-nemui
53187de6a2
Merge pull request #57 from ailin-nemui/lr-skip-visible
Make window left/right skip windows that are already visible in other…
2022-01-31 10:47:31 +01:00
Ailin Nemui
2e6375d4ff Merge tag '1.3.2-an' into HEAD 2022-01-21 13:37:41 +01:00
Ailin Nemui
7b22f41ec5 formatting 2022-01-19 20:49:56 +01:00
Mikael Magnusson
29e36a8fb0 Make window left/right skip windows that are already visible in other mainwins 2022-01-19 20:41:52 +01:00
Ailin Nemui
c0123a1487 Merge tag '1.3.2-an' into integrate/1.3.2-an 2022-01-14 13:40:56 +01:00
Ailin Nemui
b60b0f0ff9 tag as 1.3.2-an 2022-01-14 13:18:41 +01:00
ailin-nemui
3603d47990 Merge pull request #56 from ailin-nemui/line-bookmark
fix crash in Perl's $view->set_bookmark

(cherry picked from commit 95e3fea622)
2022-01-14 11:36:21 +01:00
ailin-nemui
c96a8d9fae Merge pull request #54 from ailin-nemui/chantypes
use chantypes instead of # for irc channel defaults

(cherry picked from commit f7fd4d72e4)
2022-01-14 11:36:17 +01:00
ailin-nemui
95e3fea622
Merge pull request #56 from ailin-nemui/line-bookmark
fix crash in Perl's $view->set_bookmark
2022-01-14 11:29:25 +01:00
Ailin Nemui
937786b731 fix crash in Perl's $view->set_bookmark
reported on the freebsd issue tracker https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254237#c13
2022-01-13 19:38:36 +01:00
Ailin Nemui
d4e3655f1f update news 2021-12-30 23:25:23 +01:00
ailin-nemui
f7fd4d72e4
Merge pull request #54 from ailin-nemui/chantypes
use chantypes instead of # for irc channel defaults
2021-12-30 23:23:53 +01:00
Ailin Nemui
3e4d7ded77 use chantypes instead of # for irc channel defaults 2021-12-26 01:13:57 +01:00
Ailin Nemui
d4ad71c831 Merge tag '1.3.1-an' into integrate/1.3.1-an 2021-12-17 22:47:18 +01:00
Ailin Nemui
85a6ade7e8 tag as 1.3.1-an 2021-12-17 22:42:13 +01:00
ailin-nemui
dbf9fc3dfc Merge pull request #53 from ailin-nemui/keepops
keep own ops status on /upgrade

(cherry picked from commit a2feef5e73)
2021-12-17 22:37:46 +01:00
ailin-nemui
6763be847f Merge pull request #52 from ailin-nemui/help
fix help text wrt SERVER LIST command

(cherry picked from commit 8281b10310)
2021-12-17 22:37:26 +01:00
ailin-nemui
bb1957bafb Merge pull request #51 from ailin-nemui/help
fix help text wrt SERVER command

(cherry picked from commit d33fd0c5da)
2021-12-17 22:37:20 +01:00
ailin-nemui
a2feef5e73
Merge pull request #53 from ailin-nemui/keepops
keep own ops status on /upgrade
2021-12-17 22:29:15 +01:00
Ailin Nemui
60cb9451b3 keep own ops status on /upgrade 2021-12-13 15:32:30 +01:00
ailin-nemui
8281b10310
Merge pull request #52 from ailin-nemui/help
fix help text wrt SERVER LIST command
2021-12-01 23:34:53 +01:00
Ailin Nemui
62eff3d2a7 fix help text wrt SERVER LIST command 2021-12-01 23:34:20 +01:00
ailin-nemui
d33fd0c5da
Merge pull request #51 from ailin-nemui/help
fix help text wrt SERVER command
2021-12-01 22:51:43 +01:00
Ailin Nemui
8088353ed0 fix help text wrt SERVER command
reported by Remco
2021-12-01 22:50:06 +01:00
Ailin Nemui
920e827ae5 Merge commit '2cdcf86174' into HEAD 2021-12-01 13:37:13 +01:00
ailin-nemui
0e3f6aa4a2
Merge pull request #50 from ailin-nemui/gliblog
Improve handling of GLib log messages
2021-11-17 11:17:59 +01:00
Ailin Nemui
9579105748 up abi 2021-11-17 11:00:16 +01:00
Andrej Kacian
9b79749f6c Improve handling of GLib log messages
This patch introduces setting "glib_log_domains", which is
a space-separated list of log domain names, optionally prefixed
with a '-'. The list is parsed from left to right to determine
whether or not user wants to see message from a particular log
domain. Keywords 'all' or '*' are allowed as well.
Examples: "GLib-GIO", "all -GLib-GIO", "-*"

This patch also changes the default format for displaying GLib log
messages to include the log domain.
2021-11-17 10:59:39 +01:00
Ailin Nemui
608c7b09d7 Merge tag '1.3.0-pre8' into integrate/1.3.0 2021-11-12 09:25:47 +01:00
Ailin Nemui
05063da999 tag as 1.3.0-pre8 2021-11-11 10:54:09 +01:00
ailin-nemui
eed9b32f97 Merge pull request #49 from ailin-nemui/dccmsgs
fix stuck meta on dcc chat

(cherry picked from commit a54a00c803)
2021-11-11 10:50:10 +01:00
ailin-nemui
bdadbb183f Merge pull request #48 from ailin-nemui/news
add news ref

(cherry picked from commit b9f773ba6a)
2021-11-11 10:47:45 +01:00
ailin-nemui
a54a00c803
Merge pull request #49 from ailin-nemui/dccmsgs
fix stuck meta on dcc chat
2021-11-10 14:12:47 +01:00
Ailin Nemui
2f99f3a5d3 update news 2021-11-10 13:52:18 +01:00
Ailin Nemui
c5dc3fc2a0 fix stuck meta on dcc chat 2021-11-09 21:18:40 +01:00
ailin-nemui
b9f773ba6a
Merge pull request #48 from ailin-nemui/news
add news ref
2021-11-09 14:48:54 +01:00
Ailin Nemui
8f40b3ba7b add news ref 2021-10-23 11:04:47 +02:00
Ailin Nemui
815ee7b2dd Merge tag '1.3.0-pre7' into integrate/1.3.0 2021-10-11 22:21:22 +02:00
Ailin Nemui
47f8582e68 update NEWS 2021-10-11 22:11:17 +02:00
ailin-nemui
23abfb9123 Merge pull request #44 from ailin-nemui/lag
fix max_lag disconnect

(cherry picked from commit 6db881d8ef)
2021-10-11 22:08:53 +02:00
ailin-nemui
6db881d8ef
Merge pull request #44 from ailin-nemui/lag
fix max_lag disconnect
2021-10-11 22:08:14 +02:00
ailin-nemui
3bb8c619e2 Merge pull request #43 from ailin-nemui/server-outgoing
remove newline from "server outgoing modify"

(cherry picked from commit ea961623f5)
2021-10-11 22:07:44 +02:00
Ailin Nemui
44298db814 chghost news 2021-10-11 22:01:44 +02:00
ailin-nemui
f5d74bd81b
Merge pull request #45 from ailin-nemui/server-outgoing
simplify duplicate code in outgoing modify
2021-10-10 22:16:46 +02:00
Ailin Nemui
bec9e04714 up abi 2021-10-10 13:15:49 +02:00
Ailin Nemui
b22588a9ad simplify duplicate code in outgoing modify 2021-10-10 13:15:49 +02:00
ailin-nemui
ea961623f5
Merge pull request #43 from ailin-nemui/server-outgoing
remove newline from "server outgoing modify"
2021-10-10 12:45:21 +02:00
Ailin Nemui
db200f266b remove newline from "server outgoing modify" 2021-10-10 11:03:00 +02:00
Ailin Nemui
b878c7f079 fix max_lag disconnect 2021-10-09 21:26:01 +02:00
Ailin Nemui
1d3cdfa2d2 Merge tag '1.3.0-pre6' into integrate/1.3.0 2021-10-01 13:43:20 +02:00
Ailin Nemui
96d99534c3 update NEWS 2021-09-29 20:20:56 +02:00
ailin-nemui
5bff40593f Merge pull request #41 from ailin-nemui/ports
fix /server modify port argument order

(cherry picked from commit 235c5b0328)
2021-09-29 19:03:25 +02:00
ailin-nemui
0ba449d8be Merge pull request #39 from ailin-nemui/sync
run syncdocs.sh and syncscripts.sh

(cherry picked from commit 85a9dc146d)
2021-09-29 19:03:21 +02:00
ailin-nemui
117758fb90 Merge pull request #40 from ailin-nemui/gh-actions
update github actions ubuntu version to 18.04 and meson to <0.60.0

(cherry picked from commit db705278d2)
2021-09-29 19:03:17 +02:00
ailin-nemui
0932bbed7b Merge pull request #37 from ailin-nemui/int-min-reached
fix pedantic error in MSGLEVEL enum

(cherry picked from commit b0fdbb144d)
2021-09-29 19:03:11 +02:00
ailin-nemui
235c5b0328
Merge pull request #41 from ailin-nemui/ports
fix /server modify port argument order
2021-09-29 18:59:09 +02:00
Ailin Nemui
2d9c27d617 fix wrong argument type in printformat 2021-09-28 13:27:56 +02:00
Ailin Nemui
4943cc5e58 fix /server modify port argument order 2021-09-27 22:20:15 +02:00
ailin-nemui
85a9dc146d
Merge pull request #39 from ailin-nemui/sync
run syncdocs.sh and syncscripts.sh
2021-09-22 12:33:10 +02:00
ailin-nemui
9f9d49a2f1
Merge pull request #38 from ailin-nemui/docs
update docs
2021-09-22 12:32:51 +02:00
Ailin Nemui
6a83eddf84 run syncdocs.sh and syncscripts.sh 2021-09-22 11:26:24 +02:00
bw1
32a3f4463c update docs
+ version()
+ $abiversion
+ parse_special()
2021-09-22 11:26:13 +02:00
ailin-nemui
db705278d2
Merge pull request #40 from ailin-nemui/gh-actions
update github actions ubuntu version to 18.04 and meson to <0.60.0
2021-09-22 11:25:32 +02:00
Ailin Nemui
df227eb094 update github actions ubuntu version to 18.04 and meson to <0.60.0 2021-09-22 11:14:13 +02:00
ailin-nemui
b0fdbb144d
Merge pull request #37 from ailin-nemui/int-min-reached
fix pedantic error in MSGLEVEL enum
2021-09-21 22:35:30 +02:00
Ailin Nemui
bcea697e7c fix pedantic error in MSGLEVEL enum
reported by horgh
2021-09-19 20:59:14 +02:00
ailin-nemui
8b49cd012d Merge pull request #36 from ailin-nemui/missing-hilights
correctly store updated message levels e.g. from /hilight

(cherry picked from commit ad8221835c)
2021-09-15 17:57:21 +02:00
ailin-nemui
ad8221835c
Merge pull request #36 from ailin-nemui/missing-hilights
correctly store updated message levels e.g. from /hilight
2021-09-15 17:56:45 +02:00
Ailin Nemui
515e493db3 update news 2021-09-15 17:52:44 +02:00
Ailin Nemui
949dc06af3 correctly store updated message levels e.g. from /hilight 2021-09-15 17:48:27 +02:00
ailin-nemui
0f3e95892d Merge pull request #35 from ailin-nemui/fixes
duplicate issue in NEWS

(cherry picked from commit d3e105a396)
2021-09-08 17:37:53 +02:00
ailin-nemui
42f749346b Merge pull request #34 from ailin-nemui/no-maxline
remove oragono.io/maxline-2

(cherry picked from commit 7e14011404)
2021-09-08 17:37:34 +02:00
ailin-nemui
d3e105a396
Merge pull request #35 from ailin-nemui/fixes
duplicate issue in NEWS
2021-09-08 13:03:14 +02:00
ailin-nemui
7e14011404
Merge pull request #34 from ailin-nemui/no-maxline
remove oragono.io/maxline-2
2021-09-08 13:03:03 +02:00
Ailin Nemui
27a73e253b duplicate issue in NEWS
reported by @tobbez
2021-09-08 12:04:18 +02:00
Ailin Nemui
85eb4f118f also remove from NEWS 2021-09-08 12:03:05 +02:00
Ailin Nemui
521c0d4e6f remove oragono.io/maxline-2 2021-09-08 11:57:25 +02:00
Ailin Nemui
2003446e98 continue head 2021-09-08 11:54:44 +02:00
Ailin Nemui
2cdcf86174 branding 2021-09-06 23:44:23 +02:00
ailin-nemui
921c40f09b
Merge pull request #31 from ailin-nemui/package-version
add a PACKAGE_VERSION override for meson
2021-09-03 20:26:31 +02:00
ailin-nemui
69358fbe7c
Merge pull request #15 from ailin-nemui/server-outgoing
Add a "server outgoing modify" signal to intercept outgoing messages
2021-09-03 20:26:12 +02:00
Ailin Nemui
9e12890110 add a "server outgoing modify" signal to intercept outgoing messages 2021-09-03 20:04:29 +02:00
ailin-nemui
3e08ac538d
Merge pull request #33 from ailin-nemui/queues
fix queue bug
2021-09-03 20:03:58 +02:00
Ailin Nemui
37eb6c351c fix queue bug 2021-09-03 19:44:29 +02:00
ailin-nemui
fe09dccdcb
Merge pull request #21 from ailin-nemui/sasl-plain-nonull
only enable sasl plain when username and password are set
2021-09-03 18:00:31 +02:00
ailin-nemui
ce1eed94d1
Merge pull request #26 from ailin-nemui/queues
send channel sync requests "later" in the command queue
2021-09-03 18:00:12 +02:00
Ailin Nemui
cb11fd9cf7 add a PACKAGE_VERSION override for meson 2021-09-03 16:18:21 +02:00
ailin-nemui
03217a487e
Merge pull request #29 from ailin-nemui/hilight-color
actually remember the hilight -color
2021-09-03 11:41:15 +02:00
ailin-nemui
10b5087ded
Merge pull request #30 from vague666/patch-1
Allow -tls_ca{file,path} '' to unset an argument
2021-09-02 23:46:43 +02:00
Jari Matilainen
cf90384023
Allow -tls_ca{file,path} '' to unset an argument 2021-09-02 23:10:37 +02:00
Ailin Nemui
37237f377e actually remember the hilight -color 2021-09-02 22:39:14 +02:00
Ailin Nemui
2de9c25376 up abi 2021-09-02 19:58:00 +02:00
Ailin Nemui
157913bd98 do not chase during netsplit 2021-09-02 19:58:00 +02:00
Ailin Nemui
240b79aa26 send channel sync requests "later" in the command queue 2021-09-02 19:58:00 +02:00
ailin-nemui
0e8717acf6
Merge pull request #23 from ailin-nemui/ssl-flip
do not unconditionally enable tls on /connect -!
2021-09-01 22:51:53 +02:00
Ailin Nemui
82d2cd88e7 Revert "Irssi does not take a political stance."
This reverts commit a4486c236a.
2021-09-01 13:37:37 +02:00
Ailin Nemui
1a30e646d9 Revert "Applied the updated docs changes in line with the upcoming blog post."
This reverts commit 1773fa8d19.
2021-09-01 13:37:17 +02:00
Ailin Nemui
939b773b8b Revert "Changed the support channel to LiberaChat."
This reverts commit a5d4fd5aa7.
2021-09-01 13:37:07 +02:00
Ailin Nemui
1a6d74ac26 fix reading of starttls = "no" in config, attempt 2 2021-08-31 21:54:41 +02:00
Ailin Nemui
6c47fcf10d Revert "Merge pull request #19 from ailin-nemui/starttls-no"
This reverts commit 3324c5da89, reversing
changes made to d3115f3855.
2021-08-31 21:49:29 +02:00
Ailin Nemui
21701a1299 do not unconditionally enable tls on /connect -! 2021-08-31 17:30:28 +02:00
ailin-nemui
b7b91ed2bf
Merge pull request #22 from ailin-nemui/ports
Something with server add
2021-08-31 15:30:48 +02:00
ailin-nemui
3324c5da89
Merge pull request #19 from ailin-nemui/starttls-no
fix reading of starttls = "no" in config
2021-08-31 15:17:03 +02:00
ailin-nemui
d3115f3855
Merge pull request #18 from ailin-nemui/ssl-verify
fix reading of old config ssl_verify key
2021-08-31 15:16:54 +02:00
Ailin Nemui
215cf08828 fuzz server ssl init 2021-08-31 14:54:08 +02:00
Ailin Nemui
e10e1c2da7 fix reading of old config ssl_verify key 2021-08-31 14:54:08 +02:00
Ailin Nemui
92ade2f591 fuzz server ssl init 2021-08-31 14:53:53 +02:00
Ailin Nemui
6710b35736 fix reading of starttls = "no" in config 2021-08-31 14:53:53 +02:00
Ailin Nemui
63a5b80ba7 only enable sasl plain when username and password are set
may fix #1325
2021-08-31 14:53:31 +02:00
Ailin Nemui
4b506fc45c remove duplicated servers on load 2021-08-31 14:49:56 +02:00
Ailin Nemui
c4fd417cce up abi 2021-08-31 12:34:01 +02:00
Ailin Nemui
49903f4185 mess with server ports 2021-08-31 12:34:01 +02:00
ailin-nemui
4001871552
Merge pull request #20 from ailin-nemui/fuzz-test
use an internal build of openssl when fuzzer is enabled
2021-08-30 22:15:08 +02:00
Ailin Nemui
a07a4c1ea8 use an internal build of openssl when fuzzer is enabled 2021-08-30 21:07:03 +02:00
ailin-nemui
e88f476115
Merge pull request #16 from ailin-nemui/log-server-time
add a log_server_time setting
2021-08-15 16:17:49 +02:00
Ailin Nemui
b3f74fe0ab up abi 2021-08-15 15:58:10 +02:00
Ailin Nemui
6a33139939 compat for glib 2.55 2021-08-15 15:57:34 +02:00
Ailin Nemui
fdd61f5898 add a log_server_time setting 2021-08-15 15:57:34 +02:00
ailin-nemui
d6f876d5ca
Merge pull request #17 from ailin-nemui/cifuzz-fork
Run CIFuzz docker manually
2021-08-15 15:56:11 +02:00
Ailin Nemui
0c82a3adfd Workaround for google/oss-fuzz#3731
Run CIFuzz docker manually
2021-08-15 15:26:35 +02:00
ailin-nemui
a6722f5c71
Merge pull request #14 from ailin-nemui/perl-draw-mod
Allow access to "gui render line text" from Perl
2021-08-13 18:59:32 +02:00
Ailin Nemui
5a8b23cab0 up abi 2021-08-13 17:38:57 +02:00
ailin-nemui
85f0a4c1f0
Merge pull request #13 from ailin-nemui/hilight
Add code to make hilight work with textbuffer changes
2021-08-13 17:37:52 +02:00
Ailin Nemui
96e9ab41e9 add "gui render line text" to signals.txt 2021-08-13 17:32:25 +02:00
Ailin Nemui
ed23d89a5a fix recursive crash in Perl scripts 2021-08-13 17:32:09 +02:00
Ailin Nemui
425178e793 add GString to Perl 2021-08-13 17:31:49 +02:00
Ailin Nemui
1602b506a6 add LINE_INFO_META_REC to Perl 2021-08-13 17:31:14 +02:00
Ailin Nemui
6a52b5ac07 up abi 2021-08-13 00:44:33 +02:00
Ailin Nemui
5953b675b9 store the hilight result in the meta table and apply it during the "gui render line text" signal 2021-08-12 23:53:44 +02:00
Ailin Nemui
8d314eadf1 move TEXT_BUFFER_META_REC -> LINE_INFO_META_REC 2021-08-12 23:51:18 +02:00
Ailin Nemui
9677b07488 fix wrong server_time in $line->get_meta 2021-08-12 23:49:40 +02:00
Ailin Nemui
7d13cfba07 add a meta table to all lines 2021-08-12 23:48:37 +02:00
Ailin Nemui
554a8556d2 fix use of wrong "equal" function in meta hash tables 2021-08-12 23:46:31 +02:00
ailin-nemui
7452ec34ad
Merge pull request #12 from ailin-nemui/ticho/singlenet
can do /server add -matrix -network my_matrix_network
2021-08-11 15:59:10 +02:00
ailin-nemui
b38d254d04
Merge pull request #11 from ailin-nemui/vague666/activity_hide_targets_tagstar
Allow tag/* in activity_hide_targets
2021-08-10 23:46:30 +02:00
Jari Matilainen
3aeebd310d Update fe-common-core.c 2021-08-10 23:45:22 +02:00
Jari Matilainen
d2062e34cf Update fe-common-core.c 2021-08-10 23:45:22 +02:00
ailin-nemui
be7a3a85e7
Merge pull request #10 from ailin-nemui/mteofrancis
Fix minor typos in help text
2021-08-10 23:43:26 +02:00
Francis M
77741b187c Fix minor typos in help text 2021-08-10 23:39:48 +02:00
ailin-nemui
a6ca512150
Merge pull request #9 from ailin-nemui/guntbert/issue-1329
Add documentation for  escaping some characters
2021-08-10 23:36:53 +02:00
Guntbert Reiter
aecf087014 Add documentation for escaping some characters
this is especially important when using `sendcmd` to send a password for autologin
2021-08-10 22:42:35 +02:00
ailin-nemui
53b2e0775a
Merge pull request #8 from ailin-nemui/ffrogman
Fix cursor getting stuck for auto completions that changes case
2021-08-10 22:36:03 +02:00
ailin-nemui
471046f5b6
Merge pull request #7 from ailin-nemui/names-limit
add a limit to showing /NAMES on join
2021-08-10 22:17:19 +02:00
Ailin Nemui
6591c94635 add a limit to showing /NAMES on join
only show the counts if too many nicks
2021-08-10 22:12:26 +02:00
Ailin Nemui
f147589e52 can do /server add -matrix -network my_matrix_network
By Andrej Kacian
2021-07-28 11:06:58 +02:00
Geert Hauwaerts
e31d42b381
Merge pull request #1328 from irssi/docs-change
Applied the updated docs changes in line with the upcoming blog post.
2021-05-30 11:20:49 +03:00
Geert Hauwaerts
a5d4fd5aa7
Changed the support channel to LiberaChat. 2021-05-27 20:50:38 +03:00
Geert Hauwaerts
1773fa8d19
Applied the updated docs changes in line with the upcoming blog post. 2021-05-27 20:47:09 +03:00
Geert Hauwaerts
a4486c236a
Irssi does not take a political stance. 2021-05-26 09:24:32 +03:00
ffrogman
700ec4c472 Fix cursor getting stuck for auto completions that exclusively change the case of letters 2021-05-25 23:37:36 -04:00
ailin-nemui
ca9fcbc124
Merge pull request #1316 from FeepingCreature/feature/add-serv-shorthands
Add aliases for ns, ms, os, cs shorthand commands supported by many servers to message services easily
2021-05-23 18:25:03 +02:00
Ailin Nemui
1ba48840a1 update default network 2021-05-20 15:57:06 +02:00
Mathis Beer
5779306df0 Add aliases for ns, ms, os, cs shorthand commands supported by many servers to message services easily. 2021-05-20 10:20:40 +02:00
ailin-nemui
58c9aecf86
Merge pull request #1315 from pekdon/otr_g_strndup
Use g_strndup, strndup is not available on old platforms
2021-05-17 14:43:31 +02:00
ailin-nemui
5df2d6e300
Merge pull request #1312 from ailin-nemui/nocap
slightly improve nocap detection
2021-05-17 10:54:21 +02:00
Claes Nästén
a3248d43ec Use g_strndup, strndup is not available on old platforms
strndup is not available on Solaris 10, to ensure building is ok use
glib function.
2021-05-15 18:10:02 +02:00
ailin-nemui
768658f5d5
Merge pull request #1314 from ailin-nemui/meson
fix build with meson 0.58.0
2021-05-10 13:14:40 +02:00
Ailin Nemui
af489b2d5f fix build with meson 0.58.0 2021-05-10 13:07:22 +02:00
ailin-nemui
da21a7f279
Merge pull request #1313 from ailin-nemui/meson
downgrade meson in github actions
2021-05-10 11:18:41 +02:00
Ailin Nemui
dcbc895e26 downgrade meson in github actions 2021-05-10 10:42:48 +02:00
Ailin Nemui
f5303c153c slightly improve nocap detection
Fixes #1311
2021-05-10 08:34:19 +02:00
ailin-nemui
b4b040d93d
Merge pull request #1308 from niacat/tparm-args
Fix build on operating systems with X/Open Curses, version 2
2021-05-02 09:02:46 +02:00
Ailin Nemui
2122daa3f3 Run clang-format 2021-04-30 10:27:47 +02:00
nia
4fa72e857c Fix build on operating systems with X/Open Curses, version 2
Add the missing arguments to tparm. X/Open Curses specifies
tparm takes a fixed number of 10 arguments, while ncurses
has implemented it as a varargs function. tiparm is a standardized
version of varargs tparm, support in both NetBSD libcurses and
ncurses, but not by older versions of Solaris.

This is an alternate fix to the one proposed in irssi/irssi/#1305
that should keep compatibility with older versions of Solaris by
avoiding tiparm.
2021-04-26 10:31:34 +02:00
ailin-nemui
9503d4bcba
Merge pull request #1304 from ailin-nemui/fuzztest
fuzz test
2021-04-20 10:27:32 +02:00
Ailin Nemui
3dbfac5699 fuzz test 2021-04-20 09:25:08 +02:00
ailin-nemui
afcb48384e
Merge pull request #1302 from rkta/update_gitignore
Ignore files generated by ./autogen.sh
2021-04-18 12:01:24 +02:00
ailin-nemui
4432b0bf0d
Merge pull request #1170 from ailin-nemui/starttls
use starttls / enable tls_verify
2021-04-18 12:01:14 +02:00
ailin-nemui
afdd9f8f05
Merge pull request #1259 from ailin-nemui/beep-ignore-opts
do not beep on hidden lines with /set beep_msg_level ... -hidden
2021-04-18 12:01:03 +02:00
ailin-nemui
f93879baff
Merge pull request #1260 from ailin-nemui/nohilight
add /IGNORE ... NOHILIGHT to ignore some hilights
2021-04-18 12:00:52 +02:00
Ailin Nemui
90003a2bf6 up abi 2021-04-18 11:38:20 +02:00
ailin-nemui
fa913091bd
Merge pull request #1297 from ailin-nemui/memory
missing strdup on netsplits w/o chan
2021-04-11 13:24:42 +02:00
ailin-nemui
3a54c85b15
Merge pull request #1295 from ailin-nemui/module-autoload-one
autoload modules from default setting
2021-04-11 13:24:21 +02:00
Rene Kita
8bb4875007 Ignore files generated by ./autogen.sh 2021-04-10 09:44:53 +02:00
Ailin Nemui
645d80d3b8 Merge tag '1.2.3' into integrate/1.2.3 2021-04-09 19:03:58 +02:00
Ailin Nemui
8a5d5d384e add nocap flag 2021-04-08 22:38:44 +02:00
Ailin Nemui
61237ee6c0 reorder code 2021-04-08 21:55:35 +02:00
Ailin Nemui
085c08e65c use enum 2021-04-08 21:55:35 +02:00
Ailin Nemui
244a8c72b4 verify tls connection 2021-04-08 21:55:35 +02:00
Ailin Nemui
2a0f1d7636 fix fe-fuzz 2021-04-08 21:55:35 +02:00
Ailin Nemui
f2795abcc5 actually use the tls settings on upgrade, and disconnect gracefully 2021-04-08 21:55:35 +02:00
Ailin Nemui
db2fed0d38 fix reconnect to use tls settings 2021-04-08 21:55:35 +02:00
Ailin Nemui
9668217509 changes suggested by ahf 2021-04-08 21:55:35 +02:00
ailin-nemui
51508ff1d3 use starttls 2021-04-08 21:55:35 +02:00
ailin-nemui
9b02424f30
Merge pull request #1298 from ailin-nemui/connect-crashes
fix crash on /connect -tls
2021-04-08 15:46:18 +02:00
Ailin Nemui
308400154b fix crash on tls error 2021-04-07 22:18:34 +02:00
Ailin Nemui
46493c051b add /IGNORE ... NOHILIGHT to ignore some hilights 2021-04-07 14:31:36 +02:00
Ailin Nemui
1e54b92220 fix crash on /connect -tls
fixes #1239
2021-04-03 22:38:00 +02:00
Ailin Nemui
efd705ba59 fix crash on /connect /dev/null 2021-04-03 21:54:53 +02:00
Ailin Nemui
b4ab8c1ada missing strdup on netsplits w/o chan 2021-04-03 21:32:04 +02:00
Ailin Nemui
d20d2753da autoload modules from default setting 2021-04-03 21:25:18 +02:00
ailin-nemui
628ca79e6a
Merge pull request #1293 from ihsinme/patch-1
fix memory leak.
2021-04-02 14:44:32 +02:00
ihsinme
7a3a383772
Update sasl.c 2021-04-02 14:21:06 +03:00
Ailin Nemui
80926476fc do not beep on hidden lines with /set beep_msg_level ... -hidden 2021-04-01 22:13:53 +02:00
ailin-nemui
e0b98e1fa5
Merge pull request #1292 from ailin-nemui/nonick
don't bother if we don't have a nick
2021-04-01 22:13:01 +02:00
Ailin Nemui
4c25bef29c don't bother if we don't have a nick
Credit to OSS-Fuzz
2021-04-01 21:53:30 +02:00
ailin-nemui
cdb30695f9
Merge pull request #1291 from ailin-nemui/nobool
remove unused bool include
2021-04-01 21:28:16 +02:00
ailin-nemui
a731525012
Merge pull request #1290 from mistydemeo/check_for_term_h
Add a check for term.h
2021-04-01 21:28:04 +02:00
ailin-nemui
437accdfa6
Merge pull request #1250 from ailin-nemui/whox
better account tracking
2021-04-01 21:27:51 +02:00
ailin-nemui
9362c59cd2
Merge pull request #1283 from ailin-nemui/freenode
fail redirects on EFNet/freenode 263
2021-04-01 21:27:29 +02:00
ailin-nemui
eeccfc3db1
Merge pull request #1284 from ailin-nemui/printformats
printformats
2021-04-01 21:27:12 +02:00
ailin-nemui
cd866c548a
Merge pull request #1286 from ailin-nemui/perl_formats
add format_string_expand and format_string_unexpand methods to Perl
2021-04-01 21:24:18 +02:00
ailin-nemui
9a8fc7112a
Merge pull request #1288 from jesopo/perl-chatnet-usermode
add IRC_CHATNET_REC->usermode to perl chatnet hashes
2021-04-01 21:24:01 +02:00
Ailin Nemui
8b597cb753 fix clang formatting 2021-04-01 21:21:06 +02:00
Ailin Nemui
c5cc58d34e remove unused include 2021-03-27 21:17:15 +01:00
Misty De Meo
0b82f14151
Add a check for term.h
If term.h is present, use that instead of defining prototypes for the
terminfo functions in terminfo-core.c. This causes problems on certain
platforms (e.g. Apple aarch64) due to the functions being prototyped as
non-variadic but called as variadic. If term.h isn't found, it falls
back to the old behaviour.

Fixes #1238.
2021-03-27 10:54:30 -07:00
ailin-nemui
6f38095cd6
Merge pull request #1287 from ailin-nemui/clang-enum
update clang-format to clang-format-11, fixes enum bug
2021-03-20 19:02:20 +01:00
jesopo
a0142ce384 add IRC_CHATNET_REC->usermode to perl chatnet hashes 2021-03-17 20:32:16 +00:00
Ailin Nemui
030da3ec9c add format_string_expand and format_string_unexpand methods to Perl 2021-03-14 19:00:22 +01:00
Ailin Nemui
25ad30d5e4 add format_string_expand to Perl 2021-03-14 19:00:22 +01:00
Ailin Nemui
7d213da88a update clang-format to clang-format-11, fixes enum bug 2021-03-14 18:53:35 +01:00
Ailin Nemui
9ce3420440 printformats 2021-03-12 23:17:53 +01:00
Ailin Nemui
f5339edbbc fail redirects on freenode 263 2021-03-12 21:16:43 +01:00
ailin-nemui
bf41bfa2f7
Merge pull request #1279 from ailin-nemui/cifuzz
Test CIFuzz offering
2021-03-08 18:25:57 +01:00
Ailin Nemui
5f1fe607e4 Test CIFuzz offering 2021-03-06 18:42:26 +01:00
ailin-nemui
5223ff1bcc
Merge pull request #1280 from ailin-nemui/op_public
fix level uninitialised
2021-03-06 18:37:34 +01:00
ailin-nemui
f4e64e488d
Merge pull request #1281 from ailin-nemui/line-under-construction
fix assertion failure when the line does not have text (yet)
2021-03-06 18:37:15 +01:00
Ailin Nemui
4e1aad6679 fix assertion failure when the line does not have text (yet) 2021-03-05 20:28:10 +01:00
Ailin Nemui
53c91623c5 fix level uninitialised
Credit to OSS-Fuzz
2021-03-03 17:39:44 +01:00
Ailin Nemui
b957d3ad4b add constants for WHOX queries 2021-02-27 21:30:29 +01:00
Ailin Nemui
18ee6bb6f9 queue the who command on join 2021-02-27 21:05:30 +01:00
Ailin Nemui
6eeec6a112 fix double free 2021-02-27 21:04:02 +01:00
Ailin Nemui
04b44a8f8d Revert "queue the who command on join"
This reverts commit 79be775f2b.
2021-02-27 21:02:48 +01:00
ailin-nemui
b2c9365623
Merge pull request #1275 from ailin-nemui/tags-heap
stop parsing on lone tag escape
2021-02-27 18:43:48 +01:00
Ailin Nemui
4c069f5c8f stop parsing on lone tag escape
It's C

Credit to OSS-Fuzz
2021-02-27 18:31:00 +01:00
ailin-nemui
73e73df1c5
Merge pull request #1274 from ailin-nemui/tags-heap
skip parsing empty tags
2021-02-26 20:40:03 +01:00
Ailin Nemui
a8144cd98f skip parsing empty tags
Credit to OSS-Fuzz
2021-02-26 20:25:48 +01:00
Ailin Nemui
3a929898e2 up abi 2021-02-26 14:28:51 +01:00
Ailin Nemui
79be775f2b queue the who command on join 2021-02-26 14:28:37 +01:00
Ailin Nemui
b11f973345 fix off by one 2021-02-26 14:19:33 +01:00
Ailin Nemui
09c17c3302 maybe this matches the command now 2021-02-26 14:19:33 +01:00
Ailin Nemui
a0a9a82673 fix missing output 2021-02-26 14:19:33 +01:00
Ailin Nemui
04089d5866 purge whos from queue 2021-02-26 14:19:33 +01:00
Ailin Nemui
04035ab7ca Track the account queries which are in progress 2021-02-26 14:19:33 +01:00
Ailin Nemui
dc87199100 better account tracking 2021-02-26 14:19:33 +01:00
Ailin Nemui
bf1376e34e update clang-format to clang-format-11, fixes enum bug 2021-02-26 14:19:33 +01:00
Ailin Nemui
7adf81f9b5 raise glib version requirement to 2.32 for g_hash_table_contains 2021-02-26 14:19:33 +01:00
ailin-nemui
b47257048c
Merge pull request #1108 from ailin-nemui/server-time
implement server-time
2021-02-25 19:25:41 +01:00
Ailin Nemui
3ea25fb704 up abi 2021-02-25 10:59:19 +01:00
Ailin Nemui
322df0d2c8 replace refstring macro implementation with C functions 2021-02-25 10:50:51 +01:00
ailin-nemui
d535a79730 implement server-time 2021-02-25 10:41:05 +01:00
ailin-nemui
33d8cc3254 GLib < 2.56 compat code for g_date_time_new_from_iso8601 2021-02-25 10:41:05 +01:00
ailin-nemui
395453aa23
Merge pull request #1272 from ailin-nemui/checks
update deprecated GLib symbol
2021-02-25 06:52:09 +01:00
Ailin Nemui
ccf59868e2 update deprecated GLib symbol
g_main_quit -> g_main_loop_quit
2021-02-24 21:57:11 +01:00
ailin-nemui
672f127544
Merge pull request #1271 from irssi/vague666-fix-159
Update dcc-get.c
2021-02-24 21:50:18 +01:00
Jari Matilainen
a426d669dc
Update dcc-get.c 2021-02-18 14:47:07 +01:00
ailin-nemui
0dd60755f0
Merge pull request #1269 from ihsinme/patch-1
fix invalid unsigned arithmetic.
2021-02-10 10:59:39 +01:00
ailin-nemui
33b4154b0c
Merge pull request #1270 from ihsinme/ihsinme-patch-238
correction of incorrect sequence of checks.
2021-02-08 17:17:07 +01:00
ihsinme
23e4bfa1db
Update write-buffer.c 2021-02-08 12:17:09 +03:00
ihsinme
39ed1ba055
Update gui-entry.c 2021-02-05 22:48:43 +03:00
ihsinme
5e88c107f1
Update gui-entry.c 2021-02-05 18:36:15 +03:00
ihsinme
33bfd88d9e
Update gui-entry.c 2021-02-05 18:34:54 +03:00
ailin-nemui
95f131da2d
Merge pull request #1268 from ailin-nemui/nostdinc
configure automake with nostdinc
2021-02-03 17:46:11 +01:00
Ailin Nemui
e7f3946583 configure automake with nostdinc
the current directoryh won't be added to the compiler's -I path
2021-02-02 00:24:34 +01:00
ailin-nemui
c108cae02f
Merge pull request #1264 from ailin-nemui/wrong-prefixes
correct two more wrong prefixes

    [M] 'function GList* i_list_find_icase_string(GList*, const char*)'    {glist_find_icase_string}
    [M] 'function GList* i_list_find_string(GList*, const char*)'    {glist_find_string}
2021-01-30 23:33:19 +01:00
Ailin Nemui
feb83b2058 two more wrong prefixes 2021-01-30 23:30:59 +01:00
ailin-nemui
db9aa817d5
Merge pull request #1246 from ailin-nemui/wrong-prefixes
correct wrong function prefixes

Module authors will have to adapt these changes:

    [M] 'constant I_INPUT_READ'    {G_INPUT_READ}
    [M] 'constant I_INPUT_WRITE'    {G_INPUT_WRITE}
    [M] 'function int i_input_add(GIOChannel*, int, GInputFunction, void*)'    {g_input_add}
    [M] 'function int i_input_add_full(GIOChannel*, int, int, GInputFunction, void*)'    {g_input_add_full}
    [M] 'function int i_input_add_poll(int, int, int, GInputFunction, void*)'    {g_input_add_poll}
    [M] 'function GIOChannel* i_io_channel_new(int)'    {g_io_channel_new}
    [M] 'function int i_io_channel_read_block(GIOChannel*, void*, int)'    {g_io_channel_read_block}
    [M] 'function int i_io_channel_write_block(GIOChannel*, void*, int)'    {g_io_channel_write_block}
    [M] 'function int i_istr_cmp(gconstpointer, gconstpointer)'    {g_istr_cmp}
    [M] 'function int i_istr_equal(gconstpointer, gconstpointer)'    {g_istr_equal}
    [M] 'function guint i_istr_hash(gconstpointer)'    {g_istr_hash}
    [M] 'function void i_log_func(const char*, GLogLevelFlags, const char*)'    {glog_func}
    [M] 'function GSList* i_slist_delete_string(GSList*, const char*, GDestroyNotify)'    {gslist_delete_string}
    [M] 'function GSList* i_slist_find_icase_string(GSList*, const char*)'    {gslist_find_icase_string}
    [M] 'function GSList* i_slist_find_string(GSList*, const char*)'    {gslist_find_string}
    [M] 'function void* i_slist_foreach_find(GSList*, FOREACH_FIND_FUNC, void*)'    {gslist_foreach_find}
    [M] 'function void i_slist_free_full(GSList*, GDestroyNotify)'    {gslist_free_full}
    [M] 'function GSList* i_slist_remove_string(GSList*, const char*)'    {gslist_remove_string}
    [M] 'function char* i_slist_to_string(GSList*, const char*)'    {gslist_to_string}
2021-01-30 21:09:26 +01:00
ailin-nemui
adb50a7409
Merge pull request #1261 from ailin-nemui/unfix-meson
unfix breakage in python setuptools
2021-01-20 10:06:32 +01:00
Ailin Nemui
a76debde58 unfix breakage in python setuptools
see pypa/setuptools#2541
2021-01-20 09:58:25 +01:00
ailin-nemui
ea5121da3b
Merge pull request #1252 from ailin-nemui/build-fixes-test-actions
fix autotools build and package the meson.build files
2021-01-11 11:15:57 +01:00
ailin-nemui
cd8a0cb701
Merge pull request #1255 from irssi/vague666-patch-1
Update ignore.in examples
2021-01-09 10:38:36 +01:00
ailin-nemui
24999a066c
Merge pull request #1243 from ailin-nemui/config-setup-comments
ignore comments and abort irssi on servers and channels config errors
2021-01-08 23:12:31 +01:00
ailin-nemui
8e69b2bbb4
Merge pull request #1254 from ailin-nemui/cap-setname
undraft setname capability
2021-01-08 18:58:51 +01:00
ailin-nemui
8f23e6c6db
Merge pull request #1253 from ailin-nemui/bad-version-tags
put proper versions in PACKAGE_VERSION
2021-01-08 18:58:23 +01:00
Jari Matilainen
b7bea3d2f3
Update ignore.in 2021-01-07 20:00:26 +01:00
Ailin Nemui
4db0535b32 undraft setname 2021-01-07 18:31:41 +01:00
Ailin Nemui
16b1d58703 Abort Irssi on wrong entries in the channels or servers config 2021-01-07 16:31:11 +01:00
Ailin Nemui
68da49db78 up abi 2021-01-07 10:14:34 +01:00
Ailin Nemui
504cf21783 correct wrong function prefixes: remove g_free_true 2021-01-07 10:14:34 +01:00
Ailin Nemui
aa653aa389 correct wrong function prefixes: glog_func -> i_log_func 2021-01-07 10:14:34 +01:00
Ailin Nemui
b5ddc55fe6 correct wrong function prefixes: gslist -> i_slist 2021-01-07 10:14:34 +01:00
Ailin Nemui
8405c6970a correct wrong function prefixes: g_hash_free_value -> i_hash_free_value 2021-01-07 10:09:45 +01:00
Ailin Nemui
50ed476623 correct wrong function prefixes: g_io_channel -> i_io_channel 2021-01-07 10:09:45 +01:00
Ailin Nemui
9181796472 correct wrong function prefixes: g_istr -> i_istr 2021-01-07 10:09:45 +01:00
Ailin Nemui
edb2f699d1 correct wrong function prefixes: g_input -> i_input 2021-01-07 10:09:45 +01:00
Ailin Nemui
9cbdf9175e put proper versions in PACKAGE_VERSION 2021-01-07 10:09:45 +01:00
Ailin Nemui
168ba937c1 remove travis 2021-01-07 01:42:19 +01:00
Ailin Nemui
57408b19d5 put proper versions in PACKAGE_VERSION 2021-01-07 01:38:21 +01:00
Ailin Nemui
7379833b53 move clang-format-xs into utils 2021-01-07 01:36:32 +01:00
Ailin Nemui
8f6e67b9b3 Check Irssi compilation using github actions 2021-01-07 01:36:32 +01:00
Ailin Nemui
1f05f86167 package the meson.build files 2021-01-06 22:12:46 +01:00
Ailin Nemui
1e7af8bf61 fix autotools build 2021-01-06 22:12:46 +01:00
ailin-nemui
0ae27530d6
Merge pull request #1249 from ailin-nemui/dup-caps
fix multiple identical active caps
2021-01-06 19:23:07 +01:00
Ailin Nemui
18a1a0ba7c fix multiple identical active caps 2021-01-06 10:41:57 +01:00
ailin-nemui
a1cbb8d28f
Merge pull request #1247 from ailin-nemui/clang-format-checker
fix clang-format-xs formatting whole file
2021-01-04 16:17:59 +01:00
Ailin Nemui
e08aca6c85 fix clang-format-xs formatting whole file
incomplete fix in #1234
2021-01-04 16:06:10 +01:00
ailin-nemui
9f1822be3d
Merge pull request #1245 from ailin-nemui/meson-cc-links
use cc.links in meson.build to fix regression of meson 0.56
2021-01-04 10:17:51 +01:00
Ailin Nemui
0706ad14fc use cc.links in meson.build to fix regression of meson 0.56
fixes #1235 reported by dcbaker
2021-01-04 08:37:56 +01:00
ailin-nemui
cfc2ddf56a
Merge pull request #1244 from ailin-nemui/empty-perl-lib
error out on empty perlmodlib, for example non-existant vendor
2021-01-04 00:48:19 +01:00
Ailin Nemui
06396e9c8f error out on empty perlmodlib, for example non-existant vendor
reported by Xogium
2021-01-03 23:07:27 +01:00
Ailin Nemui
ae5e2fe5e5 properly ignore empty lines and comments in servers and channels config
fixes #1242
2020-12-31 17:50:40 +01:00
ailin-nemui
581c43ed1e
Merge pull request #1232 from vague666/fix_1228
Implement priority on the matched lines for /hilight
2020-12-14 15:22:56 +01:00
vague666
69396482be style format change 2020-12-02 14:33:23 +01:00
ailin-nemui
f57dcfe90d
Merge pull request #1234 from ailin-nemui/fix/perlsignals
Copy Perl signal arguments prior to running callbacks
2020-11-14 19:43:10 +01:00
Ailin Nemui
c9ccf9867f Make a copy of the signal arguments so we don't have to worry about the stack
plug some mem leaks

later copy
2020-11-12 13:00:02 +01:00
Ailin Nemui
5f7d274ec5 fix clang-format-xs formatting whole file
regression of #1230
2020-11-12 13:00:02 +01:00
ailin-nemui
e0292665c1
Merge pull request #1230 from ailin-nemui/fix-clang-format-xs-opts
fix clang-format-xs option parser by using getopt
2020-10-27 10:39:25 +01:00
ailin-nemui
dd8478dcde
Merge pull request #1231 from ailin-nemui/gh-actions
keep up with github-actions changes
2020-10-27 10:27:46 +01:00
vague666
323b60f339 Initialize tmprec 2020-10-27 09:49:54 +01:00
Ailin Nemui
5c0d798ef4 keep up with github-actions changes 2020-10-26 23:24:30 +01:00
Ailin Nemui
11b9cbdf35 fix clang-format-xs option parser by using getopt 2020-10-26 17:00:58 +01:00
vague666
8f4f0be6d4 Add prio check to hilight_nick_cache also 2020-10-26 11:01:03 +01:00
vague666
4fb10322d1 Optimize execution 2020-10-26 10:57:05 +01:00
vague666
eb4174ee1e Make hilight priority work 2020-10-23 21:49:09 +02:00
ailin-nemui
17c6c22c89
Merge pull request #1224 from ailin-nemui/meson-capsicum
Fix meson capsicum
2020-09-26 16:51:26 +02:00
ailin-nemui
447e565309 Fix meson capsicum
Fixes #1223
2020-09-26 16:40:18 +02:00
ailin-nemui
561619f23c
Merge pull request #1221 from nachanon/bug1220
Decolor the vertical window split bar in stock `colorless` theme
2020-09-11 14:15:41 +02:00
Nutchanon Wetchasit
a88806640b Make colorless.theme de-color vertical window borders
Fixes #1220.
2020-09-08 17:59:24 +07:00
ailin-nemui
300cd14a70
Merge pull request #1214 from irssi/vague666-update-help-1
Update ignore help
2020-07-30 19:09:28 +02:00
ailin-nemui
dfba73225d
Merge pull request #1213 from irssi/vague666-update-help
Update help with HIDDEN level
2020-07-30 09:04:03 +02:00
Jari Matilainen
ec2f269e98
Update ignore.in 2020-07-28 23:48:52 +02:00
Jari Matilainen
556cb25239
Update ignore.in 2020-07-27 17:37:01 +02:00
Jari Matilainen
fcf2919348
Update help with HIDDEN level 2020-07-27 16:14:44 +02:00
ailin-nemui
f8052b7f57
Merge pull request #1209 from ailin-nemui/perl_line_signal_arg
fix missing wrapping of line in signals
2020-07-26 10:47:13 +02:00
ailin-nemui
cd10745711
Merge pull request #1211 from ailin-nemui/disco_lastmsg
fix crash when server got disconnected/reconnected before it was properly connected
2020-07-26 10:43:51 +02:00
ailin-nemui
79c32cefe7
Merge pull request #1212 from ailin-nemui/master
update github actions/checkout to new branch
2020-07-23 12:15:05 +02:00
ailin-nemui
f4f2350d3c update github actions/checkout to new branch 2020-07-23 12:05:19 +02:00
Ailin Nemui
ffe0c71554 up abi 2020-07-23 11:54:18 +02:00
Ailin Nemui
468d8b0c78 fix missing wrapping of line in signals 2020-07-23 00:52:55 +02:00
Ailin Nemui
4e9dab4aeb fix crash when server got disconnected/reconnected before it was properly connected 2020-07-23 00:42:54 +02:00
ailin-nemui
40ed4122b1
Merge pull request #1208 from ailin-nemui/daychange
do not use localtime result after other functions
2020-07-16 12:07:16 +02:00
ailin-nemui
e55f1f5cea
Merge pull request #1206 from aquanight/selfunload-fix
Fix crash from self-unloading script
2020-07-14 03:14:47 +02:00
ailin-nemui
ad30d568d6 do not use localtime result after other functions 2020-07-13 13:25:18 +02:00
aquanight
12685f8074
Merge branch 'master' into selfunload-fix 2020-07-10 18:32:48 -06:00
aquanight
af5987827c ABI version again 2020-07-10 18:31:47 -06:00
aquanight
cc759e1179 Clean up commented out stuff and fix merge issues 2020-07-10 18:27:54 -06:00
ailin-nemui
70626d86ae
Merge pull request #1159 from vague666/fix_cmd_cat_bug
Make sure witem exists in cmd_cat when using -window
2020-07-10 10:24:06 +02:00
ailin-nemui
76802985a4
Merge pull request #1183 from ailin-nemui/glib-2-63
manually handle NUL unicode in g_utf8_get_next_char_validated
2020-07-08 17:43:11 +02:00
ailin-nemui
37cac5a862
Merge pull request #1205 from ailin-nemui/formatflags
properly restore the saved text dest
2020-07-08 10:07:07 +02:00
ailin-nemui
1b5bb8cdd7
Merge pull request #1204 from ailin-nemui/bgcolours
fix extended bg colours
2020-07-07 09:48:42 +02:00
ailin-nemui
357beb91f5 make clang-format happy 2020-07-07 09:28:41 +02:00
vague666
9593be14f5 print to active window when -window is specified 2020-07-06 12:22:16 +02:00
aquanight
26f3049a86 Refactor to pure refcount for PERL_SCRIPT_REC 2020-07-05 17:20:08 -06:00
aquanight
2d59df8162 Don't try to use the PERL_SIGNAL_REC after it could be freed 2020-07-05 16:09:19 -06:00
aquanight
7daeaa25b6 Fix wrong way on unloaded checks 2020-07-05 15:46:34 -06:00
aquanight
6012ec9e56 Prevent double calls of perl_script_unload 2020-07-05 15:31:07 -06:00
ailin-nemui
6684e5cc41
Merge pull request #1155 from vague666/bind_shenanigans
rewrite how /bind searches for bindings when listing them
2020-07-04 20:37:36 +02:00
ailin-nemui
0cc1e4b7cd properly restore the saved text dest 2020-07-04 18:19:37 +02:00
ailin-nemui
108f57ac7b fix extended bg colours 2020-07-04 12:15:25 +02:00
ailin-nemui
0d2997b36f
make clang-format happy in keyboard.c 2020-06-30 09:29:50 +02:00
vague666
fe9a443380 change to strstr 2020-06-29 16:11:45 +02:00
ailin-nemui
964c067b1e
Merge pull request #1199 from ailin-nemui/termux
Add support for building in Termux-Android in meson
2020-06-17 13:57:30 +02:00
ailin-nemui
01ecb879a6 Add support for building in Termux-Android in meson
- introduce cross perl
- workaround for the android linker
2020-06-02 10:38:01 +02:00
ailin-nemui
4b2c710ebe disable setuid/setgid on android 2020-06-02 10:04:54 +02:00
ailin-nemui
fbe62a34d0
Merge pull request #1198 from ailin-nemui/actlist-sort-type
make actlist_sort a choice type now that we have it
2020-05-24 18:59:15 +02:00
ailin-nemui
d5017cfc7c make actlist_sort a choice type now that we have it 2020-05-24 18:44:25 +02:00
ailin-nemui
99b941db8e
Merge pull request #1197 from lotheac/master
use visible channel name in layout save
2020-05-21 16:00:30 +02:00
Lauri Tirkkonen
7c1237de98 use visible channel name in layout save 2020-05-21 12:15:07 +03:00
ailin-nemui
2a2f7b826d
Merge pull request #1196 from mh-source/master
Add better support for numeric 489 ERR_SECUREONLYCHAN along with a print format
2020-05-16 13:58:35 +02:00
Michael Hansen
214c7ad7da make clang-format happy about the code i added, instead of the code above it.
modified:   src/fe-common/irc/fe-events-numeric.c
2020-05-16 01:26:00 +02:00
Michael Hansen
451e3692b2 disable clang-format check for a few sections of code from before format strictnes got tightened
modified:   src/fe-common/irc/fe-events-numeric.c
modified:   src/fe-common/irc/module-formats.c
modified:   src/fe-common/irc/module-formats.h
2020-05-16 01:20:22 +02:00
Michael Hansen
1fef8f82a5 make git-clang-format check happy
modified:   src/fe-common/irc/fe-events-numeric.c
2020-05-16 01:00:17 +02:00
Michael Hansen
28768e40a3 Increased IRSSI_ABI_VERSION to 29
modified:   src/common.h
2020-05-16 00:48:58 +02:00
Michael Hansen
ae6c8a1bd5 Add better support for numeric 489 ERR_SECUREONLYCHAN along with a print format
modified:   src/fe-common/irc/fe-events-numeric.c
modified:   src/fe-common/irc/module-formats.c
modified:   src/fe-common/irc/module-formats.h
2020-05-15 20:25:41 +02:00
ailin-nemui
3ba8eeba4b
Merge pull request #1195 from ailin-nemui/xs-abi
also check XS abi in abi-diff github workflow
2020-05-15 12:13:22 +02:00
ailin-nemui
3cb6627973 also check XS abi 2020-05-15 12:08:45 +02:00
ailin-nemui
5ba58d9067
Merge pull request #1192 from ailin-nemui/perl-signals-format
add "print format" signal to perl
2020-05-14 11:20:22 +02:00
ailin-nemui
b0cd72aadd up abi 2020-05-13 00:23:12 +02:00
ailin-nemui
3ea854816d Correct a wrong package for format_create_dest 2020-05-13 00:22:56 +02:00
ailin-nemui
4330dbec62 add "print format" signal to perl
fix syntax in signals.txt with regards to GLists

simplify signal emit code
2020-05-13 00:22:38 +02:00
ailin-nemui
784373a7b3
Merge pull request #1191 from ailin-nemui/null-format
fix NULL assertion in format args
2020-05-08 15:42:55 +02:00
ailin-nemui
ba57684d73 fix NULL assertion in format args 2020-05-08 15:34:49 +02:00
ailin-nemui
9bfbb5cdf3
Merge pull request #1188 from ailin-nemui/null-format
fix npe on no text from format_get_text_theme_charargs
2020-05-07 21:46:55 +02:00
ailin-nemui
08ead5ef06 fix npe on no text from format_get_text_theme_charargs 2020-05-07 01:27:25 +02:00
ailin-nemui
86b72d5829
Merge pull request #1079 from ailin-nemui/reformat2
reapply a theme to previous formats
2020-04-30 09:00:34 +02:00
ailin-nemui
bbd73ce58c
Merge pull request #1184 from ailin-nemui/clangformat
also check xs files in the clang-format github action
2020-04-29 19:08:23 +02:00
ailin-nemui
66a7cc3c34 check xs format 2020-04-29 04:24:51 +02:00
ailin-nemui
675696aa84 up abi 2020-04-28 15:46:53 +02:00
ailin-nemui
449d86caf0 add setting to disable reformat 2020-04-28 15:46:53 +02:00
ailin-nemui
8fd6dccaf1 enable mirc colour processing 2020-04-28 15:46:53 +02:00
ailin-nemui
57fb173130 add perl code for textbuffer-formats
- compatibility shim for new line

- make format accessible from perl

- fix perl line IDs being mixed up due to wrapper
2020-04-28 15:46:53 +02:00
ailin-nemui
a0544571a8 manually handle NUL unicode in g_utf8_get_next_char_validated
A change in GLib 2.63 broke some assumptions in Irssi that the null-byte
NUL / U+0000 is a valid Unicode character. This would occur when the
user types Ctrl+Space. As a result, the input loop never manages to
process the NUL-byte (and any other user input that follows, ever).

This patch adds a manual check that properly advances the input loop if
GLib returns -2 (incomplete character) despite the length being positive
and a NUL is in first position.

Fixes #1180
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967
https://gitlab.gnome.org/GNOME/glib/-/issues/2093
2020-04-28 15:40:21 +02:00
ailin-nemui
6b93d6e338 implement expando cache
- the expando values need to be stored now that the lines are
  reformattable, otherwise the old values are lost (and they depend on
  context only available at the time the line is initially printed)

- the cache is collected from the special-vars evaluation code

- the cache is controlled by the textbuffer-formats code, and stored in
  the text_buffer_format_rec
2020-04-26 20:42:02 +02:00
ailin-nemui
d2291ec6eb
Merge pull request #1182 from ailin-nemui/cleanup
remove some old compat code
2020-04-26 19:18:52 +02:00
ailin-nemui
f95fc81130 make lines reformattable
- completely removed the old textbuffer representation (
  https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour#textbuffer-encoding
  )

- textbuffer-formats is an extra module, so if we unhook the signals it
  should go back to the "old way" of storing pre-rendered tex

- design uses cache, original formats and list of arguments
2020-04-26 18:54:16 +02:00
ailin-nemui
4b24d0a51d remove some old compat code
we already rely on c99 in other parts of the code
2020-04-25 12:04:26 +02:00
ailin-nemui
94ae7f9cd3
Merge pull request #1181 from ailin-nemui/buildfixes
build fixes when using install-glib and on openbsd
2020-04-23 12:52:44 +02:00
Ailin Nemui
244ebaaa2e build fixes when using install-glib and on openbsd 2020-04-23 12:31:52 +02:00
ailin-nemui
316c8157a5
Merge pull request #1179 from ailin-nemui/abidiff
Check for abi compatibility using github actions
2020-04-23 07:41:12 +02:00
ailin-nemui
9ec9a9afc8 try abipkgdiff 2020-04-21 23:52:01 +02:00
ailin-nemui
0bedcfccbd
Merge pull request #1140 from dequis/tear-down-the-wall
meson.build: Remove unnecessary -Wall
2020-04-14 10:23:09 +02:00
ailin-nemui
6d67cadcdb
Merge pull request #1173 from ailin-nemui/clangformat
Fix clang-format checker on empty diff
2020-04-14 09:59:40 +02:00
ailin-nemui
0548bb1a3c empty is also good 2020-04-14 09:55:23 +02:00
ailin-nemui
3d3305a893
Merge pull request #1172 from ailin-nemui/clangformat
run clang-format as a pull request hook
2020-04-13 22:52:17 +02:00
ailin-nemui
6317db5ccb run clang-format as a pull request hook 2020-04-13 22:14:50 +02:00
ailin-nemui
261631a6e1
Merge pull request #1171 from ailin-nemui/hidden-options
hide the deprecated -ssl options from completion
2020-04-07 19:12:04 +00:00
ailin-nemui
f1647bdfa9
Merge pull request #1169 from Pinguin1234/feature/close_on_sighup
Added option to quit in SIGHUP
2020-04-06 15:14:40 +00:00
=
1bfe27c66e Used Tabs instead of spaces and increased ABI_VERSION 2020-04-06 17:04:35 +02:00
ailin-nemui
485ed2f52b hide the deprecated -ssl options from completion 2020-04-05 21:29:39 +02:00
Dennis Pentmeier
f9595c03b1 Changed to async-signal safe method as suggested by dequis 2020-04-04 18:07:08 +02:00
ailin-nemui
cae37e37ca run git-clang-format 2020-04-04 01:12:03 +02:00
Pinguin1234
81dc94c406 Added option to quit in SIGHUP 2020-04-04 00:55:58 +02:00
ailin-nemui
8b7bf1f04e
Merge pull request #1167 from ailin-nemui/quit-crash
fix crash on /quit when unloading modules
2020-04-03 23:26:54 +02:00
ailin-nemui
5d6baeb0b5
Merge pull request #1166 from ailin-nemui/build-fix
fix perl module build on openbsd
2020-04-03 23:26:40 +02:00
ailin-nemui
46ae8c20c5
Merge pull request #1164 from ailin-nemui/modes-noact
fix /ignore ... MODES NO_ACT not working
2020-04-03 10:20:52 +02:00
ailin-nemui
8a446d24de fix /ignore ... MODES NO_ACT not working
reported by letty
2020-04-02 15:47:15 +02:00
ailin
ae89ba7164 fix crash on /quit when unloading modules
this fixes a crash on /quit when the module unloaded is trying
to reference symbols from already-unloaded modules, by reversing
the lists.
2020-04-02 15:39:40 +02:00
ailin
4594b0c4cf fix perl module build on openbsd
unfortunately, some mangling is needed to create the correct linker
and compiler invocations
2020-04-02 04:39:30 +02:00
ailin-nemui
b69074bb39
Merge pull request #1163 from ailin-nemui/docs
update docs and sync scriptassist
2020-03-30 16:21:26 +02:00
ailin-nemui
97670d1dc1 run syncscripts.sh
sync scriptassist.pl to 2003020807
2020-03-30 14:30:05 +02:00
ailin-nemui
be467111fa update docs 2020-03-30 14:28:26 +02:00
ailin-nemui
aab5349256
Merge pull request #1161 from vague666/ignore_readable_time
unignore_time can not be NULL, check for 0 instead
2020-03-18 19:53:55 +01:00
ailin-nemui
6fc9362c65
Merge pull request #1160 from irssi/ailin-nemui/workflow-pr
Use github actions to test PRs
2020-03-18 19:53:19 +01:00
ailin-nemui
597afa4043 Use github actions to test PRs 2020-03-18 19:29:00 +01:00
vague666
d5a55f5e6e unignore_time can not be NULL, check for 0 instead 2020-03-18 17:27:18 +01:00
ailin-nemui
c8440d49d8
Merge pull request #1158 from vague666/ignore_readable_time
-time was missing in /ignore output. now the time is displayed
2020-03-18 16:58:01 +01:00
ailin-nemui
22851686f5
simplify logic 2020-03-17 00:58:48 +00:00
ailin-nemui
f0c1bc4dde
Merge pull request #1156 from vague666/add_server_nopass
Improve help for how to remove saved server password
2020-03-17 01:54:34 +01:00
ailin-nemui
1ad1083f84
improve wording 2020-03-17 00:54:23 +00:00
vague666
7e898fdcf4 Make sure witem exists 2020-03-12 22:52:12 +01:00
vague666
ca04e0ba5d -time was missing in /ignore output and made it human-readable 2020-03-09 14:15:40 +01:00
vague666
43092a5bcc Improve server help 2020-02-19 16:55:11 +01:00
vague666
03295b73b4 Improve server help 2020-02-17 19:55:38 +01:00
ailin-nemui
b38ae68fb5
Merge pull request #1154 from ailin-nemui/zerowidth
refine zero width input test in empty line
2020-02-14 20:17:50 +01:00
vague666
5dba9fd0cc Search for word anywhere, not only from the beginning of string 2020-02-09 12:40:09 +01:00
ailin-nemui
e59c42bcc0 refine zero width input test in empty line
fixes #1153
2020-02-07 16:33:53 +01:00
ailin-nemui
363a79dc7a
Merge pull request #1145 from ailin-nemui/time
remove GTimeVal following glib 2.61.2 deprecation
2020-01-08 10:41:08 +01:00
ailin-nemui
b8be290640
Update src/irc/core/lag.c
Co-Authored-By: dx <dx@dxzone.com.ar>
2020-01-08 10:15:47 +01:00
ailin-nemui
6e14acee17
Merge pull request #1146 from slingamn/issue641_ipv6_failover.1
Reconnect retry IPv4 on IPv6 failure
2020-01-06 10:42:28 +01:00
Shivaram Lingamneni
7d44964dcd fix #641
Track the address family of the last failed connection attempt
(either immediately or during TLS handshake), then disprefer
that address family during reconnection.
2019-12-09 22:48:56 -05:00
ailin-nemui
1cdb4bc311 remove GTimeVal following glib 2.61.2 deprecation 2019-12-06 10:56:25 +01:00
ailin-nemui
4c5f708b9b
Merge pull request #1135 from horgh/horgh/resolve-setting
Remove resolve_reverse_lookup setting
2019-11-19 19:42:06 +01:00
ailin-nemui
942462f23f
Merge pull request #1141 from dequis/glib-deprecations
Fix some glib deprecation warnings
2019-11-19 19:41:16 +01:00
dequis
664c38afba Fix some glib deprecation warnings
Most of these have been deprecated since forever (2.2), but they didn't
raise warnings. Now they do, and the warnings are not the most verbose
warnings you could ask for, but, they point in the right direction.

This doesn't handle the GTimeVal deprecation warnings. Those seem
trickier since they cover API, will look into those right after this.
2019-10-31 23:49:40 +01:00
dequis
bdf5d748f2 meson.build: Remove unnecessary -Wall 2019-10-31 21:02:26 +01:00
ailin-nemui
50f8791f1e
Merge pull request #1138 from mquin/patch-1
Improve clarity of nick in use message
2019-10-19 16:01:16 +02:00
Mike Quin
b7f165a609
Improve clarity of nick in use message
If irssi's preferred nick is in use irssi will issue a whois command and report some information
on the current user of the nick. As the "is owned by" wording can be confusing to users of networks
with nickname registration, propose rephrasing this to "is in use by".
2019-10-19 11:34:15 +01:00
Will Storey
a827c69183 Bump ABI 2019-10-17 19:43:29 -07:00
Will Storey
d84f285b91 Keep unused parameter for API compatibility 2019-10-15 19:07:48 -07:00
ailin-nemui
bf3565a720
Merge pull request #1136 from ailin-nemui/lines
Make sure the bottom_startline is not lost when removing lines
2019-10-15 12:56:36 +02:00
ailin-nemui
453b648e7e
Merge pull request #1132 from horgh/horgh/rm-funcs
Remove an unused function and deprecate another
2019-10-15 11:03:04 +02:00
ailin-nemui
ebdfd2e08c
Merge pull request #1129 from dcollinsn/op-public-hilights
#354 Fix hilight behavior for STATUSMSG
2019-10-15 11:02:41 +02:00
ailin-nemui
156d02c5cf
Merge pull request #1134 from horgh/horgh/tls-reconnect
Use correct TLS settings when reconnecting
2019-10-15 11:02:22 +02:00
ailin-nemui
5776ca5e0b bottom_startline lost? 2019-10-13 21:35:30 +02:00
Will Storey
7e6d24420c Remove resolve_reverse_lookup setting
This setting seems ill advised and breaks TLS verification.

Fixes #1034.
2019-10-12 17:09:48 -07:00
Will Storey
f9db4019af Remove else since prior condition returns 2019-10-12 17:03:40 -07:00
Will Storey
34effcec01 Fill more connection information in one spot 2019-10-12 15:46:42 -07:00
Will Storey
1639425217 Do not copy TLS settings to reconnection record
This was causing us to use the TLS settings from one server on another
which is not always appropriate. Instead, we now treat it like other
connection information and do not copy it. We get the TLS settings later
as appropriate when connecting.

Note there is still probably more that could be cleaned up here. For
example, the unix socket might be better treated as connection info too.

Fixes #1027.
2019-10-12 15:46:42 -07:00
Will Storey
4476fbbad9 Fix indentation 2019-10-12 15:46:39 -07:00
ailin-nemui
145d1040ac add ignore check, emphasis and fix a memory leak 2019-10-11 22:37:09 +02:00
ailin-nemui
ef5579c212
Merge pull request #1131 from ailin-nemui/account-free
missing free in nicklist/account
2019-10-06 17:58:43 +02:00
Will Storey
e4d34380e5 Mark unused function deprecated 2019-10-05 14:32:35 -07:00
Will Storey
2af7db2dfa Remove unused function 2019-10-05 14:32:35 -07:00
ailin-nemui
a68be4dcca missing free 2019-10-05 23:30:25 +02:00
ailin-nemui
49c6c2b69f
Merge pull request #1130 from ailin-nemui/string-free
Only call g_string_free if there is a string
2019-10-01 13:55:46 +02:00
ailin-nemui
03eb8d032a fix the fix 2019-10-01 11:09:25 +02:00
ailin-nemui
4cc286634a
Merge pull request #1128 from josephbisch/fix-sasl-buffer-free
Properly free sasl_buffer GString

Credits to oss-fuzz
2019-09-30 15:39:20 +02:00
Dan Collins
7e694fd223 Fix hilight behavior for STATUSMSG
This patch allows irc_op_public messages to properly trigger
hilights when the message mentions the current nick or one of our
hilights. This is done by copying the required code from
sig_message_public. This is important because Freenode has begun
using this message type for messages that can only be seen by ops
due to the +z channel mode, and ops will want to be notified of
watchwords even in that type of message.

To test, make two connections to Freenode, join a new channel. The
first client to join that channel will be an op. To establish a
baseline, use the non-opped client to attempt to "ping" the opped
client by addressing it by name and using terms in /hilight. Then,
set channel mode to +mz and use the non-opped client to send the
messages again. Without this patch, no message will "ping" the opped
client with +mz set. With this patch, "pings" should operate
normally, causing a bell, hilighting the window number, and so on.

What I don't know is whether there is any other code from
sig_message_public that should be copied over too. In particular,
the lines related to "ignore_check_plus", "emphasis", and
"printnick", I don't know if they are needed here. I also don't know
if there are any other message types that these changes should be
    applied to.
2019-09-28 20:00:06 -04:00
Joseph Bisch
ed65499d76 Add missing g_string_free param 2019-09-26 21:51:36 -04:00
Joseph Bisch
f6cca3de4e Properly free sasl_buffer GString 2019-09-24 21:35:40 -04:00
ailin-nemui
8a1a96c12c
Merge pull request #1120 from ailin-nemui/invalid-cap-free
free params
2019-09-16 11:42:48 +02:00
ailin-nemui
e36d6b9b8c
Merge pull request #1126 from ailin-nemui/null-logger
silence glib log output during fuzzing on oss-fuzz
2019-09-11 13:33:14 +02:00
ailin-nemui
51190f69b2 update fuzzer flags 2019-09-10 15:01:39 +02:00
ailin-nemui
9ff224d05d silence glib log output during fuzzing on oss-fuzz 2019-09-10 13:08:35 +02:00
ailin-nemui
96562e460b
Merge pull request #1124 from ailin-nemui/extended-join
fix crash in join due to incorrect free
2019-09-05 18:19:03 +02:00
ailin-nemui
9a9f9cc22a
Merge pull request #1125 from ailin-nemui/fuzz-link-lang
add new meson build option -Dfuzzer-link-language=cpp for oss-fuzz
2019-09-05 15:46:35 +02:00
ailin-nemui
69dec1de33 add new meson build option -Dfuzzer-link-language=cpp for oss-fuzz 2019-09-04 22:48:03 +02:00
ailin-nemui
f875d252d2 fix crash in join due to incorrect free 2019-09-04 14:57:56 +02:00
ailin-nemui
3642dbad97
Merge pull request #1123 from ailin-nemui/self-message
enable self-message support
2019-09-04 14:37:16 +02:00
ailin-nemui
6d58052c4a enable self-message support 2019-09-04 14:27:06 +02:00
ailin-nemui
7cebff503d
Merge pull request #1119 from ailin-nemui/server-fuzz
add some dummy objects to server-fuzz
2019-08-31 07:48:03 +02:00
ailin-nemui
948e7bb317 free params 2019-08-30 22:14:26 +02:00
ailin-nemui
c271609a49 add some dummy objects to server-fuzz 2019-08-30 22:11:27 +02:00
ailin-nemui
6646e49d42
Merge pull request #1118 from ailin-nemui/static-dependency
Add a new meson option : -Dstatic-dependency=yes to use static dependencies
2019-08-30 21:22:05 +02:00
ailin-nemui
1e9cd62aac
Merge pull request #1117 from ailin-nemui/theme-align
limit special-vars alignment memory to not exhaust fuzzer
2019-08-30 21:20:33 +02:00
ailin-nemui
0df21bcbb4
Merge pull request #1116 from ailin-nemui/server-fuzz
fix warning in fe-fuzz/server-fuzz
2019-08-30 21:16:20 +02:00
ailin-nemui
7aa67b142b Add a new meson option : -Dstatic-dependency=yes to use static dependencies 2019-08-30 21:12:51 +02:00
ailin-nemui
887950db0f limit special-vars alignment memory to not exhaust fuzzer 2019-08-30 20:30:02 +02:00
ailin-nemui
3447904a5c fix warning in fe-fuzz/server-fuzz 2019-08-30 20:29:03 +02:00
ailin-nemui
991e24fb27 Merge tag '1.2.2' into integrate/1.2.2 2019-08-29 17:32:22 +02:00
ailin-nemui
401fff7c34 Merge branch 'fix-double-cap' into 'master'
fix use after free receiving caps

See merge request irssi/irssi!35
2019-08-29 17:31:27 +02:00
ailin-nemui
5a4e7ab659 fix use after free receiving caps
fixes GL#34
2019-08-27 23:34:03 +02:00
ailin-nemui
570d6714ec
Merge pull request #1114 from ailin-nemui/startup-crash
fix crash on startup when resizing before active_win
2019-08-27 15:12:04 +02:00
ailin-nemui
44b060ce17 fix crash on startup when resizing before active_win 2019-08-27 12:42:20 +02:00
ailin-nemui
d627bf5f7a
Merge pull request #1103 from irssi/ailin-nemui/workflows-v2
Migrate push workflow to yaml
2019-08-27 10:14:48 +02:00
ailin-nemui
447e357e07
Merge pull request #1107 from ailin-nemui/extended-join
make extended account info visible and formattable
2019-08-26 23:02:20 +02:00
ailin-nemui
3f0afa91f3
Merge pull request #1092 from ailin-nemui/outgoing-tags
sending of tag messages and customisable maximum irc message length
2019-08-26 22:01:53 +02:00
ailin-nemui
a305cf8971
Merge pull request #1111 from ailin-nemui/perl-new-msgs
add various new message events to signals.txt
2019-08-25 09:50:29 +02:00
ailin-nemui
a8b695b890
Merge pull request #1113 from ailin-nemui/restore-perl-chatnets
revert the change to perl-common that would stop it from creating ghost chatnets
2019-08-24 23:21:10 +02:00
ailin-nemui
487d9434bd revert the change to perl-common that would stop it from creating ghost chatnets
see 00a7efc69f
2019-08-23 22:26:27 +02:00
ailin-nemui
3a654a9e01 add various new message events to signals.txt 2019-08-22 23:33:32 +02:00
ailin-nemui
7abec34668 delete old workflow file 2019-08-19 21:38:59 +02:00
ailin-nemui
e18708243b Migrate push workflow to yaml 2019-08-19 21:38:59 +02:00
ailin-nemui
bdb25aa609
Merge pull request #1102 from ailin-nemui/buildsys-ver
fix wrong version in version-date when building git with merges of old commits on top
2019-08-19 21:33:55 +02:00
ailin-nemui
54781a34ee
Merge pull request #1101 from ailin-nemui/auto
fix autotools build
2019-08-19 15:35:33 +02:00
ailin-nemui
38df7bfd29 make extended account info visible and formattable 2019-08-18 11:24:48 +02:00
ailin-nemui
11887cf3e1
Merge pull request #1106 from ailin-nemui/abi
increase abi for the recently commited changes
2019-08-16 22:46:59 +02:00
ailin-nemui
504d50c9a3 up abi 2019-08-16 22:40:49 +02:00
ailin-nemui
4359e4a5ff
Merge pull request #1105 from ailin-nemui/missing-nick
fix crashes when nick is missing
2019-08-16 21:41:05 +02:00
ailin-nemui
d5329bc811 fix crashes when nick is missing 2019-08-16 21:37:53 +02:00
ailin-nemui
4d01170aa1
Merge pull request #1104 from ailin-nemui/setname-fix
fix crash in setname
2019-08-16 21:24:04 +02:00
ailin-nemui
255d850c4d fix crash in setname 2019-08-16 21:19:40 +02:00
ailin-nemui
587098199e fix wrong version 2019-08-16 17:24:00 +02:00
ailin-nemui
b6f1bf8fcd fix autotools build 2019-08-15 21:44:33 +02:00
ailin-nemui
d191c6e94e
Merge pull request #1098 from ailin-nemui/account-notify
use account-notify capability
2019-08-15 18:19:33 +02:00
ailin-nemui
e20900a7ca make a setting to disable account-notify 2019-08-15 17:30:38 +02:00
ailin-nemui
44d480ca99 use account-notify capability 2019-08-15 17:30:38 +02:00
ailin-nemui
a54c2071e2
Merge pull request #1096 from ailin-nemui/chghost
add chghost capability support
2019-08-15 17:28:52 +02:00
ailin-nemui
8f65f58a4a improve message wording 2019-08-15 17:26:20 +02:00
ailin-nemui
4dbbbf47a4 add chghost capability support 2019-08-15 17:26:20 +02:00
ailin-nemui
95d695de8c
Merge pull request #1099 from ailin-nemui/away-notify
support cap away-notify
2019-08-15 17:09:53 +02:00
ailin-nemui
5f13614d47 move away message to fe-common/core 2019-08-15 16:43:19 +02:00
ailin-nemui
61d215acdd support cap away-notify 2019-08-15 16:43:17 +02:00
ailin-nemui
6c37099407 more variables 2019-08-15 16:39:26 +02:00
ailin-nemui
200020da93 use better number parsing 2019-08-15 16:33:50 +02:00
ailin-nemui
da9adec47f sending of tag messages and customisable maximum irc message length 2019-08-15 16:33:50 +02:00
ailin-nemui
d418989f0c
Merge pull request #1090 from ailin-nemui/incoming-tags
incoming irc message tags support
2019-08-15 16:32:01 +02:00
ailin-nemui
506f2fb327
Merge pull request #1094 from ailin-nemui/cap-invite-notify
show invites of other users when provided
2019-08-15 16:31:29 +02:00
ailin-nemui
f7e67b9e02
Merge pull request #1100 from ailin-nemui/spread_server_message_to_windows
refactor quit message into a separate function
2019-08-15 16:15:26 +02:00
ailin-nemui
0f361d2673 refactor quit message into a separate function 2019-08-15 16:01:48 +02:00
ailin-nemui
2576064982 add missing signal_remove 2019-08-15 10:57:54 +02:00
ailin-nemui
eb3a44a713 clarifying comment 2019-08-15 10:56:15 +02:00
ailin-nemui
24154ced0d irc message tags support 2019-08-15 10:56:15 +02:00
ailin-nemui
e62e55c0ab show invites of other users when provided 2019-08-14 23:55:40 +02:00
ailin-nemui
c87919235a
Merge pull request #1093 from ailin-nemui/cap-setname
request the setname capability
2019-08-14 23:44:52 +02:00
ailin-nemui
47518b4b75 request the setname capability 2019-08-14 23:40:39 +02:00
ailin-nemui
6e32c1f638
Merge pull request #1097 from ailin-nemui/cap-extended-joins
use extended-join capability
2019-08-14 21:08:11 +02:00
ailin-nemui
76bcd01da0 up abi 2019-08-14 21:07:27 +02:00
ailin-nemui
ebd17348a6
Merge pull request #1089 from ailin-nemui/refstrings
implement reference counted strings
2019-08-14 20:53:13 +02:00
ailin-nemui
ad7ad063ca implement reference counted strings
- on glib >=2.58, use the implementation provided by glib
- otherwise, a hash table will contain the strings
2019-08-14 20:50:44 +02:00
ailin-nemui
0a12bf682d
Merge pull request #1095 from ailin-nemui/cap-queue
fix cap queue order
2019-08-14 17:58:52 +02:00
ailin-nemui
4ae1dbbd00 fix cap queue order 2019-08-14 16:34:18 +02:00
ailin-nemui
2f82d9cd33
Merge pull request #1088 from ailin-nemui/noformat
add a new "print noformat" signal to be emitted on printtext
2019-08-14 14:24:08 +02:00
ailin-nemui
ab8385d2bb
Merge pull request #1086 from ailin-nemui/define-line-len
increase disconnect buffer and get rid of some magic 510 values
2019-08-13 18:29:28 +02:00
ailin-nemui
25270e0465 use extended-join capability 2019-08-13 18:23:34 +02:00
ailin-nemui
ed4297c41b add a new "print noformat" signal to be emitted on printtext 2019-08-13 18:18:00 +02:00
ailin-nemui
27546354ca increase disconnect buffer and get rid of some magic 510 values 2019-08-13 18:17:35 +02:00
ailin-nemui
1c99bf78c7
Merge pull request #1085 from ailin-nemui/meson-glib-ver
fix glib version dependency in meson
2019-08-13 18:08:57 +02:00
ailin-nemui
fa0ecb688d
Merge pull request #1087 from ailin-nemui/time-expando-override
make the $Z time overridable
2019-08-13 18:07:47 +02:00
ailin-nemui
3ea22fb535
Merge pull request #1091 from ailin-nemui/cap302
enable irc cap ls 302
2019-08-13 18:07:17 +02:00
ailin-nemui
256b6aa2f5
Merge pull request #1084 from ailin-nemui/build-sys-fp
fix build system debug config to include -fno-omit-frame-pointer
2019-08-13 17:50:14 +02:00
ailin-nemui
d512647b3f use symbolic defines for capability strings 2019-08-13 17:36:20 +02:00
ailin-nemui
e0ff13f6c1 enable irc cap ls 302 2019-08-13 17:26:51 +02:00
ailin-nemui
a865b07a67 make the $Z time overridable 2019-08-13 16:59:07 +02:00
ailin-nemui
0495c67d9f fix glib version dependency 2019-08-13 16:56:33 +02:00
ailin-nemui
89686681c1 fix build system debug config to include -fno-omit-frame-pointer 2019-08-13 16:56:00 +02:00
ailin-nemui
f3e037f434
Merge pull request #1081 from DFrostByte/patch-1
hilight.in: fix typo the->to
2019-08-07 22:53:28 +02:00
Frost
ec32e39ae7
hilight.in: fix typo the->to 2019-08-07 20:51:59 +00:00
ailin-nemui
d7fcb846d3
Merge pull request #1078 from ailin-nemui/theme-indent-always
fix cut off text with theme-indent and /set indent_always off
2019-08-04 22:16:55 +02:00
ailin-nemui
f612f2ee51
Merge pull request #1077 from l2dy/memory-leak
Fix memory leaks
2019-07-28 01:26:57 +02:00
ailin-nemui
c92ff1701f fix cut off text with theme-indent and /set indent_always off 2019-07-28 00:55:19 +02:00
ailin-nemui
7e767e1444
Merge pull request #1076 from l2dy/gfree
Free g_strdup() allocated memory with g_free()
2019-07-27 21:49:55 +02:00
Zero King
dde5fff4a5 Fix memory leaks 2019-07-27 18:34:03 +00:00
Zero King
6c7fa15417 Free g_strdup() allocated memory with g_free()
Memory allocated with g_malloc() must be freed with g_free(). The
allocators may use different memory pools.
2019-07-27 18:23:51 +00:00
ailin-nemui
05d50ffa1b
Merge pull request #1075 from ailin-nemui/meson049
do not use ?: to stay compatible with meson 0.49
2019-07-21 00:21:39 +02:00
ailin-nemui
9a90213ba9 do not use ?: to stay compatible with meson 0.49 2019-07-21 00:08:36 +02:00
ailin-nemui
f8f2428cfb
Merge pull request #1074 from horgh/horgh/readme-links
Link to Ninja site and use HTTPS for Meson site
2019-07-20 23:39:25 +02:00
Will Storey
7f99bbfd00 Link to Ninja site and use HTTPS for Meson site 2019-07-20 14:29:23 -07:00
ailin-nemui
69a91bbcce
Merge pull request #1073 from ailin-nemui/ircloader
manually maintain irc loader
2019-07-18 18:47:20 +02:00
ailin-nemui
6277ccf67f manually maintain irc loader 2019-07-18 18:04:42 +02:00
ailin-nemui
66ac295818
Merge pull request #1071 from ailin-nemui/meson-perl
carry rpath to working perl test
2019-07-18 14:22:54 +02:00
Ailin Nemui
12c8cb1f37 carry rpath to working perl test 2019-07-18 11:37:11 +02:00
ailin-nemui
aa9bb36a0d
Merge pull request #1067 from ailin-nemui/irc-module
modularise irc component
2019-07-18 10:56:40 +02:00
ailin-nemui
fa7539b616
Merge pull request #1070 from ailin-nemui/overflow
fix small overflow
2019-07-18 10:32:30 +02:00
Ailin Nemui
99b2c0b04a fix small overflow 2019-07-18 10:29:30 +02:00
ailin-nemui
afde106cdc
Merge pull request #1068 from irssi/ailin-nemui/mesonver-readme
Improve Meson documentation
2019-07-17 14:16:52 +02:00
ailin-nemui
73f6964d4f
Explain Meson in INSTALL 2019-07-17 12:09:39 +00:00
ailin-nemui
d55a74587c
Add Meson ver requirement to readme 2019-07-17 11:52:20 +00:00
Ailin Nemui
00a7efc69f modularise irc component 2019-07-17 13:37:19 +02:00
ailin-nemui
84301a29f8
Merge pull request #1065 from irssi/ailin-nemui/readme-meson
Misc Meson Fixes
2019-07-17 11:45:40 +02:00
ailin-nemui
c3bd917cf2 use correct libraries in travis 2019-07-17 11:38:11 +02:00
Ailin Nemui
ddb9d5c15f update gitignore for meson stuff 2019-07-17 11:36:34 +02:00
ailin-nemui
2599124bc8
Show meson commands in README 2019-07-16 14:23:12 +00:00
ailin-nemui
cfca498a1d
Merge pull request #1064 from ailin-nemui/meson
meson build support
2019-07-16 16:16:34 +02:00
Ailin Nemui
905bf86921 refactor glib install 2019-07-16 16:09:10 +02:00
Ailin Nemui
9a93e71474 try test travis 2019-07-10 12:02:56 +02:00
Ailin Nemui
db16a0a853 meson build support 2019-07-10 09:25:26 +02:00
Ailin Nemui
fb85fdec5c Merge tag '1.2.1' into integrate/1.2.1 2019-06-28 23:17:42 +02:00
Ailin Nemui
7286da0f9e Merge tag '1.1.3' into integrate/1.1.3 2019-06-28 23:17:16 +02:00
Ailin Nemui
87a2ceb27d Merge tag '1.0.8' into integrate/1.0.8 2019-06-28 23:16:45 +02:00
ailin-nemui
beea28bbbc fix code block NEWS formatting 2019-06-28 11:31:19 +02:00
ailin-nemui
8551dd99cc
Merge pull request #1057 from ailin-nemui/entry-8bit
restore 8bit support in input entry
2019-06-28 11:29:19 +02:00
ailin-nemui
d23b0d22cc
Merge pull request #1058 from ailin-nemui/sasl-reconnect
copy sasl username and password values
2019-06-28 11:28:30 +02:00
ailin-nemui
d34bd858d0
Merge pull request #1059 from ailin-nemui/mirc-24
Use the 24bit mIRC colour mappings if colors_ansi_24bit is enabled
2019-06-27 07:46:41 +02:00
ailin-nemui
8d11060fbc Use the 24bit mIRC colour mappings if colors_ansi_24bit is enabled 2019-06-18 14:55:47 +02:00
ailin-nemui
5a67b983dc copy sasl username and password values 2019-06-17 15:22:27 +02:00
ailin-nemui
38b6284535 restore 8bit support in input entry 2019-06-17 14:58:34 +02:00
ailin-nemui
0ffc515264
Merge pull request #1048 from vague666/set_list_section
Make it possible to list specific section with /set
2019-06-10 12:33:28 +02:00
ailin-nemui
fb720e76de
Merge pull request #1052 from ashafer01/issue/1051
Document Irssi::get_irssi_dir()
2019-06-10 12:21:35 +02:00
ailin-nemui
399c922524
Merge pull request #1054 from dwfreed/fix-window-balance-warning
fe-text/mainwindows: fix /window balance warning
2019-06-10 12:20:50 +02:00
Doug Freed
1d6aeb08fd fe-text/mainwindows: fix /window balance warning
mainwindow_resize() expects that the mainwindow's height has not yet
been updated, as it updates it itself, and throws a warning otherwise.
2019-06-09 23:10:05 +00:00
Alex Shafer
d9fef37131 Fix #1051 - Document Irssi::get_irssi_dir() 2019-06-03 20:58:18 -06:00
ailin-nemui
085888d1c0
Merge pull request #1049 from mgedmin/patch-1
Clarify statusbar priorities
2019-05-30 16:47:12 +02:00
Marius Gedminas
1910b67b97
Clarify statusbar priorities
I was misled by the documentation a little bit and thought that status bar items of lower priority will be removed rather than truncated if they didn't fit.

Also, I had a hard time lowering priority below 0 because I didn't realize negative numbers have to be quoted so they won't be interpreted as option flags.
2019-05-30 17:24:02 +03:00
vague666
cd5958079c Make it possible to list specific section with /set
update help

Allow partial matching
2019-05-29 13:09:28 +02:00
ailin-nemui
a210df942d
Merge pull request #1047 from Gallactide/patch-1
Syntax Issue
2019-05-26 19:29:00 +02:00
David Gall
38a81026b9
Syntax Issue
"was is" changed to "was" for otr_msg_not_in_private
2019-05-26 18:59:21 +02:00
ailin-nemui
7e7bc98396
Merge pull request #1020 from teschi/allow_rawlog_lines_to_shrink_again
allow rawlog-buffer to shrink again after lowering "rawlog_lines"
2019-05-23 10:39:45 +02:00
ailin-nemui
5d70eb18f5
Merge pull request #1044 from vague666/perlify_msglevel_hidden
Make MSGLEVEL_HIDDEN accessible from scripts
2019-05-23 10:36:24 +02:00
vague666
78ae00910e Make MSGLEVEL_HIDDEN accessible from scripts
Empty line in wrong place

Expose MSGLEVEL_HIDDEN to scripts
2019-05-15 15:12:05 +02:00
ailin-nemui
7654f30d04
Merge pull request #1043 from ailin-nemui/solaris10
fix realpath on old solaris
2019-05-13 15:26:21 +02:00
ailin-nemui
9e13892e28 fix realpath on old solaris
POSIX.1-2001 did not implement realpath(..., NULL) yet.
Fixes #1042
2019-05-13 15:15:46 +02:00
ailin-nemui
20f7792748
Merge pull request #1023 from vague666/update_cmd_cat
Add -out parameter to /CAT
2019-05-13 14:27:49 +02:00
ailin-nemui
d0e1786267
Merge pull request #1041 from ailin-nemui/multiproxy
fix reconnect of multiplexed proxy
2019-05-13 11:50:52 +02:00
vague666
d45993dba4 Add -out parameter to /CAT
Change flag to -window

Updated help

Typo

call printtext with server

Only use server when target is not NULL
2019-05-09 13:19:48 +02:00
ailin-nemui
4a3a064d55 fix reconnect of multiplexed proxy 2019-05-07 13:37:31 +02:00
ailin-nemui
6933134352
Merge pull request #1040 from ailin-nemui/module-paths2
Use full paths to includes
2019-05-06 11:12:13 +02:00
ailin-nemui
845431aa31 Install pkg-config file
add a copy of pkg-config-0.29.2 pkg.m4
2019-05-02 17:20:47 +02:00
Ailin Nemui
9bbacf861b fix irssi-version link 2019-05-01 22:35:08 +02:00
ailin-nemui
37f7c7f374 update include guard names 2019-05-01 22:22:22 +02:00
ailin-nemui
03ca37c12e Use full paths to includes in fe-fuzz 2019-05-01 22:08:45 +02:00
ailin-nemui
7e6e1f2e10 Use full paths to includes 2019-05-01 22:08:45 +02:00
ailin-nemui
d5fd789674
Merge pull request #1039 from ailin-nemui/actions
Add code to support Github Actions
2019-04-30 20:40:15 +02:00
ailin-nemui
2db6e99038
Merge pull request #1036 from berkerpeksag/fix-bio-read
Check return value of BIO_read() in set_pubkey_info()
2019-04-24 13:51:06 +02:00
ailin-nemui
da266691bb disable github workflows 2019-04-24 13:30:38 +02:00
ailin-nemui
ad3b8df97e Add Github Actions support code 2019-04-24 13:29:51 +02:00
ailin-nemui
796b60dd45
Merge pull request #1025 from vague666/prefer_window_name
Add setting to choose between window name and visible name in actlist
2019-04-15 10:52:52 +02:00
vague666
9d9d99eeb1 move caching to correct place :) 2019-04-08 12:32:58 +02:00
Berker Peksag
530393140a Check return value of BIO_read() in set_pubkey_info()
Fixes #943
2019-04-08 02:40:45 +03:00
ailin-nemui
04ca271d77
Merge pull request #1035 from berkerpeksag/patch-1
Add missing NULL check in mask_match()
2019-04-07 15:30:34 +02:00
ailin-nemui
6d3e763248
Merge pull request #1037 from berkerpeksag/fix-cert-null-check
Move NULL check for cert above pubkey
2019-04-07 15:30:02 +02:00
Berker Peksag
2b48ddd3c9 Move NULL check for cert above pubkey
This patch was originally proposed by Chi Li.

Fixes #944
2019-04-06 23:20:44 +03:00
Berker Peksag
8789027617
Add missing NULL check in mask_match()
Fixes #902
2019-04-06 21:52:49 +03:00
ailin-nemui
690e441771
Merge pull request #1026 from vague666/perl_hidden_view_access
add access to set hidden_level from perl
2019-04-05 16:02:41 +02:00
ailin-nemui
a2f2d1899b
Merge pull request #1022 from heikkiorsila/scrollback_max_age
Implement a method to delete messages older than given time in scroll…
2019-04-05 15:58:36 +02:00
ailin-nemui
791071f6e4
Merge pull request #1024 from vague666/update_cmd_echo
Remove unused parameter to /ECHO
2019-04-05 15:58:22 +02:00
ailin-nemui
3e0bc1eb3c
Merge pull request #1032 from vague666/update_help_msg
Add special targets to help
2019-04-05 13:55:49 +02:00
ailin-nemui
dd5b611c72
Merge pull request #1030 from blackthornedk/blackthornedk-patch-1
Add tls_* options to manual
2019-04-04 10:44:47 +02:00
vague666
2f5f342977 Add special targets to help 2019-04-03 11:41:12 +02:00
vague666
c66fe616e1 Bump ABI and add another perl api function 2019-04-02 09:53:42 +02:00
vague666
9cdeed2894 cache bool value 2019-04-02 09:39:03 +02:00
Jacob V Rasmussen
d0bc5b8cf2 Update ssl_* to tls_* in syntax. 2019-04-01 17:52:39 +02:00
Jacob V. Rasmussen
1fe6fd8057
Add tls_* options to manual
Add tls_* options to the SERVER section of the manual.
2019-04-01 13:14:58 +02:00
ailin-nemui
1247b37ff7
Merge pull request #1017 from horgh/horgh/error-check
Remove unused functions
2019-03-29 09:48:20 +01:00
vague666
40d800637a add access to set hidden_level from perl 2019-03-22 19:24:18 +01:00
vague666
22502abf2c Add setting to choose between window name and visible name in actlist 2019-03-22 19:10:10 +01:00
vague666
8479ff7a2e Remove unused parameter to /ECHO 2019-03-22 13:11:35 +01:00
Heikki Orsila
6a2823ad3e Implement a method to delete messages older than given time in scrollback history.
The maximum age of messages is controlled by /set scrollback_max_age variable.
E.g. /set scrollback_max_age 7days
2019-03-13 22:59:24 +02:00
ailin-nemui
26d96a7bb2
Merge pull request #1021 from ailin-nemui/fix-1019
fix the compilation of utf8proc code if desired
2019-03-08 13:57:04 +00:00
ailin-nemui
bc94100114 fix missing AC_DEFINE 2019-03-08 11:24:16 +01:00
ailin-nemui
6242d25055
Merge pull request #1019 from ailin-nemui/configure-utf8proc
make utf8proc configurable
2019-02-27 13:00:22 +01:00
teschi
c61a171114 allow rawlog-buffer to shrink again after lowering "rawlog_lines" 2019-02-23 22:24:36 +01:00
ailin-nemui
a37672361a make utf8proc configurable 2019-02-20 16:34:17 +01:00
ailin-nemui
01ce66c684
Merge pull request #1014 from ailin-nemui/fix-be64
fix test on Big Endian 64bit, due to pointer size mismatch
2019-02-19 07:22:06 +01:00
Will Storey
c25d24220f Remove unused functions 2019-02-18 11:53:46 -08:00
Will Storey
2db359fbb3 Recognise non-zero as error rather than only -1
The error flag can be something other than -1 in the event of an error.
Not checking for this could lead to us to try connecting to an unknown
IP.
2019-02-18 11:44:31 -08:00
Will Storey
e793d7af9f Fix indentation 2019-02-18 11:44:28 -08:00
ailin-nemui
df532d4461
Merge pull request #1013 from ailin-nemui/fix-1012
do not stop autolog_ignore_targets from matching itemless targets
2019-02-18 09:36:34 +01:00
ailin-nemui
80fe52cb59 fix test on Big Endian 64bit, due to pointer size mismatch 2019-02-13 13:56:03 +01:00
ailin-nemui
c1b604ee6a add issue reference 2019-02-12 13:49:50 +01:00
ailin-nemui
3664484bef do not stop autolog_ignore_targets from matching itemless targets 2019-02-12 13:28:05 +01:00
ailin-nemui
63cc937e67 continue head 2019-02-11 21:40:09 +01:00
ailin-nemui
bd2ff8c99c tag as 1.2.0 2019-02-11 18:34:14 +01:00
ailin-nemui
22fdb94d1b run syncscripts.sh 2019-02-11 18:04:59 +01:00
ailin-nemui
48a6d04ade run syncdocs.sh 2019-02-11 18:04:46 +01:00
ailin-nemui
6239a8b791
Merge pull request #1000 from ailin-nemui/window-bounds-type
Store window bounds type
2019-02-11 17:33:30 +01:00
Ailin Nemui
8543b874a2 store type of window binds 2019-02-11 17:27:33 +01:00
ailin-nemui
ea41726b3e
Merge pull request #1011 from ahf/otr-compiler-warning-fix
Use memcpy() instead of strncpy() to silence the compiler warning.
2019-02-11 09:49:04 +01:00
Alexander Færøy
346211eeeb Use memcpy() instead of strncpy() to silence the compiler warning. 2019-02-09 22:42:13 +01:00
ailin-nemui
a25b4e5db2
Merge pull request #999 from ailin-nemui/mad-protocol
do not touch uninitialised protocols on item restore
2019-02-08 14:37:31 +01:00
ailin-nemui
b4ad430939
Merge pull request #1004 from ailin-nemui/fix-get_extent
fix gui_input_get_extent
2019-02-05 01:08:19 +01:00
ailin-nemui
034752ade3 fix gui_input_get_extent
it was causing a free of data with [transfer=none]
2019-02-04 14:33:41 +01:00
ailin-nemui
ee86cc197e
Merge pull request #1003 from ailin-nemui/fix-1002
correct fix for #997
2019-02-02 18:21:08 +01:00
ailin-nemui
5b530737d4 correct fix for #997 2019-02-02 14:51:09 +01:00
ailin-nemui
ff18e79661
Merge pull request #994 from ailin-nemui/fix-993
add more config checks and assertions in statusbar code
2019-02-02 14:34:59 +01:00
ailin-nemui
0cdbb2e821
Merge pull request #1001 from ailin-nemui/fix-997
add missing NULL check
2019-02-01 14:29:21 +01:00
ailin-nemui
b1d6cb7f26 add missing NULL check 2019-02-01 13:18:50 +01:00
ailin-nemui
9f9aada83b do not touch uninitialised protocols on item restore 2019-01-29 21:33:39 +01:00
ailin-nemui
aa80f1de61
Merge pull request #990 from ailin-nemui/mainwin_activity
add activity_hide_visible setting
2019-01-29 00:30:43 +01:00
ailin-nemui
f9beedd2d0 add more config checks and assertions 2019-01-22 15:24:52 +01:00
ailin-nemui
9ec2c8cee4
Merge pull request #988 from ailin-nemui/version
show output of git describe as PACKAGE_VERSION
2019-01-16 09:47:49 +01:00
ailin-nemui
3af2ce8731 add activity_hide_visible setting 2019-01-15 21:02:27 +01:00
ailin-nemui
fa9463cb02
Merge pull request #989 from ailin-nemui/split-syntax
update sidewayssplit syntax
2019-01-14 10:17:52 +01:00
ailin-nemui
b080405c6a update sidewayssplit syntax 2019-01-09 23:46:57 +01:00
ailin-nemui
b8cfd9d6af show output of git describe as PACKAGE_VERSION
also fixes GNUism in sed call
2019-01-09 21:11:01 +01:00
ailin-nemui
dfe3c31283 update issue references 2019-01-09 15:41:28 +01:00
ailin-nemui
3d1980599a Merge tag '1.1.2' into integrate/1.1.2 2019-01-09 15:41:28 +01:00
ailin-nemui
d57203e926
Merge pull request #978 from ailin-nemui/fix-974
Fix inconsistent escaping from expand_escapes
2019-01-09 09:29:29 +01:00
ailin-nemui
8c30367452 rename function 2019-01-08 15:48:12 +01:00
ailin-nemui
c7ce0f320b
Merge pull request #985 from ailin-nemui/automake
automake warns that subdir-objects will be enabled in 2.0
2018-12-18 20:53:08 +01:00
ailin-nemui
c044fe397e
Merge pull request #982 from yarda/coverity
Fixed problem found by Coverity Scan
2018-12-18 16:57:36 +01:00
ailin-nemui
35f5e5f278 up abi 2018-12-07 10:01:56 +01:00
ailin-nemui
7e6e3cd503 Add escape_string_escape function for expand_escapes
To avoid expanding, tab completion escapes the completion list. But the
escape_string function escapes too much for the expand_escapes code. Add
a function that only escapes the backslashes.
2018-12-07 10:00:29 +01:00
ailin-nemui
821e8af9fe automake warns that subdir-objects will be enabled in 2.0 2018-12-07 09:52:23 +01:00
Jaroslav Škarvada
4f26ad74f5
Fixed problem found by Coverity Scan
Fixes #981

Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
2018-12-04 21:07:06 +01:00
ailin-nemui
40f5edf105
Merge pull request #979 from ailin-nemui/completion-keep-word
add keep_word setting to completion
2018-12-04 17:01:33 +01:00
ailin-nemui
1c6f256098
Merge pull request #973 from ailin-nemui/perl-wcwidth
expose wcwidth and related to perl
2018-11-29 10:18:16 +01:00
ailin-nemui
dcb412eb8b
Merge pull request #975 from NattyNarwhal/ibmi
Fix irssi build on IBM i and AIX
2018-11-26 18:52:02 +01:00
Calvin Buckley
482a3a5bdd
Remove unneeded comment 2018-11-26 09:56:04 -04:00
Calvin Buckley
bed0a3309f Revert back to using original version of the configure script
* IBM i rpmbuild environments set the magic variables for
	  building w/ 64-bit binutils automatically, and one can
	  set this for themselves with `OBJECT_MODE=64` when
	  buildings. Remove this.

	* The subdir-objects change will need to be made due to
	  upstream autotools making it mandatory in the future, but
	  that isn't my decision to make.
2018-11-25 15:00:34 +00:00
Calvin Buckley
a634b34ba4 Rename cap_* funcs to irc_cap_*
Some systems often "namespace" cap_ for themselves, and so irssi's
usage can conflict with their own. Bump ABI for this.
2018-11-25 14:50:47 +00:00
ailin-nemui
10f41e067e fix backward completion 2018-11-25 14:19:57 +01:00
ailin-nemui
88b1649195 add keep_word setting to completion 2018-11-25 14:16:08 +01:00
ailin-nemui
257cb2f5f9
Merge pull request #971 from ailin-nemui/paste-join-lines
fix paste_join_multiline
2018-11-19 16:07:00 +01:00
Calvin Buckley
795e7ec162 Fix build on IBM i
* Lots of warnings about subdirectories. Set an automake
	  option to deal with this.

	* Set an ar flag for explicit 64-bit when on IBM i, due to
	  it defaulting to 64-bit output with official gcc by default.
2018-11-19 14:18:34 +00:00
Calvin Buckley
4380f3820e Fix compilation of irc/core on AIX and IBM i
There's a function in the standard library of these OSes that conflict
with this function. Prefix it with `irc_`.
2018-11-19 13:58:51 +00:00
ailin-nemui
288f220f87 fix width of byte codepoints 2018-11-13 00:14:15 +01:00
ailin-nemui
deaa1da55e cast to unsigned char 2018-11-12 14:11:27 +01:00
ailin-nemui
9e5e5d8625 expose wcwidth and related to perl 2018-11-12 13:14:02 +01:00
ailin-nemui
6c40567dab
Merge pull request #957 from ailin-nemui/rawlog
Improve rawlog performance
2018-11-12 13:02:41 +01:00
ailin-nemui
4537d85b0b reverse queue 2018-11-09 11:32:00 +01:00
ailin-nemui
60d2364989 run syncscripts.sh
sync buf.pl to version 3.00
sync usercount.pl to version 1.20
2018-11-09 11:11:10 +01:00
ailin-nemui
c1fb9a8402 fix paste_join_multiline 2018-11-09 11:06:13 +01:00
ailin-nemui
83e98da2ff add test for paste_join_multiline 2018-11-09 11:05:52 +01:00
ailin-nemui
9d2429c027 test line joining 2018-11-09 10:57:37 +01:00
ailin-nemui
2847b751e3 design.txt is now sourced from website
also run syncdocs, fixes missing placeholder in startup-HOWTO
2018-10-29 17:51:53 +01:00
ailin-nemui
8054b5c2bd
Merge pull request #967 from vague666/hide_targets_no_item
allow activity_hide_targets to hide activity in itemless windows
2018-10-29 10:35:08 +01:00
ailin-nemui
275e0e84ad
Merge pull request #968 from vague666/only_log_saved_channels
Only log saved channels
2018-10-29 10:33:50 +01:00
vague666
ec577f9265 typo 2018-10-27 20:52:14 +02:00
vague666
f7966d9c08 allow activity_hide_targets to hide activity in itemless windows 2018-10-27 20:51:29 +02:00
vague666
3061f5d848 make sure only channels are checked 2018-10-27 20:00:15 +02:00
vague666
2093530e75 Make it possible to only autolog saved channels 2018-10-27 16:08:36 +02:00
ailin-nemui
524f31b026
Merge pull request #965 from ailin-nemui/fix-signal-emit
Fix wrong signal emission arg count
2018-10-19 02:08:08 +02:00
Doug Freed
f11b629b2f Fix issues pointed out by e38774cc 2018-10-19 01:06:43 +02:00
ailin-nemui
bc1d82a757
Merge pull request #964 from ailin-nemui/fixes
fix duplicate include guard and link libs of test
2018-10-18 15:15:50 +02:00
ailin-nemui
6ca13dd5cd
Merge pull request #905 from horgh/horgh/topic-regression
Add tests for topic events
2018-10-17 12:31:52 +02:00
ailin-nemui
cbc27062e7 fix duplicate include guard 2018-10-17 00:58:49 +02:00
ailin-nemui
da15279fa3 fix flood test libs 2018-10-17 00:58:39 +02:00
ailin-nemui
8bbf9c696c
Merge pull request #962 from horgh/horgh/comments-and-indentation
Fix some indentation and add some comments
2018-10-09 17:16:21 +02:00
Will Storey
81f3d6dbc1 Comment colour code meaning 2018-10-08 20:40:37 -07:00
Will Storey
08b4d6c031 Fix some space indentation 2018-10-08 20:23:22 -07:00
ailin-nemui
4eff3f154d
Merge pull request #959 from ailin-nemui/notice-routing
Route notices intended for channels into the channel
2018-10-08 18:18:54 +02:00
ailin-nemui
cdcb50f413 add a setting 2018-10-08 17:41:46 +02:00
ailin-nemui
a30fbd6cfb
Merge pull request #961 from ailin-nemui/no-topic-glitch
Show the proper TXT when topic was unset
2018-10-07 10:23:19 +02:00
ailin-nemui
3257ce3b13
Merge pull request #958 from ailin-nemui/window-number-cmd
Make /1/2/3/... a setting
2018-10-07 10:21:29 +02:00
ailin-nemui
49d83b5945
Merge pull request #956 from irssi/ailin-nemui/kill-cubes
Remove cubes from irssi.conf
2018-10-07 10:19:02 +02:00
ailin-nemui
80f9f16939 Show the proper TXT when topic was unset 2018-10-06 20:14:49 +02:00
ailin-nemui
8b1afbd355 revert core changes 2018-10-06 20:05:54 +02:00
ailin-nemui
08ac2ee5be refactor cnotice test into function 2018-10-05 16:13:47 +02:00
ailin-nemui
d2dbcc1999 Route notices intended for channels into the channel 2018-10-05 15:37:27 +02:00
ailin-nemui
2200bd3656 Make /1/2/3/... a setting 2018-10-05 13:46:39 +02:00
ailin-nemui
cee9d09deb
Merge pull request #955 from ailin-nemui/split-width-bug
fix and document window width on screen width dependency
2018-10-05 10:49:50 +02:00
ailin-nemui
d815c88050
Merge pull request #953 from dwfreed/fix-printtext.h
Use ##__VA_ARGS__ extension to allow for argument-less ...
2018-10-05 10:48:25 +02:00
ailin-nemui
b96a41cf3d
Merge pull request #951 from dwfreed/patch-1
fe-text: clear hidelevel in layout if default
2018-10-05 10:47:12 +02:00
ailin-nemui
1e2547eb92 fixup perl side 2018-10-04 09:33:07 +02:00
ailin-nemui
ff0daf5870 actually create the queue, too 2018-10-04 09:31:08 +02:00
ailin-nemui
95692d4d86 up abi 2018-10-04 09:24:10 +02:00
ailin-nemui
05fd64dd16 improve rawlog perf 2018-10-04 09:24:10 +02:00
ailin-nemui
ff7f4a2207
Remove cubes from irssi.conf
This is long and ugly and better done externally (script)
2018-10-02 16:27:28 +02:00
ailin-nemui
f207e844f1
Merge pull request #949 from ailin-nemui/help-narrow
Fix insufficient size of help column when the window width is small
2018-10-02 00:09:01 +02:00
ailin-nemui
011372ecdd
Merge pull request #948 from ailin-nemui/invalid-startline
invalidate startline and bottom_startline when hidden
2018-10-02 00:08:30 +02:00
ailin-nemui
ca1ec21dc2 fix and document window width on screen width dependency 2018-10-01 09:14:03 +02:00
Doug Freed
c4bf228e6c Fix check for C99 in printtext.h 2018-09-30 06:52:02 +00:00
Doug Freed
f5e587a83b
Fix 01f961c 2018-09-29 18:37:10 -04:00
ailin-nemui
7ab52e73c6
Merge pull request #947 from ailin-nemui/rsplit-collapse
Fix broken display after resizing many windows very small
2018-09-29 22:03:06 +02:00
ailin-nemui
630c6f7e14
Merge pull request #946 from ailin-nemui/resize-freeze
fix irssi being stuck when resized very small
2018-09-29 22:02:29 +02:00
ailin-nemui
116e202d22
Merge pull request #938 from ailin-nemui/hide-hidden-act
Don't trigger activity on hidden lines by default
2018-09-29 22:02:10 +02:00
Doug Freed
b264540f4e
fe-text: clear hidelevel in layout if default
This is required, otherwise setting the hidelevel to the default will
not be written in the layout and so won't persist.
2018-09-29 07:13:32 -04:00
ailin-nemui
04daf62dbf Fix insufficient size of help column when the window width is small 2018-09-28 14:30:39 +02:00
ailin-nemui
8684ccb45c invalidate startline and bottom_startline when hidden
this was overlooked when adding hidden line support. if the lines are
removed, Irssi has to update the startline. It does that by "scrolling"
the lines to the proper place. The scroll function was adjusted to
calculate 0 for hidden lines, thus it would miss them.
2018-09-28 11:41:30 +02:00
ailin-nemui
76b934d18e Fix broken display after resizing many windows very small 2018-09-26 15:21:08 +02:00
ailin-nemui
db005007cf fix irssi being stuck when resized very small 2018-09-26 14:18:37 +02:00
ailin-nemui
01f961cdf1 Don't trigger activity on hidden lines by default
This is controlled by a new activity_hide_window_hidelevel setting.
2018-09-24 08:18:13 +00:00
ailin-nemui
cdfd75da98
Merge pull request #941 from dwfreed/window_default_hidelevel
Add window_default_hidelevel setting
2018-09-23 11:22:46 +02:00
ailin-nemui
57857856a6
Merge pull request #937 from ailin-nemui/hidden-ignores
correctly separate ignore flags (no_act, hidden) from level
2018-09-23 11:22:31 +02:00
ailin-nemui
f231a59e81 properly document the ignore_match_level so I understand it next time 2018-09-20 17:50:35 +02:00
ailin-nemui
ee92e3aff2
Merge pull request #939 from ailin-nemui/fix-modules
some header fixes for C modules
2018-09-20 17:38:03 +02:00
ailin-nemui
708ba06dbc
Merge pull request #930 from ailin-nemui/fix-928
fix accessing unallocated text when checking entry position
2018-09-20 17:37:50 +02:00
ailin-nemui
a7af259dd1
Merge pull request #929 from ailin-nemui/oddcommands
Remove incorrectly copied automake commands from fuzzer
2018-09-18 21:14:55 +02:00
Doug Freed
cad79f1db7 Fix compilation warning 2018-09-17 14:34:06 +00:00
Doug Freed
074e6cf768 fe-text: only save non-default window hidelevel
This will only save the window hidelevel in the layout if it differs
from window_default_hidelevel.
2018-09-17 14:26:25 +00:00
Doug Freed
cb6279c63b fe-text: add window_default_hidelevel setting
Allows specifying the hidelevel that new windows get by default.
2018-09-17 13:28:46 +00:00
ailin-nemui
011d9437d1 oops 2018-09-17 13:08:43 +02:00
ailin-nemui
7e9f8c694b simplify ignore hidden/no_act code 2018-09-17 12:48:42 +02:00
ailin-nemui
b9a274a81d correctly separate ignore flags (no_act, hidden) from level 2018-09-17 12:26:13 +02:00
ailin-nemui
20dcf4e53e fix compilation of python module 2018-09-14 12:44:41 +02:00
ailin-nemui
c174247502 fix compilation of theme-indent module 2018-09-14 11:59:05 +02:00
ailin-nemui
90165c0cec
Merge pull request #931 from ailin-nemui/fix-629
Disconnect SASL properly in case the sasl module got unloaded from server
2018-09-07 23:05:11 +02:00
ailin-nemui
c80946bcf5 Disconnect SASL properly in case the sasl module got unloaded from server
stops from getting on the network when sasl is unavailable

fixes #629
2018-09-04 15:50:58 +02:00
ailin-nemui
74e8371bde fix accessing unallocated text when checking entry position
fixes #928
2018-09-04 14:12:03 +02:00
ailin-nemui
3f0a4ef197 Remove incorrectly copied automake commands from fuzzer 2018-09-04 10:17:20 +02:00
ailin-nemui
7f14d4d744
Merge pull request #896 from phillid/winch-redraw
Don't ignore SIGWINCH when window size is unchanged
2018-09-04 10:02:52 +02:00
ailin-nemui
d93cd63243
Merge pull request #917 from dequis/wcwidth-wrapper
Add a wrapper of wcwidth() that picks the best implementation
2018-09-04 09:52:21 +02:00
ailin-nemui
e5759a7fb7
Merge pull request #914 from ailin-nemui/textbuffer_lineinfo
properly record line info on empty lines
2018-09-04 09:37:10 +02:00
ailin-nemui
329448939b
Fix gnu wcwidth 2018-09-04 09:36:45 +02:00
ailin-nemui
afb3daaf65
Merge pull request #919 from ailin-nemui/uafs
Use-after-frees
2018-09-04 09:35:47 +02:00
ailin-nemui
7357302993
Merge pull request #920 from irssi/ailin-nemui-urchlay
Add information about crash on unload to perl.txt
2018-09-04 09:35:32 +02:00
ailin-nemui
8261b2a7c8
Merge pull request #922 from dequis/fix-new-config-file-write
Fix /save not working if the config didn't previously exist
2018-09-04 09:35:21 +02:00
ailin-nemui
d5b43003f0
Merge pull request #925 from dequis/mkdir-config-strerror
Improve error message when failing to create the config dir
2018-09-04 09:34:31 +02:00
ailin-nemui
0346638547
Merge pull request #927 from DomT4/perl_mojave
configure: fix Perl detection on macOS Mojave
2018-09-04 09:34:14 +02:00
Dominyk Tiller
04497ed69d
configure: fix Perl detection on macOS Mojave
Apple has significantly changed the way `perl` is structured in macOS
Mojave/10.14, which is due to ship stable this month. The `perl`
restructuring has been an issue for a while but I recently obtained
confirmation from Apple the changes were intentional & consequently not
something that was going to be walked back before Mojave reaches its
stable release.

As of 10.14 the Perl headers are moving inside the SDK, instead of
residing in `/System` directly. There's a flag to tell Clang to look
inside the SDK without projects having to explicitly locate the SDK &
fiddle with the location themselves, which is `-iwithsysroot`, and
that's what `perl` outputs now when `configure` checks
`perl -MExtUtils::Embed -e ccopts`:

```
  -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector  -iwithsysroot /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE
```

The latter bit of that was previously
`-I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE`. The
problem here is that `configure` filters out flags that start with a
lowercase `i` and consequently the Perl elements fail to build. This
tiny patch fixes that issue, restoring Perl support to `irssi` when
built on macOS 10.14.
2018-09-03 00:36:50 +01:00
dequis
e2e27d1809 Improve error message when failing to create the config dir 2018-09-02 01:20:09 -03:00
dequis
3351c54a2f Fix /save not working if the config didn't previously exist
realpath() was supposed to resolve symlinks but it also fails with
ENOENT (no such file or directory) if the file just isn't there.
2018-09-01 19:12:17 -03:00
ailin-nemui
82702de047
Add information about crash on unload to perl.txt
reported by urchlay: http://urchlay.naptime.net/repos/misc-scripts/tree/selfunload.pl
2018-08-29 09:09:58 +02:00
Will Storey
7b09cac9ec Call functions via signals rather than directly
This allows us to leave functions static.
2018-08-27 21:04:54 -07:00
Will Storey
b11932d24f Make channel event functions static again 2018-08-27 21:04:23 -07:00
Will Storey
0edb64c4dc Add test files to .gitignore 2018-08-27 20:51:18 -07:00
Will Storey
6f38d67d87 Add tests for channel change events 2018-08-27 20:51:18 -07:00
Will Storey
2ccb312b8b Expose functions for testing 2018-08-27 20:51:18 -07:00
Will Storey
2d6033542e Add functions to override irssi dir and config
Setting up to test is easier this way.
2018-08-27 20:51:18 -07:00
Will Storey
04db359a6d Handle topic info numeric separately from topic & topic numeric
As we called the same function for the topic info numeric, we ended up
losing the topic as that numeric does not include it. We now call a
different function to handle this case more carefully. Fixes #903.
2018-08-27 20:51:18 -07:00
Will Storey
bbca1a5a0f Revert "Revert "Flag topic as unset if it is zero length""
This reverts commit 817179a760.
2018-08-27 20:50:17 -07:00
ailin-nemui
1bbd9f393c
Merge pull request #909 from meribold/master
Fix `/save` replacing symlinks with regular files
2018-08-27 10:13:20 +02:00
dequis
7b70d051da wcwidth-wrapper: avoid cast with a tiny wrapper, julia_wcwidth() 2018-08-27 00:14:01 -03:00
dequis
92804cb1aa gui-windows: make the wcwidth_impl global var into static 2018-08-27 00:01:47 -03:00
ailin-nemui
73a89c2a6d
Merge pull request #918 from dequis/unhandled-cap-subcommand-list
irc-cap: Don't show warning on CAP LIST response
2018-08-26 21:27:12 +02:00
dequis
e450a7f8c1 modules_deinit: Fix -Werror=declaration-after-statement 2018-08-24 02:27:45 -03:00
dequis
ade2f87fe5 Fix use after free introduced by the use after free patch 2018-08-24 02:19:42 -03:00
dequis
9dd836b876 Fix "discards ‘const’ qualifier" warnings 2018-08-24 02:11:22 -03:00
ailin-nemui
071ada830b up abi 2018-08-23 14:21:37 +02:00
coypu@sdf.org
610ab2dafa Use-after-frees
Hi folks!

I tried clang-static-analyzer on irssi 1.1.1, it seems like it
finds some things. Here's a diff, but there might be more that you would
want to check, or choose to work differently.

(in special-vars.c, ret is commands->data sometime)

I hope it's not too much trouble if reported as a confidential bug.
Thanks.
2018-08-23 14:13:48 +02:00
ailin-nemui
b2a429bfb4 update line cache on switching wcwidth implementation 2018-08-23 14:03:53 +02:00
ailin-nemui
3ef0b9b3d0 move "auto" to default instead 2018-08-23 14:03:16 +02:00
ailin-nemui
b95ce3e812 add julia's utf8proc wcwidth implementation 2018-08-23 13:23:35 +02:00
dequis
24f1ed7edb irc-cap: Don't show warning on CAP LIST response 2018-08-23 03:22:30 -03:00
dequis
0d8632943d Add a wrapper of wcwidth() that picks the best implementation
This adds a i_wcwidth() function that replaces mk_wcwidth(), and a
'wcwidth_implementation' setting to pick which one it wraps.

Values:

- old: uses our local mk_wcwidth() which implements unicode 5.0
- system: uses the libc-provided wcwidth(), which may be better or worse
  than ours depending on how up to date the system is.
- auto: tests the system one against two characters that became
  fullwidth in unicode 5.2 and 9.0 respectively. If either of them pass,
  pick the system implementation, otherwise pick ours.

It defaults to auto.

mk_wcwidth() is still preferable in some cases, since the way it uses
ranges for fullwidth characters means most CJK blocks are covered even
if their characters didn't exist back then.

The "system" implementation is also wrapped to never return -1, but to
assume those unknown characters use one cell. Quoting the code:

    /* Treat all unknown characters as taking one cell. This is
     * the reason mk_wcwidth and other outdated implementations
     * mostly worked with newer unicode, while glibc's wcwidth
     * needs updating to recognize new characters.
     *
     * Instead of relying on that, we keep the behavior of assuming
     * one cell even for glibc's implementation, which is still
     * highly accurate and less of a headache overall.
     */
2018-08-23 02:30:26 -03:00
ailin-nemui
af1e4d6e34 initialise the line to zeros 2018-08-21 09:21:23 +02:00
ailin-nemui
a19b503a31 properly record line info on empty lines 2018-08-21 00:31:12 +02:00
Joseph Bisch
19d84bc16e
Merge pull request #913 from josephbisch/server-fuzz
Add server-fuzz to fe-fuzz
2018-08-15 14:26:43 -04:00
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
22ce54231e
Merge pull request #911 from irssi/revert-897-horgh/topic-unset
Revert "Flag topic as unset if it is zero length"
2018-08-13 14:59:55 +02: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
ailin-nemui
85df01d133
Merge pull request #901 from dwfreed/patch-1
core/ignore: fix #900
2018-08-06 14:36:20 +02: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
b9e301362d Ignore vim editor files 2018-07-24 18:30:51 -07:00
Will Storey
0e187cf9cf Fix typo in comment 2018-07-24 18:29:31 -07:00
LemonBoy
88f77cb6f8
Merge pull request #895 from janikrabe/master
Keep errstr set to NULL if errno is not set
2018-07-24 09:38:02 +02: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
ailin-nemui
b382bd1232
Merge pull request #884 from vague666/ignore_hidden
Added HIDDEN level to ignores
2018-06-15 14:28:09 +02: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
daf6ce86cb
Merge pull request #878 from irssi/revert-873-empty_lines
Revert "record line info on empty lines"
2018-05-08 07:17:10 +02:00
ailin-nemui
631650bd8a
Revert "record line info on empty lines" 2018-05-07 21:22:43 +02:00
ailin-nemui
0a0c755b89
Merge pull request #875 from irssi/ailin-nemui-compile-oldtest
Fix test compilation on old glib
2018-04-24 16:21:58 +02:00
ailin-nemui
3075cbc6fb
Fix test compilation on old glib
e.g. Debian 7
2018-04-24 14:00:30 +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
13b2f349b6
Merge pull request #870 from dequis/fe-cap
Add fe-cap to show messages for CAP-related events in the UI
2018-04-24 13:58:04 +02:00
ailin-nemui
34b31e8451 record line info on empty lines 2018-04-16 16:22:04 +02:00
dx
68302f2d1f
Merge pull request #869 from dequis/missing-cap-3-2-signals-doc
signals.txt: add missing 'server cap new|delete' signals
2018-04-11 19:25:25 -03: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
dequis
8607a5fa78 signals.txt: add missing 'server cap new|delete' signals
Emitted by cap_emit_signal in irc/core/irc-cap.c, added as part of the
CAP 3.2 PR merged recentlyish.
2018-04-07 21:47:38 -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
4d5a750719
Merge pull request #868 from dequis/libgcrypt-m4
Add libgcrypt.m4 so autogen doesn't require libgcrypt-dev
2018-04-03 09:10:16 +02:00
dequis
407680efdc Add libgcrypt.m4 so autogen doesn't require libgcrypt-dev 2018-04-02 12:30:59 -03: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
0b2f5b0a1e otr: fix blatant lies in help text 2018-03-31 01:51:47 -03: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
2830d91a89 use precompiled libotr 2018-03-29 22:41:12 +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
ailin-nemui
9fa8c32b9e
Merge pull request #865 from woohooyeah/master
fix build with LibreSSL 2.7.0/2.7.1
2018-03-27 06:47:25 +02: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
191e0ac84e
Merge pull request #802 from ailin-nemui/test-796
Test for segfault on disconnect during signal processing
2018-03-20 10:30:39 +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
77a671c037 update bind help 2018-03-19 09:11:02 +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
ailin-nemui
3f217ae149
Merge pull request #861 from ailin-nemui/stay-hidden
in fact hidden levels should not be re-set when you run /set
2018-03-15 17:23:40 +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
ailin-nemui
6a3a3873e9
Merge pull request #857 from LemonBoy/config-case
Compare channels/networks fields case-insensitively
2018-03-10 13:11:09 +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
ailin-nemui
1178f753cf
Merge pull request #855 from ailin-nemui/sync
run syncdocs.sh and syncscripts.sh
2018-03-07 07:33:10 +01:00
ailin-nemui
0b057b4ff4 run syncdocs.sh and syncscripts.sh
Sync startup howto to fd1ed2227d529a7ee00d6206caa871ee40c08b69
Sync scriptassist to (2003020806) 211cd515ec87cf9a5d893e97894c2e4b58952f19
2018-03-07 02:23:02 +01:00
Alexander Færøy
7a4bfc1602 Better wording. 2018-02-27 00:04:56 +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
ad4324d242
Merge pull request #851 from ailin-nemui/theme-block-tree
unblock theme elements when processing finished
2018-02-16 13:57:05 +01:00
ailin-nemui
203f6c5329 also unblock theme elements when processing finished 2018-02-16 13:46:29 +01:00
ailin-nemui
a72e706667
Merge pull request #849 from ailin-nemui/news-update
add additional notes to NEWS
2018-02-15 19:46:32 +01:00
ailin-nemui
0b9beeb01d Merge tag '1.1.1' into integrate/1.1.1 2018-02-15 01:18:37 +01:00
ailin-nemui
666ddc2ecd Merge tag '1.0.7' into integrate/1.0.7 2018-02-15 00:56:08 +01:00
ailin-nemui
5c60e72b11 add additional notes to NEWS
(synced back from github releases)
2018-02-15 00:44:19 +01:00
ailin-nemui
dd2e3e6d1c
Merge pull request #848 from ailin-nemui/align-exhaust
limit alignment padding to a screenful
2018-02-14 21:21:24 +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
a2bc308dca
Merge pull request #846 from ailin-nemui/padding
improve padding performance
2018-02-13 12:58:07 +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
ailin-nemui
c2c879e8c5
Merge pull request #845 from ailin-nemui/funny-bug
warn if there is non-portable code in the test-driver
2018-02-13 10:09:06 +01: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
adc812b6b6 add a peculiar bug check to autogen 2018-02-13 00:03:17 +01:00
ailin-nemui
ccfb2dabcf
Merge pull request #832 from ailin-nemui/netsplit-crash
try to make sure the server is still good enough to call ischannel when printing netsplit/join
2018-02-12 10:54:42 +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
7c31f7adc5
Merge pull request #842 from ailin-nemui/themeoob
Fix oob in escaped theme string
2018-02-08 22:25:03 +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
538bd9148e
Merge pull request #840 from ailin-nemui/caps
ensure cap_supported is existent yet
2018-02-07 21:22:18 +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
17aafe974b
Merge pull request #818 from ailin-nemui/test-tap-backward-compat
add backwards compatible code for running tap tests
2018-02-02 14:09:10 +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
6d42c4f949
Merge pull request #834 from williamjacksn/patch-1
Fix typo in help text for /ISON command
2018-01-30 17:39:13 +01:00
William Jackson
7f4de37fbf
Fix typo in help text for /ISON command 2018-01-30 10:31:13 -06: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
b5380fff53
Merge pull request #833 from ailin-nemui/rrrreplaces
we probably should not try to replace replaces
2018-01-30 11:20:02 +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
ailin-nemui
5bae9a94c8 add backwards compatible code for running tap tests 2018-01-18 12:13:23 +01:00
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
ailin-nemui
243ae4be84
Merge pull request #814 from l2dy/website
Update Irssi website URLs to use https
2018-01-17 11:05:01 +01:00
ailin-nemui
1b7f328385
Merge pull request #816 from ailin-nemui/fix-test-libs
fix test builds on some platforms
2018-01-16 19:12:00 +01:00
Zero King
d983ad1a87 Update Irssi website URLs 2018-01-16 15:23:54 +00:00
ailin-nemui
e7c9b3afb8 fix test builds on some platforms 2018-01-16 11:05:47 +01:00
ailin-nemui
ef8111eebe Merge branch 'maint/1.1.0' into integrate/1.1.0 2018-01-15 21:57:14 +01:00
Joseph Bisch
fd711d7083
Merge pull request #813 from josephbisch/fuzz-theme-load
Add theme_load to fe-fuzz
2018-01-15 12:26:48 -05: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
7de1378dab
Merge pull request #812 from ailin-nemui/tape-netsplit
revert netsplit print optimisation
2018-01-14 20:51:25 +01: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
LemonBoy
b3b68a4ae7
Merge pull request #808 from vague666/perl_hidden_level
Add perl access to hidden_level in TEXT_BUFFER_VIEW_REC
2018-01-10 12:15:24 +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
d4bd0d02fb
Merge pull request #807 from ailin-nemui/fix-real-length-test
fix format_real_length expected test result
2018-01-08 14:33:39 +01:00
ailin-nemui
2e28606635
Merge pull request #806 from ailin-nemui/fix-tests-old-glib
only use nonfatal assertions for GLib that actually supports it
2018-01-08 14:33:12 +01:00
ailin-nemui
3b1ee8e7e7 change expected format_real_length test result
This change from 0 -> 4 was introduced by #697 and is thus expected
2018-01-08 13:47:25 +01:00
ailin-nemui
b8e3c5d00e only use nonfatal assertions for GLib that actually supports it
Fixes tests on Debian 7 and RHEL 6
2018-01-08 13:33:40 +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
Ailin Nemui
c8012b2e57 Merge tag '1.0.6' into integrate/1.0.6 2018-01-05 00:32:29 +01:00
Nei
9df3d92598 Merge branch 'security' into 'master'
Security

Closes GL#18, GL#19, GL#20, GL#21

See merge request irssi/irssi!29
2018-01-04 22:29:29 +00: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
Nei
cf70fcd4b9 Merge branch 'fix-gl-18' into 'security'
disable variable arguments code

See merge request irssi/irssi!28
2018-01-04 22:19:21 +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
6b0e140996 show destroyed event 2018-01-04 23:03:07 +01:00
ailin-nemui
bffced5498
Update test-796.c
odd space
2018-01-04 21:11:00 +01:00
ailin-nemui
3b7b868bb1 finish test case 2018-01-04 16:43:58 +01:00
ailin-nemui
c7cd49f8d7 first bug case, exposes broken server object in chat-completion 2018-01-04 16:18:07 +01:00
ailin-nemui
5bddfe7b73 add new test skeleton 2018-01-04 14:29:57 +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
ailin-nemui
ba6681de84
Merge pull request #793 from ailin-nemui/tests
Add tests for mode parsing
2017-12-08 12:03:13 +01:00
ailin-nemui
58557d18c4 add separator in travis.yml 2017-12-07 12:08:20 +01:00
ailin-nemui
8b34871ea6 make travis pass despite failures 2017-12-07 12:07:37 +01:00
ailin-nemui
eb9e2ed6fd Update test-irc.c
Fix wrong array (missing an s)
2017-12-07 12:07:37 +01:00
ailin-nemui
d6458304d7 mess with travis 2017-12-07 12:07:37 +01:00
ailin-nemui
d932e6e4b7 add test case for format_real_length 2017-12-07 12:06:20 +01:00
ailin-nemui
43d06369bf move fixtures to outer scope 2017-12-07 12:06:20 +01:00
ailin-nemui
c20eddeb38 add glib testing TAP utilities 2017-12-07 12:06:20 +01:00
Will Storey
1328e1ba08 Add a test program to test mode parsing
This uses GLib's testing framework. It is to test the changes to the
mode parsing for #603.
2017-12-07 12:06:20 +01:00
Will Storey
b0637ad6ea Update NULL comparison style and be C89 compatible 2017-12-02 10:09:52 -08:00
ailin-nemui
02aa8ee8bb
Merge pull request #795 from ailin-nemui/no-mixed-decl
check for declaration-after-statement on travis
2017-11-30 14:33:51 +01:00
ailin-nemui
117f666258
Merge pull request #784 from LemonBoy/clangfmt
Turn the style guide into a clang-format file
2017-11-30 11:41:19 +01: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
ailin-nemui
b2ca8c0477 check for declaration-after-statement on travis 2017-11-30 11:06:37 +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
ba3c5801a4
Update .clang-format
do not indent case deeper
2017-11-16 13:50:48 +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
ailin-nemui
933fac7e9d
Merge pull request #788 from LemonBoy/fix-787
Keep a copy of the strings coming from the config
2017-11-14 08:50:06 +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
LemonBoy
596fa6b51e Take into account Nei's suggestions 2017-11-11 09:14:41 +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
LemonBoy
5601336798 Turn the style guide into a clang-format file 2017-11-02 09:29:33 +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
7e619ed990
Update README.md 2017-10-30 16:54:32 +01:00
ailin-nemui
ac642806b9 Merge pull request #781 from ailin-nemui/syncdocs
remove lynx from autogen and make a separate syncdocs script
2017-10-26 16:35:57 +02:00
ailin-nemui
96c7f68b35 clean up file path after move 2017-10-26 16:15:25 +02:00
ailin-nemui
8c0e0c81ee run syncscripts.sh 2017-10-25 16:23:14 +02:00
ailin-nemui
ca3498d42d move some files into subdirs 2017-10-25 16:22:57 +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
ailin-nemui
9a3c0bce48 add a script to sync scripts as well 2017-10-24 22:22:39 +02:00
ailin-nemui
245bd5579c remove lynx from autogen and make a separate syncdocs script 2017-10-24 22:12:34 +02:00
ailin-nemui
87550541e7 fix key length checker to actually do some work 2017-10-24 22:04:13 +02: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
ailin-nemui
816df6d153 Merge tag '1.0.5' into integrate/1.0.5 2017-10-22 15:39:18 +02:00
ailin-nemui
d17d71f547 Merge branch 'master' into HEAD 2017-10-22 15:32:27 +02:00
ailin-nemui
54aceeca08 Merge pull request #777 from horgh/horgh/readme-typo
Fix a typo in the readme
2017-10-22 10:59:50 +02:00
Will Storey
956bc592a9 Fix a typo in the readme
Also uppercase Irssi in a couple places, and escape an argument not
shown due to looking like an HTML tag
2017-10-21 22:00:11 -07:00
Nei
0557a2cb7c Merge branch 'security' into 'master'
Security

Closes GL#12, GL#13, GL#14, GL#15, GL#16

See merge request irssi/irssi!23
2017-10-20 13:31:26 +00: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 Napierała
b2865d6bcc Merge pull request #772 from trasz/capsicum
Merge a bunch of Capsicum-related tweaks.
2017-10-13 10:33:43 +01:00
Edward Tomasz Napierala
711b2d7df7 Document that one needs to change the awaylog_file path for "/away"
to work with Capsicum.
2017-10-11 23:53:41 +01: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
016fd34436 Merge pull request #763 from rbisewski/master
Improvements to statusbar documentation and help text.
2017-10-08 18:50:19 +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
Robert Bisewski
4b42eca7c5 minor word correction 2017-10-06 07:58:27 -05:00
Robert Bisewski
84bfea52af adjusting text content as per the pull-request discussion 2017-10-06 07:54:54 -05:00
Robert Bisewski
0883ff8d32 reverting changes to startup HOWTO 2017-10-06 07:13:30 -05:00
Robert Bisewski
e1e632d31e correcting and expanding content of statusbar help text 2017-10-05 22:47:15 -05: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
Robert Bisewski
32f33e7bb3 improving HOWTO document 2017-10-03 22:49:21 -05: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
ailin-nemui
ca1172b4d0 Merge pull request #751 from LemonBoy/ssl-refcnt
Increment the X509_STORE refcount during the connection
2017-09-13 10:32:38 +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
ailin-nemui
be70fa5eb7 Merge pull request #741 from LemonBoy/complete
Complete filenames ending with a slash
2017-09-05 10:17:22 +02:00
LemonBoy
7086eae650 Complete filenames ending with a slash 2017-08-29 21:03:42 +02:00
Edward Tomasz Napierala
245a3fd4c1 Add docs/capsicum.txt.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-08-28 06:13:28 +01: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
7051bd744e Merge pull request #736 from paultownsend/issue-684
Update /CONNECT and /SERVER syntax tags (-ssl -> -tls).
2017-08-07 15:53:32 +02: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
LemonBoy
663a8e7154 Merge pull request #734 from trasz/master
Don't compute log_dir_create_mode in three different places.
2017-07-30 10:06:38 +02: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
f468008b25 Make autotools detect Capsicum.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 23:52:23 +01:00
Edward Tomasz Napierala
2907a82b44 Fix vertical alignment in ./configure --help output.
Signed-off-by: Edward Tomasz Napierala <trasz@FreeBSD.org>
2017-07-29 12:32:15 +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
ailin-nemui
6552fe4c6c Merge pull request #731 from tpepin96/master
Clarified ambiguous autogen.sh error
2017-07-22 12:50:11 +02:00
Tristan
2bc1038661 Clarified ambiguous autogen.sh error
autogen.sh now instructs the user to install elinks or lynx if needed
2017-07-21 20:40:29 -04:00
Ailin Nemui
91ec153c7f Merge tag '1.0.4' into integrate/1.0.4 2017-07-05 21:31:43 +02:00
Ailin Nemui
b12f86e5e6 Merge pull request #729 from irssi/clear-help
More accurately describe clear
2017-07-05 21:18:22 +02:00
ailin-nemui
8b82d741b7 Update clear.in 2017-07-05 19:39:17 +02:00
Nei
5e26325317 Merge branch 'security' into 'master'
Security

Closes #10

See merge request !17
2017-07-05 14:47:30 +00: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
5d7e54cd99 More accurately describe clear 2017-07-05 14:30:11 +02: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
1ff2f61f09 Merge pull request #723 from ailin-nemui/odd_expand_escapes
fix weird n-fold unescaping in expand_escapes
2017-06-23 17:58:08 +02:00
ailin-nemui
b483ec5faa test trusty container 2017-06-23 12:15:25 +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
9d3cfe1069 Merge pull request #712 from irssi/extend-list-help
Update list.in
2017-06-07 00:20:11 +02: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
Ailin Nemui
fc67fd5111 Merge tag '1.0.3' 2017-06-06 21:11:44 +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
dx
7843586323 Merge pull request #713 from josephbisch/fix-fe-fuzz-link
Use CXX for fe-fuzz linking
2017-06-02 01:53:09 -03: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
Nei
84503427b0 Merge branch 'fix-gl8' into 'security'
Fix oob read of one byte in get_file_params_count

See merge request !12
2017-05-30 19:38:19 +00:00
ailin-nemui
2d0a9b4ca3 Merge pull request #711 from ailin-nemui/24bit-reset
do not reset true colour bit on colour reset
2017-05-30 13:14:10 +02: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
601be18774 Update list.in
Add a more detailed paragraph about service bots

Fixes #699

I would like to add another paragraph about how freenode is 
broken and spits at you the whole list instead of empty list 
if you attempt to use network side filtering......
2017-05-29 11:07:06 +02:00
ailin-nemui
d61c54c32b do not reset true colour bit on colour reset
fixes #710
2017-05-27 00:12:54 +02:00
ailin-nemui
aac20b1513 Merge pull request #707 from mh-source/patch-1
dcc.in: fixed typo 'resolved' -> 'resolves'
2017-05-18 15:39:02 +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
mh
5045f4766a dcc.in: fixed typo 'resolved' -&gt; 'resolves'
n/t
2017-05-17 12:17:27 +02: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
ailin-nemui
476f19f123 Merge pull request #705 from ailin-nemui/nicklist-performance
improve nicklist performance
2017-05-14 09:40:55 +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
Joseph Bisch
689e80c087 Merge pull request #701 from josephbisch/add-fuzz-patch
Add fuzz.diff for fuzzing with afl
2017-05-08 13:51:38 -04:00
Joseph Bisch
0c760b0c1b
Add fuzz.diff for fuzzing with afl
Authored by dx.
2017-05-08 13:45:13 -04:00
ailin-nemui
f24ad9a366 Merge pull request #698 from ailin-nemui/master
detect Netbsd terminfo
2017-05-04 12:31:32 +02:00
ailin-nemui
c8a19e1124 detect Netbsd terminfo
fixes #694
2017-05-04 12:27:23 +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
ailin-nemui
411ace0a15 Merge pull request #688 from josephbisch/fix-687
Add syntax info for completion
2017-04-07 21:22:48 +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
ailin-nemui
3f69e71804 Merge pull request #685 from josephbisch/fix-462
Fix strange history behavior when history is empty
2017-04-06 17:37:23 +02: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
ailin-nemui
590056d3c3 Merge pull request #677 from rrebello/openssl-misc
OpenSSL support detection and documentation fixes
2017-04-04 12:27:50 +02:00
Joseph Bisch
d5e23f97a7 Merge branch 'off-by-one-fix' into 'master'
Fix off by one error with char_expandos

See merge request !11
2017-03-31 20:06:14 +00:00
Joseph Bisch
a4cc4e0ad7
Fix off by one error with char_expandos 2017-03-31 15:37:48 -04:00
ailin-nemui
3d4ba86a91 Merge pull request #680 from Stevie-O/slow-startup-with-glib-2.49.3
Fix slow startup with glib 2.49.3
2017-03-21 15:47:16 +01: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
Rodrigo Rebello
449b8a4589 Remove outdated information from INSTALL
Disabling SSL support is no longer an option.
2017-03-20 16:10:03 -03:00
Rodrigo Rebello
a720c3b5ef Get back to using pkg-config to check for OpenSSL
Commit 6300dfec7 removed the option to disable SSL support from the
configure script since it became a requirement, but it also removed the
use of pkg-config for finding the OpenSSL library and its dependencies.

This had the unfortunate consequence of breaking the correct detection
of library flags in many static linking scenarios. In some cases, for
example, OpenSSL might have been built with zlib, which requires `-lz`
to be passed to the linker when doing a static link of the irssi
executable. Thus, pkg-config becomes an invaluable tool in such
situations, since no guessing work is needed as the OpenSSL .pc file
provides all the necessary flags.

So, this commit re-inserts the PKG_CHECK_MODULES macro in the configure
script when looking for OpenSSL. The test using AC_CHECK_LIB remains,
but only as a last resort in case the one using pkg-config fails.

Also, because the macro AM_PATH_GLIB_2_0 contains an unconditional call
to PKG_PROG_PKG_CONFIG, the OpenSSL checks are moved so that they come
after the Glib ones in order to avoid doubly checking for the pkg-config
binary (PKG_CHECK_MODULES skips that check if it has been performed
before, but PKG_PROG_PKG_CONFIG does not).
2017-03-20 16:09:43 -03: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
440881a129 Merge branch 'integrate/1.0.2' 2017-03-10 18:03:12 +01:00
Ailin Nemui
3930f91edc tag as 1.0.2
(cherry picked from commit 2a53853f36)
2017-03-10 18:03:01 +01:00
ailin-nemui
22bc7fcc39 amend forgotten fix
(cherry picked from commit 0ada284a25)
2017-03-10 17:19:17 +01:00
ailin-nemui
24e62b0525 Merge pull request #652 from LemonBoy/trailing-arg
Properly check the command arguments in tail place.

commit 5a92a3926fab4def4bcb7d14642b93184eeb4f71
Merge: 647ef193a8 e4601b4b43
Rebased: e4601b4b43 dc99f8d7a5
2017-03-10 17:18:59 +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
ailin-nemui
26187d1d30 Merge pull request #669 from dequis/expand-double-backslash
expand_escape: expand double backslash as a backslash
2017-03-10 17:13:20 +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
7f4fd60370 Merge pull request #666 from irssi/revert-658-dcc-autoaccept
Revert "Quote the filename when dcc requests are auto accepted."
2017-03-06 11:28:26 +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
ailin-nemui
647ef193a8 Merge pull request #661 from Stevie-O/master
Fix Segfault when unloading a script that registers for 'script destroyed' signals

Closes #660
2017-03-02 09:46:01 +01: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
ailin-nemui
e133465168 Merge pull request #649 from LemonBoy/issue-559
Do not alias /server <hostname> to /server connect <hostname>
2017-02-15 15:36:53 +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
ailin-nemui
6e4edbc9b6 Merge pull request #639 from ear/themes-inline-doc-consistency
Make themes' docs more consistent.
2017-02-05 22:19:19 +01:00
ailin-nemui
1cfe9652a7 Merge branch 'integrate/1.0.1' 2017-02-05 20:21:20 +01:00
ailin-nemui
99e3d8a30b tag as 1.0.1 2017-02-05 20:20:35 +01:00
Paolo
8ec9230827 Make themes' docs more consistent.
Mentioning "sb-item" was misleading in that there is no such template,
nor any occurrence of that exact string anywhere else in the source.

In going from `sb-item` to `"sb"` I am following the pattern established
in a couple of comments above:

	"msgownnick" specifies the styling …
	"ownmsgnick" specifies …
2017-02-05 01:04:03 +01:00
Nei
97b182089e 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 20:29:22 +01:00
ailin-nemui
ca5e9bd623 Merge pull request #624 from ailin-nemui/mail_pl
sync mail.pl
2017-02-03 20:29:02 +01:00
LemonBoy
1f42d2aa95 Merge pull request #619 from hannob/master
perl_parse needs NULL terminated parameter list.
2017-02-03 20:28:35 +01:00
LemonBoy
d63c93ae1d Merge pull request #613 from ailin-nemui/fix_completion
fix regression in completion
2017-02-03 20:28:25 +01:00
LemonBoy
929c947747 Merge pull request #608 from tijko/master
Follow g_strsplit with call to g_strfreev
2017-02-03 20:28:12 +01:00
ailin-nemui
3a3b34fc63 Merge pull request #606 from or4n/master
Fix syntax on /help SERVER example
2017-02-03 20:27:41 +01:00
ailin-nemui
8dbf186ad6 Merge pull request #604 from dequis/solaris
Add OPENSSL_NO_EC for solaris 11.3, see issue #598
2017-02-03 20:27:18 +01:00
ailin-nemui
7c49ed2d17 Merge pull request #602 from McDutchie/master
make irssi --with-perl build with separate object directory
2017-02-03 20:26:30 +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
228f487a69 Merge pull request #625 from ailin-nemui/chirssi
implement break_wide
2017-01-21 19:51:34 +01:00
ailin-nemui
cb0bbe3f2a Merge pull request #624 from ailin-nemui/mail_pl
sync mail.pl
2017-01-21 03:52:31 +01:00
ailin-nemui
876c1dd93e implement break_wide
for more pleasant east asian mixed display
2017-01-20 10:32:23 +01:00
ailin-nemui
bc1ff509d2 sync mail.pl 2017-01-19 21:09:56 +01:00
ailin-nemui
7fd3c1f50a Merge pull request #621 from josephbisch/fix-glib-2.0-pkg-config
Fix glib-2.0.m4 so that $PKG_CONFIG doesn't break configure script
2017-01-16 19:15:43 +01:00
ailin-nemui
f8a3885706 Merge pull request #620 from josephbisch/suppress-printf-fallback
Add SUPPRESS_PRINTF_FALLBACK
2017-01-16 19:14:54 +01:00
Joseph Bisch
6221ce5206
Fix glib-2.0.m4 so that $PKG_CONFIG doesn't break configure script
If $PKG_CONFIG contains a space, then the test may not work, so
surround with quotation mark characters. (for example,
PKG_CONFIG="pkg-config --static" breaks configure before this commit).
2017-01-16 13:04:54 -05: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
LemonBoy
6e36ddc6b7 Merge pull request #619 from hannob/master
perl_parse needs NULL terminated parameter list.
2017-01-15 22:33:42 +01: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
fcd3ec467f Merge pull request #614 from irssi/revert-605-fix-early-ison
Revert "Don't reset wait_cmd during connection registration (fixes early ISON)"
2017-01-10 03:10:19 -03: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
LemonBoy
7c09b72a26 Merge pull request #605 from dequis/fix-early-ison
Don't reset wait_cmd during connection registration (fixes early ISON)
2017-01-07 22:00:00 +01:00
ailin-nemui
f97d5f2648 Merge pull request #603 from dequis/pining-for-the-freenodes
NEWS: Avoid explicitly mentioning freenode in the pinning examples
2017-01-06 17:08:06 +01:00
ailin-nemui
808a11a150 Merge pull request #606 from or4n/master
Fix syntax on /help SERVER example
2017-01-06 17:00:09 +01:00
dequis
69e112fbd1 NEWS: Avoid explicitly mentioning freenode in the pinning examples
They have proper certs, so using them as an example is wrong.
Particularly worse since they started using letsencrypt recently so
every server has a different cert and pubkey.

We'll figure out how to link this from the release notes later.
2017-01-06 12:57:53 -03:00
dequis
1831a8e1a7 Don't reset wait_cmd during connection registration (fixes early ISON) 2017-01-06 12:49:56 -03:00
Lasse Toimela
ef9da295cd Fix syntax on /help SERVER example 2017-01-06 17:47:08 +02:00
ailin-nemui
a40d4492d2 Merge pull request #604 from dequis/solaris
Add OPENSSL_NO_EC for solaris 11.3, see issue #598
2017-01-06 16:37:09 +01: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
ailin-nemui
1d621d4643 Merge pull request #602 from McDutchie/master
make irssi --with-perl build with separate object directory
2017-01-06 12:44:02 +01: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
cbb931ed1d continue head 2017-01-05 13:14:15 +01:00
ailin-nemui
ea7826b0ec tag as 1.0.0 2017-01-05 13:10:08 +01:00
ailin-nemui
fdd870695b Merge branch 'gregex-gerror' 2017-01-05 13:07:30 +01:00
ailin-nemui
33107be748 fix GRegex GError problem 2017-01-05 13:06:55 +01:00
ailin-nemui
f852ccae68 Merge branch 'integrate/0.8.21' 2017-01-03 14:39:10 +01:00
ailin-nemui
a96b1e4328 Merge tag '0.8.21' into integrate/0.8.21 2017-01-03 14:38:02 +01:00
ailin-nemui
7cac354161 tag as 0.8.21 2017-01-03 14:24:55 +01:00
ailin-nemui
6c6c42e3d1 Merge branch 'security' into 'master'
See merge request !7
2017-01-03 13:53:40 +01:00
ailin-nemui
78ba05985d Merge branch 'security' into 'master'
See merge request !7
2017-01-03 13:44:58 +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
5787e2b4be Merge pull request #412 from LemonBoy/pcre-regexp
Use GLib's regexp interface (backed by PCRE)
2017-01-03 12:45:27 +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
b5a727c87c Remove unused references to regex.h
Also remove the prototype for regex_match since it has been removed.
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
ailin-nemui
29ad8baedc Merge pull request #593 from LemonBoy/crown
Welcome TheLemonMan on board
2017-01-02 14:39:30 +01:00
ailin-nemui
ae48e49350 Merge pull request #594 from LemonBoy/sasl_fail_fix
Make sure SASL was actually requested before failing.
2017-01-02 14:39:01 +01:00
LemonBoy
7e22d051ae Make sure SASL was actually requested before failing. 2017-01-01 23:08:38 +01:00
LemonBoy
0a46a1664a Add myself to the core team members 2016-12-22 16:17:43 +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
1c6695107c Merge pull request #588 from ailin-nemui/mirc_99
reset background for mirc colour 99
2016-12-15 19:57: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
955cf622a5 Merge pull request #579 from mmuman/haiku-libnetwork
Check for socket() in libnetwork for Haiku
2016-11-29 22:26:45 +01:00
LemonBoy
5efb3077d5 Merge pull request #565 from ahf/bug/524
Kill bell_beeps.
2016-11-29 22:13:53 +01:00
François Revol
0d7b3877e4 Check for socket() in libnetwork for Haiku 2016-11-27 18:05:48 +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
1c0f048d2c Merge pull request #578 from ailin-nemui/dcc_buffer
add a static buffer for dcc received data
2016-11-25 21:52:30 +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
ailin-nemui
1aff5c2c97 Merge pull request #574 from lotheac/master
add completion_empty_line setting
2016-11-11 12:18:35 +01:00
Lauri Tirkkonen
4cbf279d88 add completion_empty_line setting 2016-11-08 16:27:38 +02:00
ailin-nemui
c1a28770fb Merge pull request #573 from ailin-nemui/master
add missing inheritance to Exec item from 3532fc46
2016-11-02 13:24:21 +01:00
ailin-nemui
43934ae9ad add missing inheritance to Exec item from 3532fc46 2016-11-01 17:08:28 +01:00
ailin-nemui
1652c8a561 Merge pull request #557 from irssi/ahf/tls-pr
TLS enhancements
2016-10-31 15:15:45 +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
6a286a4eb2
Use TLS by default for Freenode, IRC6, OFTC, EsperNet, EFnet, and Rizon. 2016-10-22 20:37:12 +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
fb78787d4e Merge pull request #556 from koollman/master
update INSTALL requirement: terminfo or ncurses for text frontend
2016-10-12 09:48:09 +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
ailin-nemui
0fce47a5ad Merge pull request #555 from LemonBoy/attr-signedness
Make the cap_complete field unsigned.
2016-10-07 12:56:12 +02:00
Thomas Samson
d02ef83d03 update INSTALL requirement: terminfo or ncurses for text frontend 2016-10-05 01:01:25 +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
2216ed19da Merge pull request #551 from ailin-nemui/fix-550
nullptr when doing module backward compat on invalid config
2016-09-26 15:44:47 +02:00
ailin-nemui
eb20a6c846 Merge pull request #548 from ailin-nemui/buf-fix
sync buf.pl
2016-09-26 14:08:55 +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
1405a87b56 Merge pull request #548 from ailin-nemui/buf-fix
sync buf.pl
2016-09-22 04:27:35 +02:00
ailin-nemui
d39ad6e559 sync buf.pl 2016-09-22 04:21:15 +02:00
ailin-nemui
c98f896dfc Merge branch 'integrate/0.8.20' 2016-09-21 16:00:04 +02:00
ailin-nemui
ac73255483 Merge branch 'master' into integrate/0.8.20 2016-09-21 15:59:33 +02:00
ailin-nemui
d9b4cb34dc Merge branch 'quarkslab' 2016-09-20 19:56:06 +02:00
ailin-nemui
20b5d4d982 Update NEWS for 0.8.20 2016-09-20 19:56:06 +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
13f4026ae0 tag as 0.8.20 2016-09-14 13:55:20 +02:00
ailin-nemui
9de7a9b328 Merge branch 'quarkslab' 2016-09-14 13:47:24 +02:00
ailin-nemui
52fedeaf02 Update NEWS for 0.8.20 2016-09-14 13:34:39 +02:00
ailin-nemui
7455ad51d4 Merge pull request #477 from dennisschagt/master
Correct error/typo "You"->"Your" in help message
2016-09-14 13:12:40 +02:00
ailin-nemui
2c5856d832 Merge pull request #467 from dequis/EAI_SYSTEM
net_gethosterror: Handle EAI_SYSTEM ("System error") properly
2016-09-14 13:12:10 +02:00
ailin-nemui
8cbf5f28f2 Merge pull request #461 from ailin-nemui/fix_squery
Revert "Removed the obsolete SQUERY and SERVLIST commands"
2016-09-14 13:09:32 +02:00
ailin-nemui
e68817f82b Merge pull request #515 from LemonBoy/signal-proto
Correct the prototype for the 'message private' signal.
2016-09-14 11:24:38 +02:00
dx
6b212be112 Merge pull request #518 from vague666/hilight_help
Wrong order in the arguments in /hilight example, -mask doesn't take …
2016-09-14 11:23:58 +02:00
ailin-nemui
3c29b44408 Merge pull request #529 from ailin-nemui/issue500
fix nick->host == NULL crash
2016-09-14 09:44:02 +02:00
LemonBoy
31c0a9d7e8 Merge pull request #533 from dequis/statusmess
Set the default STATUSMSG to @ instead of @+ if it's missing
2016-09-14 09:30:15 +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
ailin-nemui
ae5e4a94da Merge pull request #543 from LemonBoy/script-error-message
Make sure to make a copy of ERRSV content.
2016-09-13 23:27:43 +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
dx
d2c5939de0 Merge pull request #535 from irssi/ailin-nemui-install-local-lib
Update INSTALL to reflect perl changes
2016-09-11 13:17:03 -03:00
LemonBoy
f492ec8abf Document the addition of the -autorun switch for /script reset. 2016-09-11 17:05:03 +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
5d9af40ea7 Update INSTALL 2016-08-29 23:25:26 +02: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
ailin-nemui
2b7f32633c Merge pull request #532 from LemonBoy/x1x2
Fix an OOB access in the cutbuffer implementation.
2016-08-24 22:49:20 +02: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
c284309d36 Merge pull request #525 from ailin-nemui/issue522
fix use after free in expando error
2016-08-14 23:35:23 +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
61fa6eb35b Merge pull request #521 from ailin-nemui/ax_curses2
remove curses terminal and ncurses macro
2016-08-11 15:41:12 +02:00
ailin-nemui
9ee4803770 remove curses terminal and ncurses macro 2016-08-04 10:02:28 +02:00
dx
3e28bf7a94 Merge pull request #518 from vague666/hilight_help
Wrong order in the arguments in /hilight example, -mask doesn't take …
2016-07-17 12:37:57 -03:00
Jari Matilainen
ccf1ca124b Wrong order in the arguments in /hilight example, -mask doesn't take a parameter 2016-07-17 17:28:21 +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
ailin-nemui
4be256fcf0 Merge pull request #512 from LemonBoy/coderef
Allow Irssi::signal_remove to work properly with coderefs
2016-07-12 16:11:41 +02:00
ailin-nemui
7cf9326cad Merge pull request #515 from LemonBoy/signal-proto
Correct the prototype for the 'message private' signal.
2016-07-12 16:11:04 +02:00
LemonBoy
0fe81cae83 Correct the prototype for the 'message private' signal. 2016-07-12 15:46:36 +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
LemonBoy
b8f7eaad40 Merge pull request #501 from ailin-nemui/more-crash
check for NULL in statusbar_more_updated
2016-06-26 21:09:01 +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
054a98b0ac Add info about MODIFY to help files 2016-06-18 17:59:59 +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
ailin-nemui
700a0d52a5 Merge pull request #488 from LemonBoy/completion_smart
Be smart about case-matching the nicks.
2016-06-14 06:15:02 +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
ailin-nemui
e5f7b786c0 Merge pull request #493 from dequis/unix-reconnect
servers-reconnect: pass unix_socket attribute to new connection
2016-06-13 01:37:30 +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
750e324903 Merge pull request #484 from LemonBoy/sasl-misc-adj
Correct the name of the emitted signal.
2016-06-07 02:53:18 +02:00
ailin-nemui
97e9347ee7 Merge pull request #485 from ailin-nemui/bdo826525
Do not crash on OPTCHAN when item has no server
2016-06-07 02:51:14 +02:00
ailin-nemui
6e13862cfe Merge pull request #485 from ailin-nemui/bdo826525
Do not crash on OPTCHAN when item has no server
2016-06-07 02:47:57 +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
ailin-nemui
f72608ba24 Merge pull request #484 from LemonBoy/sasl-misc-adj
Correct the name of the emitted signal.
2016-06-01 22:56:26 +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
1a6ec1b0b6 Merge pull request #482 from ailin-nemui/travis-test-dist
test make dist in travis
2016-05-18 16:57:47 +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
36beddc64f test make dist in travis 2016-05-18 16:50:41 +02:00
ailin-nemui
f43040b926 Merge pull request #481 from ailin-nemui/master
Missing ABI update and NEWS update
2016-05-18 14:49:50 +02:00
ailin-nemui
8d5edff515 update news and authors 2016-05-18 14:43:54 +02:00
ailin-nemui
5995c0619d abi increase for #480 2016-05-18 14:39:52 +02:00
ailin-nemui
8b847034ef update news and authors 2016-05-18 14:39:13 +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
ailin-nemui
5564f85041 Merge pull request #479 from ailin-nemui/improve-perl-lib
improve perl @INC detection
2016-05-17 16:15:06 +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
ailin-nemui
affbf71f10 add silent flag to make, should stop GNU make from turning on -w 2016-05-11 11:43:08 +02:00
ailin-nemui
3376d324e1 improve perl @INC detection 2016-05-09 16:55:35 +02:00
ailin-nemui
1cfec5f63d Merge pull request #478 from pisculichi/fix-ansic-issues
Fix some ANSI-C issues
2016-05-03 20:58:23 +02:00
pisculichi
47e792da05 Fix some ANSI C issues. 2016-05-03 15:28:20 +00:00
ailin-nemui
cf98260ede Merge pull request #476 from isundil/master
Add an option to make /hilight case sensitive
2016-04-30 21:46:18 +02:00
isundil
b63339af89 Increased ABI version 2016-04-30 18:26:26 +00:00
ailin-nemui
907a8ce8ab Merge pull request #477 from dennisschagt/master
Correct error/typo "You"->"Your" in help message
2016-04-30 10:19:57 +02:00
dennisschagt
b24921db7a Correct error/typo "You"->"Your" in help message 2016-04-30 09:44:26 +02: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
ailin-nemui
0e5a32fb62 Merge pull request #467 from dequis/EAI_SYSTEM
net_gethosterror: Handle EAI_SYSTEM ("System error") properly
2016-04-07 12:33:03 +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
70a44daad2 Merge pull request #461 from ailin-nemui/fix_squery
Revert "Removed the obsolete SQUERY and SERVLIST commands"
2016-03-29 22:45:47 +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
0c69b75f77 Merge pull request #460 from ailin-nemui/integrate/0.8.19
Merge tag '0.8.19'
2016-03-24 15:24:08 +01:00
ailin-nemui
bab60daa17 Merge tag '0.8.19' 2016-03-24 15:02:33 +01:00
ailin-nemui
ce5a6929f5 Merge pull request #459 from ailin-nemui/fix_430
Make use of terminal application keys configurable
2016-03-24 14:52:53 +01:00
ailin-nemui
c438315741 tag as 0.8.19 2016-03-23 00:24:25 +01:00
ailin-nemui
6c0c0c60ad 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-23 00:08:36 +01:00
ailin-nemui
6572005d3d Merge pull request #458 from ailin-nemui/fix_449
Properly toggle bracketed paste mode on stop/cont
2016-03-23 00:08:36 +01:00
ailin-nemui
5ef2b958d9 Merge pull request #457 from ailin-nemui/fix_450
fix race condition in terminal init
2016-03-23 00:08:36 +01:00
ailin-nemui
c657b9c3b1 Merge pull request #447 from ailin-nemui/fix_dcc_help
correct quoting in /help dcc
2016-03-23 00:08:36 +01:00
ailin-nemui
4a2ee3c344 Merge pull request #446 from ailin-nemui/fix_445
strip less whitespace from commands
2016-03-23 00:08:36 +01:00
ailin-nemui
fe600dd5dc Merge pull request #442 from LemonBoy/fix-435
Do not assume any default value for statusmsg.
2016-03-23 00:08:36 +01:00
ailin-nemui
15296a0165 Merge pull request #444 from LemonBoy/timeout-id
Use 0 as a sentinel value for sasl_timeout
2016-03-23 00:08:35 +01:00
TheLemonMan
7d3fe66e50 Merge pull request #439 from horgh/ssl-errors
Clear error queue before SSL I/O operations
2016-03-23 00:08:35 +01:00
ailin-nemui
d20872ac27 Merge pull request #438 from dequis/sasl-timeout-disconnect
Remove sasl timeout source when the server disconnects
2016-03-23 00:08:35 +01:00
Giuseppe
4416942fcd Merge pull request #432 from grawity/fix-external
fix SASL EXTERNAL
2016-03-23 00:08:35 +01:00
ailin-nemui
025f08d5fc Merge pull request #407 from irssi/ailin-nemui-perl-bugs
Mention known Perl Bugs in perl.txt
2016-03-23 00:08:35 +01:00
dx
22d772890e Merge pull request #405 from LemonBoy/serialize-channel-name
Serialize the 'name' attribute of the CHANNEL_REC.
2016-03-23 00:08:35 +01:00
ailin-nemui
15f79a713f set version to 0.8.18a-head 2016-03-23 00:08:35 +01: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
be93c8d5be Update the documentation about DCC 2016-03-22 16:03:05 +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
83bee9c6b7 Merge pull request #447 from ailin-nemui/fix_dcc_help
correct quoting in /help dcc
2016-03-22 15:25:13 +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
7baf3a28bb correct quoting in /help dcc 2016-03-20 22:43:12 +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
ailin-nemui
c5e2f44984 Merge pull request #444 from LemonBoy/timeout-id
Use 0 as a sentinel value for sasl_timeout
2016-03-20 22:00:43 +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
ailin-nemui
ff4d33071d Merge pull request #441 from KindOne-/master
Replace spaces with tabs
2016-03-16 12:05:44 +01:00
KindOne
bcebed5a72 Replace spaces with tabs 2016-03-14 21:23:37 -04:00
Giuseppe
6aa33c4aae Merge pull request #440 from vague666/strarray_find_bugfix
Return -1 from null-test to comply with the rest of strarray_find
2016-03-14 22:37:05 +01: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
ailin-nemui
64bac950fc Merge pull request #427 from mauke/irssiproxy-unix-sockets
irssi proxy: allow listening on unix sockets
2016-03-02 11:07:39 +01: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
ailin-nemui
9174ec584f Merge tag '0.8.18'
master now on 0.8.19-head
2016-02-29 22:45:54 +01:00
ailin-nemui
843e0c0884 Merge pull request #428 from mauke/irssiproxy-multiplex-2
fix proxy server name
2016-02-26 20:46:09 +01:00
Lukas Mai
4d234c175c fix proxy server name 2016-02-26 18:40:51 +01:00
ailin-nemui
f83a29b764 Merge pull request #425 from mauke/irssiproxy-multiplex
irssi proxy: allow multiplexing multiple networks over a single port
2016-02-24 16:14:43 +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
effb00b858 add some documentation 2016-02-18 01:20:33 +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
ailin-nemui
4650665ee4 Merge pull request #414 from toddpratt/master
add an append operation to cut buffer handling
2016-02-18 00:18:24 +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
b91f3c3025 tag as 0.8.18 2016-02-08 21:18:04 +01:00
ailin-nemui
8ab537cf22 sync docs 2016-02-08 21:18:04 +01:00
ailin-nemui
06fdfd617e sync scriptassist.pl 2016-02-08 14:38:33 +01:00
ailin-nemui
6d8b92af8a Merge pull request #415 from lanurmi/gitattributes
Add .gitattributes to ensure all shell scripts have LF as eol-style.
2016-02-07 11:48:27 +01: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
Lauri Nurmi
8708d8da49 Add .gitattributes to ensure all shell scripts have LF as eol-style.
Some Git clients on Windows may use CRLF otherwise, which effectively prevents running such scripts.
2016-01-31 20:49:59 +02: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
ailin-nemui
161772892f Merge pull request #409 from LemonBoy/reverse-lookup-flags
Reverse lookup flags
2016-01-29 14:03:40 +01:00
ailin-nemui
16766d83ff Merge pull request #407 from irssi/ailin-nemui-perl-bugs
Mention known Perl Bugs in perl.txt
2016-01-29 05:33:14 +01:00
ailin-nemui
26431133aa Merge pull request #408 from LemonBoy/delete-ipv6-ifdef
Delete the HAVE_IPV6 ifdef.
2016-01-29 05:32:52 +01: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
70c7949cfe Update the configure script and INSTALL.
Now that HAVE_IPV6 is gone remove all the references from the
buildscript and documentation.
2016-01-27 14:42:50 +01:00
LemonBoy
87c0827471 Delete the HAVE_IPV6 ifdef.
Welcome to the future.
2016-01-27 14:31:55 +01:00
ailin-nemui
b229138b2e Update perl.txt
Mention known Perl Bugs (#386)
2016-01-26 09:33:46 +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
dx
18287781f6 Merge pull request #405 from LemonBoy/serialize-channel-name
Serialize the 'name' attribute of the CHANNEL_REC.
2016-01-26 03:25:07 -03: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
ailin-nemui
4af3a4731e continue head 2016-01-18 10:43:28 +01:00
ailin-nemui
b837751b2d Merge pull request #401 from irssi/0.8.18-beta2
integrate 0.8.18 beta2
2016-01-18 10:41:38 +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
38b1121989 Merge branch '0.8.18-beta1' into 0.8.18-beta2 2016-01-12 23:34:44 +01:00
ailin-nemui
424675f9df Merge branch '0.8.18-beta1' (early part) into 0.8.18-beta2 2016-01-12 23:27:43 +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
ailin-nemui
12f4f1fa24 Merge pull request #396 from mauke/master
make /knockout use /unban to remove bans
2016-01-08 20:27:47 +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
ailin-nemui
83a7ce2e00 Merge pull request #395 from mauke/master
irc/core/irc-commands.c: fix indentation
2016-01-08 19:28:46 +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
ailin-nemui
be6d7629e3 Merge pull request #392 from mauke/master
irssiproxy: avoid using pointer after freeing it
2016-01-06 12:57:20 +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
c6a85721a6 keep track of address in text_dest for hilight purposes 2015-12-28 00:07:42 +01:00
ailin-nemui
f6d4b11079 correct incorrect pre-release tag in NEWS 2015-12-22 00:51:57 +01:00
ailin-nemui
787956af3a Merge pull request #387 from ailin-nemui/import-beta-news
list NEWS and AUTHORS since 0.8.17
2015-12-22 00:18:41 +01:00
ailin-nemui
64463933fd list NEWS since 0.8.17 2015-12-22 00:16:12 +01:00
ailin-nemui
74eb556c50 add new authors since 0.8.17 2015-12-22 00:07:43 +01:00
ailin-nemui
d495111bde tag as 0.8.18-beta1 2015-12-15 14:06:50 +01:00
ailin-nemui
77143aee7d remove mention of ./autogen.sh from releases INSTALL 2015-12-15 14:06:50 +01:00
ailin-nemui
ab809d8d2a list NEWS since 0.8.17 2015-12-15 14:06:50 +01:00
ailin-nemui
653fd590af add new authors since 0.8.17 2015-12-15 14:06:45 +01:00
ailin-nemui
45f8d5bd6a Merge pull request #385 from ailin-nemui/master
option to clear the history
2015-12-15 11:12:09 +01:00
ailin-nemui
311b01e72a Merge pull request #377 from ailin-nemui/moduleversion2
module check irssi version (manual way)
2015-12-15 11:09:48 +01:00
ailin-nemui
e4e040929b option to clear the history 2015-12-15 01:52:44 +01:00
ailin-nemui
665f0b83d7 Merge pull request #383 from mh-source/patch-1
script should be plural
2015-12-15 00:10:27 +01:00
ailin-nemui
2fbdadf124 Merge pull request #384 from ailin-nemui/master
clean up after #303
2015-12-15 00:08:50 +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
mh
620d0a9299 script should be plural 2015-12-14 19:12:47 +01:00
dx
7b69b98812 Merge pull request #382 from ailin-nemui/staticperl
ensure staticlib perl works on 5.22
2015-12-14 10:27:39 -03: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
dx
4dd7f2b18f Merge pull request #378 from ailin-nemui/staticperl
deinit perl on staticperl builds
2015-12-12 12:40:38 -03:00
ailin-nemui
18c3ea24b6 Merge pull request #380 from dequis/makefile-cleanfiles
Makefile.am: Add default-config.h and default-theme.h to CLEANFILES
2015-12-12 11:29:40 +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
dequis
0b1a912f82 Makefile.am: Add default-config.h and default-theme.h to CLEANFILES
Fixes issues when building from other directories when the source tree
was already configured before, as found in the comments of PR #375
2015-12-11 21:31:04 -03:00
dx
40e5dfa776 Merge pull request #375 from ailin-nemui/objdir-build
Fix Out-of-tree build
2015-12-11 21:30:30 -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
ailin-nemui
3468a32624 Merge pull request #376 from dequis/win32-ifdefs
Remove all WIN32 ifdefs (unifdef -UWIN32)
2015-12-09 23:04:25 +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
dx
544d5a8bba Merge pull request #374 from ailin-nemui/dist-fix
add missing file to Makefile
2015-12-09 15:07:44 -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
0fcfd37b83 Fix Out-of-tree build
Symlink irssi-version.h into build dir, restoring 550df27558
2015-12-09 15:00:25 +01:00
ailin-nemui
20fe5d0c7f add missing file to Makefile 2015-12-09 14:23:15 +01:00
ailin-nemui
3eecb4e121 Merge pull request #131 from ailin-nemui/fe-exec-perl
Add bindings for exec-type window items to Perl
2015-12-09 12:33:53 +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
ailin-nemui
ef6b7f91f5 Merge pull request #373 from mineo/dcc-doc
DCC close always requires a type
2015-12-09 11:58:23 +01:00
Wieland Hoffmann
ca96444784 DCC close always requires a type 2015-12-09 11:21:51 +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
ailin-nemui
b5cfa55d9b Merge pull request #370 from dequis/irc-cap-space
irc-cap: Don't send a space at the beginning of the CAP REQ parameter
2015-11-27 00:07:15 +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
Geert Hauwaerts
c10188e45e Merge pull request #368 from incertia/random-fixes
Random fixes (improve INSTALL)
2015-11-25 19:49:25 +01:00
Will Song
54153e6d88
revise INSTALL to be more clear regarding which script to use 2015-11-25 12:25:55 -06:00
Will Song
c52e6ebc99
change ./configure to ./autogen.sh because ./configure does not exist in
a fresh clone of the repository
2015-11-25 11:55:18 -06:00
Will Song
6ac6fcec46
ignore MYMETA.* generated by scripts in project root 2015-11-25 11:53:48 -06:00
dx
7ffc755448 Merge pull request #367 from ailin-nemui/perl_warn
more perl inheritance warning fixes
2015-11-25 10:11:53 -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
dx
4c816c287a Merge pull request #364 from ailin-nemui/no_cap_sasl
stop cap_sasl
2015-11-23 20:56:33 -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
ailin-nemui
3ed21a5303 Merge pull request #361 from LemonBoy/awaylog-format
Use the expanded filename when picking the awaylog
2015-11-22 23:02:04 +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
dx
8d1f667100 Merge pull request #320 from irssi/ahf/add-setting-type-any
Fix warnings
2015-11-01 13:40:54 -03:00
dx
897ceedc16 Merge pull request #344 from rrebello/m4-quote-fix
Fix quote around macro argument
2015-10-30 04:09:00 -03:00
dx
0184b4c3bf Merge pull request #345 from LemonBoy/sasl-reconnect
Preserve the sasl_ options across reconnects.
2015-10-28 18:22:04 -03:00
LemonBoy
8094e87cdf Preserve the sasl_ options across reconnects. 2015-10-28 21:56:35 +01:00
Rodrigo Rebello
06bf25bfba Fix quote around macro argument
In m4/curses.m4, line 134, the 5th argument passed to AC_NCURSES was
surrounded by '"' instead of '[' and ']'. Because of that, the expansion
of AC_NCURSES in that case would produce the following line inside the
configure script (note the repeated double quotes):

  screen_manager=""ncurses on $withval/include""

That would cause the following error when configure was executed with
the "--with-ncurses=dir" argument:

  ./configure: line 13468: on: command not found

Although in the case above the error doesn't actually influence the
build process ('screen_manager' isn't used anywhere in the script),
trying to execute 'on' might be harmful if it corresponded to an
existing command in the user's environment.
2015-10-28 14:58:49 -02:00
dequis
ed28483e75 Fix invalid reads in strsplit_len when splitting on spaces
The symptom for this one is randomly getting lines split before the last
word, even if there's no need for splitting. Also, this function is only
reached if recode is on, and iconv failed (for example, due to an
incorrect source charset). Thanks to vague for finding this and
providing valgrind logs.

The loop that looks for spaces tried to read backwards from the end of
the current line, with the end being determined by len. Assuming
strsplit_len() with len=400, this meant accessing str[399] in the first
iteration. For strings that don't need splitting, this means an invalid
read always.

If that invalid read happens to hit garbage that has a space character,
(len - offset) points after the end of string, which isn't a problem for
g_strndup() since it stops at the first null, and no splitting happens.
If the garbage doesn't have any spaces, it splits by the last word.

This commit avoids that loop entirely if (remaining_len > len). It also
changes the way it iterates over the string to be much less confusing.
2015-10-23 05:12:04 -03:00
ailin-nemui
7ab38f29ed Merge pull request #333 from dequis/recon-tag-fix
Fix /reconnect RECON-1 saying "Reconnection tag 1 not found"
2015-10-08 09:18:04 +02:00
dequis
f540ec9de1 Fix /reconnect RECON-1 saying "Reconnection tag 1 not found"
Turns out it was fixing the wrong string, and trying to do
atoi("RECON-1") instead of atoi("1").

"/reconnect 1" worked, but "/reconnect RECON-1" gave that confusing
error message.
2015-10-08 00:06:17 -03:00
dequis
58a166484a Add xterm's keypad enter, meta-O-M to "key return" bindings
From the 'kent' terminfo entry. Also applies to putty.

Fixes #327
2015-10-06 06:15:47 -03:00
ailin-nemui
79fa2fcb59 Merge pull request #318 from LemonBoy/fix-utf8-elements
Fix the display of utf8 sequences in the gui
2015-10-04 20:22:36 +02:00
LemonBoy
0140e7c6b2 Fix the indentation. 2015-10-04 20:23:51 +02:00
dx
15a40ea6d3 Merge pull request #314 from LemonBoy/sasl_session
Save the sasl state in the session
2015-10-03 22:15:17 -03:00
Alexander Færøy
2127fd362e
Add -Wall and -Werror as CFLAGS to make. 2015-10-03 19:07:08 +02:00
Alexander Færøy
5f35fbc57a
Remove check for >= 0 for unsigned unichar. 2015-10-03 19:01:16 +02:00
Alexander Færøy
685d8fe5b0
Add SETTING_TYPE_ANY and replace -1 with it. 2015-10-03 19:01:16 +02:00
Alexander Færøy
48375c3f90
Simplify Travis config. 2015-10-03 18:59:33 +02:00
Alexander Færøy
5e8523c037 Merge pull request #322 from LemonBoy/fix-warning-awaylog
Include write-buffer.h in log-away.c
2015-10-03 14:33:02 +02:00
LemonBoy
b68a30cdfe Include write-buffer.h in log-away.c
Silence a warning and make the world a better place.
2015-10-03 14:32:38 +02:00
Alexander Færøy
da3f2f0d01
Set HOST_NAME_MAX to 255, if it's undefined.
Thanks to Jilles and dx.

Fixes #309
2015-10-02 19:55:29 +02:00
Alexander Færøy
a66bb95d0e
Use silent rules. 2015-10-02 19:49:41 +02:00
dequis
ef55e0f653 Add missing null terminator to the g_build_path() varargs
Lemon broke it a few commits ago.
2015-10-02 13:48:23 -03:00
Geert Hauwaerts
9c5f6780b2 Merge pull request #316 from LemonBoy/fix_mem_leak
Fix a memory leak.
2015-10-02 09:39:10 -07:00
Geert Hauwaerts
bd696a096e Merge pull request #319 from LemonBoy/awaylog-flush
Flush the dirty buffer to disk
2015-10-02 09:33:03 -07:00
LemonBoy
db5ae4adce Flush the dirty buffer to disk
Given a big enough write_buffer_size and a long enough
write_buffer_timeout it might be possible to show the user an incomplete
or empty awaylog.

Patch by: Petteri Aimonen
2015-10-02 17:21:17 +02:00
LemonBoy
48ab298a67 Kill an unneeded declaration 2015-10-02 15:08:48 +02:00
LemonBoy
c7646dc58d Even simpler logic 2015-10-02 15:07:59 +02:00
LemonBoy
c351c448b8 Rework the logic to avoid allocating memory 2015-10-02 15:02:43 +02:00
LemonBoy
2e860abd2b Fix the display of utf8 sequences in the gui
term_addstr() had a long-standing fixme that suggested it didn't
take into account the string encoding when calculating the string
length.
The BIG5 code path is untested.
2015-10-02 14:44:35 +02:00
LemonBoy
b545bc96a9 Fix a memory leak.
g_get_current_dir() returns a heap-allocated string.
2015-10-02 12:39:08 +02:00
dx
c3e4664870 Merge pull request #294 from dequis/key-states-rescan-recursion-limit
Limit recursion depth of key/combo expansion in key_states_scan()
2015-10-02 07:22:48 -03:00
ailin-nemui
acbe2ecac2 Merge pull request #315 from LemonBoy/prevent_blank_usermode
Don't set the usermode field if blank
2015-10-02 11:48:11 +02:00
LemonBoy
cfff402fe6 Don't set the usermode field if blank
Fixes FS#919
2015-10-02 11:25:30 +02:00
LemonBoy
a475d57183 Save the sasl state in the session
This is seemingly required to have irssi re-authenticate after a
restart.
2015-10-02 10:52:13 +02:00
isundil
ef1a09b87d Fix return value of server_setup_remove_chatnet 2015-10-01 22:53:34 +02:00
isundil
6ca7dc6847 Updated server removal
Removing network will also remove attached channels
2015-10-01 22:36:02 +02:00
isundil
2ad6bb1295 Fix #45 Make it easy to delete default channels, servers and networks
Removing network will now also remove all attached servers
2015-10-01 21:14:30 +02:00
dx
8217147a80 Merge pull request #312 from Jellyfrog/patch-1
Switch to modern Travis CI infrastructure
2015-10-01 01:48:06 -03:00
Jellyfrog
00176dbff5 Switch to modern Travis CI infrastructure
Fixes #310
2015-09-29 18:51:22 +02:00
ailin-nemui
fb6375c6f9 Merge pull request #308 from vague666/sasl_in_network_list
Add sasl info to /network list output if available
2015-09-29 12:00:44 +02:00
Jari Matilainen
b04b5f0f1d Make sure sasl settings are defined before printing them out 2015-09-29 11:44:11 +02:00
Jari Matilainen
cff536ab70 Add sasl info to /network list output if available 2015-09-29 10:39:49 +02:00
ailin-nemui
3e4926d87b Merge pull request #307 from chi6rag/master
Remove Typo from Startup FAQs
2015-09-28 05:34:38 +02:00
Chirag Aggarwal
0f066aac11 Remove Typo from FAQs 2015-09-28 08:54:19 +05:30
dequis
7866d2bcd6 Handle empty bracketed pastes (or sequences of those)
Both cases were off-by-one mistakes erring on the side of being too
conservative. This fixes these two harmless issues:

- For a single empty paste, it required another keystroke before
  processing it
- For a sequence of themcase, a single '~' was left in the input
2015-09-27 16:08:07 -03:00
dequis
c721d57688 Handle a paste start marker right after an end one (ignore both)
This actually workarounds a bug with the "st" terminal, for which i've
already submitted a patch, but irssi needs to be able to handle it
decently too.
2015-09-27 16:08:07 -03:00
dequis
7d062a313a Create paste_bracketed_middle() function to handle small pastes
"Small" as in ending in the same sig_input() call where they started
2015-09-27 16:08:07 -03:00
dequis
83f9772e21 Fix some minor style issues 2015-09-27 16:08:07 -03:00
dequis
79987d87f3 Send last line of bracketed paste together with the rest 2015-09-27 16:08:07 -03:00
dequis
3b01198f03 paste_bracketed_end: Fix rest length calculation 2015-09-27 16:08:07 -03:00
dequis
52729ca3da Save the part of the paste buffer after the bp_end marker for later
Also move relevant code to a paste_bracketed_end() function
2015-09-27 16:08:07 -03:00
dequis
9a6b2dedcc Improve bracketed paste start/end detection
- Use a keybinding to detect the start of a bracketed paste
- Iterate over the paste buffer looking for the end marker
2015-09-27 16:08:07 -03:00
LemonBoy
6888fc5fc7 Get rid of the non-portable memmem
The sequences we're after are found at the beginning or at the end of the
buffer, there's no need to scan the whole thing.
2015-09-27 16:08:06 -03:00
LemonBoy
4764b102ff Enable the bracketed paste mode on demand 2015-09-27 16:08:06 -03:00
LemonBoy
15dad291c7 Replace some hairy logic with g_array_remove_range
In the hope it'll do the same under the hood.
2015-09-27 16:08:06 -03:00
LemonBoy
f1eead7b4a Toggles 2015-09-27 16:08:06 -03:00
LemonBoy
72ac27e5a0 Implement the bracketed paste mode
As an alternative method of paste detection, more reliable but might not be
supported by all the VTs.
2015-09-27 16:08:06 -03:00
Geert Hauwaerts
696bc43bac Merge pull request #305 from dequis/install-doc-mention-local-lib
INSTALL: mention local::lib for home directory installations
2015-09-27 10:04:24 +02:00
dequis
6f9fc5d523 INSTALL: mention local::lib for home directory installations
I had problems installing this and this file didn't have the answer.
So I'm adding what nei told me to do.
2015-09-27 02:15:14 -03:00
ailin-nemui
18989e76db Merge pull request #304 from LemonBoy/sasl_user_options
Allow the user to set and modify the SASL parameters
2015-09-26 19:07:54 +02:00
LemonBoy
1a2c479bc0 Allow the user to set and modify the SASL parameters
The /NETWORK ADD command now is able to modify the SASL mechanism, the
username and the password on a chatnet basis.
2015-09-26 18:53:10 +02:00
Geert Hauwaerts
815862b688 Merge pull request #302 from vague666/rawlog_save_with_dir
Added functionality to create dir if dir specified in rawlog filename
2015-09-24 18:04:29 +02:00
Jari Matilainen
deb6ca1b1a Applied patch from fs#275 to make /hilight -mask -line work properly 2015-09-24 13:03:02 +02:00
Jari Matilainen
a2277e84bd Added functionality to create dir if dir specified in rawlog filename 2015-09-24 11:59:18 +02:00
Geert Hauwaerts
fc3c0a8420 Merge pull request #301 from dequis/dcc-get-ntfs-temp-bug
dcc-get: close() the temp fd so we don't get ETXTBSY in ntfs mounts
2015-09-24 10:05:30 +02:00
Robert C Jensen
b984f1fa25 dcc-get: close() the temp fd so we don't get ETXTBSY in ntfs mounts
Patch from debian bug 696963 [1]

Fixes github bug #220 and flyspray bug 867 [2]

[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696963
[2]: http://bugs.irssi.org/index.php?do=details&task_id=867
2015-09-23 23:39:37 -03:00
Geert Hauwaerts
3daadfa4a2 Merge pull request #298 from dequis/multi-prefix
Add multi-prefix to list of capabilities to request
2015-09-23 20:13:25 +02:00
Geert Hauwaerts
33e90c5ae3 Merge pull request #300 from dequis/drop-centos5
Drop centos 5 support, bump glib requirement to 2.16
2015-09-23 20:11:47 +02:00
dequis
9da445ab86 Drop some glib version checks that are not needed anymore
The g_strcmp0 fallback in particular was broken since it was used in a
few places as a GCompareFunc, and macros don't work that way.

Yes, that one was my fault, but nobody complained :D
2015-09-23 13:58:22 -03:00
dequis
e833521cef Bump glib2 requirement from 2.6 to 2.16
This drops support for rhel/centos 5 (18 months left of its 10 year
support cycle)

Keeps support for debian 5.0 (lenny) and ubuntu 8.04 LTS, both of
which are unsupported, so bumping up to glib 2.24 wouldn't be a problem,
but it's not needed atm.
2015-09-23 13:58:22 -03:00
dequis
c9be1a7a80 Revert "Revert "Bug fix - docdir is ignored during installation.""
This reverts commit d222c11f74.
2015-09-23 13:58:22 -03:00
Geert Hauwaerts
ce70288488 Merge pull request #264 from ailin-nemui/window-help
Improve the WINDOW help
2015-09-23 18:52:14 +02:00
Ailin Nemui
d3df165e0b Improve the WINDOW help
Properly describe the window command.
Make help sort order deterministic.
2015-09-23 14:21:27 +02:00
dequis
7ae7422939 Add multi-prefix to list of capabilities to request
Turns out event_names_list() in irc-nicklist.c already handles this.

event_who() just ignores it, which is probably a good idea since some of
the irc servers I tested this with have a bug that results in sending
multiple prefixes in the NAMES reply but not in the WHO one (they were
forks of ircd-hybrid before 7.3.0)

And NAMES always happens, anyway. WHO is omitted sometimes for huge
channels.
2015-09-23 03:17:29 -03:00
dequis
f247a43b97 sig_message_irc_op_public: fix nickmode lookup, use cleantarget instead 2015-09-22 19:35:10 -03:00
ailin-nemui
618a636f7c Merge pull request #297 from vague666/hilight_nick_matches
Add new setting to modify behaviour of hilight_nick_matches to match anywhere in message

Fixes #56
2015-09-23 00:07:03 +02:00
Jari Matilainen
3f2eaf1d3a Fix return value from nick_match_msg_everywhere, remove #include 'settings.h' 2015-09-22 23:16:41 +02:00
Jari Matilainen
b5c3e90802 Fix return value from nick_match_msg_everywhere 2015-09-22 23:09:55 +02:00
Jari Matilainen
5a4be0f4f5 Add new setting to optionally modify behaviour of hilight_nick_matches
Fix indentation

Remove unused variables that crept into the nick_match_msg_everywhere function
2015-09-22 22:49:50 +02:00
ailin-nemui
f32620673e Merge pull request #296 from irssi/revert-290-ipv6
Revert "Network and IPv{4,6} related changes"

it wasn't ready yet and I merged this in error
2015-09-22 22:00:31 +02:00
ailin-nemui
f5f3d7cc98 Revert "Network and IPv{4,6} related changes" 2015-09-22 21:59:17 +02:00
ailin-nemui
2d69deb0a3 Merge pull request #290 from LemonBoy/ipv6
Network and IPv{4,6} related changes
2015-09-22 17:43:31 +02:00
ailin-nemui
5ced71e1ac Merge pull request #295 from dequis/fix-bug-291
Fix #291, "/msg +#channel incorrectly shows up as Nick:@#channel"
2015-09-22 12:20:35 +02:00
dequis
99f074b0db fe_channel_skip_prefix: fix return value (FALSE/NULL isn't valid)
The return value is a char*, and here it was false which is 0 which is
more or less the same as null.

That could have been a crash somewhere, the functions that call this
don't expect null ever.
2015-09-22 01:17:15 -03:00
dequis
bf36f71b99 Fix #291, "/msg +#channel incorrectly shows up as Nick:@#channel"
Just passing the full target to the "message irc op_public" signal
handler and letting it do the cleanup.

The fe_channel_skip_prefix() call in event_privmsg() is kept because
recode_in() needs a real channel name, but

There was similar code in sig_message_own_wall(), but that one is
correct - the /wall command always sends NOTICE @#chan, so I added a
comment down there to make it clear.
2015-09-22 00:01:04 -03:00
dequis
0823289fd9 Limit recursion depth of key/combo expansion in key_states_scan()
Fixes FS#817 - "SegFault when executing bind command", which provides
the test case "/bind cleft key meta", which is stupid but now it doesn't
break things.

The limit of 100 is arbitrary, it means roughly 140 stack frames total.
The flyspray ticket mentions it crashes at 512, in my system it goes all
the way to 149677 stack frames.

http://bugs.irssi.org/index.php?do=details&task_id=817
2015-09-21 22:59:24 -03:00
ailin-nemui
85223a9b6b Merge pull request #292 from dequis/mangled-text-paste-fix
Fix FS#905, mangled text when pasted line length exceeds 400
2015-09-21 23:00:31 +02:00
dequis
f39723f651 Fix FS#905, mangled text when pasted line length exceeds 400
http://bugs.irssi.org/index.php?do=details&task_id=905

Not using the patch from that ticket, the issue turned out to be that
(dest - last_lf_pos) returned number of unichr, not bytes, so that's 4
times less than what the size parameter of memmove() should be.
2015-09-21 17:53:46 -03:00
ailin-nemui
211e84c1e9 Merge pull request #267 from kyak/master
Add expandos for hostname
2015-09-21 18:47:09 +02:00
LemonBoy
564829610d Ding dong the switch is dead 2015-09-21 14:55:35 +02:00
LemonBoy
ffaa890e99 Initial work to make irssi respect the resolved ip order
Ip's aren't selected using random() anymore, also select the ip version
by using getaddrinfo and some proper hints.
2015-09-21 14:19:35 +02:00
dx
0912a11050 Merge pull request #278 from LemonBoy/sasl
SASL support
2015-09-20 19:19:49 -03:00
LemonBoy
203c00938a Use formats instead of g_warning
Add some copyright headers here and there too.
2015-09-21 00:04:37 +02:00
Alexander Færøy
a44c4b82de
More format warnings removed. 2015-09-20 23:11:39 +02:00
Alexander Færøy
5c3ef84a0b
Undefine PACKAGE_VERSION before overwriting it. 2015-09-20 23:02:51 +02:00
Alexander Færøy
6c9dcffb5e
Fix formatting warnings. 2015-09-20 22:51:13 +02:00
dx
9cf4dfd23d Merge pull request #288 from irssi/ahf/kill-gc
Remove Garbage Collection support.
2015-09-20 16:49:48 -03:00
Alexander Færøy
519955ebe4
Fix warning.
Add comment on the use of ??) in C, since that string isn't entirely
obvious to people who are reading the code.
2015-09-20 21:45:33 +02:00
Alexander Færøy
29cf546ee4
Remove Garbage Collection support.
GC support was never enabled by default and nobody in the current
development team seems to care about it.
2015-09-20 21:28:14 +02:00
Alexander Færøy
be977bf1b7
Fix warning. 2015-09-20 21:21:40 +02:00
Alexander Færøy
1079ad46d2
Use g_string_append() instead of g_string_append_c() for string. 2015-09-20 21:12:07 +02:00
Alexander Færøy
ca363efe00
Use g_string_append() instead of g_string_append_c() for string. 2015-09-20 21:01:25 +02:00
LemonBoy
06040fb30b Merge remote-tracking branch 'origin' into sasl 2015-09-19 23:58:16 +02:00
Jari Matilainen
9586766d87 Add setting to configure rejoin on reconnect behaviour
Closes #169
2015-09-19 18:34:05 -03:00
ailin-nemui
efc8f5f187 Merge pull request #283 from LemonBoy/unset-crnl
Clear the ICRNL flag
2015-09-19 23:09:29 +02:00
dx
9556062a9d Merge pull request #286 from dequis/missing-fe-irc-channels-include
Add two missing #include "fe-irc-channels.h"
2015-09-19 17:02:11 -03:00
Geert Hauwaerts
3e7c8a6f26 Merge pull request #284 from ailin-nemui/document-perl-crashes
Document some shortcomings in perl.txt
2015-09-19 13:24:19 +02:00
LemonBoy
061fb34750 Modify the terminal initialization sequence
We disable the ICRNL flag to make Enter independent from ^J from the
keybinding point of view since the former will now send ^M, leaving the
user free to remap ^J without trapping itself into the irssi session
because of a broken Enter key.
Also disable the software flow control because we don't expect anyone to
run irssi over a serial console; we gain some more freedom by having ^Q
and ^S freely mappable by the user.
2015-09-19 12:22:58 +02:00
dequis
f37f6ac0ed Add two missing #include "fe-irc-channels.h"
Fixes #285
2015-09-18 23:56:17 -03:00
ailin-nemui
2b13e793c4 Merge pull request #259 from dequis/irssiproxy
Updates for irssiproxy
2015-09-19 02:53:25 +02:00
ailin-nemui
54a2fafbde Update perl.txt 2015-09-18 23:33:52 +02:00
LemonBoy
24d32c28ee Don't handle 908 as a critical failure
"if the mechanism is unknown, 908 is optional, 904 (or equivalent error condition) is required"
2015-09-11 23:21:33 +02:00
LemonBoy
49c4ea5fd9 Parse the error string received by the server
So that in case of SASL failure the user sees a nice error message.
2015-09-11 23:20:07 +02:00
LemonBoy
1f114d75c6 Consider the SASL handshake successful on 903 2015-09-11 23:17:46 +02:00
LemonBoy
55387dd93d Handle event 906 and 908 2015-09-11 22:23:38 +02:00
LemonBoy
6645d0d38d Explicitly set the authorization id during the PLAIN handshake
On error show the user the message sent by the server.
2015-09-11 22:09:47 +02:00
LemonBoy
171b67441d Replace spaces with tabs 2015-09-11 01:17:18 +02:00
LemonBoy
c90c7deac3 Address all the points outlined in the first review
Replace G_SOURCE_REMOVE with FALSE for the compatibility sake.
Zero the timeout id after g_source_remove and when exipred.
Save the sasl_* options in sig_chatnet_saved().
2015-09-11 01:07:43 +02:00
LemonBoy
b8d3301d34 SASL support
The only supported methods are PLAIN and EXTERNAL, the latter is untested as of
now.
The code gets the values from the keys named sasl_{mechanism,username,password}
specified for each chatnet.
2015-09-11 00:30:16 +02:00
Alexander Færøy
7b46dae182 Merge pull request #248 from LemonBoy/chantypes
Implement CHANTYPES support
2015-09-10 01:37:08 +02:00
LemonBoy
4346c2a6d4 Move the function prototypes in a separate header 2015-09-09 23:55:00 +02:00
Alexander Færøy
762c1d7f2c Merge pull request #276 from LemonBoy/terminfo-application-mode
Send smkx/rmkx sequence at terminal init
2015-09-09 22:55:24 +02:00
Alexander Færøy
a8ec9aa3d8 Merge pull request #275 from LemonBoy/cap-support-nitpicks
Fix two minor issues outlined in the PR#222
2015-09-09 22:51:40 +02:00
LemonBoy
b5b73cb471 Send smkx/rmkx sequence at terminal init
Enter the "application" mode when setting up the terminal, this improves the
compatiblity with the standards; as a side effect now DEL key works ootb when
irssi is run in the suckless's st terminal.
2015-09-06 15:47:08 +02:00
LemonBoy
21c1e4e9f8 Fix two minor issues outlined in the PR#222
irc-cap.c has now a licence header.
A minor style fix in misc.c
2015-09-02 22:40:10 +02:00
LemonBoy
57d645f246 Introduce some more chantypes awareness 2015-09-02 21:50:40 +02:00
LemonBoy
35d30c19a1 Whitespace fix 2015-09-02 20:24:47 +02:00
kyak
2f9cca8ec6 Remove extra line break
How did this extra break cripple in here?
2015-08-29 15:40:17 +03:00
kyak
b065f2a011 Use HOST_NAME_MAX for userhost and hostname expandos
Use HOST_NAME_MAX instead of hardcoded 100 for userhost
and hostname expandos.
2015-08-29 15:36:05 +03:00
kyak
b7d82ecdce Use "(none)" as fallback for hostname and userhost expandos
Use "(none)" instead of "??" for hostname and userhost expandos
when these can't be reliably detected.
2015-08-29 15:32:22 +03:00
kyak
19760679eb In expando_hostname, set *free_ret to TRUE
*free_ret must be set to TRUE in both cases, since we return
some newly initialised memory
2015-08-29 15:29:57 +03:00
kyak
0435331912 Clean up in hostname expando before return
Clean up the vector resulting from g_strsplit before
returning from expando_hostname(). Also, use g_strdup()
instead of g_strconcat() to return the pointer to hostname.
2015-08-26 09:34:48 +03:00
Alexander Færøy
e948aaa4ba Merge pull request #263 from ailin-nemui/git-clone-check
Introduce check for git commands in autogen
2015-08-24 22:27:51 +02:00
Alexander Færøy
d2c9f30977 Merge pull request #222 from LemonBoy/cap-support
[RFC] CAP support
2015-08-24 22:22:01 +02:00
LemonBoy
b0e7c18376 Send the CAP LS after sending the proxy strings
Patch by @dequis
2015-08-20 23:37:34 +02:00
Geert Hauwaerts
14c7c0484c Merge pull request #269 from blha303/master
Replace \n with \r\n in irssiproxy source, fixes bug
2015-07-28 18:48:04 +02:00
blha303
92d03fe11e Replace \n with \r\n in irssiproxy source, fixes bug 2015-07-25 02:41:26 -04:00
kyak
8e71d6ec73 Add expandos for hostname
See http://bugs.irssi.org/index.php?do=details&task_id=829
2015-07-19 09:45:50 +03:00
Ailin Nemui
a393c67540 Introduce check for git commands in autogen
This avoids a misleading compile error when users try to `make` an
incomplete (or non-git) check-out.
2015-07-09 14:20:30 +02:00
dequis
51496cd09f Fix 'address already in use' when changing irssiproxy_ports
When changing the value of irssiproxy_ports to use a different network
name in a port that was already bound (so like changing from asd=6667 to
sdf=6667) it would throw "address already in use".

This fixes it by delaying the add_listen() calls after all the
remove_listen() were called.
2015-06-14 17:00:35 -03:00
dequis
a47f45b5b7 Rename /proxy command to /irssiproxy for clarity 2015-06-14 11:57:11 -03:00
dequis
29fb0d9802 Merge branch 'master' into irssiproxy
Conflicts:
	src/irc/proxy/listen.c
2015-06-14 10:42:41 -03:00
Geert Hauwaerts
6fcafc5993 1k+ windows are now the default formatting (#223)
1k+ windows are now the default formatting (#223)
2015-06-12 21:13:45 +02:00
Geert Hauwaerts
fb5513ef4a Merge pull request #257 from GeertHauwaerts/master
Clarify the help for /LIST (#228)
2015-06-12 20:48:50 +02:00
Geert Hauwaerts
b90402b7fc Proper removal of sb_search.pl (#143)
Proper removal of sb_search.pl (#143)
2015-06-12 20:44:32 +02:00
Geert Hauwaerts
e2eb2483b7 Updated the man page (#251)
Updated the man page (#251)
2015-06-12 20:41:47 +02:00
Geert Hauwaerts
a663d2f674 Updated the bundled scripts to their latest version (#143)
Updated the bundled scripts to their latest version (#143)

Removed sb_search.pl which is not contributed into the script archive, I
will poke coekie about it.
2015-06-12 19:40:15 +02:00
Geert Hauwaerts
788f181ecb Merge pull request #258 from irssi/revert-232-master
Revert "Bug fix - docdir is ignored during installation."
2015-06-12 19:06:48 +02:00
Geert Hauwaerts
d222c11f74 Revert "Bug fix - docdir is ignored during installation." 2015-06-12 18:50:55 +02:00
Geert Hauwaerts
4cc6fdaaab Add server check in irc_server_connect (#208)
Fail instead of crash, if irc_server_connect is called without object.
(#208)
2015-06-12 17:44:13 +02:00
Geert Hauwaerts
a79f150a76 Clarify the help for /LIST (#228)
Clarify the help for /LIST (#228)
2015-06-12 17:23:49 +02:00
Geert Hauwaerts
01510b7d9e Merge pull request #247 from FreeFull/patch-1
lastlog doc fix
2015-06-12 16:44:07 +02:00
Geert Hauwaerts
7978d58202 Merge pull request #252 from ailin-nemui/patch-2
Update sb_search.pl
2015-06-12 16:43:43 +02:00
LemonBoy
e480b9b165 Improve ischannel_func (#253)
The function now skips all the leading characters that are in the STATUSMSG. If
the server didn't send the STATUSMSG option then it's assumed to be "@+" for
compatibility with bahamut 2.4 (sic).
2015-05-31 15:30:21 +02:00
ailin-nemui
fa782ae6bc Update sb_search.pl
make it easier to bind sb search to a key
2015-05-29 14:09:55 +02:00
LemonBoy
16c71cf1fb Implement CHANTYPES support 2015-05-15 17:07:30 +02:00
Filip Szczepański
ae742f3f13 lastlog doc fix
Only the filename can come right after `-file`. Having `-force` in that position causes an `Irssi: Could not open lastlog: No such file or directory` error.
2015-05-14 13:06:50 +01:00
LemonBoy
2d7030a844 Implement support for IRCv3.1 CAP negotiation 2015-05-05 23:14:26 +02:00
Alexander Færøy
c122a2a226 Merge pull request #241 from pstray/master
Change a hash lookup so it compiles
2015-04-21 00:17:40 +02:00
Alexander Færøy
9540a60c52 Merge pull request #232 from dimkr/master
Bug fix - docdir is ignored during installation.
2015-04-21 00:14:39 +02:00
Peder Stray
6b56f098e9 Change g_hash_table_contains() for compatibility with glib < 2.32 2015-04-20 08:01:01 +02:00
Alexander Færøy
c7b428bdaf Merge pull request #240 from hloeung/master
trivial: Minor cosmetic changes fixing docs as per review from ahf.
2015-04-18 16:25:18 +02:00
Haw Loeung
9f77dd802d trivial: Minor cosmetic changes fixing docs as per review from ahf. 2015-04-18 13:53:07 +10:00
Alexander Færøy
eb0f09073c Merge pull request #199 from ailin-nemui/config-parser
Make config parser more robust
2015-04-17 21:23:03 +02:00
Alexander Færøy
03be2861dc Merge pull request #235 from dequis/g_strcmp0
Change all strcmp() to g_strcmp0() to handle nulls gracefully
2015-04-17 21:13:18 +02:00
Alexander Færøy
ef5ac430c7 Merge pull request #238 from hloeung/master
ssl: Add option to specify SSL cipher suite preference list
2015-04-17 21:10:00 +02:00
Haw Loeung
349ed35ce0 ssl: Fixed call to SSL_CTX_set_cipher_list() only when ssl_ciphers specified and warn when no cipher suite could be selected. 2015-04-15 00:44:07 +10:00
Haw Loeung
50e955e342 ssl: Add option to specify SSL cipher suite preference. 2015-04-14 18:07:35 +10:00
dequis
9890daca79 Handle nulls properly in the g_strcmp0() for glib<2.16
I wrote some tests to compare the behavior but I don't know where to put
them, so i'm including them here:

    assert(g_strcmp0("a", "b") == -1);
    assert(g_strcmp0(NULL, "a") == -1);
    assert(g_strcmp0("a", NULL) == 1);
    assert(g_strcmp0("b", "a") == 1);
    assert(g_strcmp0("a", "a") == 0);
    assert(g_strcmp0(NULL, NULL) == 0);
2015-04-11 15:09:53 -03:00
dequis
ef0877f484 Define g_strcmp0 to strcmp if the glib version is older than 2.16 2015-04-07 23:01:09 -03:00
dequis
f14199d9c1 Change all strcmp() to g_strcmp0() to handle nulls gracefully
Just a string replacement (but i did check every one of them)

    sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
2015-04-07 22:41:05 -03:00
Alexander Færøy
9ffe52ec5e Merge pull request #233 from dgl/hilight-fix
Make sure NO_ACT isn't cleared when -actcolor %n is used
2015-04-08 03:32:45 +02:00
Alexander Færøy
8d2ea2d7ce Merge pull request #234 from Adam-/master+sni
Add SNI support
2015-04-07 21:19:43 +02:00
Adam
28aaa653cf Add SNI support 2015-04-07 15:01:57 -04:00
David Leadbeater
f5331a3df5 Make sure NO_ACT isn't cleared when -actcolor %n is used
Fixes issue #227.
2015-04-07 10:26:28 +01:00
Dima Krasner
be8c3c378a Bug fix - docdir is ignored during installation. 2015-04-07 12:14:20 +03:00
Alexander Færøy
ac5aebb91f Merge pull request #217 from Lohhari/lastlog-date
Added a -date parameter to /lastlog to prepend each row with the ...
2015-03-01 11:44:28 +01:00
Hans Nielsen
7beffbdcc5 Add help files for proxy module 2015-02-24 19:53:23 -08:00
Hans Nielsen
bbf404b611 Fix whitespace 2015-02-24 19:53:23 -08:00
Hans Nielsen
178d595c96 Add port to proxy client struct for Perl scripts 2015-02-24 19:53:23 -08:00
Hans Nielsen
ee3f059e6d Update proxy documentation with changes 2015-02-24 19:52:17 -08:00
Hans Nielsen
6a28bad814 Add boolean toggle for irssiproxy being enabled 2015-02-24 19:52:17 -08:00
Hans Nielsen
aaa0f73eac Make proxy messages include more detail and add status command 2015-02-24 19:52:17 -08:00
Hans Nielsen
d27c54486f Change around connection signals in proxy module
Change "proxy client connected" to "proxy client connecting" to avoid being confused by clients that have connected but not necessarily authenticated. Emit "proxy client connected" once authenticated, keeping the name for backwards compatibility.
2015-02-24 19:52:17 -08:00
Alexander Færøy
1f87dd361e Merge pull request #226 from ailin-nemui/scriptassist
Sync from scripts: Fix scriptassist broken on unload
2015-02-21 11:59:59 +01:00
Ailin Nemui
6ce8a64118 Fix scriptassist broken on unload
This is a regression introduced in
c5ad61b4b0 where one `defined' statement
got removed in error while cleaning up warnings.
2015-02-20 23:17:23 +01:00
Alexander Færøy
8657cd22cf Merge pull request #225 from dequis/silence-unused-value-warnings
Silence unused value warnings in perl binding code
2015-02-17 11:04:49 +01:00
Ailin Nemui
ee3eaa5428 fix crash in layout code when encountering wrong config 2015-02-17 09:50:55 +01:00
Ailin Nemui
fef25d6a35 Make the config parser more robust
We add some additional checks into the config parser's
node_section_index, node_traverse and node_set_str functions. In
particular, we check if the requested node is of scalar or complex type
and whether this matches the value found in the config. If it does not
match, then a warning is issued appropriately and the config is
corrected.
2015-02-17 09:50:55 +01:00
Ailin Nemui
1e4f7e6324 Refuse to load broken configs on irssi start
By temporarily raising the fatal log level to critical during irssi
start-up, we make it fail when the config file is broken. This is then
re-set so that /reload of a broken config file will not crash irssi and
just report the errors and gracefully continue instead.
2015-02-17 09:50:55 +01:00
Ailin Nemui
af6b789d2a Warn the user instead of crashing on wrong config
The change introduced in #191 will crash irssi immediately if you
accidentally try to /reload certain broken config files. It is enough to
warn the user in this case, so we turn g_error into g_critical.
2015-02-17 09:50:55 +01:00
Ailin Nemui
96d4fb9156 add CONFIG_REC to config_node_section* APIs
this adds the CONFIG_REC * to the config_node_section and
config_node_section_index APIs as they will require access to the config
cache later on to make the config parser more robust.
2015-02-17 09:50:55 +01:00
Alexander Færøy
6b08cbe906 Merge pull request #124 from dgl/git-version
Include commit and if the tree is dirty in builds of -head versions
2015-02-17 01:10:38 +01:00
Alexander Færøy
8e64aee42a Merge pull request #115 from ailin-nemui/fix-hat-key
Make ^ key and Ctrl+^ key usable with /BIND
2015-02-16 22:15:04 +01:00
dequis
8e8bc5fdbc Silence unused value warnings in perl binding code
sed -i 's/hv_store/(void) &/'

This only results in a warning in older gcc versions, but that includes
the one used in the Travis CI environment by default
2015-02-16 13:45:14 -03:00
Alexander Færøy
dd58bd5f7b Merge pull request #218 from mauke/patch-1
accept freenode extbans in /ban [#150]
2015-02-16 17:28:08 +01:00
Vesa Pirila
895ac10c4e lastlog.c is a mix of tab and space indentation. My changes now use tabs. 2015-02-16 09:49:22 +02:00
Alexandre Morignot
dee7825f05 handle an already used nick different from the one we send 2015-02-10 16:37:41 +01:00
mauke
b4b4ebfadf accept freenode extbans in /ban [#150] 2015-02-08 22:16:01 +01:00
Vesa Pirila
cd5a571fd8 Added customization possibility for the lastlog date format, lastlog_date 2015-02-08 16:58:30 +02:00
Vesa Pirila
466166010b Added a -date parameter to /lastlog to prepend each row with the row's date 2015-02-08 13:00:51 +02:00
Geert Hauwaerts
e2462b7839 Merge pull request #214 from pierrot14/master
Fix comment in default.theme: msgownnick -> ownnick
2015-02-01 23:39:15 +01:00
Pablo Martín Báez Echevarría
378cab29f4 Fix comment in default.theme: msgownnick -> ownnick 2015-02-01 20:24:05 -02:00
Geert Hauwaerts
93ef4d0aa6 Merge pull request #213 from ailin-nemui/patch-1
Fix the lastlog help
2015-02-01 22:51:49 +01:00
ailin-nemui
a26a909af0 Fix the lastlog help
Correct some confusing inaccuracies and document a parameters that got lost on the rewrite.
2015-02-01 19:21:59 +01:00
Geert Hauwaerts
dff7e049b8 Merge pull request #212 from dequis/lastleg
/help lastlog: Clarify usage of -<level> parameter
2015-01-31 16:40:18 +01:00
dequis
7ca9c86445 /help lastlog: Clarify usage of -<level> parameter 2015-01-31 11:49:01 -03:00
Alexander Færøy
2027e73977 Merge pull request #204 from KindOne-/master
Do not let the ctcp action of an inital query go into the status window.
2015-01-17 23:33:32 +01:00
KindOne
4bf9e1f16a Do not let the ctcp action of an inital query go into the status window. 2015-01-17 08:11:10 -05:00
Geert Hauwaerts
b1de3c3f38 Merge pull request #202 from incognico/remove-splitlong-pl
Remove splitlong.pl, it is enabled natively (#1)
2015-01-13 19:26:19 +01:00
Nico R. Wohlgemuth
dfc65d959e Remove splitlong.pl, it is enabled natively (#1) 2015-01-13 18:44:16 +01:00
Alexander Færøy
b2fe861156 Merge pull request #191 from dgl/config-error
Die if the wrong type of node is found when traversing config
2015-01-05 01:05:14 +01:00
Alexander Færøy
9abdeb8611 Merge pull request #152 from sebth/master
Try to split long lines on spaces
2015-01-05 01:03:58 +01:00
Alexander Færøy
1136ea915a Merge pull request #164 from ailin-nemui/fix-ansi-reset
Fix reset of attributes with ansi
2014-12-16 20:41:22 +01:00
Alexander Færøy
89cdcecf76 Merge pull request #133 from pjcj/master
Speed up /reload when there are many ignores.
2014-12-16 20:39:33 +01:00
Alexander Færøy
cd7a30bf9a Merge pull request #189 from dequis/colorless-green-ideas-blink-furiously
Fix blinking/bold text in terminals with no color support
2014-12-16 20:28:56 +01:00
Alexander Færøy
bbf84d41a4 Merge pull request #107 from mmuman/lynx-references
Include references when generating FAQ with Lynx
2014-12-16 19:47:23 +01:00
Alexander Færøy
1c4495ec77 Merge pull request #108 from mmuman/buildsystem-cleanup
Buildsystem cleanup
2014-12-16 19:44:20 +01:00
David Leadbeater
db62ddfd55 Die if the wrong type of node is found when traversing config
Fixes issue #187. It's a bit annoying this can't do anything other than
exit, however as there's no schema for the config it's only possible to
validate on use. This level of config can't be accessed from Perl so a
script can't cause Irssi to die (via this method at least).
2014-12-16 12:14:23 +00:00
dequis
367d8efc5f Fix blinking/bold text in terminals with no color support
Before this, doing "TERM=vt100 irssi" showed all text as bold and
blinking because of a failed check of window->term->TI_colors that
was doing (value & 8) and not expecting a value of 0.

The changed lines themselves look a bit weird, but they make more sense
in the context of the original commit, 96a292d4.
2014-12-14 18:21:40 -03:00
Alexander Færøy
1f2b171819 Merge pull request #92 from ailin-nemui/travis-perlbrew-up
test newer perls now available on travis
2014-12-11 23:26:40 +01:00
Geert Hauwaerts
08b390b11b Documentation fix for #185
Documentation fix for #185
2014-12-08 21:28:02 +01:00
Alexander Færøy
dbcfb7060b Merge pull request #161 from anadrome/patch-1
Update old bug URLs
2014-12-06 16:12:03 +01:00
Alexander Færøy
d87c494d89 Merge pull request #162 from dequis/self-messages
Receive 'self messages' in the right query window
2014-12-06 16:11:15 +01:00
Alexander Færøy
bbd7333924 Merge pull request #171 from vlajos/typofixes-vlajos-20141108
typo fixes - https://github.com/vlajos/misspell_fixer
2014-12-06 16:09:11 +01:00
Geert Hauwaerts
c01e026c73 Merge pull request #178 from guiniol/master
Correctly parse unix sockets servers in the config
2014-12-03 16:58:35 +01:00
Guillaume BROGI
86d263dd7d Check for unix sockets when reconnecting 2014-12-03 14:38:01 +01:00
Geert Hauwaerts
8c477f498a Merge pull request #176 from dequis/ssl-pass-doc-fix
Fix -ssl_pass documentation in /server and /connect
2014-11-26 17:34:31 +01:00
Guillaume BROGI
f0a6e5f82a Correctly parse unix sockets servers in the config 2014-11-20 17:01:07 +01:00
dequis
0bba34bbe9 Fix -ssl_pass documentation in /server and /connect
Copied text from 68f8229 (SVN r5231)
2014-11-14 03:46:02 -03:00
Ailin Nemui
b03805eeb9 reimplement format and length logic for the entry prompt 2014-11-10 10:53:14 +01:00
Veres Lajos
f285332c5b typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-08 22:26:53 +00:00
Ailin Nemui
77a90effe3 Fix reset of attributes with ansi
reported by Christopher Ohlsson (dmnc)
2014-10-28 10:50:26 +01:00
Alexander Færøy
688fc817dd Merge pull request #163 from lewellyn/patch-1
Remove duplicate example from ignore.in
2014-10-27 12:37:54 +01:00
Matt Lewandowsky
3ea2a8dab8 Remove duplicate example from ignore.in
Duplicated line inserted in commit 66f5fb6. Reported by @sharethebug on IRC.
2014-10-27 03:44:28 -07:00
dequis
1edfcedda1 Receive 'self messages' in the right query window
Original patch by hondza <sedaj2@gmail.com>, from FS#833. I applied
several needed style changes, and rebased to current HEAD.

This implements the IRCv3.2 self-message extension partially (we can't
announce its support through CAP yet). This is also the format used by
the 'privmsg' znc module, and is already implemented by several other
clients.
2014-10-26 00:33:20 -03:00
mjn
8e29a70a82 Update old bug URLs
At some point in the past few years, Flyspray changed its URL scheme from id=nnn to task_id=nnn, which broke some old comments in the source. Update those comments to URLs that still work.
2014-10-25 17:00:27 +02:00
tomaw
65a2ff6459 Merge pull request #155 from dgl/server-remove
Actually fix the params for /SERVER REMOVE
2014-10-20 21:16:36 +01:00
David Leadbeater
7938af8092 Actually fix the params for /SERVER REMOVE 2014-10-20 21:11:20 +01:00
Sebastian Thorarensen
f81a54b937 Try to split long lines on spaces
Try to split long lines on spaces to avoid words being splitted. This
can be turned off with the option `split_line_on_space'. The code
assumes that the terminal encoding has ASCII spaces.
2014-10-19 17:03:20 +02:00
Geert Hauwaerts
31ee20e559 Merge pull request #153 from dequis/help-server-remove-fix
Tiny fix to the param order in the /SERVER REMOVE help
2014-10-16 09:27:06 +02:00
dequis
7847bdf67c Tiny fix to the param order in the /SERVER REMOVE help 2014-10-15 23:52:55 -03:00
Alexander Færøy
136efda1bc Add NEWS entry on SSLv3 2014-10-15 20:14:17 +02:00
Alexander Færøy
8bd575df2e Disable SSLv3 2014-10-15 10:00:30 +02:00
Alexander Færøy
971b1e57ab Add header for v0.8.18-head 2014-10-11 12:16:43 +02:00
Alexander Færøy
10078407f6 Remove unnecessary NULL check
Fixes: #135
2014-10-11 12:13:22 +02:00
Alexander Færøy
3f50b8f2ad HEAD's now 0.8.18-head. 2014-10-11 11:12:43 +02:00
Alexander Færøy
df1df75ca2 Prepare for 0.8.17 2014-10-11 10:44:46 +02:00
Alexander Færøy
ec0360b921 Merge pull request #147 from ahf/bugfix-143
Fix use-after-free bug with cached settings values
2014-10-06 20:43:01 +02:00
Alexander Færøy
3d6051a03e Merge pull request #140 from sebth/master
Make line splitting fail-safe
2014-10-01 21:55:56 +02:00
Alexander Færøy
a2121efed3 Merge pull request #142 from dequis/away-with-no-reason
irc_server_send_away: don't send empty param if there's no away reason
2014-10-01 21:54:00 +02:00
Alexander Færøy
d9ea224628 Fix use-after-free bug with cached settings values
This patch fixes a couple of use-after-free bugs when caching various
string related setting values.

Fixes: #143
2014-09-30 18:07:13 +02:00
Geert Hauwaerts
6884a74b29 Merge pull request #144 from jubalh/master
source cleanup: remove trailing whitespaces
2014-09-11 20:20:49 +02:00
Michael Vetter
51239925ec source cleanup: remove trailing whitespaces 2014-09-11 19:10:33 +02:00
Ailin Nemui
98435fb464 support storing and replaying the monospace attribute in textbuffer 2014-09-11 18:15:06 +02:00
dequis
d68ee06aa4 irc_server_send_away: don't send empty param if there's no away reason 2014-09-09 21:14:07 -03:00
Sebastian Thorarensen
42a34a78e8 Make line splitting fail-safe
The userhost Irssi uses for line splitting can in some cases be wrong,
for instance when a proxy is used or when a server cloaks the hostname
without telling the client. Now Irssi always assumes the userhost is of
maximum length. 10 for username (common value) and 63 for hostname (in
RFC 2812).
2014-09-01 00:24:17 +02:00
Alexander Færøy
503cbeb330 Head is now 0.8.17-head. 2014-08-31 18:35:15 +02:00
Alexander Færøy
56bd481974 Prepare for irssi 0.8.17-rc2. 2014-08-31 18:34:30 +02:00
Alexander Færøy
16784756b8 Merge pull request #134 from ailin-nemui/missing-printtext-after-signal
Add the signal for printtext_after that was missed in the original commit.
2014-08-26 21:49:43 +02:00
Ailin Nemui
9f6c76b028 Add the signal for printtext_after that was missed in the original commit.
Now properly sends "gui print text after finished" signal when using
the printtext_after API that was fixed after 0.8.16
2014-08-25 14:50:41 +02:00
Paul Johnson
d9deafe57c Speed up /reload when there are many ignores.
With many ignores (a few thousand) /reload could take so long that connections
were dropped.  The problem is that nickmatch_rebuild() was being called for
every ignore.  The easy solution is to only call it once at the end.
2014-08-23 21:08:17 +02:00
David Leadbeater
1b3e74645a Include commit and if the tree is dirty in builds of -head versions 2014-08-09 12:05:28 +01:00
Alexander Færøy
d40c0704f0 Merge pull request #123 from ailin-nemui/terminfo-scroll-check-bounds
Add bounds check to array access in terminfo driver.
2014-08-09 12:24:45 +02:00
Ailin Nemui
836d386823 Add bounds check to array access in terminfo driver.
this fixes a crash due to illegal memory access that can occur if
something is printed to the screen on the "terminal resized"
handler. It is not clear to me whether this race condition can be
triggered by external incoming messages, but it might be better safe
than sorry.
2014-08-09 11:40:37 +02:00
tomaw
2346d3b62f Merge pull request #109 from cpbills/master
Fix right aligned statusbar item redrawing
2014-08-08 18:57:50 +01:00
Geert Hauwaerts
22d4dc729e Updated ALIAS help
Updated ALIAS help.
2014-08-07 23:36:53 +02:00
Geert Hauwaerts
71ab0fbda6 Applied grammar and styling corrections
Applied grammar and styling corrections.
2014-08-07 22:00:40 +02:00
Geert Hauwaerts
f0aa2d2049 Syntax rewrite of U-Z commands
Rewrote the syntax documentation of U-Z commands.
2014-08-05 22:00:30 +02:00
Alexander Færøy
b9f532568b Merge pull request #118 from ailin-nemui/mirc_blink_fix-fix
fix mirc_blink_fix
2014-08-05 21:21:37 +02:00
Alexander Færøy
18a0cfa915 Merge pull request #121 from dgl/rawlog-fix
Fix rawlog saving after dac67a5 broke it
2014-08-05 21:21:02 +02:00
David Leadbeater
1dbc3dba78 Fix rawlog saving after dac67a5 broke it 2014-08-05 17:33:50 +01:00
Ailin Nemui
b602372e78 fix mirc_blink_fix
the background colours were totally off with mirc_blink_fix
enabled. oops.

reported by wodim
2014-07-31 03:09:19 +02:00
Geert Hauwaerts
1933c92532 Fixed a typo in the cmdmax argument
Fixed a typo in the cmdmax argument.
2014-07-30 23:27:41 +02:00
Geert Hauwaerts
a775a7c229 Updated the documentation for LIST
Updated the documentation for LIST.
2014-07-30 23:12:39 +02:00
Geert Hauwaerts
5a4e535cd7 Merge pull request #112 from ailin-nemui/italics-exception
fix rules for italics emphasis
2014-07-30 22:24:24 +02:00
Geert Hauwaerts
0836e59179 Removed the default autojoin channels
Removed the default autojoin channels.
2014-07-30 22:21:37 +02:00
Ailin Nemui
a057cfecf7 test newer perls now available on travis 2014-07-30 14:40:17 +02:00
Geert Hauwaerts
822db3090f Syntax rewrite for S-commands
Rewrote the syntax documentation for all commands starting with S.
2014-07-30 14:29:06 +02:00
Geert Hauwaerts
4beebe3238 Removed the obsolete SQUERY and SERVLIST commands
Removed the obsolete SQUERY and SERVLIST commands.
2014-07-30 13:02:26 +02:00
Ailin Nemui
09f23d06b5 Modify escape of ^ key so it can be used as well as Ctrl+^
Fixes FS#721

This makes Ctrl+^ and ^ bindable again as different keys. We do this
by escaping single `^` as `^-`, which is not a valid control character
(unlike `^^`)

The original approach suggested in FS#721 is insufficient, it will
break bindings such as `meta-^` because Irssi is convinced that `^`
introduces a Control-key ("key combo") so it is waiting for what may
follow.
2014-07-28 13:58:13 +02:00
tomaw
cb6266f212 Fix typo in help for network command 2014-07-25 17:05:19 +01:00
Geert Hauwaerts
924f261448 Merge pull request #111 from ailin-nemui/colour-break
fix colour 0 again
2014-07-24 21:52:01 +02:00
François Revol
9d4ea891b9 Also try links for docs generation
Haiku has links (links2) but not elinks.

Links doesn't seem to generate references however,
but it's the 2nd fallback so it's better than nothing.
2014-07-24 10:41:46 +02:00
Ailin Nemui
07e37c2329 fix rules for italics emphasis
while the last patch did stop /path/.xxx from turning italic, it also
stopped any other /emphasis/ from becoming italic. correct this by
testing for ispunct, so spaces are valid italic terminators
2014-07-24 09:42:57 +02:00
Ailin Nemui
1cf7017ac9 fix colour 0 again
the previous commit was broken, as it conflicted with the colour
\#000000. Now both the "real colour black" and the "terminal colour 0"
are working.
2014-07-24 00:11:42 +02:00
Geert Hauwaerts
e7f83c1dd2 Merge pull request #110 from ailin-nemui/colour-break
restore the colour 0 ("black") that got broken by extended colours
2014-07-23 23:58:22 +02:00
Ailin Nemui
41fab0707f restore the colour 0 ("black") that got broken by extended colours
the colour 0 was broken by the extended colours patch because it needs
an explicit bit check (lower bits will be false since it is 0)

Thanks to lhynes for the report
2014-07-23 23:42:05 +02:00
Christopher P. Bills
6a5f04b26a Fix right aligned statusbar item redrawing
Fixes Github issue #97 https://github.com/irssi/irssi/issues/97

Fix proposed by ailin-nemui, built and tested on Debian Jessie using
0.8.15 source, tested by GeertHauwaerts as well.
2014-07-22 22:03:46 -04:00
François Revol
c855fef064 Drop AC_ISC_POSIX which is obsolete
It's actually a NOOP in latest autoconf.

cf.
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html#index-AC_005fISC_005fPOSIX-2084
2014-07-22 23:14:12 +02:00
François Revol
1f9ad64ee5 Simplify socklen_t type detection
The previous version of AC_CHECK_TYPE() which didn't accept passing headers
is obsolete anyway. The new one can be told which headers to include.

Also test for sys/socket.h just for sanity.

cf.
https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html
https://www.gnu.org/software/autoconf/manual/autoconf-2.64/html_node/Generic-Types.html
https://svn.opendnssec.org/home/jerry/memory-usage/ldns-1.6.10/acx_nlnetlabs.m4
2014-07-22 22:50:42 +02:00
François Revol
9af3df4e9d Simplify network libraries detection with AC_SEARCH_LIBS
AC_SEARCH_LIBS first tries to link without any lib, then tries each
library, and sets $LIBS correctly in any case.

cf.
https://www.flameeyes.eu/autotools-mythbuster/autoconf/finding.html
2014-07-22 21:59:31 +02:00
François Revol
103b0e22eb Force default locale when calling lynx
Else it ends up saying "Références" or other translation for the word.

Might want to do the same for elinks...
2014-07-22 19:59:29 +02:00
François Revol
7099ae0466 Disable -nolinks for lynx-generated text FAQ
This way lynx also emits URLs for references at the bottom,
like elinks does.

The formating is a little different though (word wrapping),
and elinks adds a "Visible links" line as well.
2014-07-22 19:57:48 +02:00
Alexander Færøy
5ddf127f6d Merge pull request #100 from ailin-nemui/24bit-uninitialised
fix uninitialised copy on 24bit colours
2014-07-20 19:37:37 +02:00
Ailin Nemui
8e062b7bd0 fix uninitialised copy on 24bit colours 2014-07-18 13:56:02 +02:00
Geert Hauwaerts
6e68b83723 Syntax rewrite for R-commands
Rewrote the syntax documentation for all commands starting with the
letter R.
2014-07-15 19:52:56 +02:00
Geert Hauwaerts
dde8540e3e Removed the obsolete RPING command
The RPING command is obsolete.
2014-07-14 20:38:01 +02:00
Geert Hauwaerts
a5154c4e77 Fixing a typo
Fixing a typo.
2014-07-14 13:19:31 +02:00
Alexander Færøy
58b42997ff Merge pull request #96 from dgl/news-update
Update NEWS
2014-07-13 21:27:10 +02:00
Alexander Færøy
cb1d3580fe irssi-version.h should only be a phony target if build in maintainer mode 2014-07-13 21:24:36 +02:00
David Leadbeater
16743c5c13 Update NEWS 2014-07-13 20:01:08 +01:00
Geert Hauwaerts
fcee49a441 Fixed an example of QUOTE
Fixed an example of QUOTE
2014-07-13 14:10:40 +02:00
Geert Hauwaerts
d023d7d839 Merge pull request #94 from dajohi/uninitialized
Avoid using uninitalized values.
2014-07-12 22:41:28 +02:00
David Hill
6e45d68399 Avoid using uninitalized values. 2014-07-12 16:35:42 -04:00
Geert Hauwaerts
9fd1e2f5da Syntax documentation rewrite for Q-commands
Rewrote the syntax documentation for all commands starting with the
letter Q.
2014-07-12 18:46:44 +02:00
Geert Hauwaerts
ee80ed16cb Aligned the help for DEOP, DEVOICE and OP
Aligned the help for DEOP, DEVOICE and OP
2014-07-11 16:32:20 +02:00
Geert Hauwaerts
d460ba48d1 Syntax documentation rewrite of O and P commands
Rewrote the syntax documentation of the commands starting with the
letters O and P.
2014-07-10 20:43:52 +02:00
Geert Hauwaerts
938598e271 Removed the obsolete NOTE command
I removed the binding for the NOTE command that doesn't exist anymore on
any major network.
2014-07-09 18:33:10 +02:00
Geert Hauwaerts
8014fd2cb0 Syntax documentation rewrite for N-commands.
Rewrote the syntax documentation for all commands starting with the
letter N.
2014-07-09 18:21:39 +02:00
Alexander Færøy
c8dd54c2f6 Merge pull request #90 from ailin-nemui/italics-exception
more strict rules for italic emphasis to avoid file name clashes
2014-07-08 21:10:01 +02:00
Geert Hauwaerts
7ee7bf79ed Syntax documentation rewrite for M-commands
Rewrote the syntax documentation for all commands starting with the
letter M.
2014-07-08 21:02:35 +02:00
Ailin Nemui
a5a7fdbe5f more strict rules for italic emphasis to avoid file name clashes
this additional check avoids /root/.hiddendir from italicising /root/,
because that is often used in path names
2014-07-08 13:42:06 +02:00
Geert Hauwaerts
05979c8d9f Merge pull request #88 from dgl/banner
Only show the banner when not connecting to servers
2014-07-08 12:00:45 +02:00
David Leadbeater
7fe47826ea Suggest /HELP rather than HELP
At this point cmdchars is definitely / and the user might not know they
need to add / to a command.
2014-07-08 09:24:12 +01:00
David Leadbeater
4e2299f1b7 Change to printtext for first time message too 2014-07-08 09:23:55 +01:00
David Leadbeater
47d66d214f Only show banner if not connecting to servers
It's tricky to make the banner show first in all cases and it's unlikely
to be seen if someone is connecting to a server already, so just don't
show it.
2014-07-08 01:38:08 +01:00
Alexander Færøy
31da4e8623 Merge pull request #86 from dgl/configure-hints
Add some more helpful hints about packages to install to configure outpu...
2014-07-07 23:51:26 +02:00
David Leadbeater
663bd7ee23 Add some more helpful hints about packages to install to configure output 2014-07-07 22:41:38 +01:00
Alexander Færøy
a9ff985a91 Merge pull request #15 from ailin-nemui/hilights-network-tag
FS#155 hilight -tag
2014-07-07 22:49:29 +02:00
Ailin Nemui
d3093418d4 cleanup hilight -network patch 2014-07-07 22:45:29 +02:00
Alexander Færøy
b2c3db4d5b Fix Clang warnings
This patch fixes a few warnings emitted by clang by removing the
initialization of the list by itself.
2014-07-07 22:26:04 +02:00
Alexander Færøy
09a1801186 Merge pull request #58 from ailin-nemui/italics
Implement italics support for Irssi
2014-07-07 22:16:23 +02:00
Geert Hauwaerts
5e8947a8b0 Syntax documentation rewrite for L-commands
Rewrote the syntax documentation for all commands starting with L.
2014-07-07 19:47:51 +02:00
Alexander Færøy
99b629ab20 Merge pull request #29 from sebth/master
Properly split long IRC messages
2014-07-07 18:27:57 +02:00
Geert Hauwaerts
10e4ad9c9b Restored the J and added a P alias
I restored the J alias and added a new P alias; both aliases are there for convenience after community requests.
2014-07-07 11:18:32 +02:00
Manuel Leiner
669add63e8 FS#155 hilight -tag 2014-07-07 00:42:50 +02:00
Lukas Mai
225d149968 optionally render /foo/ as italics 2014-07-07 00:32:07 +02:00
Lukas Mai
0e294d5c2e add italics support; don't use standout for reverse 2014-07-07 00:32:07 +02:00
Geert Hauwaerts
fc00b9e6f0 Added the missing -! and -noautosendcmd options
The SERVER ADD completion was missing the -! and -noautosendcmd options.
2014-07-06 23:58:13 +02:00
Geert Hauwaerts
2ff5f5b7e5 Fixed a compiler warning for statusbar_redraw
Fixed a compiler warning for statusbar_redraw.
2014-07-06 23:27:55 +02:00
Sebastian Thorarensen
3257794bf7 Add information about message splitting to NEWS
(...and AUTHORS.)
2014-07-06 23:25:54 +02:00
Sebastian Thorarensen
1c73bde239 Fix minor coding style issues in message splitting 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
695a6a7d9b Allow `server.split_message' being NULL
Now a module can set `server.split_message = NULL' to disable message
splitting, instead of having to implement the function.
2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
28a3dbe164 Replace an indent of eight spaces with a tab 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
ff08b3b022 Replace a `goto out' with explicit freeing 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
7bfe3a8fa1 Introduce a MAX_USERHOST_LEN constant for IRC 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
29a49c4688 Move the definition of the `split_line' settings 2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
bb7bafc93c Split long IRC `ACTION' messages
Add line splitting logic to commands `/me' and `/action'.
2014-07-06 23:24:10 +02:00
Sebastian Thorarensen
90f3dd612e Fix the userhostlen' fallback in split_message'
ferret, the author of `splitlong-safe.pl' pointed out that `userhostlen'
should not only contain the maximum length of the hostname, but also the
maximum length of the username. Now 10 is used as the maximum username
length as a fallback. (`splitlong-safe.pl' uses the same limit.)

The username limit isn't defined in the standard, but 10 is common on
many networks. The odds that something goes wrong here is low, as
 1) the fallback limit is only used when the user has not yet joined a
    channel
 2) the maximum hostname length (63) gives some error margin as the
    hostname usually is shorter
2014-07-06 23:24:09 +02:00
Sebastian Thorarensen
281c6d437d Avoid unnecessary splitting of lines
`split_line_end' could force lines to be unnecessarily split. This
commit fixes the problem by making sure that the last line isn't shorter
than `split_line_end'.
2014-07-06 23:24:09 +02:00
Sebastian Thorarensen
5c05c854dc Add configurable split line prefixes and suffixes
Add settings `split_line_start' and `split_line_end' analogous to
`splitlong_line_start' and `splitlong_line_end' in `splitlong.pl'. The
prefixes and suffixes are concatenated with a wrapper function to keep
`recode_split' and `strsplit_len' simple.
2014-07-06 23:24:09 +02:00
Sebastian Thorarensen
e6147fb8f2 Properly split long IRC messages
This commit adds handling of long IRC messages to the core. In contrast
to the `splitlong.pl' plugin, multi-byte encoded and recoded messages
are properly split.

To allow for this, a new function has been added to the server struct:
`split_message'. `split_message' returns a string array with the message
splitted to substrings of a length that the server can handle. If a
protocol module doesn't have any limit, it can simply return a singleton
array with a copy of the message.

The `MSG' chat command now calls `split_message' before `send_message',
and emits `message own_public' / `message own_private' with each
substring, so that the string splitting will be visible in the UI.

`split_message' in the IRC module uses `recode_split' which in turn uses
iconv to properly split multi-byte encoded (and recoded) messages.
2014-07-06 23:24:09 +02:00
Geert Hauwaerts
43baf71efd Merge branch 'master' of https://github.com/irssi/irssi 2014-07-06 23:21:23 +02:00
Alexander Færøy
b03b65e029 Merge pull request #85 from dgl/werror
Make configure checks able to build with -Werror
2014-07-06 23:05:34 +02:00
Geert Hauwaerts
4c6ba664c4 Updated SERVER documentation
Added the noautosendcmd parameters to the SERVER syntax documentation
2014-07-06 22:52:50 +02:00
David Leadbeater
dac67a567d Check return values from some syscalls and warn if they fail 2014-07-06 21:52:03 +01:00
David Leadbeater
85d9fa1922 Fix compiler warning in IPv6 check
(This was why I saw a warning from the IPv4 code path, now fixed by 7949e4c).
2014-07-06 21:51:22 +01:00
Geert Hauwaerts
19b636e2a2 Improved the UNACT example ALIAS
Improved the UNACT example ALIAS
2014-07-06 22:36:13 +02:00
Geert Hauwaerts
bea5cb6d02 Redraw the statusbar after reading the settings
I fixed a bug where the statusbar was not redrawn after reading the
settings.
2014-07-06 22:24:16 +02:00
Geert Hauwaerts
8c1e7d9c17 Updated the startup banner + added generic banner
I updated the banner displayed when you start Irssi for the first time
and I have added a banner that will be displayed everytime you start
Irssi.
2014-07-06 22:23:17 +02:00
David Leadbeater
7949e4c53f Initialize in6 correctly
This is technically wrong as it then gets used as an IPv4 sockaddr, but it only
needs to be some 0s so this is easier than changing the IPADDR data structure or
adding a new API.
2014-07-06 19:56:13 +01:00
Alexander Færøy
2ff95c0649 Merge pull request #82 from ailin-nemui/256colour-cleanup
fix compiler warnings in extended colour code
2014-07-06 19:58:26 +02:00
David Leadbeater
beec29c305 Make configure checks able to build with -Werror
Also fix a few compiler warnings, this combined with pull #82 allows me to build
with CFLAGS="-Werror -Wall".
2014-07-06 18:56:17 +01:00
Alexander Færøy
1bf4753914 Merge pull request #84 from dgl/gitignore
Ignore build products in .gitignore
2014-07-06 19:38:21 +02:00
David Leadbeater
6b0a54628d Ignore build products in .gitignore 2014-07-06 18:42:43 +01:00
Geert Hauwaerts
4ca8d56869 Updated the ALIAS documentation
Updated the ALIAS documentation.
2014-07-06 19:18:31 +02:00
Geert Hauwaerts
0885282294 Replaced google.com with irssi.org examples
Replaced google.com with irssi.org examples.
2014-07-06 18:53:05 +02:00
Geert Hauwaerts
66f5fb699b Added information about the NO_ACT level
Added information about the NO_ACT level
2014-07-06 18:49:02 +02:00
Geert Hauwaerts
47b925917d Added a new example for ALIAS
Added a new example for ALIAS
2014-07-06 18:36:20 +02:00
Geert Hauwaerts
074735db08 New syntax documentation for NETWORK and SERVER
Rewrote the syntax documentation for NETWORK and SERVER
2014-07-06 18:17:05 +02:00
Geert Hauwaerts
120508c14f Syntax documentation rewrite for J-K commands
Rewrote the syntax documentation for all commands starting with the
letters J and K.
2014-07-06 15:00:46 +02:00
Geert Hauwaerts
06b6371ac5 Removed the obsolete J alias
Removed the obsolete J alias.
2014-07-06 14:14:07 +02:00
Geert Hauwaerts
0cb56a7c9a Improved the default configuration file
Updated the aliases and default channels; general cleanup.
2014-07-06 02:45:33 +02:00
Geert Hauwaerts
3b76487d0f Wrote the missing syntax documentation for UPTIME
Wrote the missing syntax documentation for UPTIME.
2014-07-06 02:44:28 +02:00
Geert Hauwaerts
492d98358d Improved the IGNORE examples
Improved the IGNORE examples.
2014-07-06 02:11:31 +02:00
Geert Hauwaerts
e891b29aef Improved some examples
Improved some examples.
2014-07-06 02:06:36 +02:00
Geert Hauwaerts
f4393e44b6 Updated the TARGMAX of the default servers.
Most servers were outdates with their current TARGMAX capab; everything
should be up to date now.
2014-07-06 00:57:37 +02:00
Geert Hauwaerts
ae9a6fd0c3 Updated the default network list.
Added EsperNet and NetFuze, removed WebChat and LinkNet.
2014-07-06 00:30:59 +02:00
Geert Hauwaerts
591e10b3b6 Syntax documentation rewrite for H-I-commands 2014-07-05 22:16:35 +02:00
Geert Hauwaerts
1be75a4bef Merge pull request #83 from richlv/patch-1
Update connect.in
2014-07-05 19:49:58 +02:00
richlv
940566b111 Update connect.in
add trailing dot for consistency; mention that existing connections are kept
2014-07-05 20:47:06 +03:00
Alexander Færøy
ed51629514 Merge pull request #80 from dgl/noact
Change NO_ACT so it can be combined with other levels
2014-07-04 23:48:41 +02:00
Geert Hauwaerts
4c8fe0963c Syntax documentation rewrite for F-commands
Rewrote the syntax documentation for all commands starting with the
letter F.
2014-07-04 20:38:37 +02:00
Ailin Nemui
c104627462 fix compiler warnings in extended colour code 2014-07-04 12:46:51 +02:00
Geert Hauwaerts
f295a02cda Syntax documentation rewrite for E-commands
Rewrote the syntax documentation for commands starting with the letter
E.
2014-07-03 21:42:37 +02:00
Geert Hauwaerts
037fae0ed5 Syntax format changes for A-C commands
Updated the file format template for commands A through C.
2014-07-03 21:41:10 +02:00
Geert Hauwaerts
878411edc4 Syntax documentation rewrite for D-commands
Rewrote the syntax documentation for all commands starting with the
letter D.
2014-07-03 21:37:41 +02:00
Geert Hauwaerts
3f79c8553c Syntax documentation rewrite for C-commands
Rewrote the syntax documentation for all the commands starting with the
letter C.
2014-07-03 17:41:15 +02:00
Alexander Færøy
fd3676e407 Merge pull request #48 from ailin-nemui/256-colour-history
256 colour support for Irssi
2014-07-02 23:17:36 +02:00
Geert Hauwaerts
0a22174264 Syntax documentation rewrite for B-commands
Rewrote the syntax documentation for all the commands starting with B.
2014-07-02 22:35:17 +02:00
Geert Hauwaerts
712ef12542 Merge branch 'master' of https://github.com/irssi/irssi 2014-07-02 22:26:46 +02:00
Geert Hauwaerts
b2f265f44e Rewrote the syntax documentation for all the commands starting with A. 2014-07-02 22:25:33 +02:00
Alexander Færøy
aa7492d099 Merge pull request #70 from dgl/regexp-pattern-missing
Make it more obvious if -pattern wasn't provided to a regexp /ignore
2014-07-02 21:17:51 +02:00
Alexander Færøy
f779e04a9d Merge pull request #72 from dgl/regexp-error
Warn with error if regexp ignore fails to parse
2014-07-02 21:15:45 +02:00
Alexander Færøy
b9ba58d25f Merge pull request #74 from falconindy/master
Fix make dist
2014-07-02 21:12:38 +02:00
Geert Hauwaerts
f077280643 Added a default HIGHLIGHT and DEHIGHLIGHT alias 2014-07-01 21:27:59 +02:00
Geert Hauwaerts
ba4f6c4056 Aligned the /NETWORK documentation with docs/manual.txt 2014-06-30 22:27:22 +02:00
Geert Hauwaerts
9a9b77a6f5 Merge branch 'master' of https://github.com/irssi/irssi 2014-06-30 22:22:11 +02:00
Geert Hauwaerts
be3f303497 Removed docs/help from the .gitignore 2014-06-30 22:18:07 +02:00
Geert Hauwaerts
0d1758a2b5 Merge pull request #71 from dgl/nickserv-doc
Suggest using ^ so this doesn't pop-up a NickServ window
2014-06-30 21:47:50 +02:00
Geert Hauwaerts
735c621675 Merge pull request #73 from ailin-nemui/readme-other-modules
Point out more modules in README
2014-06-30 21:37:38 +02:00
Geert Hauwaerts
b68c168f94 Merge pull request #76 from ailin-nemui/improve-special-vars
Improve docs of special_vars wrt. to escaping rules in /alias
2014-06-30 21:21:22 +02:00
Jari Matilainen
70e49f673e Improve docs of special_vars wrt. to escaping rules in /alias 2014-06-30 21:03:50 +02:00
Dave Reisner
16088a7a46 Refer to correct name of README.md
fcb67831f2 renamed README -> README.md but didn't update
EXTRA_DIST, breaking 'make dist'.
2014-06-30 14:19:10 -04:00
Dave Reisner
a9d7171b7c propagate flags for automake initialization 2014-06-30 14:19:01 -04:00
Dave Reisner
2b7e460398 Remove superfluous entry from EXTRA_DIST
curses.m4 is already included by automake as it's an m4 depdendency.
2014-06-30 08:02:05 -04:00
Ailin Nemui
9fad15fa07 point out more modules in README 2014-06-30 13:18:18 +02:00
David Leadbeater
a9d9756d4d Make /ignore -replies work with NO_ACT 2014-06-30 09:35:31 +01:00
Ailin Nemui
96a292d40e Finish 256 colour support for Irssi
256 colour patch is cleaned up and the remaining cases are made work,
this includes especially Theme support, which was not implemented
before. Changes not related to colours were reverted again, making a
review of the two patches against master easier to follow.

As a byproduct of the Hex-colour code parser, the 24bit colours are
also implemented. Actually using them in the terminal is guarded by a
compile time switch (as well as a run time switch), as it breaks the
existing colour protocol and requires additional storage.

To make a seamless usage, down-conversion is provided for 8 and 16
colours.

Diverging from Tom's approach, the colour protocol is reverted back to
the original one. Unfortunately, the changes required in the Theme
engine will break the API.

For more details, please refer to the patch documentation at either
http://irssi-docs.wikispaces.com/Notes-256-Colour or
https://github.com/shabble/irssi-docs/wiki/Notes-256-Colour
2014-06-30 02:41:34 +02:00
David Leadbeater
3698ddfc3b Add NO_ACT checks for DCC messages 2014-06-30 00:32:21 +01:00
David Leadbeater
e8b0eb4986 Add NO_ACT checks for actions and notices 2014-06-30 00:32:17 +01:00
David Leadbeater
6bbb114046 Remove NO_ACT if we see a user specified hilight
In this path we can't look up ignores again because the print text signal
doesn't know the nick, etc. Instead just show it. The user can use -actcolor %n
or make the hilight more specific if desired.
2014-06-30 00:32:09 +01:00
David Leadbeater
d84811b192 Don't expand ALL when combined with NEVER/NO_ACT 2014-06-30 00:31:59 +01:00
David Leadbeater
819f9d16c9 Change NO_ACT so it can be used in addition to other ignores
This results in a more flexible system and is less surprising as it means levels
can be used in the way they normally can in an ignore.

As an example the current approach to NO_ACT provides no way to let HILIGHTS
be shown, with this change /set activity_hide_targets can be recreated with:
  /ignore #channel NO_ACT
  /ignore #channel -except -regexp -pattern . NO_ACT HILIGHTS
(but obviously this can be configured in many more ways if desired).
2014-06-30 00:31:53 +01:00
David Leadbeater
d823823c43 Suggest using ^ so this doesn't pop-up a NickServ window 2014-06-30 00:24:48 +01:00
David Leadbeater
0086211236 Warn with error if regexp ignore fails to parse 2014-06-30 00:23:42 +01:00
David Leadbeater
96701b6c68 Make it more obvious if -pattern wasn't provided to a regexp /ignore 2014-06-30 00:19:27 +01:00
Ailin Nemui
ccc64c0050 forward alternate_nick to Irc::Server attributes
add the missing alternate_nick in Irc::Server by making an additional
call to the Irc::Connect filler. this is not quite ideal but might
need bigger refactoring otherwise.
2014-06-30 00:57:07 +02:00
Tom Feist
2d4edc5187 Initial implementation of 256 colour support for Irssi
This patch implements some 256 colour support for Irssi up from the
previous 16 colours. Initial parsing of the %x/%X format codes is
implemented and the parser accounts in advances the char* for
that.

The colour attributes are widened from 4 to 8 bit. The colour protocol
is changed to a new format. Some pointers to remaining work are
written in the comment in textbuffer.h.

Note that Irssi already does support requesting 256 colours from the
terminal in the original source code, so this part did not have to be
touched.
2014-06-30 00:54:16 +02:00
Alexander Færøy
2e6f16c0fa Merge pull request #11 from ailin-nemui/print_text_after_time-api
add print_text_after_time to specify time stamp for lines
2014-06-30 00:07:14 +02:00
Alexander Færøy
588597744e Merge pull request #69 from dgl/crash.txt
Update crash.txt to point at github
2014-06-29 17:16:40 +02:00
David Leadbeater
fa70021ac8 Update crash.txt to point at github 2014-06-29 15:09:32 +01:00
Alexander Færøy
2b6bba3fd2 Merge pull request #62 from dgl/prefix-nick-flags
Use PREFIX from 005 to decide if a nick flag is of op level
2014-06-29 14:32:15 +02:00
Alexander Færøy
aaa0cb6e03 Merge pull request #52 from dgl/stack-cleanup
Correct use of perl stack macros
2014-06-29 14:27:12 +02:00
Alexander Færøy
cce0ff80a2 Merge pull request #49 from dgl/stackem
Move PUTBACK to within the scope which uses the stack
2014-06-29 14:24:20 +02:00
Alexander Færøy
17b9bb12bf Merge pull request #68 from falconindy/master
Autotools cleanup
2014-06-29 14:21:00 +02:00
Ailin Nemui
e71c9f1b06 add print_text_after_time to specify time stamp for lines
add signal for line removal from textbuffer
2014-06-27 15:50:36 +02:00
David Leadbeater
6accf50991 Use PREFIX from 005 to decide if a nick flag is of op level
Fixes #61.
2014-06-27 14:13:55 +01:00
Dave Reisner
f0925de16b s/INCLUDES/AM_CPPFLAGS/g
Silences warnings on recent automake such as:

src/core/Makefile.am:3: warning: 'INCLUDES' is the old name for
'AM_CPPFLAGS' (or '*_CPPFLAGS')
2014-06-27 09:06:21 -04:00
Dave Reisner
13ea2cb622 add AC_CONFIG_MACRO_DIR([m4]), move *.m4 files to m4/
Silences notice on newer autoconf:

libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.

This helps keep the top-level build directory clean, too
2014-06-27 09:06:21 -04:00
Dave Reisner
c52bb433f0 rename configure.in -> configure.ac
Silences warning on newer autoconf:

aclocal: warning: autoconf input should be named 'configure.ac', not
'configure.in'
2014-06-27 09:06:21 -04:00
Alexander Færøy
113f1724d7 Merge pull request #44 from dajohi/g_basename
Replace deprecated g_basename with g_path_get_basename.
2014-06-27 14:41:54 +02:00
Alexander Færøy
b8c2915d79 Merge pull request #59 from ailin-nemui/perl-pl-na
get rid of PL_na
2014-06-27 14:31:04 +02:00
Alexander Færøy
e4051eb42e Merge pull request #60 from dgl/perl-no-get-context
Define PERL_NO_GET_CONTEXT in all perl source files
2014-06-27 14:25:52 +02:00
Alexander Færøy
da3f426edb Merge pull request #63 from dgl/cleanups
Clean-up some compiler warnings
2014-06-27 14:24:06 +02:00
David Leadbeater
c5d81c598d Correct use of perl stack macros
Further to pull #49 this is the result of an audit of the use of perl
stack macros. There were several cases where PUTBACK was being called
where the stack pointer could be out-of-date.

Also some misc. cleanup where the macros were used needlessly.
2014-06-27 11:20:48 +01:00
David Leadbeater
211422cbe8 Switch to using G_DISCARD for call_pv
PUTBACK was being called even for the error path which didn't use the
stack. Emitting the "script error" signal can involve running Perl code
(Irssi:core::destroy) therefore the stack can be reallocated. This
can result in the perl stack being corrupted because the local stack
pointer is out of date (although as it's use of freed memory the crash
is not always instant).
2014-06-27 11:08:01 +01:00
David Leadbeater
051d1587b0 Add missing include
Silences:
  listen.c:320:3: warning: implicit declaration of function ‘ascii_strup’ [-Wimplicit-function-declaration]
2014-06-26 01:12:33 +01:00
David Leadbeater
b34ded063b Remove unused variables to silence compiler warnings 2014-06-26 00:47:49 +01:00
David Leadbeater
86fcadb85d Add some missing casts to silence compiler warnings 2014-06-26 00:44:07 +01:00
Ailin Nemui
f58a461c54 cleanup char* casts and replace one useless SvPV with SvPV_nolen 2014-06-25 03:17:03 +02:00
David Leadbeater
43df6e424e Define PERL_NO_GET_CONTEXT in all perl source files
This removes the calls to Perl_get_context() that get automatically
added to XS code for ancient source code compatibility reasons.

The result is about a ~60K size reduction in the binary (based on
comparing two 64-bit stripped irssi binaries compiled
--with-perl-staticlib).
2014-06-24 20:20:27 +01:00
Lukas Mai
7dbb8efdde get rid of PL_na 2014-06-24 16:45:55 +02:00
David Hill
9d6cd87b0f Replace deprecated g_basename with g_path_get_basename. 2014-06-22 20:39:35 -04:00
Alexander Færøy
c26a634fe6 Merge pull request #53 from dajohi/braces
Fix compiler warning.
2014-06-21 10:59:55 +02:00
Alexander Færøy
dcbcb5f04d Merge pull request #50 from dajohi/cmd_null_deref
Avoid potential null dereferences.
2014-06-21 10:53:00 +02:00
Alexander Færøy
5fe144503d Merge pull request #54 from dajohi/dcc_send_strict_aliasing
Do not break strict-aliasing rules.
2014-06-21 10:46:46 +02:00
David Hill
444f9e4836 Do not break strict-aliasing rules.
dcc-send.c:296:2: warning: dereferencing type-punned pointer
will break strict-aliasing rules
2014-06-20 12:43:24 -04:00
David Hill
5419a4b360 Fix compiler warning.
network.c:63:2: warning: missing braces around initializer [-Wmissing-braces]
network.c:63:2: warning: (near initialization for 'ip4_any.ip.__u6_addr') [-Wmissing-braces]
2014-06-20 00:41:52 -04:00
David Hill
70a55030d1 Avoid potential null dereferences. 2014-06-20 00:07:47 -04:00
Alexander Færøy
9d0d4d9437 Merge pull request #14 from ailin-nemui/ignore-activity
NO_ACT level to ignore activity
2014-06-19 00:15:36 +02:00
Alexander Færøy
ea704df7e0 Merge pull request #20 from ailin-nemui/broken-signal-parser
fix signals parser
2014-06-19 00:00:54 +02:00
Ailin Nemui
b05b6cde4d fix signals parser 2014-06-18 23:54:17 +02:00
Tom Feist
7d87a02522 Add NO_ACT level
This patch adds a new NO_ACT level that can be used with /ignore to
ignore activity notifications
2014-06-18 23:40:26 +02:00
Alexander Færøy
b7c1fbd2b9 Merge pull request #42 from dgl/no-dancer
Revert "add d,q,f and J to CHANMODES default, to work a bit better with ...
2014-06-18 23:15:47 +02:00
Alexander Færøy
48d9fec8b8 Add initial NEWS entries for 0.8.17-head 2014-06-18 23:11:00 +02:00
Alexander Færøy
bb11725a52 Merge pull request #23 from ailin-nemui/perl-format_get_text
fix implementation of format_get_text script api
2014-06-18 22:56:37 +02:00
Alexander Færøy
53e5f9f26a Merge pull request #22 from ailin-nemui/perl-package-fixes
Correct the packages of the scripting API
2014-06-18 22:53:34 +02:00
Alexander Færøy
8c08eef87a Merge pull request #12 from ailin-nemui/no-split-utf8
no split utf8 from the bug tracker
2014-06-18 22:53:01 +02:00
Kuang-che Wu
fc4a4d2471 Fix UTF-8 character corruption every 32kb of text buffer 2014-06-18 22:47:17 +02:00
David Leadbeater
908913b5de Revert "add d,q,f and J to CHANMODES default, to work a bit better with dancer and possibly others"
This is no longer relevant and most ircds now send a correct isupport
message.

This reverts commit b832f1f7b2.
2014-06-16 15:35:38 +00:00
Alexander Færøy
3212ef2bdb Merge pull request #41 from dgl/network-syntax
Add -usermode to /NETWORK syntax
2014-06-16 16:58:29 +02:00
David Leadbeater
e3c688d061 Add -usermode to /NETWORK syntax 2014-06-16 14:47:38 +00:00
Alexander Færøy
cae13ec529 Merge pull request #39 from dgl/upgrade
Document that /UPGRADE doesn't work with SSL
2014-06-16 14:56:50 +02:00
Alexander Færøy
b4a8a3f7e5 Merge pull request #38 from dgl/scripts
Update usercount to version in scripts git
2014-06-16 02:16:27 +02:00
Ailin Nemui
24ea87bd27 fix implementation of format_get_text script api 2014-06-16 01:55:46 +02:00
Ailin Nemui
21bf59f4c1 correct package of server gui_printtext_after 2014-06-16 01:55:46 +02:00
Ailin Nemui
31c7c8eb95 fix package of term_refresh_* script api 2014-06-16 01:55:46 +02:00
David Leadbeater
0e17da4a1c Document that /UPGRADE doesn't work with SSL 2014-06-16 00:11:59 +01:00
David Leadbeater
92928f1c64 Update usercount to version in scripts git 2014-06-15 23:57:47 +01:00
Alexander Færøy
0331970d64 Merge pull request #24 from ailin-nemui/speedup
Speed up nicklist and window_find operations
2014-06-16 00:27:07 +02:00
Ailin Nemui
a8c52d8c16 speed up nicklist by using hash 2014-06-15 23:38:05 +02:00
Ailin Nemui
a4c62a3fee speed up window_item_find by interning name and removing call to channel_find 2014-06-15 23:37:13 +02:00
Jaroslav Škarvada
d1e60a3b8f Disallow unloading of static modules 2014-06-15 22:48:43 +02:00
Alexander Færøy
75d7e1b0bb Merge pull request #37 from dajohi/g_ascii_strcasecmp
g_strcasecmp -> g_ascii_strcasecmp
2014-06-15 22:36:57 +02:00
David Hill
9e47f34c3f g_strcasecmp -> g_ascii_strcasecmp 2014-06-15 16:20:58 -04:00
Alexander Færøy
1545e01447 Merge pull request #36 from dajohi/g_tree_foreach
Replace deprecated g_tree_traverse with g_tree_foreach.
2014-06-15 22:15:25 +02:00
Marien Zwart
279db87d32 Add support for utf8 chars to /bind
Fixes: #18
Fixes: bio#553
2014-06-15 22:01:18 +02:00
David Hill
c40c54d782 Replace deprecated g_tree_traverse with g_tree_foreach.
g_tree_foreach traverses the tree in sorted order, which is what
irssi was already doing.
2014-06-15 16:00:26 -04:00
Alexander Færøy
b8d748a248 Merge pull request #34 from dgl/autogen-fix
Fix error to refer to elinks, as that is what it checks for
2014-06-15 21:58:32 +02:00
David Leadbeater
831bd1d1e5 Fix error to refer to elinks, as that is what it checks for 2014-06-15 21:00:34 +01:00
Alexander Færøy
53f50d3dfa Merge pull request #33 from dajohi/modules_load
Silence a compiler warning.
2014-06-15 21:57:42 +02:00
David Hill
5b2d189ab5 Silence a compiler warning.
If the first g_module_symbol call failed, module_deinit was set
to value2, which is uninitialized.  Move the assignment after
checking variable found to silence the warning.
2014-06-15 15:40:08 -04:00
Alexander Færøy
63011c2bf8 Merge pull request #32 from dajohi/g_io_channel_shutdown
Replace deprecated g_io_channel_close with g_io_channel_shutdown.
2014-06-15 21:31:10 +02:00
David Hill
138d4f4555 Replace deprecated g_io_channel_close with g_io_channel_shutdown.
g_io_channel_close flushes the buffer and does not return errors.
g_io_channel_shutdown(handle, TRUE, NULL) keeps that behavior.
2014-06-15 15:23:29 -04:00
Jaroslav Škarvada
57f138c087 Remove nonexistant usage from man page 2014-06-15 21:05:04 +02:00
Alexander Færøy
a68eb46a24 Merge pull request #5 from dajohi/master
Replace deprecated g_str[n]casecmp with g_ascii_str[n]cmp.
2014-06-15 19:59:10 +02:00
Alexander Færøy
20cbbe58fe Use a slightly less verbose template 2014-06-15 17:37:09 +02:00
Alexander Færøy
42d162c1b5 Add build status to README.md 2014-06-15 17:32:17 +02:00
Alexander Færøy
fd5fffaf5f Add lynx as build-dep 2014-06-15 17:22:10 +02:00
Alexander Færøy
551d326b69 Skip join and use notices 2014-06-15 17:21:11 +02:00
Alexander Færøy
ef3e66eca3 Add .travis.yml 2014-06-15 17:12:41 +02:00
Alexander Færøy
83e347b9a9 Merge pull request #25 from ailin-nemui/local-perl
support local perl
2014-06-15 16:46:19 +02:00
Alexander Færøy
1d45fdfa03 Cleanup README.md
This patch restructures and cleans up README.md slightly to make it a
more structured for Github's README.md repository view.
2014-06-12 12:15:31 +02:00
Ailin Nemui
b8d8925ebb support local perl 2014-06-12 10:15:49 +02:00
Alexander Færøy
8be1e1001a Merge pull request #27 from nyuszika7h/patch/readme-bugtracker
README.md: New issues should be opened on GitHub, minor grammar fixes
2014-06-11 17:35:16 +02:00
nyuszika7h
190d00bd78 README.md: Tell users to look at GitHub issues too 2014-06-11 17:33:43 +02:00
nyuszika7h
c204f0ac26 README.md: New issues should be opened on GitHub, minor grammar fixes 2014-06-11 17:32:31 +02:00
Alexander Færøy
44458643bf Merge pull request #21 from ailin-nemui/scriptassist-deprecation
fix deprecated perl warnings in scriptassist by removing all occurences of "defined"
2014-06-11 14:43:24 +02:00
Ailin Nemui
c5ad61b4b0 fix deprecated perl warnings in scriptassist by removing all occurences of "defined" 2014-06-11 13:54:58 +02:00
Alexander Færøy
3876cd9417 Merge pull request #13 from ailin-nemui/segfault-no-protocol
fix segfault with xmpp query in layout
2014-06-11 12:46:49 +02:00
Alexander Færøy
6a840c17bf Merge pull request #10 from ailin-nemui/print_after-scrollback
fix print_after scrollback
2014-06-11 12:39:49 +02:00
Ailin Nemui
d4a7d64994 fix segfault with xmpp query in layout 2014-06-11 12:09:18 +02:00
Ailin Nemui
9ee8e66431 fix print_after scrollback 2014-06-11 11:00:26 +02:00
Alexander Færøy
a6507f827b Our official channel is #irssi on freenode from now on 2014-06-10 19:48:53 +02:00
Alexander Færøy
2ca6f858eb Merge pull request #8 from krye/master
A more GitHub-friendly README.md file.
2014-06-10 19:47:43 +02:00
Kristofer Rye
fcb67831f2 Create a more GitHub-friendly README.md file. 2014-06-10 13:40:53 -04:00
David Hill
8d5142f032 Don't assume the size of time_t. 2014-06-10 12:45:57 -04:00
David Hill
0d4f13d20f Replace deprecated g_str[n]casecmp with g_ascii_str[n]cmp. 2014-06-10 12:06:19 -04:00
Geert
5ca9287182 Kill servertest/ 2014-05-31 02:12:44 +02:00
Alexander Færøy
c000a8623a Use a VCS agnostic term to describe the VCS version 2014-05-31 01:43:51 +02:00
Alexander Færøy
c3ef9ee9a6 Add .gitignore 2014-05-31 01:40:38 +02:00
Alexander Færøy
fceba7ad04 Kill irssi.cvs 2014-05-31 01:19:18 +02:00
Alexander Færøy
c896f78d04 Master is now 0.8.17-git :-) 2014-05-31 01:16:32 +02:00
Alexander Færøy
ff70e9f976 Kill svn support from irssi-version.sh 2014-05-31 01:13:46 +02:00
Alexander Færøy
fc556bdf4e Kill update-changelog.sh 2014-05-31 01:01:39 +02:00
Alexander Færøy
7d6fa28bbd Trunk is now 0.8.17-svn
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5234 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-05-30 17:48:56 +00:00
Alexander Færøy
1f04b12c9c Prepare for 0.8.16
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5232 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-05-28 21:50:41 +00:00
Alexander Færøy
68f8229373 Add -ssl_pass to /connect and /server
Fixes: Bug #305

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5231 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-01-11 19:53:17 +00:00
Alexander Færøy
952698dc3a Update NEWS file
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5230 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-01-11 15:10:59 +00:00
Geert Hauwaerts
03359ba0fe - Applied a patch from Jaroslav Škarvada (FTBFS if "-Werror=format-security" flag is used | https://bugzilla.redhat.com/show_bug.cgi?id=1037139)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5229 dbcabf3a-b0e7-0310-adc4-f8d773084564
2014-01-10 20:29:42 +00:00
Alexander Færøy
aaf4cc33db Check setuid() and getuid() for errors
Thanks to Hector Marco for reporting.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5228 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-12-13 22:23:39 +00:00
Alexander Færøy
fa92c92797 Fix wording before release
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5227 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-09-15 16:49:11 +00:00
Alexander Færøy
16b12bf578 Link DANE configure check with libpthread
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5226 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-09-14 12:54:34 +00:00
Alexander Færøy
56700f9515 Version is now 0.8.16-rc1
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5225 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-09-14 12:54:25 +00:00
Alexander Færøy
85f272daaf Prepare for 0.8.16rc1
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5224 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-25 21:35:19 +00:00
Alexander Færøy
eb8dfc8cc9 Clean-up after ourselves
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5223 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-25 21:35:13 +00:00
Alexander Færøy
afa340ee84 Check for OpenSSL support for --enable-dane
It doesn't make any sense to build Irssi without SSL support, but with
DANE support. This patch adds an extra check in the configure script
that will make the script bail out if someone tries to build Irssi with
DANE support, but without OpenSSL support.

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5222 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:43 +00:00
Alexander Færøy
ce7f7b2ecb Fix build for FreeBSD
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5221 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:38 +00:00
Alexander Færøy
4d36a9e498 Add TLSA related signals
This patch adds 3 new signals:

  * tlsa avalable: emitted if TLSA is available for a given domain.
  * tlsa verification success: emitted if the TLSA check was successful.
  * tlsa verification failed: emitted if the TLSA check was unsuccessful.

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5220 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:32 +00:00
Alexander Færøy
cb873d5b91 Pass SERVER_REC directly to net_connect_ip_ssl
This patch refactors how we are passing connection information for SSL
connections. This will allow us to emit signals with a SERVER_REC as
parameter during SSL handshake.

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5219 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:26 +00:00
Alexander Færøy
d826896f74 Implement experimental DNSSEC DANE support
This patch adds experimental support for the DNSSEC DANE verification
protocol using the libval library from the DNSSEC-Tools package.

Thanks to Thomas Steen Ramussen for creating a test setup and suggesting
the idea of experimenting with DANE support in Irssi :-)

git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5218 dbcabf3a-b0e7-0310-adc4-f8d773084564
2013-06-23 23:50:14 +00:00
Emanuele Giaquinta
02aa2682dc Fix crash in mainwindows_resize_smaller when the 'mainwindows' list is empty.
The crash can happen if the terminal height decreases before the first window
is created. Based on a patch by Jaroslav Škarvada (red hat bug #796457).


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5217 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-06-24 14:33:54 +00:00
Emanuele Giaquinta
7ae4919229 Do not set SSL_OP_ALL, it is not needed to disable SSLv2 and it can prevent
connections to TLSv1.1 servers from working. Patch by pi-rho.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5216 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-06-24 09:50:08 +00:00
Emanuele Giaquinta
00d59cdd8f Fix grammar of no_completions format, patch by Matt Lewandowsky.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5215 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-06-24 09:35:55 +00:00
Emanuele Giaquinta
8e48c6c36a Properly validate the argument of Irssi::theme_register as an array reference,
patch by Olof Johansson.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5214 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-06-24 09:33:28 +00:00
Jase Thew
d74c9788b7 Update help for /log - change default for log_create_mode to 0600
(Bug #830).


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5211 dbcabf3a-b0e7-0310-adc4-f8d773084564
2012-01-10 21:36:07 +00:00
Alexander Færøy
9cc7ea504c Fix warning.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5210 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-11-21 21:28:28 +00:00
Alexander Færøy
796134ffbd Add -noautosendcmd to /SERVER and /CONNECT.
Passing this option will force Irssi to not execute the content of the
autosendcmd chatnet-setting upon connect.

Fixes: #738


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5209 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-11-21 21:27:58 +00:00
Jase Thew
518b822db4 Replace remaining usage of deprecated g_strdown(). Follow-up to r5138.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5208 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-10-30 15:57:42 +00:00
Jase Thew
b77539816c Document available options for /JOIN command.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5207 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-07-31 16:25:33 +00:00
Jase Thew
04911955fe Clarify delimiter needed for -channels option of /HILIGHT and /IGNORE commands.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5206 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-07-30 23:24:06 +00:00
Jilles Tjoelker
cbd163aa5a Accept names replies with nick!user@host instead of nick
if they are somehow enabled (UHNAMES/userhost-in-names).

bug #805


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5205 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-05-15 21:13:12 +00:00
Jase Thew
f3419c3936 Add a reference to /help levels for IGNORE help entry.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5204 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-05-04 20:10:48 +00:00
Jase Thew
444b42bf3e Ensure that expando_cumode_space() doesn't free unallocated memory when no
prefix exists by conditionally allocating and marking to-be-freed the cumode
string inside of expando_cumode(). (Bug #669)


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5203 dbcabf3a-b0e7-0310-adc4-f8d773084564
2011-02-10 06:45:51 +00:00
Jase Thew
2bee6f12ae Add the path contained in the perl_use_lib setting to the search list
when attempting to automatically use chat_protocol perl modules. This
fixes the automatic calling of "use Irssi::Irc" when the Irssi perl modules
have been installed in a location outside of perl's site/vendor hierarchy.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5197 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-12-09 09:51:58 +00:00
Jilles Tjoelker
81b8dcdeb2 Do not go beyond the end of the string when processing an octal escape.
This code is used, for example, when /set expand_escapes on.

I can't reproduce crashes but I can reproduce garbage if I type a\1.

bug #775


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5195 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-11-17 20:41:14 +00:00
Jase Thew
c488c3e58b Set window binds for channel items as sticky when re-creating window
binds as part of /layout save. This addresses the problem of previously 
saved channel window items forgetting their windows upon reconnection, 
which resulted in them being opened in new windows. 


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5194 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-10-31 19:40:03 +00:00
Alexander Færøy
e959bd36d4 Strip the argument for boolean options. Patch by Svante Kvarnström. Fixes: #769
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5191 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-10-02 21:52:35 +00:00
Alexander Færøy
5e55d5b974 Readd Freenode to the list of IRC networks in the default configuration file.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5190 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-08-14 21:28:42 +00:00
Alexander Færøy
4976f75295 Fix indention.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5186 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-07-28 16:15:02 +00:00
Wouter Coekaerts
350b346c84 Add prefixes to irc_nicklist_insert() so that nickrec.prefixes is accurate in the
"nicklist new" signal.

Fixes the nicklist sorting on xirssi.

Patch by nenolod.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5184 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-07-24 14:36:55 +00:00
Wouter Coekaerts
ab33ac15af Bug #748: Fix /ignore -network. Patch by pyropeter
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5175 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-07-13 17:56:02 +00:00
Jase Thew
cbe61df25c When sending a signal to an /exec'd command, send it to the process
group id instead of the process id. (This covers the case of /bin/sh
instances which fork/exec commands passed via -c. In such cases,
sending a signal to the stored process id would sent it to the /bin/sh
process itself, not the forked child.)

Add error reporting to sending signals.


git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5174 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-20 19:00:12 +00:00
Jase Thew
c6986ff767 Update help for /exec - clarify use of % prefix for id in command syntax.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5173 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-19 21:21:17 +00:00
Jase Thew
be5b3cf8b8 Correct typo (it's -> its) - spotted by coekie.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5172 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-19 19:44:39 +00:00
Jase Thew
7df1c56e1a Add myself to AUTHORS.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5171 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-16 17:54:30 +00:00
Jase Thew
ec83dd762a Fix segfault generated by SSL disconnections. (Bug #752)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5170 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-05-16 17:50:31 +00:00
Alexander Færøy
daf6adc0b0 Remove warnings about uninitialized variables.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5140 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-04 12:19:54 +00:00
Alexander Færøy
ada26a8d21 Add missing includes to shut the compiler up.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5139 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-04 12:07:26 +00:00
Alexander Færøy
8728207191 deprecated glib strup/down fixes from exg.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5138 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 20:09:37 +00:00
Alexander Færøy
df1d7a7814 glib iochannel fixes from exg.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5137 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 20:04:15 +00:00
Alexander Færøy
dd23f39f09 Do not use SSLv2 protocol. From Bazerka.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5136 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 19:09:11 +00:00
Alexander Færøy
ea9c03cf61 trunk is now 0.8.15-svn
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5135 dbcabf3a-b0e7-0310-adc4-f8d773084564
2010-04-03 18:17:28 +00:00
674 changed files with 38405 additions and 16964 deletions

38
.clang-format Normal file
View file

@ -0,0 +1,38 @@
# IndentPPDirectives: AfterHash
# SpaceInParentheses: false
AlignAfterOpenBracket: Align
AlignConsecutiveAssignments: false
AlignConsecutiveDeclarations: false
AlignOperands: true
AlignTrailingComments: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortBlocksOnASingleLine: false
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: false
BinPackArguments: true
BinPackParameters: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Linux
BreakBeforeTernaryOperators: false
ColumnLimit: 100
IndentCaseLabels: false
IndentWidth: 8
IndentWrappedFunctionNames: true
KeepEmptyLinesAtTheStartOfBlocks: false
Language: Cpp
Cpp11BracedListStyle: false
MaxEmptyLinesToKeep: 1
PointerAlignment: Right
SortIncludes: false
SpaceAfterCStyleCast: true
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesInCStyleCastParentheses: false
SpacesInSquareBrackets: false
TabWidth: 8
UseTab: ForIndentation

3
.gitattributes vendored Normal file
View file

@ -0,0 +1,3 @@
# On Windows, some Git clients may normalize all text files' line-endings to
# CRLF, which causes obscure errors when running shell scripts.
*.sh eol=lf

127
.github/workflows/abicheck.yml vendored Normal file
View file

@ -0,0 +1,127 @@
on: [pull_request]
name: abicheck
env:
build_options: -Dbuildtype=debug -Denable-true-color=yes -Dwith-proxy=yes -Dc_args=-DPERL_EUPXS_ALWAYS_EXPORT
prefix: /usr/local
apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev
get_pip_build_deps: pip3 install 'setuptools<66'; pip3 install wheel; pip3 install 'meson<0.59.0'
getabidef_def: getabidef() { awk '$1=="#define" && $2=="IRSSI_ABI_VERSION" { print $3 }' "$1"/include/irssi/src/common.h; }
jobs:
build-base-ref:
runs-on: ubuntu-latest
outputs:
base_abi: ${{ steps.out.outputs.base_abi }}
steps:
- name: set PATH
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: prepare required software
run: |
sudo apt update; sudo apt install $apt_build_deps
eval "$get_pip_build_deps"
- name: checkout base ref
uses: actions/checkout@main
with:
path: base.src
ref: ${{ github.base_ref }}
- name: build base ref
run: |
meson Build.base base.src $build_options
ninja -C Build.base
DESTDIR=$PWD/base ninja -C Build.base install
- id: out
run: |
# print versions and abi versions
eval "$getabidef_def"
base_abi=$(getabidef base$prefix)
echo base abi : $base_abi
./base$prefix/bin/irssi --version
echo base_abi=$base_abi >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: base.inst
path: base
retention-days: 1
build-merge-ref:
runs-on: ubuntu-latest
outputs:
merge_abi: ${{ steps.out.outputs.merge_abi }}
steps:
- name: set PATH
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: prepare required software
run: |
sudo apt update; sudo apt install $apt_build_deps
eval "$get_pip_build_deps"
- name: checkout merge ref
uses: actions/checkout@main
with:
path: merge.src
- name: build merge ref
run: |
meson Build.merge merge.src $build_options
ninja -C Build.merge
DESTDIR=$PWD/merge ninja -C Build.merge install
- id: out
run: |
# print versions and abi versions
eval "$getabidef_def"
merge_abi=$(getabidef merge$prefix)
echo merge abi : $merge_abi
./merge$prefix/bin/irssi --version
echo merge_abi=$merge_abi >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
name: merge.inst
path: merge
retention-days: 1
check-abi-diff:
runs-on: ubuntu-latest
needs:
- build-merge-ref
- build-base-ref
env:
base_abi: ${{ needs.build-base-ref.outputs.base_abi }}
merge_abi: ${{ needs.build-merge-ref.outputs.merge_abi }}
steps:
- name: prepare required software
run: |
sudo apt update; sudo apt install abigail-tools
- name: fetch base build
uses: actions/download-artifact@v4
with:
name: base.inst
path: base
- name: fetch merge build
uses: actions/download-artifact@v4
with:
name: merge.inst
path: merge
- run: |
# abipkgdiff
abipkgdiff -l base merge >abipkgdiff.out && diff_ret=0 || diff_ret=$?
echo "diff_ret=$diff_ret" >> $GITHUB_ENV
cat abipkgdiff.out
- uses: actions/upload-artifact@v4
with:
path: abipkgdiff.out
- run: |
# Check if no changes are needed
if [ "$diff_ret" -ne 0 ]; then
if [ "$base_abi" -lt "$merge_abi" ]; then
echo "::warning ::abigail found changes and ABI changed from $base_abi to $merge_abi"
exit 0
else
echo "::error ::Looks like the ABI changed but the IRSSI_ABI_VERSION did not"
exit $diff_ret
fi
else
if [ "$base_abi" -ne "$merge_abi" ]; then
echo "::error ::abigail found no changes yet the IRSSI_ABI_VERSION changed. Is this correct?"
exit 1
else
: "No changes detected and IRSSI_ABI_VERSION untouched"
exit 0
fi
fi

180
.github/workflows/check.yml vendored Normal file
View file

@ -0,0 +1,180 @@
on:
push:
branches:
- master
pull_request:
name: Check Irssi
env:
apt_build_deps: ninja-build libutf8proc-dev libperl-dev libotr5-dev libglib2.0-dev
get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel; pip3 install meson${meson_ver}
build_options_meson: -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes -Dwith-otr=yes
prefix: ~/irssi-build
jobs:
dist:
runs-on: ubuntu-latest
env:
meson_ver: <0.63.0
setuptools_ver: <66
steps:
- name: prepare required software
run: |
sudo apt update && sudo apt install $apt_build_deps
eval "$get_pip_build_deps_meson"
patch ~/.local/lib/python3.12/site-packages/pkg_resources/__init__.py <<- PATCH
--- __init__.py 2024-12-16 20:37:46.733230351 +0100
+++ __init__.py 2024-12-16 20:38:42.479554540 +0100
@@ -2188,7 +2188,8 @@ def resolve_egg_link(path):
return next(dist_groups, ())
-register_finder(pkgutil.ImpImporter, find_on_path)
+if hasattr(pkgutil, 'ImpImporter'):
+ register_finder(pkgutil.ImpImporter, find_on_path)
if hasattr(importlib_machinery, 'FileFinder'):
register_finder(importlib_machinery.FileFinder, find_on_path)
@@ -2345,7 +2346,8 @@ def file_ns_handler(importer, path_item,
return subpath
-register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
+if hasattr(pkgutil, 'ImpImporter'):
+ register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
register_namespace_handler(zipimport.zipimporter, file_ns_handler)
if hasattr(importlib_machinery, 'FileFinder'):
PATCH
- uses: actions/checkout@main
- name: make dist
run: |
./utils/make-dist.sh
- uses: actions/upload-artifact@v4
with:
path: irssi-*.tar.gz
retention-days: 1
install:
runs-on: ${{ matrix.os }}
env:
CC: ${{ matrix.compiler }}
needs: dist
continue-on-error: ${{ contains(matrix.flags, 'FAILURE-OK') }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-latest]
compiler: [clang, gcc]
flags: [regular]
setuptools_ver: [<66]
include:
- os: ubuntu-22.04
meson_ver: ==0.53.2
setuptools_ver: <51
- os: ubuntu-latest
meson_ver: <0.63.0
- os: ubuntu-latest
flags: meson-latest FAILURE-OK
steps:
- name: fetch dist
uses: actions/download-artifact@v4
- name: set PATH
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: prepare required software
env:
meson_ver: ${{ matrix.meson_ver }}
setuptools_ver: ${{ matrix.setuptools_ver }}
run: |
sudo apt update && sudo apt install $apt_build_deps
eval "$get_pip_build_deps_meson"
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
- name: unpack archive
run: tar xaf artifact/irssi-*.tar.gz
- name: build and install with meson
run: |
# ninja install
cd irssi-*/
meson Build $build_options_meson --prefix=${prefix/\~/~}
ninja -C Build
ninja -C Build install
- name: run tests with Meson
run: |
# ninja test
cd irssi-*/
ninja -C Build test
find -name testlog.txt -exec sed -i -e '/Inherited environment:.* GITHUB/d' {} + -exec cat {} +
- name: run launch test
env:
TERM: xterm
run: |
# automated irssi launch test
cd
mkdir irssi-test
echo 'echo automated irssi launch test
^set settings_autosave off
^set -clear log_close_string
^set -clear log_day_changed
^set -clear log_open_string
^set log_timestamp *
^window log on
load irc
load dcc
load flood
load notifylist
load perl
load otr
load proxy
^quit' > irssi-test/startup
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
cat irc.log.*
annotation-warnings:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'pull_request' }}
env:
CC: clang
steps:
- name: prepare required software
run: |
sudo apt update && sudo apt install $apt_build_deps
- uses: actions/checkout@main
- name: Setup local annotations
uses: irssi-import/actions-irssi/problem-matchers@master
- name: set PATH
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: prepare required software
env:
meson_ver: ${{ matrix.meson_ver }}
setuptools_ver: ${{ matrix.setuptools_ver }}
run: |
sudo apt update && sudo apt install $apt_build_deps
eval "$get_pip_build_deps_meson"
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
- name: build and install with meson
run: |
meson Build $build_options_meson --prefix=${prefix/\~/~}
ninja -C Build
ninja -C Build install >/dev/null
- name: run launch test
env:
TERM: xterm
run: |
# automated irssi launch test
cd
mkdir irssi-test
echo 'echo automated irssi launch test
^set settings_autosave off
^set -clear log_close_string
^set -clear log_day_changed
^set -clear log_open_string
^set log_timestamp *
^window log on
load irc
load dcc
load flood
load notifylist
load perl
load otr
load proxy
^quit' > irssi-test/startup
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
cat irc.log.*

51
.github/workflows/cifuzz.yml vendored Normal file
View file

@ -0,0 +1,51 @@
name: CIFuzz
on:
pull_request:
paths:
- 'src/core/**/*.c'
- 'src/fe-common/core/**/*.c'
- 'src/fe-text/gui-*.c'
- 'src/irc/**/*.c'
- 'src/fe-common/irc/**/*.c'
- 'src/lib-config/**/*.c'
- 'src/fe-fuzz/**/*.c'
- 'tests/**/*.c'
- '.github/workflows/cifuzz.yml'
jobs:
Fuzzing:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sanitizer: [address, undefined, memory]
steps:
- uses: actions/checkout@main
with:
path: irssi
- name: Docker build build_fuzzers container
run: |
# google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
docker build -t build_fuzzers:actions -f "/home/runner/work/_actions/google/oss-fuzz/master/infra/build_fuzzers.Dockerfile" "/home/runner/work/_actions/google/oss-fuzz/master/infra"
- name: Build Fuzzers (${{ matrix.sanitizer }})
id: build
env:
OSS_FUZZ_PROJECT_NAME: 'irssi'
DRY_RUN: false
SANITIZER: ${{ matrix.sanitizer }}
PROJECT_SRC_PATH: /github/workspace/irssi
REPOSITORY: 'irssi'
run: |
docker run --workdir /github/workspace --rm -e OSS_FUZZ_PROJECT_NAME -e DRY_RUN -e SANITIZER -e PROJECT_SRC_PATH -e REPOSITORY -e WORKSPACE=/github/workspace -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "$GITHUB_WORKSPACE":"/github/workspace" build_fuzzers:actions
- name: Run Fuzzers (${{ matrix.sanitizer }})
uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
with:
oss-fuzz-project-name: 'irssi'
fuzz-seconds: 600
dry-run: false
sanitizer: ${{ matrix.sanitizer }}
- name: Upload Crash
uses: actions/upload-artifact@v4
if: failure() && steps.build.outcome == 'success'
with:
name: ${{ matrix.sanitizer }}-artifacts
path: ./out/artifacts

29
.github/workflows/clangformat.yml vendored Normal file
View file

@ -0,0 +1,29 @@
on: [pull_request]
name: clang-format
jobs:
check-clang-format:
runs-on: ubuntu-22.04
steps:
- name: install clang-format
run: sudo apt install clang-format-14
- uses: actions/checkout@main
- name: fetch target ref
run:
|
refs=($(git log -1 --format=%s))
git fetch --depth=1 origin "${refs[3]}"
- name: configure clang-format
run:
|
git config clangformat.binary $PWD/utils/clang-format-xs/clang-format-xs
git config clangformat.extensions c,h,xs
- name: run git-clang-format and Check if no changes are needed
run:
|
CLANG_FORMAT=clang-format-14 git-clang-format-14 --diff FETCH_HEAD HEAD | tee git-clang-format.diff
cmp -s <(echo no modified files to format) git-clang-format.diff || cmp -s <(echo -n) git-clang-format.diff
- uses: actions/upload-artifact@v4
if: failure()
with:
name: git-clang-format.diff
path: git-clang-format.diff

32
.github/workflows/muon-fmt.yml vendored Normal file
View file

@ -0,0 +1,32 @@
name: Format meson files
on:
push:
pull_request:
permissions: {}
jobs:
muon-meson-fmt:
name: Format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
with:
persist-credentials: false
# Build from source because Ubuntu 24.04 apt only has muon 0.2.0.
# Newer muons seem to format differently.
- name: Build muon from source
run: |
git clone --depth 1 --branch 0.5.0 https://github.com/muon-build/muon /tmp/muon
cd /tmp/muon
./bootstrap.sh build
build/muon-bootstrap setup build
build/muon-bootstrap -C build samu
sudo build/muon -C build install
- name: Run muon fmt
run: |
find . -name meson.build -print0 | xargs -0 muon fmt -c .muon_fmt.ini -i
git diff --exit-code

104
.github/workflows/solarisvm.yml vendored Normal file
View file

@ -0,0 +1,104 @@
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
name: Check Irssi on Solaris
env:
get_pip_build_deps_meson: pip3 install setuptools${setuptools_ver}; pip3 install wheel
prefix: ~/irssi-build
jobs:
dist:
runs-on: ubuntu-latest
env:
setuptools_ver: <66
steps:
- name: prepare required software
run: |
sudo apt update && sudo apt install $apt_build_deps
eval "$get_pip_build_deps_meson"
patch ~/.local/lib/python3.12/site-packages/pkg_resources/__init__.py <<- PATCH
--- __init__.py 2024-12-16 20:37:46.733230351 +0100
+++ __init__.py 2024-12-16 20:38:42.479554540 +0100
@@ -2188,7 +2188,8 @@ def resolve_egg_link(path):
return next(dist_groups, ())
-register_finder(pkgutil.ImpImporter, find_on_path)
+if hasattr(pkgutil, 'ImpImporter'):
+ register_finder(pkgutil.ImpImporter, find_on_path)
if hasattr(importlib_machinery, 'FileFinder'):
register_finder(importlib_machinery.FileFinder, find_on_path)
@@ -2345,7 +2346,8 @@ def file_ns_handler(importer, path_item,
return subpath
-register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
+if hasattr(pkgutil, 'ImpImporter'):
+ register_namespace_handler(pkgutil.ImpImporter, file_ns_handler)
register_namespace_handler(zipimport.zipimporter, file_ns_handler)
if hasattr(importlib_machinery, 'FileFinder'):
PATCH
- uses: actions/checkout@main
- name: make dist
run: |
./utils/make-dist.sh
- uses: actions/upload-artifact@v4
with:
path: irssi-*.tar.gz
retention-days: 1
install:
runs-on: ubuntu-latest
needs: dist
steps:
- name: fetch dist
uses: actions/download-artifact@v4
- name: Test in Solaris
uses: vmactions/solaris-vm@v1
with:
usesh: true
sync: rsync
release: "11.4-gcc"
prepare: |
pkg update --accept || echo 1:$?
pkg install meson || echo 2:$?
pkgutil -y -i curl || echo 3:$?
pkgutil -y -i gtar || echo 4:$?
pkgutil -y -i findutils || echo 5:$?
run: |
set -ex
export PKG_CONFIG_PATH=/usr/lib/64/pkgconfig
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
gtar xzf artifact/irssi-*.tar.gz
# ninja install
cd irssi-*/
meson Build -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes --prefix=$HOME/irssi-build
ninja -C Build
ninja -C Build install
# ninja test
ninja -C Build test
gfind -name testlog.txt -exec gsed -i -e '/Inherited environment:.* GITHUB/d' {} + -exec cat {} +
export TERM=xterm
# automated irssi launch test
cd
mkdir irssi-test
echo 'echo automated irssi launch test
^set settings_autosave off
^set -clear log_close_string
^set -clear log_day_changed
^set -clear log_open_string
^set log_timestamp *
^window log on
load irc
load dcc
load flood
load notifylist
load perl
load otr
load proxy
^quit' > irssi-test/startup
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
cat irc.log.*

79
.github/workflows/termuxpkg.yml vendored Normal file
View file

@ -0,0 +1,79 @@
on:
push:
branches:
- master
pull_request:
name: Build Irssi Termux package
jobs:
termux-package:
runs-on: ubuntu-latest
steps:
- name: checkout termux-packages
uses: actions/checkout@main
with:
repository: termux/termux-packages
- name: checkout irssi
uses: actions/checkout@main
with:
path: src.irssi.git
- name: download termux docker container
uses: docker://termux/package-builder:latest
- name: create irssi build receipe
run: |
mkdir packages/irssi-an
cat << 'BUILD_SH' > packages/irssi-an/build.sh
TERMUX_PKG_HOMEPAGE=https://irssi.org/
TERMUX_PKG_DESCRIPTION="Terminal based IRC client"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_MAINTAINER="@irssi"
TERMUX_PKG_VERSION=@VERSION@
TERMUX_PKG_REVISION=@REVISION@
TERMUX_PKG_SRCURL=git+file:///home/builder/termux-packages/src.irssi.git
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="glib, libandroid-glob, libiconv, libotr, ncurses, openssl, perl, utf8proc"
TERMUX_PKG_BREAKS="irssi"
TERMUX_PKG_REPLACES="irssi"
TERMUX_MESON_PERL_CROSS_FILE=$TERMUX_PKG_TMPDIR/meson-perl-cross-$TERMUX_ARCH.txt
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="
-Dfhs-prefix=$TERMUX_PREFIX
--cross-file $TERMUX_MESON_PERL_CROSS_FILE
"
termux_step_pre_configure() {
LDFLAGS+=" -landroid-glob"
# Make build log less noisy.
CFLAGS+=" -Wno-compound-token-split-by-macro"
local perl_version=$(. $TERMUX_SCRIPTDIR/packages/perl/build.sh; echo $TERMUX_PKG_VERSION)
cat << MESON_PERL_CROSS >$TERMUX_MESON_PERL_CROSS_FILE
[properties]
perl_version = '$perl_version'
perl_ccopts = ['-I$TERMUX_PREFIX/include', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-I$TERMUX_PREFIX/lib/perl5/$perl_version/${TERMUX_ARCH}-android/CORE']
perl_ldopts = ['-Wl,-E', '-I$TERMUX_PREFIX/include', '-L$TERMUX_PREFIX/lib/perl5/$perl_version/${TERMUX_ARCH}-android/CORE', '-lperl', '-lm', '-ldl']
perl_archname = '${TERMUX_ARCH}-android'
perl_installsitearch = '$TERMUX_PREFIX/lib/perl5/site_perl/$perl_version/${TERMUX_ARCH}-android'
perl_installvendorarch = ''
perl_inc = ['$TERMUX_PREFIX/lib/perl5/site_perl/$perl_version/${TERMUX_ARCH}-android', '$TERMUX_PREFIX/lib/perl5/site_perl/$perl_version', '$TERMUX_PREFIX/lib/perl5/$perl_version/${TERMUX_ARCH}-android', '$TERMUX_PREFIX/lib/perl5/$perl_version']
MESON_PERL_CROSS
}
BUILD_SH
version=$(awk '/^v/ { $0=$1; gsub(/^v/,""); gsub(/-head/,"dev"); gsub(/-/,""); print; exit }' src.irssi.git/NEWS)
version=$version+g$(git -C src.irssi.git rev-parse --short HEAD)
sed -i \
-e "s:@VERSION@:$version:" \
-e "s:@REVISION@:$GITHUB_RUN_NUMBER:" \
packages/irssi-an/build.sh
git -C src.irssi.git tag v$version
- name: prepare output folder
run: |
install -m a+rwx -d output
- name: build irssi package
run: |
sudo ./scripts/run-docker.sh ./build-package.sh -I irssi-an
- uses: actions/upload-artifact@v4
with:
name: irssi-termux-pkg
path: output/irssi-an*.deb

20
.github/workflows/trigger-pages.yml vendored Normal file
View file

@ -0,0 +1,20 @@
on:
push:
branches:
- master
jobs:
rebuild-pages:
if: github.repository == 'irssi/irssi'
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
github-token: ${{ secrets.PAT_TOKEN }}
script: |
await github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: 'irssi.github.io',
workflow_id: 'pages.yml',
ref: 'main'
})

75
.github/workflows/voiddocker.yml vendored Normal file
View file

@ -0,0 +1,75 @@
on:
push:
branches:
- master
pull_request:
workflow_dispatch:
name: Check Irssi on Void Linux glibc
jobs:
dist:
runs-on: ubuntu-latest
container: ghcr.io/void-linux/void-glibc:latest
steps:
- name: prepare required software
run: |
xbps-install -Syu xbps || :
xbps-install -Syu
xbps-install -Sy git findutils python3-setuptools tar xz gzip
- uses: actions/checkout@main
- name: make dist
run: |
git config --global --add safe.directory /__w/irssi/irssi
./utils/make-dist.sh
- uses: actions/upload-artifact@v4
with:
path: irssi-*.tar.gz
retention-days: 1
install:
runs-on: ubuntu-latest
container: ghcr.io/void-linux/void-glibc:latest
needs: dist
steps:
- name: prepare required software
run: |
xbps-install -Syu xbps || :
xbps-install -Syu
xbps-install -Sy meson base-devel libglib-devel libutf8proc-devel ncurses-devel ncurses-base openssl-devel libotr-devel libgcrypt-devel tar findutils curl
- name: fetch dist
uses: actions/download-artifact@v4
- name: Setup local annotations
uses: irssi-import/actions-irssi/problem-matchers@master
- name: Test on Void Linux glibc
run: |
set -ex
curl -SLf https://github.com/irssi-import/actions-irssi/raw/master/check-irssi/render.pl -o ~/render.pl && chmod +x ~/render.pl
tar xzf artifact/irssi-*.tar.gz
# ninja install
cd irssi-*/
meson Build -Dwith-proxy=yes -Dwith-bot=yes -Dwith-perl=yes --prefix=$HOME/irssi-build --buildtype debugoptimized
ninja -C Build
ninja -C Build install
# ninja test
ninja -C Build test
find -name testlog.txt -exec sed -i -e '/Inherited environment:.* GITHUB/d' {} + -exec cat {} +
export TERM=xterm
# automated irssi launch test
cd
mkdir irssi-test
echo 'echo automated irssi launch test
^set settings_autosave off
^set -clear log_close_string
^set -clear log_day_changed
^set -clear log_open_string
^set log_timestamp *
^window log on
load irc
load dcc
load flood
load notifylist
load perl
load otr
load proxy
^quit' > irssi-test/startup
export LC_CTYPE=C.utf8
irssi-build/bin/irssi --home irssi-test | perl -Mutf8 -C ~/render.pl
cat irc.log.*

91
.gitignore vendored Normal file
View file

@ -0,0 +1,91 @@
ChangeLog
Makefile
Makefile.PL
Makefile.in
aclocal.m4
autom4te.cache
blib
build-aux
config.log
config.status
configure
default-config.h
default-theme.h
irssi-config
irssi-config.h
irssi-config.h.in
irssi-version.h
libtool
libtool.m4
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
pm_to_blib
stamp-h1
MYMETA.*
docs/help/Makefile.am
docs/help/[a-z]*
!docs/help/meson.build
!docs/help/in
docs/help/in/Makefile.am
src/fe-text/irssi
src/fe-fuzz/irssi-fuzz
src/fe-fuzz/irc/core/event-get-params-fuzz
src/fe-fuzz/fe-common/core/theme-load-fuzz
src/perl/perl-signals-list.h
src/perl/irssi-core.pl.h
src/perl/common/*.c
src/perl/irc/*.c
src/perl/textui/*.c
src/perl/ui/*.c
src/perl/*/MYMETA.*
src/perl/*/Makefile.old
src/fe-fuzz/crash-*
src/fe-fuzz/oom-*
/core
/irssi-1.pc
/irssi/
/tests/fe-common/core/test-formats
/tests/fe-common/core/test-formats.log
/tests/fe-common/core/test-formats.trs
/tests/fe-common/core/test-suite.log
/tests/irc/core/core
/tests/irc/core/test-channel-events
/tests/irc/core/test-channel-events.log
/tests/irc/core/test-channel-events.trs
/tests/irc/core/test-irc
/tests/irc/core/test-irc.log
/tests/irc/core/test-irc.trs
/tests/irc/core/test-suite.log
/tests/irc/flood/test-796
/tests/irc/flood/test-796.log
/tests/irc/flood/test-796.trs
/tests/irc/flood/test-suite.log
*.a
*.bs
*.la
*.lo
*.o
*.swp
*~
*.tar.bz2
*.tar.gz
.deps
.libs
Build
subprojects/*
!subprojects/*.wrap
Irssi-Dist
setup.cfg
*.egg-info

14
.muon_fmt.ini Normal file
View file

@ -0,0 +1,14 @@
# Irssi configuration for muon fmt
max_line_len = 108
indent_style = space
indent_size = 2
#indent_by = ' '
space_array = true
kwargs_force_multiline = true
wide_colon = true
no_single_comma_function = true
insert_final_newline = true
sort_files = false
group_arg_value = true
sticky_parens = true
continuation_indent = true

13
.obs/workflows.yml Normal file
View file

@ -0,0 +1,13 @@
workflow:
steps:
- branch_package:
source_project: home:ailin_nemui:irssi-git-an
source_package: irssi-git-an
target_project: home:ailin_nemui:CI
- set_flags:
flags:
- type: publish
status: enable
project: home:ailin_nemui:CI
filters:
event: pull_request

27
AUTHORS
View file

@ -10,6 +10,10 @@ Irssi staff (current maintainers) <staff@irssi.org>:
Geert Hauwaerts (Geert)
Jilles Tjoelker (jilles)
Alexander Færøy (ahf)
Jase Thew (bazerka)
dequis (dx)
Ailin Nemui (Nei)
Giuseppe (TheLemonMan, lemonboy)
Former developers:
@ -23,6 +27,8 @@ Large feature patches by:
Heikki Orsila : DCC SEND queueing
Mark Trumbull : DCC SERVER
Francesco Fracassi : Passive DCC
Uli Meis : OTR support
David Goulet : OTR support
Other patches (grep for "patch" in ChangeLog) by:
@ -73,6 +79,25 @@ Other patches (grep for "patch" in ChangeLog) by:
Jon Mayo
Johan Kiviniemi
JasonX
Lukas Mai
Lukas Mai (mauke)
Ismael Luceno
Thomas Karpiniec
Svante Kvarnström
Tom Feist (shabble)
Sebastian Thorarensen (Sebban)
Hans Nielsen
Jari Matilainen (vague)
Thibault B (isundil)
kyak
Vesa Pirila (Lohhari)
Haw Loeung
François Revol (mmuman)
blha303
Guillaume Brogi (guiniol)
Adam-
Robert C Jensen
Paul Johnson
KindOne
Fabian Kurz
Todd Pratt
xavierog

110
INSTALL
View file

@ -2,77 +2,68 @@
Irssi installation instructions
-------------------------------
To compile irssi you need:
To compile Irssi you need:
- glib-2.6 or greater
- pkg-config
- meson-0.53 build system with ninja-1.8 or greater
- pkg-config (or compatible)
- glib-2.32 or greater
- openssl (for ssl support)
- perl-5.6 or greater (for perl support)
- perl-5.8 or greater (for building, and optionally Perl scripts)
(n.b a complete perl is needed, including ExtUtils::Embed and xsubpp)
- terminfo or ncurses (for text frontend)
- utf8proc (optional, for additional char width calculation)
- libgcrypt (for OTR)
For most people, this should work just fine:
./configure
make
meson Build
ninja -C Build
su
make install (not _really_ required except for perl support)
ninja -C Build install
meson options
configure options
These options can be given to meson.
For a complete list of options, run
meson configure
--prefix
Specifies the path where irssi will be installed.
YES, you can install irssi WITHOUT ROOT permissions
Specifies the path where Irssi will be installed.
YES, you can install Irssi WITHOUT ROOT permissions
by using --prefix=/home/dir
--with-proxy
-Dwith-proxy=yes
Build the irssi proxy (see startup-HOWTO).
Build the Irssi proxy (see startup-HOWTO).
--disable-ipv6
Disable IPv6 support.
--disable-ssl
Disable SSL support.
--with-perl=[yes|no|module]
-Dwith-perl=[yes|no]
Enable Perl support
yes enable builtin (default)
no disable
module enable as module
--with-perl-lib=[site|vendor|DIR]
-Dwith-perl-lib=[site|vendor|DIR]
Specify installation dir for Perl libraries
site install in dir for site-specific modules (default)
vendor install in dir for vendor-specific modules
DIR install in DIR
--with-socks
Build with socks library
--with-bot
-Dwith-bot=yes
Build irssi-bot
--without-textui
-Dwithout-textui=yes
Build without text frontend
If ncurses is installed in a non-standard path you can specify it with
--with-ncurses=/path. If anything else is in non-standard path, you can just
give the paths in CPPFLAGS and LIBS environment variable, eg.:
If anything is in non-standard path, you can just give the paths in
the -Dc_args and -Dc_link_args options variable, eg.:
CPPFLAGS=-I/opt/openssl/include LDFLAGS=-L/opt/openssl/lib ./configure
meson Build -Dc_args='-I/opt/openssl/include' -Dc_link_args='-L/opt/openssl/lib'
Irssi doesn't really need curses anymore, by default it uses
terminfo/termcap directly. The functions for using terminfo/termcap
however are usually only in curses library, some systems use libtermcap
as well. If you want to use only curses calls for some reason, use
--without-terminfo.
Perl problems
@ -81,17 +72,9 @@ as well. If you want to use only curses calls for some reason, use
Perl support generates most of the problems. There's quite a many
things that can go wrong:
- Compiling fails if you compile irssi with GCC in a system that has
perl compiled with some other C compiler. Very common problem with
non-Linux/BSD systems. You'll need to edit src/perl/*/Makefile files
and remove the parameters that gcc doesn't like. Mostly you'll just
need to keep the -I and -D parameters and add -fPIC.
- If there's any weird crashing at startup, you might have older irssi's
perl libraries installed somewhere, and you should remove those.
- Dynamic libraries don't want to work with some systems, so if your
system complains about some missing symbol in Irssi.so file, configure
irssi with --with-perl-staticlib option (NOT same as --with-perl=static).
- If configure complains that it doesn't find some perl stuff, you're
- If meson complains that it doesn't find some perl stuff, you're
probably missing libperl.so or libperl.a. In debian, you'll need to do
apt-get install libperl-dev
@ -100,23 +83,40 @@ command. It should print something like:
Module Type Submodules
...
perl static core fe
perl dynamic fe core
System specific notes
---------------------
Android
When cross compiling Irssi for Android, you can specify the path of
the cross-perl in the cross file.
You may not have a cross-perl available. In that case, you will have
to manually supply the required Perl arguments in the cross file. See
the commented properties in the example cross file.
An example cross file can be found in the docs folder. To use it, you
would call:
meson Build --cross-file cross-android-aarch64.txt \
--prefix /data/data/com.termux/files/usr \
--libdir lib \
-Dfhs-prefix=/data/data/com.termux/files/usr \
Cygwin
Getting perl scripting to work needs a few things:
- configure with --with-perl-staticlib
- TODO
- libperl.dll is required in linking and running irssi, it's normally
located somewhere around /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.dll
copy it to eg. /usr/bin/libperl.dll
- -DUSEIMPORTLIB is needed to be defined while compiling src/perl directory.
It doesn't hurt to be defined everywhere, so configure irssi with:
Apple MacOS / Darwin
CFLAGS='-DUSEIMPORTLIB' ./configure --with-perl-staticlib
At the time of writing, meson has an open issue with correctly linking
libraries on macos.
See docs/meson-macos-ar.txt for a workaround.

35
MANIFEST.in Normal file
View file

@ -0,0 +1,35 @@
global-include meson.build
recursive-include src *.c *.h meson.build
recursive-include src/perl *.c *.h *.xs *.pm *.pl typemap meson.build
recursive-include src/fe-fuzz *.c *.h *.txt meson.build
recursive-include tests *.c meson.build
include meson_options.txt
include subprojects/*.wrap
# prune subprojects/*
include utils/*.pl utils/*.sh
exclude utils/make-dist.sh
include irssi.conf
include themes/*.theme
include docs/*.1 docs/*.txt docs/*.html
include docs/help/in/[a-z]*.in
include scripts/*.pl scripts/examples/*.pl
include irssi-icon.png
include NEWS
include INSTALL
include TODO
include ChangeLog
include .clang-format
# prune Build
# prune dist
prune *.egg-info
# ignore fuzz-support/fuzz.diff
# ignore utils/clang-format-xs/*

View file

@ -1,36 +0,0 @@
ACLOCAL_AMFLAGS = -I .
# create default-config.h
BUILT_SOURCES = default-config.h default-theme.h irssi-version.h
.PHONY: irssi-version.h
default-config.h: $(srcdir)/irssi.conf
$(srcdir)/file2header.sh $(srcdir)/irssi.conf default_config > default-config.h
default-theme.h: $(srcdir)/default.theme
$(srcdir)/file2header.sh $(srcdir)/default.theme default_theme > default-theme.h
irssi-version.h:
$(srcdir)/irssi-version.sh $(srcdir) | cmp -s - $@ || $(srcdir)/irssi-version.sh $(srcdir) >$@
SUBDIRS = src docs scripts
confdir = $(sysconfdir)
conf_DATA = irssi.conf
themedir = $(datadir)/irssi/themes
theme_DATA = default.theme colorless.theme
pkginclude_HEADERS = irssi-config.h irssi-version.h
EXTRA_DIST = \
ChangeLog \
autogen.sh \
curses.m4 \
README \
file2header.sh \
$(conf_DATA) \
$(theme_DATA) \
irssi-config.in \
irssi-icon.png \
irssi-version.sh \
syntax.pl

993
NEWS

File diff suppressed because it is too large Load diff

115
README
View file

@ -1,115 +0,0 @@
irssi, http://irssi.org
* INSTALLATION
See INSTALL file.
* FILES
- docs/ directory contains several documents:
- startup-HOWTO.txt - new users should read this
- manual.txt - manual I started writing but didn't get it very far :)
- perl.txt - Perl scripting help
- formats.txt - How to use colors, etc. with irssi
- faq.txt - Frequently Asked Questions
- special_vars.txt - some predefined $variables you can use with irssi
* ABOUT
Irssi is a modular IRC client that currently has only text mode user
interface, but 80-90% of the code isn't text mode specific, so other
UIs could be created pretty easily. Also, Irssi isn't really even IRC
specific anymore, there's already a working SILC (http://www.silcnet.org)
module available. Support for other protocols like ICQ could be created
some day too.
* FEATURES
So what's so great about Irssi? Here's a list of some features I can
think of currently:
- Optional automation - There's lots of things Irssi does for you
automatically that some people like and others just hate. Things like:
nick completion, creating new window for newly joined channel, creating
queries when msgs/notices are received or when you send a msg, closing
queries when it's been idle for some time, etc.
- Multiserver friendy - I think Irssi has clearly the best support
for handling multiple server connections. You can have as many as you
want in as many ircnets as you want. Having several connections in one
server works too, for example when you hit the (ircnet's) 10
channels/connection limit you can just create another connection and
you hardly notice it. If connection to server is lost, Irssi tries to
connect back until it's successful. Also channels you were joined
before disconnection are restored, even if they're "temporarily
unavailable" because of netsplits, Irssi keeps rejoining back to them.
Also worth noticing - there's not that stupid "server is bound to this
window, if this window gets closed the connection closes" thing that
ircII based clients have.
- Channel automation - You can specify what channels to join to
immediately after connected to some server or IRC network. After joined
to channel, Irssi can automatically request ops for you (or do
anything, actually) from channel's bots.
- Window content saving - Say /LAYOUT SAVE when you've put all the
channels and queries to their correct place, and after restarting
Irssi, the channels will be joined back into windows where they were
saved.
- Tab completing anything - You can complete lots of things with tab:
nicks, commands, command -options, file names, settings, text format
names, channels and server names. There's also an excellent /msg
completion that works transparently with multiple IRC networks.
Completing channel nicks is also pretty intelligent, it first goes
through the people who have talked to you recently, then the people who
have talked to anyone recently and only then it fallbacks to rest of
the nicks. You can also complete a set of words you've specified, for
example homepage<tab> changes it to your actual home page URL.
- Excellent logging - You can log any way you want and as easily or
hard as you want. With autologging Irssi logs everything to specified
directory, one file per channel/nick. ircII style /WINDOW LOG ON is
also supported. There's also the "hard way" of logging - /LOG command
which lets you specify exactly what you wish to log and where. Log
rotating is supported with all the different logging methods, you can
specify how often you want it to rotate and what kind of time stamp to
use.
- Excellent ignoring - You can most probably ignore anything any way
you want. Nick masks, words, regular expressions. You can add
exceptions to ignores. You can ignore other people's replies in
channels to nicks you have ignored. You can also specify that the
specific ignores work only in specific channel(s).
- Lastlog and scrollback handling - /LASTLOG command has some new
features: -new option checks only lines that came since you last did
/LASTLOG command, -away option checks new lines since you last went
away. Regular expression matches work also, of course. Going to some
wanted place at scrollback has always been hard with non-GUI clients. A
search command that jumps around in scrollback in GUI-style is still
missing from Irssi, but there's something that's almost as good as it.
/LASTLOG always shows timestamps when the line was printed, even if you
didn't have timestamps on. Now doing /SB GOTO <timestamp> jumps
directly to the position in scrollback you wanted. Great feature when
you want to browse a bit of the discussion what happened when someone
said your name (as seen in awaylog) or topic was changed (/last
-topics)
* BUGS / SUGGESTIONS
See TODO file and http://bugs.irssi.org if it is already listed in there;
if not open a bugreport on http://bugs.irssi.org or send a mail to
staff@irssi.org
You can also contact the Irssi developers on #irssi @ EFnet, Freenode, IRCnet,
Quakenet and Undernet.
The IRCnet channel is for development related questions and discussions.

74
README.md Normal file
View file

@ -0,0 +1,74 @@
# [Irssi](https://irssi.org)
![Build Status](https://github.com/irssi/irssi/workflows/Check%20Irssi/badge.svg?branch=master)
Irssi is a modular text mode chat client. It comes with IRC support
built in, and there are third party
[ICB](https://github.com/jperkin/irssi-icb),
[SILC](http://www.silcnet.org/),
[XMPP](http://cybione.org/~irssi-xmpp/) (Jabber),
[PSYC](http://about.psyc.eu/Irssyc) and
[Quassel](https://github.com/phhusson/quassel-irssi) protocol modules
available.
![irssi](https://user-images.githubusercontent.com/5665186/32180643-cf127f60-bd92-11e7-8aa2-882313ce1d8e.png)
## [Download information](https://irssi.org/download/)
#### Development source installation
[Ninja](https://ninja-build.org/) 1.8 and [Meson](https://mesonbuild.com/) 0.53
```
git clone https://github.com/irssi/irssi
cd irssi
meson Build
ninja -C Build && sudo ninja -C Build install
```
#### Release source installation
* Download [release](https://github.com/irssi/irssi/releases)
* Verify signature
```
tar xJf irssi-*.tar.xz
cd irssi-*
meson Build
ninja -C Build && sudo ninja -C Build install
```
### Requirements
- [glib-2.32](https://wiki.gnome.org/Projects/GLib) or greater
- [openssl](https://www.openssl.org/)
- [perl-5.8](https://www.perl.org/) or greater (for perl support)
- terminfo or ncurses (for text frontend)
#### See the [INSTALL](INSTALL) file for details
## [Documentation](https://irssi.org/documentation/)
* [New users guide](https://irssi.org/New-users/)
* [Questions and Answers](https://irssi.org/documentation/qna/)
* Check the built-in `/HELP`, it has all the details on command syntax
## [Themes](https://irssi-import.github.io/themes/)
## [Scripts](https://scripts.irssi.org/)
## [Modules](https://irssi.org/modules/)
## [Security information](https://irssi.org/security/)
Please report security issues to staff@irssi.org. Thanks!
## [Bugs](https://github.com/irssi/irssi/issues) / Suggestions / Contributing
Check the GitHub issues if it is already listed in there; if not, open
an issue on GitHub or send a mail to [staff@irssi.org](mailto:staff@irssi.org).
Irssi is always looking for developers. Feel free to submit patches through
GitHub pull requests.
You can also contact the Irssi developers in
[#irssi](https://irssi.org/support/irc/) on irc.libera.chat.

View file

@ -1,34 +0,0 @@
/* misc.. */
#undef HAVE_IPV6
#undef HAVE_SOCKS_H
#undef HAVE_STATIC_PERL
#undef HAVE_GMODULE
#undef HAVE_GC_H
#undef HAVE_GC_GC_H
#undef USE_GC
/* macros/curses checks */
#undef HAS_CURSES
#undef USE_SUNOS_CURSES
#undef USE_BSD_CURSES
#undef USE_SYSV_CURSES
#undef USE_NCURSES
#undef NO_COLOR_CURSES
#undef SCO_FLAVOR
/* our own curses checks */
#undef HAVE_NCURSES_USE_DEFAULT_COLORS
#undef HAVE_CURSES_IDCOK
#undef HAVE_CURSES_RESIZETERM
#undef HAVE_CURSES_WRESIZE
/* terminfo/termcap */
#undef HAVE_TERMINFO
/* What type should be used for uoff_t */
#undef UOFF_T_INT
#undef UOFF_T_LONG
#undef UOFF_T_LONG_LONG
/* printf()-format for uoff_t, eg. "u" or "lu" or "llu" */
#undef PRIuUOFF_T

View file

@ -1,70 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
PKG_NAME="Irssi"
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
if test ! -f $srcdir/irssi.cvs -a -f $srcdir/configure; then
echo
echo "Use ./configure instead"
echo
echo "This script should only be run if you got sources from SVN."
echo "If you really want to do this, say:"
echo " touch irssi.cvs"
exit 0
fi
if test ! -f $srcdir/configure.in; then
echo -n "**Error**: Directory \`$srcdir\' does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
fi
# create help files
echo "Creating help files..."
perl syntax.pl
$srcdir/update-changelog.sh $srcdir
files=`echo docs/help/in/*.in|sed -e 's,docs/help/in/Makefile.in ,,' -e 's,docs/help/in/,!,g' -e 's/\.in /.in ?/g'`
cat docs/help/in/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!?' '\t\n' > docs/help/in/Makefile.am
files=`echo $files|sed 's/\.in//g'`
cat docs/help/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!?' '\t\n' > docs/help/Makefile.am
# .html -> .txt with lynx or elinks
echo "Documentation: html -> txt..."
if type lynx >/dev/null 2>&1 ; then
lynx -dump -nolist docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
elif type elinks >/dev/null 2>&1 ; then
elinks -dump docs/faq.html|perl -pe 's/^ *//; if ($_ eq "\n" && $state eq "Q") { $_ = ""; } elsif (/^([QA]):/) { $state = $1 } elsif ($_ ne "\n") { $_ = " $_"; };' > docs/faq.txt
else
echo "**Error**: No lynx or links present"
exit 1
fi
if test x$NOCONFIGURE = x && test -z "$*"; then
echo "**Warning**: I am going to run \`configure' with no arguments."
echo "If you wish to pass any to it, please specify them on the"
echo \`$0\'" command line."
echo
fi
rm -f aclocal.m4
echo "Running autoreconf ..."
autoreconf -i || exit 1
conf_flags="--enable-maintainer-mode"
if test x$NOCONFIGURE = x; then
echo Running $srcdir/configure $conf_flags "$@" ...
$srcdir/configure $conf_flags "$@" \
&& echo Now type \`make\' to compile $PKG_NAME || exit 1
else
echo Skipping configure process.
fi
# make sure perl hashes have correct length
find src/perl -name *.c -o -name *.xs | xargs grep -n hv_store | perl -ne 'if (/"(\w+)",\s*(\d+)/) { print unless $2 == length $1 }'

View file

@ -1,738 +0,0 @@
AC_INIT(irssi, 0.8.15)
AC_CONFIG_SRCDIR([src])
AC_CONFIG_AUX_DIR(build-aux)
AC_PREREQ(2.50)
AC_CONFIG_HEADERS([irssi-config.h])
AM_INIT_AUTOMAKE([1.9 no-define foreign])
AM_MAINTAINER_MODE
AC_ISC_POSIX
AC_PROG_CC
AC_PROG_CPP
AM_PROG_LIBTOOL
AC_PATH_PROG(sedpath, sed)
AC_PATH_PROG(perlpath, perl)
AC_CHECK_HEADERS(unistd.h dirent.h sys/ioctl.h sys/resource.h)
# check posix headers..
AC_CHECK_HEADERS(sys/time.h sys/utsname.h regex.h)
AC_SYS_LARGEFILE
AC_ARG_WITH(socks,
[ --with-socks Build with socks support],
if test x$withval = xno; then
want_socks=no
else
want_socks=yes
fi,
want_socks=no)
AC_ARG_WITH(textui,
[ --without-textui Build without text frontend],
if test x$withval = xno; then
want_textui=no
else
want_textui=yes
fi,
want_textui=yes)
AC_ARG_WITH(bot,
[ --with-bot Build irssi-bot],
if test x$withval = xno; then
want_irssibot=no
else
want_irssibot=yes
fi,
want_irssibot=no)
AC_ARG_WITH(proxy,
[ --with-proxy Build irssi-proxy],
if test x$withval = xno; then
want_irssiproxy=no
else
want_irssiproxy=yes
fi,
want_irssiproxy=no)
AC_ARG_WITH(terminfo,
[ --without-terminfo Use curses backend instead of terminfo],
if test x$withval = xno; then
want_terminfo=no
else
want_terminfo=yes
fi,
want_terminfo=yes)
AC_ARG_WITH(modules,
[ --with-modules Specify what modules to build in binary],
if test x$withval != xyes -a x$withval != xno; then
build_modules="$withval"
fi)
if test "x$prefix" != "xNONE"; then
prefix=`eval echo $prefix`
PERL_MM_PARAMS="INSTALLDIRS=perl PREFIX=$prefix"
perl_library_dir="PERL_USE_LIB"
perl_set_use_lib=yes
perl_prefix_note=yes
fi
AC_ARG_WITH(gc,
[ --with-gc Use garbage collector],
if test x$withval = xno; then
want_gc=no
else
want_gc=yes
fi,
want_gc=no)
AC_ARG_WITH(perl-staticlib,
[ --with-perl-staticlib Specify that we want to link perl libraries
statically in irssi, default is no],
if test x$withval = xno; then
want_staticperllib=no
else
want_staticperllib=yes
fi,
want_staticperllib=no)
AC_ARG_WITH(perl-lib,
[ --with-perl-lib=[site|vendor|DIR] Specify where to install the
Perl libraries for irssi, default is site],
if test "x$withval" = xyes; then
want_perl=yes
elif test "x$withval" = xno; then
want_perl=no
elif test "x$withval" = xsite; then
want_perl=yes
perl_prefix_note=no
PERL_MM_PARAMS=""
elif test "x$withval" = xvendor; then
want_perl=yes
perl_prefix_note=no
if test -z "`$perlpath -v|grep '5\.0'`"; then
PERL_MM_PARAMS="INSTALLDIRS=vendor"
else
PERL_MM_PARAMS="INSTALLDIRS=perl PREFIX=`perl -e 'use Config; print $Config{prefix}'`"
fi
perl_library_dir="(vendor default - `$perlpath -e 'use Config; print $Config{archlib}'`)"
else
want_perl=yes
perl_prefix_note=no
PERL_MM_PARAMS="INSTALLDIRS=perl LIB=$withval"
perl_library_dir="PERL_USE_LIB"
perl_set_use_lib=yes
fi,
want_perl=yes)
AC_ARG_WITH(perl,
[ --with-perl[=yes|no|module] Build with Perl support - also specifies
if it should be built into main irssi binary
(static, default) or as module],
if test x$withval = xyes; then
want_perl=static
elif test x$withval = xstatic; then
want_perl=static
elif test x$withval = xmodule; then
want_perl=module
else
want_perl=no
fi,
want_perl=static)
AC_ARG_ENABLE(ipv6,
[ --disable-ipv6 Disable IPv6 support],
if test x$enableval = xno; then
want_ipv6=no
else
want_ipv6=yes
fi,
want_ipv6=yes)
dnl **
dnl ** SSL Library checks (OpenSSL)
dnl **
AC_ARG_ENABLE(ssl,
[ --disable-ssl Disable Secure Sockets Layer support],,
enable_ssl=yes)
dnl **
dnl ** just some generic stuff...
dnl **
dnl * OS specific options
case "$host_os" in
hpux*)
CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
;;
*)
;;
esac
AC_CHECK_FUNC(socket, [], [
AC_CHECK_LIB(socket, socket, [
LIBS="$LIBS -lsocket"
])
])
AC_CHECK_FUNC(inet_addr, [], [
AC_CHECK_LIB(nsl, inet_addr, [
LIBS="$LIBS -lnsl"
])
])
dnl * gcc specific options
if test "x$ac_cv_prog_gcc" = "xyes"; then
CFLAGS="$CFLAGS -Wall"
fi
dnl * socklen_t - AC_CHECK_TYPE() would be _really_ useful if it only would
dnl * accept header files where to find the typedef..
AC_MSG_CHECKING([for socklen_t])
AC_CACHE_VAL(irssi_cv_type_socklen_t,
[AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t t;],
irssi_cv_type_socklen_t=yes,
irssi_cv_type_socklen_t=no,
)])
if test $irssi_cv_type_socklen_t = no; then
AC_DEFINE(socklen_t, int, Define to 'int' if <sys/socket.h> doesn't define.)
fi
AC_MSG_RESULT($irssi_cv_type_socklen_t)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(long long)
AC_CHECK_SIZEOF(off_t)
if test $ac_cv_sizeof_off_t = 8; then
offt_64bit=yes
else
offt_64bit=no
fi
if test x$ac_cv_sizeof_off_t = x$ac_cv_sizeof_long; then
# try to use unsigned long always first
AC_DEFINE_UNQUOTED(PRIuUOFF_T, "lu")
AC_DEFINE(UOFF_T_LONG)
elif test x$ac_cv_sizeof_off_t = x$ac_cv_sizeof_int; then
# next try int
AC_DEFINE_UNQUOTED(PRIuUOFF_T, "u")
AC_DEFINE(UOFF_T_INT)
elif test x$ac_cv_sizeof_off_t = x$ac_cv_sizeof_long_long; then
# and finally long long
AC_DEFINE_UNQUOTED(PRIuUOFF_T, "llu")
AC_DEFINE(UOFF_T_LONG_LONG)
else
AC_ERROR([Couldn't find integer type for off_t])
fi
dnl **
dnl ** check for socks
dnl **
if test "x$want_socks" = "xyes"; then
AC_CHECK_LIB(socks, connect, [
AC_DEFINE(HAVE_SOCKS,, Build with socks support)
LIBS="$LIBS -lsocks"
AC_CHECK_HEADER(socks.h, [
AC_DEFINE(HAVE_SOCKS_H)
CFLAGS="$CFLAGS -DSOCKS"
AC_MSG_RESULT(["socks5 library found, building with it"])
], [
AC_MSG_RESULT(["socks4 library found, building with it"])
CFLAGS="$CFLAGS -Dconnect=Rconnect -Dgetsockname=Rgetsockname -Dgetpeername=Rgetpeername -Dbind=Rbind -Daccept=Raccept -Dlisten=Rlisten -Dselect=Rselect"
])
])
fi
dnl **
dnl ** fe-text checks
dnl **
for try in 1 2; do
if test $try = 1; then
glib_modules=gmodule
else
echo "*** trying without -lgmodule"
glib_modules=
fi
AM_PATH_GLIB_2_0(2.6.0,,, $glib_modules)
if test "$GLIB_LIBS"; then
if test $glib_modules = gmodule; then
AC_DEFINE(HAVE_GMODULE)
have_gmodule=yes
fi
break
fi
done
if test -z "$GLIB_LIBS"; then
echo
echo "*** If you don't have GLIB, you can get it from ftp://ftp.gtk.org/pub/glib/"
echo "*** We recommend you get the latest stable GLIB 2 version."
echo "*** Compile and install it, and make sure pkg-config finds it,"
echo "*** by adding the path where the .pc file is located to PKG_CONFIG_PATH"
echo
AC_ERROR([GLIB is required to build irssi.])
fi
LIBS="$LIBS $GLIB_LIBS"
have_openssl=no
if test "$enable_ssl" = "yes"; then
PKG_CHECK_MODULES(SSL, openssl, :, :)
if test "$SSL_LIBS"; then
CFLAGS="$CFLAGS $SSL_CFLAGS"
have_openssl=yes
else
AC_CHECK_LIB(ssl, SSL_read, [
AC_CHECK_HEADERS(openssl/ssl.h openssl/err.h, [
SSL_LIBS="-lssl -lcrypto"
have_openssl=yes
])
],, -lcrypto)
fi
if test "$have_openssl" = "yes"; then
AC_DEFINE(HAVE_OPENSSL,, Build with OpenSSL support)
LIBS="$LIBS $SSL_LIBS"
fi
fi
dnl **
dnl ** Garbage Collector
dnl **
have_gc=no
if test "x$want_gc" = xyes; then
AC_CHECK_LIB(gc, GC_malloc, [
AC_CHECK_HEADER(gc/gc.h, [
AC_DEFINE(HAVE_GC_GC_H)
AC_DEFINE(USE_GC)
LIBS="$LIBS -lgc"
have_gc=yes
], [
AC_CHECK_HEADER(gc.h, [
AC_DEFINE(HAVE_GC_H)
AC_DEFINE(USE_GC)
LIBS="$LIBS -lgc"
have_gc=yes
])
])
])
fi
dnl **
dnl ** curses checks
dnl **
if test "x$want_textui" = "xyes"; then
AC_CHECK_CURSES
TEXTUI_LIBS="$CURSES_LIBS"
if test "x$has_curses" = "xtrue"; then
old_libs=$LIBS
LIBS="$LIBS $CURSES_LIBS"
if test $want_terminfo = no; then
AC_CHECK_FUNC(use_default_colors, AC_DEFINE(HAVE_NCURSES_USE_DEFAULT_COLORS))
AC_CHECK_FUNC(idcok, AC_DEFINE(HAVE_CURSES_IDCOK))
AC_CHECK_FUNC(resizeterm, AC_DEFINE(HAVE_CURSES_RESIZETERM))
AC_CHECK_FUNC(wresize, AC_DEFINE(HAVE_CURSES_WRESIZE))
fi
AC_CHECK_FUNC(setupterm,, [
want_termcap=yes
])
LIBS=$old_libs
else
AC_CHECK_LIB(tinfo, setupterm, [
TEXTUI_LIBS="-ltinfo"
want_terminfo=yes
], AC_CHECK_LIB(termlib, tgetent, [
TEXTUI_LIBS="-ltermlib"
want_termcap=yes
], AC_CHECK_LIB(termcap, tgetent, [
TEXTUI_LIBS="-ltermcap"
want_termcap=yes
], [
AC_ERROR(Terminfo/termcap not found - install ncurses-devel package)
want_textui=no
])))
fi
AC_SUBST(TEXTUI_LIBS)
if test "x$want_termcap" = "xyes"; then
AC_CHECK_FUNC(tparm,, need_tparm=yes)
else
AC_DEFINE(HAVE_TERMINFO)
fi
fi
dnl **
dnl ** perl checks
dnl **
if test "$want_perl" != "no"; then
AC_MSG_CHECKING(for working Perl support)
if test -z "$perlpath"; then
perl_check_error="perl binary not found"
else
PERL_CFLAGS=`$perlpath -MExtUtils::Embed -e ccopts 2>/dev/null`
fi
if test "x$ac_cv_prog_gcc" = "xyes" -a -z "`echo $host_os|grep 'bsd\|linux'`"; then
dnl * several systems have Perl compiled with native compiler
dnl * but irssi is being compiled with GCC. Here we try to
dnl * fix those command line options a bit so GCC won't
dnl * complain about them. Normally there's only few options
dnl * that we want to keep:
dnl * -Ddefine -Uundef -I/path -fopt -mopt
PERL_CFLAGS=`echo $PERL_CFLAGS | $perlpath -pe 's/^(.* )?-[^DUIfm][^ ]+/\1/g; s/^(.* )?\+[^ ]+/\1/g'`
PERL_EXTRA_OPTS="CCCDLFLAGS=\"-fPIC\""
AC_SUBST(PERL_EXTRA_OPTS)
fi
if test -z "$PERL_CFLAGS"; then
if test -n "$perl_check_error"; then
perl_check_error="Error getting perl CFLAGS"
fi
AC_MSG_RESULT([not found, building without Perl])
want_perl=no
else
PERL_LDFLAGS=`$perlpath -MExtUtils::Embed -e ldopts 2>/dev/null`
dnl * remove all database stuffs
dnl * nsl is already in ldflags
dnl * libc is of course linked without needing -lc
dnl * -rdynamic must not be in LIBADD line
for word in -ldb -ldbm -lndbm -lgdbm -lc -rdynamic; do
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e "s/$word //" -e "s/$word$//"`
done
case "$host_os" in
linux*)
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e 's/-lposix //' -e 's/-lposix$//'`
;;
hpux*)
if test "x$ac_cv_prog_gcc" = "xyes"; then
PERL_CFLAGS=`echo $PERL_CFLAGS | $sedpath -e 's/-Ae //' -e 's/-Ae$//'`
PERL_LDFLAGS=`echo $PERL_LDFLAGS | $sedpath -e 's/-Ae //' -e 's/-Ae$//'`
fi
;;
*)
;;
esac
dnl * check that perl's ldflags actually work
echo "main(){perl_alloc(); return 0;}" > conftest.c
$CC $CFLAGS conftest.c -o conftest $LDFLAGS $PERL_LDFLAGS 2> perl.error.tmp > /dev/null
if test ! -s conftest -a "x$ignore_perl_errors" = "x"; then
perl_check_error="Error linking with perl libraries: $PERL_LDFLAGS: `cat perl.error.tmp`"
AC_MSG_RESULT([error linking with perl libraries, building without Perl])
want_perl=no
fi
rm -f perl.error.tmp
fi
if test "x$want_perl" != "xno"; then
AC_MSG_RESULT(ok)
if test "x$want_perl" = "xstatic"; then
dnl * building with static perl support
dnl * all PERL_LDFLAGS linking is done in fe-text
PERL_LINK_FLAGS="$PERL_LDFLAGS"
PERL_LINK_LIBS="../perl/libperl_core_static.la"
PERL_FE_LINK_LIBS="../perl/libfe_perl_static.la"
PERL_LDFLAGS=
AC_DEFINE(HAVE_STATIC_PERL)
dnl * build only static library of perl module
perl_module_lib=
perl_module_fe_lib=
perl_static_lib=libperl_core_static.la
perl_static_fe_lib=libfe_perl_static.la
else
dnl * build dynamic library of perl module
perl_module_lib=libperl_core.la
perl_module_fe_lib=libfe_perl.la
perl_static_lib=
perl_static_fe_lib=
fi
if test "x$want_staticperllib" = "xyes"; then
PERL_MM_PARAMS="$PERL_MM_PARAMS LINKTYPE=static"
PERL_LINK_LIBS="$PERL_LINK_LIBS ../perl/common/blib/arch/auto/Irssi/Irssi.a ../perl/irc/blib/arch/auto/Irssi/Irc/Irc.a ../perl/ui/blib/arch/auto/Irssi/UI/UI.a ../perl/textui/blib/arch/auto/Irssi/TextUI/TextUI.a"
PERL_STATIC_LIBS=1
else
PERL_STATIC_LIBS=0
fi
# figure out the correct @INC path - we'll need to do this
# through MakeMaker since it's difficult to get it right
# otherwise.
if test "x$perl_set_use_lib" = "xyes"; then
perl -e 'use ExtUtils::MakeMaker; WriteMakefile("NAME" => "test", "MAKEFILE" => "Makefile.test");' $PERL_MM_PARAMS >/dev/null
PERL_USE_LIB=`perl -e 'open(F, "Makefile.test"); while (<F>) { chomp; if (/^(\w+) = (.*$)/) { $keys{$1} = $2; } }; $key = $keys{INSTALLARCHLIB}; while ($key =~ /\\$\((\w+)\)/) { $value = $keys{$1}; $key =~ s/\\$\($1\)/$value/; }; print $key;'`
rm -f Makefile.test
fi
AC_SUBST(perl_module_lib)
AC_SUBST(perl_static_lib)
AC_SUBST(perl_module_fe_lib)
AC_SUBST(perl_static_fe_lib)
AC_SUBST(PERL_LINK_FLAGS)
AC_SUBST(PERL_LINK_LIBS)
AC_SUBST(PERL_FE_LINK_LIBS)
AC_SUBST(PERL_LDFLAGS)
AC_SUBST(PERL_CFLAGS)
AC_SUBST(PERL_USE_LIB)
AC_SUBST(PERL_MM_PARAMS)
AC_SUBST(PERL_STATIC_LIBS)
fi
fi
dnl ** check what we want to build
AM_CONDITIONAL(BUILD_TEXTUI, test "$want_textui" = "yes")
AM_CONDITIONAL(BUILD_IRSSIBOT, test "$want_irssibot" = "yes")
AM_CONDITIONAL(BUILD_IRSSIPROXY, test "$want_irssiproxy" = "yes")
AM_CONDITIONAL(HAVE_PERL, test "$want_perl" != "no")
AM_CONDITIONAL(NEED_TPARM, test "$need_tparm" = "yes")
AM_CONDITIONAL(USE_CURSES, test "$want_terminfo" != "yes" -a "$want_termcap" != "yes")
# move LIBS to PROG_LIBS so they're not tried to be used when linking eg. perl libraries
PROG_LIBS=$LIBS
LIBS=
AC_SUBST(PROG_LIBS)
dnl **
dnl ** Keep all the libraries here so each frontend doesn't need to
dnl ** keep track of them all
dnl **
dnl ** (these could be made configurable)
CHAT_MODULES="irc"
irc_MODULES="dcc flood notifylist"
if test -n "$build_modules"; then
irc_MODULES="$irc_MODULES $build_modules"
fi
dnl ****************************************
AC_SUBST(CHAT_MODULES)
AC_SUBST(irc_MODULES)
CORE_LIBS="../core/libcore.a ../lib-config/libirssi_config.a"
FE_COMMON_LIBS=""
CHAT_LIBS=""
for c in $CHAT_MODULES; do
module_inits=""
module_deinits=""
fe_module_inits=""
fe_module_deinits=""
CHAT_LIBS="$CHAT_LIBS ../$c/lib$c.a ../$c/core/lib${c}_core.a"
if test -f $srcdir/src/fe-common/$c/module.h; then
FE_COMMON_LIBS="$FE_COMMON_LIBS../fe-common/$c/libfe_common_$c.a "
fi
for s in `eval echo \\$${c}_MODULES`; do
CHAT_LIBS="$CHAT_LIBS ../$c/$s/lib${c}_$s.a"
module_inits="$module_inits ${c}_${s}_init();"
module_deinits="${c}_${s}_deinit(); $module_deinits"
if test -f $srcdir/src/fe-common/$c/$s/module.h; then
FE_COMMON_LIBS="$FE_COMMON_LIBS../fe-common/$c/$s/libfe_${c}_$s.a "
fe_module_inits="$fe_module_inits fe_${c}_${s}_init();"
fe_module_deinits="fe_${c}_${s}_deinit(); $fe_module_deinits"
fi
done
mkdir -p src/$c
file="src/$c/$c.c"
echo "/* this file is automatically generated by configure - don't change */" > $file
echo "void ${c}_core_init(void); void ${c}_core_deinit(void);" >> $file
if test -n "$module_inits"; then
echo "$module_inits" | $sedpath -e 's/()/(void)/g' -e 's/ /void /g' >> $file
echo "$module_deinits" | $sedpath -e 's/ *$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
fi
echo "void ${c}_init(void) { ${c}_core_init(); $module_inits }" >> $file
echo "void ${c}_deinit(void) { $module_deinits ${c}_core_deinit(); }" >> $file
if test -f $srcdir/src/fe-common/$c/module.h; then
mkdir -p src/fe-common/$c
file="src/fe-common/$c/${c}-modules.c"
echo "/* this file is automatically generated by configure - don't change */" > $file
if test -n "$fe_module_inits"; then
echo "$fe_module_inits" | $sedpath -e 's/()/(void)/g' -e 's/ /void /g' >> $file
echo "$fe_module_deinits" | $sedpath -e 's/ *$//' -e 's/()/(void)/g' -e 's/ /void /g' -e 's/^/void /' >> $file
fi
echo "void fe_${c}_modules_init(void) { $fe_module_inits }" >> $file
echo "void fe_${c}_modules_deinit(void) { $fe_module_deinits }" >> $file
fi
done
FE_COMMON_LIBS="$FE_COMMON_LIBS../fe-common/core/libfe_common_core.a"
dnl ** common libraries needed by frontends
COMMON_NOUI_LIBS="$CHAT_LIBS $CORE_LIBS"
COMMON_LIBS="$FE_COMMON_LIBS $COMMON_NOUI_LIBS"
AC_SUBST(COMMON_NOUI_LIBS)
AC_SUBST(COMMON_LIBS)
dnl **
dnl ** IPv6 support
dnl **
have_ipv6=no
if test "x$want_ipv6" = "xyes"; then
AC_MSG_CHECKING([for IPv6])
AC_CACHE_VAL(irssi_cv_type_in6_addr,
[AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#include <arpa/inet.h>],
[struct in6_addr i;],
have_ipv6=yes,
)])
if test $have_ipv6 = yes; then
AC_DEFINE(HAVE_IPV6)
fi
AC_MSG_RESULT($have_ipv6)
fi
AC_CONFIG_FILES([
Makefile
src/Makefile
src/core/Makefile
src/irc/Makefile
src/irc/core/Makefile
src/irc/dcc/Makefile
src/irc/notifylist/Makefile
src/irc/proxy/Makefile
src/irc/flood/Makefile
src/fe-common/Makefile
src/fe-common/core/Makefile
src/fe-common/irc/Makefile
src/fe-common/irc/dcc/Makefile
src/fe-common/irc/notifylist/Makefile
src/fe-none/Makefile
src/fe-text/Makefile
src/lib-config/Makefile
src/perl/Makefile
src/perl/common/Makefile.PL
src/perl/irc/Makefile.PL
src/perl/ui/Makefile.PL
src/perl/textui/Makefile.PL
scripts/Makefile
scripts/examples/Makefile
docs/Makefile
docs/help/Makefile
docs/help/in/Makefile
irssi-config
])
AC_OUTPUT
dnl ** for building from objdir
old_dir=`pwd` && cd $srcdir && whole_dir=`pwd` && cd $old_dir
if test "x$old_dir" != "x$whole_dir"; then
if test "x$want_perl" != "xno"; then
subdirfiles=""
for i in $whole_dir/src/perl/common $whole_dir/src/perl/irc $whole_dir/src/perl/ui $whole_dir/src/perl/textui; do
subdirfiles=`echo $subdirfiles $i/typemap $i/module.h $i/*.pm $i/*.xs`
done
for file in $whole_dir/src/perl/module.h $subdirfiles; do
link=`echo $file|$sedpath "s?$whole_dir/??"`
rm -f $link
$LN_S $file $link
done
fi
fi
echo
if test "x$want_textui" = "xno"; then
text=no
elif test "x$want_termcap" = "xyes"; then
text="yes, using termcap"
elif test "x$want_terminfo" = "xyes"; then
text="yes, using terminfo"
else
text="yes, using curses"
fi
echo "Building text frontend ........... : $text"
echo "Building irssi bot ............... : $want_irssibot"
echo "Building irssi proxy ............. : $want_irssiproxy"
if test "x$have_gmodule" = "xyes"; then
echo "Building with module support ..... : yes"
else
echo "Building with module support : NO!! /LOAD will not work!"
echo " - You're missing gmodule (comes with glib) for some reason,"
echo " or it doesn't work in your system."
fi
if test "x$want_perl" = "xstatic"; then
echo "Building with Perl support ....... : static (in irssi binary)"
elif test "x$want_perl" = "xmodule"; then
echo "Building with Perl support ....... : module"
else
if test -z "$perl_check_error"; then
echo "Building with Perl support ....... : no"
else
echo "Building with Perl support ....... : NO!"
echo " - $perl_check_error"
fi
fi
if test "x$want_perl" != "xno" -a "x$perl_mod_error" != "x"; then
echo " - NOTE: Perl support will be compiled statically to irssi, not as"
echo " a module as requested. Reason:"
echo " $perl_mod_error"
if test -f /etc/debian_version; then
echo " - Try: apt-get install libperl-dev"
fi
fi
if test "x$want_perl" != "xno"; then
if test "$perl_library_dir" = "PERL_USE_LIB"; then
perl_library_dir=$PERL_USE_LIB
fi
if test -z "$perl_library_dir"; then
perl_library_dir="(site default - `$perlpath -e 'use Config; print $Config{sitearch}'`)"
fi
echo "Perl library directory ........... : $perl_library_dir"
if test "x$perl_prefix_note" = "xyes"; then
echo " - NOTE: This was automatically set to the same directory you gave with"
echo " --prefix. If you want the perl libraries to install to their 'correct'"
echo " path, you'll need to give --with-perl-lib=site option to configure."
echo " Anyway, installing perl to this directory should work just as well."
fi
fi
echo "Install prefix ................... : $prefix"
echo
echo "Building with IPv6 support ....... : $have_ipv6"
echo "Building with SSL support ........ : $have_openssl"
echo "Building with 64bit DCC support .. : $offt_64bit"
echo "Building with garbage collector .. : $have_gc"
echo
echo "If there are any problems, read the INSTALL file."

298
curses.m4
View file

@ -1,298 +0,0 @@
dnl Curses detection: Munged from Midnight Commander's configure.in
dnl
dnl What it does:
dnl =============
dnl
dnl - Determine which version of curses is installed on your system
dnl and set the -I/-L/-l compiler entries and add a few preprocessor
dnl symbols
dnl - Do an AC_SUBST on the CURSES_INCLUDEDIR and CURSES_LIBS so that
dnl @CURSES_INCLUDEDIR@ and @CURSES_LIBS@ will be available in
dnl Makefile.in's
dnl - Modify the following configure variables (these are the only
dnl curses.m4 variables you can access from within configure.in)
dnl CURSES_INCLUDEDIR - contains -I's and possibly -DRENAMED_CURSES if
dnl an ncurses.h that's been renamed to curses.h
dnl is found.
dnl CURSES_LIBS - sets -L and -l's appropriately
dnl CFLAGS - if --with-sco, add -D_SVID3
dnl has_curses - exports result of tests to rest of configure
dnl
dnl Usage:
dnl ======
dnl 1) Add lines indicated below to acconfig.h
dnl 2) call AC_CHECK_CURSES after AC_PROG_CC in your configure.in
dnl 3) Instead of #include <curses.h> you should use the following to
dnl properly locate ncurses or curses header file
dnl
dnl #if defined(USE_NCURSES) && !defined(RENAMED_NCURSES)
dnl #include <ncurses.h>
dnl #else
dnl #include <curses.h>
dnl #endif
dnl
dnl 4) Make sure to add @CURSES_INCLUDEDIR@ to your preprocessor flags
dnl 5) Make sure to add @CURSES_LIBS@ to your linker flags or LIBS
dnl
dnl Notes with automake:
dnl - call AM_CONDITIONAL(HAS_CURSES, test "$has_curses" = true) from
dnl configure.in
dnl - your Makefile.am can look something like this
dnl -----------------------------------------------
dnl INCLUDES= blah blah blah $(CURSES_INCLUDEDIR)
dnl if HAS_CURSES
dnl CURSES_TARGETS=name_of_curses_prog
dnl endif
dnl bin_PROGRAMS = other_programs $(CURSES_TARGETS)
dnl other_programs_SOURCES = blah blah blah
dnl name_of_curses_prog_SOURCES = blah blah blah
dnl other_programs_LDADD = blah
dnl name_of_curses_prog_LDADD = blah $(CURSES_LIBS)
dnl -----------------------------------------------
dnl
dnl
dnl The following lines should be added to acconfig.h:
dnl ==================================================
dnl
dnl /*=== Curses version detection defines ===*/
dnl /* Found some version of curses that we're going to use */
dnl #undef HAS_CURSES
dnl
dnl /* Use SunOS SysV curses? */
dnl #undef USE_SUNOS_CURSES
dnl
dnl /* Use old BSD curses - not used right now */
dnl #undef USE_BSD_CURSES
dnl
dnl /* Use SystemV curses? */
dnl #undef USE_SYSV_CURSES
dnl
dnl /* Use Ncurses? */
dnl #undef USE_NCURSES
dnl
dnl /* If you Curses does not have color define this one */
dnl #undef NO_COLOR_CURSES
dnl
dnl /* Define if you want to turn on SCO-specific code */
dnl #undef SCO_FLAVOR
dnl
dnl /* Set to reflect version of ncurses *
dnl * 0 = version 1.*
dnl * 1 = version 1.9.9g
dnl * 2 = version 4.0/4.1 */
dnl #undef NCURSES_970530
dnl
dnl /*=== End new stuff for acconfig.h ===*/
dnl
AC_DEFUN([AC_CHECK_CURSES],[
search_ncurses=true
screen_manager=""
has_curses=false
CFLAGS=${CFLAGS--O}
AC_SUBST(CURSES_LIBS)
AC_SUBST(CURSES_INCLUDEDIR)
AC_ARG_WITH(sco,
[ --with-sco Use this to turn on SCO-specific code],[
if test x$withval = xyes; then
AC_DEFINE(SCO_FLAVOR)
CFLAGS="$CFLAGS -D_SVID3"
fi
])
AC_ARG_WITH(sunos-curses,
[ --with-sunos-curses Used to force SunOS 4.x curses],[
if test x$withval = xyes; then
AC_USE_SUNOS_CURSES
fi
])
AC_ARG_WITH(osf1-curses,
[ --with-osf1-curses Used to force OSF/1 curses],[
if test x$withval = xyes; then
AC_USE_OSF1_CURSES
fi
])
AC_ARG_WITH(vcurses,
[[ --with-vcurses[=incdir] Used to force SysV curses]],
if test x$withval != xyes; then
CURSES_INCLUDEDIR="-I$withval"
fi
AC_USE_SYSV_CURSES
)
AC_ARG_WITH(ncurses,
[[ --with-ncurses[=dir] Compile with ncurses/locate base dir]],
if test x$withval = xno ; then
search_ncurses=false
elif test x$withval != xyes ; then
AC_NCURSES($withval/include, ncurses.h, -L$withval/lib -lncurses, -I$withval/include, "ncurses on $withval/include")
fi
)
if $search_ncurses
then
AC_SEARCH_NCURSES()
fi
])
AC_DEFUN([AC_USE_SUNOS_CURSES], [
search_ncurses=false
screen_manager="SunOS 4.x /usr/5include curses"
AC_MSG_RESULT(Using SunOS 4.x /usr/5include curses)
AC_DEFINE(USE_SUNOS_CURSES)
AC_DEFINE(HAS_CURSES)
has_curses=true
AC_DEFINE(NO_COLOR_CURSES)
AC_DEFINE(USE_SYSV_CURSES)
CURSES_INCLUDEDIR="-I/usr/5include"
CURSES_LIBS="/usr/5lib/libcurses.a /usr/5lib/libtermcap.a"
AC_MSG_RESULT(Please note that some screen refreshs may fail)
])
AC_DEFUN([AC_USE_OSF1_CURSES], [
AC_MSG_RESULT(Using OSF1 curses)
search_ncurses=false
screen_manager="OSF1 curses"
AC_DEFINE(HAS_CURSES)
has_curses=true
AC_DEFINE(NO_COLOR_CURSES)
AC_DEFINE(USE_SYSV_CURSES)
CURSES_LIBS="-lcurses"
])
AC_DEFUN([AC_USE_SYSV_CURSES], [
AC_MSG_RESULT(Using SysV curses)
AC_DEFINE(HAS_CURSES)
has_curses=true
AC_DEFINE(USE_SYSV_CURSES)
search_ncurses=false
screen_manager="SysV/curses"
CURSES_LIBS="-lcurses"
])
dnl AC_ARG_WITH(bsd-curses,
dnl [--with-bsd-curses Used to compile with bsd curses, not very fancy],
dnl search_ncurses=false
dnl screen_manager="Ultrix/cursesX"
dnl if test $system = ULTRIX
dnl then
dnl THIS_CURSES=cursesX
dnl else
dnl THIS_CURSES=curses
dnl fi
dnl
dnl CURSES_LIBS="-l$THIS_CURSES -ltermcap"
dnl AC_DEFINE(HAS_CURSES)
dnl has_curses=true
dnl AC_DEFINE(USE_BSD_CURSES)
dnl AC_MSG_RESULT(Please note that some screen refreshs may fail)
dnl AC_WARN(Use of the bsdcurses extension has some)
dnl AC_WARN(display/input problems.)
dnl AC_WARN(Reconsider using xcurses)
dnl)
dnl
dnl Parameters: directory filename curses_LIBS curses_INCLUDEDIR nicename
dnl
AC_DEFUN([AC_NCURSES], [
if $search_ncurses
then
if test -f $1/$2
then
AC_MSG_RESULT(Found ncurses on $1/$2)
CURSES_LIBS="$3"
AC_CHECK_LIB(ncurses, initscr, [
true;
], [
CHECKLIBS=`echo "$3"|sed 's/-lncurses/-lcurses/g'`
AC_CHECK_LIB(curses, initscr, [
CURSES_LIBS="$CHECKLIBS"
],, $CHECKLIBS)
], $CURSES_LIBS)
CURSES_INCLUDEDIR="$4"
search_ncurses=false
screen_manager="$5"
AC_DEFINE(HAS_CURSES)
has_curses=true
has_ncurses=true
AC_DEFINE(USE_NCURSES)
fi
fi
])
AC_DEFUN([AC_SEARCH_NCURSES], [
AC_CHECKING("location of ncurses.h file")
AC_NCURSES(/usr/include, ncurses.h, -lncurses,,
[ncurses in /usr/include])
AC_NCURSES(/usr/include/ncurses, ncurses.h, -lncurses, -I/usr/include/ncurses,
[ncurses in /usr/include/ncurses])
AC_NCURSES(/usr/local/include, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include,
[ncurses in /usr/local/include])
AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses,
[ncurses in /usr/local/include/ncurses])
AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib -lncurses, -I/usr/local/include/ncurses -DRENAMED_NCURSES,
[renamed ncurses in /usr/local/include/ncurses])
AC_NCURSES(/usr/include/ncurses, curses.h, -lncurses, -I/usr/include/ncurses -DRENAMED_NCURSES,
[renamed ncurses in /usr/include/ncurses])
dnl
dnl We couldn't find ncurses, try SysV curses
dnl
if $search_ncurses
then
AC_EGREP_HEADER(init_color, /usr/include/curses.h,
AC_USE_SYSV_CURSES)
AC_EGREP_CPP(USE_NCURSES,[
#include <curses.h>
#ifdef __NCURSES_H
#undef USE_NCURSES
USE_NCURSES
#endif
],[
CURSES_INCLUDEDIR="$CURSES_INCLUDEDIR -DRENAMED_NCURSES"
AC_DEFINE(HAS_CURSES)
has_curses=true
has_ncurses=true
AC_DEFINE(USE_NCURSES)
search_ncurses=false
screen_manager="ncurses installed as curses"
])
fi
dnl
dnl Try SunOS 4.x /usr/5{lib,include} ncurses
dnl The flags USE_SUNOS_CURSES, USE_BSD_CURSES and BUGGY_CURSES
dnl should be replaced by a more fine grained selection routine
dnl
if $search_ncurses
then
if test -f /usr/5include/curses.h
then
AC_USE_SUNOS_CURSES
fi
fi
dnl use whatever curses there happens to be
if $search_ncurses
then
if test -f /usr/include/curses.h
then
CURSES_LIBS="-lcurses"
AC_DEFINE(HAS_CURSES)
has_curses=true
search_ncurses=false
screen_manager="curses"
fi
fi
])

View file

@ -1,19 +0,0 @@
docdir = $(datadir)/doc/irssi
man_MANS = \
irssi.1
doc_DATA = \
design.txt \
formats.txt \
manual.txt \
faq.html \
faq.txt \
perl.txt \
signals.txt \
special_vars.txt \
startup-HOWTO.html
EXTRA_DIST = $(doc_DATA) $(man_MANS)
SUBDIRS = help

110
docs/New-users.html Normal file
View file

@ -0,0 +1,110 @@
<base href='https://irssi.org/New-users/'>
<h1>New users guide</h1>
<section id="new-to-irc">
<h2>New to IRC</h2>
<p>Internet Relay Chat was created in 1988 and has hardly changed. It can be used to exchange text messages (one message = single line) with other people, either privately (called query, PM, private message, MSG) or in a room (channel). Pictures are shared by uploading them to a temporary host like <a class="reference external" href="https://pomf.lain.la/">https://pomf.lain.la/</a> and then pasting the HTTP links. Code snippets or longer texts are shared by pasting them to a Pastebin like <a class="reference external" href="https://paste.opensuse.org/">https://paste.opensuse.org/</a> and then sharing the HTTP link.</p>
<p>IRC does not have message history. You can only receive replies while your computer is turned on and connected to the channel you want to follow. Some people run their IRC programs on remote servers for that reason.</p>
<p>IRC is organised into networks. Each network consists of many servers. It (mostly) does not matter which server you connect to as long as it belongs to the network you want to use. Irssi supports connections to many networks at the same time.</p>
<p>Each network contains many channels, rooms that are often dedicated to discussing a specific topic. You can find many channels on <a class="reference external" href="https://netsplit.de/">https://netsplit.de/</a> or using a search engine with the keyword “IRC”. Irssi supports joining many channels at the same time.</p>
<p>There is a rather large IRC network catering to free and open-source software and peer directed projects at <a class="reference external" href="https://libera.chat/">https://libera.chat/</a> and a smaller one at <a class="reference external" href="https://www.oftc.net/">https://www.oftc.net/</a> many free software projects still have support channels on these IRC networks (although some have moved to Matrix or proprietary platforms like Discord).</p>
</section>
<section id="first-start">
<h2>First start</h2>
<p>After (compiling and) installing Irssi, to start it, open a shell (Terminal) and type:</p>
<div class="highlight-default notranslate"><div><pre>irssi
</pre></div>
</div>
<p>You should be greeted by a blinking cursor behind <code class="docutils literal notranslate">[(status)]</code>. You are now in the status window of Irssi. Window is the Irssi name for what you might nowadays call a “Web browser tab”.</p>
<p>If youre confused about what you are seeing on the Irssi screen, you can find an annotated screenshot of it at <a class="reference internal" href="../User-interface/">User interface</a>.</p>
<p>If you want, you can pick a nick name (handle) that will be shown to others reading your messages now, by typing</p>
<div class="highlight-default notranslate"><div><pre>/set nick whatyouwant
</pre></div>
</div>
<p>Each command or message can be sent by pressing Enter. Commands in Irssi start with a <code class="docutils literal notranslate">/</code>. If there is no <code class="docutils literal notranslate">/</code>, then the line that you wrote will be sent as a message to the channel that you have open, for everyone to see.</p>
<section id="leaving">
<h3>Leaving</h3>
<p>Type <code class="docutils literal notranslate">/quit</code> to get out of Irssi.</p>
</section>
</section>
<section id="connecting-to-a-network">
<h2>Connecting to a network</h2>
<p>Irssi comes with some predefined networks. You can see the current list of networks by typing</p>
<div class="highlight-default notranslate"><div><pre>/network
</pre></div>
</div>
<p>(the list will be shown in your status window)</p>
<p>To connect to one of the networks in the list, type <code class="docutils literal notranslate">/connect networkname</code>, for example:</p>
<div class="highlight-default notranslate"><div><pre>/connect liberachat
</pre></div>
</div>
<p>You should see several messages scroll by. After a while, you should be connected to the Libera Chat network.</p>
<div class="admonition attention">
<p class="admonition-title">Attention</p>
<p>Irssi version 1.2 or older may be lacking the liberachat network entry. See <a class="reference external" href="https://github.com/shabble/irssi-docs/wiki/liberachat">https://github.com/shabble/irssi-docs/wiki/liberachat</a> for how to add it.</p>
</div>
<section id="nickname-registration">
<h3>Nickname registration</h3>
<p>Many IRC networks (but not all) offer a way to register a user account. Sometimes (but not on all networks) the account registration also includes reserving a nick for you. <em>How</em> to register also differs by network. Some <em>channels</em> only allow users with registered accounts to join them, so it may be very important for you to register a user account.</p>
<p>User accounts are always specific to a network.</p>
<p>For the Libera Chat network, you can find instructions how to register and set up your account with Irssi on <a class="reference external" href="https://github.com/shabble/irssi-docs/wiki/liberachat#configure-sasl-automated-log-in">https://github.com/shabble/irssi-docs/wiki/liberachat#configure-sasl-automated-log-in</a></p>
</section>
</section>
<section id="joining-a-channel">
<h2>Joining a channel</h2>
<p>Once you are connected to a network, you can join channels by typing <code class="docutils literal notranslate">/join #channelname</code>, for example:</p>
<div class="highlight-default notranslate"><div><pre>/join #irssi
</pre></div>
</div>
<p>Now, a new window will open and you can send messages to the channel.</p>
<section id="changing-windows">
<h3>Changing windows</h3>
<p>You can change between windows using the <code class="docutils literal notranslate">Ctrl</code>+<code class="docutils literal notranslate">n</code> or <code class="docutils literal notranslate">Ctrl</code>+<code class="docutils literal notranslate">p</code> keys, orif your terminal is configured properlyusing <code class="docutils literal notranslate">Alt</code>+<code class="docutils literal notranslate">1</code>, <code class="docutils literal notranslate">Alt</code>+<code class="docutils literal notranslate">2</code>, … See <a class="reference internal" href="../documentation/help/bind_-list/">bind -list</a> for a list of all default key bindings.</p>
</section>
<section id="removing-clutter">
<h3>Removing clutter</h3>
<p>By default, Irssi shows when someone joins or leaves a channel. These messages can waste a lot of lines and obscure the actual chat. To hide them, type</p>
<div class="highlight-default notranslate"><div><pre>/window hidelevel +joins +parts +quits
</pre></div>
</div>
<p>To get them back</p>
<div class="highlight-default notranslate"><div><pre>/window hidelevel -joins -parts -quits
</pre></div>
</div>
<p>If you want to hide them by default, <code class="docutils literal notranslate">/set window_default_hidelevel hidden joins parts quits</code></p>
</section>
</section>
<section id="adding-a-new-network">
<h2>Adding a new network</h2>
<p>If you want to join a network that is not there, you first need to find at least one server of that network. Lets say you have found the room <a class="reference external" href="https://netsplit.de/channels/details.php?room=%23hackint&amp;net=hackint">#hackint</a> on netsplit.de and want to join it. Then you can find that the <a class="reference external" href="https://netsplit.de/servers/?net=hackint">server</a> is irc.hackint.org, port 6697, SSL (TLS) on. To add it to Irssi, use the commands:</p>
<div class="highlight-default notranslate"><div><pre>/network add hackint
/server add -tls -network hackint irc.hackint.org 6697
</pre></div>
</div>
<p>Then, you can connect to the newly added network with</p>
<div class="highlight-default notranslate"><div><pre>/connect hackint
</pre></div>
</div>
<section id="multiple-networks">
<h3>Multiple networks</h3>
<p>If you are connected to multiple networks, you can change which one you are “talking” to (which one to send commands) by using the <code class="docutils literal notranslate">Ctrl</code>+<code class="docutils literal notranslate">x</code> key in the status window.</p>
</section>
</section>
<section id="on-line-help">
<h2>On-line help</h2>
<p>Most /commands have a help page, you can read it with</p>
<div class="highlight-default notranslate"><div><pre>/help commandname
</pre></div>
</div>
<p>or <a class="reference internal" href="../documentation/help/">on-line</a>.</p>
<p>The settings that can be changed with /SET are described on <a class="reference internal" href="../documentation/settings/">Settings Documentation</a> the settingshelp <a class="reference internal" href="#about-scripts">script</a> can be used to read it from within <code class="docutils literal notranslate">/help</code></p>
</section>
<section id="about-scripts">
<h2>About Scripts</h2>
<p>You can enhance your Irssi by installing scripts. Many Perl scripts written by other Irssi users can be found on <a class="reference external" href="https://scripts.irssi.org/">https://scripts.irssi.org/</a></p>
<p>Most of them should be compatible with Irssi 1.4 (but some may not, also see the Full Change log for some incompatible ones)</p>
</section>
<section id="about-themes">
<h2>About Themes</h2>
<p>Irssis look can be thoroughly changed with themes. Many themes created by other Irssi users can be found on <a class="reference external" href="https://themes.irssi.org/">https://themes.irssi.org/</a></p>
<p>If you want to modify the look of Irssi yourself, the <em>default</em> theme which can be found in your <code class="docutils literal notranslate">~/.irssi</code> folder is a good starting point. It also has a few comments explaining what some of the abstracts are used for</p>
</section>

193
docs/New-users.txt Normal file
View file

@ -0,0 +1,193 @@
# New users guide #
## New to IRC ##
Internet Relay Chat was created in 1988 and has hardly changed. It can be used
to exchange text messages (one message = single line) with other people, either
privately (called query, PM, private message, MSG) or in a room (channel).
Pictures are shared by uploading them to a temporary host like [1]https://
pomf.lain.la/ and then pasting the HTTP links. Code snippets or longer texts
are shared by pasting them to a Pastebin like [2]https://paste.opensuse.org/
and then sharing the HTTP link.
IRC does not have message history. You can only receive replies while your
computer is turned on and connected to the channel you want to follow. Some
people run their IRC programs on remote servers for that reason.
IRC is organised into networks. Each network consists of many servers. It
(mostly) does not matter which server you connect to as long as it belongs to
the network you want to use. Irssi supports connections to many networks at the
same time.
Each network contains many channels, rooms that are often dedicated to
discussing a specific topic. You can find many channels on [3]https://
netsplit.de/ or using a search engine with the keyword “IRC”. Irssi supports
joining many channels at the same time.
There is a rather large IRC network catering to free and open-source software
and peer directed projects at [4]https://libera.chat/ and a smaller one at [5]
https://www.oftc.net/ many free software projects still have support channels
on these IRC networks (although some have moved to Matrix or proprietary
platforms like Discord).
## First start ##
After (compiling and) installing Irssi, to start it, open a shell (Terminal)
and type:
irssi
You should be greeted by a blinking cursor behind [(status)]. You are now in
the status window of Irssi. Window is the Irssi name for what you might
nowadays call a “Web browser tab”.
If youre confused about what you are seeing on the Irssi screen, you can find
an annotated screenshot of it at [6]User interface.
If you want, you can pick a nick name (handle) that will be shown to others
reading your messages now, by typing
/set nick whatyouwant
Each command or message can be sent by pressing Enter. Commands in Irssi start
with a /. If there is no /, then the line that you wrote will be sent as a
message to the channel that you have open, for everyone to see.
### Leaving ###
Type /quit to get out of Irssi.
## Connecting to a network ##
Irssi comes with some predefined networks. You can see the current list of
networks by typing
/network
(the list will be shown in your status window)
To connect to one of the networks in the list, type /connect networkname, for
example:
/connect liberachat
You should see several messages scroll by. After a while, you should be
connected to the Libera Chat network.
Attention
Irssi version 1.2 or older may be lacking the liberachat network entry. See [7]
https://github.com/shabble/irssi-docs/wiki/liberachat for how to add it.
### Nickname registration ###
Many IRC networks (but not all) offer a way to register a user account.
Sometimes (but not on all networks) the account registration also includes
reserving a nick for you. How to register also differs by network. Some
channels only allow users with registered accounts to join them, so it may be
very important for you to register a user account.
User accounts are always specific to a network.
For the Libera Chat network, you can find instructions how to register and set
up your account with Irssi on [8]https://github.com/shabble/irssi-docs/wiki/
liberachat#configure-sasl-automated-log-in
## Joining a channel ##
Once you are connected to a network, you can join channels by typing /join #
channelname, for example:
/join #irssi
Now, a new window will open and you can send messages to the channel.
### Changing windows ###
You can change between windows using the Ctrl+n or Ctrl+p keys, orif your
terminal is configured properlyusing Alt+1, Alt+2, … See [9]bind -list for a
list of all default key bindings.
### Removing clutter ###
By default, Irssi shows when someone joins or leaves a channel. These messages
can waste a lot of lines and obscure the actual chat. To hide them, type
/window hidelevel +joins +parts +quits
To get them back
/window hidelevel -joins -parts -quits
If you want to hide them by default, /set window_default_hidelevel hidden joins
parts quits
## Adding a new network ##
If you want to join a network that is not there, you first need to find at
least one server of that network. Lets say you have found the room [10]#
hackint on netsplit.de and want to join it. Then you can find that the [11]
server is irc.hackint.org, port 6697, SSL (TLS) on. To add it to Irssi, use the
commands:
/network add hackint
/server add -tls -network hackint irc.hackint.org 6697
Then, you can connect to the newly added network with
/connect hackint
### Multiple networks ###
If you are connected to multiple networks, you can change which one you are
“talking” to (which one to send commands) by using the Ctrl+x key in the status
window.
## On-line help ##
Most /commands have a help page, you can read it with
/help commandname
or [12]on-line.
The settings that can be changed with /SET are described on [13]Settings
Documentation the settingshelp [14]script can be used to read it from within
/help
## About Scripts ##
You can enhance your Irssi by installing scripts. Many Perl scripts written by
other Irssi users can be found on [15]https://scripts.irssi.org/
Most of them should be compatible with Irssi 1.4 (but some may not, also see
the Full Change log for some incompatible ones)
## About Themes ##
Irssis look can be thoroughly changed with themes. Many themes created by
other Irssi users can be found on [16]https://themes.irssi.org/
If you want to modify the look of Irssi yourself, the default theme which can
be found in your ~/.irssi folder is a good starting point. It also has a few
comments explaining what some of the abstracts are used for
References:
[1] https://pomf.lain.la/
[2] https://paste.opensuse.org/
[3] https://netsplit.de/
[4] https://libera.chat/
[5] https://www.oftc.net/
[6] https://irssi.org/User-interface/
[7] https://github.com/shabble/irssi-docs/wiki/liberachat
[8] https://github.com/shabble/irssi-docs/wiki/liberachat#configure-sasl-automated-log-in
[9] https://irssi.org/documentation/help/bind_-list/
[10] https://netsplit.de/channels/details.php?room=%23hackint&net=hackint
[11] https://netsplit.de/servers/?net=hackint
[12] https://irssi.org/documentation/help/
[13] https://irssi.org/documentation/settings/
[14] https://irssi.org/New-users/#about-scripts
[15] https://scripts.irssi.org/
[16] https://themes.irssi.org/

31
docs/capsicum.txt Normal file
View file

@ -0,0 +1,31 @@
Capsicum is a lightweight OS capability and sandbox framework provided
by FreeBSD. When built with Capsicum support - which is the default under
FreeBSD - Irssi can enter a Capsicum capability mode (a sandbox), greatly
limiting possible consequences of a potential security hole in Irssi
or the libraries it depends on.
To make Irssi enter capability mode on startup, add
capsicum = "yes";
awaylog_file = "~/irclogs/away.log";
to your ~/.irssi/config in the settings/core section, and restart the
client. Alternatively you can enter it "by hand", using the
"/capsicum enter" command. From the security point of view it's strongly
preferable to use the former method, to avoid establishing connections
without the sandbox protection; the "/capsicum" command is only intended
for experimentation, and in cases where you need to do something that's not
possible in capability mode - run scripts, for example - before continuing.
There is no way to leave the capability mode, apart from exiting Irssi.
When running in capability mode, there are certain restrictions - Irssi
won't be able to access any files outside the directory pointed to by
capsicum_irclogs_path (which defaults to ~/irclogs/). If you change
the path when already in capability mode it won't be effective until
you restart Irssi. Capability mode also makes it impossible to use
the "/save" command.
Currently there is no way to use custom SSL certificates. As a workaround
you can establish connections and enter the capability mode afterwards
using the "/capsicum enter" command.

View file

@ -1,9 +1,11 @@
How to submit a good bug report?
Send them to bug reporting system in http://bugs.irssi.org/
Bugs are tracked via the GitHub issue tracker. Open an issue at:
https://github.com/irssi/irssi/issues
First you should give the following information:
- irssi version, if CVS (or devel. tarball) then which day?
- irssi version, if git (or devel. tarball) then which commit hash (or date
from /version)?
- operating system / distribution and it's version
- when did it crash? did you do something? can you reproduce the crash?

165
docs/design.html Normal file
View file

@ -0,0 +1,165 @@
<base href='https://irssi.org/documentation/design/'>
<h1>Design</h1>
<p>Irssis hierarchy is something like this:</p>
<pre class="repl" id="fig1"><code class="language-ascidia">
sub1 sub2
\ /
xxx IRC COMMON ICQ yyy
| | | | |
'----+-----:-----+----+----'
|
GUI (gtk/gnome, qt/kde, text, none)
|
sub1 sub2 |
\ / |
xxx IRC | COMMON ICQ yyy
'----+-----+-----+----+----'
|
COMMON UI
|
sub1 sub2 |
\ / |
xxx IRC | ICQ yyy
| | | | |
'----+-----+-----+----'
|
CORE
/
lib-config
</code></pre>
<p>(IRC, ICQ, xxx and yyy are chat protocols ..)</p>
<p>(sub1 and sub2 are submodules of IRC module, like DCC and flood protect)</p>
<p>Chat protocols and frontends are kept in separate modules. Common UI
and GUI modules also have the common parts which dont know anything
about the chat protocols. This should allow implementing modules to
whatever chat protocols and with whatever frontends easily.</p>
<h2 id="signals">Signals</h2>
<p>Communication between different modules are done with “signals”. They are
not related to UNIX signals in any way, you could more like think of them
as “events” - which might be a better name for them, but I dont really
want to change it anymore :)</p>
<p>So, you send signal with <code>signal_emit()</code> and its sent to all modules that
have grabbed it by calling <code>signal_add()</code> in their init function. For
example:</p>
<div><div><pre><code>signal_emit("mysignal", 1, "hello");
</code></pre></div></div>
<p>Sends a “mysignal” function with one argument “hello” - before that, you
should have grabbed the signal somewhere else with:</p>
<div><div><pre><code>static void sig_mysignal(const char *arg1)
{
/* arg1 contains "hello" */
}
signal_add("mysignal", (SIGNAL_FUNC) sig_mysignal);
</code></pre></div></div>
<p>There are three different <code>signal_add()</code> functions which you can use to
specify if you want to grab the signal first, “normally” or last. You can
also stop the signal from going any further.</p>
<p>Emitting signal with its name creates a small overhead since it has to
look up the signals numeric ID first, after which it looks up the signal
structure. This is done because if you call a signal <em>really</em> often,
its faster to find it with its numeric ID instead of the string. You
can use <code>signal_get_uniq_id()</code> macro to convert the signal name into ID -
youll have to do this only once! - and use <code>signal_emit_id()</code> to emit the
signal. Dont bother to do this unless your signal is sent (or could be
sent) several times in a second.</p>
<p>See <code>src/core/signals.h</code> for definition of the signal function, and
signals.txt for a list of signals.</p>
<h2 id="lib-config">lib-config</h2>
<p>Irssi depends on this for reading and saving configuration.
(created by me for irssi)</p>
<h2 id="core-module">CORE module</h2>
<p>Provides some functionality that all other modules can use:</p>
<ul>
<li>signal handling</li>
<li>keeping list of settings</li>
<li>keeping list of /commands</li>
<li>keeping track of loaded modules</li>
<li>networking functions (with nonblocking connects, IPv6 support)</li>
<li>handles connecting to servers</li>
<li>raw logging of servers input/output data</li>
<li>/EVAL support</li>
<li>fgets() like function line_split() without any maximum line limits</li>
<li>command line parameter handling</li>
<li>miscellaneous useful little functions</li>
<li>handles logging</li>
</ul>
<h2 id="common-ui-module">COMMON UI module</h2>
<ul>
<li>knows basics about windows and window items (=channels, queries, ..)</li>
<li>printtext() - parsing texts and feeding it for GUI to print.</li>
<li>themes</li>
<li>translation tables</li>
<li>text hilighting</li>
<li>command history</li>
<li>user interface (/commands) for COREs functionality</li>
</ul>
<h2 id="gui-modules">GUI modules</h2>
<ul>
<li>all the rest of the functionality needed for a working client.</li>
</ul>
<h2 id="irc-module">IRC module</h2>
<ul>
<li>CORE
<ul>
<li>IRC specific /commands</li>
<li>flood protecting commands sent to server</li>
<li>creating IRC masks based on nick/address for bans, ignores, etc.</li>
<li>keeps list of channels, nicks, channel modes, bans, etc.</li>
<li>keeps list of servers, server settings, irc networks,
server reconnections and irc network splits</li>
<li>redirection of commands replies</li>
<li>lag detection</li>
<li>ctcp support and flood protection</li>
<li>Handles ignoring people</li>
</ul>
</li>
<li>DCC
<ul>
<li>DCC chat, send and get</li>
</ul>
</li>
<li>FLOOD
<ul>
<li>detects private or channel flooding and sends “flood” signal</li>
<li>automatic ignoring when flooding</li>
</ul>
</li>
<li>NOTIFYLIST
<ul>
<li>handles notifylist</li>
</ul>
</li>
</ul>
<h2 id="irc-ui-module">IRC UI module</h2>
<ul>
<li>placing channels and queries in windows</li>
<li>nick completion</li>
<li>printing infomation of some events</li>
</ul>

View file

@ -1,150 +1,139 @@
Design
Irssi's hierarchy is something like this:
Irssis hierarchy is something like this:
sub1 sub2
\ /
xxx IRC COMMON ICQ yyy
| | | | |
'----+-----:-----+----+----'
|
GUI (gtk/gnome, qt/kde, text, none)
|
sub1 sub2 |
\ / |
xxx IRC | COMMON ICQ yyy
'----+-----+-----+----+----'
|
COMMON UI
|
sub1 sub2 |
\ / |
xxx IRC | ICQ yyy
| | | | |
'----+-----+-----+----'
|
CORE
/
lib-config
sub1 sub2
\ /
xxx IRC COMMON ICQ yyy
|____|___________|____|____|
|
GUI (gtk/gnome, qt/kde, text, none)
|
sub1 sub2 |
\ / |
xxx IRC | COMMON ICQ yyy
|____|_____|_____|____|____|
|
COMMON UI
|
sub1 sub2 |
\ / |
xxx IRC | ICQ yyy
|____|_____|_____|____|
|
CORE
/
lib-config
(IRC, ICQ, xxx and yyy are chat protocols ..)
(sub1 and sub2 are submodules of IRC module, like DCC and flood protect)
(IRC, ICQ, xxx and yyy are chat protocols ..)
(sub1 and sub2 are submodules of IRC module, like DCC and flood protect)
Chat protocols and frontends are kept in separate modules. Common UI and GUI
modules also have the common parts which dont know anything about the chat
protocols. This should allow implementing modules to whatever chat protocols
and with whatever frontends easily.
Signals
Chat protocols and frontends are kept in separate modules. Common UI
and GUI modules also have the common parts which don't know anything
about the chat protocols. This should allow implementing modules to
whatever chat protocols and with whatever frontends easily.
Communication between different modules are done with “signals”. They are not
related to UNIX signals in any way, you could more like think of them as
“events” - which might be a better name for them, but I dont really want to
change it anymore :)
** Signals
So, you send signal with signal_emit() and its sent to all modules that have
grabbed it by calling signal_add() in their init function. For example:
Communication between different modules are done with "signals". They are
not related to UNIX signals in any way, you could more like think of them
as "events" - which might be a better name for them, but I don't really
want to change it anymore :)
signal_emit("mysignal", 1, "hello");
So, you send signal with signal_emit() and it's sent to all modules that
have grabbed it by calling signal_add() in their init function. For
example:
Sends a “mysignal” function with one argument “hello” - before that, you should
have grabbed the signal somewhere else with:
signal_emit("mysignal", 1, "hello");
static void sig_mysignal(const char *arg1)
{
/* arg1 contains "hello" */
}
Sends a "mysignal" function with one argument "hello" - before that, you
should have grabbed the signal somewhere else with:
signal_add("mysignal", (SIGNAL_FUNC) sig_mysignal);
static void sig_mysignal(const char *arg1)
{
/* arg1 contains "hello" */
}
There are three different signal_add() functions which you can use to specify
if you want to grab the signal first, “normally” or last. You can also stop the
signal from going any further.
signal_add("mysignal", (SIGNAL_FUNC) sig_mysignal);
Emitting signal with its name creates a small overhead since it has to look up
the signals numeric ID first, after which it looks up the signal structure.
This is done because if you call a signal really often, its faster to find it
with its numeric ID instead of the string. You can use signal_get_uniq_id()
macro to convert the signal name into ID - youll have to do this only once! -
and use signal_emit_id() to emit the signal. Dont bother to do this unless
your signal is sent (or could be sent) several times in a second.
There are three different signal_add() functions which you can use to
specify if you want to grab the signal first, "normally" or last. You can
also stop the signal from going any further.
See src/core/signals.h for definition of the signal function, and signals.txt
for a list of signals.
Emitting signal with it's name creates a small overhead since it has to
look up the signal's numeric ID first, after which it looks up the signal
structure. This is done because if you call a signal _really_ often,
it's faster to find it with it's numeric ID instead of the string. You
can use signal_get_uniq_id() macro to convert the signal name into ID -
you'll have to do this only once! - and use signal_emit_id() to emit the
signal. Don't bother to do this unless your signal is sent (or could be
sent) several times in a second.
lib-config
See src/core/signals.h for definition of the signal function, and
signals.txt for a list of signals.
Irssi depends on this for reading and saving configuration. (created by me for
irssi)
CORE module
** lib-config
Provides some functionality that all other modules can use:
Irssi depends on this for reading and saving configuration.
(created by me for irssi)
• signal handling
• keeping list of settings
• keeping list of /commands
• keeping track of loaded modules
• networking functions (with nonblocking connects, IPv6 support)
• handles connecting to servers
• raw logging of servers input/output data
• /EVAL support
• fgets() like function line_split() without any maximum line limits
• command line parameter handling
• miscellaneous useful little functions
• handles logging
COMMON UI module
** CORE module
• knows basics about windows and window items (=channels, queries, ..)
• printtext() - parsing texts and feeding it for GUI to print.
• themes
• translation tables
• text hilighting
• command history
• user interface (/commands) for COREs functionality
Provides some functionality that all other modules can use:
- signal handling
- keeping list of settings
- keeping list of /commands
- keeping track of loaded modules
- networking functions (with nonblocking connects, IPv6 support)
- handles connecting to servers
- raw logging of server's input/output data
- /EVAL support
- fgets() like function line_split() without any maximum line limits
- command line parameter handling
- miscellaneous useful little functions
- handles logging
GUI modules
• all the rest of the functionality needed for a working client.
** COMMON UI module
IRC module
- knows basics about windows and window items (=channels, queries, ..)
- printtext() - parsing texts and feeding it for GUI to print.
- themes
- translation tables
- text hilighting
- command history
- user interface (/commands) for CORE's functionality
• CORE
□ IRC specific /commands
□ flood protecting commands sent to server
□ creating IRC masks based on nick/address for bans, ignores, etc.
□ keeps list of channels, nicks, channel modes, bans, etc.
□ keeps list of servers, server settings, irc networks, server
reconnections and irc network splits
□ redirection of commands replies
□ lag detection
□ ctcp support and flood protection
□ Handles ignoring people
• DCC
□ DCC chat, send and get
• FLOOD
□ detects private or channel flooding and sends “flood” signal
□ automatic ignoring when flooding
• NOTIFYLIST
□ handles notifylist
IRC UI module
** GUI modules
• placing channels and queries in windows
• nick completion
• printing infomation of some events
- all the rest of the functionality needed for a working client.
** IRC module
* CORE
- IRC specific /commands
- flood protecting commands sent to server
- creating IRC masks based on nick/address for bans, ignores, etc.
- keeps list of channels, nicks, channel modes, bans, etc.
- keeps list of servers, server settings, irc networks,
server reconnections and irc network splits
- redirection of commands' replies
- lag detection
- ctcp support and flood protection
- Handles ignoring people
* DCC
- DCC chat, send and get
* FLOOD
- detects private or channel flooding and sends "flood" signal
- automatic ignoring when flooding
* NOTIFYLIST
- handles notifylist
** IRC UI module
- placing channels and queries in windows
- nick completion
- printing infomation of some events

View file

@ -0,0 +1,47 @@
[binaries]
ar = 'aarch64-linux-android-ar'
c = 'aarch64-linux-android-clang'
cpp = 'aarch64-linux-android-clang++'
ld = 'aarch64-linux-android-ld'
pkgconfig = '/home/builder/.termux-build/_cache/android-r20-api-24-v3/bin/aarch64-linux-android-pkg-config'
strip = 'aarch64-linux-android-strip'
;; you have to substitute 5.30.2 with the Perl version, that can be
;; obtained by running ` miniperl -e 'print substr $^V, 1' `
perl = ['/home/builder/.termux-build/perl/src/miniperl', '-I/data/data/com.termux/files/usr/lib/perl5/5.30.2/aarch64-android', '-I/data/data/com.termux/files/usr/lib/perl5/5.30.2']
[properties]
needs_exe_wrapper = true
c_args = ['-fstack-protector-strong', '-Oz', '-I/data/data/com.termux/files/usr/include']
cpp_args = ['-fstack-protector-strong', '-Oz', '-I/data/data/com.termux/files/usr/include']
c_link_args = ['-L/data/data/com.termux/files/usr/lib', '-Wl,-rpath=/data/data/com.termux/files/usr/lib', '-Wl,--enable-new-dtags', '-Wl,--as-needed', '-Wl,-z,relro,-z,now', '-landroid-glob']
cpp_link_args = ['-L/data/data/com.termux/files/usr/lib', '-Wl,-rpath=/data/data/com.termux/files/usr/lib', '-Wl,--enable-new-dtags', '-Wl,--as-needed', '-Wl,-z,relro,-z,now', '-landroid-glob']
;; if you do not have a cross-perl like miniperl available, you have
;; to specify the required options by uncommenting the following
;; properties
;; you can get the proper values by running the commands on your
;; Android device:
;; ` perl -V::version: `
; perl_version = '5.30.2'
;; ` perl -MExtUtils::Embed -o ccopts `
; perl_ccopts = ['-I/data/data/com.termux/files/usr/include', '-D_LARGEFILE_SOURCE', '-D_FILE_OFFSET_BITS=64', '-I/data/data/com.termux/files/usr/lib/perl5/5.30.2/aarch64-android/CORE']
;; ` perl -MExtUtils::Embed -o ldopts `
; perl_ldopts = ['-Wl,-E', '-I/data/data/com.termux/files/usr/include', '-L/data/data/com.termux/files/usr/lib/perl5/5.30.2/aarch64-android/CORE', '-lperl', '-lm', '-ldl']
;; ` perl -V::archname: `
; perl_archname = 'aarch64-android'
;; ` perl -V::installsitearch: `
; perl_installsitearch = '/data/data/com.termux/files/usr/lib/perl5/site_perl/5.30.2/aarch64-android'
;; ` perl -V::installvendorarch: `
; perl_installvendorarch = ''
;; ` perl -E 'say for @INC' `
; perl_inc = ['/data/data/com.termux/files/usr/lib/perl5/site_perl/5.30.2/aarch64-android', '/data/data/com.termux/files/usr/lib/perl5/site_perl/5.30.2', '/data/data/com.termux/files/usr/lib/perl5/5.30.2/aarch64-android', '/data/data/com.termux/files/usr/lib/perl5/5.30.2']
[host_machine]
cpu_family = 'arm'
cpu = 'aarch64'
endian = 'little'
system = 'android'

View file

@ -1,152 +1,81 @@
<h2>FAQ</h2>
<base href='https://irssi.org/documentation/faq/'>
<h1>Frequently Asked Questions</h1>
<h3 id="q-why-doesnt-irssi-display-colors-even-when-ircii-etc-displays-them">Q: Why doesnt irssi display colors even when ircii etc. displays them?</h3>
<h3>Q: Why doesn't irssi display colors even when ircii etc. displays them?</h3>
<p>A: They force ANSI colors even if terminal doesnt support them. By default, irssi uses colors only if terminfo/termcap so says. The correct way to fix this would be to change your TERM environment to a value where colors work, like xterm-256color or color_xterm (eg. <code>TERM=xterm-256color irssi</code>). If this doesnt help, then use the evil way of <code>/SET term_force_colors ON</code>.</p>
<p>A: They force ANSI colors even if terminal doesn't support them. By
default, irssi uses colors only if terminfo/termcap so says. The correct
way to fix this would be to change your TERM environment to a value where
colors work, like xterm-color or color_xterm (eg. <code>TERM=xterm-color
irssi</code>). If this doesn't help, then use the evil way of <code>/SET
term_force_colors ON</code>.</p>
<h3>Q: How do I easily write text to channel that starts with '/' character?</h3>
<h3 id="q-how-do-i-easily-write-text-to-channel-that-starts-with--character">Q: How do I easily write text to channel that starts with / character?</h3>
<p>A: <code>/ /text</code></p>
<h3 id="q-why-doesnt-irssi-update-my-realname-or-whatever-after-i-change-it-with-set-realname-and-reconnect-with-reconnect-or-server">Q: Why doesnt irssi update my realname (or whatever) after I change it with <code>/SET realname</code> and reconnect with <code>/RECONNECT</code> or <code>/SERVER</code>?</h3>
<h3>Q: Why doesn't irssi update my realname (or whatever) after I change it
with <code>/SET realname</code> and reconnect with <code>/RECONNECT</code>
or <code>/SERVER</code>?</h3>
<p>A: Irssi is trying to be too smart. This will be fixed in future, but for now you should use <code>/DISCONNECT</code> and <code>/CONNECT</code>.</p>
<p>A: Irssi is trying to be too smart. This will be fixed in future, but for
now you should use <code>/DISCONNECT</code> and <code>/CONNECT</code>.</p>
<h3 id="q-i-connected-to-some-server-which-isnt-responding-but-now-irssi-tries-to-connect-back-to-it-all-the-time-how-can-i-stop-it">Q: I connected to some server which isnt responding but now irssi tries to connect back to it all the time! How can I stop it?</h3>
<p>A: Two ways. The “good way” to do it is with <code>/DISCONNECT</code>. Check the server tags first with <code>/SERVER</code> without giving it any parameters, reconnections are those that have tag starting with “recon” text. So most probably youre going to do <code>/DISCONNECT recon-1</code>. The other way is to remove all the reconnections with <code>/RMRECONNS</code>, easier but may remove some connections you actually wanted to reconnect (if you used multiple servers..).</p>
<h3>Q: I connected to some server which isn't responding but now irssi tries
to connect back to it all the time! How can I stop it?</h3>
<h3 id="q-how-do-i-add-seconds-to-timestamp">Q: How do I add seconds to timestamp?</h3>
<p>A: Two ways. The "good way" to do it is with <code>/DISCONNECT</code>.
Check the server tags first with <code>/SERVER</code> without giving it any
parameters, reconnections are those that have tag starting with "recon"
text. So most probably you're going to do <code>/DISCONNECT recon-1</code>.
The other way is to remove all the reconnections with
<code>/RMRECONNS</code>, easier but may remove some connections you actually
wanted to reconnect (if you used multiple servers..).</p>
<p>A: <code>/FORMAT timestamp {timestamp %%H:%%M:%%S}</code> - and remember to add the trailing space :)</p>
<h3 id="q-why-does-irssi-say-irssi-channel-not-fully-synchronized-yet-try-again-after-a-while-when-i-try-to-use-ban-etc">Q: Why does irssi say “Irssi: Channel not fully synchronized yet, try again after a while” when I try to use /BAN etc?</h3>
<h3>Q: How do I add seconds to timestamp?</h3>
<p>A: Possibly a bug in irssi, or ircd youre using does something that irssi didnt really notice. The new code should make this happen far less often than before, but one known reason for this is when irssi doesnt notice that you were unable to join some channel. Currently however I dont know of any such events irssi doesnt know about.</p>
<p>A: <code>/FORMAT timestamp {timestamp %%H:%%M:%%S}</code> - and remember
to add the trailing space :)</p>
<h3>Q: Why does irssi say "Irssi: Channel not fully synchronized yet, try
again after a while" when I try to use /BAN etc?</h3>
<p>A: Possibly a bug in irssi, or ircd you're using does something that
irssi didn't really notice. The new code should make this happen far less
often than before, but one known reason for this is when irssi doesn't
notice that you were unable to join some channel. Currently however I don't
know of any such events irssi doesn't know about.</p>
<p>Anyway, if this does happen, do <code>/RAWLOG SAVE ~/rawlog</code> soon
after joining to channel, and either try to figure out yourself why irssi
didn't get reply to WHO request, or send the whole log to cras@irssi.org. Note
that the rawlog is by default only 200 lines and it may not be enough to
show all needed information, so you might want to do <code>/SET rawlog_lines
1000</code> or so.</p>
<p>Anyway, if this does happen, do <code>/RAWLOG SAVE ~/rawlog</code> soon after joining to channel, and either try to figure out yourself why irssi didnt get reply to WHO request, or open a Github issue with the full log included. Note that the rawlog is by default only 200 lines and it may not be enough to show all needed information, so you might want to do <code>/SET rawlog_lines 1000</code> or so.</p>
<p><code>MODE +b</code> still works fine though.</p>
<h3 id="q-wheres-the-gui-version">Q: Wheres the GUI version?</h3>
<h3>Q: Where's the GUI version?</h3>
<p>A: There was one on <a href="https://github.com/irssi-import/xirssi">irssi-import/xirssi</a> but it has not been maintained for a long time.</p>
<p>A: Read
<a href="http://www.irssi.org/about">http://www.irssi.org/about</a></p>
<h3 id="q-how-do-i-autorejoin-channels-after-being-kicked">Q: How do I autorejoin channels after being kicked?</h3>
<p>A: Thats evil and you shouldnt do it. If you get kicked, you should stay out, at least until the channel forgot you existed :) Most channels Ive joined just ban you if you autorejoin after kick. If youre joined to channels who kick people for fun, try changing channels or something.</p>
<h3>Q: How do I autorejoin channels after being kicked?</h3>
<p>Anyway, if you REALLY want to do that, and you understand that youre doing evilness, you can use the autorejoin.pl script that comes with irssi. Youll still need to specify the channels you wish to rejoin with <code>/SET autorejoin_channels #chan1 #chan2 ...</code></p>
<p>A: That's evil and you shouldn't do it. If you get kicked, you should stay
out, at least until the channel forgot you existed :) Most channels I've
joined just ban you if you autorejoin after kick. If you're joined to
channels who kick people for fun, try changing channels or something.</p>
<h3 id="q-how-do-i-announce-that-im-awayback-in-all-channels-ive-joined-or-how-do-i-change-my-nick-when-setting-myself-awayback">Q: How do I announce that Im away/back in all channels Ive joined? Or how do I change my nick when setting myself away/back?</h3>
<p>Anyway, if you REALLY want to do that, and you understand that you're doing
evilness, you can use the autorejoin.pl script that comes with irssi. You'll
still need to specify the channels you wish to rejoin with <code>/SET
autorejoin_channels #chan1 #chan2 ...</code></p>
<p>A: Thats even worse than autorejoin. Who could possibly care every time you come and go? Many channels will kick you for using this, and I for example have added several ignores so Id never need to see these messages. Learn to use <code>/AWAY</code> command properly and tell its existence to people who dont know about it. <code>/WII yournick</code> shows your away reason much better for people who actually want to know if youre there or not.</p>
<h3 id="q-why-does-irssi-autojoin-on-invite-by-default">Q: Why does irssi autojoin on invite by default?</h3>
<h3>Q: How do I announce that I'm away/back in all channels I've joined? Or
how do I change my nick when setting myself away/back?</h3>
<p>A: The setting is /SET join_auto_chans_on_invite - its not the same as regular autojoin-on-invite, which irssi doesnt even have. The only channels that are joined on invite, are the ones youve added to config with /CHANNEL ADD -auto. This is very useful with +i channels when you need to first send an invite request to bot, or if you get accidentally kicked from channel, the kicker can invite you back immediately.</p>
<p>A: That's even worse than autorejoin. Who could possibly care every time
you come and go? Many channels will kick you for using this, and I for example
have added several ignores so I'd never need to see these messages. Learn to
use <code>/AWAY</code> command properly and tell its existence to people
who don't know about it. <code>/WII yournick</code> shows your away reason
much better for people who actually want to know if you're there or not.</p>
<p>I dont see any bad side effects with this feature, so its ON by default. I guess someone could start kicking/inviting you all the time but server connection shouldnt drop because of that, and you shouldnt join channels whose operators are that evil.</p>
<h3 id="q-how-to-make-utf-8-support-work-with-irssi">Q: How to make UTF-8 support work with irssi?</h3>
<h3>Q: Why does irssi autojoin on invite by default?</h3>
<p>A: Make sure your terminal supports UTF-8 (for example, <code>xterm -u8</code>). If you use screen, you may have to do <code>screen -U</code>. And in Irssi do <code>/SET term_charset utf-8</code>. (for 0.8.9 and older: <code>/SET term_type utf-8</code>)</p>
<p>A: The setting is /SET join_auto_chans_on_invite - it's not the same
as regular autojoin-on-invite, which irssi doesn't even have. The only
channels that are joined on invite, are the ones you've added to config
with /CHANNEL ADD -auto. This is very useful with +i channels when you
need to first send an invite request to bot, or if you get accidentally
kicked from channel, the kicker can invite you back immediately.</p>
<h3 id="q-will-there-be-detach-like-feature">Q: Will there be /DETACH-like feature?</h3>
<p>I don't see any bad side effects with this feature, so it's ON by
default. I guess someone could start kicking/inviting you all the time
but server connection shouldn't drop because of that, and you shouldn't
join channels whose operators are that evil.</p>
<p>A: <a href="https://tmux.github.io/">tmux</a>, <a href="https://www.gnu.org/software/screen/screen.html">screen</a> and <a href="https://sourceforge.net/projects/dtach/">dtach</a> can be used to do it just fine.</p>
<h3 id="q-how-do-i-run-scripts-automatically-at-startup">Q: How do I run scripts automatically at startup?</h3>
<h3>Q: How to make UTF-8 support work with irssi?</h3>
<p>A: Put them into <code>~/.irssi/scripts/autorun/</code> directory. Or better would be if you placed them in <code>~/.irssi/scripts/</code> and created symlinks to autorun directory (eg. <code>cd ~/.irssi/scripts/autorun/ ; ln -s ../script.pl .</code>)</p>
<p>A: Make sure your terminal supports UTF-8 (for example, <code>xterm -u8</code>).
If you use screen, you may have to do <code>screen -U</code>. And in Irssi do
<code>/SET term_charset utf-8</code>. (for 0.8.9 and older: <code>/SET term_type utf-8</code>)</p>
<h3 id="q-how-do-i-execute-commands-automatically-at-startup">Q: How do I execute commands automatically at startup?</h3>
<p>A: Put them into <code>~/.irssi/startup</code> file, each command on its own line. The preceding slash (/) is not necessary.</p>
<h3>Q: Will there be /DETACH-like feature?</h3>
<h3 id="q-how-do-i-easily-edit-existing-topic">Q: How do I easily edit existing topic?</h3>
<p>A: Maybe. Detach code already is there, attach is just missing :) But I
don't have much interest in coding it,
<a href="http://www.gnu.org/software/screen/screen.html">screen</a> and
<a href="http://dtach.sf.net/">dtach</a> can be used to do it just fine.</p>
<p>A: <code>/TOPIC &lt;tab&gt;</code></p>
<h3 id="q-how-can-i-have-whois-replies-to-active-window">Q: How can I have /WHOIS replies to active window?</h3>
<h3>Q: How do I run scripts automatically at startup?</h3>
<p>A: You can disable the status window, or do <code>/WINDOW LEVEL -CRAP</code> in it which would also make several other messages show up in active window. You can also use a <a href="https://dgl.cx/irssi/hack-whois-in-current-window.pl">script</a>.</p>
<p>A: Put them into <code>~/.irssi/scripts/autorun/</code> directory. Or
better would be if you placed them in <code>~/.irssi/scripts/</code> and
created symlinks to autorun directory (eg. <code>cd
~/.irssi/scripts/autorun/ ; ln -s ../script.pl .</code>)</p>
<h3 id="q-how-do-i-add-the-active-network-to-the-statusbar">Q: How do I add the active network to the statusbar</h3>
<p>A: Modify the window-line in statusbar section in config file to <code>window = "{sb $winref:$tag/$T{sbmode $M}}";</code></p>
<h3>Q: How do I execute commands automatically at startup?</h3>
<p>A: Put them into <code>~/.irssi/startup</code> file, each command on its
own line. The preceding slash (/) is not necessary.</p>
<h3>Q: How do I easily edit existing topic?</h3>
<p>A: /TOPIC &lt;tab&gt;</p>
<h3>Q: How can I have /WHOIS replies to active window?</h3>
<p>A: You can disable the status window, or do <code>/WINDOW LEVEL
-CRAP</code> in it which would also make several other messages show up in
active window. You can also use a
<a href="http://dgl.cx/irssi/hack-whois-in-current-window.pl">script</a>.</p>
<h3>Q: How do I add the active network to the statusbar</h3>
<p>A: Modify the window-line in statusbar section in config file to
<code>window = "{sb $winref:$tag/$T{sbmode $M}}";</code></p>
<h3 id="q-how-to-pronounce-irssi">Q: How to pronounce Irssi?</h3>
<p>A: Check <a href="/assets/irssi.wav">here</a></p>

124
docs/faq.txt Normal file
View file

@ -0,0 +1,124 @@
Frequently Asked Questions
Q: Why doesnt irssi display colors even when ircii etc. displays them?
A: They force ANSI colors even if terminal doesnt support them. By default,
irssi uses colors only if terminfo/termcap so says. The correct way to fix this
would be to change your TERM environment to a value where colors work, like
xterm-256color or color_xterm (eg. TERM=xterm-256color irssi). If this doesnt
help, then use the evil way of /SET term_force_colors ON.
Q: How do I easily write text to channel that starts with / character?
A: / /text
Q: Why doesnt irssi update my realname (or whatever) after I change it with /
SET realname and reconnect with /RECONNECT or /SERVER?
A: Irssi is trying to be too smart. This will be fixed in future, but for now
you should use /DISCONNECT and /CONNECT.
Q: I connected to some server which isnt responding but now irssi tries to
connect back to it all the time! How can I stop it?
A: Two ways. The “good way” to do it is with /DISCONNECT. Check the server tags
first with /SERVER without giving it any parameters, reconnections are those
that have tag starting with “recon” text. So most probably youre going to do /
DISCONNECT recon-1. The other way is to remove all the reconnections with /
RMRECONNS, easier but may remove some connections you actually wanted to
reconnect (if you used multiple servers..).
Q: How do I add seconds to timestamp?
A: /FORMAT timestamp {timestamp %%H:%%M:%%S} - and remember to add the trailing
space :)
Q: Why does irssi say “Irssi: Channel not fully synchronized yet, try again
after a while” when I try to use /BAN etc?
A: Possibly a bug in irssi, or ircd youre using does something that irssi
didnt really notice. The new code should make this happen far less often than
before, but one known reason for this is when irssi doesnt notice that you
were unable to join some channel. Currently however I dont know of any such
events irssi doesnt know about.
Anyway, if this does happen, do /RAWLOG SAVE ~/rawlog soon after joining to
channel, and either try to figure out yourself why irssi didnt get reply to
WHO request, or open a Github issue with the full log included. Note that the
rawlog is by default only 200 lines and it may not be enough to show all needed
information, so you might want to do /SET rawlog_lines 1000 or so.
MODE +b still works fine though.
Q: Wheres the GUI version?
A: There was one on [1]irssi-import/xirssi but it has not been maintained for a
long time.
Q: How do I autorejoin channels after being kicked?
A: Thats evil and you shouldnt do it. If you get kicked, you should stay out,
at least until the channel forgot you existed :) Most channels Ive joined just
ban you if you autorejoin after kick. If youre joined to channels who kick
people for fun, try changing channels or something.
Anyway, if you REALLY want to do that, and you understand that youre doing
evilness, you can use the autorejoin.pl script that comes with irssi. Youll
still need to specify the channels you wish to rejoin with /SET
autorejoin_channels #chan1 #chan2 ...
Q: How do I announce that Im away/back in all channels Ive joined? Or how do
I change my nick when setting myself away/back?
A: Thats even worse than autorejoin. Who could possibly care every time you
come and go? Many channels will kick you for using this, and I for example have
added several ignores so Id never need to see these messages. Learn to use /
AWAY command properly and tell its existence to people who dont know about it.
/WII yournick shows your away reason much better for people who actually want
to know if youre there or not.
Q: Why does irssi autojoin on invite by default?
A: The setting is /SET join_auto_chans_on_invite - its not the same as regular
autojoin-on-invite, which irssi doesnt even have. The only channels that are
joined on invite, are the ones youve added to config with /CHANNEL ADD -auto.
This is very useful with +i channels when you need to first send an invite
request to bot, or if you get accidentally kicked from channel, the kicker can
invite you back immediately.
I dont see any bad side effects with this feature, so its ON by default. I
guess someone could start kicking/inviting you all the time but server
connection shouldnt drop because of that, and you shouldnt join channels
whose operators are that evil.
Q: How to make UTF-8 support work with irssi?
A: Make sure your terminal supports UTF-8 (for example, xterm -u8). If you use
screen, you may have to do screen -U. And in Irssi do /SET term_charset utf-8.
(for 0.8.9 and older: /SET term_type utf-8)
Q: Will there be /DETACH-like feature?
A: [2]tmux, [3]screen and [4]dtach can be used to do it just fine.
Q: How do I run scripts automatically at startup?
A: Put them into ~/.irssi/scripts/autorun/ directory. Or better would be if you
placed them in ~/.irssi/scripts/ and created symlinks to autorun directory (eg.
cd ~/.irssi/scripts/autorun/ ; ln -s ../script.pl .)
Q: How do I execute commands automatically at startup?
A: Put them into ~/.irssi/startup file, each command on its own line. The
preceding slash (/) is not necessary.
Q: How do I easily edit existing topic?
A: /TOPIC <tab>
Q: How can I have /WHOIS replies to active window?
A: You can disable the status window, or do /WINDOW LEVEL -CRAP in it which
would also make several other messages show up in active window. You can also
use a [5]script.
Q: How do I add the active network to the statusbar
A: Modify the window-line in statusbar section in config file to window = "{sb
$winref:$tag/$T{sbmode $M}}";
Q: How to pronounce Irssi?
A: Check [6]here
References:
[1] https://github.com/irssi-import/xirssi
[2] https://tmux.github.io/
[3] https://www.gnu.org/software/screen/screen.html
[4] https://sourceforge.net/projects/dtach/
[5] https://dgl.cx/irssi/hack-whois-in-current-window.pl
[6] https://irssi.org/assets/irssi.wav

View file

@ -23,10 +23,13 @@
%U Underline on/off
%8 Reverse on/off
%9 %_ Bold on/off
%I Italic on/off
%: Insert newline
%| Marks the indentation position
%# Monospace font on/off (useful with lists and GUI)
%% A single %
%XAB %xAB Color from extended plane (A=1-7, B=0-Z)
%ZAABBCC %zAABBCC HTML color (in hex notation)
In .theme files %n works a bit differently. See default.theme
for more information.

View file

@ -1,12 +0,0 @@
# Makefile.am is autogenerated by autogen.sh from Makefile.am.gen
helpdir = $(datadir)/irssi/help
help_DATA = \
@HELPFILES@
EXTRA_DIST = \
Makefile.am.gen \
$(help_DATA)
SUBDIRS = in

View file

@ -1,5 +0,0 @@
# Makefile.am is autogenerated by autogen.sh from Makefile.am.gen
EXTRA_DIST = \
Makefile.am.gen \
@HELPFILES@

View file

@ -1,28 +1,30 @@
%9Syntax:%9
@SYNTAX:accept@
MODE <your nick> <+|->g
Works only in some IRC networks.
%9Parameters:%9
ACCEPT allows you to specify who you want to receive private messages
and notices from while you are in callerid (+g) mode.
When you have user mode +g enabled, messages from other users are blocked and
the sender is notified; you are also notified but at most once per minute.
IRC operators and services can usually send through +g.
A comma-separated list of nicknames to add or remove; if no argument is
given, your accept list will be displayed.
The accept list is lost when you disconnect.
Users are automatically removed from the accept list if they quit, split
or change nick.
%9Description:%9
The argument is a comma-separated list of nicks to add or (when prefixed
with a '-') to remove. No output is returned for users successfully added
or removed.
If no arguments are given, your accept list is displayed (ACCEPT * on the
protocol level).
Allows you to specify who you want to receive private messages and notices
from while you have callerid enabled.
Example:
/ACCEPT user1,user2,-user3,-user4 - Adds user1 and user2 and removes
user3 and user4.
See also: IGNORE, SILENCE
When you have callerid enabled, messages from other users are blocked and
the sender is notified.
Users are automatically removed from the accept list if they quit, split
or change nickname; the accept list is lost when you disconnect.
This command only works on IRC servers that support the callerid user mode.
%9Examples:%9
/ACCEPT mike,bob,-john,-sarah
/ACCEPT sarah,-bob
%9See also:%9 IGNORE, SILENCE

View file

@ -1,9 +1,23 @@
%9Syntax:%9
@SYNTAX:action@
Same as ME, but gets channel or nick as an additional parameter.
Example: /ACTION #irssi yawns
(This outputs the following to #irssi: * Nick yawns)
%9Parameters:%9
See also: ME
-<server tag>: The server tag you want to send the action emote to.
A target nickname or channel and the message to emote.
%9Description:%9
Sends an action emote to a nickname or a channel.
%9Examples:%9
/ACTION #irssi is hungry!
/ACTION mike had an awesome day @ work
/ACTION -efnet #irssi is happy it's Friday
%9See also:%9 ME

View file

@ -1,8 +1,22 @@
%9Syntax:%9
@SYNTAX:admin@
Displays the administrative details about the given server. If
no server is specified, the server you are connected to is
used. If a nickname is supplied then it gives the administrative
information for that person's current server.
%9Parameters:%9
A nickname or server for which you want to know the administrative details;
if no argument is given, the server you are connected to will be used.
%9Description:%9
Displays the administrative details of a server.
%9Examples:%9
/ADMIN
/ADMIN irc.libera.chat
/ADMIN mike
%9See also:%9 INFO

View file

@ -1,22 +1,37 @@
%9Syntax:%9
@SYNTAX:alias@
Creates a new alias or shows matching defined aliases. Without
parameters shows all defined aliases. Multiple commands can be run if
separated with ';' character. Parameters given to alias are in $0..$9
variables, if you don't use them in your alias, all parameters are
automatically appended after it.
%9Parameters:%9
Examples:
A name of the alias and the command to execute. You can prepend the alias
with the '-' character to remove the alias; if no argument is given, your
aliases will be displayed.
/ALIAS w
- shows all defined aliases starting with letter w.
%9Description:%9
/ALIAS send echo Sending file $1 to $0;dcc send $0-
- creates alias 'send'.
Creates or updates an alias; you can use the ';' character to separate
multiple commands.
/ALIAS -send
- removes alias 'send'.
The parameters given to the alias are expanded in '$[\d]'; for example $0,
$1, $2, $8, ..., as well as any other special variable.
See also: UNALIAS
If you don't use any parameters in your alias, all parameters will be
automatically appended after it.
%9Examples:%9
/ALIAS
/ALIAS UH USERHOST
/ALIAS COMEBACK SAY I was hoping for a battle of wits, but you seem to be unarmed.
/ALIAS -COMEBACK
/ALIAS UNACT SCRIPT EXEC \$_->activity(0) for Irssi::windows
/ALIAS QOP ^MSG Q op $C
%9References:%9
https://github.com/irssi/irssi/blob/master/docs/special_vars.txt
%9See also:%9 BIND, UNALIAS

View file

@ -1,28 +1,33 @@
%9Syntax:%9
@SYNTAX:away@
-one
-all
%9Parameters:%9
This command marks you as being "away". It is used to tell people that
you currently aren't paying attention to your screen. You might use it
if you are taking a nap, in the shower, getting some food, or otherwise
just aren't there at the moment. When you're "away" you will see "(zZzZ)"
in your statusbar.
-one: Marks yourself as away on the active server.
-all: Marks yourself as away on all the servers you are connected to.
Anyone who does a WHOIS on your nickname will see that you are away,
as well as your away message. Anyone doing a WHO that returns information
about you will also see that you're gone.
Your away message; if no argument is given, your away status will be removed.
By default, if someone sends you a MSG while you are away, your client
will beep. You can turn this off by setting BEEP_WHEN_AWAY to OFF.
%9Description:%9
If you send a MSG to someone who is away, you will automatically be
notified of this. By default, you will only receive this notification
once. If you wish to see it every time (to tell when a person is no
longer marked away, for instance), change SHOW_AWAY_ONCE to OFF.
Marks yourself as 'away'; this method is used to inform people that you
are not paying attention to your screen.
You can remove your away status by using AWAY with no arguments.
You might use it when you are taking a nap, in the shower, getting some
food, or otherwise engaged. When you're 'away' you will see '(zZzZ)' in
your statusbar.
See also: SET AWAY
Anyone who does a WHOIS on your nickname will see that you are away, as
well as your away message.
%9Examples:%9
/AWAY
/AWAY I'm getting some food.
/AWAY zZzZ
/AWAY -one Feeding the cat!
%9See also:%9 DISCONNECT

View file

@ -1,27 +1,42 @@
%9Syntax:%9
@SYNTAX:ban@
Bans the specified nick or userhost mask.
%9Parameters:%9
If nick is given as parameter, the ban type is used to generate the ban
mask. /SET ban_type specified the default ban type. Ban type is one of
the following:
-normal: Uses the *!*user@*.domain.tld format.
-user: Uses the *!*user@* format.
-host: Uses the *!*@host.domain.tld format.
-domain: Uses the *!*@*.domain.tld format.
-custom: Uses the custom format.
Normal - *!*user@*.domain.net
User - *!*user@*
Host - *!*@host.domain.net
Domain - *!*@*.domain.net
Custom [nick] [user] [host] [domain]
A channel and the nicknames or hostnames to ban; if no arguments are given
the bans in the active channel are displayed.
If no arguments are given the current bans in this channel are displayed.
If no ban format parameter is given, the value of the ban_type setting will
be used to generate the hostmask to ban.
Examples:
/BAN loser - Bans the nick 'loser'
/BAN -host loser - Bans the host of nick 'loser'
/BAN *!*@*.org - Bans all the users coming from any .org domain.
%9Description:%9
/SET ban_type custom nick domain - nick!*@*.domain.net
/SET ban_type custom user host - *!user@host.domain.net
Adds one or more bans to a channel.
See also: KNOCKOUT, KICKBAN
%9Configuring the custom format:%9
You must set the custom ban_type to the format you would like to use. For
example, if you set the custom ban_type to 'nick domain', it will generate
a ban based on the nick!*@*.domain.tld format.
%9Examples:%9
/BAN
/BAN mike
/BAN -host bob
/BAN *!*@*.irssi.org
/BAN -domain sarah
/SET ban_type custom nick domain
/SET ban_type custom user host
%9See also:%9 DEOP, KICKBAN, KNOCKOUT, OP, UNBAN

View file

@ -1,6 +1,15 @@
%9Syntax:%9
@SYNTAX:beep@
Outputs the bell-character, usually causing
your terminal beep.
%9Description:%9
Outputs the bell-character, usually causing your terminal to beep.
%9Examples:%9
/BEEP
%9See also:%9 CLEAR

View file

@ -1,48 +1,37 @@
%9Syntax:%9
@SYNTAX:bind@
Bind some action to specified keystroke. Remember that all characters
in keystrokes are case-sensitive! Uppercase letter usually means that
you need to keep SHIFT pressed to get the key to work.
%9Parameters:%9
Most most commonly used keystrokes are:
-list: Displays a list of all the bindable commands.
-delete: Removes the binding.
-reset: Reset a key to its default binding.
^X - Ctrl-X
meta-x - Meta-x (Meta is quite often Alt-key in PCs, ESC-x works too)
A name of the binding and the command to perform; if no parameter is given,
the list of bindings will be displayed.
Irssi has by default also defined several other keys which you can use:
Details:
return - The return/enter key
space, backspace - Space / backspace
up, down, left, right - Arrow keys
cleft, cright - Ctrl-left/right
home, end, prior, next - prior = Page Up, next = Page Down
insert, delete
Adds or removes a binding; the binding itself is case-sensitive and may
contain as many characters as you want.
The keystroke can contain as many key presses as you want, and you can
define names for different key sequences to use them more easily (the
keys above are done like that). For example, you may want to manage
windows with ^W key, so that ^W^C creates new window, ^W^K kills the
active window, etc. you may do it like:
Key bindings are case sensitive so uppercase letters mean you also have
to use the shift key, except for ctrl which does not support shift but
the keys must always be typed in uppercase.
/BIND ^W^C /WINDOW NEW HIDE
/BIND ^W^K /WINDOW KILL
%9Examples:%9
But maybe you wish to give these binds to other people who want to use
some other key than ^W, then it would be better done as:
/BIND
/BIND meta-c /CLEAR
/BIND meta-C /CYCLE
/BIND meta-q change_window 16
/BIND -delete meta-y
/BIND ^W^C /WINDOW NEW HIDE
/BIND ^W^K /WINDOW KILL
/BIND ^[[11~ command AWAY I'm off for today :)
/BIND ^[[12~ command AWAY
/BIND ^W key window
/BIND window-^C /WINDOW NEW HIDE
/BIND window-^K /WINDOW KILL
%9See also:%9 ALIAS
To get a list of all bindable commands use /bind -list.
Examples:
Clear screen:
/BIND meta-c /CLEAR
People with qwertz layout probably want to swap meta-y and meta-z:
/BIND meta-z change_window 16
/BIND -delete meta-y

View file

@ -1,8 +1,28 @@
%9Syntax:%9
@SYNTAX:cat@
Outputs the contents of the specified file. Equivalent to
UNIX 'cat' command.
%9Parameters:%9
See also: CD
-window: Displays the output in the active window.
The file to display and optionally a position to seek in the file,
in bytes.
%9Description:%9
Displays the contents of the specified file in the active window if -window
is specified, otherwise to the closest matching window depending on levels.
The seek position parameter is used internally to display away logs, if
omitted the whole file is shown.
%9Examples:%9
/CAT -window /etc/network/interfaces
/CAT /home/mike/resume.txt
/CAT contact_details.txt
%9See also:%9 CD, EXEC

View file

@ -1,8 +1,21 @@
%9Syntax:%9
@SYNTAX:cd@
Changes the current working directory. Equivalent to UNIX
'cd' command.
%9Parameters:%9
See also: DCC GET
The directory to change into.
%9Description:%9
Changes the current active directory.
%9Examples:%9
/CD /home/public_ftp
/CD /home/mike
/CD /var/log
%9See also:%9 CAT

View file

@ -1,35 +1,48 @@
%9Syntax:%9
@SYNTAX:channel@
Irssi can automatically join to specified channels in specified
IRC networks. It can also automatically send the password when
manually joining to channel without specifying the password.
%9Parameters:%9
/CHANNEL ADD [-auto | -noauto] [-bots <masks>] [-botcmd <command>]
<channel> <network> [<password>]
LIST: Displays the list of configured channels.
ADD: Adds a channel to your configuration.
MODIFY: Modifies a channel in your configuration.
REMOVE: Removes a channel from your configuration.
With -bots and -botcmd arguments you can automatically send
commands to someone in channel. This is useful for automatically
getting ops for channels, for example
-auto: Automatically join the channel.
-noauto: Don't join the channel automatically.
-bots: The list of hostnames send automated commands to.
-botcmd: The automated commands to perform.
/CHANNEL ADD -auto -bots "*!bot@bothost.org bot*!*@host2.org"
-botcmd "msg $0 op mypass" #channel ircnet
The channel and network to add to the configuration; you can optionally
specify the password of a channel.
You can also use the -botcmd without -bots argument. The command is
then sent whenever you join the channel.
If no parameters are given, the list of channels you have joined will be
displayed.
If you want to remove some settings from existing channel record,
for example bots, just give the -bots "" parameters to it. Password
can be removed by setting it to - (or actually, "" works too).
%9Description:%9
You can remove the channels with
/CHANNEL REMOVE <channel> <network>
Adds, removes or displays the configuration of channels; this method is
used to automate and simplify your workflow.
/CHANNEL LIST displays list of channels with settings.
You can use the ADDALLCHANS command, which is a default alias, to add all
the channels you are present on into the configuration.
/CHANNEL without any arguments displays list of channels you have
joined. You can also use /CHANNEL to join to channels just as with
/JOIN, like /CHANNEL #a.
%9Examples:%9
See also: TS, JOIN
/CHANNEL
/CHANNEL LIST
/CHANNEL ADD -auto #irssi liberachat
/CHANNEL ADD -auto #basementcat Quakenet secret_lair
/CHANNEL ADD -auto -bots '*!@*.irssi.org *!bot@irssi.org' -botcmd 'msg $0 op WzerTrzq' #hideout liberachat
/CHANNEL ADD -auto -bots 'Q!TheQBot@CServe.quakenet.org' -botcmd '^MSG Q op #irssi' #irssi Quakenet
/CHANNEL MODIFY -noauto #irssi liberachat
/CHANNEL REMOVE #hideout liberachat
%9Special Example:%9
/ADDALLCHANS
%9See also:%9 JOIN, TS

View file

@ -1,9 +1,19 @@
%9Syntax:%9
@SYNTAX:clear@
This command clears the current window of all text. It is useful
for wiping a screen that has rendered improperly (such as due
to a bad termcap entry) or that contains sensitive information
(such as one's OPER password).
%9Parameters:%9
-all: Clear all the windows
The window number to clear; if no argument is given, the active window
will be used.
%9Description:%9
Scrolls up the text in the window and fills the window with blank lines; you
may want to use this to make new text start at the top of the window again.
%9See also:%9 REDRAW, SCROLLBACK CLEAR

View file

@ -1,31 +1,35 @@
%9Syntax:%9
@SYNTAX:completion@
Irssi can "complete" some words for you - you can write just first few letters
of the word and press TAB (or any other key with action word_completion
assigned). Then, irssi will choose the most probable matching word and inserts
it to the command line. You can press TAB repetitively and irssi will replace
the chosen word with another possible words matching to the letters you wrote.
%9Parameters:%9
The words chosen usually depend on their context - they can be filenames or
command names, but most frequently they are nicks of people on same channels as
you are. However, you can have global list of own completions, which apply to
all contexts. This command is dedicated to maintaining of such a list.
-auto: Inserts the completion without pressing a word completion
character.
-delete: Removes the completion from the configuration.
Without any parameters, /COMPLETION displays list of all user completions.
A key and the value to use as a replacement. If no argument is given, the
list of completions will be displayed.
/COMPLETION [-auto] <prefix> <string> adds completion which gets triggered when
you press TAB (or any other key with action word_completion assigned) after
writing <prefix> specified and which expands to <string>. When -auto is
specified, the completion gets triggered even when you press SPACE or ENTER (or
any other key with action check_replaces assigned) after the <prefix>. If
there's already some <prefix> completion in the list, it will get replaced.
%9Description:%9
/COMPLETION -delete <prefix> removes completion of <prefix> from the user
completion list.
Replaces or completed words or letters; you can write just the first few
letters of the word and press TAB to insert a replacement.
Note: When -auto is specified for the <prefix> you want to remove you have to
quote it like /COMPLETION -delete '<prefix>'. Works with doublequotes aswell.
When a replacement has been found, Irssi will choose the most probable
matching word and replaces it; you may press TAB repeatedly to swap between
matches.
See also: BIND
If you want to remove a completion which has the auto parameter set, you
need to enclose the completion between "'" characters.
%9Examples:%9
/COMPLETION w/h without
/COMPLETION -auto anywya anyway
/COMPLETION -delete 'anywya'
/COMPLETION -delete without
%9See also:%9 BIND

View file

@ -1,21 +1,44 @@
%9Syntax:%9
@SYNTAX:connect@
-4, -6: specify explicitly whether to use IPv4 or IPv6 address
-ssl: use SSL when connecting
-ssl_cert: The SSL client certificate file (implies -ssl)
-ssl_pkey: The SSL client private key (if not included in the certificate file)
-ssl_verify: Verify servers SSL certificate
-ssl_cafile: File with list of CA certificates (implies -ssl_verify)
-ssl_capath: Directory with CA certificates (implies -ssl_verify)
-network: the network this connection belongs to
-ircnet: Same as -network. Deprecated. Do not use.
-host: the host
-!: don't autojoin channels
-rawlog: immediately open rawlog after connected
%9Parameters:%9
This command makes irssi to connect to specified server.
Current connections are kept and a new one is created.
-4: Connects using IPv4.
-6: Connects using IPv6.
-tls: Connects using TLS encryption.
-tls_cert: The TLS client certificate file.
-tls_pkey: The TLS client private key, if not included in the certificate file.
-tls_pass: The password for the TLS client private key or certificate.
-tls_verify: Verifies the TLS certificate of the server.
-tls_cafile: The file with the list of CA certificates.
-tls_capath: The directory which contains the CA certificates.
-tls_ciphers: TLS cipher suite preference lists.
-tls_pinned_cert: Pinned x509 certificate fingerprint.
-tls_pinned_pubkey: Pinned public key fingerprint.
-nocap: Disable CAPREQ during connect
-noproxy: Ignores the global proxy configuration.
-network: The network this connection belongs to.
-host: The hostname you would like to connect from.
-rawlog: Immediately open rawlog after connecting.
-!: Doesn't autojoin channels.
-noautosendcmd: Doesn't execute autosendcmd.
See also: SERVER, DISCONNECT, RMRECONNS, SCONNECT
A network or server to connect to; you can optionally specify a custom port,
password and nickname.
%9Description:%9
Opens a new connection to the specified network or server; existing
connections are kept.
%9Examples:%9
/CONNECT liberachat
/CONNECT -6 liberachat
/CONNECT -4 -! -host staff.irssi.org -network liberachat irc.libera.chat
/CONNECT irc.irssi.org 6667 WzerT8zq mike
%9See also:%9 DISCONNECT, RMRECONNS, SERVER

View file

@ -1,7 +1,23 @@
%9Syntax:%9
@SYNTAX:ctcp@
Sends a CTCP message. For example CTCP ACTION, or CTCP VERSION.
%9Parameters:%9
See also: ME, ACTION
A target nickname or channel and a command.
%9Description:%9
Sends a CTCP request towards the given target nickname or channel.
%9Examples:%9
/CTCP mike PING
/CTCP #irssi VERSION
/CTCP bob USERINFO
/CTCP sarah CLIENTINFO
/CTCP john TIME
%9See also:%9 ACTION, ME

View file

@ -1,8 +1,22 @@
%9Syntax:%9
@SYNTAX:cycle@
Cycles (leaves and joins) the current channel or the specified
channel.
%9Parameters:%9
See also: JOIN, PART
A channel and the message. If no argument is given, the active channel
will be used.
%9Description:%9
Leaves and rejoins a channel.
%9Examples:%9
/CYCLE
/CYCLE #irssi
/CYCLE #irssi BRB :)
%9See also:%9 JOIN, PART

View file

@ -1,37 +1,45 @@
%9Syntax:%9
@SYNTAX:dcc@
/DCC LIST
- Shows all the open DCC connections.
/DCC RESUME [<nick> [<file>]]
- Resumes a DCC SEND/GET connection.
/DCC CHAT [-passive] [<nick>]
- Sends a chat connection request to remote client or accepts
a chat connection if the remote end has already sent a request.
If -passive is used then the passive DCC protocol is used (as mIRC
can do). This is useful to bypass a NAT/firewall which limit your
possibility in listening for remote connections.
/DCC GET [<nick> [<file>]]
- Gets the file offered by remote client. The file is downloaded and
saved into the directory specified by the `dcc_download_path' setting.
/DCC SEND [-passive] [-append | -prepend | -flush | -rmtail | -rmhead]
<nick> <file> [<file> ...]
- Sends a DCC SEND request to remote client. Remote end has to accept
the request before the transmission can be started. Giving multiple
files queues them. File names may contain shell expansion
characters: * ? [] ~ (~ expansion may not be supported on all
platforms). Files with spaces in their names need to be quoted (eg.
"file name"). If -passive is used then the passive DCC protocol is
used (as mIRC and xchat > 2.0.7 can do). This is useful to bypass a
NAT/firewall which limit your possibility in listening for remote
connections.
/DCC SERVER [<+|-scf> <port>]
- Starts a DCC SERVER on the specified port. The remote can connect
to this server and initiate chat, send and fserve requests. You can
specify + or - using any combination of the flags 's' (Send),
'c' (Chat), or 'f' (Fserver).
/DCC CLOSE <type> <nick> [<file>]
- Closes a DCC-connection. Type can be either SEND, GET or CHAT.
%9Parameters:%9
See also: CD
CHAT: Initiates or accept a chat request.
GET: Accepts a file transfer request.
RESUME: Resumes a file transfer.
SERVER: Starts a DCC server.
CLOSE: Closes a DCC connection.
LIST: Displays all the open DCC connections.
-passive: Uses the passive DCC protocol.
-scf: Use any combination of the flags to indicate:
's' - send
'c' - chat
'f' - fserver
The nickname of the person to chat with, or the name of the file to
transfer.
%9Description:%9
The DCC protocol is used to initiate client-to-client chat connections
and file transfers.
If you are behind NAT, or if the firewall is too restrictive, you might
want to try if using the passive parameter resolves your connection
problem.
You can send files which contain special character or spaces by enclosing
the filename within quotes. For example: 'my file with spaces.txt'.
%9Examples:%9
/DCC CHAT mike
/DCC GET bob "summer vacation.mkv"
/DCC SEND sarah "summer vacation.mkv"
/DCC CLOSE get mike
/DCC CLOSE send bob "summer vacation.mkv"
%9See also:%9 CD

View file

@ -1,7 +1,20 @@
%9Syntax:%9
@SYNTAX:dehilight@
Removes the specified item from highlight list.
%9Parameters:%9
See also: HILIGHT
The id or mask of the highlight to remove.
%9Description:%9
Removes the specified highlight from the configuration.
%9Examples:%9
/DEHILIGHT 1
/DEHILIGHT 31
%9See also:%9 HILIGHT

View file

@ -1,10 +1,23 @@
%9Syntax:%9
@SYNTAX:deop@
Takes off the channel operator privileges from the
specified nick(s).
%9Parameters:%9
Wildcards in the nick are allowed.
A list of nicknames to deop.
See also: OP
%9Description:%9
Removes the channel operator privileges from the given nicknames; you may
use the wildcard character '*' in a nickname.
%9Examples:%9
/DEOP mike
/DEOP bob sarah
/DEOP jo*n
/DEOP *
%9See also:%9 DEVOICE, MODE, OP, VOICE

View file

@ -1,10 +1,26 @@
%9Syntax:%9
@SYNTAX:devoice@
Takes off the voice from the specified nick(s). This makes them
not to be able to send messages to the moderated (+m) channel.
%9Parameters:%9
Wildcards in the nick are allowed.
A list of nicknames to devoice.
See also: VOICE, MODE
%9Description:%9
Removes the channel voice privileges from the given nicknames; you may use
the wildcard character '*' in a nickname.
If a channel is moderated, the users will require a voice or op in order to
be able to send messages to the channel.
%9Examples:%9
/DEVOICE mike
/DEVOICE bob sarah
/DEVOICE jo*n
/DEVOICE *
%9See also:%9 DEOP, MODE, OP, VOICE

View file

@ -1,7 +1,15 @@
%9Syntax:%9
@SYNTAX:die@
IRC operator command. Terminates the IRC server.
%9Description:%9
See also: OPER
Terminates the IRC server; this command is reserved for IRC operators.
%9Examples:%9
/DIE
%9See also:%9 KILL, OPER, WALLOPS

View file

@ -1,9 +1,26 @@
%9Syntax:%9
@SYNTAX:disconnect@
Disconnects from the specified IRC-server.
The server tags can be seen with:
/SERVER
%9Parameters:%9
See also: CONNECT, SERVER
The network to disconnect from and the message to advertise; if no
parameters are given, the active server will be used.
%9Description:%9
Disconnects from an IRC server; the list of all the servers you are
connected to can be retrieved via the SERVER command.
Use the wildcard character '*' if you want to disconnect from the active
server.
%9Examples:%9
/DISCONNECT liberachat I'm off for today, take care!
/DISCONNECT * Vacation time :D
/DISCONNECT
%9See also:%9 CONNECT, SERVER

View file

@ -1,5 +1,24 @@
%9Syntax:%9
@SYNTAX:echo@
Prints text into the current window. Useful for scripts.
%9Parameters:%9
-window: Displays the output in the target window.
-level: Displays the output with a given message level.
The text output; if no target is given, the active window will be used.
%9Description:%9
Displays the given text.
%9Examples:%9
/ECHO 1 + 1 = 2 :D
/ECHO Testing the ECHO command
/ECHO -window #irssi Special variables such as ${N} will not be expanded.
%9See also:%9 CAT, EVAL, EXEC, LEVELS

View file

@ -1,6 +1,35 @@
%9Syntax:%9
@SYNTAX:eval@
Evaluates the given commands and executes them. Internal variables
are expanded. See the special_vars.txt file in the docs-directory.
%9Parameters:%9
The commands to evaluate.
%9Description:%9
Evaluates the given commands and executes them; you can use internal
variables and separate multiple commands by using the `;' character.
If the command contains a string with `$', `\' or `;' those characters
need to be escaped:
`$' -> `$$'
`\' -> `\\' (or even `\\\\', depending on where they are used)
`;' -> `\;'
%9Examples:%9
/EVAL echo I am connected to ${S} on ${chatnet} as ${N}
/EVAL echo My user privileges are +${usermode}; echo Let's party!
to print `1;2$3\4':
/EVAL echo 1\;2$$3\\4
%9References:%9
https://github.com/irssi/irssi/blob/master/docs/special_vars.txt
%9See also:%9 CAT, CD, ECHO, EXEC

View file

@ -1,41 +1,50 @@
%9Syntax:%9
@SYNTAX:exec@
-: Don't print "process terminated ..." message
-nosh: Don't start command through /bin/sh
-out: Send output to active channel/query
-msg: Send output to specified nick/channel
-notice: Send output to specified nick/channel as notices
-name: Name the process so it could be accessed easier
%9Parameters:%9
-window: Move the output of specified process to active window
-close: Forcibly close (or "forget") a process that doesn't die.
This only removes all information from irssi concerning the
process, it doesn't send SIGKILL or any other signal
to the process.
-<signal>: Send a signal to process. <signal> can be either numeric
or one of the few most common ones (hup, term, kill, ...)
-: Suppresses the process termination notification.
-nosh: Doesn't execute the command through /bin/sh.
-out: Sends the output to the active channel or query.
-msg: Sends the output to the specified nickname or channel.
-notice: Sends the output to the specified nickname or channel as
notices.
-name: Gives the process the specified name.
-window: Displays the output in the active window.
-close: Forcibly closes a process that doesn't die.
-<signal>: Sends the given signal to the process.
-in: Sends text to the standard input of the process.
-interactive: Executes the process in a new window item.
-in: Send text to standard input of the specified process
-interactive: Creates a query-like window item. Text written to it is
sent to executed process, like /EXEC -in.
The command to execute; if no output parameter is given, the active window
will be used and if no parameters are given at all, the list of active
processes will be displayed.
Execute specified command in background. Output of process is printed
to active window by default, but can be also sent as messages or
notices to specified nick or channel.
%9Description:%9
Processes can be accessed either by their ID or name if you named it.
Process identifier must always begin with '%%' character, like %%0 or
%%name.
Executes the specified command in the background; the process can be
accessed by its id or the name you gave it.
Once the process is started, it's output can still be redirected
elsewhere with the -window, -msg, etc. options. You can send text to
standard input of the process with -in option.
The output of the process can be redirected to various targets, such as
a window, a channel, a nickname or a query.
-close option shouldn't probably be used if there's a better way to
kill the process. It is meant to remove the processes that don't die
even with SIGKILL. This option just closes the pipes used to
communicate with the process and frees all memory it used.
The process identifier must always begin with the '%%' character. For
example %%0.
EXEC without any arguments displays the list of started processes.
If you remove a process with the close parameter, it will only make Irssi
detach from it; the process will keep running until it terminates.
%9Examples:%9
/EXEC
/EXEC ls
/EXEC -msg #irssi cat unicorn.txt
/EXEC -out cat /etc/passwd | grep $USER | awk -F: '{print $5}'
/EXEC -name ssh -nosh -interactive -window ssh staff.irssi.org
/EXEC -close mailserver
/EXEC -close %%0
%9See also:%9 CAT, CD, ECHO, EVAL

View file

@ -1,6 +1,19 @@
%9Syntax:%9
@SYNTAX:flushbuffer@
If either write_buffer_timeout or write_buffer_size have been set an immediate
write of the buffers is forced.
%9Description:%9
Forces an immediate flush of the buffers if the related settings are
enabled.
%9Examples:%9
/FLUSHBUFFER
/SET write_buffer_size
/SET write_buffer_timeout
%9See also:%9 REDRAW, SCROLLBACK

View file

@ -1,9 +1,25 @@
%9Syntax:%9
@SYNTAX:format@
-reset
-delete
%9Parameters:%9
Allows you to view/change irssi's messages.
Use this command with care.
-reset: Restores the original value.
-delete: Removes the format from the configuration.
The module name, the format name and the value; if no arguments are given,
the list of formats are displayed.
%9Description:%9
Allows you to reconfigure the way messages are displayed.
%9Examples:%9
/FORMAT irc away You have left planet earth
/FORMAT core not_good_idea I'm sorry sir, this broke my irony sensor; add -YES if you really mean it!
/FORMAT -reset irc away
%9See also:%9 RELOAD, SAVE, SET

View file

@ -1,5 +1,22 @@
%9Syntax:%9
@SYNTAX:hash@
Not available.
%9Description:%9
This is an ancient command that is no longer used; if you on an IRC server
that supports this command, please contact us to we can update the
documentation.
%9Examples:%9
/HASH
%9References:%9
https://irssi.org
https://github.com/irssi
%9See also:%9 DIE, KILL, OPER

View file

@ -1,13 +1,27 @@
%9Syntax:%9
@SYNTAX:help@
Shows help on commands. Try:
/HELP command
%9Parameters:%9
Also try, for example:
/SET beep
or
/SET auto
The command to display the documentation for; if no argument is given, the
list of commands will be displayed.
See also:
%9Description:%9
Displays the documentation for the given command.
%9Examples:%9
/HELP
/HELP AWAY
/HELP CONNECT
%9References:%9
https://irssi.org
https://github.com/irssi
%9See also:%9 CONNECT, MSG, NETWORK, SERVER

View file

@ -1,32 +1,43 @@
%9Syntax:%9
@SYNTAX:hilight@
-mask: Match only for nick, <text> is a nick mask
-regexp: <text> is a regular expression
-full: <text> must match to full words
-nick: Hilight only the nick, not the whole line (default)
-word: Hilight only the word (default with non-public messages)
-line: Hilight the whole line with the hilight color.
-color: Print the message with <color>. color is in %%code format
(see docs/formats.txt)
-actcolor: Color to show in statusbar activity, or don't change if %%n.
-level: Match only for <level> messages, default is
publics,msgs,notices,actions
-channels: Match only in <channels>
-priority: Priority to use when multiple hilights match. Default is 0.
%9Parameters:%9
Examples:
-nick: Highlights only the nickname and not the whole line.
-word: Highlights only the word and not the whole line.
-line: Highlights the whole line.
-mask: Highlights all messages from users matching the mask.
-full: The text must match the full word.
-matchcase: The text must match case.
-regexp: The text is a regular expression.
-color: The color to display the highlight in.
-actcolor: The color to mark the highlight activity in the statusbar.
-level: Matches only on the given message level.
-network: Matches only on the given network.
-channels: Matches only on the given channels.
-priority: The priority to use when multiple highlights match.
Hilight lines that have "mynick" word:
/HILIGHT mynick
The text to highlight on; if no argument is given, the list of highlights
will be displayed.
Hilight all messages from "mynick":
/HILIGHT -mask mynick!*@*
%9Description:%9
Hilight lines that were written by nicks from *.fi with bold green
/HILIGHT -color %%G -mask *!*@*.fi
Highlights the keyword or pattern to make sure that you don't miss any
important messages.
For regular expressions, see `man 7 regex`.
%9Examples:%9
See also: DEHILIGHT, SET HILIGHT
/HILIGHT
/HILIGHT mike
/HILIGHT -regexp mi+ke+
/HILIGHT -mask -color %%G bob!*@*.irssi.org
/HILIGHT -full -color %%G -actcolor %%Y redbull
%9References:%9
https://github.com/irssi/irssi/blob/master/docs/formats.txt
%9See also:%9 DEHILIGHT, LEVELS

View file

@ -1,46 +1,55 @@
%9Syntax:%9
@SYNTAX:ignore@
-regexp: <pattern> is a regular expression
-full: <pattern> must match to full words
-pattern: <pattern> must match to the message's text
-except: *DON'T* ignore - overrides an existing ignore.
-replies: Ignore replies to nick in channels. For example
"/IGNORE -replies *!*@*.fi PUBLIC" ignores everyone
from Finland, but also anyone sending message
"tofinnishnick: blahblah".
-network: Ignore only on this network.
-ircnet: Same as -network. Deprecated. Do not use.
-channels: Ignore only in channels
-time: <secs> seconds after the ignore is removed
<mask>: Either a nick mask or list of channels
<levels>: List of levels to ignore. You can use -<level> to remove levels
from ignore.
<^levels>: List of levels to NOT ignore
(/ignore -except nick notices = /ignore nick ^notices)
%9Parameters:%9
-regexp: Indicates that the pattern is a regular expression.
-full: Indicates that the pattern must match a full word.
-pattern: The text pattern to ignore.
-except: Negates the ignore.
-replies: Also ignore nicknames who are talking to anyone who matches
the ignore.
-network: Ignores only on a specific network.
-channels: Ignores only on specific channels.
-time: The timeout to automatically remove the ignore.
Accepts units specified in days, hours, minutes, seconds,
milliseconds, or no unit for seconds.
/IGNORE without any arguments displays list of ignores. If you want to remove
some levels of the ignore, use /IGNORE <mask> -<level> -<level2> etc
The mask, channels and levels to ignore; if no argument is provided, the
list of ignores will be displayed.
The best match always wins, so you can have:
%9Description:%9
Ignores nicknames or text that matches a pattern.
The special level 'NO_ACT' can be used to ignore activity in the statusbar
without actually ignoring the message; this behavior is somewhat special
because it is allowed in addition to other ignores for the same target.
The special level 'HIDDEN' can be used to hide matching messages that can
later be revealed using /WINDOW HIDELEVEL -HIDDEN
The special level 'NOHILIGHT' can be used to suppress hilights without actually
ignoring the message.
%9Examples:%9
/IGNORE
/IGNORE * JOINS
/IGNORE * CTCPS
/IGNORE -except *!*@host.org CTCPS
Examples:
/IGNORE * JOINS - ignore joins in all channels
/IGNORE #channel ALL -PUBLIC -ACTIONS - ignore all but public/actions
/IGNORE #channel -JOINS - don't ignore joins anymore
/IGNORE -replies *!user@*.host.org ALL - ignore user and all replies
Some suggestions for ignoring annoying public aways:
/IGNORE -regexp -pattern "is (away|gone|back)" * ACTIONS
/IGNORE -except *!*@*.irssi.org CTCPS
/IGNORE #irssi ALL -PUBLIC -ACTIONS
/IGNORE -replies *!*@*.irssi.org ALL
/IGNORE -regexp -pattern (away|gone|back|playing|returned) * ACTIONS
/IGNORE -regexp -pattern (away|gone|back|playing|returned) #channel ACTIONS
/IGNORE *zzz* NICKS
/IGNORE *afk* NICKS
/IGNORE *away* NICKS
/IGNORE #irssi NO_ACT JOINS PARTS QUITS
/IGNORE mike NO_ACT -MSGS
/IGNORE mike HIDDEN PUBLIC JOINS PARTS QUITS
/IGNORE -time 5days christmas PUBLICS
/IGNORE -time 300 mike PUBLICS
For regular expressions, see `man 7 regex`.
See also: UNIGNORE, SILENCE, ACCEPT
%9See also:%9 ACCEPT, SILENCE, UNIGNORE

View file

@ -1,6 +1,21 @@
%9Syntax:%9
@SYNTAX:info@
Shows information about the IRC server software and the current
server instance.
%9Parameters:%9
The server to display the information for; if no argument is given, the
active server will be used.
%9Description:%9
Displays information about the IRC server software.
%9Examples:%9
/INFO
/INFO irc.libera.chat
%9See also:%9 ADMIN

View file

@ -1,10 +1,21 @@
%9Syntax:%9
@SYNTAX:invite@
Invites the specified nick to the current or specified channel.
%9Parameters:%9
Example:
/INVITE buddy #mychannel
The nickname to invite and the channel to invite him or her to; if no
channel is given, the active channel will be used.
See also: MODE
%9Description:%9
Invites the specified nick to a channel.
%9Examples:%9
/INVITE mike
/INVITE bob #irssi
%9See also:%9 MODE, WHOIS

View file

@ -1,9 +0,0 @@
@SYNTAX:invitelist@
Shows the +I modes of the current channel. +I mode
allows free joins of clients with certain userhost masks
even if the channel is invite only.
See also: INVITE, MODE

View file

@ -1,4 +0,0 @@
IRCNET
Deprecated. Use NETWORK instead.

View file

@ -0,0 +1,14 @@
@SYNTAX:irssiproxy@
%9Description:%9
Displays the list of clients connected to irssiproxy.
%9Examples:%9
/IRSSIPROXY
/IRSSIPROXY STATUS
%9See also:%9 LOAD PROXY, SET irssiproxy

View file

@ -1,7 +1,20 @@
%9Syntax:%9
@SYNTAX:ison@
Tells whether specified nicks (space-separated) are online.
%9Parameters:%9
See also: WHOIS, WHOWAS, NOTIFY
The nicknames, separated by space, to check.
%9Description:%9
Displays whether the specified nicknames are online.
%9Examples:%9
/ISON mike
/ISON sarah bob
%9See also:%9 NOTIFY, WHOWAS, WHOIS

View file

@ -1,11 +1,26 @@
%9Syntax:%9
@SYNTAX:join@
Joins a specified channel. Channel names usually begin with #-sign,
which may be omitted here.
%9Parameters:%9
JOIN is aliased to J by default. Example: /j irssi
(This joins to the channel #irssi)
-window Joins a channel in the active window.
-invite Joins the channel you were last invited to.
-<server tag> The server tag on which you want to join the channel.
See also: PART, WINDOW CLOSE
The channel names, separated by a comma, to join and the channel key.
%9Description:%9
Joins the given channels.
%9Examples:%9
/JOIN #irssi
/JOIN #basementcat secret_lair
/JOIN -invite
/JOIN -liberachat #github,#libera,#irssi
%9See also:%9 KICK, PART

View file

@ -1,16 +1,24 @@
%9Syntax:%9
@SYNTAX:kick@
This command "kicks" the specified user off of the specified
channel. It is typically used to remove troublemakers, flooders,
or people otherwise making a nuisance of themselves on the channel.
The reason for the kick is recommended, but not required by the IRC
servers.
%9Parameters:%9
If the <channel> is omitted, removes the nick from the current
channel.
The channel and the nicknames, separated by a comma, to kick from the
channel and the reason thereof; if no channel is given, the active channel
will be used.
The default alias for /KICK is /K.
%9Description:%9
See also: KNOCKOUT
Removes the given nicknames from the specified channel; this command is
typically used to remove troublemakers, flooders or people otherwise making
a nuisance of themselves.
%9Examples:%9
/KICK mike Please... chill down!
/KICK #irssi bob,sarah Stop flooding!
%9See also:%9 BAN, KICKBAN, KNOCKOUT

View file

@ -1,10 +1,22 @@
%9Syntax:%9
@SYNTAX:kickban@
Kicks off and bans a nick from the current channel.
A reason for the kick can be supplied.
%9Parameters:%9
Default alias for /KICKBAN is /KB.
The channel and the nicknames, separated by a comma, to kick and ban from
the channel and the reason thereof; if no channel is given, the active
channel will be used.
See also: KNOCKOUT, BANTYPE
%9Description:%9
Removes and then bans the given nicknames from the specified channel.
%9Examples:%9
/KICKBAN mike Please... chill down!
/KICKBAN #irssi bob,sarah You guys broke the rules for the last time.
%9See also:%9 BAN, KICK, KNOCKOUT

View file

@ -1,18 +1,24 @@
%9Syntax:%9
@SYNTAX:kill@
IRC operator command.
%9Parameters:%9
KILL is used to forcibly remote a client from the irc network.
It works similarly to KICK, except that a reason must be
given (even if it is meaningless or flat-out wrong).
The nickname to remove from the network and the reason thereof.
In general, KILL is useful only as a warning tool for abusive
users. Modern irc clients (this one included) have automated
means for reconnecting to a server after a disconnection (whether
due to a KILL or something else), so KILL is by no means a
permanent solution. It is not intended as a means for personal
vendettas; this practice is generally frowned upon.
%9Description:%9
See also: OPER
Terminates a nickname's connection from the network; this command is
reserved for IRC operators.
You should not use this command for personal vendettas or for trolling;
these practices are generally frowned upon.
%9Examples:%9
/KILL mike Get off my lawn
/KILL bob Stop breaking the network rules!
%9See also:%9 DIE, OPER, WALLOPS

View file

@ -1,16 +1,30 @@
%9Syntax:%9
@SYNTAX:knock@
Works only in some IRC networks (hybrid-like ircds).
%9Parameters:%9
KNOCK is a feature that lets you request access to a channel they cannot join without an invite, a key or a raised limit.
The channel you wish to get invited to.
The following conditions must be met for KNOCK to work:
%9Description:%9
- You are not banned from the channel
- Channel is not private (+p)
- You are not already on the channel
- Channel is invite only (+i), has a key (+k) or limit is full
Sends an invitation request to the channel operators of the target channel;
this command may not work on all IRC servers.
When successful KNOCK is issued, it sends a notice to channel operators. Use of KNOCK is rate limited by the server.
The following conditions must be met:
* You are not banned from the channel.
* The channel is not private.
* You may not be already in the channel.
* The channel must be invite only, have a key or has exceeded its user
limit.
%9Examples:%9
/KNOCK #irssi
/KNOCK #libera
/KNOCK #github
%9See also:%9 INVITE, JOIN

View file

@ -1,11 +1,26 @@
%9Syntax:%9
@SYNTAX:knockout@
Kicks user off the channel and bans him/her. Ban
lasts the given number of seconds or 5 minutes
by default.
%9Parameters:%9
Default alias for /KNOCKOUT is /KN.
The time, expressed in seconds, the nicknames, separated by a comma, and the
reason thereof; if no time is provided, the ban will be lifted after 5
minutes.
See also: BAN, KICK
%9Description:%9
Removes and then bans the given nicknames from the active channel; the ban
will be automatically lifted after the specified time.
The ban will not be lifted if you leave the channel or disconnect from the
network.
%9Examples:%9
/KNOCKOUT 3600 mike Your connection is unstable.
/KNOCKOUT bob,sarah Chill down a bit.
%9See also:%9 BAN, KICK, KICKBAN

View file

@ -1,22 +1,43 @@
%9Syntax:%9
@SYNTAX:lastlog@
-clear: remove all lastlog lines from window
%9Parameters:%9
-: don't print the "Lastlog:" and "End of Lastlog" messages.
-file: write lastlog to file instead of screen
-window: which window's lastlog to check (output is always to active)
-case: Case-sensitive matching
-force: Force displaying lastlog even if it's longer than 1000 lines
-new: show only lines since last /LASTLOG
-regexp: `text' is a regular expression
-word: `text' must match to full words
-<level>: levels to check (default is all; /help levels for details)
<pattern>: text to search for, or all if empty
<count>: maximum number of lines to show
<start>: skip the last `start' lines
-: Doesn't print the 'Lastlog:' and 'End of Lastlog' messages.
-file: Output the lastlog to a file instead of the active window.
-window: Specifies the window to check.
-new: Only displays results since the previous lastlog.
-away: Only displays results since you previous away status.
-<level>: Specifies the levels to check (e.g. -joins -quits -hilight)
-clear: Removes the previous results from the active window.
-count: Displays how many lines match.
-case: Performs a case-sensitive matching.
-date: Prepends each row with the message's date
-regexp: The given text pattern is a regular expression.
-word: The text must match full words.
-force: Forces to display the lastlog, even if it exceeds 1000 lines.
-after: Include this many lines of content after the match.
-before: Include this many lines of content before the match.
-<#>: Include this many lines of content around the match.
<count>: Display a maximum number of `count' lines.
<start>: Skip the last `start' lines.
Shows the given number of lines of log from the current window.
The pattern to search for and the maximum of lines to display; if no
parameter is given, the entire window buffer will be displayed.
See also:
%9Description:%9
Searches the active window for a pattern and displays the result.
%9Examples:%9
/LASTLOG holiday
/LASTLOG 'is on vacation' 10
/LASTLOG -force -file ~/mike.log 'mike'
/LASTLOG -hilight
/LASTLOG -5 searchterm
%9See also:%9 HILIGHT, SCROLLBACK

View file

@ -1,13 +1,28 @@
%9Syntax:%9
@SYNTAX:layout@
Saves the current window layout to configuration (yes, you'll still
need to use /SAVE to save the configuration to file). Next time you run
irssi, all the channels and queries are exactly in the same windows
where they were when you called /LAYOUT SAVE.
%9Parameters:%9
Channels aren't actually joined in those windows immediately, they're
just marked "next time you join to '#channel' in server that has tag
'ircnet' place it to this window".
SAVE: Saves your layout to the configuration.
RESET: Removes the saved layout from the configuration.
%9Description:%9
Saves the layout of your window configuration; the next time you connect
to the server, you will join the channels in the same window as before.
This method enables you to keep the same window layout when you start Irssi
the next time.
You will need to use the SAVE command to confirm and commit the changes
into the configuration file.
%9Examples:%9
/LAYOUT SAVE
/LAYOUT RESET
%9See also:%9 SAVE, WINDOW
/LAYOUT RESET removes the saved layout.

View file

@ -1,35 +1,43 @@
Message levels (or in short, levels) are used almost everywhere.
They describe what kind of messages we're dealing with. Here's a
list of them all:
CRAP - Can be almost anything
MSGS - Private messages
PUBLIC - Public messages in channel
NOTICES - Notices
SNOTES - Server notices
CTCPS - CTCP messages
ACTIONS - Actions (/me) - usually ORed with PUBLIC or MSGS
JOINS - Someone joins a channel
PARTS - Someone parts a channel
QUITS - Someone quits IRC
KICKS - Someone gets kicked from channel
MODES - Channel mode is changed
TOPICS - Channel topic is changed
WALLOPS - Wallop is received
INVITES - Invite is received
NICKS - Someone changes nick
DCC - DCC related messages
DCCMSGS - DCC chat messages
CLIENTNOTICE - Irssi's notices
CLIENTERROR - Irssi's error messages
CLIENTCRAP - Some other messages from Irssi
%9Description:%9
And a few special ones that could be included with the
levels above:
These are the message levels that are used throughout Irssi; they describe
what kind of message is displayed.
HILIGHT - Text is highlighted
NOHILIGHT - Don't check highlighting for this message
NO_ACT - Don't trigger channel activity when printing
this message
NEVER - Never ignore or log this message
These are the common levels you can use:
ACTIONS Actions by a nickname.
CLIENTCRAP Irssi's internal messages.
CLIENTERROR Irssi's internal error messages.
CLIENTNOTICE Irssi's internal notices.
CRAP Can be almost anything.
CTCPS CTCP messages.
DCC DCC protocol related messages.
DCCMSGS DCC chat messages.
INVITES An invite is received.
JOINS A nickname joins a channel.
KICKS A nickname gets kicked from a channel.
MODES A channel mode is modified.
MSGS Private messages.
NICKS A nickname changes to another nickname.
NOTICES Private notices.
PARTS A nickname leaves a channel.
PUBLIC Public messages in a channel.
PUBNOTICES Public notices in a channel.
QUITS A nickname disconnects from IRC.
SNOTES Notices sent from a server.
TOPICS A channel topic is modified.
WALLOPS A wallop is received.
These are the special levels you can use:
HILIGHT The text is highlighted.
NEVER Never ignores or logs the message.
HIDDEN Hides the message when window HIDELEVEL includes HIDDEN.
NO_ACT Doesn't trigger any activity in the statusbar.
NOHILIGHT The text is not highlighted.
Suppresses hilights when used with /ignore.
When using levels from Irssi scripts, you need to prepend the level with
'MSGLEVEL_'; for example 'CRAP' becomes 'MSGLEVEL_CRAP'.

View file

@ -1,9 +1,22 @@
%9Syntax:%9
@SYNTAX:links@
Shows the links between the IRC servers of the
current IRC network. If a wildcard parameter is
specified, shows only the matching entries.
%9Parameters:%9
See also: MAP
The server to search on and the string to match on; if no arguments are
given, the list of links of the active server will be displayed.
%9Description:%9
Displays the links between an IRC server and its connections.
%9Examples:%9
/LINKS
/LINKS ircsource.irssi.org
/LINKS ircsource.irssi.org *.hub
%9See also:%9 LUSERS, MAP

View file

@ -1,16 +1,38 @@
%9Syntax:%9
@SYNTAX:list@
Lists the channel names. Trying to list all the channel
names usually causes you to be disconnected from the
server with the reason "Excess flood", as usually all
40000 channels form together and server naively attempts
to send you them.
%9Parameters:%9
Thus, on IRCNet, you should rather use service ALIS
(Advanced Listing Service), which will allow you to query
for channel with specific name, topic, mode or usercount.
Type /SQUERY ALIS HELP to get more info about it.
-yes: Confirms that you want to receive a large amount of data.
See also: SQUERY
If the exact name of a channel is given, the only information about this
channel is requested; otherwise, a list of all channels will be displayed.
%9Description:%9
Displays the channel names that match your request; requesting all channels
may cause the server to disconnect you for flooding.
%9Examples:%9
/LIST
/LIST -yes
/LIST #ubuntu
/LIST #*ubuntu*,>1
%9Remarks:%9
Not all networks support server-side filtering. Some provide a network
service or service bot instead; on IRCnet, you may use the List service:
/SQUERY Alis HELP
Other networks with service bots (like ChanServ) may also provide a list
service bot (confirm with /WHOIS ALIS):
/MSG Alis HELP
%9See also:%9 STATS, SQUERY, WHOIS

View file

@ -1,16 +1,23 @@
%9Syntax:%9
@SYNTAX:load@
Load a plugin. If full path isn't given, irssi searches the plugin from
directories:
%9Parameters:%9
~/.irssi/modules/
<install dir, /usr/local or /usr maybe>/lib/irssi/modules/
The name of the module and submodule to load.
See plugins page of http://www.irssi.org/ to see if there's any plugins
you'd want to use.
%9Description:%9
To load a perl script you should use /SCRIPT.
Loads a plugin; if the full path isn't given, it will attempt to load from
common directories in your installation path.
See also: UNLOAD
To load a perl script, you must use the SCRIPT command.
%9Examples:%9
/LOAD fish
/LOAD ~/irssi-fish/libfish.so
%9See also:%9 SCRIPT, UNLOAD

View file

@ -1,41 +1,48 @@
%9Syntax:%9
@SYNTAX:log@
-noopen: Create the entry to log list, but don't start logging
-autoopen: Automatically open this log file at startup
-<server tag>: Targets are logged only in this server
-targets: Log only in specified channels/nicks (space separated list)
-window: Log output in the window. Active window is used by default, or
you can give the window's refnum in -targets.
<filename>: File name where to log, it is parsed with
strftime(), so %%d=day, etc. see "man strftime" for
more info.
<levels>: Defaults to ALL
<id>: ID number of log.
%9Parameters:%9
/SET log_create_mode <mode> - Specifies what file mode to use with
the created log files. Default is 0644.
OPEN: Opens a log file.
CLOSE: Closes a log file.
START: Starts logging a log entry.
STOP: Stops logging a log entry.
All of these are parsed with strftime():
/SET log_timestamp <text> - Specifies the time stamp format.
Default is "%%H:%%M ".
/SET log_open_string <text> - Text written to log when it's opened
/SET log_close_string <text> - Text written to log when it's closed
/SET log_day_changed <text> - Text written to log when day changes
-noopen: Saves the entry in the configuration, but doesn't actually
start logging.
-autoopen: Automatically opens the log at startup.
-window: Displays the output to the active window, or the window
specified in the targets parameter.
-<server tag>: The server tag the targets must be on.
-targets: Logs the specified nicknames or channels.
-colors: Also log the color codes of the messages.
NOTE: Log files are locked after opened, so two Irssis can't
accidentally try to write to the same log file.
The filename of the log and the levels to match; if no argument is given,
the list of open logs will be displayed.
Examples:
/LOG OPEN -targets cras ~/irclogs/cras.log MSGS
- Logs all messages from/to nick `cras'
%9Description:%9
/LOG OPEN -targets #linux ~/irclogs/linux/linux-%%Y-%%m-%%d
- Logs all messages in channel #linux. Log is rotated daily, so
logs in 1. May 2000 goes to file "linux-2000-05-01", when the
day is changed, Irssi closes the log and starts logging to
"linux-2000-05-02" etc.
Opens a log file and stores the messages of the given targets into it; the
log files will be locked so multiple clients cannot log to the same file.
See also: SET LOG, WINDOW LOG
You may use any of the date formats to create a log rotation; we strongly
recommend you to enable autolog if you are interested in keeping logs.
%9Examples:%9
/LOG OPEN -targets mike ~/irclogs/mike.log MSGS
/LOG OPEN -targets #irssi ~/irclogs/liberachat/irssi-%%Y-%%m-%%d
/LOG CLOSE ~/irclogs/liberachat/irssi-%%Y-%%m-%%d
/LOG STOP ~/irclogs/liberachat/irssi-%%Y-%%m-%%d
/LOG START ~/irclogs/liberachat/irssi-%%Y-%%m-%%d
/SET autolog ON
%9References:%9
https://github.com/irssi/irssi/blob/master/docs/formats.txt
%9See also:%9 SET LOG, WINDOW LOG

View file

@ -1,5 +1,24 @@
%9Syntax:%9
@SYNTAX:lusers@
Shows user statistics of the current IRC network.
%9Parameters:%9
The server to search on and the remote server to search on; if no arguments
are given, the active server will be used.
%9Description:%9
Displays the user statistics of the active or remote server.
The parameters to search on a remote server are no longer supported on most
IRC servers; we no longer provide examples for remote LUSERS to avoid all
confusion.
%9Examples:%9
/LUSERS
%9See also:%9 LINKS, MAP

View file

@ -1,7 +1,16 @@
%9Syntax:%9
@SYNTAX:map@
Works only in some IRC networks and is often restricted to IRC operators.
%9Description:%9
Shows a graphical map of the IRC network, often with user counts.
Displays the network map of an IRC network; this command is usually
reserved for IRC operators and does not work on all servers.
%9Examples:%9
/MAP
%9See also:%9 DIE, LINKS, LUSERS

View file

@ -1,8 +1,21 @@
%9Syntax:%9
@SYNTAX:me@
Sends a CTCP ACTION to the current channel or query.
For example: /me sits back.
%9Parameters:%9
See also: ACTION, CTCP
The message to emote.
%9Description:%9
Sends an action emote to the active nickname or channel.
%9Examples:%9
/ME is hungry!
/ME had an awesome day @ work
/ME is happy it's Friday
%9See also:%9 ACTION, CTCP

1
docs/help/in/meson.build Normal file
View file

@ -0,0 +1 @@
# don't forget to add new help files to ../meson.build

View file

@ -1,11 +1,28 @@
%9Syntax:%9
@SYNTAX:mircdcc@
Selects whether to send mIRC style CTCPs in DCC chat
session.
%9Parameters:%9
If a mIRC user sends first a CTCP, mIRC style CTCPs is
automatically selected for that DCC Chat session.
ON: Enables mIRC compatibility mode.
OFF: Disables mIRC compatibility mode.
See also: SET MIRC
%9Description:%9
After establishing a DCC CHAT connection that you initiated, you might
encounter some protocol issues if the target is using mIRC.
If you or your target sees some unexpected output or behavior inside a DCC
CHAT session, use this command to enable mIRC compatibility mode.
When receiving a connection from an mIRC user, the compatibility mode will
automatically be enabled.
%9Examples:%9
/MIRCDCC ON
/MIRCDCC OFF
%9See also:%9 ACTION, CTCP, DCC

View file

@ -1,82 +1,77 @@
%9Syntax:%9
@SYNTAX:mode@
Common channel modes are:
%9Parameters:%9
i - Invite only - People can't join to channel without being
/INVITEd, or being in invite list (+I, see below).
m - Moderated - People who don't have voices (+v) can't send
messages to channel
p - Private - People who aren't joined to channel can't see it
for example with /WHOISing people who are in channel.
s - Secret - Like private, but the channel isn't displayed in
/LIST's output.
n - No external msgs - Without this mode, anyone can send messages
to channel without even being joined.
t - Topic can be changed only by channel operators.
The target nickname or channel and the modes with their parameters to set or
remove.
k <key> - Channel password (aka. key) - The channel can't be joined
without specifying the channel key (see section 6.2).
If the target nickname or channel is omitted, the active nickname or channel
will be used.
l <count> - User limit - No more than <count> people can join to
channel. This can be overridden with /INVITE with some
servers.
%9Description:%9
This is usually used for protecting channel from join
flooding, like some bot allows max. 5 users to join in
one minute or so.
Modifies the user or channel modes for which you are privileged to modify.
b - Set/remove ban. For example MODE #channel +b *!*@*.org bans
everyone from .org domain.
You can specify multiple modes in one command and prepend them by using the
'+' sign to set or '-' sign to unset; modes that require a parameter will be
retrieved from the argument list.
If someone from .org domain was already in channel before the
ban was set, he/she cannot send any messages to channel (doesn't
work with all servers).
Some common channel modes are:
Bans can also be overridden with /INVITE, although many stupid
IRC clients automatically kick the user out because they see
the ban and think that because of it the user shouldn't be in
the channel (doesn't work with all servers).
b <mask>: Adds or removes a ban; a ban will prevent a user who
matches the given mask from joining the channel unless
he or she is invited or in the exempt list.
e <mask>: Adds or removes a ban exception; users who match a mask
on the exempt list are able to join a channel even if
they also match an entry on the ban list.
i: When enabled, users need to be invited into the channel
or have a matching entry in the invite list.
I <mask>: Adds or removes an invite; users who match a mask on
the invite list are able to join even if the channel is
set to invite only.
k <key>: Adds or removes a channel key, aka a password; users
will not be able to join the channel without providing
the key.
l <count>: Adds, removes or updates the maximum amount of users
that may join the channel.
m: When enabled, users who are not opped or voiced cannot
send messages to the channel.
n: When enabled, users who are not on the channel cannot
send messages to it.
p: When enabled, the channel will not be displayed in your
WHOIS output.
s: When enabled, the channel will not be displayed in the
LIST output.
t: When enabled, users who are not opped or voices cannot
modify the channel topic.
o <nickname>: Adds or removes the operator status from a nickname.
v <nickname>: Adds or removes the voice status from a nickname.
e - Ban exceptions. You could for example ban everyone from
*!*@*.org but set ban exception to *!*@*.host.org - does not work
with all servers.
Some common user modes are:
I - Invite list. If channel is invite only (+i), people in this
list can join it without being /INVITEd - does not work with all
servers.
i: When enabled, other users will not be able to see you
on a WHO output unless they are in the channel
themselves.
w: When enabled, you will receive WALLOP messages from IRC
operators.
s: When enabled, you will receive special notices or debug
messages from the server.
This is excellent for in-country channels that don't want
foreigners (spammers!) to join the channel, for example setting
channel's mode to +i and +I *!*@*.fi allows only finnish people
to join the channel. In addition to this, there's usually a bot
in the channels and sending /MSG bot invite command to it
/INVITEs you to the channel.
Many networks have additional user and channel modes; we highly recommend
you to read the documentation of the networks you frequently connect to and
maximize your IRC experience.
On IRCnet, the ':' feature in channel names can also be used for
a similar effect, see section 6.2.
%9Examples:%9
o <nick> - Grant or revoke channel operator status from nick
v <nick> - Grant or revoke voice status from nick, only people with
+v (or +o) can talk to channel when it's moderated (+m).
/MODE #irssi +o mike
/MODE #irssi -o+iI mike mike!*@*.irssi.org
/MODE +b mike!*@*.irssi.org
/MODE -o mike
/MODE +impsnkl secret_hideout 100
/MODE mike +iw
You can send multiple mode changes with one mode command:
/MODE #channel +nto-o+v nick1 nick2 nick3
This would set channel's mode to +nt, give ops to nick1, take ops
from nick2 and give voices to nick3.
You can set only a limited number of modes that require an argument
in one command. In IRCnet it's 3, in EFnet it's 4 and in many others
it's 6. If it's not known, Irssi defaults to 3. Irssi will also
automatically split them, so you can use /MODE +oooooo n1 n2 ...
command to op 6 people and Irssi will split it to two commands in
IRCnet/EFnet.
Many networks have additional modes and/or change the meaning of existing
modes. Check the documentation for the network or the server software in
use for details.
See also: OP, DEOP, VOICE, DEVOICE, BAN, UNBAN
%9See also:%9 BAN, DEOP, DEVOICE, OP, UNBAN, VOICE

View file

@ -1,7 +1,22 @@
%9Syntax:%9
@SYNTAX:motd@
Shows the motd of the current or specified server. This contains
usually some useful info on the server, administrator and
the rules.
%9Parameters:%9
The server or the server the target nickname is on; if no parameter is
given, the active server will be used.
%9Description:%9
Displays the welcome message of an IRC server.
%9Examples:%9
/MOTD
/MOTD irc.libera.chat
/MOTD bob
%9See also:%9 ADMIN, INFO, LINKS, MAP

View file

@ -1,15 +1,33 @@
%9Syntax:%9
@SYNTAX:msg@
Sends a message to a nick or a channel. Usually this
is used for sending private messages to other persons.
%9Parameters:%9
Examples:
-<server tag>: The server tag the targets are on.
-channel: Indicates that the target is a channel.
-nick: Indicates that the target is a nickname.
/MSG friend Hi, what's up?
The target nickname or channel and the message to send.
/MSG #irssi Hello, is the new gtk-version out already?
(This format is rarely needed.)
The target can be a comma delimited list of targets, ie
nick1,nick2 or #chan1,#chan2
See also: CTCP
Or one of the following special targets:
* : Use the active nickname or channel
, : Last person who sent you a /msg
. : Last person you sent a /msg to
%9Description:%9
Sends a message to a nickname or channel.
%9Examples:%9
/MSG mike Hi, what's up?
/MSG #irssi I am awesome :)
/MSG * Do you want to build a snowman?
%9See also:%9 ACTION, DCC, JOIN

View file

@ -1,21 +1,27 @@
%9Syntax:%9
@SYNTAX:names@
-ops: show channel operators in list
-halfops: show half operators in list
-voices: show voiced people in list
-normal: show rest of the people in list
%9Parameters:%9
Shows the names (nicks) in the specified channels. /NAMES ** shows all
nicks in all channels, you probably don't want to do this.
-count: Displays the amount of users in the channel.
-ops: Displays the channel operators.
-halfops: Displays the channel demi-operators.
-voices: Displays the users who are voiced in a channel.
Examples:
The channels to report or ** for all channels you have joined; if no
arguments are given, the users in the active channel will be displayed.
/NAMES
- shows nicks in the current channel.
%9Description:%9
/NAMES -ops #c1,#c2
- shows operators in channels #c1 and #c2
Displays the users who are in a channel; you can provide multiple channels
by separating them with a comma.
See also: WHO, CHANNEL
%9Examples:%9
/NAMES -ops
/NAMES -voices #irssi,#libera
%9See also:%9 JOIN, PART, WHO, WHOIS

View file

@ -1,7 +1,21 @@
%9Syntax:%9
@SYNTAX:nctcp@
Sends a CTCP reply notice to the nick/channel.
%9Parameters:%9
See also: CTCP, ACTION, MSG, NOTICE
A target nickname or channel, a command and the data.
%9Description:%9
Sends a CTCP reply to a nickname or channel; you can provide multiple
targets by separating them with a comma.
%9Examples:%9
/NCTCP #irssi VERSION King of the Jungle v1.0
/NCTCP bob,#libera USERINFO I am bob :p
%9See also:%9 CTCP

View file

@ -1,6 +1,16 @@
%9Syntax:%9
@SYNTAX:netsplit@
Irssi keeps track of people who were lost in net splits. With this
command you can get a list of them.
%9Description:%9
Displays some information about users who are currently lost in one or
more net splits.
%9Examples:%9
/NETSPLIT
%9See also:%9 JOIN, LINKS, MAP, PART

View file

@ -1,22 +1,70 @@
%9Syntax:%9
@SYNTAX:network@
-kicks: Maximum number of nicks in one /KICK command
-msgs: Maximum number of nicks in one /MSG command
-modes: Maximum number of mode changes in one /MODE command
-whois: Maximum number of nicks in one /WHOIS command
-cmdspeed: Same as /SET cmd_queue_speed, see section 3.1
-cmdmax: Same as /SET cmds_max_at_once, see section 3.1
-nick, -user, -realname: Specify what nick/user/name to use
-host: Specify what host name to use, if you have multiple
-usermode: Specify what usermode to use on this network
-autosendcmd: Command to send after connecting to a server
With -autosendcmd argument you can automatically run any commands
after connecting to network. This is useful for automatically
identifying yourself to NickServ, for example
%9Parameters:%9
Shows and changes the settings of defined IRC networks.
LIST: Displays the list of configured networks.
ADD: Adds a network to your configuration.
MODIFY: Modifies a network in your configuration.
REMOVE: Removes a network from your configuration.
See also: CONNECT
-nick: Specifies the nickname to use.
-alternate_nick Specifies the alternate nickname to use.
-user: Specifies the user identity to use.
-realname: Specifies the real name to use.
-host: Specifies the hostname to use.
-usermode: Specifies the user modes to set on yourself.
-autosendcmd: Specifies the commands, separated by the ';' character,
and enclosed within two "'" characters, to perform after
connecting.
(Some characters need to be escaped - see /help eval)
-querychans: Specifies the maximum number of channels to put in one MODE
or WHO command when synchronizing.
-whois: Specifies the maximum number of nicknames in one WHOIS
command.
-msgs: Specifies the maximum number of nicknames in one PRIVMSG
command.
-kicks: Specifies the maximum number of nicknames in one KICK
command.
-modes: Specifies the maximum number of nicknames in one MODE
command.
-cmdspeed: Specifies the minimum amount of time, expressed in
milliseconds, that the client must wait before sending
additional commands to the server.
-cmdmax: Specifies the maximum number of commands to perform before
starting the internal flood protection.
-sasl_mechanism Specifies the mechanism to use for the SASL authentication.
Irssi supports: PLAIN, EXTERNAL, SCRAM-SHA-1, SCRAM-SHA-256
and SCRAM-SHA-512
Use '' to disable the authentication.
-sasl_username Specifies the username to use during the SASL authentication.
-sasl_password Specifies the password to use during the SASL authentication.
The name of the network to add, edit or remove; if no parameter is given,
the list of networks will be displayed.
%9Description:%9
Displays, adds, modifies or removes the network configuration of IRC
networks.
When using the ADD parameter on a network that already exists, the
configuration will be merged with each other.
We recommend using 'WAIT 2000' between the automated commands in order to
prevent you from being kicked from the network due to flooding commands.
%9Examples:%9
/NETWORK ADD -usermode +giw EFnet
/NETWORK ADD -usermode +iw -nick mike -realname 'The one and only mike!' -host staff.irssi.org liberachat
/NETWORK ADD -autosendcmd '^MSG NickServ identify WzerT8zq' liberachat
/NETWORK ADD -autosendcmd '^MSG Q@CServe.quakenet.org AUTH mike WzerT8zq; WAIT 2000; OPER mike WzerT8zq; WAIT 2000; MODE mike +kXP' Quakenet
/NETWORK MODIFY -usermode +gi EFnet
/NETWORK REMOVE liberachat
%9See also:%9 CHANNEL, CONNECT, SERVER

Some files were not shown because too many files have changed in this diff Show more