Commit graph

685 commits

Author SHA1 Message Date
b08daf9a88
paginate login history and improve user settings 2026-02-01 09:08:48 -06:00
feed25080c
add HIBP password check 2026-02-01 08:57:01 -06:00
43fe8cd326
Add design document for HIBP password breach checking 2026-01-31 17:16:58 -06:00
2fab08f5f8
forgot password flow 2026-01-31 17:03:22 -06:00
021c86a130
more tests and fixes 2026-01-31 16:00:07 -06:00
dff9c26905
fix TOTP enrollment with recovery codes 2026-01-31 14:54:44 -06:00
c690827ee0 user setting re-auth redirect hopeful fix 2026-01-31 13:32:26 -06:00
4bcac595ad about wording 2026-01-31 13:22:38 -06:00
15ac68fd9c banner dissmiss fix 2026-01-31 13:09:58 -06:00
480789c3e2 banner dissmiss and mikrotik version and license 2026-01-31 13:07:09 -06:00
12a777d13d fix routeros temperature divisor 2026-01-31 12:19:53 -06:00
c4ce7a94ca memory leak fixing 2026-01-31 10:40:19 -06:00
efc6e7a3ab paginate discovered devices 2026-01-31 10:31:37 -06:00
30f6f41c4d remove passkey from ts 2026-01-31 10:25:15 -06:00
3c00dcf37c remove passkeys for now 2026-01-31 09:50:35 -06:00
22ae257b60 refactor 2026-01-31 09:35:07 -06:00
b709ae9fbe fix prod crash with yaml parsing 2026-01-31 08:25:07 -06:00
6ca22c5dd0 enhance user auditing 2026-01-30 17:38:07 -06:00
5256929186 simplify docker compose template 2026-01-30 17:19:55 -06:00
dc29673c29 compress CLAUDE.md 2026-01-30 17:13:34 -06:00
1ace5b06af fix impersonate mfa and some dialyzer issues 2026-01-30 17:04:39 -06:00
cd06f437bb fix my-data page 2026-01-30 16:47:11 -06:00
57e4084a6e fix bug in discovery poller 2026-01-30 16:34:14 -06:00
cc07e485b7 show times on sessions in local time zone 2026-01-30 16:26:20 -06:00
0d4ab7fc14 fix session view 2026-01-30 16:20:04 -06:00
ac66926367 agent overhaul 2026-01-30 16:05:23 -06:00
95d8633ce5 discovery worker timeout 2026-01-30 13:49:04 -06:00
eebeb31456 refactor: move admin dashboards to /admin namespace
- Move Oban Web from /oban to /admin/oban
- Move LiveDashboard from /dashboard to /admin/dashboard
- Both remain protected by :require_superuser plug
- Update documentation to reflect new paths
2026-01-30 13:37:39 -06:00
c22a1c94ea test: add C NIF integration tests for web context
Add lightweight integration tests to verify:
- C NIF module loads properly in web application
- MIB library initializes successfully
- Standard MIB name resolution works
- MibTranslator wrapper functions correctly
- Error handling for invalid MIB names
- SNMP profiles can be loaded (uses MIB translation)

These tests verify the C NIF works end-to-end without checking
full page content, focusing on functional verification only.
2026-01-30 13:29:04 -06:00
3433f631aa fix: correct library linking order in Makefile
Move -lnetsnmp to end of link command (after source files).
In GCC/Clang, library flags must come after the object files that
reference them for proper symbol resolution.

This fixes 'undefined symbol: init_snmp' runtime errors on Linux.
2026-01-30 13:24:25 -06:00
522223c57c fix: define _DEFAULT_SOURCE and _BSD_SOURCE for BSD types
On newer glibc versions, BSD types like u_char are only available
when _DEFAULT_SOURCE or _BSD_SOURCE feature test macros are defined.

Define these macros before including any headers to ensure BSD types
are available for net-snmp headers.
2026-01-30 13:17:17 -06:00
bcba9e67a0 fix: include sys/types.h for BSD type definitions
Add #include <sys/types.h> before net-snmp headers to provide
u_char and other BSD-style type definitions required by net-snmp.

This fixes compilation errors in CI/Docker builds on Linux.
2026-01-30 13:11:24 -06:00
5286d8acba nif ci fix complie in ci 2026-01-30 13:06:39 -06:00
ef8d9199ba fix: add C NIF compilation to k8s Dockerfile
Match the root Dockerfile changes:
- Add libsnmp-dev build dependency
- Add libsnmp40 runtime dependency
- Copy c_src and compile C NIF before Elixir compilation
- Add TERM=dumb for cross-architecture builds
2026-01-30 13:06:18 -06:00
65f0f23c93 fix: compile C NIF explicitly in Docker build
Add explicit 'make' step in Dockerfile to compile the C NIF before
Elixir compilation. This ensures towerops_nif.so exists when the
Elixir code tries to load it.

The custom compiler task creates a bootstrap problem (needs to be
compiled before it can be used as a compiler), so we compile the
C NIF explicitly instead of relying on the compilers list.
2026-01-30 13:04:06 -06:00
25397139c1 nif ci fix complie in ci 2026-01-30 13:01:44 -06:00
b663d484cf nif ci fix complie in ci 2026-01-30 12:47:18 -06:00
de1ad8bc8a nif ci fixes and dialyzer fixes 2026-01-30 12:38:50 -06:00
0214c2a100 complete overhaul of snmp engine to C nif 2026-01-30 12:27:12 -06:00
836749ba6b complete overhaul of snmp engine 2026-01-30 10:41:07 -06:00
2a36917738 mfa enforced on login 2026-01-29 14:31:13 -06:00
55e9397d59 user session tracking 2026-01-29 14:14:21 -06:00
c7ca0dcb27 poller clarification 2026-01-29 13:30:34 -06:00
09e1d81a9a fix superuser api device limits 2026-01-29 13:01:21 -06:00
c0736d4c2e gdpr consent tracking 2026-01-29 11:12:35 -06:00
e76bd1fd91 track more state changes 2026-01-29 10:43:23 -06:00
e0552ac97d add security headers 2026-01-29 10:33:24 -06:00
7ce5dc56d0 oban job timeout/rescue 2026-01-29 10:20:05 -06:00
c95487f55d sensor graphing improvement 2026-01-29 10:14:34 -06:00
8e739283ad refactoring 2026-01-29 10:03:43 -06:00