Compare commits

...

4 Commits

Author SHA1 Message Date
a04a1479f8
Merge branch 'feature/mastodon_api' into live
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-18 14:38:00 +04:00
11167e3e43
Merge branch 'master' into feature/mastodon_api 2025-05-18 14:37:47 +04:00
ebbd87368c
Handle l param missing for WKD request
All checks were successful
continuous-integration/drone/push Build is passing
2025-05-18 14:37:22 +04:00
7b0ebb761f
Allow display name to be removed
All checks were successful
continuous-integration/drone/push Build is passing
When form field is empty
2025-05-18 14:26:09 +04:00
3 changed files with 15 additions and 3 deletions

View File

@ -1,9 +1,10 @@
class WebKeyDirectoryController < WellKnownController
before_action :allow_cross_origin_requests
# /.well-known/openpgpkey/hu/:hashed_username(.txt)
# /.well-known/openpgpkey/hu/:hashed_username(.txt)?l=username
def show
@user = User.find_by(cn: params[:l].downcase)
username = params[:l] || ""
@user = User.find_by(cn: username.downcase)
if @user.nil? ||
@user.pgp_pubkey.blank? ||

View File

@ -6,7 +6,11 @@ module LdapManager
end
def call
replace_attribute @dn, :displayName, @display_name
if @display_name.present?
replace_attribute @dn, :displayName, @display_name
else
delete_attribute @dn, :displayName
end
end
end
end

View File

@ -9,6 +9,13 @@ RSpec.describe "OpenPGP Web Key Directory", type: :request do
end
end
describe "omitted 'l' param" do
it "returns a 404 status" do
get "/.well-known/openpgpkey/hu/fmb8gw3n4zdj4xpwaziki4mwcxr1368i"
expect(response).to have_http_status(:not_found)
end
end
describe "non-existent user" do
it "returns a 404 status" do
get "/.well-known/openpgpkey/hu/fmb8gw3n4zdj4xpwaziki4mwcxr1368i?l=aristotle"