Conversations: Delivery failed on outgoing messages in version 2.1.2

Created on 21 Apr 2018  路  8Comments  路  Source: iNPUTmice/Conversations

General information

  • Version: 2.1.2
  • Device: Samsung Note 4
  • Android Version: 6.0.1 stock
  • Server name: Self hosted
  • Server software: Prosody-0.10.0_1
  • Installed server modules:listed below
  • Conversations source:PlayStore

Steps to reproduce

After an upgrade to 2.1.2, the android client can receive messages from gajim. However any message sent from conversations results in 'Delivery failed'.

Debug output

Please post the output of adb logcat. The log should begin with the start of Conversations and include all the
steps it takes to reproduce the problem.

````
adb logcat -s conversations

# logcat -s conversations                                  
--------- beginning of system
--------- beginning of main
04-20 23:28:03.424  7135  7135 D conversations: app switched into background
04-20 23:28:04.514  7135  7135 D conversations: app switched into foreground
04-20 23:28:11.264  7135  7135 D conversations: [email protected] sending csi//active
04-20 23:28:11.264  7135  7135 D conversations: attempting to write stanza to finished TagWriter
04-20 23:28:11.284  7135  7135 D conversations: stopped foreground service
04-20 23:28:11.284  7135  3200 D conversations: [email protected]: sending offline presence
04-20 23:28:11.284  7135  3200 D conversations: attempting to write stanza to finished TagWriter
04-20 23:28:11.284  7135  3200 D conversations: [email protected]: disconnecting force=false
04-20 23:28:12.284  7135  3200 D conversations: [email protected]: closing stream
04-20 23:28:12.284  7135  3200 D conversations: [email protected]: io exception during disconnect (Socket is closed)
04-20 23:28:12.314  7135  3201 D conversations: [email protected]: connecting
04-20 23:28:12.454  7135  3201 D conversations: Resolver: [Result{ip='192.168.1.7', hostame='chat.mydomain.com', port=5222, directTls=false, authenticated=false, priority=5}]
04-20 23:28:12.464  7135  3201 D conversations: [email protected]: using values from dns chat.mydomain.com/192.168.1.7:5222 tls: false
04-20 23:28:12.674  7135  3201 D conversations: [email protected]: TLS connection established
04-20 23:28:12.674  7135  3201 D conversations: [email protected]/Conversations.aAQa: Authenticating with SCRAM-SHA-1
04-20 23:28:12.684  7135  3201 D conversations: [email protected]: logged in
04-20 23:28:12.704  7135  3201 D conversations: [email protected]: not counting stanza(IqPacket). Not in smacks session.
04-20 23:28:12.714  7135  3201 D conversations: [email protected]: starting service discovery
04-20 23:28:12.724  7135  3201 D conversations: [email protected]: server caps came from cache
04-20 23:28:12.724  7135  3201 D conversations: [email protected]: stream management(3) enabled (resumable)
04-20 23:28:12.734  7135  3201 D conversations: [email protected]: Requesting block list
04-20 23:28:12.734  7135  3201 D conversations: [email protected]: has pep but is not persistent
04-20 23:28:12.764  7135  3201 D conversations: [email protected]: successfully enabled carbons
04-20 23:28:12.764  7135  3201 D conversations: Received blocklist update from server
04-20 23:28:12.884  7135  3201 D conversations: AxolotlService ([email protected]): Bundle 2104764135 in PEP was current
04-20 23:28:12.884  7135  3201 D conversations: AxolotlService ([email protected]): Announcing device 2104764135
04-20 23:28:12.894  7135  3201 D conversations: [email protected]: online with resource Conversations.aAQa
04-20 23:28:12.894  7135  3201 D conversations: [email protected]: fetching roster version 26
04-20 23:28:12.894  7135  3201 D conversations: [email protected]: has push support
04-20 23:28:12.894  7135  3201 D conversations: [email protected]: running mam query with=*, end=2018-04-21T04:28:12.736Z, order=NORMAL, after=ur2gYvcw9Z8yNArJ, catchup=true
04-20 23:28:12.894  7135  3201 D conversations: [email protected] sending csi//active
04-20 23:28:12.944  7135  3201 D conversations: [email protected]: retrieved own device list: [2104764135, 1909357886]
04-20 23:28:12.954  7135  3201 D conversations: AxolotlService ([email protected]): Received PEP device list [2104764135, 1909357886] update from [email protected], processing... 
04-20 23:28:12.954  7135  3201 D conversations: [email protected]: ignoring duplicate own device id list
04-20 23:28:12.964  7135  3201 D conversations: AxolotlService ([email protected]): Received PEP device list [1238657531] update from [email protected], processing... 
04-20 23:28:12.964  7135  3201 D conversations: reactivating device with fingerprint **longstrings of number**
04-20 23:28:12.974  7135  3201 D conversations: [email protected]: finished mam after 9(0) messages. messages left=true count=41
04-20 23:28:12.974  7135  3201 D conversations: [email protected]: found 0 pending receipt requests
04-20 23:28:16.254  7135  7135 D conversations: ConversationsOverviewFragment.onStart()
04-20 23:28:16.254  7135  7135 D conversations: ConversationsOverviewFragment.onResume()
04-20 23:28:19.924  7135  7135 D conversations: ConversationsOverviewFragment.onPause()
04-20 23:28:19.924  7135  7135 D conversations: ConversationFragment.onAttach()
04-20 23:28:19.944  7135  7135 D conversations: reInit(hasExtras=true)
04-20 23:28:19.944  7135  7135 D conversations: trimming conversation
04-20 23:28:19.964  7135  7135 D conversations: scrolledToBottomAndNoPending=true
04-20 23:28:19.964  7135  7135 D conversations: jump to first unread message
04-20 23:28:24.504  7135  7135 D conversations: AxolotlService ([email protected]): Finding devices without session for [email protected]
04-20 23:28:24.504  7135  7135 D conversations: AxolotlService ([email protected]): Cache miss: 58d607d2-da8e-480b-8c11-82572704071f
04-20 23:28:24.554  7135 21787 D conversations: AxolotlService ([email protected]): Generated message, caching: 58d607d2-da8e-480b-8c11-82572704071f
04-20 23:28:24.554  7135 21787 D conversations: AxolotlService ([email protected]): Cache hit: 58d607d2-da8e-480b-8c11-82572704071f

