Core <-> Web connection over IPv6 not working but does with IPv4

The problem

I am back again. My quassel core instance is setup just fine. I have placed it on an IPv6 Docker network and I can connect to it via the docker-proxy exposed port and it works just fine all via IPv6.

The problem I am running into now is that when I setup the quassel-web container, I too put it on the same IPv6 Docker network of which it should be reachable via. However it is not. It works when you configure the web container to use IPv4 and connect to the core over v4 (given that the core image is setup with v4 as well) but it seems as though quassel core itself perhaps is not bound to IPv6.

Remember I am placing them on the same network so it should work.

Configurations

I have attached my configurations below:

For web:

version: "2.1"

networks:
  quassel-web:
    name: "personalNet"
    external: true

services:
  quassel-web:
    image: lscr.io/linuxserver/quassel-web:latest
    container_name: quassel-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      # - QUASSEL_CORE=2a04:5b81:2010:0001::2
      - QUASSEL_CORE=2a04:5b81:2010:ff02::3
      - QUASSEL_PORT=4242
      # - URL_BASE=/quassel #optional
    volumes:
      - /home/deavmi/vols/quassel/web:/config
    ports:
      - 64443:64080
    restart: unless-stopped
    networks:
      quassel-web:
        ipv6_address: 2a04:5b81:2010:ff02::4

For core:

version: "2.1"

networks:
  quassel-core:
    name: "personalNet"
    external: true

services:
  quassel-core:
    image: lscr.io/linuxserver/quassel-core:latest
    container_name: quassel-core
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      # - RUN_OPTS=--config-from-environment #optional
      # - DB_BACKEND=SQLite
      # - AUTH_AUTHENTICATOR=Database
    volumes:
      - /home/deavmi/vols/quassel/core:/config
    ports:
      - 4242:4242
      - 113:10113 #optional
    restart: unless-stopped
    networks:
      quassel-core:
        ipv6_address: 2a04:5b81:2010:ff02::3

What is in your /app/quassel-web/settings-env.js on the host line?

Here it is:

module.exports = {
    default: {  // Those can be overridden in the browser
        host: '2a04:5b81:2010:ff02::3', // quasselcore host
        port: 4242,  // quasselcore port
        initialBacklogLimit: 20,  // Amount of backlogs to fetch per buffer on connection
        backlogLimit: 100,  // Amount of backlogs to fetch per buffer after first retrieval
        securecore: true,  // Connect to the core using SSL
        theme: 'default',  // Default UI theme
        perchathistory: true,  // Separate history per buffer
        displayfullhostmask: false,  // Display full hostmask instead of just nicks in messages
        emptybufferonswitch: false,  // Trim buffer when switching to another buffer. Can be `false` or a positive integer
        highlightmode: 2  // Highlight mode: 1: None, 2: Current nick, 3: All nicks from identity
    },
    webserver: {
        socket: false,  // Tells the webserver to listen for connections on a local socket. This should be a path. Can be overridden by '--socket' argument
        listen: null,  // Address on which to listen for connection, defaults to listening on all available IPs. Can be overridden by '--listen' argument
        port: 64080, // Port on which to listen for connection, defaults to 64080 for http mode, 64443 for https. Can be overridden by '--port' argument
        mode: 'http', // can be 'http' or 'https', defaults to 'https'. Can be overridden by '--mode' argument
    },
    themes: ['default', 'darksolarized'],  // Available themes
    forcedefault: true, // Will force default host and port to be used if true, and will hide the corresponding fields in the UI.
    prefixpath: ''  // Configure this if you use a reverse proxy
};

Seemingly there is the correct IP and port but it definately isn’t working. The web client just says connecting forever.

Quassel GUI client can connect just fine to 4242 on 2a04:5b81:2010:ff02::3 so the quassel client is defs working.


I will try this with IPv4 again tomorrow, but would be lekker to have v6 working.

Update

This is the error when the quassel-web client tries connecting to quassel-core:

2023-08-30 20:54:09 [Info ] Client connected from 2a04:5b81:2010:ff02::4
2023-08-30 20:54:09 [Warn ] "Socket error 13: Error during SSL handshake: error:0A000076:SSL routines::no suitable signature algorithm"
2023-08-30 20:54:09 [Info ] Non-authed client disconnected: 2a04:5b81:2010:ff02::4

Fellas.

It worked. I feel so dumb, I may have just typed in the wrong password.


I am so sorry for this, it works perfectly!

The problem is not actually networking anymore but the web client seems to now-and-then connect incorrectly to the core and the core spits out this:

2023-08-31 10:23:37 [Info ] Non-authed client disconnected: 2a04:5b81:2010:ff02::4
2023-08-31 10:23:37 [Info ] Client connected from 2a04:5b81:2010:ff02::4
2023-08-31 10:23:37 [Warn ] "Socket error 13: Error during SSL handshake: error:0A000076:SSL routines::no suitable signature algorithm"
2023-08-31 10:23:37 [Info ] Non-authed client disconnected: 2a04:5b81:2010:ff02::4
2023-08-31 10:24:25 [Info ] Client connected from 2a04:5b81:2010:ff02::1
2023-08-31 10:24:25 [Info ] Client 2a04:5b81:2010:ff02::1 initialized and authenticated successfully as "deavmi" (UserId: 1).

That’s what I am struggling with now.

Seems to be same issue that persists with Quassel-web can't connect to quassel-core: SSL error