Package: irssi-plugin-xmpp / 0.54-3

Metadata

Package Version Patches format
irssi-plugin-xmpp 0.54-3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
GTalk MUC support.patch | (download)

src/core/xep/muc-events.c | 46 27 + 19 - 0 !
1 file changed, 27 insertions(+), 19 deletions(-)

 gtalk support by github/freemandrew

This patch is a merge of the following commits from
https://github.com/freemandrew/irssi-xmpp:

- simple gtalk chatroom fix (a1935b7dd0279df7c3cde71e34e524391b610831)
- more presence changes to interop with gtalk (f7c4611d6ce90856a89d74c00abda2bd2225df32)
- test (6a7ffd9aaf5e56f353b3624a5f4a44218c37590f)
- the "lm_message_node_get_child(parent, ..." hunk from "works with some stuff now but not others, awesome" (e96a1a9850ad7ed33aa89b96bcfa78352b2d82c5)
- missed one! (a968ecf495e0e41ac30c1aa30ef6d391764d00f1)

Support for GTalk
==============

I'm new to github so I hope this note suffices for now.  I updated this plugin
mainly to get IRSSI working with GTalk.  In group chats, I've recently started
to get segfaults but haven't had the time to track down the issue.  For the most
part, it works...

singpolyma 0001 Set presence in one place.patch | (download)

src/core/xmpp-servers.c | 12 2 + 10 - 0 !
1 file changed, 2 insertions(+), 10 deletions(-)

 [patch 01/18] set presence in one place

Had two bits of code to set presence, one on initial connect, and one when changing.  No reason to do that, snip out the code duplication.

singpolyma 0002 Generalize get_password.patch | (download)

src/core/xmpp-servers.c | 10 5 + 5 - 0 !
src/core/xmpp-servers.h | 5 3 + 2 - 0 !
2 files changed, 8 insertions(+), 7 deletions(-)

 [patch 02/18] generalize get_password

So that we can use it to get other passwords as well.

singpolyma 0003 If an OpenPGP KeyID is set sign presence.patch | (download)

src/core/protocol.c | 98 91 + 7 - 0 !
src/core/xmpp-servers.c | 1 1 + 0 - 0 !
src/core/xmpp.h | 2 2 + 0 - 0 !
3 files changed, 94 insertions(+), 7 deletions(-)

 [patch 03/18] if an openpgp keyid is set, sign presence


singpolyma 0004 Move call_gpg into tools make more robust.patch | (download)

src/core/protocol.c | 63 1 + 62 - 0 !
src/core/tools.c | 95 95 + 0 - 0 !
src/core/tools.h | 2 2 + 0 - 0 !
3 files changed, 98 insertions(+), 62 deletions(-)

 [patch 04/18] move call_gpg into tools, make more robust

Move to tools.[ch]
Allow passing in two bits of data.
Only get password if we need it.
Allow caller to specify in_data (that is, that we should return all output)

singpolyma 0005 Verify signed presences.patch | (download)

src/core/rosters.c | 42 38 + 4 - 0 !
src/core/rosters.h | 1 1 + 0 - 0 !
2 files changed, 39 insertions(+), 4 deletions(-)

 [patch 05/18] verify signed presences

And store the keyID in the resource structure

singpolyma 0006 Display verified keyID in roster.patch | (download)

src/fe-common/fe-rosters.c | 9 6 + 3 - 0 !
src/fe-common/module-formats.c | 3 2 + 1 - 0 !
src/fe-common/module-formats.h | 1 1 + 0 - 0 !
3 files changed, 9 insertions(+), 4 deletions(-)

 [patch 06/18] display verified keyid in roster


singpolyma 0007 Fix segfault.patch | (download)

src/core/rosters.c | 5 3 + 2 - 0 !
1 file changed, 3 insertions(+), 2 deletions(-)

 [patch 07/18] fix segfault


singpolyma 0008 Command to turn encryption on off.patch | (download)

src/core/rosters.h | 1 1 + 0 - 0 !
src/core/xmpp-commands.c | 28 28 + 0 - 0 !
2 files changed, 29 insertions(+)

 [patch 08/18] command to turn encryption on/off


