net-http-ntlm 0.1.0 → 0.2.0

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
2
  SHA256:
3
- metadata.gz: b136952fd078c094ec85c2e78dd3d7d9a4debabe199dab0bd85f13665cb4a4ff
4
- data.tar.gz: b53ab6adf869d124c1e9e4cfdf51737c54225e0f9f18872f661d95cbe148ee84
3
+ metadata.gz: d17690754e29faf36ce1bdb21ec366a0be3ff33340c68cf5c912ff2c8229cf03
4
+ data.tar.gz: c9a048d0a4867e6497bad06f7fe29efd4d8024ec2af235f2078469d10ba64228
5
5
  SHA512:
6
- metadata.gz: ca6f9132f7300130f80e56a1ea41c92154f0e84a149beaee084436bed54364de622d52d3a1a297a934d19d0da6e43fcf7c31cfd045ebaa038da7f9be670b9603
7
- data.tar.gz: 745928e94699848e2a6480badecb5f9be7251417bc6644c606d64d96957bd64be69ddd3eb1a6b9f51a4a94a1fb09eb69c47315d6bf7abfe93b6b922dd290c027
6
+ metadata.gz: 9705c91a52c549047ac737a433f56882b2334226a68e5c01e512766f1abbcd21665b46ba55f825a95974dcaa36359c0a81d700c8d3586fba9495d0e8cb1c5055
7
+ data.tar.gz: 282522d98b79f2b87cd933ca49b57b531c3d72a3d7e5a2800ffd522fd641d614304f9d245410d19a47f8c6c9faec9b0ecf4692bbc40e89dc503295e32222632c
@@ -1,14 +1,5 @@
1
1
  name: CI
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
- pull_request:
8
- pull_request_target:
9
- branches:
10
- - main
11
-
2
+ on: [push, pull_request]
12
3
  jobs:
13
4
  ci:
14
5
  name: CI
@@ -16,17 +7,22 @@ jobs:
16
7
  matrix:
17
8
  os-version: [ 'ubuntu-latest' ]
18
9
  ruby-version:
19
- - 2.5
20
- - 2.6
21
- - 2.7
22
10
  - 3.0
23
- fail-fast: true
11
+ - 3.1
12
+ - 3.2
13
+ include:
14
+ - ruby-version: '3.1'
15
+ coverage: 'true'
16
+ fail-fast: false
24
17
 
25
18
  runs-on: ${{ matrix.os-version }}
26
19
 
20
+ env:
21
+ COVERAGE: "${{matrix.coverage}}"
22
+
27
23
  steps:
28
24
  - name: Checkout code
29
- uses: actions/checkout@v2
25
+ uses: actions/checkout@v3
30
26
 
31
27
  - name: Set up Ruby
32
28
  uses: ruby/setup-ruby@v1
@@ -35,10 +31,11 @@ jobs:
35
31
  bundler-cache: true
36
32
 
37
33
  - name: Run bundler-audit
38
- run: bundle exec bundler-audit
39
-
40
- # - name: Run rubocop
41
- # run: bundle exec rubocop
34
+ run: |
35
+ bundle exec bundler-audit update
36
+ bundle exec bundler-audit
42
37
 
43
38
  - name: Run rspec
