falsovsky / fish-irssi Goto Github PK
View Code? Open in Web Editor NEWFiSH is an encryption add-on module for irssi.
License: MIT License
FiSH is an encryption add-on module for irssi.
License: MIT License
irssi
/load fish
/fishlogin
Enter
.free(): invalid next size (fast)
Aborted (core dumped)
Arch Linux, irssi 1.1.1 (20180213 1256), FiSH-irssi 266.8418ac3
irssi 0.8.19 Irssi: fish/fish is ABI version 1 but Irssi is version 2, cannot load
Its always requiring /notice+ #channel msg
or /notice+ nick msg
.
But doing /notice+ msg
on a active window of a channel or a query should work automatically.
When trying to load fish in new irssi i get error:
Irssi: fish/fish is ABI version 0 but Irssi is version 1, cannot load
I've compiled fish after I've compiled irssi
I'm trying to build FiSH-irssi on Alpine Linux and it does appear to build successfully but there is no resulting libfish.so
in my irssi modules directory.
Here is the output of make clean && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr . && make && ls -lah
:
-- Using glib-2.0 2.50.2
-- Using OpenSSL 1.0.2k
-- irssi includes were found on /usr/include/irssi
-- The module will be installed by default to /usr/lib/irssi/modules
-- You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'
-- Configuring done
-- Generating done
-- Build files have been written to: /root/FiSH-irssi
[ 14%] Building C object src/CMakeFiles/fish.dir/base64.c.o
[ 28%] Building C object src/CMakeFiles/fish.dir/blowfish.c.o
[ 42%] Building C object src/CMakeFiles/fish.dir/inifile.c.o
[ 57%] Building C object src/CMakeFiles/fish.dir/DH1080.c.o
[ 71%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
[ 85%] Building C object src/CMakeFiles/fish.dir/password.c.o
[100%] Linking C shared module libfish.so
[100%] Built target fish
total 204
drwxr-xr-x 2 root root 4.0K Feb 4 14:19 .
drwxr-xr-x 3 root root 4.0K Feb 1 12:46 ..
-rw-r--r-- 1 root root 14.6K Jan 13 15:04 libfe_perl.a
-rw-r--r-- 1 root root 46.0K Jan 13 15:04 libirc_proxy.a
-rw-r--r-- 1 root root 131.5K Jan 13 15:04 libperl_core.a
alpine:~/FiSH-irssi#
Any ideas why it seemingly builds it fine but no libfish.so
in the irssi modules directory? Maybe I am doing something wrong.
A long(> 96 chars ) key wil crash irssi
for example:
/setkey #testchan aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
I cloned the latest irssi repo and installed it. When I start irssi, I show "Irssi v1.1-g540639e0" as the version number.
I then cloned the repo and rebuilt FiSH following the instructions in the README. When I type '/load fish' I get the following message:
21:08 Irssi: fish/fish is ABI version 7 but Irssi is version 8, cannot load
I came from version 0.8.19 and FiSH was working flawlessly. This may very well be user error, but I figured I would raise an issue here just in case.
Hi. This package installs the following files when running sudo make install (unprivileged make install failed):
/usr/local/share/doc/FiSH-irssi/README.md
/usr/local/share/doc/FiSH-irssi/FiSH-irssi.txt
/usr/local/lib/irssi/modules/libfish.so
All very nice, but the documentation isn't very clear ('To run' section) with this. I am able to load the module with /load libfish or /load /path/to/libfish.so, but never with /load fish, as stated.
It would be very helpful if the documentation just said '/load libfish'.
Please consider adding the fish_ prefix to irssi config keys.
This would allow one to use /set fish
to get a list of all the config keys used by the fish module.
It'd be great to have support for an inversion of controls. I rarely actually use fish in the channel we all have it, but its a pain to use +p all the time. Thus I propose a mode where one can use +p (or maybe +e so not to induce confusion?) to post encrypted messages, and by default chatting will be unencrypted.
When posting a special long ANSI line, irssi is crashing.
For info, irssi is 0.8.15 & FiSH is v1.00.
I just noticed that /showkey and /fishlogin are missing in /helpfish.
Here's the patch ;-)
--- FiSH-org.c 2016-09-23 19:08:38.223277516 +0200
+++ FiSH.c 2016-09-23 19:48:23.811349642 +0200
@@ -685,6 +685,8 @@
" /setkey [-<server tag>] [<nick | #channel>] <key>\n"
" /delkey [-<server tag>] [<nick | #channel>]\n"
" /key [-<server tag>] [<nick | #channel>]\n"
+ " /showkey [<nick | #channel>]\n"
+ " /fishlogin\n"
" /keyx [<nick>] (DH1080 KeyXchange)\n"
" /setinipw <sekure_blow.ini_password>\n" " /unsetinipw\n");
}
[root@centos FiSH-irssi-master]# make
[ 16%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
In file included from /root/FiSH-irssi-master/src/FiSH.h:9,
from /root/FiSH-irssi-master/src/FiSH.c:2:
/root/FiSH-irssi-master/src/module.h:3:26: error: irssi-config.h: No such file or directory
In file included from /root/FiSH-irssi-master/src/module.h:5,
from /root/FiSH-irssi-master/src/FiSH.h:9,
from /root/FiSH-irssi-master/src/FiSH.c:2:
/root/irssi-0.8.15/src/common.h:66:4: error: #error uoff_t size not set
make[2]: *** [src/CMakeFiles/fish.dir/FiSH.c.o] Error 1
make[1]: *** [src/CMakeFiles/fish.dir/all] Error 2
make: *** [all] Error 2
Seems that fish cuts off short lines, and lines with UTF8 letters.
Steps to reproduce:
send message like 'fäp' or 'cool' to someone, you notice that it lacks the last one or two chars.
Hi, following instructions provided by README, i just ran into the following:
root@sobremenza ~/FiSH-irssi> ./regen.sh
OpenBSD detected
Please define the AUTOCONF_VERSION and AUTOMAKE_VERSION environment variables
Install at least autoconf-2.65 and automake-1.11.1p2 and run:
export AUTOCONF_VERSION=2.13
export AUTOMAKE_VERSION=1.11
Versions installed (packages are up to date)
root@sobremenza ~/FiSH-irssi> pkg_info | grep ^auto
autoconf-2.13p2 automatically configure source code on many Un_x platforms
autoconf-2.59p3 automatically configure source code on many Un_x platforms
autoconf-2.60p3 automatically configure source code on many Un_x platforms
autoconf-2.64 automatically configure source code on many Un_x platforms
automake-1.10.3p0 GNU standards-compliant Makefile generator
automake-1.9.6p5 GNU standards-compliant Makefile generator
Although, being a welltrained code copy monkey, i have tried the following:
root@sobremenza ~/FiSH-irssi> export AUTOCONF_VERSION=2.13
root@sobremenza ~/FiSH-irssi> export AUTOMAKE_VERSION=1.10
root@sobremenza ~/FiSH-irssi> ./regen.sh
OpenBSD detected
Dont forget to add --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib to the configure script
/usr/local/bin/autom4te[35]: /usr/local/bin/autom4te-2.13: not found
aclocal-1.10: autom4te failed with exit status: 127
You should add the contents of/usr/local/share/aclocal/libtool.m4' to
aclocal.m4'.
fgrep: configure.in: No such file or directory
fgrep: configure: No such file or directory
autoconf: configure.in: No such file or directory
Usage: autoconf [-h] [--help] [-m dir] [--macrodir=dir]
[-l dir] [--localdir=dir] [--version] [template-file]
automake-1.10: autoconf failed with exit status: 1
Is the code only tested successfully against automake 1.11 ?
This was run on:
root@sobremenza ~/FiSH-irssi> sysctl kern.version
kern.version=OpenBSD 5.0 (GENERIC) #43: Wed Aug 17 10:10:52 MDT 2011
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
Thank you for your time :-)
Irssi: fish/fish is ABI version 0 but Irssi is version 1, cannot load
Irssi: Client: irssi 0.8.18-g4af3a47 (20160112 2338)
Is the old ABI interface deprecated or did i build it wrong?
I'm on gentoo 64-bit:
`[ 14%] Building C object CMakeFiles/fish.dir/base64.o
[ 28%] Building C object CMakeFiles/fish.dir/blowfish.o
/home/chef/built/FiSH-irssi/src/blowfish.c:8:12: Fehler: unbekannter Typname: »uint32_t«
static uint32_t
^
/home/chef/built/FiSH-irssi/src/blowfish.c:20:12: Fehler: unbekannter Typname: »uint32_t«
static uint32_t
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »load32_be«:
/home/chef/built/FiSH-irssi/src/blowfish.c:24:13: Fehler: »uint32_t« nicht deklariert (erste Benutzung in dieser Funktion)
return (uint32_t) in[0] << 24 |
^
/home/chef/built/FiSH-irssi/src/blowfish.c:24:13: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
/home/chef/built/FiSH-irssi/src/blowfish.c:24:23: Fehler: expected »;« before »in«
return (uint32_t) in[0] << 24 |
^
/home/chef/built/FiSH-irssi/src/blowfish.c: Auf höchster Ebene:
/home/chef/built/FiSH-irssi/src/blowfish.c:29:22: Fehler: unbekannter Typname: »uint32_t«
store32_be (void *p, uint32_t v)
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »encrypt_string«:
/home/chef/built/FiSH-irssi/src/blowfish.c:53:9: Fehler: unbekannter Typname: »uint32_t«
uint32_t v;
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »decrypt_string«:
/home/chef/built/FiSH-irssi/src/blowfish.c:83:5: Fehler: unbekannter Typname: »uint32_t«
uint32_t v;
^
/home/chef/built/FiSH-irssi/src/blowfish.c:101:9: Warnung: Implizite Deklaration der Funktion »store32_be« [-Wimplicit-function-declaration]
store32_be (block + 4, v);
^
make[2]: *** [CMakeFiles/fish.dir/build.make:87: CMakeFiles/fish.dir/blowfish.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/fish.dir/all] Fehler 2
make: *** [Makefile:128: all] Fehler 2
I'm on gentoo 64-bit:
[ 14%] Building C object CMakeFiles/fish.dir/base64.o
[ 28%] Building C object CMakeFiles/fish.dir/blowfish.o
/home/chef/built/FiSH-irssi/src/blowfish.c:8:12: Fehler: unbekannter Typname: »uint32_t«
static uint32_t
^
/home/chef/built/FiSH-irssi/src/blowfish.c:20:12: Fehler: unbekannter Typname: »uint32_t«
static uint32_t
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »load32_be«:
/home/chef/built/FiSH-irssi/src/blowfish.c:24:13: Fehler: »uint32_t« nicht deklariert (erste Benutzung in dieser Funktion)
return (uint32_t) in[0] << 24 |
^
/home/chef/built/FiSH-irssi/src/blowfish.c:24:13: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
/home/chef/built/FiSH-irssi/src/blowfish.c:24:23: Fehler: expected »;« before »in«
return (uint32_t) in[0] << 24 |
^
/home/chef/built/FiSH-irssi/src/blowfish.c: Auf höchster Ebene:
/home/chef/built/FiSH-irssi/src/blowfish.c:29:22: Fehler: unbekannter Typname: »uint32_t«
store32_be (void *p, uint32_t v)
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »encrypt_string«:
/home/chef/built/FiSH-irssi/src/blowfish.c:53:9: Fehler: unbekannter Typname: »uint32_t«
uint32_t v;
^
/home/chef/built/FiSH-irssi/src/blowfish.c: In Funktion »decrypt_string«:
/home/chef/built/FiSH-irssi/src/blowfish.c:83:5: Fehler: unbekannter Typname: »uint32_t«
uint32_t v;
^
/home/chef/built/FiSH-irssi/src/blowfish.c:101:9: Warnung: Implizite Deklaration der Funktion »store32_be« [-Wimplicit-function-declaration]
store32_be (block + 4, v);
^
make[2]: *** [CMakeFiles/fish.dir/build.make:87: CMakeFiles/fish.dir/blowfish.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/fish.dir/all] Fehler 2
make: *** [Makefile:128: all] Fehler 2`
Hello,
maybe I miss something evident, but I can't find any license next to the source. Is there any in particular, or we should assume a default copyright?
the autotools configuration misses the option that any of the defines
UOFF_T_INT, UOFF_T_LONG or UOFF_T_LONG_LONG is set.
After doing a system upgrade to Debian Buster, along with compiling irssi1.2.2 and a fresh cloned FiSH-irssi I suddenly get an openssl warning after each private message (and only there).
Warnings states:
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
Debian 10 - 64bit
irssi 1.2.2 from irssi.org
-- Using glib-2.0 2.58.3
-- Using OpenSSL 1.1.1c
This addon doesn't works in mIRC 7.2 - Windows 7 x64, plz fix it with a whitelist.
_..._
.-' '-.
/ _ _\
/':. (o) /__)
/':. .,_ | |
|': ; / \ /_/
/ ; `"`" }
; ':., {
/ ; }
; '::. ;\/\ /\ {
|. ':. ;``"``\
/ '::'::' / ;
|':::' '::' / |
\ '::' _.-`; ;
/`-..--;` ; | |
; ; ; ; ; | |
; ; ; ; ; ; / ,--.........,
|; ; ; ; ;/ ; .' -='.
| ; ; ; ; / / .\ '
| ; ; /` .\ _,==" \ .'
\; ; ; .'. _ ,_'\.\~" //`. \ .'
| ; .___~' \ \- | | /,\ ` \ ..'
~ ; ; ;/ =="'' |`| | | =="''\.==''
~ /; ;/="" |`| |`| ==="`
~..==` \\ |`| / /=="`
~` ~ /,\ / /= )")
~ ~~ _')")
~ ~ _,=~";`
~ =~"|; ;| Penisbird
~ ~ | ; | =========
~ ~ |;|\ |
|/ |
i built this module successfully yesterday.
i tried just switching out my old libfish.so (from fish.secure.la).
unloaded the old, replacing the file, loaded yours.
it complained about not having a blow.ini password even though i have.
i even tried setting a new password, unload, load. no avail.
tried unloading the module, removing blow.ini, loading the module, set password, unload, load.
still didn't seem to read/set a password.
am i alone with this?
# yum list glib2
Gives:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: centos.mirror.iweb.ca
* extras: centos.mirror.iweb.ca
* updates: centos.mirror.iweb.ca
Installed Packages
glib2.i686 2.22.5-5.el6 installed
glib2.x86_64 2.22.5-5.el6 installed
Available Packages
glib2.i686 2.26.1-7.el6_5 updates
glib2.x86_64 2.26.1-7.el6_5 updates
Can't figure out if it's on my end or FiSH-irssi just doesn't recognize the version?
After a new encrypted topic is set, it is not decrypted. The topic is displayed "+OK ..." both in the topicbar and output of /topic.
I'm assuming others might not be having this issue as it's a pretty big one.
When you do /keyx -ecb the first time with other person will be OK, after if you do /keyx it add "cbc=1" in blow.ini, and then if do /keyx -ecb the blow.ini is not updated
Hello,
with the latest version of your fish module I get the following error/warning during make
/root/sources/FiSH-irssi/src/FiSH.c: In function ‘decrypt_msg’: /root/sources/FiSH-irssi/src/FiSH.c:235:6: warning: implicit declaration of function ‘ischannel’ [-Wimplicit-function-declaration] if (ischannel(*target)) ^
It finishes to build successfully, but whenever I try to load it, i get the following error in irssi:
*** Irssi: Error loading module fish/fish: /usr/local/lib/irssi/modules/libfish.so: undefined symbol: ischannel
Is this an error on my side?
Using Ubuntu 16.04 based OS I run irssi in a terminal. I perform /load fish
then /connect <network>
to connect to my ZNC bouncer. All the cached messages get downloaded, however fish doesn't decrypt them. It takes an effect only on the further received messages.
how do I remove > prefix?
i have set on blow.ini
how do I remove>
[FiSH]
process_incoming=1
process_outgoing=1
mark_position=0
mark_encrypted=
plain_prefix="+p "
mark_broken_block=0
[net:#chan]
key=+OK 9faqY11zc810.cskJ18rM.
but still announce prefix >
When i run 'cmake .' I got this:
`@homebridge:~/FiSH-irssi$ cmake .
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking for module 'glib-2.0'
-- No package 'glib-2.0' found
CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:367 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:532 (_pkg_check_modules_internal)
CMakeLists.txt:23 (PKG_CHECK_MODULES)
-- Configuring incomplete, errors occurred!
See also "/home/xXXXx/FiSH-irssi/CMakeFiles/CMakeOutput.log".`
But when I then try to install it using apt I get:
`@homebridge:~/FiSH-irssi$ sudo apt-get install glib-2.0
[sudo] password for xXXXx:
Läser paketlistor… Färdig
Bygger beroendeträd
Läser tillståndsinformation… Färdig
Observera, väljer "libspice-client-glib-2.0-dev" för det reguljära uttrycket "glib-2.0"
Observera, väljer "libqt5glib-2.0-0" för det reguljära uttrycket "glib-2.0"
Observera, väljer "gir1.2-spice-client-glib-2.0" för det reguljära uttrycket "glib-2.0"
Observera, väljer "gir1.2-glib-2.0" för det reguljära uttrycket "glib-2.0"
Observera, väljer "libspice-client-glib-2.0-1" för det reguljära uttrycket "glib-2.0"
Observera, väljer "libspice-client-glib-2.0-8" för det reguljära uttrycket "glib-2.0"
Observera, väljer "libqtglib-2.0-0" för det reguljära uttrycket "glib-2.0"
gir1.2-glib-2.0 is already the newest version (1.46.0-3ubuntu1).
gir1.2-spice-client-glib-2.0 is already the newest version (0.30-1).
libqt5glib-2.0-0 is already the newest version (1.2.0-3).
libqtglib-2.0-0 is already the newest version (1.2.0-3).
libspice-client-glib-2.0-8 is already the newest version (0.30-1).
libspice-client-glib-2.0-dev is already the newest version (0.30-1).
0 att uppgradera, 0 att nyinstallera, 0 att ta bort och 96 att inte uppgradera.`
Any idea?!
Hi, there seems to be a problem in 1on1 fish when the other party is doing the init.
For example:
DH1080_INIT
gi7IeDOV6sAsS/mQZGFu1kgdxd/4VPb+2TEunD8jOZTJ66DDgxb8KYE4P1p2XyCIG0iX9wwBPAVHJ+JOSJL+sqq10adPhLzeNc3ZXp2RCMrALSVODKQIBbYHwdABs0N96wunu/U7TmW5kxwtEW0c551dmU8Ny+u5t+As5KHqKqbN7tzSRlMYA CBC
And when I run a manual check on that nick:
16:25 -!- FiSH: Key for Nick@Network not found or invalid!
However when** I **do the /keyx, it works and we can chat encrypted. Why is that? from what I read, it seems related to Fish-irssi CBC support...
Theres a problem with /setkey and /delkey
It now allows to do the following:
/setkey #DeadBSD teste /setkey #deadBSD teste
And in the blow.ini it will add two records:
[DeadBSD:#DeadBSD] key=+OK TilrA0ZzF3A0 [DeadBSD:#deadBSD] key=+OK TilrA0ZzF3A0
This should not happen.
Can we add support for server tags? It seems there is an issue when setting keys for same nick/chan when they reside on different networks.
Join IRCnet and do a /setkey #test 12345678
Join FreeNode and do a /setkey #test 87654321
This updates the key for #test on both networks. I was expecting to be able to handle it like other irssi commands using a server tag:
/msg -ircnet user123 hi there
/msg -freenode user123 hi there
But these do not seem to be supported. Any thoughts on adding support for it like this:
/setkey -freenode #test 1234
/setkey -ircnet #test 4321
Thanks for your time!
Hi.
Getting errors running the configure part. Been installing packages for a while, slow internet connection..
Errors i get are:
./configure: line 11618: syntax error near unexpected token 'glib-2.0, '
./configure: line 11618: 'PKG_CHECK_EXISTS(glib-2.0, '
I know i installed glib-2.0 but is there some setting? Or another package missing?
Hi,
im running Irssi v1.0.2-1 from debian sid, i install irssi-dev and those includes are found in /usr/include/irssi (checked by removing it and then compile fails, cmake reports /usr/include/irssi as success though).
I double checked it on a clean debian sid and get the exact same error while loading in irssi:
18:32:45 -!- Irssi v1.0.2-1 - http://www.irssi.org
18:32:48 -!- Irssi: fish/core is ABI version 0 but Irssi is version 7, cannot load
18:32:48 -!- Irssi: fish/core is ABI version 0 but Irssi is version 7, cannot load
thanks for your help
Hello,
irssi throws an error, when trying to /keyx with a person, who is named [name].
This is the error shown:
Irssi: critical g_key_file_set_value: assertion 'g_key_file_is_group_name (group_name)' failed
Hi,
Had some problems building script/addon on newest stable irssi 0.8.16? It cant find the include folder.. Going to try again tonight, in about 2 hours. Any ideas as irssi-dev package is installed with apt-get irssi, but that is version 0.8.15?
An encrypted topic is not decrypted if i join a channel before i enter the ini password.
How to reproduce:
Join a chan with a previously encrypted topic (/topic+ foo)
Enter ini pw (/fishlogin)
See topicbar and /topic returning crypted +OK string
Fix:
Maybe update topicbar/topic content after fishlogin?
Fresh install of Ubuntu LTS 16.04.1 LTS and followed the installation steps.
Compiling without errors.
Loading fish is succesfull (/load /home/mark/FiSH-irssi/src/libfish.so).
Entering a chan works.
/setkey #mychan key too.
Type something, press enter, irssi crashes.
The following is what i got from a strace:
open("/home/mark/.irssi/blow.ini", O_RDONLY) = 5
fstat(5, {st_mode=S_IFREG|0664, st_size=58, ...}) = 0
read(5, "[network:#mychan]\nkey=+OK"..., 4096) = 58
read(5, "", 4096) = 0
close(5) = 0
open("/dev/tty", O_RDWR|O_NOCTTY|O_NONBLOCK) = 5
writev(5, [{"*** Error in `", 14}, {"irssi", 5}, {"': ", 3}, {"free(): invalid next size (fast)", 32}, {": 0x", 4}, {"000055a842693d90", 16}, {" ***\n", 5}], 7) = 79
Let me know if i can provide anything more.
Mark
During testing of new module from cbc branch #12 irssi crashes with what looks like heap corruption.
OS: debian 7.11
libc: 2.13-38+deb7u12
irssi: 0.8.15-5+deb7u6
fish: r286-1e34b9d
Had a friend on mirc /keyx me, which didn't seem to work:
22:59:11 FiSH: Received DH1080 public key from p@net (CBC), sending mine...
22:59:11 notice | -p!p@host- DH1080_INIT
1Gie/KGhdDbmMpxr1z4nmqLYF2aF42025eUUQuIPUuKnjM1+CrsWslOud9jiejaxdoJrjTCX/x3+0O4YQSy7hrTKBN79kx3Ks7N8z6Bu/tu1gbzanK8kbFVEYdUKtos80SP3zm5XdNn0zwe5ndHfMn9ssl5tItFwuJ6KxTT5UDGw+HlekmMUA CBC
22:59:26 p | +OK *O16kcdsu5YUd8nIfo2dR0w==
22:59:35 somnial | hmm
23:00:16 p | +OK *VPPDS74w1x8e2X99KlpnLIO/d/vq99jtuFKjZijZ3TQ=
23:00:27 p | +OK *CZnTsWib8PetKtsiuyKzzFi7lbSQpb1bKQUeRDVlxKo1w3IEKK372EEAoq3UI+/L
A couple seconds after, irssi crashed. I was also in some encrypted channels. Trace below:
*** glibc detected *** irssi: double free or corruption (out): 0x000000002528a800 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x75bb6)[0x7f5ad8b7cbb6]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7f5ad8b8195c]
/usr/local/lib/x86_64-linux-gnu/irssi/modules/libfish.so(freeIni+0x25)[0x7f5ad82a83e2]
/usr/local/lib/x86_64-linux-gnu/irssi/modules/libfish.so(getContactKey+0x118)[0x7f5ad82a89c4]
/usr/local/lib/x86_64-linux-gnu/irssi/modules/libfish.so(FiSH_decrypt+0x251)[0x7f5ad82a8f55]
/usr/local/lib/x86_64-linux-gnu/irssi/modules/libfish.so(decrypt_msg+0x96)[0x7f5ad82a93d6]
irssi[0x48df32]
irssi(signal_emit+0xbd)[0x48e3dd]
irssi[0x431abe]
irssi[0x48df32]
irssi(signal_emit+0xbd)[0x48e3dd]
irssi[0x45a3e0]
irssi[0x48df32]
irssi(signal_emit_id+0xb8)[0x48e4c8]
irssi[0x48df32]
irssi(signal_emit_id+0xb8)[0x48e4c8]
irssi[0x45a2b1]
irssi[0x480fd0]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x7f5ad9984355]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a688)[0x7f5ad9984688]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_iteration+0x34)[0x7f5ad9984744]
irssi(main+0x1dc)[0x4190ec]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f5ad8b25ead]
irssi[0x419349]
======= Memory map: ========
00400000-004d2000 r-xp 00000000 09:02 9834395 /usr/bin/irssi (deleted)
006d2000-006de000 rw-p 000d2000 09:02 9834395 /usr/bin/irssi (deleted)
006de000-006df000 rw-p 00000000 00:00 0
01570000-33cfc000 rw-p 00000000 00:00 0 [heap]
7f5ad0000000-7f5ad0021000 rw-p 00000000 00:00 0
7f5ad0021000-7f5ad4000000 ---p 00000000 00:00 0
7f5ad60b9000-7f5ad617b000 rw-p 00000000 00:00 0
7f5ad61bc000-7f5ad61be000 r-xp 00000000 09:02 9831416 /usr/lib/perl5/auto/Text/CharWidth/CharWidth.so
7f5ad61be000-7f5ad63bd000 ---p 00002000 09:02 9831416 /usr/lib/perl5/auto/Text/CharWidth/CharWidth.so
7f5ad63bd000-7f5ad63be000 rw-p 00001000 09:02 9831416 /usr/lib/perl5/auto/Text/CharWidth/CharWidth.so
7f5ad63be000-7f5ad63bf000 ---p 00000000 00:00 0
7f5ad63bf000-7f5ad6bbf000 rw-p 00000000 00:00 0
7f5ad6bbf000-7f5ad6bc3000 r-xp 00000000 09:02 10099974 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so (deleted)
7f5ad6bc3000-7f5ad6dc2000 ---p 00004000 09:02 10099974 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so (deleted)
7f5ad6dc2000-7f5ad6dc3000 r--p 00003000 09:02 10099974 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so (deleted)
7f5ad6dc3000-7f5ad6dc4000 rw-p 00004000 09:02 10099974 /usr/lib/perl/5.14.2/auto/Digest/MD5/MD5.so (deleted)
7f5ad6dc4000-7f5ad6dcb000 r-xp 00000000 09:02 9837278 /usr/lib/perl/5.14.2/auto/Socket/Socket.so (deleted)
7f5ad6dcb000-7f5ad6fca000 ---p 00007000 09:02 9837278 /usr/lib/perl/5.14.2/auto/Socket/Socket.so (deleted)
7f5ad6fca000-7f5ad6fcc000 r--p 00006000 09:02 9837278 /usr/lib/perl/5.14.2/auto/Socket/Socket.so (deleted)
7f5ad6fcc000-7f5ad6fcd000 rw-p 00008000 09:02 9837278 /usr/lib/perl/5.14.2/auto/Socket/Socket.so (deleted)
7f5ad6fcd000-7f5ad6fd1000 r-xp 00000000 09:02 9837271 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so (deleted)
7f5ad6fd1000-7f5ad71d0000 ---p 00004000 09:02 9837271 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so (deleted)
7f5ad71d0000-7f5ad71d1000 r--p 00003000 09:02 9837271 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so (deleted)
7f5ad71d1000-7f5ad71d2000 rw-p 00004000 09:02 9837271 /usr/lib/perl/5.14.2/auto/Fcntl/Fcntl.so (deleted)
7f5ad71d2000-7f5ad71d6000 r-xp 00000000 09:02 9837274 /usr/lib/perl/5.14.2/auto/IO/IO.so (deleted)
7f5ad71d6000-7f5ad73d5000 ---p 00004000 09:02 9837274 /usr/lib/perl/5.14.2/auto/IO/IO.so (deleted)
7f5ad73d5000-7f5ad73d6000 r--p 00003000 09:02 9837274 /usr/lib/perl/5.14.2/auto/IO/IO.so (deleted)
7f5ad73d6000-7f5ad73d7000 rw-p 00004000 09:02 9837274 /usr/lib/perl/5.14.2/auto/IO/IO.so (deleted)
7f5ad73d7000-7f5ad73dc000 r-xp 00000000 09:02 10099981 /usr/lib/perl/5.14.2/auto/Time/HiRes/HiRes.so (deleted)
7f5ad73dc000-7f5ad75db000 ---p 00005000 09:02 10099981 /usr/lib/perl/5.14.2/auto/Time/HiRes/HiRes.so (deleted)
7f5ad75db000-7f5ad75dc000 r--p 00004000 09:02 10099981 /usr/lib/perl/5.14.2/auto/Time/HiRes/HiRes.so (deleted)
7f5ad75dc000-7f5ad75dd000 rw-p 00005000 09:02 10099981 /usr/lib/perl/5.14.2/auto/Time/HiRes/HiRes.so (deleted)
7f5ad75dd000-7f5ad75e5000 r-xp 00000000 09:02 10099979 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so (deleted)
7f5ad75e5000-7f5ad77e4000 ---p 00008000 09:02 10099979 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so (deleted)
7f5ad77e4000-7f5ad77e5000 r--p 00007000 09:02 10099979 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so (deleted)
7f5ad77e5000-7f5ad77e6000 rw-p 00008000 09:02 10099979 /usr/lib/perl/5.14.2/auto/Data/Dumper/Dumper.so (deleted)
7f5ad77e6000-7f5ad77f0000 r-xp 00000000 09:02 10227680 /usr/lib/perl5/auto/Irssi/TextUI/TextUI.so (deleted)
7f5ad77f0000-7f5ad79f0000 ---p 0000a000 09:02 10227680 /usr/lib/perl5/auto/Irssi/TextUI/TextUI.so (deleted)
7f5ad79f0000-7f5ad79f1000 rw-p 0000a000 09:02 10227680 /usr/lib/perl5/auto/Irssi/TextUI/TextUI.so (deleted)
7f5ad79f1000-7f5ad7a00000 r-xp 00000000 09:02 10227676 /usr/lib/perl5/auto/Irssi/Irc/Irc.so (deleted)
7f5ad7a00000-7f5ad7c00000 ---p 0000f000 09:02 10227676 /usr/lib/perl5/auto/Irssi/Irc/Irc.so (deleted)
7f5ad7c00000-7f5ad7c01000 rw-p 0000f000 09:02 10227676 /usr/lib/perl5/auto/Irssi/Irc/Irc.so (deleted)
7f5ad7c01000-7f5ad7c11000 r-xp 00000000 09:02 10227677 /usr/lib/perl5/auto/Irssi/UI/UI.so (deleted)
7f5ad7c11000-7f5ad7e10000 ---p 00010000 09:02 10227677 /usr/lib/perl5/auto/Irssi/UI/UI.so (deleted)
7f5ad7e10000-7f5ad7e11000 rw-p 0000f000 09:02 10227677 /usr/lib/perl5/auto/Irssi/UI/UI.so (deleted)
7f5ad7e11000-7f5ad7e32000 r-xp 00000000 09:02 10227672 /usr/lib/perl5/auto/Irssi/Irssi.so (deleted)
7f5ad7e32000-7f5ad8032000 ---p 00021000 09:02 10227672 /usr/lib/perl5/auto/Irssi/Irssi.so (deleted)
7f5ad8032000-7f5ad8033000 rw-p 00021000 09:02 10227672 /usr/lib/perl5/auto/Irssi/Irssi.so (deleted)
7f5ad808d000-7f5ad80a2000 r-xp 00000000 09:02 11796484 /lib/x86_64-linux-gnu/libgcc_s.so.1Aborted
Hi
I had to compile fish under Mac OSX, maybe the following instructions should be added to the homepage
first, install MacPorts from https://www.macports.org/
sudo port install glib2 libsodium
Compilation is working fine. You need macports because glib libs are not found when using brew.
It would be nice if /setkey would operate as a hint for decryption, rather than requirement. If I "/setkey cbc:abcdef", obviously the plugin must encrypt my messages with CBC, but the decryption path could first try to decrypt with CBC, and if that fails, try to decrypt a message as ECB (with the same key). Messages successfully decoded with ECB could print an extra leading character, like the bold greater than, >! or >(ECB!).
This would help ease setup and diagnosis of client misconfiguration when several parties are coordinating over an encrypted channel.
The threefish algorithm was published in 2008 and provides better security.
https://www.schneier.com/academic/skein/threefish.html
https://www.cryptopp.com/wiki/Threefish
https://en.wikipedia.org/wiki/Threefish
Skein3Fish offers an implementation in C.
Thanks!
After the latest update of irssi on my gnu/linux box the plugin doesn't load anymore. The error says
Irssi: fish/fish is ABI version 7 but Irssi is version 13, cannot load
I think it's a very straightforward message. I'd be happy if someone else could take care of this, as I don't know enough c to do it.
Me and my friends have noticed that hilight is not working on any of us that have this FiSH loaded.
Hi,
when i start irssi, the module is loaded via ~/.irssi/startup file.
So i get the 'Enter password:' prompt, but in the background
irssi is connecting to the server, joining channels.
Irssi then complains 'Remove unknown settings from config file (Y/n)?'
Because of some settings like 'mark_encrypted' which are not known, as it still waits for the PW.
Is it possible to block irssi, until the pw is entered? (like the old 0.99+0.8.17)
ciao,
Z
Would applying this patch (http://blog.ryara.net/2010/06/14/patch-fish-irssi-with-recode/) to the correct lines solve the bug?
Hi,
looks to me like some of the original options are not read from file upon module load is that correct? Please find attached a diff that gets the mark_encypted set
diff FiSH.c FiSH.c.fixed
1116a1117
> char mark_encrypted[20];
1144a1146,1149
>
> getIniValue("FiSH", "mark_encrypted", ">", mark_encrypted,
> sizeof(mark_encrypted), iniPath);
>
1183c1188,1191
< settings_add_str_module("fish", "fish", "mark_encrypted", "\002>\002 ");
---
> /* settings_add_str_module("fish", "fish", "mark_encrypted", "\002>\002 "); */
>
> settings_add_str_module("fish", "fish", "mark_encrypted", mark_encrypted);
>
/tmp/FiSH-irssi# cmake .
-- Using glib-2.0 2.50.2
-- Using OpenSSL 1.1.0c
-- irssi includes were found on /usr/include/irssi
-- The module will be installed by default to /usr/local/lib/irssi/modules
-- You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/FiSH-irssi
/tmp/FiSH-irssi# make
[ 14%] Building C object src/CMakeFiles/fish.dir/base64.c.o
[ 28%] Building C object src/CMakeFiles/fish.dir/blowfish.c.o
[ 42%] Building C object src/CMakeFiles/fish.dir/inifile.c.o
[ 57%] Building C object src/CMakeFiles/fish.dir/DH1080.c.o
/tmp/FiSH-irssi/src/DH1080.c: In function ‘DH1080_Init’:
/tmp/FiSH-irssi/src/DH1080.c:46:13: error: dereferencing pointer to incomplete type ‘DH {aka struct dh_st}’
g_dh->p = BN_bin2bn(prime1080, DH1080_PRIME_BYTES, NULL);
^~
src/CMakeFiles/fish.dir/build.make:134: recipe for target 'src/CMakeFiles/fish.dir/DH1080.c.o' failed
make[2]: *** [src/CMakeFiles/fish.dir/DH1080.c.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'src/CMakeFiles/fish.dir/all' failed
make[1]: *** [src/CMakeFiles/fish.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Will CBC encryption be implemented? Would be very helpful for better compatibility with other irc clients.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.