mongo_kerberos 2.0.0-java → 2.1.2-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6a9ff251151854f967f0d97901b5bd4fe2ab76a4
4
- data.tar.gz: 46530ece51a572a9269f69832bffe616d7b622aa
2
+ SHA256:
3
+ metadata.gz: 8cf3700bd35015425989ab2f24c440185980fdab1ca76c18ee60f388405ffe52
4
+ data.tar.gz: 69303947c3276f695b3031c372a50bc349ba5ea41de6233bc5f6b815cb811b92
5
5
  SHA512:
6
- metadata.gz: a066415e7c71104ea962038a1a0670208b33f0177b1166c9b86ee6bac97448fda38b199667a8aeaa0dc38ec6d2c083db0f5ad435d97cc791e97b2bcbbb0bdac9
7
- data.tar.gz: d1ebdaee27fff4fea13004cf9a595ee9ef3ee9ddc75555253d51c30a0a1b475e1eeb19053491fc365d346bbefb224f8791247df17c442652ff27f07171765979
6
+ metadata.gz: fcdb67c5716208cdd86127d174144728c055c312b67ad5d8a4000ef1af802346c78e03b22fbc63e50cee9137aa97e49bbef1d88f74b6492e8cf9f1d6cb3f28a3
7
+ data.tar.gz: 01fcf1114072578921d276db0f48608be25b4de9436c20112f20055bf498a38f7b682a37336109b8dea00f869d0baa48fc372e4bf0eaf8650b997fefb2418147
data/CONTRIBUTING.md CHANGED
@@ -21,8 +21,6 @@ specs should follow the following guidelines:
21
21
  - Use `context` blocks to set up conditions.
22
22
  - Always provide descriptive specifications via `it`.
23
23
 
24
- Specs can be automatically run with Guard, via `bundle exec guard`
25
-
26
24
  Before commiting, run `rake` to ensure all specs pass with both pure Ruby and
27
25
  the native extensions.
28
26
 
