IPv6 Support is an optional feature, in that when you create an interface, you can disable IPv6 support with a checkbox. This greys out the ipv6 options, which means when the form is submitted on the front-end, it only hands IPv4 information to the back-end. This is a problem, as the database was created with the v6_subnet column set to `NOT NULL`
A more elegant fix would be to have the front-end submit dummy data for the IPv6 subnet, this way existing users would not be required to manually modify their database (as SQLite does not support altering tables to remove the `NOT NULL` property) to either recreate the table and all of its triggers/keys, or (and this is more reasonable) have the backend make a new database and then have the existing user manually import data from their old database.
Unfortunately, I'm unfamiliar with Angular, however if I were a betting man I'd say you could probably insert something into the following spot to override the value submitted despite the field being disabled.
e70ba4bdc2/wg-manager-frontend/src/app/page/dashboard/add-server/add-server.component.ts (L84)
If the builtin authentication fails, checks the username and password
against a LDAP server
Allow to create user without password since we don't store the user
password inside the database.
Every function that has the middleware.authengine
decorator will be used as authentication engine.
The order of the engines is based on the value of sequence,
lower sequences go first