Commit Graph

170 Commits

Author SHA1 Message Date
Ilia Ross
1555224592 Fix to refactor download address checks to use callback bundles
ⓘ Extend HTTP and FTP download callbacks with destination validation while preserving legacy tracking callbacks and enforcing SSRF policy across redirects, proxies, caches, and direct/passive sockets.

https://github.com/webmin/webmin/pull/2789#discussion_r3567985773
2026-07-13 13:36:34 +02:00
Ilia Ross
1ca52c9a97 Add ACL controls for URL download destinations
Block non-public HTTP, HTTPS and FTP destinations by default in File Manager, Mailboxes and Upload and Download, with per-user IP/CIDR exceptions, redirect and proxy protection, cache isolation, and current-ACL enforcement for scheduled jobs.
2026-07-12 14:57:08 +02:00
Ilia Ross
2fb4eb1721 Fix linked-server uploads over partial TLS writes
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
ⓘ Stream linked-server request bodies in bounded chunks, retry partial SSL writes with byte-safe offsets, detect incomplete forwarding, and add regression coverage.

https://github.com/webmin/webmin/issues/2784
2026-07-10 14:48:47 +02:00
Ilia Ross
a13461f9c1 Fix to respect global file ACLs for server-local imports
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
ⓘ Centralize global file ACL checks for server-local reads and applies them to batch, LDAP batch, MySQL, and PostgreSQL local import and restore flows. Files are read under the configured `fileunix` identity and staged with the correct command-user ownership, preventing constrained Webmin users from bypassing `root`, `otherdirs`, or `fileunix`.

9ceffce70f (r191495975)
2026-07-07 12:39:35 +02:00
Ilia Ross
45ca170c20 Add support to proxy linked-server WebSockets
This PR adds general WebSocket proxying for linked Webmin servers, allowing modules such as `xterm` to work when opened through `servers/link.cgi`.

As requested in https://github.com/webmin/webmin/issues/1866.
2026-06-22 16:19:33 +02:00
Ilia Ross
b53ca5b618 Add API helper for dependent form field state
Some checks failed
Tests / prove (push) Has been cancelled
Package and upload artifacts / build (push) Has been cancelled
Close inactive / close-inactive (push) Has been cancelled
ⓘ API is ui_form_field_state_javascript
2026-06-20 03:29:29 +02:00
Ilia Ross
ccd2b13942 Fix to enforce private basename for Webmin temp dirs
ⓘ Adds hidden `tempdirname` support and normalizes custom temp paths so Webmin always uses a private final directory like `.webmin`, while keeping the existing permission checks.
2026-06-18 20:48:47 +02:00
Ilia Ross
a113309310 Add form grouped buttons API for responsive button
Some checks failed
Tests / prove (push) Has been cancelled
Build / build (push) Has been cancelled
2026-06-02 13:34:31 +02:00
Ilia Ross
6ed05b5e25 Add UI API to make div element 2026-05-20 13:54:23 +02:00
Jamie Cameron
af175ce12c Drop ancient support for RBAC-controller Webmin ACLs 2026-05-16 09:49:36 -07:00
Jamie Cameron
1a86501e88 Delete code and languages related to email feedback feature that is no longer linked to, or useful
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-05-15 16:51:34 -07:00
Ilia Ross
b53cce9084 Add logging option to execute command sub
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
299b10a0e8 (r184647207)
2026-05-08 12:31:16 +02:00
Ilia Ross
da18a16c84 Fix to require 2FA for RPC basic auth
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
+ improve remote auth errors
2026-04-15 22:36:40 +02:00
Ilia Ross
ac8cbf57f9 Fix to handle HTTPS update sources with outbound SSL fallback 2026-04-10 18:56:41 +02:00
Ilia Ross
5cf228d4a0 Add side by side UI form buttons API
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
https://github.com/webmin/webmin/issues/2659

