fluent-plugin-sql-mask 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: ef269fc668456f29c07cd519aa61f8d1eb9e283f
4
- data.tar.gz: 84462c55a9efd0effea4c2f5e909271747d4b6a3
2
+ SHA256:
3
+ metadata.gz: 5eb9b7469d08d0f3d35b06a6f653bf2af0a44c4234b33a344bb731c05a4f0d39
4
+ data.tar.gz: 96826d2f816ea7170235186ce01cd60c03b54ff82c804b8c91e6216d463ed92c
5
5
  SHA512:
6
- metadata.gz: 131c6e34c64aa1ed605a0fdc96e3e2e5fa20aeda3a634c317187fe67242935c54eff51367d35fceb5898dd451c136d1c78ce52730730e4dc114166cc46dd7f7d
7
- data.tar.gz: 1b231ce0c1c25828fa9c42910ba971076347d3758e29da4942e1e81659c55d3800daca829e27a8a1412f281158429a7d0bb39eb42887a932d2b7102487c90044
6
+ metadata.gz: 61adfcc310f83b1272b3ddee7caf283797265198fdfad6e28c2edd010cbf01fc1d610775747e09cb0608ab4d3cae1b2fd11f9372502b91e031153a546af8435f
7
+ data.tar.gz: 9b0c09340de2b67c3330996b757fb8856c83495b1db9446aa0eac76425614b361cdbb49a33d044a9567b42371a5862a73d5645db2a49b58eeff56dd0d240de0e
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |spec|
5
5
  spec.name = "fluent-plugin-sql-mask"
6
- spec.version = "0.1.0"
6
+ spec.version = "0.2.0"
7
7
  spec.authors = ["Kazuki Sawada"]
8
8
  spec.email = ["kazuki@6715.jp"]
9
9
 
@@ -12,18 +12,12 @@ Gem::Specification.new do |spec|
12
12
  spec.homepage = "https://github.com/kaz/fluent-plugin-sql-mask"
13
13
  spec.license = "Apache-2.0"
14
14
 
15
- test_files, files = `git ls-files -z`.split("\x0").partition do |f|
16
- f.match(%r{^(test|spec|features)/})
17
- end
18
- spec.files = files
19
- spec.executables = files.grep(%r{^bin/}) { |f| File.basename(f) }
20
- spec.test_files = test_files
21
- spec.require_paths = ["lib"]
15
+ spec.files = Dir["*.gemspec", "README.md", "LICENSE", "lib/**/*"]
22
16
 
23
- spec.add_development_dependency "bundler", "~> 1.14"
17
+ spec.add_development_dependency "bundler", "~> 2.0"
24
18
  spec.add_development_dependency "rake", "~> 12.0"
25
19
  spec.add_development_dependency "test-unit", "~> 3.0"
26
20
 
27
21
  spec.add_runtime_dependency "fluentd", [">= 0.14.10", "< 2"]
28
- spec.add_runtime_dependency "pg_query"
22
+ spec.add_runtime_dependency "ffi", "~> 1.11"
29
23
  end
@@ -13,8 +13,14 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
+ require "ffi"
16
17
  require "fluent/plugin/filter"
17
- require "pg_query"
18
+
19
+ module Mask
20
+ extend FFI::Library
21
+ ffi_lib __dir__ + "/libsql_mask." + FFI::Platform::OS
22
+ attach_function :masked, [:string], :string
23
+ end
18
24
 
19
25
  module Fluent
20
26
  module Plugin
@@ -25,12 +31,10 @@ module Fluent
25
31
 
26
32
  def filter(tag, time, record)
27
33
  if record.has_key? @field
28
- record[@field] = PgQuery.normalize record[@field]
29
- end
30
- record
31
- rescue
32
- if record.has_key? @field
33
- record[@field] = "[FILTERED]"
34
+ record[@field] = Mask.masked record[@field]
35
+ if record[@field].empty?
36
+ record[@field] = "[ PARSE ERROR | FILTERED WHOLE SQL ]"
37
+ end
34
38
  end
35
39
  record
36
40
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluent-plugin-sql-mask
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazuki Sawada
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-14 00:00:00.000000000 Z
11
+ date: 2019-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.14'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -73,19 +73,19 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '2'
75
75
  - !ruby/object:Gem::Dependency
76
- name: pg_query
76
+ name: ffi
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
79
+ - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '0'
81
+ version: '1.11'
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
- - - ">="
86
+ - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '0'
88
+ version: '1.11'
89
89
  description: This plugin allows you to mask sql literals which may be contain sensitive
90
90
  data.
91
91
  email:
@@ -94,15 +94,12 @@ executables: []
94
94
  extensions: []
