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
  • #5860

Closed
Open
Created Dec 16, 2013 by Administrator@rootOwner

HTTP Push fails on public Repos

Created by: dermoth

Hi,

In latest Gitlab (6.3, although I'm confident the issue still exists in master) some versions of Git cannot use HTTP push to public repositories. The problem is that the first git-receive-pack request does not force the client to use authentication as no update is being made. After the first request, Git (as of 1.7.x, people reported it's fixed on 1.8) assumes the next requests won't require auth either and the push fails.

I've written a simple fix in pull request #5760 which forces every git-receive-pack requests to provide a username. This check is made after the permission checks, just before the default allow, so as long as Gitlab doesn't allow unauthenticated push this will patch work.

The merge request is against master but was developed on the 6.3 branch.

Assignee
Assign to
Time tracking