data/README.md CHANGED
@@ -1,15 +1,21 @@
1
- Mongo Kerberos [![Build Status](https://secure.travis-ci.org/mongodb/mongo-ruby-kerberos.png?branch=master&.png)](http://travis-ci.org/mongodb/mongo-ruby-kerberos) [![Code Climate](https://codeclimate.com/github/mongodb/mongo-ruby-kerberos.png)](https://codeclimate.com/github/mongodb/mongo-ruby-kerberos) [![Coverage Status](https://coveralls.io/repos/mongodb/mongo-ruby-kerberos/badge.png?branch=master)](https://coveralls.io/r/mongodb/mongo-ruby-kerberos?branch=master)
2
- ====
1
+ # Mongo Kerberos
3
2
 
4
3
  Provides Kerberos authentication support to the Mongo Ruby Driver.
5
4
 
6
- Compatibility
7
- -------------
8
5
 
9
- mongo_kerberos is tested against MRI (1.9.2+) and JRuby (1.7.0+)
6
+ ## Compatibility
10
7
 
11
- Installation
12
- ------------
8
+ mongo_kerberos is tested against MRI (2.7+) and JRuby (9.3+).
9
+
10
+ ### JRuby
11
+
12
+ In order to work with Kerberos TGTs that are in the system cache (e.g. obtained with `kinit`), the
13
+ JRuby extension sets the JVM system property "sun.security.jgss.native" to "true". Note that any
14
+ other use of the JGSS library will also be affected by this setting, meaning that any TGTs in the
15
+ system cache will be available for obtaining Kerberos credentials as well.
16
+
17
+
18
+ ## Installation
13
19
 
14
20
  libsasl is a requirement to be able to install the mongo_kerberos gem. Please see the
15
21
  [Cyrus documentation](http://cyrusimap.web.cmu.edu/docs/cyrus-sasl/2.1.25/) for more
@@ -18,7 +24,7 @@ information.
18
24
  With bundler, add the `mongo_kerberos` gem to your `Gemfile`.
19
25
 
20
26
  ```ruby
21
- gem "mongo_kerberos", "~> 2.0"
27
+ gem "mongo_kerberos", "~> 2.1"
22
28
  ```
23
29
 
24
30
  Require the `mongo_kerberos` gem in your application.
@@ -27,17 +33,38 @@ Require the `mongo_kerberos` gem in your application.
27
33
  require "mongo_kerberos"
28
34
  ```
29
35
 
30
- Usage
31
- -----
36
+ ### Release Integrity
37
+
38
+ Each release of this Kerberos authentication module after version 2.1.1 has been automatically built and signed using the team's GPG key.
39
+
40
+ To verify the module's gem file:
41
+
42
+ 1. [Download the GPG key](https://pgp.mongodb.com/ruby-driver.asc).
43
+ 2. Import the key into your GPG keyring with `gpg --import ruby-driver.asc`.
44
+ 3. Download the gem file (if you don't already have it). You can download it from RubyGems with `gem fetch mongo_kerberos`, or you can download it from the [releases page](https://github.com/mongodb/mongo-ruby-kerberos/releases) on GitHub.
45
+ 4. Download the corresponding detached signature file from the [same release](https://github.com/mongodb/mongo-ruby-kerberos/releases). Look at the bottom of the release that corresponds to the gem file, under the 'Assets' list, for a `.sig` file with the same version number as the gem you wish to install.
46
+ 5. Verify the gem with `gpg --verify mongo_kerberos-X.Y.Z.gem.sig mongo_kerberos-X.Y.Z.gem` (replacing `X.Y.Z` with the actual version number).
47
+
48
+ You are looking for text like "Good signature from "MongoDB Ruby Driver Release Signing Key <packaging@mongodb.com>" in the output. If you see that, the signature was found to correspond to the given gem file.
49
+
50
+ (Note that other output, like "This key is not certified with a trusted signature!", is related to *web of trust* and depends on how strongly you, personally, trust the `ruby-driver.asc` key that you downloaded from us. To learn more, see https://www.gnupg.org/gph/en/manual/x334.html)
51
+
52
+ ### Why not use RubyGems' gem-signing functionality?
53
+
54
+ RubyGems' own gem signing is problematic, most significantly because there is no established chain of trust related to the keys used to sign gems. RubyGems' own documentation admits that "this method of signing gems is not widely used" (see https://guides.rubygems.org/security/). Discussions about this in the RubyGems community have been off-and-on for more than a decade, and while a solution will eventually arrive, we have settled on using GPG instead for the following reasons:
55
+
56
+ 1. Many of the other driver teams at MongoDB are using GPG to sign their product releases. Consistency with the other teams means that we can reuse existing tooling for our own product releases.
57
+ 2. GPG is widely available and has existing tools and procedures for dealing with web of trust (though they are admittedly quite arcane and intimidating to the uninitiated, unfortunately).
58
+
59
+ Ultimately, most users do not bother to verify gems, and will not be impacted by our choice of GPG over RubyGems' native method.
32
60
 
33
61
 
34
- API Documentation
35
- -----------------
62
+ ## API Documentation
36
63
 
37
- The [API Documentation](http://rdoc.info/github/mongodb/mongo-ruby-kerberos/master/frames) is
38
- located at rdoc.info.
64
+ Please see the [Kerberos authentication section](https://www.mongodb.com/docs/ruby-driver/current/reference/authentication/#kerberos--gssapi-)
65
+ of the Ruby driver documentation for high level documentation of this library.
39
66
 
40
- Versioning
41
- ----------
67
+ ## Versioning
42
68
 
43
- As of 2.0.0, this project adheres to the [Semantic Versioning Specification](http://semver.org/).
69
+ As of 2.1.0, this project adheres to the
70
+ [Semantic Versioning Specification](http://semver.org/).
data/Rakefile CHANGED
@@ -31,40 +31,88 @@ if jruby?
31
31
  ext.name = "native"
32
32
  ext.ext_dir = "src"
33
33
  ext.lib_dir = "lib/mongo/auth/kerberos"
34
+ ext.release = ENV['JAVA_RELEASE'].to_i if ENV['JAVA_RELEASE']
34
35
  end
35
36
  else
36
37
  require "rake/extensiontask"
37
38
  Rake::ExtensionTask.new do |ext|
38
- ext.name = "native"
39
- ext.ext_dir = "ext/mongo/kerberos"
40
- ext.lib_dir = "lib/mongo/auth/kerberos"
39
+ ext.name = "mongo_kerberos_native"
40
+ ext.ext_dir = "ext/mongo_kerberos"
41
+ ext.lib_dir = "lib"
41
42
  end
42
43
  end
43
44
 
44
- require "mongo/auth/kerberos/version"
45
+ desc "[INTERNAL] Loads the library's version"
46
+ task :load_version do
47
+ require 'mongo/auth/kerberos/version'
48
+ end
45
49
 
46
- def extension
47
- RUBY_PLATFORM =~ /darwin/ ? "bundle" : "so"
50
+ desc 'Print the current version (used for releases)'
51
+ task version: :load_version do
52
+ puts Mongo::Auth::Kerberos::VERSION
48
53
  end
49
54
 
50
55
  RSpec::Core::RakeTask.new(:rspec)
51
56
 
52
- if jruby?
53
- task :build => [ :clean_all, :compile ] do
54
- system "gem build mongo_kerberos.gemspec"
57
+ # `rake version` is used by the deployment system so get the release version
58
+ # of the product beng deployed. It must do nothing more than just print the
59
+ # product version number.
60
+ desc 'Print the current version'
61
+ task :build => [ :clean_all, *(jruby? ? :compile : nil) ] do
62
+ output = "--output=#{ENV['GEM_FILE_NAME']}" if ENV['GEM_FILE_NAME']
63
+ system "gem build #{output} mongo_kerberos.gemspec"
64
+ end
65
+
66
+ # `rake gem_file_name` is used by the deployment system so get the name of
67
+ # the gem file to be generated. It must do nothing more than just print the
68
+ # name of the gem file to generate.
69
+ desc 'Print the name of the gem file to generate.'
70
+ task gem_file_name: :load_version do
71
+ base = "mongo_kerberos-#{Mongo::Auth::Kerberos::VERSION}"
72
+ base << '-java' if jruby?
73
+ puts "#{base}.gem"
74
+ end
75
+
76
+ # overrides the default Bundler-provided `release` task, which also
77
+ # builds the gems. Our release process assumes the gems have already
78
+ # been built (and signed via GPG), so we just need `rake release` to
79
+ # push the gems to rubygems.
80
+ desc 'Push the generated gems to RubyGems'
81
+ task :release do
82
+ # confirm: there ought to be two gems, one for MRI, and one for Java. These
83
+ # will have been previously generated by the 'Release' GitHub action.
84
+ gems = Dir['*.gem']
85
+ if gems.length != 2
86
+ abort "Expected two gem files to be ready to release; got #{gems.length}"
55
87
  end
56
- else
57
- task :build => :clean_all do
58
- system "gem build mongo_kerberos.gemspec"
88
+
89
+ if ENV['GITHUB_ACTION'].nil?
90
+ abort <<~WARNING
91
+ `rake release` must be invoked from the `Release` GitHub action,
92
+ and must not be invoked locally. This ensures the gem is properly signed
93
+ and distributed by the appropriate user.
94
+
95
+ Note that it is the `rubygems/release-gem@v1` step in the `Release`
96
+ action that invokes this task. Do not rename or remove this task, or the
97
+ release-gem step will fail. Reimplement this task with caution.
98
+
99
+ NO GEMS were pushed to RubyGems.
100
+ WARNING
101
+ end
102
+
103
+ gems.each do |gem|
104
+ system 'gem', 'push', gem
59
105
  end
60
106
  end
61
107
 
62
108
  task :clean_all => :clean do
63
109
  begin
64
110
  Dir.chdir(Pathname(__FILE__).dirname + "lib") do
65
- `rm native.#{extension}`
66
- `rm native.o`
67
- `rm native.jar`
111
+ %w[ o bundle so jar ].each do |e|
112
+ Dir.glob(File.join("**", "*.#{e}")).each do |f|
113
+ `rm #{f}`
114
+ end
115
+ end
68
116
  end
69
117
  rescue Exception => e
70
118
  puts e.message
@@ -75,22 +123,16 @@ task :spec => :compile do
75
123
  Rake::Task["rspec"].invoke
76
124
  end
77
125
 
78
- # Run bundle exec rake release with mri and jruby. Ex:
79
- #
80
- # rvm use 2.1.0@mongo_kerberos
81
- # bundle exec rake release
82
- # rvm use jruby@mongo_kerberos
83
- # bundle exec rake release
84
- task :release => :build do
85
- system "git tag -a #{Mongo::Auth::Kerberos::VERSION} -m 'Tagging release: #{Mongo::Auth::Kerberos::VERSION}'"
86
- system "git push --tags"
87
- if jruby?
88
- system "gem push mongo_kerberos-#{Mongo::Auth::Kerberos::VERSION}-java.gem"
89
- system "rm mongo_kerberos-#{Mongo::Auth::Kerberos::VERSION}-java.gem"
90
- else
91
- system "gem push mongo_kerberos-#{Mongo::Auth::Kerberos::VERSION}.gem"
92
- system "rm mongo_kerberos-#{Mongo::Auth::Kerberos::VERSION}.gem"
126
+ task :default => [ :clean_all, :spec ]
127
+
128
+ desc "Generate all documentation"
129
+ task :docs => 'docs:yard'
130
+
131
+ namespace :docs do
132
+ desc "Generate yard documention"
133
+ task yard: :load_version do
134
+ out = File.join('yard-docs', Mongo::Auth::Kerberos::VERSION)
135
+ FileUtils.rm_rf(out)
136
+ system "yardoc -o #{out} --title mongo-ruby-kerberos-#{Mongo::Auth::Kerberos::VERSION}"
93
137
  end
94
138
  end
95
-
96
- task :default => [ :clean_all, :spec ]
@@ -113,7 +113,7 @@ module Mongo
113
113
 
114
114
  # Create the new conversation.
115
115
  #
116
- # @example Create the new coversation.
116
+ # @example Create the new conversation.
117
117
  # Conversation.new(user, 'test.example.com')
118
118
  #
119
119
  # @param [ Auth::User ] user The user to converse about.
@@ -127,25 +127,12 @@ module Mongo
127
127
 
128
128
  private
129
129
 
130
- if BSON::Environment.jruby?
131
-
132
- def start_token
133
- BSON::Binary.new(authenticator.initialize_challenge)
134
- end
135
-
136
- def continue_token
137
- payload = reply.documents[0][PAYLOAD]
138
- BSON::Binary.new(authenticator.evaluate_challenge(payload.data))
139
- end
140
- else
141
-
142
- def start_token
143
- authenticator.initialize_challenge
144
- end
130
+ def start_token
131
+ authenticator.initialize_challenge
132
+ end
145
133
 
146
- def continue_token
147
- authenticator.evaluate_challenge(reply.documents[0][PAYLOAD])
148
- end
134
+ def continue_token
135
+ authenticator.evaluate_challenge(reply.documents[0][PAYLOAD])
149
136
  end
150
137
 
151
138
  def validate!(reply)
@@ -13,8 +13,9 @@
13
13
  # limitations under the License.
14
14
 
15
15
  require 'java'
16
- require 'mongo/auth/kerberos/jsasl.jar'
16
+ require 'jruby'
17
17
  require 'mongo/auth/kerberos/native.jar'
18
+ require 'forwardable'
18
19
 
19
20
  module Mongo
20
21
  module Auth
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- require 'mongo/auth/kerberos/native'
15
+ require 'mongo_kerberos_native'
16
16
 
17
17
  module Mongo
18
18
  module Auth
Binary file
@@ -1,23 +1,11 @@
1
- # Copyright (C) 2015 MongoDB, Inc.
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
1
+ # frozen_string_literal: true
14
2
 
15
3
  module Mongo
16
4
  module Auth
17
5
  class Kerberos
18
6
 
19
7
  # The gem version number.
20
- VERSION = '2.0.0'.freeze
8
+ VERSION = '2.1.2'
21
9
  end
22
10
  end
23
11
  end
@@ -22,13 +22,24 @@ module Mongo
22
22
  #
23
23
  # @since 2.0.0
24
24
  class Kerberos
25
- include Executable
26
25
 
27
- # The authentication mechinism string.
26
+ # The authentication mechanism string.
28
27
  #
29
28
  # @since 2.0.0
30
29
  MECHANISM = 'GSSAPI'.freeze
31
30
 
31
+ # Instantiate a new authenticator.
32
+ #
33
+ # example Create the authenticator.
34
+ # Mongo::Auth::Kerberos.new(user)
35
+ #
36
+ # @param [ Mongo::Auth::User ] user The user to authenticate.
37
+ #
38
+ # @since 2.0.1
39
+ def initialize(user)
40
+ @user = user
41
+ end
42
+
32
43
  # Log the user in on the given connection.
33
44
  #
34
45
  # @example Log the user in.
@@ -41,10 +52,12 @@ module Mongo
41
52
  #
42
53
  # @since 2.0.0
43
54
  def login(connection)
44
- conversation = Conversation.new(user, connection.address.host)
55
+ conversation = Conversation.new(@user, connection.address.host)
45
56
  reply = connection.dispatch([ conversation.start ])
57
+ connection.update_cluster_time(Operation::Result.new(reply))
46
58
  until reply.documents[0][Conversation::DONE]
47
59
  reply = connection.dispatch([ conversation.finalize(reply) ])
60
+ connection.update_cluster_time(Operation::Result.new(reply))
48
61
  end
49
62
  reply
50
63
  end
@@ -20,6 +20,17 @@ describe Mongo::Auth::Kerberos::Conversation do
20
20
  and_return(authenticator)
21
21
  end
22
22
 
23
+ context 'when the user has a realm', if: RUBY_PLATFORM == 'java' do
24
+
25
+ let(:user) do
26
+ Mongo::Auth::User.new(user: 'user1@MYREALM.ME')
27
+ end
28
+
29
+ it 'includes the realm in the username as it was provided' do
30
+ expect(conversation.user.name).to eq(user.name)
31
+ end
32
+ end
33
+
23
34
  describe '#start' do
24
35
 
25
36
  let(:query) do
@@ -46,13 +57,9 @@ describe Mongo::Auth::Kerberos::Conversation do
46
57
  expect(selector[:mechanism]).to eq('GSSAPI')
47
58
  end
48
59
 
49
- it 'sets the payload', unless: BSON::Environment.jruby? do
60
+ it 'sets the payload' do
50
61
  expect(selector[:payload]).to start_with('test')
51
62
  end
52
-
53
- it 'sets the payload', if: BSON::Environment.jruby? do
54
- expect(selector[:payload].data).to start_with('test')
55
- end
56
63
  end
57
64
 
58
65
  describe '#finalize' do
@@ -61,8 +68,10 @@ describe Mongo::Auth::Kerberos::Conversation do
61
68
  Mongo::Protocol::Reply.new
62
69
  end
63
70
 
71
+ let(:continue_token_contents) { 'testing' }
72
+
64
73
  let(:continue_token) do
65
- BSON::Environment.jruby? ? BSON::Binary.new('testing') : 'testing'
74
+ continue_token_contents
66
75
  end
67
76
 
68
77
  context 'when the conversation is a success' do
@@ -71,7 +80,7 @@ describe Mongo::Auth::Kerberos::Conversation do
71
80
  [{
72
81
  'conversationId' => 1,
73
82
  'done' => false,
74
- 'payload' => continue_token,
83
+ 'payload' => continue_token_contents,
75
84
  'ok' => 1.0
76
85
  }]
77
86
  end
@@ -86,7 +95,7 @@ describe Mongo::Auth::Kerberos::Conversation do
86
95
 
87
96
  before do
88
97
  expect(authenticator).to receive(:evaluate_challenge).
89
- with('testing').and_return(continue_token)
98
+ with(continue_token_contents).and_return(continue_token_contents)
90
99
  reply.instance_variable_set(:@documents, documents)
91
100
  end
92
101
 
@@ -94,14 +103,10 @@ describe Mongo::Auth::Kerberos::Conversation do
94
103
  expect(selector[:conversationId]).to eq(1)
95
104
  end
96
105
 
97
- it 'sets the payload', unless: BSON::Environment.jruby? do
106
+ it 'sets the payload' do
98
107
  expect(selector[:payload]).to eq(continue_token)
99
108
  end
100
109
 
101
- it 'sets the payload', if: BSON::Environment.jruby? do
102
- expect(selector[:payload].data).to eq(continue_token)
103
- end
104
-
105
110
  it 'sets the continue flag' do
106
111
  expect(selector[:saslContinue]).to eq(1)
107
112
  end
data/spec/spec_helper.rb CHANGED
@@ -15,15 +15,6 @@
15
15
  $LOAD_PATH.unshift(File.dirname(__FILE__))
16
16
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
17
17
 
18
- if ENV["CI"] && !ENV["WITH_EXT"]
19
- require "simplecov"
20
- require "coveralls"
21
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
22
- SimpleCov.start do
23
- add_filter "spec"
24
- end
25
- end
26
-
27
18
  require "mongo_kerberos"
28
19
  require "rspec"
29
20
 
metadata CHANGED
@@ -1,55 +1,32 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo_kerberos
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.2
5
5
  platform: java
6
6
  authors:
7
- - Emily Stolfo
8
- - Durran Jordan
7
+ - The MongoDB Ruby Team
9
8
  autorequire:
10
9
  bindir: bin
11
- cert_chain:
12
- - |
13
- -----BEGIN CERTIFICATE-----
14
- MIIDfDCCAmSgAwIBAgIBATANBgkqhkiG9w0BAQUFADBCMRQwEgYDVQQDDAtkcml2
15
- ZXItcnVieTEVMBMGCgmSJomT8ixkARkWBTEwZ2VuMRMwEQYKCZImiZPyLGQBGRYD
16
- Y29tMB4XDTE0MTEyMDE1NTYxOVoXDTE1MTEyMDE1NTYxOVowQjEUMBIGA1UEAwwL
17
- ZHJpdmVyLXJ1YnkxFTATBgoJkiaJk/IsZAEZFgUxMGdlbjETMBEGCgmSJomT8ixk
18
- ARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANFdSAa8fRm1
19
- bAM9za6Z0fAH4g02bqM1NGnw8zJQrE/PFrFfY6IFCT2AsLfOwr1maVm7iU1+kdVI
20
- IQ+iI/9+E+ArJ+rbGV3dDPQ+SLl3mLT+vXjfjcxMqI2IW6UuVtt2U3Rxd4QU0kdT
21
- JxmcPYs5fDN6BgYc6XXgUjy3m+Kwha2pGctdciUOwEfOZ4RmNRlEZKCMLRHdFP8j
22
- 4WTnJSGfXDiuoXICJb5yOPOZPuaapPSNXp93QkUdsqdKC32I+KMpKKYGBQ6yisfA
23
- 5MyVPPCzLR1lP5qXVGJPnOqUAkvEUfCahg7EP9tI20qxiXrR6TSEraYhIFXL0EGY
24
- u8KAcPHm5KkCAwEAAaN9MHswCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAwHQYDVR0O
25
- BBYEFFt3WbF+9JpUjAoj62cQBgNb8HzXMCAGA1UdEQQZMBeBFWRyaXZlci1ydWJ5
26
- QDEwZ2VuLmNvbTAgBgNVHRIEGTAXgRVkcml2ZXItcnVieUAxMGdlbi5jb20wDQYJ
27
- KoZIhvcNAQEFBQADggEBAKjvumG2Fy9zAoSc1OEcmAqqOfzx1U+isGyEsz1rs5eT
28
- HAIHsxaEdZTjSwDuqyelLDWJHWspeWU5pV5lepfI4cop29wwoPJIJ9Az2RMMbtdv
29
- gFApVb6QX61OMenFeOdJ/QZ3n9xcrxJZFdvrXQ5GjEU2anq3dJhFeESwIMlfVJC7
30
- 7XrlMxizzH712DPfy65dMj0Y39qHdoWYKeCkEoj5UWNcHRK9xgaHJR6prlXrIhgb
31
- o2UXDbWtz5PqoFd8EgNJAn3+BG1pwC9S9pVFG3WPucfAx/bE8iq/vvchHei5Y/Vo
32
- aAz5f/hY4zFeYWvGDBHYEXE1rTN2hhMSyJscPcFbmz0=
33
- -----END CERTIFICATE-----
34
- date: 2015-03-25 00:00:00.000000000 Z
10
+ cert_chain: []
11
+ date: 2024-11-08 00:00:00.000000000 Z
35
12
  dependencies:
36
13
  - !ruby/object:Gem::Dependency
37
- name: mongo
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - ~>
41
- - !ruby/object:Gem::Version
42
- version: 2.0.0
43
14
  requirement: !ruby/object:Gem::Requirement
44
15
  requirements:
45
- - - ~>
16
+ - - "~>"
46
17
  - !ruby/object:Gem::Version
47
- version: 2.0.0
48
- prerelease: false
18
+ version: '2.0'
19
+ name: mongo
49
20
  type: :runtime
50
- description: Adds Kerberos authentication via libsasl to the MongoDB Ruby Driver on MRI and JRuby
51
- email:
52
- - mongodb-dev@googlegroups.com
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.0'
27
+ description: Adds Kerberos authentication via libsasl to the MongoDB Ruby Driver on
28
+ MRI and JRuby
29
+ email: dbx-ruby@mongodb.com
53
30
  executables: []
54
31
  extensions: []
55
32
  extra_rdoc_files: []
@@ -59,43 +36,44 @@ files:
59
36
  - NOTICE
60
37
  - README.md
61
38
  - Rakefile
62
- - lib/mongo_kerberos.rb
63
39
  - lib/mongo/auth/kerberos.rb
64
40
  - lib/mongo/auth/kerberos/conversation.rb
65
- - lib/mongo/auth/kerberos/jsasl.jar
66
- - lib/mongo/auth/kerberos/native.bundle
67
- - lib/mongo/auth/kerberos/native.jar
68
- - lib/mongo/auth/kerberos/version.rb
69
41
  - lib/mongo/auth/kerberos/jruby/authenticator.rb
70
42
  - lib/mongo/auth/kerberos/mri/authenticator.rb
71
- - spec/spec_helper.rb
43
+ - lib/mongo/auth/kerberos/native.jar
44
+ - lib/mongo/auth/kerberos/version.rb
45
+ - lib/mongo_kerberos.rb
72
46
  - spec/mongo/auth/kerberos/conversation_spec.rb
73
47
  - spec/mongo/auth/kerberos/mri/authenticator_spec.rb
74
- homepage: http://www.mongodb.org
48
+ - spec/spec_helper.rb
49
+ homepage: https://docs.mongodb.com/ruby-driver/current/tutorials/ruby-driver-authentication/#kerberos-gssapi-mechanism
75
50
  licenses:
76
- - Apache License Version 2.0
77
- metadata: {}
51
+ - Apache-2.0
52
+ metadata:
53
+ bug_tracker_uri: https://jira.mongodb.org/projects/RUBY
54
+ changelog_uri: https://github.com/mongodb/mongo-ruby-kerberos/releases
55
+ documentation_uri: https://www.mongodb.com/docs/ruby-driver/current/reference/authentication/#kerberos--gssapi-
56
+ source_code_uri: https://github.com/mongodb/mongo-ruby-kerberos
78
57
  post_install_message:
79
58
  rdoc_options: []
80
59
  require_paths:
81
60
  - lib
82
61
  required_ruby_version: !ruby/object:Gem::Requirement
83
62
  requirements:
84
- - - '>='
63
+ - - ">="
85
64
  - !ruby/object:Gem::Version
86
65
  version: 1.9.3
87
66
  required_rubygems_version: !ruby/object:Gem::Requirement
88
67
  requirements:
89
- - - '>='
68
+ - - ">="
90
69
  - !ruby/object:Gem::Version
91
70
  version: 1.3.6
92
71
  requirements: []
93
- rubyforge_project: mongo_kerberos
94
- rubygems_version: 2.1.9
72
+ rubygems_version: 3.3.26
95
73
  signing_key:
96
74
  specification_version: 4
97
75
  summary: Kerberos authentication support for the MongoDB Ruby driver
98
76
  test_files:
99
- - spec/spec_helper.rb
100
77
  - spec/mongo/auth/kerberos/conversation_spec.rb
101
78
  - spec/mongo/auth/kerberos/mri/authenticator_spec.rb
79
+ - spec/spec_helper.rb
checksums.yaml.gz.sig DELETED
Binary file
Binary file
Binary file
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
Binary file