From 76d0fabcaee4b8a6bdf8c00df45b1813b87e22f2 Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Tue, 1 Feb 2011 14:04:49 -0200 Subject: Adding git backend and init code; fixing decrypt behavior --- lib/backend.rb | 2 ++ lib/backend/git.rb | 32 ++++++++++++++++++++++++++++++++ lib/keyringer/actions/decrypt.rb | 6 +++--- lib/keyringer/actions/init.rb | 5 +++++ 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 lib/backend/git.rb (limited to 'lib') diff --git a/lib/backend.rb b/lib/backend.rb index 953ca8d..6275bcb 100644 --- a/lib/backend.rb +++ b/lib/backend.rb @@ -21,9 +21,11 @@ # gems require 'rubygems' require 'parseconfig' +require 'git' # internal requires $:.unshift File.dirname(__FILE__) +require 'backend/git' require 'backend/crypt' require 'backend/recipients_store' require 'backend/parse_config' diff --git a/lib/backend/git.rb b/lib/backend/git.rb new file mode 100644 index 0000000..177657b --- /dev/null +++ b/lib/backend/git.rb @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby +# +# Keyringer secret management system. +# +# Copyright (C) 2011 Keyringer Development Team. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +module Backend + class Git + def open(path) + begin + @git = ::Git.open(path) + rescue Exception => e + puts "Cannot open #{path}" + false + end + end + end +end diff --git a/lib/keyringer/actions/decrypt.rb b/lib/keyringer/actions/decrypt.rb index f76dcc9..33f01c2 100644 --- a/lib/keyringer/actions/decrypt.rb +++ b/lib/keyringer/actions/decrypt.rb @@ -22,10 +22,10 @@ module Keyringer module Actions class Decrypt def execute - filename = $args[0] + path = Keyring::UserConfig.instance.path + filename = path + '/keys/' + $args[0] + '.asc' crypt = Keyring::Crypt.new - output = crypt.decrypt(filename) - return output + crypt.decrypt(filename) end end end diff --git a/lib/keyringer/actions/init.rb b/lib/keyringer/actions/init.rb index 1aa6de1..d48abbf 100644 --- a/lib/keyringer/actions/init.rb +++ b/lib/keyringer/actions/init.rb @@ -22,6 +22,11 @@ module Keyringer module Actions class Init def initialize + path = Keyring::UserConfig.instance.path + Backend::Git.new + end + + def execute end end end -- cgit v1.2.3