diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 61de72ff..97cb3feb 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -18,7 +18,7 @@ jobs: steps: - name: prepare required software run: | - sudo apt install $apt_build_deps $apt_build_deps_autotools + sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_autotools - uses: actions/checkout@main - name: make dist run: | @@ -38,18 +38,18 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-16.04, ubuntu-latest] + os: [ubuntu-18.04, ubuntu-latest] builder: [meson, configure] compiler: [clang, gcc] flags: [regular] include: - - os: ubuntu-16.04 + - os: ubuntu-18.04 builder: meson meson_ver: ==0.49.2 setuptools_ver: <51 - os: ubuntu-latest builder: meson - meson_ver: <0.59.0 + meson_ver: <0.60.0 - os: ubuntu-latest builder: meson flags: meson-latest FAILURE-OK @@ -64,7 +64,7 @@ jobs: meson_ver: ${{ matrix.meson_ver }} setuptools_ver: ${{ matrix.setuptools_ver }} run: | - sudo apt install $apt_build_deps $apt_build_deps_${{ matrix.builder }} + sudo apt update && sudo apt install $apt_build_deps $apt_build_deps_${{ matrix.builder }} eval "$get_pip_build_deps_${{ matrix.builder }}" 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 diff --git a/NEWS b/NEWS index b3282761..5464ad05 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,23 @@ -v1.3.0-an 2021-09-05 Ailin Nemui - * /SET resolve_reverse_lookup setting was removed (#1135) +v1.3.2-an 2022-01-14 Ailin Nemui + - CHANTYPES take precedence over (missing) STATUSMSG in /join + (#1358, an#54) + - Fix crash in Perl's $view->set_bookmark (freebsd#254237, + an#56) + +v1.3.1-an 2021-12-17 Ailin Nemui + - Minor help fixes (an#51, an#52) + - Fix regression where own channel status was forgotten after + /UPGRADE (#1357, an#53) + +v1.3.0-an 2021-11-11 Ailin Nemui + * /SET resolve_reverse_lookup setting was removed (#1034, + #1135) * Irssi will try to connect on IPv4 if IPv6 connection failed (#1146). By Shivaram Lingamneni + * The display system now renders formats on the fly (#1079, - #1188, #1191, #1192, #1204, #1205, #1209, an#13, an#14, an#28, - an#29) + #1188, #1191, #1192, #1204, #1205, #1209, #1349, #1355, + an#13, an#14, an#28, an#29, an#36, an#37, an#49) This major change will break scripts that try to modify printed text during "print text" signal (#1189). They need @@ -38,7 +51,7 @@ v1.3.0-an 2021-09-05 Ailin Nemui /SET show_names_on_join_limit -1 * -tls_verify is now enabled by default (#1170, an#18, #1309, - an#23) + an#23, #1343, #1351) This may cause an ugly display of notls_verify in the output of /SERVER LIST, even on plain-text connection, on old @@ -127,21 +140,24 @@ v1.3.0-an 2021-09-05 Ailin Nemui join_extended_account, that theme writers need to take into account if desired. - + Add support for IRCv3 setname (#1093, #1104, #1254, GL#33, - #1104, #1254) + + Add support for IRCv3 setname (#1093, #1104, #1254, GL#33) + Add support for IRCv3 account-notify (#1100, #1098, GL#33, #1105, #1131). Credit to oss-fuzz /SET show_account_notify to enable + Add support for IRCv3 invite-notify (#1094) + Add support for receiving IRCv3 message-tags (#576, #1090) - + Add support for sending IRCv3 message-tags (#1092) - + Add support for the oragono.io/maxline-2 CAP to increase IRC - protocol line length (#1092) + + Add support for sending IRCv3 message-tags (#1092, an#34) + Enable the znc.in/self-message CAP by default (#1123) + Add support for IRCv3 away-notify. /SET away_notify_public to enable (#1099, GL#33, #1105) + Add support for IRCv3 chghost (#1096, GL#33, #1105) - + Add support for IRCv3 account-notify. + + For servers with broken chghost implementation that fill the + status window with host changed messages, one may add "quote + cap req -chghost" to the -autosendcmd or, if the host change + messages are entirely undesired, "/format -delete + host_changed" + + Add support for IRCv3 server-time. /SET show_server_time to enable (#1108) + Add support for logging IRCv3 server-time. @@ -183,7 +199,7 @@ v1.3.0-an 2021-09-05 Ailin Nemui + Allow -tls_ca{file,path} '' to unset an argument (#730, #1060, an#30) + Add a "server outgoing modify" signal to intercept outgoing - messages (#1148, #1151, an#15). Original by + messages (#1148, #1151, an#15, an#43). Original by JustAnotherArchivist - remove some hard-coded 510 byte assumptions (#1086) - Several fixes for error checks in SSL (#944, #1037, #943, @@ -207,7 +223,7 @@ v1.3.0-an 2021-09-05 Ailin Nemui #891, #1129). By Dan Collins - Fix /IGNORE not setting the right level in irc_op_public messages (#1280). Credit to oss-fuzz - - Fix GTimeVal deprecation (#1141, #1144, #1145) + - Fix GTimeVal deprecation (#1141, #1144, #1145, #1350, an#44) If multi-version compatibility is desired, module authors can find an example of backwards compatible code in @@ -241,12 +257,13 @@ v1.3.0-an 2021-09-05 Ailin Nemui - Fix /SERVER ADD -matrix -network my_matrix_network (an#12). By Andrej Kacian - Fix /SERVER ADD creating duplicated entries in the config - file (#1317, an#22) + file (#1317, an#22, an#41) - Fix critical when SASL user is set and SASL password is empty (#1325, an#21) - - Misc fixes (#1106, #1141, #1272, #1297) + - Misc fixes (#1106, #1141, #1272, #1297, an#35) - Fuzz fixes (#1116, #1117, #1119, #1125, #1126, an#20) - Build system fixes (#1101, #1102, #1069, #1140, #1181, #1253) + - Sync docs and scripts (an#39) - Text and Help updates - add -tls_* options to manual (#1029, #1030). By Jacob V. Rasmussen @@ -262,9 +279,10 @@ v1.3.0-an 2021-09-05 Ailin Nemui - Add documentation for escaping some characters (#1329, #1330, an#9). By Guntbert Reiter - Fix some typos (#1336, an#10). By Francis Mteo + - Document $abiversion and parse_special (an#38). By bw1 - Infrastructure updates: - Support for Github Actions (#1039, #1103, #1160, #1212, - #1231, #1252, #1261) + #1231, #1252, #1261, an#40) - Run clang-format on pull requests (#1172, #1173, #1184, #1230, #1247, #1287) - Run abidiff on pull requests (#1179, #1195) diff --git a/configure.ac b/configure.ac index 3a9e7bd6..87dcbc32 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(irssi, 1.3-head) +AC_INIT(irssi, 1.3.2-an) AC_CONFIG_SRCDIR([src]) AC_CONFIG_AUX_DIR(build-aux) AC_PREREQ(2.50) diff --git a/docs/faq.html b/docs/faq.html index 7c17f45d..50b404a0 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -2,7 +2,7 @@

Frequently Asked Questions

Q: Why doesn’t irssi display colors even when ircii etc. displays them?

-

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. TERM=xterm-color irssi). If this doesn’t help, then use the evil way of /SET term_force_colors ON.

