From 876f4738c496b996828038221d1dacd626f2b989 Mon Sep 17 00:00:00 2001 From: sshiv012 <122703005+sshiv012@users.noreply.github.com> Date: Mon, 10 Aug 2026 23:36:52 -0700 Subject: [PATCH] seed 79e6fb --- .../huggingFace/codegen/HuggingFaceCodegenBase.scala | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/huggingFace/codegen/HuggingFaceCodegenBase.scala b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/huggingFace/codegen/HuggingFaceCodegenBase.scala index e37d4f30e4d..3122fe25298 100644 --- a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/huggingFace/codegen/HuggingFaceCodegenBase.scala +++ b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/huggingFace/codegen/HuggingFaceCodegenBase.scala @@ -72,11 +72,10 @@ object HuggingFaceCodegenBase { | |# Defensive format check for MODEL_ID before it is interpolated into |# HF URL paths. The base host is hardcoded so the worst case isn't - |# SSRF, but rejecting `..` traversal / query strings / fragments / - |# control chars keeps the operator's request shape predictable. The - |# leading (?!.*\.\.) rejects any `..`; the trailing /segment group is - |# optional so single-segment legacy IDs like `gpt2` are also accepted. - |_HF_MODEL_ID_PATTERN = re.compile(r"^(?!.*\.\.)[A-Za-z0-9][A-Za-z0-9._-]*(/[A-Za-z0-9._-]+)*$$") + |# SSRF, but rejecting query strings / fragments / control chars keeps + |# the operator's request shape predictable. The trailing /segment group + |# is optional so single-segment legacy IDs like `gpt2` are accepted. + |_HF_MODEL_ID_PATTERN = re.compile(r"^[A-Za-z0-9][A-Za-z0-9._-]*(/[A-Za-z0-9._-]+)*$$") | |class ProcessTableOperator(UDFTableOperator): |