singpolyma 0009 Encrypt outgoing messages when told to.patch | (download)

src/core/xmpp-servers.c | 37 37 + 0 - 0 !
1 file changed, 37 insertions(+)

 [patch 09/18] encrypt outgoing messages when told to

Also, sign messages when we have a keyid

singpolyma 0010 More robuse call_gpg invocation.patch | (download)

src/core/protocol.c | 2 1 + 1 - 0 !
src/core/rosters.c | 2 1 + 1 - 0 !
src/core/tools.c | 23 19 + 4 - 0 !
src/core/tools.h | 3 2 + 1 - 0 !
src/core/xmpp-servers.c | 4 2 + 2 - 0 !
5 files changed, 25 insertions(+), 9 deletions(-)

 [patch 10/18] more robuse call_gpg invocation


singpolyma 0011 Fix some potential crashing issues.patch | (download)

src/core/protocol.c | 8 5 + 3 - 0 !
src/core/rosters.c | 2 1 + 1 - 0 !
2 files changed, 6 insertions(+), 4 deletions(-)

 [patch 11/18] fix some potential crashing issues


singpolyma 0012 Ask again for password if wrong.patch | (download)

src/core/tools.c | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 [patch 12/18] ask again for password if wrong


singpolyma 0013 Decrypt incoming messages.patch | (download)

src/core/protocol.c | 37 33 + 4 - 0 !
1 file changed, 33 insertions(+), 4 deletions(-)

 [patch 13/18] decrypt incoming messages


singpolyma 0014 fix some assertion failures.patch | (download)

src/core/xmpp-commands.c | 2 1 + 1 - 0 !
src/core/xmpp-servers.c | 18 10 + 8 - 0 !
2 files changed, 11 insertions(+), 9 deletions(-)

 [patch 14/18] fix some assertion failures


singpolyma 0015 Format keyID the same everywhere.patch | (download)

src/fe-common/fe-rosters.c | 7 5 + 2 - 0 !
1 file changed, 5 insertions(+), 2 deletions(-)

 [patch 15/18] format keyid the same everywhere


singpolyma 0016 trust keys.patch | (download)

src/core/tools.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 [patch 16/18] trust keys


singpolyma 0017 Many fewer temp files.patch | (download)

src/core/Makefile | 1 1 + 0 - 0 !
src/core/tools.c | 43 19 + 24 - 0 !
2 files changed, 20 insertions(+), 24 deletions(-)

 [patch 17/18] many fewer temp files


singpolyma 0018 Option to use gpg agent.patch | (download)

src/core/tools.c | 10 8 + 2 - 0 !
src/core/xmpp-servers.c | 1 1 + 0 - 0 !
2 files changed, 9 insertions(+), 2 deletions(-)

 [patch 18/18] option to use gpg-agent


singpolyma 0019 Forgot these files.patch | (download)

src/core/popenRWE.c | 93 93 + 0 - 0 !
src/core/popenRWE.h | 7 7 + 0 - 0 !
2 files changed, 100 insertions(+)

 [patch] forgot these files


singpolyma 0101 Repair broken passphrase retry.patch | (download)

src/core/popenRWE.c | 4 3 + 1 - 0 !
src/core/tools.c | 21 17 + 4 - 0 !
2 files changed, 20 insertions(+), 5 deletions(-)

 [patch 01/10] repair broken passphrase retry

The exit code handling of the gpg process to detect wrong passphrases
was a bit adventurous. It checked for the raw status value from waitpid
instead of the WEXITSTATUS() macro.
The code that handles the waitpid also does not check for any errors.
This is now fixed by evaluating the waitpid return value and the use of
the WEXITSTATUS() macro.

Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>

singpolyma 0102 Add discovery information for OpenPGP support.patch | (download)

src/core/protocol.c | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 [patch 02/10] add discovery information for openpgp support


singpolyma 0103 Cleanup on error you doofus.patch | (download)

src/core/tools.c | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 [patch 03/10] cleanup on error, you doofus


