GithubHelp home page GithubHelp logo

cdidier / irssi-xmpp Goto Github PK

View Code? Open in Web Editor NEW
68.0 68.0 22.0 574 KB

irssi-xmpp is an irssi plugin to connect to the Jabber network.

License: GNU General Public License v2.0

C 98.59% Makefile 1.41%

irssi-xmpp's People

Contributors

1g0rb0hm avatar ailin-nemui avatar benaryorg avatar cdidier avatar dkg avatar fschlich avatar ge0rg avatar kbeldan avatar nanderv avatar paulfariello avatar pstray avatar vaygr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

irssi-xmpp's Issues

XEPs and RFCs support page with version

Crash (probably on disconnect?)

got this backtrace.

#1  0x0000000040695ea3 in g_strdup () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x0000000045914111 in sig_conn_copy (dest=0x7fbfc30c58, src=0x552bd58b90) at xep/muc-reconnect.c:38
#3  0x000000552ab46962 in signal_emit_real (rec=rec@entry=0x552adbcf90, params=params@entry=2, va=va@entry=0x7fbfc30b58, first_hook=<optimized out>) at signals.c:242
#4  0x000000552ab46ea0 in signal_emit (signal=signal@entry=0x552ab5ee5e "server connect copy", params=params@entry=2) at signals.c:286
#5  0x000000552ab412e2 in server_connect_copy_skeleton (src=0x552bd58b90, connect_info=connect_info@entry=0) at servers-reconnect.c:154
#6  0x000000552ab418f7 in sig_reconnect (server=0x552bd81850) at servers-reconnect.c:230
#7  0x000000552ab46962 in signal_emit_real (rec=rec@entry=0x552adb6610, params=params@entry=1, va=va@entry=0x7fbfc30d38, first_hook=<optimized out>) at signals.c:242
#8  0x000000552ab46ea0 in signal_emit (signal=signal@entry=0x552ab54dfb "server disconnected", params=params@entry=1) at signals.c:286
#9  0x000000552ab40ec0 in server_disconnect (server=0x552bd81850) at servers.c:481
#10 0x0000000045908154 in lm_close_cb (connection=0x552bd8c160, reason=LM_DISCONNECT_REASON_PING_TIME_OUT, user_data=0x552bd81850) at xmpp-servers.c:272
#11 0x0000000045b293ff in ?? () from /usr/lib/x86_64-linux-gnu/libloudmouth-1.so.0
#12 0x0000000043032f75 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x0000000043044f82 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#14 0x000000004304dbdc in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#15 0x000000004304dfbf in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#16 0x0000000045b32532 in ?? () from /usr/lib/x86_64-linux-gnu/libloudmouth-1.so.0
#17 0x0000000040677123 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00000000406766aa in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x0000000040676a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x0000000040676b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#21 0x000000552aac7813 in main (argc=<optimized out>, argv=<optimized out>) at irssi.c:329

command "suscribe" should be "subscribe"

"suscribe" appears to be a misspelling of "subscribe" -- while a simple fix would just correct the spelling, it's possible that you want to retain an alias for the old "suscribe" in case you think it has been in automated use. if you retain such an alias, please have it produce a deprecation warning so that it can eventually be removed.

building with irssi 1.0 fails