95
95
  extra_rdoc_files: []
96
96
  files:
97
- - Gemfile
98
- - Gemfile.lock
99
97
  - LICENSE
100
98
  - README.md
101
- - Rakefile
102
99
  - fluent-plugin-sql-mask.gemspec
103
100
  - lib/fluent/plugin/filter_sql_mask.rb
104
- - test/helper.rb
105
- - test/plugin/test_filter_sql_mask.rb
101
+ - lib/fluent/plugin/libsql_mask.darwin
102
+ - lib/fluent/plugin/libsql_mask.linux
106
103
  homepage: https://github.com/kaz/fluent-plugin-sql-mask
107
104
  licenses:
108
105
  - Apache-2.0
@@ -122,11 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
119
  - !ruby/object:Gem::Version
123
120
  version: '0'
124
121
  requirements: []
125
- rubyforge_project:
126
- rubygems_version: 2.6.14.4
122
+ rubygems_version: 3.0.3
127
123
  signing_key:
128
124
  specification_version: 4
129
125
  summary: Fluentd filter plugin to mask sql literals
130
- test_files:
131
- - test/helper.rb
132
- - test/plugin/test_filter_sql_mask.rb
126
+ test_files: []
data/Gemfile DELETED
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec
data/Gemfile.lock DELETED
@@ -1,52 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- fluent-plugin-sql-mask (0.1.0)
5
- fluentd (>= 0.14.10, < 2)
6
- pg_query
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- cool.io (1.5.4)
12
- dig_rb (1.0.1)
13
- fluentd (1.5.1)
14
- cool.io (>= 1.4.5, < 2.0.0)
15
- dig_rb (~> 1.0.0)
16
- http_parser.rb (>= 0.5.1, < 0.7.0)
17
- msgpack (>= 0.7.0, < 2.0.0)
18
- serverengine (>= 2.0.4, < 3.0.0)
19
- sigdump (~> 0.2.2)
20
- strptime (>= 0.2.2, < 1.0.0)
21
- tzinfo (~> 1.0)
22
- tzinfo-data (~> 1.0)
23
- yajl-ruby (~> 1.0)
24
- http_parser.rb (0.6.0)
25
- msgpack (1.2.10)
26
- pg_query (1.1.0)
27
- power_assert (1.1.4)
28
- rake (12.3.2)
29
- serverengine (2.1.1)
30
- sigdump (~> 0.2.2)
31
- sigdump (0.2.4)
32
- strptime (0.2.3)
33
- test-unit (3.3.3)
34
- power_assert
35
- thread_safe (0.3.6)
36
- tzinfo (1.2.5)
37
- thread_safe (~> 0.1)
38
- tzinfo-data (1.2019.1)
39
- tzinfo (>= 1.0.0)
40
- yajl-ruby (1.4.1)
41
-
42
- PLATFORMS
43
- ruby
44
-
45
- DEPENDENCIES
46
- bundler (~> 1.14)
47
- fluent-plugin-sql-mask!
48
- rake (~> 12.0)
49
- test-unit (~> 3.0)
50
-
51
- BUNDLED WITH
52
- 1.17.2
data/Rakefile DELETED
@@ -1,13 +0,0 @@
1
- require "bundler"
2
- Bundler::GemHelper.install_tasks
3
-
4
- require "rake/testtask"
5
-
6
- Rake::TestTask.new(:test) do |t|
7
- t.libs.push("lib", "test")
8
- t.test_files = FileList["test/**/test_*.rb"]
9
- t.verbose = true
10
- t.warning = true
11
- end
12
-
13
- task default: [:test]
data/test/helper.rb DELETED
@@ -1,8 +0,0 @@
1
- $LOAD_PATH.unshift(File.expand_path("../../", __FILE__))
2
- require "test-unit"
3
- require "fluent/test"
4
- require "fluent/test/driver/filter"
5
- require "fluent/test/helpers"
6
-
7
- Test::Unit::TestCase.include(Fluent::Test::Helpers)
8
- Test::Unit::TestCase.extend(Fluent::Test::Helpers)
@@ -1,18 +0,0 @@
1
- require "helper"
2
- require "fluent/plugin/filter_sql_mask.rb"
3
-
4
- class SqlMaskFilterTest < Test::Unit::TestCase
5
- setup do
6
- Fluent::Test.setup
7
- end
8
-
9
- test "failure" do
10
- flunk
11
- end
12
-
13
- private
14
-
15
- def create_driver(conf)
16
- Fluent::Test::Driver::Filter.new(Fluent::Plugin::SqlMaskFilter).configure(conf)
17
- end
18
- end