From 442fcce30880d03a5f711311be4563f440acec9d Mon Sep 17 00:00:00 2001 From: devin ivy Date: Mon, 3 Mar 2025 18:48:08 -0500 Subject: [PATCH] PDS: allow admins to update to any valid handle (#3603) on admin.updateAccountHandle, permit any valid handle as break glass measure --- .../pds/src/api/com/atproto/admin/updateAccountHandle.ts | 2 +- packages/pds/src/handle/index.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/pds/src/api/com/atproto/admin/updateAccountHandle.ts b/packages/pds/src/api/com/atproto/admin/updateAccountHandle.ts index 86f8b0ae588..fed059cfb00 100644 --- a/packages/pds/src/api/com/atproto/admin/updateAccountHandle.ts +++ b/packages/pds/src/api/com/atproto/admin/updateAccountHandle.ts @@ -13,7 +13,7 @@ export default function (server: Server, ctx: AppContext) { ctx, handle: input.body.handle, did, - allowReserved: true, + allowAnyValid: true, }) // Pessimistic check to handle spam: also enforced by updateHandle() and the db. diff --git a/packages/pds/src/handle/index.ts b/packages/pds/src/handle/index.ts index 0be31a5f6a3..1534d51cdc7 100644 --- a/packages/pds/src/handle/index.ts +++ b/packages/pds/src/handle/index.ts @@ -8,9 +8,9 @@ export const normalizeAndValidateHandle = async (opts: { ctx: AppContext handle: string did?: string - allowReserved?: boolean + allowAnyValid?: boolean }): Promise => { - const { ctx, did, allowReserved } = opts + const { ctx, did, allowAnyValid } = opts // base formatting validation const handle = baseNormalizeAndValidate(opts.handle) // tld validation @@ -21,7 +21,7 @@ export const normalizeAndValidateHandle = async (opts: { ) } // slur check - if (hasExplicitSlur(handle)) { + if (!allowAnyValid && hasExplicitSlur(handle)) { throw new InvalidRequestError( 'Inappropriate language in handle', 'InvalidHandle', @@ -32,7 +32,7 @@ export const normalizeAndValidateHandle = async (opts: { ensureHandleServiceConstraints( handle, ctx.cfg.identity.serviceHandleDomains, - allowReserved, + allowAnyValid, ) } else { if (opts.did === undefined) {