processone / ejabberd

Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
https://www.process-one.net/en/ejabberd/
Other
6.01k stars 1.5k forks source link

PubSub / PEP Issues #4074

Closed timothyerwin closed 11 months ago

timothyerwin commented 11 months ago

Environment

Configuration (only if needed): grep -Ev '^$|^\s*#' ejabberd.yml

modules:
  mod_adhoc: {}
  mod_admin_extra: {}
  mod_blocking: {}
  mod_bosh: {}
  mod_caps: {}
  mod_carboncopy: {}
  mod_client_state: {}
  mod_configure: {}
  mod_disco: {}
  mod_fail2ban: {}
  mod_http_api: {}
  mod_last: {}
  mod_offline:
    access_max_user_messages: max_user_offline_messages
    store_empty_body: false
  mod_ping: {}
  mod_privacy: {}
  mod_private: {}
  mod_proxy65:
    access: local
    max_connections: 5
  mod_pubsub:
    access_createnode: open
    ignore_pep_from_offline: false
    plugins:
      - flat
      - pep
    force_node_config:
      "eu.siacs.conversations.axolotl.*":
        persist_items: true
        access_model: open
      ## Avoid buggy clients to make their bookmarks public
      storage:bookmarks:
        access_model: whitelist
  mod_push: {}
  mod_push_keepalive: {}
  mod_roster:
    versioning: true
  mod_s2s_dialback: {}
  mod_shared_roster: {}
  mod_stream_mgmt:
    resend_on_timeout: if_offline
  mod_stun_disco: {}
  mod_version:
    show_os: false
...

Errors from error.log/crash.log

No errors

Bug description

I'm trying to get OMEMO working properly using PEP to publish the bundles, but I keep getting "service unavailable"...I'm not sure what I'm doing wrong. I've set up all the proper configuration server side I believe.

Maybe I just don't understand how PEP is supposed to work. I'm calling publish with the full JID in the to and from.

What I want to be able to do is publish the bundle to my PEP and another client to be able to query it with getItems using the full JID.

Here is the XML logs:

