strelka 0.9.1 → 0.10.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
  SHA1:
3
- metadata.gz: 75847ae82c8afb5c1b015ff7883b242f02f497e3
4
- data.tar.gz: f3a1644c01ff9e07c776eda4c98105a85c94f50b
3
+ metadata.gz: 2b80a99f214a313af79edba1b5f7805e9c0608bb
4
+ data.tar.gz: 29357b83d58fea5ed8643ae8cd3beebbb2f4a0fe
5
5
  SHA512:
6
- metadata.gz: cc56b4ca53995f7b2ac9196c3ab0ea5727b5bb0bbca9ab8802a0205d628d7ccc9365a5b0c2b9f97c9d4b0c0223a32121505aa9c685a791cde17363b717a5f31e
7
- data.tar.gz: 5346f6b0ae56a569cf57cef4ab248d65469a77fb84384150e02d51633d392b3f26cf54e9dedfab4672babb53037645052295dd0720b4a64457d42510e8fe58a0
6
+ metadata.gz: 18eeb9cecb966a98ef3b17d6bd42c9205a7fabb6c874d5e0680d96710898e20a87b265da19b03bb1d1d3e16431d992765a459cf7423a65b17c17cf8b176bb013
7
+ data.tar.gz: 5dd20c7375c9450fc84b96ec5a3167b8468620f4d1fd107b6b91df724950de16c70b42752b1cd66def6ba41f2ddb7e0d1c0687a677da402d0122ccbd6b2c6c3d
checksums.yaml.gz.sig CHANGED
@@ -1 +1,5 @@
1
- `���[�(ɱ���꾂�G|�G#���\��Ұ��E!]���$�_�Ob'�|��>h���-�Hsja�+0Ƣd�c,5�N�M��F�**��lܰs-Q�y�W4Voj�<����7���Ty_�Prvl1��T ���Ց�@\g�����uj�p��3.U���x�Z'�`0�� d7�e�fmM�t�c6�E9W �9��X��9;Q��ƓNb�T���]�0r�d�&�J-�|�I��4h@"W�>6�:�
1
+ 2y��0'&�m:9r��)���%�
2
+ 'H�
3
+ �f��'7�q�����J�(�o+�Vcr�'��F�^N�z���M4�X����T�� ���}��5�*�m��(�@���oL
4
+ �����&$���%QxY<�,[Jඃ���T�G��[?ځ7�x^=�r�6�ly<�3�K"���hC�>����ec�1O�R��X�Ru2�!��Y;
5
+ %�`1��.�ݣ��B֞�$��ˍ����@�o
data.tar.gz.sig CHANGED
Binary file
data/ChangeLog CHANGED
@@ -1,8 +1,61 @@
1
+ 2015-10-01 Mahlon E. Smith <mahlon@laika.com>
2
+
3
+ * .hgsigs:
4
+ Added signature for changeset 2e4e4c78a588
5
+ [50bc1d12bad4] [tip]
6
+
7
+ * .hgtags:
8
+ Added tag v0.10.0 for changeset 2aae0e98c859
9
+ [2e4e4c78a588]
10
+
11
+ 2015-10-01 Mahlon E. Smith <mahlon@martini.nu>
12
+
13
+ * History.rdoc, lib/strelka.rb:
14
+ Bump version.
15
+ [2aae0e98c859] [v0.10.0]
16
+
17
+ * lib/strelka/app/auth.rb, spec/strelka/app/auth_spec.rb:
18
+ Provide a built-in method for optional route auth to the
19
+ authentication plugin.
20
+ [283577340c31]
21
+
22
+ 2015-09-20 Michael Granger <ged@FaerieMUD.org>
23
+
24
+ * cert/mahlon.pem:
25
+ Merge with 093cea5ea618
26
+ [55d4b5210da6]
27
+
28
+ 2015-04-01 Mahlon E. Smith <mahlon@martini.nu>
29
+
30
+ * cert/mahlon.pem:
31
+ Revert my key to a non-signed, the gem signing stuff is a mess.
32
+ [093cea5ea618]
33
+
34
+ 2015-04-01 Michael Granger <ged@FaerieMUD.org>
35
+
36
+ * cert/ged.pem:
37
+ Revert my cert, `gem cert -s` isn't working as advertised.
38
+ [e29596606445]
39
+
40
+ 2015-04-01 Mahlon E. Smith <mahlon@martini.nu>
41
+
42
+ * .hgtags:
43
+ Added tag v0.9.1 for changeset d86d6579a43e
44
+ [cc451faffccf]
45
+
46
+ * .hgsigs:
47
+ Added signature for changeset d8332e8ea7f7
48
+ [d86d6579a43e] [v0.9.1]
49
+
50
+ * History.rdoc, lib/strelka.rb:
51
+ Version bump to v0.9.1
52
+ [d8332e8ea7f7]
53
+
1
54
  2015-04-01 Michael Granger <ged@FaerieMUD.org>
2
55
 
3
56
  * cert/mahlon.pem:
4
57
  Sign mahlon's cert
5
- [db92e594bfc2] [tip]
58
+ [db92e594bfc2]
6
59
 
7
60
  2015-04-01 Mahlon E. Smith <mahlon@martini.nu>
8
61
 
@@ -82,7 +135,7 @@
82
135
 
83
136
  * strelka.gemspec:
84
137
  Update the gemspec
85
- [92c894486289]
138
+ [92c894486289] [github/master]
86
139
 
87
140
  * Rakefile:
88
141
  Fix the fivefish version
@@ -155,6 +208,13 @@
155
208
  Update dependencies.
156
209
  [4ddae11c28b8]
157
210
 
211
+ 2014-01-22 Mahlon E. Smith <mahlon@laika.com>
212
+
213
+ * lib/strelka/httprequest.rb:
214
+ Don't modify the original request URI object when calling
215
+ HttpRequest#base_uri.
216
+ [6e2d1e0e89d1]
217
+
158
218
  2014-01-29 Michael Granger <ged@FaerieMUD.org>
159
219
 
160
220
  * lib/strelka/app.rb:
@@ -192,19 +252,19 @@
192
252
  Merge improvements to the AbstractClass mixin from elsewhere.
193
253
  [96725c68d4ae]
194
254
 
195
- 2014-01-22 Mahlon E. Smith <mahlon@laika.com>
196
-
197
- * lib/strelka/httprequest.rb:
198
- Don't modify the original request URI object when calling
199
- HttpRequest#base_uri.
200
- [6e2d1e0e89d1]
201
-
202
255
  2014-01-02 Michael Granger <ged@FaerieMUD.org>
203
256
 
204
257
  * lib/strelka.rb:
205
258
  Merged with bdb098771858
206
259
  [140055f6ee81]
207
260
 
261
+ 2013-12-02 Mahlon E. Smith <mahlon@martini.nu>
262
+
263
+ * .rvm.gems, lib/strelka.rb, lib/strelka/app/auth.rb,
264
+ spec/strelka/session/default_spec.rb:
265
+ Restore access to request parameters from the authentication plugin.
266
+ [bdb098771858]
267
+
208
268
  2014-01-01 Michael Granger <ged@FaerieMUD.org>
209
269
 
210
270
  * History.rdoc, lib/strelka.rb:
@@ -246,13 +306,6 @@
246
306
  Remove config keys that moved to Discovery
247
307
  [c4b52cde2f47]
248
308
 
249
- 2013-12-02 Mahlon E. Smith <mahlon@martini.nu>
250
-
251
- * .rvm.gems, lib/strelka.rb, lib/strelka/app/auth.rb,
252
- spec/strelka/session/default_spec.rb:
253
- Restore access to request parameters from the authentication plugin.
254
- [bdb098771858]
255
-
256
309
  2013-11-08 Michael Granger <ged@FaerieMUD.org>
257
310
 
258
311
  * .hgtags:
@@ -2558,8 +2611,8 @@
2558
2611
  - Require Ruby-Mongrel 0.12+
2559
2612
  - This is just the initial implementation. Yet to be added:
2560
2613
  configuration options for enabling/disabling stuff, automatic
2561
- composite services mapped from association reflections, mass-
2562
- create option, and lots more I'm forgetting.
2614
+ composite services mapped from association reflections, mass- create
2615
+ option, and lots more I'm forgetting.
2563
2616
  [23acdb6e9afc]
2564
2617
 
2565
2618
  * data/strelka/bootstrap-config.rb:
@@ -2877,12 +2930,11 @@
2877
2930
  spec/strelka/httpresponse/negotiation_spec.rb:
2878
2931
  Alterations to the plugin system to reflect dogfood discoveries.
2879
2932
  - Rearranged the lifecycle of the request to all happen inside the
2880
- try/catch to allow fixup hooks to finish with an error status,
2881
- too.
2933
+ try/catch to allow fixup hooks to finish with an error status, too.
2882
2934
  - Moved the negotiation plugin closer to the router so negotation
2883
- callbacks can return responses that will be further altered by
2884
- later plugins. Moved the acceptable check into the response fixup
2885
- hook to accomplish this.
2935
+ callbacks can return responses that will be further altered by later
2936
+ plugins. Moved the acceptable check into the response fixup hook to
2937
+ accomplish this.
2886
2938
  - Made the response fixup hook only take a response object since
2887
2939
  responses can now know what their request is.
2888
2940
  - Made language-negotiation short-circuit whenever there aren't any
data/History.rdoc CHANGED
@@ -1,3 +1,8 @@
1
+ == v0.10.0 [2015-10-01] Mahlon E. Smith <mahlon@martini.nu>
2
+
3
+ - Allow authentication to be optional for a route.
4
+
5
+
1
6
  == v0.9.1 [2015-04-01] Mahlon E. Smith <mahlon@martini.nu>
2
7
 
3
8
  - Ensure required permissions for the auth plugin are unmodified between requests.
data/lib/strelka.rb CHANGED
@@ -24,10 +24,10 @@ module Strelka
24
24
  log_as :strelka
25
25
 
26
26
  # Library version constant
27
- VERSION = '0.9.1'
27
+ VERSION = '0.10.0'
28
28
 
29
29
  # Version-control revision constant
30
- REVISION = %q$Revision: d8332e8ea7f7 $
30
+ REVISION = %q$Revision: 2aae0e98c859 $
31
31
 
32
32
  require 'strelka/mixins'
33
33
  require 'strelka/constants'
@@ -570,6 +570,25 @@ module Strelka::App::Auth
570
570
  alias_method :required_perms_for, :perms_required_for
571
571
 
572
572
 
573
+ ### Normally, the authentication plugin manages authing a user
574
+ ### automatically. There are cases where we want to perform this
575
+ ### manually, such as a route that provides alternate data for an
576
+ ### authenticated user, but still allows non-authed access.
577
+ ###
578
+ ### Returns the authenticated user object, or nil if unsuccessful.
579
+ ###
580
+ ### This essentially makes authentication optional for a route, instead
581
+ ### of simply "on" or "off".
582
+ def authenticate( request )
583
+ acct = nil
584
+ catch( :finish ) do
585
+ acct = self.auth_provider.authenticate( request )
586
+ request.authenticated_user = acct
587
+ end
588
+ return acct
589
+ end
590
+
591
+
573
592
  #########
574
593
  protected
575
594
  #########
@@ -62,6 +62,7 @@ describe Strelka::App::Auth do
62
62
  def handle_request( req )
63
63
  super do
64
64
  res = req.response
65
+ self.authenticate( req ) if req.uri.to_s =~ /\/optional$/
65
66
  res.status = HTTP::OK
66
67
  res.content_type = 'text/plain'
67
68
  res.puts "Ran successfully."
@@ -658,6 +659,20 @@ describe Strelka::App::Auth do
658
659
  before( :each ) do
659
660
  @app.no_auth_for( '/onlyauth' )
660
661
  @app.no_auth_for( '/both' )
662
+ @app.no_auth_for( '/optional' )
663
+ end
664
+
665
+ context "and optional auth for a route" do
666
+
667
+ it "checks auth without throwing HTTP::AUTH_REQUIRED" do
668
+ req = @request_factory.get( '/api/v1/optional' )
669
+
670
+ app = @app.new
671
+ expect( app.auth_provider ).to receive( :authenticate )
672
+ expect( app.auth_provider ).to receive( :authorize )
673
+
674
+ app.handle( req )
675
+ end
661
676
  end
662
677
 
663
678
  context "and positive perms criteria" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strelka
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mahlon E. Smith
@@ -11,27 +11,27 @@ bindir: bin
11
11
  cert_chain:
12
12
  - |
13
13
  -----BEGIN CERTIFICATE-----
14
- MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQ8wDQYDVQQDDAZtYWhs
15
- b24xFzAVBgoJkiaJk/IsZAEZFgdtYXJ0aW5pMRIwEAYKCZImiZPyLGQBGRYCbnUw
16
- HhcNMTUwNDAxMjEyNzA0WhcNMTYwMzMxMjEyNzA0WjA+MQ8wDQYDVQQDDAZtYWhs
17
- b24xFzAVBgoJkiaJk/IsZAEZFgdtYXJ0aW5pMRIwEAYKCZImiZPyLGQBGRYCbnUw
18
- ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDpXGN0YbMVpYv4EoiCxpQw
19
- sxKdyhlkvpvENUkpEhbpnEuMKXgUfRHO4T/vBZf0h8eYgwnrHCRhAeIqesFKfoj9
20
- mpEJk5JUuADOAz18aT+v24UqAtJdiwBJLuqhslSNB6CFXZv3OOMny9bjoJegz0hI
21
- Fht9ppCuNmxJNd+L3zAX8lD01RUWNRC+8L5QLCjViJtjFDDCFfh9NCirs+XnTCzo
22
- AJgFbsZIzFJtSiXUtFgscKr4Ik8ruhRbPbYbmx9rf6W74aTMPxggq/d3gj0Eh32y
23
- WsXsQ5giVnmkbsRkBNu3QyZ8Xr5+7mvy5AWyqXKOrcW7lnYaob6Z9x/MGXGNeD6j
24
- AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRY8ea6
25
- +6kAaW7ukKph2/4MTAD8/TAcBgNVHREEFTATgRFtYWhsb25AbWFydGluaS5udTAc
26
- BgNVHRIEFTATgRFtYWhsb25AbWFydGluaS5udTANBgkqhkiG9w0BAQUFAAOCAQEA
27
- cyZqft38MVaJaQcTQJGsA9KSCtng4Tj0Ws39pJzgQoFaN4tqMA7i84nMKY0VMKYk
28
- 5G5dO6nPl7iwW9p7chGhNa+f+7dzNvUeJ7L9BaFaKlTNtDA2cLP/yMevmBvIwSdJ
29
- oLGeig1ID4eD7HWru+7pTrEePj9xo5/t1WO3LVgxXqRs3kDukGRWlYeZRf0ydyIc
30
- hQXzOcqODDz1yEH8Mu5xQEmkgvGL0Mkayam0H8MuevFWvPKbQul7DQxf6Di/wVGU
31
- GhnzZWrWXUAyktbiU12hLfKdVvqzhgBH9WkhK8ecZHX0AZXcwUpUj0FKGydhf7Zb
32
- g1UAOubM4Vz0XLygvn30rw==
14
+ MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQwwCgYDVQQDDANnZWQx
15
+ GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
16
+ HhcNMTUwNDAxMjEyNDEzWhcNMTYwMzMxMjEyNDEzWjA+MQwwCgYDVQQDDANnZWQx
17
+ GTAXBgoJkiaJk/IsZAEZFglGYWVyaWVNVUQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
18
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDb92mkyYwuGBg1oRxt2tkH
19
+ +Uo3LAsaL/APBfSLzy8o3+B3AUHKCjMUaVeBoZdWtMHB75X3VQlvXfZMyBxj59Vo
20
+ cDthr3zdao4HnyrzAIQf7BO5Y8KBwVD+yyXCD/N65TTwqsQnO3ie7U5/9ut1rnNr
21
+ OkOzAscMwkfQxBkXDzjvAWa6UF4c5c9kR/T79iA21kDx9+bUMentU59aCJtUcbxa
22
+ 7kcKJhPEYsk4OdxR9q2dphNMFDQsIdRO8rywX5FRHvcb+qnXC17RvxLHtOjysPtp
23
+ EWsYoZMxyCDJpUqbwoeiM+tAHoz2ABMv3Ahie3Qeb6+MZNAtMmaWfBx3dg2u+/WN
24
+ AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBSZ0hCV
25
+ qoHr122fGKelqffzEQBhszAcBgNVHREEFTATgRFnZWRARmFlcmllTVVELm9yZzAc
26
+ BgNVHRIEFTATgRFnZWRARmFlcmllTVVELm9yZzANBgkqhkiG9w0BAQUFAAOCAQEA
27
+ lUKo3NXePpuvN3QGsOLJ6QhNd4+Q9Rz75GipuMrCl296V8QFkd2gg9EG44Pqtk+9
28
+ Zac8TkKc9bCSR0snakp+cCPplVvZF0/gMzkSTUJkDBHlNV16z73CyWpbQQa+iLJ4
29
+ uisI6gF2ZXK919MYLn2bFJfb7OsCvVfyTPqq8afPY+rq9vlf9ZPwU49AlD8bPRic
30
+ 0LX0gO5ykvETIOv+WgGcqp96ceNi9XVuJMh20uWuw6pmv/Ub2RqAf82jQSbpz09G
31
+ G8LHR7EjtPPmqCCunfyecJ6MmCNaiJCBxq2NYzyNmluPyHT8+0fuB5kccUVZm6CD
32
+ xn3DzOkDE6NYbk8gC9rTsA==
33
33
  -----END CERTIFICATE-----
34
- date: 2015-04-01 00:00:00.000000000 Z
34
+ date: 2015-10-01 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: configurability
@@ -213,14 +213,14 @@ dependencies:
213
213
  requirements:
214
214
  - - "~>"
215
215
  - !ruby/object:Gem::Version
216
- version: '0.6'
216
+ version: '0.7'
217
217
  type: :development
218
218
  prerelease: false
219
219
  version_requirements: !ruby/object:Gem::Requirement
220
220
  requirements:
221
221
  - - "~>"
222
222
  - !ruby/object:Gem::Version
223
- version: '0.6'
223
+ version: '0.7'
224
224
  - !ruby/object:Gem::Dependency
225
225
  name: hoe-highline
226
226
  requirement: !ruby/object:Gem::Requirement
@@ -485,7 +485,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
485
485
  version: '0'
486
486
  requirements: []
487
487
  rubyforge_project:
488
- rubygems_version: 2.4.6
488
+ rubygems_version: 2.4.7
489
489
  signing_key:
490
490
  specification_version: 4
491
491
  summary: Strelka is a framework for creating and deploying Mongrel2[http://mongrel2.org/]
metadata.gz.sig CHANGED
Binary file