+

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-256color or color_xterm (eg. TERM=xterm-256color irssi). If this doesn’t 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?

@@ -54,7 +54,7 @@

Q: Will there be /DETACH-like feature?

-

A: tmux, screen and dtach can be used to do it just fine.

+

A: tmux, screen and dtach can be used to do it just fine.

Q: How do I run scripts automatically at startup?

diff --git a/docs/faq.txt b/docs/faq.txt index 0d0b5f46..0fcc156a 100644 --- a/docs/faq.txt +++ b/docs/faq.txt @@ -4,8 +4,8 @@ Q: Why doesn’t irssi display colors even when ircii etc. displays them? 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. TERM=xterm-color irssi). If this doesn’t help, - then use the evil way of /SET term_force_colors ON. + xterm-256color or color_xterm (eg. TERM=xterm-256color irssi). If this doesn’t + 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 @@ -119,6 +119,6 @@ A: Check [6]here [1] https://github.com/irssi-import/xirssi [2] https://tmux.github.io/ [3] https://www.gnu.org/software/screen/screen.html - [4] http://dtach.sf.net/ + [4] https://sourceforge.net/projects/dtach/ [5] https://dgl.cx/irssi/hack-whois-in-current-window.pl [6] https://irssi.org/assets/irssi.wav diff --git a/docs/help/in/server.in b/docs/help/in/server.in index f7d907f3..84294af6 100644 --- a/docs/help/in/server.in +++ b/docs/help/in/server.in @@ -5,7 +5,7 @@ %9Parameters:%9 - LIST: Displays the list of servers you are connected to. + LIST: Displays the list of servers you have configured. CONNECT: Connects to the given server. ADD: Adds a server to your configuration. MODIFY: Modifies a server in your configuration. @@ -51,10 +51,9 @@ When using the ADD parameter on a server that already exists, the configuration will be merged with each other. - When using the command without any of the given parameters, it will - connect to the specified server; the server in the active window will be - disconnected unless you prepend the server with the '+' character; the same - method is applicable to the CONNECT parameter. + When using the CONNECT parameter, it will connect to the specified + server; the server in the active window will be disconnected + unless you prepend the server with the '+' character. Specify '-' as password to remove a server password diff --git a/docs/signals.txt b/docs/signals.txt index 6128084b..da72ef57 100644 --- a/docs/signals.txt +++ b/docs/signals.txt @@ -151,7 +151,7 @@ irc.c: "whois default event", SERVER_REC, char *args, char *sender_nick, char *sender_address "server incoming", SERVER_REC, char *data - "server outgoing modify", SERVER_REC, GString *data + "server outgoing modify", SERVER_REC, GString *data, int crlf (for perl parser..) "redir ", SERVER_REC, char *args, char *sender_nick, char *sender_address diff --git a/docs/startup-HOWTO.html b/docs/startup-HOWTO.html index b0c68f1f..696dea4d 100644 --- a/docs/startup-HOWTO.html +++ b/docs/startup-HOWTO.html @@ -226,7 +226,7 @@ Ctrl-P, Ctrl-N - Jump to previous / next window

