Log missing l param for WKD requests, return 400
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-05-18 14:46:04 +04:00
parent ebbd87368c
commit e66d134550
2 changed files with 11 additions and 4 deletions

View File

@@ -3,8 +3,15 @@ class WebKeyDirectoryController < WellKnownController
# /.well-known/openpgpkey/hu/:hashed_username(.txt)?l=username
def show
username = params[:l] || ""
@user = User.find_by(cn: username.downcase)
if params[:l].blank?
# TODO store hashed username in db if existing implementations trigger
# this a lot
msg = "WKD request with \"l\" param omitted for hu: #{params[:hashed_username]})"
Sentry.capture_message(msg) if Setting.sentry_enabled?
http_status :bad_request and return
end
@user = User.find_by(cn: params[:l].downcase)
if @user.nil? ||
@user.pgp_pubkey.blank? ||