Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gitlabhq1
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 21
    • Issues 21
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • gpt
  • large_projects
  • gitlabhq1
  • Issues
  • #7205

Closed
Open
Created Jun 26, 2014 by Administrator@rootOwner

New signup username starting with question mark `?` raises an exception and returns status 500.

Created by: cirosantilli

To reproduce: signup with username ?asdf. Currently happening on gitlab.com.

Cause

Username validation https://github.com/gitlabhq/gitlabhq/blob/fb3104dabf5a6e47019a795bef70c6dbf1aea3b2/app/models/user.rb#L122 which resolves to regexp https://github.com/gitlabhq/gitlabhq/blob/fb3104dabf5a6e47019a795bef70c6dbf1aea3b2/lib/gitlab/regex.rb#L52

/\A[.?]?[a-zA-Z0-9_][a-zA-Z0-9_\-\.]*(?<!\.git)\z/

I suppose it was meant to be only \A[.]? at the beginning.

Proposed solution

Currently the same regex is used to validate file path creation from the web UI, and it is was already possible to create file paths that start with question mark: https://gitlab.com/cirosantilli/test0/blob/master/%3Fa.md

However, it is currently not possible to sign up with usernames that start in ? because of the 500, I propose we use separate regexes for them, so we can just start to enforce it.

GitLab.com admins should check to see if anyone has an username starting with ? in case that was possible in a previous version: even if it was this case is so edgy and complicating that we could still consider emailing such users and doing a data destructive migration.

I also propose that more general filenames be allowed at web UI creation: http://feedback.gitlab.com/forums/176466-general/suggestions/6124783-allow-to-create-almost-any-filename-character-or


Noticed at: #7199 (closed)

Assignee
Assign to
Time tracking