<iq xmlns='jabber:client' xml:lang='en' to='32te2h38s2fhif@test.com/14747' from='32te2h38s2fhif@test.com/14747' type='set' id='c42f4a77-df5d-4ecb-8e74-b0d78a3e00b6'><pubsub xmlns='http://jabber.org/protocol/pubsub'><publish node='eu.siacs.conversations.axolotl.bundles:14747'><item><bundle xmlns='eu.siacs.conversations.axolotl'><prekeys><preKeyPublic preKeyId='2'>BQgeB+pS3UG/eDpZ33/eD3A8L+np57jngMEGTGwY8CU3</preKeyPublic><preKeyPublic preKeyId='3'>Be49XrnAha2qVk2ugotUndNJy8KnwdV5cGoQ82IIaTJ5</preKeyPublic><preKeyPublic preKeyId='4'>BayIcaetOSOqQNFNy7u5HW4Vd6c/B2vBdHlkt7X3lW1W</preKeyPublic><preKeyPublic preKeyId='5'>BeFVYWfqKx2HCM4xKKqRfIYyle2C21Yt0ew47sCr+aMv</preKeyPublic><preKeyPublic preKeyId='6'>BVqYTirvNx4aUa/TGroilu6qv7zExBDQNG8bRpIsOq4k</preKeyPublic><preKeyPublic preKeyId='7'>BQmTeksK8lB7fM1OyTUqx6wmllSlGtcYd0Vn4T4N2XVI</preKeyPublic><preKeyPublic preKeyId='8'>BSDzZMWCKfm+MnXo2cRhLfjFE9nLwMaQPsdS8LTMgCwP</preKeyPublic><preKeyPublic preKeyId='9'>BfmvUZVOK14Mvs4I8nGQpdczixW2fwNM55O8uqlR7+Jy</preKeyPublic><preKeyPublic preKeyId='10'>BfBev5N2xuOUrZl6auFTE69I9dxN5b6KJT2nwDvAJWxV</preKeyPublic><preKeyPublic preKeyId='11'>Bd1IuDWP1IohY/tGKtUBGtkeNTlYGfJhRILgxqfacAJg</preKeyPublic><preKeyPublic preKeyId='12'>BZhBbB/ZUny5uq9n4mI4/8TO5CehZth2+EdsAILRKltp</preKeyPublic><preKeyPublic preKeyId='13'>BZikcNL20OrGTS6OUcefKOv11CZNgwP5s1wTcnetFZUi</preKeyPublic><preKeyPublic preKeyId='14'>BS4RGZTvam0WFfwd79UJk6JVTPdr5oCj3hObuIWoqwlx</preKeyPublic><preKeyPublic preKeyId='15'>BVMKFuHa3VSQsyY5al5y6g7/TJkJZxa9cRs0+vQgr7xs</preKeyPublic><preKeyPublic preKeyId='16'>BUkFFC4ibY+cJAxLz999nb50eJWAU1i60skek9ysBZJO</preKeyPublic><preKeyPublic preKeyId='17'>BYDRGLq6whmRmjN10CV7A4+KFfsIsvNb3GLZC5Npk+ME</preKeyPublic><preKeyPublic preKeyId='18'>BVs1XVy63zh7JfjKQsR9kymfvJJiAX+/PrbyPrLxTrov</preKeyPublic><preKeyPublic preKeyId='19'>BRo99wx5p56WhrHrG5AKjdMc6Yof+jLELu4+jkh9ETgp</preKeyPublic><preKeyPublic preKeyId='20'>BXLHZALn7Ax7R5UL3xRwOxgqHyXe5H7blmSGOiX5R2lK</preKeyPublic><preKeyPublic preKeyId='21'>BRIY3OTT8vjxL+3XIDNFZI+cRVYdZPMp7HnR5mOhoJ4Q</preKeyPublic><preKeyPublic preKeyId='22'>BazIxQJXS/OdcXIIshlHkzNAfoKjujmhC8mOKwFg/yVI</preKeyPublic><preKeyPublic preKeyId='23'>BUO67CjM9mvQoOSTBt5WRLsZAZQs1BeDvns2q4NciqJ+</preKeyPublic><preKeyPublic preKeyId='24'>BXKp3NhsfwVOsVNAgYq6fgHnXFuJN8898yZuGcps45le</preKeyPublic><preKeyPublic preKeyId='25'>Bf6W9cVhHjInn7oX8cpR/ACbLLrZs9Sj8mwxsf2ey2I5</preKeyPublic><preKeyPublic preKeyId='26'>BaplYvhRLeUe0oBGcCbWDgf5awMon+czIosZuUQ2twEo</preKeyPublic><preKeyPublic preKeyId='27'>BU1YxiIIN0Eg0kJqXwsnvI3RqnZ0vGiYFdOoHxobuNAk</preKeyPublic><preKeyPublic preKeyId='28'>BYCAsALSnJ1CLvjri2cx555GAT+ZqUAkq8sVTsaO0Wps</preKeyPublic><preKeyPublic preKeyId='29'>BXcdwfk+tmVbneDDQ+5ffvKinlCueS8SYl+rvntAUQ8+</preKeyPublic><preKeyPublic preKeyId='30'>BS6iOs3bOYIF2nho/cnhOuWOXzS9WKz2yutVKUpQT4wx</preKeyPublic><preKeyPublic preKeyId='31'>BdM/0nFfVdY42WPV2wuVsScVsoOw+MbsCukY1mTHgB8x</preKeyPublic><preKeyPublic preKeyId='32'>BWvwM3mv+Wmm752DCY5eBfV7ISwf1KN6GHf5vRL9Kxgy</preKeyPublic><preKeyPublic preKeyId='33'>Bc6b2va76N/g25hkeX3WxM8JWz9KE3zfvOQqVheWoZUD</preKeyPublic><preKeyPublic preKeyId='34'>BZvaDc4mfj9xSKgfQuogdlLjfnQPPUfudzcdIcaG7Ro4</preKeyPublic><preKeyPublic preKeyId='35'>BTIhhuULJslyb8l7mD2UkiH+cEAwmvsnZtzuOcYzeBI/</preKeyPublic><preKeyPublic preKeyId='36'>BexE6CWaKgDyX8qYp8kOmlSiLVJL6qPxWuDKEoTrlxhM</preKeyPublic><preKeyPublic preKeyId='37'>BQ6X0+D6oMwJfl+owpClWxSWIwSk+i92DixMWZh0HX5k</preKeyPublic><preKeyPublic preKeyId='38'>BcZJt5+/DeOO44n/1B6tXB8Wlfp/FQzyu6gB/CaOpxNY</preKeyPublic><preKeyPublic preKeyId='39'>BUtZak2h5Ok3fJLiDE2oSHjl9MfSt85ohcdswsNcayl+</preKeyPublic><preKeyPublic preKeyId='40'>BV4k862pjzl+ae3l6bbUDjU/rWkw3vewg04WNBnXgSZC</preKeyPublic><preKeyPublic preKeyId='41'>BWEpT7AqmPsA+qWPNYYT5Ve7FWAhqHuYboHouBaD290a</preKeyPublic><preKeyPublic preKeyId='42'>BbQKaf2DIRh3GG4XGyHu5zGDZqX5Hg//lxw/0iHlfNJ6</preKeyPublic><preKeyPublic preKeyId='43'>BbK9mGqIf3WxqBGp39Oq3v9PpQ9CQDh/4r3u0/1WXYVJ</preKeyPublic><preKeyPublic preKeyId='44'>BSDwQqTz8t9wikuhyCvRnpQ74uZJE2xTuH1pUjxs++pk</preKeyPublic><preKeyPublic preKeyId='45'>BRRLLwdVmnpZo98pJGoiKD04+tjTiRVAtTDwJxMszUcr</preKeyPublic><preKeyPublic preKeyId='46'>BRu8InBo6jC5kMoAjFil29uuv3xdJ4tBnZCKgBkIdd4p</preKeyPublic><preKeyPublic preKeyId='47'>BY8THUXukGwA7KK9uVLTiRYe95iWNqDXMVUi+jcANepf</preKeyPublic><preKeyPublic preKeyId='48'>BRZyLbGpk5AjjKexSYYtR+kUR0YZSbNSpy2CGaF9e1Yv</preKeyPublic><preKeyPublic preKeyId='49'>BY+6S42vojyqKi+6d3+4aR587AjJNicdSxEbZHhqGcY6</preKeyPublic><preKeyPublic preKeyId='50'>BSnRuqrbRnfpoqOfw7m1jTWPTwgHsZLEE4Zxs2NfDN9Y</preKeyPublic><preKeyPublic preKeyId='51'>BSLB2wJfODDGQouCOcaYRIHN/B80m5c32SUB54H83icJ</preKeyPublic><preKeyPublic preKeyId='52'>BeLNO6xPRiIKDvaJVaybXMzq4/u0nkfNGZTxknRg3PRW</preKeyPublic><preKeyPublic preKeyId='53'>BUPcZll+i6sZfgoM8/Ccb2n5HwuggoHGLlw90ADgewQ6</preKeyPublic><preKeyPublic preKeyId='54'>BaL+yZKbguA1DruJW2SOPZFCz+vQs3uAoHR/i5a8iTEv</preKeyPublic><preKeyPublic preKeyId='55'>Bf0ejbOmJaRLrxpmwkFtXXXg5zsXaA/NaaX1woOeRngc</preKeyPublic><preKeyPublic preKeyId='56'>Ba014n/YapREisd4eb1xtRqV0MBS/iLrXTN1TmgvKr96</preKeyPublic><preKeyPublic preKeyId='57'>BeKTgU9aaEq/xecHzC71n8p4HKNpEgv4YWFUPgumtWQe</preKeyPublic><preKeyPublic preKeyId='58'>Bbv/e6k9n2q0jJJB8JqWJKFdglz2Pf7uTmBAf65fx1E8</preKeyPublic><preKeyPublic preKeyId='59'>BYmcuJw/okSqNioz6jQH4invNXUTz1MhSqS6hihaLXU7</preKeyPublic><preKeyPublic preKeyId='60'>BaojSapboEuNk+mQyzEEtATLax3Ut3qAGMRtDmWzd6E8</preKeyPublic><preKeyPublic preKeyId='61'>BTsX6K4Kv+0+NeMQDDSqW4WJVoV5Cpeoq2C0j8XY0hJU</preKeyPublic><preKeyPublic preKeyId='62'>BZs1MVzY8rEG1zQSqnoIF7JSKslnX0KmZol9rhZa9tkg</preKeyPublic><preKeyPublic preKeyId='63'>Bf/O1tZqTrfY4tR2qCQ5zyTBtfn6xQpvtImTKuFsUG9I</preKeyPublic><preKeyPublic preKeyId='64'>Bdg+NjLxoLQB39neqPMXyvgmnOL8VlpDjFVl54FtQkoe</preKeyPublic><preKeyPublic preKeyId='65'>BbDVcrDq5cb+uFZBrUO1+IGg4kEsEQnAFOo8pFbzqPIA</preKeyPublic><preKeyPublic preKeyId='66'>BYcPHHbm1qscRHlOM/dwF4dMeG7OenkGZFhXv5L8VKM6</preKeyPublic><preKeyPublic preKeyId='67'>BWK1sUfp6DIdcMeVEj77rnxQoKJt5gzakCywQErRe8UB</preKeyPublic><preKeyPublic preKeyId='68'>Be7NYRj7sWbpewBK/ai5IpR08biqB7NOsyXR6iLPe959</preKeyPublic><preKeyPublic preKeyId='69'>BcJjGUEDhAtzynzxFNNk8cYLFqa2PqTKvcid8qlAYyVu</preKeyPublic><preKeyPublic preKeyId='70'>BQvNnhi81xqhPx8qPMzGVh4a8imRfj7Q4fAEWW3o5cNV</preKeyPublic><preKeyPublic preKeyId='71'>BXj0o/c8KSx+UarrTFLvMPhusugUTQ58yUxn8Aw9JigZ</preKeyPublic><preKeyPublic preKeyId='72'>BYAhFrTPgx8fwWldKEKr0nHNmxYJhpdAnwqkbRnEPg1O</preKeyPublic><preKeyPublic preKeyId='73'>BTD1hTKU9LiPWKEvXEAl/Umj5+7Hv/roB7pDpBqoC9l5</preKeyPublic><preKeyPublic preKeyId='74'>BYsE4Aw3gPEhb7/TVY864gHSDumllKW4mRFu70RN6fEh</preKeyPublic><preKeyPublic preKeyId='75'>BfEQUZoQ2/1FGPDV4ZNSzRxVb6YLtIaRnKO2qHGZWjcf</preKeyPublic><preKeyPublic preKeyId='76'>BegHx6SSu2m4gZk6JPre4RG7Xg9Q9llkzRk5G5vn+/wF</preKeyPublic><preKeyPublic preKeyId='77'>BeTBv3SKvopb06cSFDG3AgSszH8zm+ArJLOuL9/HKz9H</preKeyPublic><preKeyPublic preKeyId='78'>BQxSr6Vfhi+Iq9CEnAOqouLb9qCVVeaFcrwxRxjdNIt0</preKeyPublic><preKeyPublic preKeyId='79'>BdNLYpibgtzBeD7ca/XyTqpA2LXhorDzlTCxy26IpoIs</preKeyPublic><preKeyPublic preKeyId='80'>BTHcD4V615FNfg+rdF/bFJKrhfIhZ5OQgdt+lJ6Q3ONs</preKeyPublic><preKeyPublic preKeyId='81'>Bc++zKDl4PlaR6qBP79sTmsip3utEs0fJCdRBRMq4kEy</preKeyPublic><preKeyPublic preKeyId='82'>BaOv30/AzkwGOHEqf+1sieRvOuwtFO5D7/33I2vDN9Fs</preKeyPublic><preKeyPublic preKeyId='83'>BQF2N7kon1oVRxjd2dD085DwgMsQ2vJg6X+MGAR7c7MS</preKeyPublic><preKeyPublic preKeyId='84'>BcrEl1VYakk/EF9imn87L0FpkaB7rT0mY4AZ9K880dJu</preKeyPublic><preKeyPublic preKeyId='85'>BZ1AFAVexVfHVU03qaPO04PM7AFWMzTGZvJIbZxmi258</preKeyPublic><preKeyPublic preKeyId='86'>BYQdBoIldBkrvq+xEIBAn+jo0EPMT4HYGkvCoTuRXhlt</preKeyPublic><preKeyPublic preKeyId='87'>BX1mI7FECV1RiLZsKGhsiKPYQQTjNpabN719SQ2S07or</preKeyPublic><preKeyPublic preKeyId='88'>BT+hATGS2LwG2popw0cMV4VD7SDkp4b79Jz9aGJZWPog</preKeyPublic><preKeyPublic preKeyId='89'>Bf0cvnLlXELBvDTNMlSk36m8tv58Qw1PISDtDFzBZXJz</preKeyPublic><preKeyPublic preKeyId='90'>BR7tsCJZUJHeXOsYGdevbHeQguauI06OAw9L9k1IrusU</preKeyPublic><preKeyPublic preKeyId='91'>BRQJY+Kj+i1vhGBuwj/BBKxU3lrs7KJL6ODPLLAZMNcC</preKeyPublic><preKeyPublic preKeyId='92'>BRcv23VueJGlUiNZu1ik+R7xkUHFd45TnDJIHVvWgigt</preKeyPublic><preKeyPublic preKeyId='93'>Bd9VSnDiC6JmtHeJ//fXSStRJEUu0OeyLvNKMOoYkqMS</preKeyPublic><preKeyPublic preKeyId='94'>BSiWF6QzypA9j8cevazvCIeUkltXtZjGhDrdE16b+tY/</preKeyPublic><preKeyPublic preKeyId='95'>Bbw+0zUReM1W3Lvz1AJEO7pVJiwCO71aVKXtTFxprINU</preKeyPublic><preKeyPublic preKeyId='96'>BT6AyczEyJ5ozCwK8gJ9r1TDqwqhjw7zJToEyVFHyJtl</preKeyPublic><preKeyPublic preKeyId='97'>BVPj4IETU8auPgnGiS/qQFoJlwZPYqKSUfyofPkWk5Jr</preKeyPublic><preKeyPublic preKeyId='98'>BWMr/eUXA7DPFlXbdW49hjummXbi01iQCa1rIFjY/fgi</preKeyPublic><preKeyPublic preKeyId='99'>BYHX2YEyE/Brai7RxvsAN13l3KQCRN6ovumZ3129N3Q1</preKeyPublic><preKeyPublic preKeyId='100'>BW+vrpY5se88AbboLrtIWnBnps0r8EVa7IPYmTOxKZt0</preKeyPublic><preKeyPublic preKeyId='101'>BT/vvR38aN0ZfVTaCBvmMJ5S4JiljyR7fepl6rUlNxxk</preKeyPublic></prekeys><signedPreKeyPublic signedPreKeyId='39115'>BbLmZY8oZ/n80t1Zk9AI+hkfzlsWBaoNqay8dKtoEr9h</signedPreKeyPublic><identityKey>Ba5t27yBOP5aewxYZzdK4XBZzVrJ5R0OhZxIU1r9kr4O</identityKey><signedPreKeySignature>PmyQNKuHRMvH1BhZpWbPVe6flsVobzA57qcWRRxaVMstCXtT+4UYsEm17+fm1UZMQSbLW833GvF19FKCmhcRhA==</signedPreKeySignature></bundle></item></publish></pubsub></iq>
<iq xmlns='jabber:client' xml:lang='en' to='32te2h38s2fhif@test.com/14747' from='32te2h38s2fhif@test.com/14747' type='error' id='c42f4a77-df5d-4ecb-8e74-b0d78a3e00b6'><error type='cancel'><service-unavailable xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/></error></iq>
timothyerwin commented 11 months ago

this may be a problem with the stanza client library I am using.

https://github.com/legastero/stanza/blob/af8d8be2d31c8daf3439567ee1884c6b3f7dce07/lib/client.js#L149

it seems like ejabberd did ack the original iq

xmpp: stanza:acked {
  kind: 'iq',
  stanza: {
    id: 'c42f4a77-df5d-4ecb-8e74-b0d78a3e00b6',
    pubsub: { context: 'user', publish: [Object] },
    to: '32te2h38s2fhif@test.com/14747',
    type: 'set'
  }
}
timothyerwin commented 11 months ago

I'm closing for now because it looks like something else related to a client library and not ejabberd itself.

Neustradamus commented 11 months ago

@timothyerwin: If it is a problem in Stanza, it must be specified or please create a PR to solve it :)