And finally channels:

-
/CHANNEL ADD -auto -bots *!*user@host -botcmd "/^msg $0 op pass" #irssi efnet
+
/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet
 /CHANNEL ADD -auto #secret IRCnet password
 
@@ -395,7 +395,7 @@ Ctrl-X - set the next server in list active

/HELP bind tells pretty much everything there is to know about keyboard bindings. However, there’s the problem of how to bind some non-standard keys. They might differ a bit with each terminal, so you’ll need to find out what exactly the keypress produces. Easiest way to check that would be to see what it prints in cat. Here’s an example for pressing F1 key:

-
 [user@host] ~% cat
+
 [cras@hurina] ~% cat
  ^[OP
 
diff --git a/docs/startup-HOWTO.txt b/docs/startup-HOWTO.txt index bff33108..90d278de 100644 --- a/docs/startup-HOWTO.txt +++ b/docs/startup-HOWTO.txt @@ -218,7 +218,7 @@ IRC network, other servers are automatically connected in same network if the And finally channels: -/CHANNEL ADD -auto -bots *!*user@host -botcmd "/^msg $0 op pass" #irssi efnet +/CHANNEL ADD -auto -bots *!*bot@host.org -botcmd "/^msg $0 op pass" #irssi efnet /CHANNEL ADD -auto #secret IRCnet password -bots and -botcmd should be the only ones needing a bit of explaining. They’re @@ -442,7 +442,7 @@ They might differ a bit with each terminal, so you’ll need to find out what exactly the keypress produces. Easiest way to check that would be to see what it prints in cat. Here’s an example for pressing F1 key: - [user@host] ~% cat + [cras@hurina] ~% cat ^[OP So in irssi you would use /BIND ^[OP /ECHO F1 pressed. If you use multiple diff --git a/meson.build b/meson.build index bd192a92..64dd04cf 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('irssi', 'c', - version : '1.3-head', + version : '1.3.2-an', meson_version : '>=0.49', default_options : ['warning_level=1']) diff --git a/scripts/quitmsg.pl b/scripts/quitmsg.pl index e289468c..102d9aa5 100644 --- a/scripts/quitmsg.pl +++ b/scripts/quitmsg.pl @@ -6,36 +6,27 @@ use Irssi::Irc; use strict; use vars qw($VERSION %IRSSI); -$VERSION = "1.00"; +$VERSION = "1.01"; %IRSSI = ( authors => 'Timo Sirainen', name => 'quitmsg', description => 'Random quit messages', license => 'Public Domain', - changed => 'Sun Mar 10 23:18 EET 2002' + changed => 'Mon Jul 22 20:00 EET 2020' ); -my $quitfile = glob "~/.irssi/irssi.quit"; +my $quitfile = Irssi::get_irssi_dir() . "/irssi.quit"; sub cmd_quit { my ($data, $server, $channel) = @_; return if ($data ne ""); + + open (my $fh, "<", $quitfile) || return; + my @lines = <$fh>; - open (f, "<", $quitfile) || return; - my $lines = 0; while() { $lines++; }; - - my $line = int(rand($lines))+1; - - my $quitmsg; - seek(f, 0, 0); $. = 0; - while() { - next if ($. != $line); - - chomp; - $quitmsg = $_; - last; - } - close(f); + my $quitmsg = $lines[int(rand(@lines))]; + chomp($quitmsg); + close($fh); foreach my $server (Irssi::servers) { $server->command("/disconnect ".$server->{tag}." $quitmsg"); diff --git a/scripts/scriptassist.pl b/scripts/scriptassist.pl index 536ef33a..cf02d57e 100644 --- a/scripts/scriptassist.pl +++ b/scripts/scriptassist.pl @@ -5,7 +5,7 @@ use strict; -our $VERSION = '2003020807'; +our $VERSION = '2020042700'; our %IRSSI = ( authors => 'Stefan \'tommie\' Tomanek', contact => 'stefan@pico.ruhr.de', @@ -23,12 +23,15 @@ use Irssi 20020324; use CPAN::Meta::YAML; use LWP::UserAgent; use POSIX; +use version; # GnuPG is not always needed $have_gpg = 0; eval "use GnuPG qw(:algo :trust);"; $have_gpg = 1 if not ($@); +my $irssi_version = qv(Irssi::parse_special('v$J') =~ s/-.*//r); + sub show_help { my $help = "scriptassist $VERSION /scriptassist check @@ -39,15 +42,15 @@ sub show_help { Search the script database /scriptassist info Display information about -".#/scriptassist ratings -# Retrieve the average ratings of the the scripts -#/scriptassist top -# Retrieve the first top rated scripts -"/scriptassist new +/scriptassist ratings + Retrieve the average ratings of the the scripts +/scriptassist top + Retrieve the first top rated scripts +/scriptassist new Display the newest scripts -".#/scriptassist rate