summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-05-31 15:41:22 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-05-31 15:41:22 +0300
commit324fa5cebc9091ee4dfc30b6c1fd9d5c18188522 (patch)
treef97381bdb691bb5b3c806436f4403390bd15191c
parent025f97aa0b9dd76f6ec7681801f7932384a523c6 (diff)
downloadgitlab-shell-324fa5cebc9091ee4dfc30b6c1fd9d5c18188522.tar.gz
Use authorized_keys lock when add new key to file
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
-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