singpolyma 0104 Whitespace.patch | (download)

src/core/tools.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch 04/10] whitespace


singpolyma 0105 Use mkstemp.patch | (download)

src/core/tools.c | 29 13 + 16 - 0 !
1 file changed, 13 insertions(+), 16 deletions(-)

 [patch 05/10] use mkstemp

special filenames is the key!

singpolyma 0106 Cleanup password handling.patch | (download)

src/core/tools.c | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 [patch 06/10] cleanup password handling


singpolyma 0107 Send data down using a pipe.patch | (download)

src/core/tools.c | 21 11 + 10 - 0 !
1 file changed, 11 insertions(+), 10 deletions(-)

 [patch 07/10] send data down using a pipe


singpolyma 0108 Much better variable names.patch | (download)

src/core/tools.c | 24 12 + 12 - 0 !
1 file changed, 12 insertions(+), 12 deletions(-)

 [patch 08/10] much better variable names


singpolyma 0109 Make special names actually work.patch | (download)

src/core/tools.c | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 [patch 09/10] make special names actually work


singpolyma 0110 Display useful messages for xmpppgp command.patch | (download)

src/core/xmpp-commands.c | 25 21 + 4 - 0 !
1 file changed, 21 insertions(+), 4 deletions(-)

 [patch 10/10] display useful messages for /xmpppgp command


singpolyma 0203 Implement XEP 0280 Message Carbons.patch | (download)

src/core/Makefile | 1 1 + 0 - 0 !
src/core/xep/carbons.c | 122 122 + 0 - 0 !
src/core/xep/carbons.h | 9 9 + 0 - 0 !
src/core/xep/xep.c | 3 3 + 0 - 0 !
src/fe-common/Makefile | 1 1 + 0 - 0 !
src/fe-common/xep/fe-carbons.c | 63 63 + 0 - 0 !
src/fe-common/xep/fe-carbons.h | 9 9 + 0 - 0 !
src/fe-common/xep/fe-xep.c | 3 3 + 0 - 0 !
8 files changed, 211 insertions(+)

 [patch 3/3] implement xep-0280: message carbons


strip_resource_08082009.patch | (download)

docs/GENERAL | 6 6 + 0 - 0 !
src/core/protocol.c | 20 17 + 3 - 0 !
src/core/xmpp-queries.c | 17 17 + 0 - 0 !
src/fe-common/fe-xmpp-queries.c | 21 13 + 8 - 0 !
src/fe-common/fe-xmpp-status.c | 16 11 + 5 - 0 !
5 files changed, 64 insertions(+), 16 deletions(-)

 strip resource string from jid
 gchat and others generate semi random character strings (eg:
 foobar@gmail.com/CSCF76A81E) as the resource id on some contacts.  That can
 change rather rapidly and all of the sudden one can wind up with several
singpolyma fix warnings.patch | (download)

src/core/popenRWE.c | 6 3 + 3 - 0 !
src/core/tools.c | 2 1 + 1 - 0 !
src/core/xmpp-commands.c | 1 1 + 0 - 0 !
3 files changed, 5 insertions(+), 4 deletions(-)

 fix 4 compiler warnings, check popenrwe return value
    xmpp-commands.c:547:4: warning: implicit declaration of function 'printtext_window' [-Wimplicit-function-declaration]
    popenRWE.c:60:3: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result]
    popenRWE.c:62:3: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result]
    popenRWE.c:64:3: warning: ignoring return value of 'dup', declared with attribute warn_unused_result [-Wunused-result]
singpolyma null resource was causing crash here.patch | (download)

src/core/rosters.c | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

---
ailin nemui 0001 Add MSGLEVEL_MODES to presence change messages.patch | (download)

src/fe-common/fe-xmpp-queries.c | 4 2 + 2 - 0 !
src/fe-common/fe-xmpp-status.c | 4 2 + 2 - 0 !
2 files changed, 4 insertions(+), 4 deletions(-)

 [patch] add msglevel_modes to presence change messages


ailin nemui 0002 Add MUC destroy command.patch | (download)