+ cd irssi-xmpp-0.53~git0.bee578d
+ export IRSSI_INCLUDE=/usr/include/irssi
+ IRSSI_INCLUDE=/usr/include/irssi
+ /usr/bin/make -j4 CC=gcc 'OPTFLAGS=-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g' PREFIX=/usr IRSSI_INCLUDE=/usr/include/irssi IRSSI_LIB=/usr/lib64/irssi IRSSI_DOC=/usr/share/doc/packages/irssi-xmpp
make[1]: Entering directory '/home/abuild/rpmbuild/BUILD/irssi-xmpp-0.53~git0.bee578d/src'
core module:
make[2]: Entering directory '/home/abuild/rpmbuild/BUILD/irssi-xmpp-0.53~git0.bee578d/src/core'
gcc  -fPIC -DUOFF_T_LONG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -I../../src/core -I/usr/include/irssi -I/usr/include/irssi/src -I/usr/include/irssi/src/core -I/usr/include/irssi/src/fe-common/core -I/usr/include/irssi/src/fe-text `pkg-config --cflags loudmouth-1.0` -o xmpp-commands.o -c xmpp-commands.c
gcc  -fPIC -DUOFF_T_LONG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -I../../src/core -I/usr/include/irssi -I/usr/include/irssi/src -I/usr/include/irssi/src/core -I/usr/include/irssi/src/fe-common/core -I/usr/include/irssi/src/fe-text `pkg-config --cflags loudmouth-1.0` -o xmpp-core.o -c xmpp-core.c
gcc  -fPIC -DUOFF_T_LONG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -I../../src/core -I/usr/include/irssi -I/usr/include/irssi/src -I/usr/include/irssi/src/core -I/usr/include/irssi/src/fe-common/core -I/usr/include/irssi/src/fe-text `pkg-config --cflags loudmouth-1.0` -o xmpp-queries.o -c xmpp-queries.c
gcc  -fPIC -DUOFF_T_LONG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -I../../src/core -I/usr/include/irssi -I/usr/include/irssi/src -I/usr/include/irssi/src/core -I/usr/include/irssi/src/fe-common/core -I/usr/include/irssi/src/fe-text `pkg-config --cflags loudmouth-1.0` -o xmpp-servers.o -c xmpp-servers.c
gcc  -fPIC -DUOFF_T_LONG -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -I../../src/core -I/usr/include/irssi -I/usr/include/irssi/src -I/usr/include/irssi/src/core -I/usr/include/irssi/src/fe-common/core -I/usr/include/irssi/src/fe-text `pkg-config --cflags loudmouth-1.0` -o xmpp-servers-reconnect.o -c xmpp-servers-reconnect.c
xmpp-servers.c: In function 'xmpp_server_init_connect':
xmpp-servers.c:154:43: error: 'XMPP_SERVER_CONNECT_REC' has no member named 'use_ssl'
   server->connrec->port = (server->connrec->use_ssl) ?
                                           ^
xmpp-servers.c: In function 'lm_open_cb':
xmpp-servers.c:338:21: error: 'XMPP_SERVER_CONNECT_REC' has no member named 'use_ssl'
  if (server->connrec->use_ssl)
                     ^
