From 65a273bc39bd2e278911d0787278e512f4013910 Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:46:04 +0100 Subject: [bugfix] use start + end line in regex when validating emoji via API (#2671) --- internal/regexes/regexes.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'internal/regexes') diff --git a/internal/regexes/regexes.go b/internal/regexes/regexes.go index 25fcfc03a..aca502345 100644 --- a/internal/regexes/regexes.go +++ b/internal/regexes/regexes.go @@ -47,6 +47,7 @@ const ( mentionFinder = `(?:^|\s)(@` + usernameGrp + `+(?:@` + domainGrp + `+)?)` // Extract all mentions from a text, each mention may include domain. emojiShortcode = `\w{2,30}` // Pattern for emoji shortcodes. maximumEmojiShortcodeLength = 30 emojiFinder = `(?:\b)?:(` + emojiShortcode + `):(?:\b)?` // Extract all emoji shortcodes from a text. + emojiValidator = `^` + emojiShortcode + `$` // Validate a single emoji shortcode. usernameStrict = `^[a-z0-9_]{1,64}$` // Pattern for usernames on THIS instance. maximumUsernameLength = 64 usernameRelaxed = `[a-z0-9_\.]{1,}` // Relaxed version of username that can match instance accounts too. misskeyReportNotesFinder = `(?m)(?:^Note: ((?:http|https):\/\/.*)$)` // Extract reported Note URIs from the text of a Misskey report/flag. @@ -95,8 +96,8 @@ var ( // MentionFinder extracts whole mentions from a piece of text. MentionFinder = regexp.MustCompile(mentionFinder) - // EmojiShortcode validates an emoji name. - EmojiShortcode = regexp.MustCompile(emojiShortcode) + // EmojiValidator validates an emoji shortcode. + EmojiValidator = regexp.MustCompile(emojiValidator) // EmojiFinder extracts emoji strings from a piece of text. // See: https://regex101.com/r/478XGM/1 -- cgit v1.2.3