Commit b698094d4dcd1558bfcc1611d3572297dd11ae1e
1 parent
ed3f4408
Exists in
master
and in
4 other branches
Update post-receive worker to use correct identifier
Showing
2 changed files
with
12 additions
and
11 deletions
Show diff stats
app/workers/post_receive.rb
@@ -21,14 +21,18 @@ class PostReceive | @@ -21,14 +21,18 @@ class PostReceive | ||
21 | return false | 21 | return false |
22 | end | 22 | end |
23 | 23 | ||
24 | - # Ignore push from non-gitlab users | ||
25 | - user = if identifier.nil? | ||
26 | - raise identifier.inspect | 24 | + user = if identifier.blank? |
25 | + # Local push from gitlab | ||
27 | email = project.repository.commit(newrev).author.email rescue nil | 26 | email = project.repository.commit(newrev).author.email rescue nil |
28 | User.find_by_email(email) if email | 27 | User.find_by_email(email) if email |
29 | - elsif /^[A-Z0-9._%a-z\-]+@(?:[A-Z0-9a-z\-]+\.)+[A-Za-z]{2,4}$/.match(identifier) | ||
30 | - User.find_by_email(identifier) | ||
31 | - elsif identifier =~ /key/ | 28 | + |
29 | + elsif identifier =~ /\Auser-\d+\Z/ | ||
30 | + # git push over http | ||
31 | + user_id = identifier.gsub("user-", "") | ||
32 | + User.find_by_id(user_id) | ||
33 | + | ||
34 | + elsif identifier =~ /\Akey-\d+\Z/ | ||
35 | + # git push over ssh | ||
32 | key_id = identifier.gsub("key-", "") | 36 | key_id = identifier.gsub("key-", "") |
33 | Key.find_by_id(key_id).try(:user) | 37 | Key.find_by_id(key_id).try(:user) |
34 | end | 38 | end |
lib/gitlab/backend/grack_auth.rb
@@ -7,9 +7,6 @@ module Grack | @@ -7,9 +7,6 @@ module Grack | ||
7 | @request = Rack::Request.new(env) | 7 | @request = Rack::Request.new(env) |
8 | @auth = Request.new(env) | 8 | @auth = Request.new(env) |
9 | 9 | ||
10 | - # Pass Gitolite update hook | ||
11 | - ENV['GL_BYPASS_UPDATE_HOOK'] = "true" | ||
12 | - | ||
13 | # Need this patch due to the rails mount | 10 | # Need this patch due to the rails mount |
14 | @env['PATH_INFO'] = @request.path | 11 | @env['PATH_INFO'] = @request.path |
15 | @env['SCRIPT_NAME'] = "" | 12 | @env['SCRIPT_NAME'] = "" |
@@ -35,8 +32,8 @@ module Grack | @@ -35,8 +32,8 @@ module Grack | ||
35 | self.user = User.find_by_email(login) || User.find_by_username(login) | 32 | self.user = User.find_by_email(login) || User.find_by_username(login) |
36 | return false unless user.try(:valid_password?, password) | 33 | return false unless user.try(:valid_password?, password) |
37 | 34 | ||
38 | - # Set GL_USER env variable | ||
39 | - ENV['GL_USER'] = user.email | 35 | + # Set GL_ID env variable |
36 | + ENV['GL_ID'] = "user-#{user.id}" | ||
40 | end | 37 | end |
41 | 38 | ||
42 | # Git upload and receive | 39 | # Git upload and receive |