summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--lib/gitlab_keys.rb8
2 files changed, 6 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 07f6c1b..7a93900 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,6 @@
v1.9.5
- Put authorized_keys.lock in the same directory as authorized_keys
+ - Use lock file when add new entries to authorized_keys
v1.9.4
- Use lock file when modify authorized_keys
diff --git a/lib/gitlab_keys.rb b/lib/gitlab_keys.rb
index faa0716..52a982b 100644
--- a/lib/gitlab_keys.rb
+++ b/lib/gitlab_keys.rb
@@ -29,9 +29,11 @@ class GitlabKeys
protected
def add_key
- $logger.info "Adding key #{@key_id} => #{@key.inspect}"
- auth_line = key_line(@key_id, @key)
- open(auth_file, 'a') { |file| file.puts(auth_line) }
+ lock do
+ $logger.info "Adding key #{@key_id} => #{@key.inspect}"
+ auth_line = key_line(@key_id, @key)
+ open(auth_file, 'a') { |file| file.puts(auth_line) }
+ end
true
end