trocla 0.7.0 → 0.8.0
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +12 -2
- data/lib/trocla/formats/argon2.rb +7 -0
- data/lib/trocla/formats/yescrypt.rb +9 -0
- data/lib/trocla/version.rb +1 -1
- metadata +37 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 23d5e8dfd009afd3c57c7621398d319cb5ccc503a2d8af485c32d99593ecd5c3
|
|
4
|
+
data.tar.gz: a8390bafef25e87f0c21c2a2e5c5035fcbb54e7dd2eb2ce337142dae6412e0ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bb1442e7ce601a9c057c3df1dfba3eef8d59c0bb09112b30258978beff97e3f65bb38b3908db8e4f54ec90681fb5a3b4a355341c621273b34a2c540266a4251c
|
|
7
|
+
data.tar.gz: d8bc6e8656184fe454b3716cf137f48d1e2aa46ffdf368b4af528363fde7f159b17d8c5ea729792b7eac34d10d1610f05da35d33a09381d78ba52e0c69eda8f1
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## to 0.8.0
|
|
4
|
+
|
|
5
|
+
* Add Argon2 format - Fixes [#84](https://github.com/duritong/trocla/issues/84)
|
|
6
|
+
* Add yescrypt format - Fixes [#81](https://github.com/duritong/trocla/issues/81) - not supported on Jruby
|
|
7
|
+
|
|
3
8
|
## to 0.7.0
|
|
4
9
|
|
|
5
10
|
* bump support for various dependencies and ruby versions
|
data/README.md
CHANGED
|
@@ -174,6 +174,17 @@ Password hashes for PostgreSQL servers. Since postgesql 10 you can use the sha25
|
|
|
174
174
|
You are able to tune the [cost factor of bcrypt](https://github.com/codahale/bcrypt-ruby#cost-factors) by passing the option `cost`.
|
|
175
175
|
Note: ruby bcrypt does not support a [cost > 31](https://github.com/codahale/bcrypt-ruby/blob/master/lib/bcrypt/password.rb#L45).
|
|
176
176
|
|
|
177
|
+
### argon2
|
|
178
|
+
|
|
179
|
+
You are able to tune argon2 options by passing the option `argon2` with what the [Argon2](https://github.com/technion/ruby-argon2?tab=readme-ov-file#usage) rubygem supports.
|
|
180
|
+
|
|
181
|
+
### yescrypt
|
|
182
|
+
|
|
183
|
+
You are able to tune the cost factor of yescrypt by passing the option `cost`.
|
|
184
|
+
Note: yescrypt does not support a cost > 11
|
|
185
|
+
|
|
186
|
+
**Important:** Since we are using [XCrypt](https://github.com/rkh/ruby-xcrypt) gem, which calls out to libxcrypt through FFI, you cannot use the yecrypt format on JRuby installations, aka. OpenVox Server installations. If you want to deliver yescrypt hashes in your Puppet manifests, you need to generate the yescrypt hash in a Ruby MRI installation, once the hash is in the trocla database a OpenVox Server can just fetch it.
|
|
187
|
+
|
|
177
188
|
### x509
|
|
178
189
|
|
|
179
190
|
This format takes a set of additional options. Required are:
|
|
@@ -247,7 +258,6 @@ Output render options are:
|
|
|
247
258
|
## Installation
|
|
248
259
|
|
|
249
260
|
* Debian has trocla within its sid-release: `apt-get install trocla`
|
|
250
|
-
* For RHEL/CentOS 7 there is a [copr reporisotry](https://copr.fedoraproject.org/coprs/duritong/trocla/). Follow the help there to integrate the repository and install trocla.
|
|
251
261
|
* Trocla is also distributed as gem: `gem install trocla`
|
|
252
262
|
|
|
253
263
|
## Configuration
|
|
@@ -420,6 +430,6 @@ See [Changelog](CHANGELOG.md)
|
|
|
420
430
|
|
|
421
431
|
## Copyright
|
|
422
432
|
|
|
423
|
-
Copyright (c) 2011-
|
|
433
|
+
Copyright (c) 2011-2026 mh. See LICENSE.txt for
|
|
424
434
|
further details.
|
|
425
435
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
class Trocla::Formats::Yescrypt < Trocla::Formats::Base
|
|
2
|
+
expensive true
|
|
3
|
+
require 'xcrypt' unless Object.const_defined?(:RUBY_ENGINE) and RUBY_ENGINE == 'jruby'
|
|
4
|
+
def format(plain_password, options = {})
|
|
5
|
+
raise 'Not supported on Jruby' if Object.const_defined?(:RUBY_ENGINE) and RUBY_ENGINE == 'jruby'
|
|
6
|
+
raise "Unsupported cost factor" if options['cost'] && options['cost'] > 11
|
|
7
|
+
XCrypt.yescrypt(plain_password, cost: options['cost'])
|
|
8
|
+
end
|
|
9
|
+
end
|
data/lib/trocla/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: trocla
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- mh
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-04-13 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: highline
|
|
@@ -93,6 +94,34 @@ dependencies:
|
|
|
93
94
|
- - "~>"
|
|
94
95
|
- !ruby/object:Gem::Version
|
|
95
96
|
version: '0.2'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: argon2
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - "~>"
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '2.3'
|
|
104
|
+
type: :runtime
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - "~>"
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '2.3'
|
|
111
|
+
- !ruby/object:Gem::Dependency
|
|
112
|
+
name: xcrypt
|
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
|
114
|
+
requirements:
|
|
115
|
+
- - "~>"
|
|
116
|
+
- !ruby/object:Gem::Version
|
|
117
|
+
version: '0.2'
|
|
118
|
+
type: :runtime
|
|
119
|
+
prerelease: false
|
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - "~>"
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: '0.2'
|
|
96
125
|
- !ruby/object:Gem::Dependency
|
|
97
126
|
name: rake
|
|
98
127
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -168,6 +197,7 @@ files:
|
|
|
168
197
|
- lib/trocla/encryptions/none.rb
|
|
169
198
|
- lib/trocla/encryptions/ssl.rb
|
|
170
199
|
- lib/trocla/formats.rb
|
|
200
|
+
- lib/trocla/formats/argon2.rb
|
|
171
201
|
- lib/trocla/formats/bcrypt.rb
|
|
172
202
|
- lib/trocla/formats/md5crypt.rb
|
|
173
203
|
- lib/trocla/formats/mysql.rb
|
|
@@ -180,6 +210,7 @@ files:
|
|
|
180
210
|
- lib/trocla/formats/sshkey.rb
|
|
181
211
|
- lib/trocla/formats/wireguard.rb
|
|
182
212
|
- lib/trocla/formats/x509.rb
|
|
213
|
+
- lib/trocla/formats/yescrypt.rb
|
|
183
214
|
- lib/trocla/hooks.rb
|
|
184
215
|
- lib/trocla/store.rb
|
|
185
216
|
- lib/trocla/stores.rb
|
|
@@ -195,6 +226,7 @@ metadata:
|
|
|
195
226
|
homepage_uri: https://tech.immerda.ch/2011/12/trocla-get-hashed-passwords-out-of-puppet-manifests/
|
|
196
227
|
source_code_uri: https://github.com/duritong/trocla
|
|
197
228
|
changelog_uri: https://github.com/duritong/trocla/blob/master/CHANGELOG.md
|
|
229
|
+
post_install_message:
|
|
198
230
|
rdoc_options: []
|
|
199
231
|
require_paths:
|
|
200
232
|
- lib
|
|
@@ -202,14 +234,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
202
234
|
requirements:
|
|
203
235
|
- - ">="
|
|
204
236
|
- !ruby/object:Gem::Version
|
|
205
|
-
version:
|
|
237
|
+
version: '3.0'
|
|
206
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
239
|
requirements:
|
|
208
240
|
- - ">="
|
|
209
241
|
- !ruby/object:Gem::Version
|
|
210
242
|
version: '0'
|
|
211
243
|
requirements: []
|
|
212
|
-
rubygems_version:
|
|
244
|
+
rubygems_version: 3.5.22
|
|
245
|
+
signing_key:
|
|
213
246
|
specification_version: 4
|
|
214
247
|
summary: Trocla a simple password generator and storage
|
|
215
248
|
test_files: []
|