tls-map 1.2.0 → 1.3.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/bin/tls-map +16 -1
- data/lib/tls_map.rb +17 -0
- data/lib/tls_map/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ac0d9c7dbfc9715ca7387df65617f1202a06ab70b72f764356e6bdb3cbeda3d
|
4
|
+
data.tar.gz: 37f02d9953363e4fb90e940d894b1ecdafe9bba9ae1636540f9593ee3c37b808
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8a514c524c42e6765e55817dea46b905fdf717e6609e0f1efc2f2555249938b750ae79325b5c2ba3cc58b645f0b378f0f3f13d877a9be37a74dff033b420edbd
|
7
|
+
data.tar.gz: 8691bfcdb56bbfe8daa408b290f06f1eb2e9dd2f564a9c86e59b2c64e077b037b45b27e4d4e1000fab7b6fc418064b0d4d1b66e1eb174b221b0fe8c022b72b1c
|
data/bin/tls-map
CHANGED
@@ -10,11 +10,14 @@ require 'tls_map/cli'
|
|
10
10
|
require 'docopt'
|
11
11
|
require 'paint'
|
12
12
|
|
13
|
+
# can't specify 2 options with the same name even if used in different commands
|
14
|
+
# https://github.com/docopt/docopt/issues/296#issuecomment-857477191
|
13
15
|
doc = <<~DOCOPT
|
14
16
|
TLS map #{TLSmap::VERSION}
|
15
17
|
|
16
18
|
Usage:
|
17
19
|
tls-map search <critera> <term> [-o <output> --force -e -a] [--no-color --debug]
|
20
|
+
tls-map bulk <critera> <file> [-q <output> --force] [--no-color --debug]
|
18
21
|
tls-map export <filename> <format> [--force] [--debug]
|
19
22
|
tls-map extract <filename> <format> [--no-color --debug]
|
20
23
|
tls-map update [--debug]
|
@@ -28,6 +31,11 @@ doc = <<~DOCOPT
|
|
28
31
|
-e, --extended (Online) Display additional information about the cipher (requires output = all or iana)
|
29
32
|
-a, --acronym (Online) Display full acronym name (requires -e / --extended option)
|
30
33
|
|
34
|
+
Bulk options: (offline) search and translate cipher names between SSL/TLS libraries in bulk
|
35
|
+
<critera> The type of term. Accepted values: codepoint, iana, openssl, gnutls, nss.
|
36
|
+
<file> File containing the cipher algorithm names, one per line.
|
37
|
+
-q, --output2 <output> Displayed fields. Accepted values: codepoint, iana, openssl, gnutls, nss. [default: iana]
|
38
|
+
|
31
39
|
Export options: (offline) export the list of all ciphers (mapping) in various formats
|
32
40
|
<filename> The output file name to write to.
|
33
41
|
<format> Supported formats: markdown (a markdown table), json_pretty (expanded JSON), json_compact (minified JSON), marshal (Ruby marshalized hash).
|
@@ -39,7 +47,7 @@ doc = <<~DOCOPT
|
|
39
47
|
Update options: (online) DANGEROUS, will break database integrity, force option will be required
|
40
48
|
|
41
49
|
Other options:
|
42
|
-
--force Force parsing even if
|
50
|
+
--force Force parsing even if integrity check failed (DANGEROUS, may result in command execution vulnerability)
|
43
51
|
--no-color Disable colorized output
|
44
52
|
--debug Display arguments
|
45
53
|
-h, --help Show this screen
|
@@ -80,6 +88,13 @@ begin
|
|
80
88
|
end
|
81
89
|
end
|
82
90
|
end
|
91
|
+
elsif args['bulk']
|
92
|
+
cli = TLSmap::CLI.new(args['--force'])
|
93
|
+
res = cli.bulk_search(args['<critera>'].to_sym, args['<file>'], args['--output2'].to_sym)
|
94
|
+
puts Paint['No match found', :red] if res.empty?
|
95
|
+
res.each do |h|
|
96
|
+
puts "#{Paint[h[args['--output2'].to_sym], :green]}"
|
97
|
+
end
|
83
98
|
elsif args['export']
|
84
99
|
cli = TLSmap::CLI.new(args['--force'])
|
85
100
|
cli.export(args['<filename>'], args['<format>'].to_sym)
|
data/lib/tls_map.rb
CHANGED
@@ -55,6 +55,23 @@ module TLSmap
|
|
55
55
|
{}
|
56
56
|
end
|
57
57
|
|
58
|
+
# Search for corresponding cipher algorithms in other libraries in bulk
|
59
|
+
# @param critera [Symbol] The type of `term`.
|
60
|
+
# Accepted values: `:codepoint`, `:iana`, `:openssl`, `:gnutls`, `:nss`.
|
61
|
+
# @param file [String] File containing the cipher algorithm names, one per line.
|
62
|
+
# @param output [Symbol] The corresponding type to be included in the return value.
|
63
|
+
# Accepted values: `:all` (default), `:codepoint`, `:iana`, `:openssl`,
|
64
|
+
# `:gnutls`, `:nss`.
|
65
|
+
# @return [Array<Hash>] The corresponding type, same as {search} return value
|
66
|
+
# but one per line stored in an array.
|
67
|
+
def bulk_search(critera, file, output = :all)
|
68
|
+
res = []
|
69
|
+
File.foreach(file) do |line|
|
70
|
+
res.push(search(critera, line.chomp, output))
|
71
|
+
end
|
72
|
+
res
|
73
|
+
end
|
74
|
+
|
58
75
|
protected :parse
|
59
76
|
end
|
60
77
|
end
|
data/lib/tls_map/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tls-map
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre ZANNI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -170,6 +170,20 @@ dependencies:
|
|
170
170
|
- - "~>"
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: '1.10'
|
173
|
+
- !ruby/object:Gem::Dependency
|
174
|
+
name: webrick
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '1.7'
|
180
|
+
type: :development
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '1.7'
|
173
187
|
- !ruby/object:Gem::Dependency
|
174
188
|
name: yard
|
175
189
|
requirement: !ruby/object:Gem::Requirement
|