htauth 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/CONTRIBUTING.md +3 -2
- data/HISTORY.md +10 -0
- data/LICENSE +2 -0
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/lib/htauth/passwd.rb +1 -1
- data/lib/htauth/passwd_entry.rb +2 -2
- data/lib/htauth/version.rb +1 -1
- data/tasks/default.rake +18 -52
- data/tasks/this.rb +15 -21
- metadata +31 -17
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
M2I1NTRmMmRhMzE4NzVlMTY2MjI1OGNhMmExNzUzNzE0YjY2MWI1Yw==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 68e39a2811eb3436eb1de8ceac4bf0fd4ad458b9
|
4
|
+
data.tar.gz: 3c432666f3fabec0d5b0ef6e3fc4720bfcf2dcb8
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YmI0ZmU1MGZiNDdiMjE1MzQzZWJmNjY1YWM2OGYxY2EzNWVlZmM1MzE5ZjRj
|
11
|
-
ZWU4NWRmNmVkYWRkYmRhMDgzMjA2MTJjMGM0ZGViMjBmYWQzZTA=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
OGY5MTIyMTQxYzM1MGVkODk0OGNjMDdiZDkxNWYyMTI1Y2E3NjNhMTZlMTcy
|
14
|
-
MmIyN2FjZDMyMjA0YjIxYmQ0MzE4ZTgzNDI4ZjAxNzk5YWYxMGUyNmJjZGIz
|
15
|
-
NWZjMmM4ZTAzNzYxMTk4NjNiY2Y0Y2U3MDgwNmQ0Y2I2ZDY3YTQ=
|
6
|
+
metadata.gz: 3139d1a21b6e3ccd5a31fc6cb27d1f39ef1d898fc50e078b154f90659fbdc9fb8f119d56fb9c182e1af95422d9e308fb9632a4a9fc8f47781c1837a28d3bb8da
|
7
|
+
data.tar.gz: 8bb24b28ce66741222787a1c965e27e5d6c3f5d43aae96699e6d95f1f671d59876ccb2f3476e5db4154dbb39e4dbe272649f1245432fc38962be0bf98cd5a179
|
data/CONTRIBUTING.md
CHANGED
@@ -27,7 +27,8 @@ easiest way to contribute.
|
|
27
27
|
* Fork the [repo][].
|
28
28
|
* Create a new branch for your issue: `git checkout -b issue/my-issue`
|
29
29
|
* Lovingly craft your contribution:
|
30
|
-
* `rake develop` to
|
30
|
+
* `rake develop` to bootstrap development. (skip if you already have bundler installed)
|
31
|
+
* `bundle install` to install dependencies.
|
31
32
|
* `rake test` to run tests
|
32
33
|
* Make sure that `rake test` passes. It's important, I said it twice.
|
33
34
|
* Add yourself to the contributors section below.
|
@@ -36,7 +37,7 @@ easiest way to contribute.
|
|
36
37
|
# Contributors
|
37
38
|
|
38
39
|
* [Jeremy Hinegardner](https://github.com/copiousfreetime)
|
39
|
-
* [
|
40
|
+
* [Chulki Lee](https://github.com/chulkilee)
|
40
41
|
|
41
42
|
[GitHub Account]: https://github.com/signup/free "GitHub Signup"
|
42
43
|
[GitHub Issues]: https://github.com/copiousfreetime/htauth/issues "Htauth Issues"
|
data/HISTORY.md
CHANGED
@@ -1,5 +1,15 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## Version 1.2.0 2015-07-18
|
4
|
+
|
5
|
+
* Clarify project license (its MIT) - [#7](https://github.com/copiousfreetime/htauth/issues/7)
|
6
|
+
* Cleanup travis ci config - [#8](https://github.com/copiousfreetime/htauth/issues/8)
|
7
|
+
* performance improvement in large passwd files - [#4](https://github.com/copiousfreetime/htauth/pull/4)
|
8
|
+
* Update dependencies
|
9
|
+
* Update project layout/tooling
|
10
|
+
* Official notation that this project uses [Semantic Versioning](http://semver.org/)
|
11
|
+
* Add [Chulki Lee](https://github.com/chulkilee) as contributor.
|
12
|
+
|
3
13
|
## Version 1.1.0 2014-03-10
|
4
14
|
|
5
15
|
* Update highline dependency
|
data/LICENSE
CHANGED
data/README.md
CHANGED
@@ -71,7 +71,7 @@ Additionally, you can access all the functionality of *htdigest-ruby* and
|
|
71
71
|
* [The Apache Software Foundation](http://www.apache.org/)
|
72
72
|
* all the folks who contributed to htdigest and htpassword
|
73
73
|
|
74
|
-
## LICENSE
|
74
|
+
## MIT LICENSE
|
75
75
|
|
76
76
|
Copyright (c) 2008 Jeremy Hinegardner
|
77
77
|
|
data/Rakefile
CHANGED
@@ -10,6 +10,7 @@ This.ruby_gemspec do |spec|
|
|
10
10
|
spec.add_development_dependency( 'rake' , '~> 10.1')
|
11
11
|
spec.add_development_dependency( 'minitest' , '~> 5.0' )
|
12
12
|
spec.add_development_dependency( 'rdoc' , '~> 4.0' )
|
13
|
+
spec.add_development_dependency( 'simplecov', '~> 0.9' )
|
13
14
|
|
14
15
|
spec.add_dependency("highline", "~> 1.6")
|
15
16
|
end
|
data/lib/htauth/passwd.rb
CHANGED
@@ -141,7 +141,7 @@ EOB
|
|
141
141
|
passwd_file.delete(options.username)
|
142
142
|
else
|
143
143
|
unless options.batch_mode
|
144
|
-
# initialize here so that if $stdin is overwritten it
|
144
|
+
# initialize here so that if $stdin is overwritten it gets picked up
|
145
145
|
hl = ::HighLine.new
|
146
146
|
|
147
147
|
action = passwd_file.has_entry?(options.username) ? "Changing" : "Adding"
|
data/lib/htauth/passwd_entry.rb
CHANGED
@@ -42,11 +42,11 @@ module HTAuth
|
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
45
|
-
def initialize(user, password =
|
45
|
+
def initialize(user, password = nil, alg = Algorithm::DEFAULT, alg_params = {} )
|
46
46
|
@user = user
|
47
47
|
alg = Algorithm::DEFAULT if alg == Algorithm::EXISTING
|
48
48
|
@algorithm = Algorithm.algorithm_from_name(alg, alg_params)
|
49
|
-
@digest = algorithm.encode(password)
|
49
|
+
@digest = algorithm.encode(password) if password
|
50
50
|
end
|
51
51
|
|
52
52
|
def algorithm=(alg)
|
data/lib/htauth/version.rb
CHANGED
data/tasks/default.rake
CHANGED
@@ -10,21 +10,12 @@ namespace :develop do
|
|
10
10
|
|
11
11
|
# Install all the development and runtime dependencies of this gem using the
|
12
12
|
# gemspec.
|
13
|
-
task :default do
|
13
|
+
task :default => 'Gemfile' do
|
14
14
|
require 'rubygems/dependency_installer'
|
15
15
|
installer = ::Gem::DependencyInstaller.new
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
puts "Installing gem depedencies needed for development"
|
20
|
-
This.platform_gemspec.dependencies.each do |dep|
|
21
|
-
if dep.matching_specs.empty? then
|
22
|
-
puts "Installing : #{dep}"
|
23
|
-
installer.install dep
|
24
|
-
else
|
25
|
-
puts "Skipping : #{dep} -> already installed #{dep.matching_specs.first.full_name}"
|
26
|
-
end
|
27
|
-
end
|
16
|
+
puts "Installing bundler..."
|
17
|
+
installer.install 'bundler'
|
18
|
+
sh 'bundle install'
|
28
19
|
puts "\n\nNow run 'rake test'"
|
29
20
|
end
|
30
21
|
|
@@ -33,20 +24,12 @@ namespace :develop do
|
|
33
24
|
File.open( "Gemfile", "w+" ) do |f|
|
34
25
|
f.puts "# DO NOT EDIT - This file is automatically generated"
|
35
26
|
f.puts "# Make changes to Manifest.txt and/or Rakefile and regenerate"
|
36
|
-
f.puts 'source "https://rubygems.org
|
27
|
+
f.puts 'source "https://rubygems.org"'
|
37
28
|
f.puts 'gemspec'
|
38
29
|
end
|
39
30
|
end
|
40
|
-
|
41
|
-
desc "Create a bundler Gemfile"
|
42
|
-
task :using_bundler => 'Gemfile' do
|
43
|
-
puts "Now you can 'bundle'"
|
44
|
-
end
|
45
|
-
|
46
|
-
# Gemfiles are build artifacts
|
47
|
-
CLOBBER << FileList['Gemfile*']
|
48
31
|
end
|
49
|
-
desc "
|
32
|
+
desc "Bootstrap development"
|
50
33
|
task :develop => "develop:default"
|
51
34
|
|
52
35
|
#------------------------------------------------------------------------------
|
@@ -90,31 +73,16 @@ end
|
|
90
73
|
# Coverage - optional code coverage, rcov for 1.8 and simplecov for 1.9, so
|
91
74
|
# for the moment only rcov is listed.
|
92
75
|
#------------------------------------------------------------------------------
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
t.verbose = true
|
100
|
-
t.rcov_opts << "-x ^/" # remove all the global files
|
101
|
-
t.rcov_opts << "--sort coverage" # so we see the worst files at the top
|
102
|
-
end
|
103
|
-
rescue LoadError
|
104
|
-
This.task_warning( 'rcov' )
|
105
|
-
end
|
106
|
-
else
|
107
|
-
begin
|
108
|
-
require 'simplecov'
|
109
|
-
desc 'Run tests with code coverage'
|
110
|
-
task :coverage do
|
111
|
-
ENV['COVERAGE'] = 'true'
|
112
|
-
Rake::Task[:test].execute
|
113
|
-
end
|
114
|
-
CLOBBER << FileList["coverage"]
|
115
|
-
rescue LoadError
|
116
|
-
This.task_warning( 'simplecov' )
|
76
|
+
begin
|
77
|
+
require 'simplecov'
|
78
|
+
desc 'Run tests with code coverage'
|
79
|
+
task :coverage do
|
80
|
+
ENV['COVERAGE'] = 'true'
|
81
|
+
Rake::Task[:test].execute
|
117
82
|
end
|
83
|
+
CLOBBER << 'coverage' if File.directory?( 'coverage' )
|
84
|
+
rescue LoadError
|
85
|
+
This.task_warning( 'simplecov' )
|
118
86
|
end
|
119
87
|
|
120
88
|
#------------------------------------------------------------------------------
|
@@ -179,9 +147,10 @@ namespace :fixme do
|
|
179
147
|
end
|
180
148
|
|
181
149
|
def outdated_fixme_files
|
182
|
-
local_fixme_files.
|
150
|
+
local_fixme_files.select do |local|
|
183
151
|
upstream = fixme_project_path( local )
|
184
|
-
|
152
|
+
upstream.exist? &&
|
153
|
+
( Digest::SHA256.file( local ) != Digest::SHA256.file( upstream ) )
|
185
154
|
end
|
186
155
|
end
|
187
156
|
|
@@ -231,9 +200,6 @@ task :gemspec do
|
|
231
200
|
end
|
232
201
|
end
|
233
202
|
|
234
|
-
# the gemspec is also a dev artifact and should not be kept around.
|
235
|
-
CLOBBER << This.gemspec_file.to_s
|
236
|
-
|
237
203
|
# .rbc files from ruby 2.0
|
238
204
|
CLOBBER << FileList["**/*.rbc"]
|
239
205
|
|
data/tasks/this.rb
CHANGED
@@ -13,7 +13,7 @@ class ThisProject
|
|
13
13
|
attr_accessor :email
|
14
14
|
|
15
15
|
# The homepage of this project
|
16
|
-
attr_accessor :homepage
|
16
|
+
attr_accessor :homepage
|
17
17
|
|
18
18
|
# The regex of files to exclude from the manifest
|
19
19
|
attr_accessor :exclude_from_manifest
|
@@ -25,7 +25,11 @@ class ThisProject
|
|
25
25
|
#
|
26
26
|
# Yields self
|
27
27
|
def initialize(&block)
|
28
|
-
@exclude_from_manifest =
|
28
|
+
@exclude_from_manifest = Regexp.union(/\.(git|DS_Store)/,
|
29
|
+
/^(doc|coverage|pkg|tmp|Gemfile(\.lock)?)/,
|
30
|
+
/^[^\/]+\.gemspec/,
|
31
|
+
/\.(swp|jar|bundle|so|rvmrc|travis.yml)$/,
|
32
|
+
/~$/)
|
29
33
|
@gemspecs = Hash.new
|
30
34
|
yield self if block_given?
|
31
35
|
end
|
@@ -119,7 +123,7 @@ class ThisProject
|
|
119
123
|
|
120
124
|
# Internal: Returns the gemspace associated with the current ruby platform
|
121
125
|
def platform_gemspec
|
122
|
-
gemspecs
|
126
|
+
gemspecs.fetch(platform) { This.ruby_gemspec }
|
123
127
|
end
|
124
128
|
|
125
129
|
def core_gemspec
|
@@ -141,6 +145,8 @@ class ThisProject
|
|
141
145
|
spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc|md)$/)
|
142
146
|
spec.rdoc_options = [ "--main" , 'README.md',
|
143
147
|
"--markup", "tomdoc" ]
|
148
|
+
|
149
|
+
spec.required_ruby_version = '>= 1.9.3'
|
144
150
|
end
|
145
151
|
end
|
146
152
|
|
@@ -167,20 +173,6 @@ class ThisProject
|
|
167
173
|
return spec
|
168
174
|
end
|
169
175
|
|
170
|
-
# Internal: Set the recovery gem development dependency
|
171
|
-
#
|
172
|
-
# These are dynamically set since they cannot be hard coded as there is
|
173
|
-
# no way to ship them correctly in the gemspec
|
174
|
-
#
|
175
|
-
# Returns nothing.
|
176
|
-
def set_coverage_gem
|
177
|
-
if RUBY_VERSION < "1.9.0"
|
178
|
-
platform_gemspec.add_development_dependency( 'rcov', '~> 1.0.0' )
|
179
|
-
else
|
180
|
-
platform_gemspec.add_development_dependency( 'simplecov', '~> 0.8.2' )
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
176
|
# Internal: Return the platform of ThisProject at the current moment in time.
|
185
177
|
def platform
|
186
178
|
(RUBY_PLATFORM == "java") ? 'java' : Gem::Platform::RUBY
|
@@ -190,19 +182,21 @@ class ThisProject
|
|
190
182
|
def description_section
|
191
183
|
section_of( 'README.md', 'DESCRIPTION')
|
192
184
|
end
|
193
|
-
|
194
|
-
|
185
|
+
|
186
|
+
# Internal: Return the summary text from the README
|
195
187
|
def summary
|
196
188
|
description_section.first
|
197
189
|
end
|
198
190
|
|
199
|
-
# Internal: Return the full description text from the
|
191
|
+
# Internal: Return the full description text from the README
|
200
192
|
def description
|
201
193
|
description_section.join(" ").tr("\n", ' ').gsub(/[{}]/,'').gsub(/\[[^\]]+\]/,'') # strip rdoc
|
202
194
|
end
|
203
195
|
|
204
196
|
def license
|
205
|
-
"
|
197
|
+
license_file = project_path("LICENSE")
|
198
|
+
line = license_file.readlines.first
|
199
|
+
line.split(/\s+/).first
|
206
200
|
end
|
207
201
|
|
208
202
|
# Internal: The path to the gemspec file
|
metadata
CHANGED
@@ -1,69 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: htauth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Hinegardner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10.1'
|
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
26
|
version: '10.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '5.0'
|
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
40
|
version: '5.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rdoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4.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
54
|
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.9'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.9'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: highline
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
|
-
- - ~>
|
73
|
+
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
75
|
version: '1.6'
|
62
76
|
type: :runtime
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
|
-
- - ~>
|
80
|
+
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '1.6'
|
69
83
|
description: HTAuth is a pure ruby replacement for the Apache support programs htdigest
|
@@ -127,29 +141,29 @@ files:
|
|
127
141
|
- tasks/this.rb
|
128
142
|
homepage: http://github.com/copiousfreetime/htauth
|
129
143
|
licenses:
|
130
|
-
-
|
144
|
+
- MIT
|
131
145
|
metadata: {}
|
132
146
|
post_install_message:
|
133
147
|
rdoc_options:
|
134
|
-
- --main
|
148
|
+
- "--main"
|
135
149
|
- README.md
|
136
|
-
- --markup
|
150
|
+
- "--markup"
|
137
151
|
- tomdoc
|
138
152
|
require_paths:
|
139
153
|
- lib
|
140
154
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
155
|
requirements:
|
142
|
-
- -
|
156
|
+
- - ">="
|
143
157
|
- !ruby/object:Gem::Version
|
144
|
-
version:
|
158
|
+
version: 1.9.3
|
145
159
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
146
160
|
requirements:
|
147
|
-
- -
|
161
|
+
- - ">="
|
148
162
|
- !ruby/object:Gem::Version
|
149
163
|
version: '0'
|
150
164
|
requirements: []
|
151
165
|
rubyforge_project:
|
152
|
-
rubygems_version: 2.
|
166
|
+
rubygems_version: 2.4.5
|
153
167
|
signing_key:
|
154
168
|
specification_version: 4
|
155
169
|
summary: HTAuth is a pure ruby replacement for the Apache support programs htdigest
|