Hubzilla node access fail

Posting here, as well as on D* for assistance:

When polling my Hubzilla hub (which worked, once), I receive the following error:

Server software: unknown
Response time: 114ms
ConnectionTester::NodeInfoFailure: JSON::Schema::ValidationError: The
property '#/services' did not contain a required 

When I run a curl on the URL for which I believe D* is looking, I receive the following:

# curl https://hub.wapnitsky.com/.well-known/nodeinfo
{"links":[{"rel":"http:\/\/nodeinfo.diaspora.software\/ns\/schema\/2.0","href":"https:\/\/hub.wapnitsky.com\/nodeinfo\/2.0"},{"rel":"http:\/\/nodeinfo.diaspora.software\/ns\/schema\/1.0","href":"https:\/\/hub.wapnitsky.com\/nodeinfo\/1.0"}]}

A successive curl on the first URL of my hub provides me with the information for which I believe D* is looking:

{
  "version": "2.0",
  "software": {
    "name": "hubzilla",
    "version": "5.4.3"
  },
  "protocols": [
    "zot",
    "diaspora",
    "ostatus"
  ],
  "services": {
    "outbound": [
      "atom1.0",
      "gnusocial",
      "twitter"
    ],
    "inbound": [
      "atom1.0",
      "rss2.0"
    ]
  },
  "openRegistrations": true,
  "usage": {
    "users": {
      "total": 1,
      "activeHalfyear": 1,
      "activeMonth": 1
    },
    "localPosts": 3,
    "localComments": 0
  },
  "metadata": {
    "nodeName": "Hubzilla - Wapnitsky"
  }
}

Have I run into an odd bug? I can run the curl from my D* server to my HZ server with no issues (they’re on the same VLAN).

Thanks in advance

Looks like you disabled nodeinfo support on your hubzilla node now, so I can’t really check this. Below is only rough guesses thus.

Looks like diaspora* is still depending on NodeInfo 1.0, we should update this some time.

However I can easily imagine the bug is on Hubzilla’s side here, returning a NodeInfo 2.0 response on the 1.0 endpoint.

And both give the same info except for version

Ah I see the issue in Hubzilla’s implementation now. They return the right schema version but they don’t obey the required status of services.inbound. So they filter services.inbound for the permissable values according to NodeInfo 1.0 but then when it becomes empty drop the property entirely. Instead they should return an empty list, "inbound": [].

It appears that Friendica has the same issue (spun it up to test this afternoon)

As @jhass wrote, diaspora at the moment only queries 1.0 but a lot of other software only have a valid 2.0 … but it’s also not a big problem because besides the warning here, it doesn’t have any effect about federation if nodeinfo is working or not, so it’s also not really a problem at the moment if 1.0 isn’t valid.

Understood, but communication with both my friendica and hubzilla instances is failing consistently.

All this is lab, hoping to move friends and family slowly to one system or another with lots of testing