```````

Prosody modules:
   -- Generally required
            "roster"; -- Allow users to have a roster. Recommended ;)
            "saslauth"; -- Authentication for clients and servers. Recommended if you want to log in.
            "tls"; -- Add support for secure TLS on c2s/s2s connections
            "dialback"; -- s2s dialback support
            "disco"; -- Service discovery

    -- Not essential, but recommended
            "private"; -- Private XML storage (for room bookmarks, etc.)
            "vcard"; -- Allow users to set vCards

    -- These are commented by default as they have a performance impact
            --"privacy"; -- Support privacy lists
            --"compression"; -- Stream compression

    -- Nice to have
            "version"; -- Replies to server version requests
            "uptime"; -- Report how long server has been running
            "time"; -- Let others know the time here on this server
            "ping"; -- Replies to XMPP pings with pongs
            "pep"; -- Enables users to publish their mood, activity, playing music and more
            "register"; -- Allow users to register on this server using a client and change passwords

    -- Admin interfaces
            "admin_adhoc"; -- Allows administration via an XMPP client that supports ad-hoc commands
            --"admin_telnet"; -- Opens telnet console interface on localhost port 5582

    -- HTTP modules
            --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
            --"http_files"; -- Serve static files from a directory over HTTP

    -- Other specific functionality
            "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
            --"groups"; -- Shared roster support
            --"announce"; -- Send announcement to all online users
            --"welcome"; -- Welcome users who register accounts
            --"watchregistrations"; -- Alert admins of registrations
            --"motd"; -- Send a message to users when they log in
            --"legacyauth"; -- Legacy authentication. Only used by some old clients and bots.
    -- Enabled for conversations
            "smacks";
            "carbons";
            "http";  -- upload files to server
            "http_upload";
            "cloud_notify";
            "blocklist";
            "csi";
            "mam";
            "muc_ban_ip";
            "require_otr";
            "csi_battery_saver";

```

Most helpful comment

My guess is that it trips over OMEMO fallback message (This is an OMEMO encrypted message). If you are using prosody I recommend you switch to mod_e2e_policy instead as this is able to properly handle PGP and OMEMO encrypted messages instead of just OTR.

All 8 comments

Is 'require_otr' causing this to fail?

Can confirm this, from 2.1.1 conversations sending unencrypted messages even omemo enabled.
Rolled back to 2.0. So from 2.1.1 conversations unusable on security minded servers like calyxinstitute

@rajil So it did work on 2.1.1 ? On 2.1.0 ? On 2.0 ?

OTR was removed on 2.0.

@canary5 What device? Android version? Server? F-Droid or Google Play store? Logs? Does it do the same of other servers? (The Calyx server misses so many features, do test with one of the top ones with an all green row: https://conversations.im/compliance/ )

It has nothing to do with otr. Its a script blocking unencrypted traffic. It works perfect on 2.0beta3. I have updated to 2.1.1 and it causing problems. Seems same on 2.1.2.

All servers. On my own server with all features+otr_required script. If you click display error message, its otr_required message from that script that blocking. If i allow unencrypted traffic it works.

Seems when you introduced new setting feature about omemo on/off/default causing. Maybe first message unencrypted to test other side omemo?

My guess is that it trips over OMEMO fallback message (This is an OMEMO encrypted message). If you are using prosody I recommend you switch to mod_e2e_policy instead as this is able to properly handle PGP and OMEMO encrypted messages instead of just OTR.

Ok thank you for the hint

@licaon-kter I received an Android update for 2.1.2, not sure whether it was 1.23.8 before that or 2.x releases. Nevertheless after commenting out 'require_otr' it started to work. Also enabled 'e2e_policy' as suggested above. The documentation does not mention mod_e2e_policy at https://github.com/siacs/Conversations#xmpp-features

@rajil Your server, your config, your server software docs...

Was this page helpful?
0 / 5 - 0 ratings