xmpp-servers.c: In function 'xmpp_server_connect':
xmpp-servers.c:473:21: error: 'XMPP_SERVER_CONNECT_REC' has no member named 'use_ssl'
  if (server->connrec->use_ssl) {
                     ^
../rules.mk:10: recipe for target 'xmpp-servers.o' failed
make[2]: *** [xmpp-servers.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/irssi-xmpp-0.53~git0.bee578d/src/core'
Makefile:2: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/abuild/rpmbuild/BUILD/irssi-xmpp-0.53~git0.bee578d/src'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.EEUFwH (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.EEUFwH (%build)

tengu failed "build irssi-xmpp.spec" at Sun Jan  8 02:08:42 UTC 2017.

xmpp/core ABI version mismatch

Irssi verison: 1.4.3-1
Plugin version: 0.54-3

Issue: Trying to load irssi-xmpp at startup produces the following error. I'm running on arch with all of the latest package updates.

19:21 -!- Irssi: xmpp/core is ABI version 20 but Irssi is version 46, cannot load
19:21 -!- Irssi: Error loading module xmpp/fe: /usr/lib/irssi/modules/libfe_xmpp.so: undefined symbol:
          xmpp_extract_resource
19:21 -!- Irssi: xmpp/core is ABI version 20 but Irssi is version 46, cannot load
19:21 -!- Irssi: Unknown chat protocol: XMPP

Improper user name in HipChat

When starting a 1-on-1 conversation in HipChat, the following show up:

01:22 <[email protected]/web||proxy|proxy-c300.hipchat.com|5262> test

This makes irssi-xmpp practically unusable. For reference, Pidgin is capable to providing the correct "clear" username, eg. "Foo Bar"

single window multiple resources

irssi already has the concept of having multiple items in a window with a key bind to toggle between them. for static resources i could set this up with "/query -window", but that gets tedious quickly. also dynamic resources would break it.

so my idea would be "/query somenick" would open a query without irssi/user specifying the resource. so when sending a message, we would send to what ever the "best resource would be" or what the remote server would pick.

we add a command to toggle between all resources ( and of course back to the new mode). we could bind that e.g. meta-v. so if i know i want to write to his mobile client, i could. but i wouldnt end up with N windows anymore to chatting with the same person just because they switch from gajim to conversations and carry their conversation with them because of MAM/carbons.

XEP-0443: XMPP Compliance Suites 2021

Please add support of XEP-0443: XMPP Compliance Suites 2021: https://xmpp.org/extensions/xep-0443.html

Which replaces:

SCRAM-SHA-1-PLUS + SCRAM-SHA-256(-PLUS) + SCRAM-SHA-512(-PLUS) supports

Can you add supports of :

  • SCRAM-SHA-1
  • SCRAM-SHA-1-PLUS
  • SCRAM-SHA-256
  • SCRAM-SHA-256-PLUS
  • SCRAM-SHA-512
  • SCRAM-SHA-512-PLUS
  • SCRAM-SHA3-512
  • SCRAM-SHA3-512-PLUS

You can add too:

  • SCRAM-SHA-224
  • SCRAM-SHA-224-PLUS
  • SCRAM-SHA-384
  • SCRAM-SHA-384-PLUS

"When using the SASL SCRAM mechanism, the SCRAM-SHA-256-PLUS variant SHOULD be preferred over the SCRAM-SHA-256 variant, and SHA-256 variants [RFC7677] SHOULD be preferred over SHA-1 variants [RFC5802]".

https://xmpp.org/extensions/inbox/hash-recommendations.html

-PLUS variants:

IMAP:

LDAP:

  • RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803

HTTP:

2FA:

IANA:

Linked to:

Feature Request: Message Carbons and OMEMO

Now that everybody has a smartphone in addition to a more traditional computer, for example with Android and the excellent Conversations app, there are two things I miss in irssi-xmpp:

  1. Message Carbons (XEP-0280), so I get to log / follow / finish off a discussion I started on my mobile while on the move on a proper keyboard. This has been implemented by singpolyma, and seems to work fine for me so far: singpolyma@563b255 (there's a lot of work on xmpp-pgp in that repo, which I haven't gotten around to use and test much apart from including it in the Debian package, but this one is a killer feature IMHO). This is probably as simple as a cherry-pick, and I'm happy to prepare a pull request if you prefer?

  2. OMEMO (https://conversations.im/omemo/), an adaptation of TestSecure's Axolotl for XMPP. There's https://github.com/WhisperSystems/libaxolotl-c that perhaps can be built upon, but I'm not sure any of the XMPP specifics have been implemented in C yet, and the XEPs are still in draft status. Nevertheless this would be an awesome thing to have!

Crash using with HIpChat

I've been getting a few crashes using irssi-xmpp on HipChat XMPP bridges. I'll post more information when I'll have reproduced.

Version involved: irssi-xmpp-0.52-7 (on Fedora 23)

xmpppasswd

Hello, i'm using Irssi v1.0.7-1 with irssi-plugin-xmpp 0.54-2 buster (testing), how i can change my xmpp-password? With xmpppasswd? What is the syntax? thanks for reading.

irssi-xmpp 0.54 fails to connect to jabber server with irssi-1.2.0

I upgraded irssi to 1.2.0. After the upgrade irssi-xmpp fails to connect to jabber server. The client appears to do the STARTTLS phase and it prompts for password. After entering the password the connection is terminated with message like "Unable to connect server ... timeout". The host OS is FreeBSD 12.

irssi 1.4.1

irssi 1.4.1 on openbsd with git head irssi-xmpp fails to connect. I am able to use prosody to connect. Has the irssi-xmpp plugin been tested against irssi 1.4.1? I see NEWS mentions irssi 1.0.0 support.

irssi output:

00:15] -!- Irssi: Loaded module xmpp/core
[00:15] -!- Irssi: Loaded module xmpp/text
[00:15] -!- Irssi: Loaded module xmpp/fe
[00:15] -!- Irssi: Looking up muc.nixnet.services
[00:15] -!- Irssi: Connecting to muc.nixnet.services [192.168.1.5] port 5222
[00:15] -!- Irssi: Using STARTTLS encryption. 
[00:15] -!- Irssi: (default) warning SSL_connect(): 0 / SSL_ERROR_SYSCALL

Here are two patches that I needed.

`/load xmpp' prints libfe_xmpp.so: undefined symbol glist_find_string
irssi changed glist_find_string to i_list_find_string

see:
https://github.com/irssi/irssi/commit/c108cae02fd73d3c9d8338a7191bbebcbcf550e1

Index: src/fe-common/xmpp-completion.c
--- src/fe-common/xmpp-completion.c.orig
+++ src/fe-common/xmpp-completion.c
@@ -287,7 +287,7 @@ get_channels(XMPP_SERVER_REC *server, const char *word
 		    chat_type, XMPP_PROTOCOL_NAME)
 		    || *channel_setup->name != '#')
 		    && g_ascii_strncasecmp(channel_setup->name, word, len) == 0
-		    && glist_find_string(list, channel_setup->name) == NULL)
+		    && i_list_find_string(list, channel_setup->name) == NULL)
 			list = g_list_append(list,
 			    g_strdup(channel_setup->name));
 	}

lag_sent has changed type from GTimeVal to gint64

see:
https://github.com/irssi/irssi/commit/1cdb4bc311ba0c568c68ae26348bbb1eee273580#diff-a86f89f9b2da09af40dcaba5544aa58496ab242dd558be3e31e2fa43cbbb6ff9

Index: src/core/xep/ping.c
--- src/core/xep/ping.c.orig
+++ src/core/xep/ping.c
@@ -166,10 +166,10 @@ check_ping_func(void)
 	now = time(NULL);
 	for (tmp = supported_servers; tmp != NULL; tmp = tmp->next) {
 		server = XMPP_SERVER(tmp->data);
-		if (server->lag_sent.tv_sec != 0) {
+		if (server->lag_sent != 0) {
 			/* waiting for lag reply */
 			if (max_lag > 1 &&
-			    (now - server->lag_sent.tv_sec) > max_lag) {
+			    (now - server->lag_sent) > max_lag) {
 				/* too much lag - disconnect */
 				signal_emit("server lag disconnect", 1,
 				    server);

Feature request: autocompletion of jid

When querying someone with

/query nick

I always receive replies from the full JID. It would be nice if there was an auto-completion that provided the full JID. For example, to talk with 'user' I have to type:

/query [email protected]/resource

Which is quite long. If I type /query user I get their replies fom [email protected]/resource which goes in a separate query window.

Feature Request: Per-account proxy settings

There are instances where one might want to use one proxy for one account and a different proxy for a different account; or, perhaps, a proxy for one account and no proxy for a different account (e.g. Tor for an "anonymous" account over a service with a Tor hidden service address, and a regular "surface 'net" account).

Ideally, the global proxy should be used by default (as it is now) while still allowing for per-account proxy settings.

xmpp/core is ABI version 7 but Irssi is version 13, cannot load

After upgrading from Fedora 27 to 28, irssi-xmpp no longer works:

/load xmpp
xmpp/core is ABI version 7 but Irssi is version 13, cannot load
Error loading module xmpp/fe: /usr/lib64/irssi/modules/libfe_xmpp.so: undefined symbol: xmpp_subscription
xmpp/core is ABI version 7 but Irssi is version 13, cannot load

Versions:

  • irssi: irssi-1.1.1-1.fc28.src.rpm
  • irssi-xmpp: irssi-xmpp-0.54-2.fc28.src.rpm

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.