[no-build]
2026-04-09 19:33:37 +02:00
Ilia Ross
b8481cc1e5 Add check for non public IP API 2026-03-10 13:49:03 +02:00
Ilia Ross
c0900ffaf8 Add quote literal escape API 2026-03-10 13:38:13 +02:00
Ilia Ross
c89dc4996f Fix to de-hardcode default temp directory path
Some checks failed
webmin.dev: webmin/webmin / build (push) Has been cancelled
2026-02-20 15:16:01 +02:00
Ilia Ross
202a1b0b78 Add API to pick a writable system-wide temp directory 2026-01-24 00:34:06 +02:00
Ilia Ross
6191a222ae Revert "Fix to make sure the mail URL uses a well-known host name"
This reverts commit e88a77d32a.
2025-09-23 02:22:17 +03:00
Ilia Ross
e88a77d32a Fix to make sure the mail URL uses a well-known host name 2025-09-21 21:47:12 +03:00
Ilia Ross
3be8a327ad Add API to display relative dates 2025-08-29 15:13:27 +03:00
Ilia Ross
69681c01d4 Add reversible encryption helpers API 2025-07-25 14:24:43 +03:00
Ilia Ross
7c05368e8f Add UI API to mask sensitive text unless specifically hovered 2025-06-18 16:53:55 +03:00
Ilia Ross
b0c89fe440 Fix to rename to get_webmin_base_url and add clearer comment about the sub 2025-06-03 02:01:07 +03:00
Ilia Ross
c1545a5a5e Fix to factor out code for getting Webmin login link 2025-06-03 01:47:11 +03:00
Ilia Ross
8e81bd0f93 Add all new UI functions from the theme to the core
[no-build]
2025-05-27 01:46:31 +03:00
Ilia Ross
5395dc57fe Add API to control line-break height 2025-05-14 01:36:02 +03:00
Ilia Ross
cc83641c11 Add ability for themes to handle each "forgot_*" page 2025-04-25 20:01:30 +03:00
Ilia Ross
e55f3bdb74 Add ability for the theme to construct own forgot link 2025-04-25 00:49:39 +03:00
Ilia Ross
fd153b28f3 Add improvements to the UI 2025-04-22 15:26:41 +03:00
Ilia Ross
87e006ceeb Add new API to verify session id 2024-06-26 14:39:23 +03:00
Ilia Ross
1ae01bed8d Fix to support theme styling for embedded calendar 2024-06-10 16:34:29 +03:00
Ilia Ross
71e37adfed Add ability to clean all modules with websockets=1 on the .info 2024-06-04 19:55:25 +03:00
Ilia Ross
af912d9539 Add API to get WebSocket URL 2024-06-04 19:07:34 +03:00
Ilia Ross
55b5939194 Move websocket functions to be always available 2024-06-04 15:48:06 +03:00
Jamie Cameron
5c465a587c Add function to clear the Webmin cache for a URL 2024-05-23 15:17:27 -07:00
Ilia Ross
8edffc8f30 Add new ui_radio_row API 2024-01-06 16:50:40 +02:00
Jamie Cameron
895217865b Initial support for tracking locks 2023-10-11 22:46:01 -07:00
Ilia Ross
cbdc843500 Add theme switcher using hotkeys 2023-09-29 03:24:14 +03:00
iliajie
8ef754b477 Add error_stderr API 2023-07-26 22:38:28 +03:00
iliajie
bedb091e56 Add ui_element_inline API and use it on the button in **Net** module 2023-07-15 14:51:54 +03:00
iliajie
cc05c62609 Fix sub name and add missing class name 2023-07-10 05:48:24 +03:00
iliajie
643ace4777 Add new API: ui_space, ui_newline, ui_text
Nothing can be thrown to the browser without being used with UI lib!
2023-07-09 23:07:59 +03:00
iliajie
b49d4f8147 Fix to copy file permissions too 2023-07-01 22:19:30 +03:00
iliajie
ec21297448 Add API to unescape HTML entities 2023-06-01 23:00:52 +03:00
iliajie
a4f7cb1f8c Add API to check if given URL redirects somewhere 2023-05-17 16:59:00 +03:00
iliajie
9eb2624deb Add ability to pass browser's client height to the server 2023-05-12 12:02:58 +03:00
iliajie
6310521982 Add support for listing jail blocks with pagination 2/2 2023-05-08 23:56:04 +03:00
iliajie
e260a96d93 Add API to use theme dependent code for page refresh 2023-05-06 12:54:13 +03:00