44
- run: bundle exec rspec
39
+ env:
40
+ OPENSSL_CONF: etc/openssl.cnf
41
+ run: bundle exec rspec
@@ -0,0 +1,39 @@
1
+ name: Release
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ jobs:
7
+ release-please:
8
+ runs-on: ubuntu-latest
9
+ steps:
10
+ - uses: GoogleCloudPlatform/release-please-action@v2
11
+ id: release
12
+ with:
13
+ release-type: ruby
14
+ package-name: release-please-demo
15
+ bump-minor-pre-major: true
16
+ version-file: "lib/net/http/ntlm/version.rb"
17
+ # Checkout code if release was created
18
+ - uses: actions/checkout@v2
19
+ if: ${{ steps.release.outputs.release_created }}
20
+ # Setup ruby if a release was created
21
+ - uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: 3.1
24
+ if: ${{ steps.release.outputs.release_created }}
25
+ # Bundle install
26
+ - run: bundle install
27
+ if: ${{ steps.release.outputs.release_created }}
28
+ # Publish
29
+ - name: publish gem
30
+ env:
31
+ RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
32
+ run: |
33
+ mkdir -p $HOME/.gem
34
+ touch $HOME/.gem/credentials
35
+ chmod 0600 $HOME/.gem/credentials
36
+ printf -- "---\n:rubygems_api_key: ${RUBYGEMS_API_KEY}\n" > $HOME/.gem/credentials
37
+ gem build *.gemspec
38
+ gem push *.gem
39
+ if: ${{ steps.release.outputs.release_created }}
data/.gitignore CHANGED
@@ -62,4 +62,6 @@ build-iPhoneSimulator/
62
62
  .tool-versions
63
63
 
64
64
  # MacOS
65
- .DS_Store
65
+ .DS_Store
66
+
67
+ Gemfile.lock
data/.simplecov CHANGED
@@ -3,3 +3,8 @@
3
3
  SimpleCov.start do
4
4
  add_filter '/spec/'
5
5
  end
