Skip to content

IqTimeout using http-file-upload from slidge when mod_privilege is enabled #4472

@lgtrombetta

Description

@lgtrombetta

Environment

  • ejabberd version: 25.08
  • OS: Linux (Debian)
  • Installed from: docker image ghcr.io/processone/ejabberd:25.08

Configuration:

The relevant parts are those from https://slidge.im/docs/slidge/main/admin/examples/

hosts:
  - "example.org"
  
listen:
  -
    ip: 127.0.0.1
    port: 5347
    module: ejabberd_service
    global_routes: false
    hosts:
      - "telegram.example.org":
          password: secret
  -
    port: 5443
    module: ejabberd_http
    tls: true
    request_handlers:
      /upload: mod_http_upload

acl:
  slidge_acl:
    server:
      - "telegram.example.org"

access_rules:
  slidge_rule:
    - allow: slidge_acl
    
modules:
  mod_http_upload:
    docroot: /ejabberd/upload
    put_url: "https://@HOST@:5443/upload"
    access:
      - allow: local
      - allow: slidge_acl
  mod_privilege:
    roster:
      both: slidge_rule
    message:
      outgoing: slidge_rule
    iq:
      "http://jabber.org/protocol/pubsub":
        both: slidge_rule
      "http://jabber.org/protocol/pubsub#owner":
        set: slidge_rule
  mod_roster:
    versioning: true

Bug description

Issues when setting up slidge to use the http-file-upload service provided by ejabberd for sending attachments between XMPP and a legacy network (e.g. telegram).

  • When the mod_privilege is disabled in ejabberd, sending files works both ways.

  • When mod_privilege is enabled in ejabberd the file transfer works from the XMPP client to the legacy network, but fails in the opposite direction with the following message in ejabberd's logs:

[info] <0.1031.0>@mod_privilege:component_send_packet/1:298 IQ not forwarded: Component seems disconnected

From the point of view of slidge an IqTimeout error is reported.

Since mod_privilege is recommended by slidge to provide other features, it would be preferrable to keep it enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions