This is an automated email from the ASF dual-hosted git repository.

sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/whimsy.git


The following commit(s) were added to refs/heads/master by this push:
     new 250e6d5d Stricter filename stem checking
250e6d5d is described below

commit 250e6d5dd9c02c8a0b84e3e6cc4ece1a4d728197
Author: Sebb <[email protected]>
AuthorDate: Thu Jan 12 00:38:08 2023 +0000

    Stricter filename stem checking
---
 .../workbench/views/actions/emeritus-request.json.rb          | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/www/secretary/workbench/views/actions/emeritus-request.json.rb 
b/www/secretary/workbench/views/actions/emeritus-request.json.rb
index 9e58a4ac..d727a5e6 100644
--- a/www/secretary/workbench/views/actions/emeritus-request.json.rb
+++ b/www/secretary/workbench/views/actions/emeritus-request.json.rb
@@ -13,15 +13,14 @@ fileext = File.extname(@selected).downcase if 
@signature.empty?
 
 # verify that a membership emeritus request under that name stem doesn't 
already exist
 emeritus_request = "#{@filename}#{fileext}"
-if emeritus_request =~ /\A\w[-\w]*\.?\w*\z/ # check taint requirements
+if @filename =~ /\A[a-z][-a-z0-9]+\z/ # check name is valid as availid
   names = ASF::EmeritusRequestFiles.listnames
-  if names.include? @filename
-    _warn "documents/emeritus-requests-received/#{@filename} already exists"
-  elsif names.include? emeritus_request
-    _warn "documents/emeritus-requests-received/#{emeritus_request} already 
exists"
+  match = names.find {|n| @filename == File.basename(n, '.*')}
+  if match
+    _warn "documents/emeritus-requests-received/#{match} already exists"
   end
 else
-  _warn "#{emeritus_request} is not a valid file name"
+  _warn "#{emeritus_request} is not a valid file name (must be valid as an 
availid)"
 end
 
 # obtain per-user information

Reply via email to