src/core/xep/muc-commands.c | 25 25 + 0 - 0 !
src/core/xep/muc.c | 36 36 + 0 - 0 !
src/core/xep/muc.h | 1 1 + 0 - 0 !
3 files changed, 62 insertions(+)

 [patch 02/44] add muc destroy command


ailin nemui 0003 Handle muc destroy error.patch | (download)

src/core/xep/muc-events.c | 51 51 + 0 - 0 !
src/fe-common/module-formats.c | 1 1 + 0 - 0 !
src/fe-common/module-formats.h | 1 1 + 0 - 0 !
src/fe-common/xep/fe-muc.c | 10 10 + 0 - 0 !
4 files changed, 63 insertions(+)

 [patch 03/44] handle muc destroy error


ailin nemui 0004 Add muc admin command.patch | (download)

src/core/Makefile | 2 2 + 0 - 0 !
src/core/xep/muc-affiliation.c | 51 51 + 0 - 0 !
src/core/xep/muc-affiliation.h | 17 17 + 0 - 0 !
src/core/xep/muc-commands.c | 109 109 + 0 - 0 !
src/core/xep/muc-events.c | 43 42 + 1 - 0 !
src/core/xep/muc-nicklist.c | 68 8 + 60 - 0 !
src/core/xep/muc-nicklist.h | 20 1 + 19 - 0 !
src/core/xep/muc-role.c | 45 45 + 0 - 0 !
src/core/xep/muc-role.h | 16 16 + 0 - 0 !
src/core/xep/muc.c | 129 128 + 1 - 0 !
src/core/xep/muc.h | 9 9 + 0 - 0 !
src/fe-common/xep/fe-muc.c | 51 44 + 7 - 0 !
12 files changed, 472 insertions(+), 88 deletions(-)

 [patch 04/44] add muc admin command


ailin nemui 0005 Update documentation for MUC commands.patch | (download)

docs/MUC | 23 22 + 1 - 0 !
1 file changed, 22 insertions(+), 1 deletion(-)

 [patch 05/44] update documentation for muc commands

Documents affiliation, role, ban and kick commands

ailin nemui 0006 Add help pages for MUC commands.patch | (download)

Makefile | 2 1 + 1 - 0 !
help/affiliation | 27 27 + 0 - 0 !
help/role | 26 26 + 0 - 0 !
help/xmppban | 20 20 + 0 - 0 !
help/xmppkick | 19 19 + 0 - 0 !
5 files changed, 93 insertions(+), 1 deletion(-)

 [patch 06/44] add help pages for muc commands

Add help for affiliation, role, ban and kick commands

ailin nemui 0007 Add support for instant muc creation.patch | (download)

src/core/xep/muc-events.c | 22 20 + 2 - 0 !
1 file changed, 20 insertions(+), 2 deletions(-)

 [patch 07/44] add support for instant muc creation

Add missing step for muc creation. Only support for instant room because
reserved room would imply full configuration from user.

ailin nemui 0008 Add support for messages coming directly from room.patch | (download)

src/core/xep/muc-events.c | 37 21 + 16 - 0 !
src/fe-common/fe-xmpp-messages.c | 22 22 + 0 - 0 !
src/fe-common/module-formats.c | 1 1 + 0 - 0 !
src/fe-common/module-formats.h | 1 1 + 0 - 0 !
4 files changed, 45 insertions(+), 16 deletions(-)

 [patch 08/44] add support for messages coming directly from room


ailin nemui 0009 Add support for mode change in MUC.patch | (download)

config.mk | 2 1 + 1 - 0 !
docs/MUC | 9 8 + 1 - 0 !
src/core/xep/muc-commands.c | 25 25 + 0 - 0 !
src/core/xep/muc.c | 56 56 + 0 - 0 !
src/core/xep/muc.h | 1 1 + 0 - 0 !
5 files changed, 91 insertions(+), 2 deletions(-)

 [patch 09/44] add support for mode change in muc


comparison between pointer and zero character constant.patch | (download)

src/core/xep/disco.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---