Skip to content
GitLab
项目 群组 主题 代码片段
  • /
  • 帮助
    • 帮助
    • 支持
    • 社区论坛
    • 提交反馈
  • 登录
  • L large
  • 项目信息
    • 项目信息
    • 动态
    • 标记
    • 成员
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者统计
    • 分支图
    • 比较修订版本
  • 议题 21
    • 议题 21
    • 列表
    • 看板
    • 服务台
    • 里程碑
  • 合并请求 12
    • 合并请求 12
  • CI/CD
    • CI/CD
    • 流水线
    • 作业
    • 产物
    • 计划
  • 部署
    • 部署
    • 环境
    • 发布
  • 软件包与镜像库
    • 软件包与镜像库
    • 软件包库
    • 容器镜像库
    • Terraform 模块
    • 模型实验
  • 监控
    • 监控
    • 事件
  • 分析
    • 分析
    • 价值流
    • CI/CD
    • 仓库
  • Wiki
    • Wiki
  • 代码片段
    • 代码片段
  • 动态
  • 分支图
  • 创建新议题
  • 作业
  • 提交
  • 议题看板
收起侧边栏
  • 王权利
  • large
  • 议题
  • #7205

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)

指派人
分配到
工时统计