reedb 0.10.rc1 → 0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 11820940b0e80cda5ea4e0ab59fb2dd4b5a06189
4
- data.tar.gz: f6ed0c7e514bfebb4b25750e7583dbb2fdc2c0c9
3
+ metadata.gz: 7c1963fd6fa73990571af644539840c3be811404
4
+ data.tar.gz: 3683b3a01c65b2f5afeccd4b3439700281ea1ad0
5
5
  SHA512:
6
- metadata.gz: 1c960ebf6cf718de201067246c8eb13fecd43c40f23482d2e6d594ae5229ed42ec2fc2f3642ef4c26f89d8d26401d570d31bbc1388fc8138395f0b4c044a7d7f
7
- data.tar.gz: 2f0ecd887ad56e8bc3a04c84b2a8e5bf97ba37d4cb69980a573e19d5c33c595867a58c3146a1d61b81fd61f624a208cb851956ad08d3072bbb3cb6cee8628f31
6
+ metadata.gz: 27ce1d42d5be4b0c9f5dece31791e0ba75a29419a20cb44d6255529c775c42614ebab2482e45b046dd1d50db641baec127e0e161a6d5d8660c63fc25298f6500
7
+ data.tar.gz: c93e234433ec38740f6f45c5d0519331bb9b6d238ea3bbee1dcafc25e0b09fa1884d5c69afedc19092d38a6a1cc9215cf4b20d0ff9c9b39ff71afc7e49dde9c4
data/Gemfile CHANGED
@@ -1,15 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in reedb.gemspec
4
- gemspec
5
-
6
- # Security!
7
- gem 'aes', '>=0.5.0'
8
- gem 'twofish', '>=1.0.5'
9
- gem 'digest-tiger', '~> 1.0.2'
10
-
11
- # Other stuff that's important
12
- gem 'json', '~> 1.8.2'
13
- gem 'daemons', '~> 1.2.2'
14
- gem 'sinatra', '~> 1.4.6'
15
- gem 'hashids', '~> 1.0.2'
4
+ gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- reedb (0.9.9.pre.RC1)
4
+ reedb (0.10.8)
5
+ aes (~> 0.5)
6
+ daemons (~> 1.2)
7
+ digest-tiger (~> 1.0)
8
+ json (~> 1.8)
9
+ sinatra (~> 1.4)
10
+ twofish (~> 1.0)
11
+ uuid (~> 2.3)
5
12
 
6
13
  GEM
7
14
  remote: https://rubygems.org/
@@ -9,9 +16,10 @@ GEM
9
16
  aes (0.5.0)
10
17
  daemons (1.2.2)
11
18
  digest-tiger (1.0.2)
12
- hashids (1.0.2)
13
- json (1.8.2)
14
- rack (1.6.1)
19
+ json (1.8.3)
20
+ macaddr (1.7.1)
21
+ systemu (~> 2.6.2)
22
+ rack (1.6.4)
15
23
  rack-protection (1.5.3)
16
24
  rack
17
25
  rake (10.4.2)
@@ -19,20 +27,18 @@ GEM
19
27
  rack (~> 1.4)
20
28
  rack-protection (~> 1.4)
21
29
  tilt (>= 1.3, < 3)
30
+ systemu (2.6.5)
22
31
  tilt (2.0.1)
23
32
  twofish (1.0.5)
33
+ uuid (2.3.8)
34
+ macaddr (~> 1.0)
35
+ yard (0.8.7.6)
24
36
 
25
37
  PLATFORMS
26
38
  ruby
27
39
 
28
40
  DEPENDENCIES
29
- aes (>= 0.5.0)
30
41
  bundler (~> 1.7)
31
- daemons (~> 1.2.2)
32
- digest-tiger (~> 1.0.2)
33
- hashids (~> 1.0.2)
34
- json (~> 1.8.2)
35
42
  rake (~> 10.0)
36
43
  reedb!
