From 8538a375a4ddcfad3fabc8d19ca41c148136b63b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 20 Jun 2026 22:11:59 +0900 Subject: feat(php-shim): implement parse_url and filter_var URL/boolean filters Back parse_url/parse_url_all with reqwest::Url and add the FILTER_VALIDATE_URL and FILTER_VALIDATE_BOOLEAN arms to filter_var, so Config::prohibit_url_by_config no longer hits todo!(). reqwest::Url is not a byte-for-byte port of PHP's parser; the divergences are noted with TODO(phase-c). Switch the scheme in_array in prohibit_url_by_config to strict: the needle is a string-or-null and the haystack holds only non-numeric string literals, so loose and strict comparison are provably equivalent here, avoiding a dependency on PHP loose `==` semantics. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe/src/config.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'crates/shirabe/src/config.rs') diff --git a/crates/shirabe/src/config.rs b/crates/shirabe/src/config.rs index 7c6d477..2c39db5 100644 --- a/crates/shirabe/src/config.rs +++ b/crates/shirabe/src/config.rs @@ -1123,7 +1123,7 @@ impl Config { PhpMixed::String("ftp".to_string()), PhpMixed::String("svn".to_string()), ]), - false, + true, ) { if self.get_with_flags("secure-http", 0)?.as_bool() == Some(true) { if scheme.as_deref() == Some("svn") { -- cgit v1.3.1