27 Commits
Author SHA1 Message Date
Shreyas Zare c9966d0efc app assembly version updated for release. 2026-09-19 20:01:55 +05:30
Shreyas Zare e8ee6674d3 QueryLogsMySql: Updated table to use BIGINT primary key. 2026-09-19 13:25:07 +05:30
Shreyas Zare ff316ed0d2 app assembly version updated for release. 2026-07-05 17:19:41 +05:30
Shreyas Zare 58af158001 app assembly version updated. 2026-05-03 15:09:11 +05:30
Shreyas Zare 93c5311d08 QueryLogsMySql: Updated cleanup timer code to do batch removal of records to mitigate timeout errors. Unpdated startup init code to simplify error handling. Updated QueryLogsAsync() to fix minor page number issue. 2026-05-03 13:05:41 +05:30
Shreyas Zare fe9e86497a fixed readme formatting issues. 2026-04-26 19:20:09 +05:30
Shreyas Zare db4380bc9a Updated dotnet to v10.0. App assembly version updated for release. 2026-04-25 15:57:13 +05:30
Shreyas Zare d1f2a87678 updated app readme file to include database field values. 2026-04-25 13:01:39 +05:30
Shreyas Zare b6fe70d18f Merge branch 'app-docs-pr' into app-docs 2026-04-18 18:43:44 +05:30
Zafer Balkan 78c94010f9 Added README for Apps (#1704)
* Added sample README

* Initial version of documentation of all default apps

Signed-off-by: Zafer Balkan <[email protected]>

* Updated README files

* Standardization

* Minor fixes

* Pushed README files when building

* Fix default values

* Fixed documentation error

* Config update

* Added GeoDB notes

* Fixed the mistake in IPv6 example

---------

Signed-off-by: Zafer Balkan <[email protected]>
2026-04-18 18:41:41 +05:30
Shreyas Zare 1458e93071 QueryLogsMySql: Updated qtype to unsigned smallint. Code refactoring changes done. 2026-04-18 17:59:26 +05:30
Shreyas Zare 8809a4e7eb Query Logs Apps: fixed page number related bug introduced in PR #1702 that caused the last page navigation feature, which uses "-1" value, to stop working. 2026-04-18 15:35:36 +05:30
Jim Strang 7e375ba52b Refactored DNS log pagination to use LIMIT and OFFSET in QueryLogsMySql (#1317) (#1702)
* Refactor DNS log pagination to use LIMIT and OFFSET

Replaced the previous ROW_NUMBER()-based pagination with a simpler and more efficient approach using SQL LIMIT and OFFSET clauses. This change removes unnecessary subqueries and row number calculations, improving code clarity and query performance for paginated DNS log retrieval.

* Add sequential row numbers to DnsLogEntry results

Replace database ID with a calculated row number in DnsLogEntry objects, assigning sequential numbers based on the current page and sort order. This ensures each entry reflects its position in the paginated result set rather than its database ID.

* Improve pagination and query efficiency in DNS log queries

Refactored QueryLogsAsync to better handle invalid page numbers,
ensuring pageNumber is always within valid bounds. Database queries
are now only executed if there are entries to fetch, preventing
unnecessary queries and improving efficiency. Indented and grouped
parameter setup and result reading logic for clarity and correctness.

* Stricter validation for pageNumber in QueryLogsAsync

Changed pageNumber check to require values >= 1 instead of >= 0,
ensuring that page 0 cannot be used in log queries.

* Refactor log pagination to use SQL OFFSET/LIMIT

Replaced manual row range and ROW_NUMBER() logic with SQL OFFSET/LIMIT (SQLite) and OFFSET/FETCH (SQL Server) for more efficient pagination in QueryLogsAsync. Row numbers are now calculated in code, and queries are only executed if there are entries to fetch. This improves performance, readability, and maintainability.

* Refactor SQL param handling and reader loop logic

Refactored parameter addition to SQL commands to use explicit null checks, improving robustness and readability. Changed `@qclass` type from `ushort` to `short` for SQL Server. Updated `totalEntries` calculation to handle null results safely. Moved variable declarations and null checks inside the database reader loop, and restructured row number logic for clarity. No changes to query functionality.
2026-04-18 15:06:25 +05:30
Shreyas Zare a32702f987 QueryLogsMySql: Updated code to support comments in config. Nullable related changes done. 2026-04-18 13:47:45 +05:30
Shreyas Zare 1a507b6758 QueryLogsMySql: updated code to log TC response correctly. 2026-03-14 18:08:27 +05:30
Shreyas Zare 7d77b850c2 app assembly version updated 2025-12-20 18:44:33 +05:30
Shreyas Zare d365d67937 Upgraded to .NET 9. App assembly version updated for release. 2025-11-08 15:58:42 +05:30
Shreyas Zare 37e27af2de QueryLogsMySql: Updated implementation to use Channel for queuing logs. Updated app to do retries to connect to db on startup. Fixed minor issues and code refactoring changes done. 2025-11-02 15:51:52 +05:30
Shreyas Zare 92cd9aa1c8 QueryLogsMySql: fixed issue with db schema for protocol which by default was unsigned causing issue when writing logs for UdpProxy/TcpProxy protocols. 2025-05-31 16:48:41 +05:30
Shreyas Zare d09fbad6fb app assembly version updated for release. 2025-04-06 16:51:23 +05:30
Shreyas Zare ee7b9fc21f app assembly version updated for release. 2025-02-15 15:52:21 +05:30
Shreyas Zare b5d4c80164 QueryLogsMySql: changed driver to MySqlConnector which supports mariadb too. Fixed minor issues. 2025-02-15 12:34:03 +05:30
Shreyas Zare d2bcadae57 app assembly version updated for release. 2025-02-02 16:46:30 +05:30
Shreyas Zare 63667fc495 QueryLogsMySql: updated app to add server domain to db logs to allow using same db with multiple DNS instances. 2025-02-02 15:58:15 +05:30
Shreyas Zare d5a37a62af app assembly version updated for release. 2025-01-26 20:43:18 +05:30
Shreyas Zare b83dbef692 QueryLogsMySql: updated code to use connection.Open() instead of OpenAsync() since it has a critical bug that will crash the entire DNS server which Oracle wont fix: https://bugs.mysql.com/bug.php?id=110789 2025-01-26 19:03:37 +05:30
Shreyas Zare ed3a6761dd code refactoring changes 2025-01-26 18:10:58 +05:30