mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Implement port-based blocking
This commit is contained in:
parent
71b68ea0de
commit
a56a7baa9a
4 changed files with 113 additions and 0 deletions
|
@ -143,6 +143,18 @@ pub fn main_fetch(request: Rc<Request>,
|
|||
|
||||
// Step 5
|
||||
// TODO this step (CSP port/content blocking)
|
||||
if let Some(port) = request.url().port() {
|
||||
let is_ftp = request.url().scheme() == "ftp" && (port == 20 || port == 21);
|
||||
static BAD_PORTS: [u16; 64] = [1, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 25, 37, 42,
|
||||
43, 53, 77, 79, 87, 95, 101, 102, 103, 104, 109, 110, 111,
|
||||
113, 115, 117, 119, 123, 135, 139, 143, 179, 389, 465, 512,
|
||||
513, 514, 515, 526, 530, 531, 532, 540, 556, 563, 587, 601,
|
||||
636, 993, 995, 2049, 3659, 4045, 6000, 6665, 6666, 6667,
|
||||
6668, 6669];
|
||||
if !is_ftp && BAD_PORTS.binary_search(&port).is_ok() {
|
||||
response = Some(Response::network_error(NetworkError::Internal("Request attempted on bad port".into())));
|
||||
}
|
||||
}
|
||||
|
||||
// Step 6
|
||||
// TODO this step (referrer policy)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue