Commit Graph

1297 Commits

Author SHA1 Message Date
80f81aea0f case 4725 - sessions end on password reset and login disabled, exact login route, default SuperUser limited when licensed
A password set by someone else (reset code, administrator) or a disabled
login replaces the user's session token and download key; changing one's
own password keeps the session. PasswordResetCodeExpire is cleared (was
DlKeyExpire). The token middleware exempts only the exact login and
notify/hello routes and refuses inactive users and users who may not log
in. With a purchased licence, notify/hello no longer offers the default
SuperUser login and a SuperUser with the default password may only change
it (SuperUserDefaultPasswordRoutes). F7, F8 and F9 fixed. Manual and
changelog updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 19:54:03 -07:00
4141217c04 case 4724 - SMTP certificate checked, password never returned
Mailer checks the SMTP server's certificate (trust and name; no revocation
check). New config setting AYANOVA_SMTP_ACCEPT_ANY_CERTIFICATE accepts any
certificate (boot warning, shown in server info, manual page).
The notification settings GET returns ******** instead of the SMTP
password; a PUT with ******** or empty keeps the stored password.
F30 and F31 fixed. Changelog and manual updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 19:09:02 -07:00
b1944b7ca3 case 4716 - pick-list search text passed as SQL parameters
PickListSqlBuilder put the search text and the tag search text into the SQL
inside quotes with no escaping, reachable by any login (security review F18);
an apostrophe in a search also made the query fail. The builder now writes
@plq / @pltag and PickListFetcher adds them as Npgsql parameters (same %text%
match; wildcards typed by the user still apply).

Changelog: searching selection lists for text with an apostrophe now works.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:28:43 -07:00
a843bd3132 case 4711 - JWT signing key generated by the server; AYANOVA_JWT_SECRET removed
The LAN/IIS and Linux templates shipped a placeholder secret printed in the
manual, and installs that kept it signed logins with a public key; any setting
also invited short or reused values (security review F1). The setting is now
ignored (one warning at boot if still present): the server generates a key once
(48 random bytes) into jwt-signing.key in the data folder (beside the app if
there is none; owner-only on Linux) and reuses it, so sign-ins also survive a
restart where the server used to make a new key each boot (standalone, Linux
desktop). If the file cannot be used, a temporary key is used for that run.

Templates and dev launch configs drop the setting; manual updated (key page
rewritten, setting steps removed from install pages); changelog line.

Checked locally: token forged with the old placeholder 401; key file created
and reused after restart (old token 200); auth and 2FA tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 12:01:08 -07:00
141bdeb89c case 4710 - 2FA step requires the temp token from the password step
The 2FA step matched the user by temp token alone, and the token was left
empty after a successful 2FA login (null right after turning 2FA on), so an
empty or missing token skipped the password step (security review F5).
Now: an empty or missing temp token is refused before the lookup; the token is
cleared to null after success; after 5 wrong codes the token is cleared, so the
password must be entered again (counted in memory per user).

Changelog: general security notice for self-hosted upgrades, and the one
behaviour change users can see. SECURITY-REVIEW.md: F5 fixed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 11:28:17 -07:00
daf093d51c case 4690 - Windows network install: official PostgreSQL download link (installer and manual); examples for PostgreSQL 18
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 16:06:27 -07:00
7eb672bee5 case 4690 - manual: the one-installation-per-computer note applies to AyaNova 8 only (AyaNova 7 can stay)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 15:41:52 -07:00
67e2a37149 case 4690 - manual: only one type of Windows installation per computer (installers share one AppId by design)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:54:53 -07:00
4a011f65bd case 4690 - manual: fix six broken links (wrong anchors, missing .md) reported by MkDocs
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 11:31:37 -07:00
111d7922a9 case 4690 - manual: .NET 10 runtime install/upgrade steps, Ubuntu 24.04/26.04, backup password note; changelog 8.3.0 draft
Also removes the server-only /var/ayanova chown/chmod lines from the Linux desktop upgrade page.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 10:43:27 -07:00
a34e012eee case 4690 - report browser downloads under the data path, not beside the app; manual updated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 20:25:00 -07:00
76dab8d865 case 4690 - remove MiniProfiler (never used): packages, wiring, profiler auth workaround, credits entry
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 18:49:28 -07:00
c2f2f92236 case 4690 - version bump and confirmation of choices for net10-port 2026-10-22 12:38:37 -07:00
d96942a296 case 4640 2025-11-24 14:19:27 +00:00
ff1ce4d483 prepare for next release 2025-02-18 21:50:30 +00:00
9d7c575dd1 case 4632 2025-02-18 21:08:56 +00:00
406e42df4e 2025-02-14 21:16:13 +00:00
a64dd93589 case 4629 2025-02-10 16:37:43 +00:00
d780a12367 case 4629 2025-02-10 15:59:57 +00:00
fc99d5045c 2025-01-10 18:33:44 +00:00
8fdf5f5da6 fixed missing docs items 2024-12-02 19:07:53 +00:00
89dfb2ccd2 2024-11-25 22:52:18 +00:00
a5b408b2e7 2024-11-25 22:10:00 +00:00
e1b118f10f 2024-11-18 21:50:20 +00:00
b94ec86753 2024-11-15 22:13:33 +00:00
2efbd2e428 prepare for next release 2024-10-24 00:29:57 +00:00
51c39b36f4 case 4615 2024-10-23 23:50:29 +00:00
46dc29e51c 2024-09-25 21:42:26 +00:00
092059eefe Prepare for next release 2024-08-29 00:54:46 +00:00
6809c20993 case 4610 2024-08-29 00:30:21 +00:00
2548ba53d3 case 4610 2024-08-28 23:00:00 +00:00
97574f837e case 4610 2024-08-28 21:15:30 +00:00
cd03c02d85 minor fuckery 2024-06-10 18:18:08 +00:00
d502787c37 prepare for next release 2024-06-03 18:32:08 +00:00
9264a2296b case 4586 2024-06-03 18:31:49 +00:00
dd11358de6 case 4586 2024-05-24 23:58:47 +00:00
8e40ba516b 2024-05-24 23:42:48 +00:00
7060a50ce7 case 4586 2024-05-24 23:26:45 +00:00
373c7eda58 case 4586 2024-05-24 21:42:37 +00:00
ce91c23597 2024-05-24 18:44:12 +00:00
f5c1a52564 2024-05-22 20:52:09 +00:00
52ccc3fe5e 2024-05-22 18:40:30 +00:00
78ed13b24e case 4586 2024-05-22 18:04:16 +00:00
df050b3381 case 4586 2024-05-21 00:18:53 +00:00
fc87f45e11 case 4586 2024-05-21 00:16:42 +00:00
28b81b9844 case 4586 2024-05-20 23:18:31 +00:00
4cc125aae7 case 4597 2024-05-13 23:10:34 +00:00
e553c59d15 case 4586 2024-05-08 23:17:49 +00:00
5c4d5681ba Updated MINOR version number for prep for new release 2024-05-07 19:10:32 +00:00
86001b029d case 4586 CHECKPOINT commit prior to making dependency upgrades to back end including .net8 2024-05-07 19:00:12 +00:00