37
- sinatra (~> 1.4.6)
38
- twofish (>= 1.0.5)
44
+ yard (~> 0.8)
data/bin/reedbd CHANGED
@@ -9,54 +9,96 @@
9
9
  # https://www.gnu.org/licenses/lgpl.html)
10
10
  # ====================================================
11
11
 
12
+ # Checks the ruby version for ruby 2.1! This is the only supported version so far and if you run as something else
13
+ # then guess what: I ain't gonna care when it breaks, bitch! :)
14
+ # (Okay, that was unneccesarily ghetto. Sorry.)
15
+ #
16
+ rv = RUBY_VERSION
17
+ unless rv[0..-3] == '2.1'
18
+ puts 'You are running Reedb with an unsupported Ruby version! Officially only 2.1.* is supported!'
19
+ puts 'Do you want to take the risk and run Reedb anyways? [y/N] '
20
+ a = gets.chomp.to_s.upcase
21
+ if a == 'N' || a == ''
22
+ exit(0x8)
23
+ else
24
+ puts "Don't complain..."
25
+ sleep(0.25)
26
+ puts ''
27
+ end
28
+ end
12
29
 
13
- # Very simple wrapper script to start the Reedb daemon.
14
- require 'reedb/constants'
30
+ # Only loads the constants section to read the version.
31
+ spec = nil
32
+ begin
33
+ spec = Gem::Specification.find_by_name('reedb')
34
+ require 'reedb/constants'
35
+ rescue Gem::LoadError => e
36
+ begin
37
+ require_relative '../lib/reedb/constants'
38
+ rescue
39
+ puts 'Error: reedb not installed!'
40
+ exit(0x21)
41
+ end
42
+ end
15
43
 
16
- NAME = 'reedbd'
44
+ W_NAME = 'reedbd'
45
+ C_NAME = 'reedb'
17
46
 
18
- if File.basename(__FILE__) == NAME
47
+ # Very simple wrapper script to start the Reedb daemon.
48
+ if File.basename(__FILE__) == W_NAME
19
49
  if ARGV.include? '--version'
20
50
  puts Reedb::VERSION
21
- exit
51
+ exit(0)
22
52
  end
23
53
 
24
54
  if ARGV == []
25
- puts "[ERROR]: Invalid application arguments!"
26
- puts "Usage: reedb [daemon options] -- [reedb options]
55
+ puts '[ERROR]: Invalid application arguments!'
56
+ puts "Usage: reedb (daemon options) [-- reedb options]
27
57
 
28
58
  Available [reedb options]:
29
59
  -l, --pw-length INTEGER Define minimal passphrase length (Default: 12)
