rex-random_identifier 0.1.6 → 0.1.7

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
  SHA256:
3
- metadata.gz: 3c9571d3505cd046a46dd18a365270c8cac23425efd11982b1f13a4b5c7ccda5
4
- data.tar.gz: e576c1de9555bf1cdc8bbe1a3e62ede10df0fbccdfc8def25d6ffc58eedb647a
3
+ metadata.gz: dc766a219e863de2022c92549cec5cfb8c4fefb31104732db068d74d35d5f044
4
+ data.tar.gz: 8f20d3c2c51ee34942a1f7508e81922ab953d9737c6e12979fe146678975ae6b
5
5
  SHA512:
6
- metadata.gz: 352a8c6c761fff3603895df1e681b4c4160443d4f377b5955c74466a17c178bafd5ed7159bec66d6359915dee5dd08b397c2bd4ff665d6fbb7d63b91836b1ee7
7
- data.tar.gz: d79da21e1917a9938e429e818e4bfea57a408de2475bf2ad216d4afe4ac1325f84896f0de1a47bfaebd5eed562204e050e9c38a9614d769383be9bfd370c2a39
6
+ metadata.gz: 7cde61ecaac3b17d8be104b164fde79c88707f76b48e214bf8c4475ecf659a20c8427253fe1d83acb60c8d019d22020098c632ed8a999a48fc09900cb39ca58d
7
+ data.tar.gz: 33006a14e765085e7d9a2a48bb901f11a6954a3d329fa93ef55389c9610d981e1427d657726b0043c6be85e9645399265f983dbc9528eacf4c6da91691c8ea9e
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -34,10 +34,42 @@ class Rex::RandomIdentifier::Generator
34
34
  # This should be pretty universal for identifier rules
35
35
  :char_set => Rex::Text::AlphaNumeric+"_",
36
36
  :first_char_set => Rex::Text::LowerAlpha,
37
- :forbidden => []
37
+ :forbidden => [].freeze
38
+ }
39
+
40
+ JavaOpts = DefaultOpts.merge(
41
+ forbidden: (
42
+ DefaultOpts[:forbidden] +
43
+ %w[
44
+ abstract assert boolean break byte case catch char class const
45
+ continue default do double else enum extends false final finally
46
+ float for goto if implements import instanceof int interface long
47
+ native new null package private protected public return short
48
+ static strictfp super switch synchronized this throw throws
49
+ transient true try void volatile while _
50
+ ]
51
+ ).uniq.freeze
52
+ )
53
+
54
+ JSPOpts = JavaOpts.merge(
55
+ forbidden: (
56
+ JavaOpts[:forbidden] +
57
+ # Reserved Words for Implicit Objects
58
+ # https://docs.oracle.com/cd/E13222_01/wls/docs90/webapp/reference.html#66991
59
+ %w[
60
+ application config out page pageContext request response session var
61
+ ]
62
+ ).uniq.freeze
63
+ )
64
+
65
+ Opts = {
66
+ default: DefaultOpts,
67
+ java: JavaOpts,
68
+ jsp: JSPOpts
38
69
  }
39
70
 
40
71
  # @param opts [Hash] Options, see {DefaultOpts} for default values
72
+ # @option opts :language [Symbol] See the {Opts} keys for supported languages
41
73
  # @option opts :max_length [Fixnum]
42
74
  # @option opts :min_length [Fixnum]
43
75
  # @option opts :char_set [String]
@@ -49,7 +81,12 @@ class Rex::RandomIdentifier::Generator
49
81
  # having to search through the whole list of values
50
82
  @name_by_value = {}
51
83
 
52
- @opts = DefaultOpts.merge(opts)
84
+ language = opts[:language] || :default
85
+ unless Opts.has_key?(language)
86
+ raise ArgumentError, "Language option #{language} is not supported. Expected one of #{Opts.keys}"
87
+ end
88
+ @opts = Opts[language]
89
+ @opts = @opts.merge(opts)
53
90
  if @opts[:min_length] < 1 || @opts[:max_length] < 1 || @opts[:max_length] < @opts[:min_length]
54
91
  raise ArgumentError, "Invalid length options"
55
92
  end
@@ -1,5 +1,5 @@
1
1
  module Rex
2
2
  module RandomIdentifier
3
- VERSION = "0.1.6"
3
+ VERSION = "0.1.7"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rex-random_identifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Metasploit Hackers
@@ -93,7 +93,7 @@ cert_chain:
93
93
  EknWpNgVhohbot1lfVAMmIhdtOVaRVcQQixWPwprDj/ydB8ryDMDosIMcw+fkoXU
94
94
  9GJsSaSRRYQ9UUkVL27b64okU8D48m8=
95
95
  -----END CERTIFICATE-----
96
- date: 2021-07-19 00:00:00.000000000 Z
96
+ date: 2021-07-20 00:00:00.000000000 Z
97
97
  dependencies:
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: rake
metadata.gz.sig CHANGED
@@ -1,2 +1 @@
1
- ƌ@ꤹ�e����_���Ç��^��aeX ��Bw��ٰ�.�
2
- ՊZR�-��[��{B߳]o����j�!ؕm賿��o�Z'�%KG���~���0�P��W|�b.Hj�pTd�j�2[x$��m(�1�;9�G�l����K�1*�lS����$�������u�����y3�־wh��ϯ�[�3ٛ&�
1
+ )�ԓ����o����u����ő�j����� S�ԍp������ ���hEӊ{�W