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