30
- -p, --port INTEGER Change the listener port. May break your setup!
31
- -a, --app-path STRING Change the path for the reedb config files/ logs. (default in ~)
60
+ -p, --port INTEGER Change the listener port. May break your setup! (default: #{Reedb::NET_PORT})
61
+ -a, --app-path STRING Change the path for the reedb config files/ logs. (default: ~)
32
62
  -v, --verbose Enable verbose logging about the Reedb daemon.
33
63
  -d, --no-daemon Don't run Reedb as a background daemon. Log to STOUT instead of log file.
64
+ -f, --force Force Reedb to start a new instance in case an old one was locked. (Dangerous!)
34
65
 
35
66
  Available [daemon options]:
36
- start Start an instance of the #{NAME} daemon
37
- stop Stop all instances of the #{NAME} daemon
38
- restart Stop all and restart a new instance of #{NAME} afterwards
39
- status Show status (PID) of #{NAME} daemon instance
67
+ start Start an instance of the #{C_NAME} daemon
68
+ stop Stop all instances of the #{C_NAME} daemon
69
+ restart Stop all and restart a new instance of #{C_NAME} afterwards
70
+ status Show status (PID) of #{C_NAME} daemon instance
40
71
 
41
72
  Common options:
42
- --version Show #{NAME} version"
73
+ --version Show #{C_NAME} version"
43
74
 
44
75
  # Then exits the application
45
76
  exit
46
77
  end
47
78
 
48
79
  options = {
49
- :app_name => "reedb",
50
- :backtrace => true,
51
- # :monitor => true,
52
- # :ontop => true
80
+ :app_name => 'reedb',
81
+ :backtrace => true
53
82
  }
54
83
 
55
- spec = Gem::Specification.find_by_name("reedb")
56
- (puts "Error: reedb not installed!" ; exit) unless spec
57
- path = (spec.gem_dir) + "/lib/reedb"
84
+ if spec
85
+ g_path = (spec.gem_dir) + '/lib/reedb'
86
+ require 'reedb'
87
+
88
+ # puts "Reedb isn't properly installed on your system!
89
+ # Please make sure Gems can load it before trying to run this daemon again!
90
+ # Exit code: #{0x9}"
91
+ #
92
+ # exit(0x9)
93
+ else
94
+ g_path = '../lib/reedb/'
95
+ require_relative '../lib/reedb'
96
+ end
58
97
 
98
+
99
+ # NOW load the required modules to run.
59
100
  require 'daemons'
60
- require 'reedb'
61
- Daemons.run(File.join(path, 'daemon_wrapper.rb'), options)
101
+
102
+ # Then actually start the wrapper.
103
+ Daemons.run(File.join(g_path, 'daemon_wrapper.rb'), options)
62
104
  end
@@ -1,6 +1,6 @@
1
1
  # ====================================================
2
2
  # Copyright 2015 Lonely Robot (see @author)
3
- # @author: Katharina Sabel | www.2rsoftworks.de
3
+ # @author: Katharina Sabel | www.lonelyrobot.io
4
4
  #
5
5
  # Distributed under the GNU Lesser GPL Version 3
6
6
  # (See accompanying LICENSE file or get a copy at
@@ -13,30 +13,18 @@ module Reedb
13
13
  # The version of reedb. This is actually written into vaults to identify
14
14
  # breaking changes and using an older sub-set of the API to interact with
15
15
  # legacy vaults.
16
- VERSION = "0.10.rc1"
16
+ VERSION = '0.11'
17
17
  NET_PORT = 55736
18
- TOKEN_BYTE_SIZE = 16 # in bytes
19
- DEF_MASTER_PATH = "__sysmas__" # Placeholder
18
+ TOKEN_BYTE_SIZE = 8 # in bytes
19
+ DEFAULT_PATH = '__sysmas__' # Placeholder
20
20
  FILE_CACHE_TIME = 2500 # Time in ms
21
- KEY_CACHE_TIME = (15 * 60) * 1000 # (30 minutes in ms)
22
21
 
22
+ # Debounce constants
23
+ DEBOUNCE_DELTA = 2.5 # 2500 ms
24
+ KEY_CACHE_TIME = (15 * 60) # (15 minutes in seconds)
25
+ THREAD_TIMEOUT_TIME = DEBOUNCE_DELTA * 1.0125
23
26
 
24
-
25
- #
26
- # THIS SECTION WILL BE RESERVED FOR ERROR CODES AS RETURN VALUES
27
- #
28
- FILE_MALFORMED_DATA_ERROR = 0x11
29
-
30
- #
31
- # VAULT ERROR CODES
32
- #
33
- VAULT_FILE_NOT_FOUND_ERROR = 0x12
34
-
35
-
36
- #
37
- # RETURN ERROR CODES
38
- #
39
- DAEMON_UNKNOWN_TOKEN_ERROR = 0x31
40
- DAEMON_UNAUTHORISED_TOKEN_ERROR = 0x32
41
- DAEMON_INACTIVE_VAULT_ERROR = 0x33
27
+ # Debouncer markers
28
+ DEB_ADD = :add
29
+ DEB_REM = :remove
42
30
  end