6
+
7
+ if ENV['CI'] == 'true' && ENV['COVERAGE'] == 'true'
8
+ require 'codecov'
9
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
10
+ end
data/CHANGELOG.md ADDED
@@ -0,0 +1,8 @@
1
+ # Changelog
2
+
3
+ ## [0.2.0](https://www.github.com/at-point/net-http-ntlm/compare/v0.1.0...v0.2.0) (2023-12-04)
4
+
5
+
6
+ ### Features
7
+
8
+ * Drop Ruby 2.x support
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # net-http-ntlm
2
2
  [![CI](https://github.com/at-point/net-http-ntlm/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/at-point/net-http-ntlm/actions/workflows/ci.yml)
3
+ [![Coverage](https://codecov.io/gh/at-point/net-http-ntlm/branch/main/graph/badge.svg?token=B9C9BRLWR6)](https://codecov.io/gh/at-point/net-http-ntlm)
4
+ [![Gem Version](https://badge.fury.io/rb/net-http-ntlm.svg)](https://badge.fury.io/rb/net-http-ntlm)
3
5
 
4
6
  Adds NTLM authentication to HTTP requests using the rubyntlm gem.
5
7
  A drop-in replacement for ruby-ntlm with NTLMv2 support.
@@ -7,11 +9,10 @@ A drop-in replacement for ruby-ntlm with NTLMv2 support.
7
9
  NTLM authentication is used in Microsoft's server products,
8
10
  such as MS Exchange Server and IIS.
9
11
 
10
- Install
11
- -------
12
+ ## Install
12
13
 
13
14
  ```sh
14
- $ sudo gem install net-http-ntlm
15
+ gem install net-http-ntlm
15
16
  ```
16
17
 
17
18
  If you'd rather install net-http-ntlm using `bundler`, add a line for it in your Gemfile:
@@ -20,19 +21,26 @@ If you'd rather install net-http-ntlm using `bundler`, add a line for it in your
20
21
  gem 'net-http-ntlm'
21
22
  ```
22
23
 
23
- Usage
24
- -----
24
+ ## Note about Ruby 3 and OpenSSL 3
25
+
26
+ NTLM potentially uses legacy ciphers, which need to be enabled explicitly.
27
+
28
+ You can either create a custom OpenSSL profile in Ruby or load a custom SSL
29
+ configuration by setting `OPENSSL_CONF=` before Ruby loads.
30
+
31
+ There's an example in the [Github Actions][.github/workflows/ci.yml]
32
+
33
+ ## Usage
25
34
 
26
35
  ```rb
27
- require 'ntlm/http'
36
+ require 'net/http/ntlm'
28
37
  http = Net::HTTP.new('www.example.com')
29
38
  request = Net::HTTP::Get.new('/')
30
39
  request.ntlm_auth('User', 'Domain', 'Password')
31
40
  response = http.request(request)
32
41
  ```
33
42
 
34
- References
35
- ----------
43
+ ## References
36
44
 
37
- * rubyntlm: https://github.com/WinRb/rubyntlm
38
- * ruby-ntlm: https://github.com/macks/ruby-ntlm
45
+ * rubyntlm: https://github.com/WinRb/rubyntlm
46
+ * ruby-ntlm: https://github.com/macks/ruby-ntlm
@@ -13,7 +13,7 @@ module Net::HTTP::NTLM::Transport
13
13
  # @param body [String] Request body
14
14
  # @yield [Net::HTTPResponse] Passes the HTTP response object to the block
15
15
  # @return [Net::HTTPResponse] The HTTP response object
16
- def request_with_ntlm(req, body = nil, &block) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity, Metrics/MethodLength
16
+ def request_with_ntlm(req, body = nil, &block)
17
17
  # If we don't have NTLM credentials, handle as regular request
18
18
  return request_without_ntlm_auth(req, body, &block) unless req.ntlm_auth_user
19
19
 
@@ -3,5 +3,5 @@
3
3
  require 'net/http'
4
4
 
5
5
  module Net::HTTP::NTLM
6
- VERSION = '0.1.0'
6
+ VERSION = '0.2.0'
7
7
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.summary = 'NTLM authentication for Net::HTTP'
12
12
  spec.description = 'Adds NTLM authentication support for Net::HTTP using rubyntlm'
13
13
  spec.homepage = 'https://github.com/at-point/net-http-ntlm'
14
- spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
14
+ spec.required_ruby_version = Gem::Requirement.new('>= 3.0.0')
15
15
 
16
16
  spec.metadata['homepage_uri'] = spec.homepage
17
17
  spec.metadata['source_code_uri'] = 'https://github.com/at-point/net-http-ntlm'
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  # Specify which files should be added to the gem when it is released.
21
21
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
22
22
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
23
- `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|etc)/}) }
24
24
  end
25
25
  spec.bindir = 'exe'
26
26
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
@@ -28,9 +28,10 @@ Gem::Specification.new do |spec|
28
28
 
29
29
  spec.add_dependency 'rubyntlm', '~> 0.6'
30
30
 
31
- spec.add_development_dependency 'bundler-audit', '~> 0.8'
32
- spec.add_development_dependency 'rake', '~> 12.0'
31
+ spec.add_development_dependency 'bundler-audit', '~> 0.9'
32
+ spec.add_development_dependency 'codecov'
33
+ spec.add_development_dependency 'rake', '~> 13.0'
33
34
  spec.add_development_dependency 'rspec', '~> 3.0'
34
- spec.add_development_dependency 'rubocop', '~> 1.0'
35
35
  spec.add_development_dependency 'simplecov'
36
+
36
37
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: net-http-ntlm
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
  - Simon Schmid
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-05-27 00:00:00.000000000 Z
11
+ date: 2023-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyntlm
@@ -30,56 +30,56 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.8'
33
+ version: '0.9'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.8'
40
+ version: '0.9'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: codecov
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '12.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '12.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '13.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.0'
68
+ version: '13.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '1.0'
75
+ version: '3.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '1.0'
82
+ version: '3.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -102,12 +102,12 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - ".github/workflows/ci.yml"
105
+ - ".github/workflows/release.yml"
105
106
  - ".gitignore"
106
107
  - ".rspec"
107
- - ".rubocop.yml"
108
108
  - ".simplecov"
109
+ - CHANGELOG.md
109
110
  - Gemfile
110
- - Gemfile.lock
111
111
  - LICENSE
112
112
  - README.md
113
113
  - Rakefile
@@ -127,7 +127,7 @@ metadata:
127
127
  homepage_uri: https://github.com/at-point/net-http-ntlm
128
128
  source_code_uri: https://github.com/at-point/net-http-ntlm
129
129
  changelog_uri: https://github.com/at-point/net-http-ntlm/blob/main/CHANGELOG.md
130
- post_install_message:
130
+ post_install_message:
131
131
  rdoc_options: []
132
132
  require_paths:
133
133
  - lib
@@ -135,16 +135,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
- version: 2.5.0
138
+ version: 3.0.0
139
139
  required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  requirements:
141
141
  - - ">="
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubyforge_project:
146
- rubygems_version: 2.7.6
147
- signing_key:
145
+ rubygems_version: 3.3.26
146
+ signing_key:
148
147
  specification_version: 4
149
148
  summary: NTLM authentication for Net::HTTP
150
149
  test_files: []
data/.rubocop.yml DELETED
@@ -1,15 +0,0 @@
1
- AllCops:
2
- TargetRubyVersion: 2.5
3
- Exclude:
4
- - bin/*
5
-
6
- Style/ClassAndModuleChildren:
7
- Enabled: false
8
-
9
- Layout/LineLength:
10
- Exclude:
11
- - spec/**/*
12
-
13
- Metrics/BlockLength:
14
- Exclude:
15
- - spec/**/*
data/Gemfile.lock DELETED
@@ -1,70 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- net-http-ntlm (0.1.0)
5
- rubyntlm (~> 0.6)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- ast (2.4.2)
11
- bundler-audit (0.8.0)
12
- bundler (>= 1.2.0, < 3)
13
- thor (~> 1.0)
14
- diff-lcs (1.4.4)
15
- docile (1.4.0)
16
- parallel (1.20.1)
17
- parser (3.0.1.1)
18
- ast (~> 2.4.1)
19
- rainbow (3.0.0)
20
- rake (12.3.3)
21
- regexp_parser (2.1.1)
22
- rexml (3.2.5)
23
- rspec (3.10.0)
24
- rspec-core (~> 3.10.0)
25
- rspec-expectations (~> 3.10.0)
26
- rspec-mocks (~> 3.10.0)
27
- rspec-core (3.10.1)
28
- rspec-support (~> 3.10.0)
29
- rspec-expectations (3.10.1)
30
- diff-lcs (>= 1.2.0, < 2.0)
31
- rspec-support (~> 3.10.0)
32
- rspec-mocks (3.10.2)
33
- diff-lcs (>= 1.2.0, < 2.0)
34
- rspec-support (~> 3.10.0)
35
- rspec-support (3.10.2)
36
- rubocop (1.15.0)
37
- parallel (~> 1.10)
38
- parser (>= 3.0.0.0)
39
- rainbow (>= 2.2.2, < 4.0)
40
- regexp_parser (>= 1.8, < 3.0)
41
- rexml
42
- rubocop-ast (>= 1.5.0, < 2.0)
43
- ruby-progressbar (~> 1.7)
44
- unicode-display_width (>= 1.4.0, < 3.0)
45
- rubocop-ast (1.6.0)
46
- parser (>= 3.0.1.1)
47
- ruby-progressbar (1.11.0)
48
- rubyntlm (0.6.3)
49
- simplecov (0.21.2)
50
- docile (~> 1.1)
51
- simplecov-html (~> 0.11)
52
- simplecov_json_formatter (~> 0.1)
53
- simplecov-html (0.12.3)
54
- simplecov_json_formatter (0.1.3)
55
- thor (1.1.0)
56
- unicode-display_width (2.0.0)
57
-
58
- PLATFORMS
59
- ruby
60
-
61
- DEPENDENCIES
62
- bundler-audit (~> 0.8)
63
- net-http-ntlm!
64
- rake (~> 12.0)
65
- rspec (~> 3.0)
66
- rubocop (~> 1.0)
67
- simplecov
68
-
69
- BUNDLED WITH
70
- 2.1.4