ruby-openid 1.1.4 → 2.0.1

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.
Files changed (207) hide show
  1. data/INSTALL +0 -9
  2. data/README +21 -22
  3. data/UPGRADE +117 -0
  4. data/admin/runtests.rb +36 -0
  5. data/examples/README +13 -21
  6. data/examples/active_record_openid_store/README +8 -3
  7. data/examples/active_record_openid_store/XXX_add_open_id_store_to_db.rb +4 -8
  8. data/examples/active_record_openid_store/XXX_upgrade_open_id_store.rb +26 -0
  9. data/examples/active_record_openid_store/lib/association.rb +2 -0
  10. data/examples/active_record_openid_store/lib/openid_ar_store.rb +22 -47
  11. data/examples/active_record_openid_store/test/store_test.rb +78 -48
  12. data/examples/discover +46 -0
  13. data/examples/{rails_server → rails_openid}/README +0 -0
  14. data/examples/{rails_server → rails_openid}/Rakefile +0 -0
  15. data/examples/{rails_server → rails_openid}/app/controllers/application.rb +0 -0
  16. data/examples/rails_openid/app/controllers/consumer_controller.rb +115 -0
  17. data/examples/{rails_server → rails_openid}/app/controllers/login_controller.rb +10 -2
  18. data/examples/rails_openid/app/controllers/server_controller.rb +265 -0
  19. data/examples/{rails_server → rails_openid}/app/helpers/application_helper.rb +0 -0
  20. data/examples/{rails_server → rails_openid}/app/helpers/login_helper.rb +0 -0
  21. data/examples/{rails_server → rails_openid}/app/helpers/server_helper.rb +0 -0
  22. data/examples/rails_openid/app/views/consumer/index.rhtml +81 -0
  23. data/examples/rails_openid/app/views/consumer/start.rhtml +8 -0
  24. data/examples/{rails_server → rails_openid}/app/views/layouts/server.rhtml +0 -0
  25. data/examples/{rails_server → rails_openid}/app/views/login/index.rhtml +1 -1
  26. data/examples/rails_openid/app/views/server/decide.rhtml +26 -0
  27. data/examples/{rails_server → rails_openid}/config/boot.rb +0 -0
  28. data/examples/{rails_server → rails_openid}/config/database.yml +0 -0
  29. data/examples/{rails_server → rails_openid}/config/environment.rb +0 -0
  30. data/examples/{rails_server → rails_openid}/config/environments/development.rb +0 -0
  31. data/examples/{rails_server → rails_openid}/config/environments/production.rb +0 -0
  32. data/examples/{rails_server → rails_openid}/config/environments/test.rb +0 -0
  33. data/examples/{rails_server → rails_openid}/config/routes.rb +2 -1
  34. data/examples/{rails_server → rails_openid}/doc/README_FOR_APP +0 -0
  35. data/examples/{rails_server → rails_openid}/public/404.html +0 -0
  36. data/examples/{rails_server → rails_openid}/public/500.html +0 -0
  37. data/examples/{rails_server → rails_openid}/public/dispatch.cgi +0 -0
  38. data/examples/{rails_server → rails_openid}/public/dispatch.fcgi +0 -0
  39. data/examples/{rails_server → rails_openid}/public/dispatch.rb +0 -0
  40. data/examples/{rails_server → rails_openid}/public/favicon.ico +0 -0
  41. data/examples/rails_openid/public/images/openid_login_bg.gif +0 -0
  42. data/examples/{rails_server → rails_openid}/public/javascripts/controls.js +0 -0
  43. data/examples/{rails_server → rails_openid}/public/javascripts/dragdrop.js +0 -0
  44. data/examples/{rails_server → rails_openid}/public/javascripts/effects.js +0 -0
  45. data/examples/{rails_server → rails_openid}/public/javascripts/prototype.js +0 -0
  46. data/examples/{rails_server → rails_openid}/public/robots.txt +0 -0
  47. data/examples/{rails_server → rails_openid}/script/about +0 -0
  48. data/examples/{rails_server → rails_openid}/script/breakpointer +0 -0
  49. data/examples/{rails_server → rails_openid}/script/console +0 -0
  50. data/examples/{rails_server → rails_openid}/script/destroy +0 -0
  51. data/examples/{rails_server → rails_openid}/script/generate +0 -0
  52. data/examples/{rails_server → rails_openid}/script/performance/benchmarker +0 -0
  53. data/examples/{rails_server → rails_openid}/script/performance/profiler +0 -0
  54. data/examples/{rails_server → rails_openid}/script/plugin +0 -0
  55. data/examples/{rails_server → rails_openid}/script/process/reaper +0 -0
  56. data/examples/{rails_server → rails_openid}/script/process/spawner +0 -0
  57. data/examples/{rails_server → rails_openid}/script/process/spinner +0 -0
  58. data/examples/{rails_server → rails_openid}/script/runner +0 -0
  59. data/examples/{rails_server → rails_openid}/script/server +0 -0
  60. data/examples/{rails_server → rails_openid}/test/functional/login_controller_test.rb +0 -0
  61. data/examples/{rails_server → rails_openid}/test/functional/server_controller_test.rb +0 -0
  62. data/examples/{rails_server → rails_openid}/test/test_helper.rb +0 -0
  63. data/lib/{hmac.rb → hmac/hmac.rb} +0 -0
  64. data/lib/{hmac-sha1.rb → hmac/sha1.rb} +1 -1
  65. data/lib/{hmac-sha2.rb → hmac/sha2.rb} +1 -1
  66. data/lib/openid/association.rb +213 -73
  67. data/lib/openid/consumer/associationmanager.rb +338 -0
  68. data/lib/openid/consumer/checkid_request.rb +175 -0
  69. data/lib/openid/consumer/discovery.rb +480 -0
  70. data/lib/openid/consumer/discovery_manager.rb +123 -0
  71. data/lib/openid/consumer/html_parse.rb +136 -0
  72. data/lib/openid/consumer/idres.rb +525 -0
  73. data/lib/openid/consumer/responses.rb +133 -0
  74. data/lib/openid/consumer.rb +280 -807
  75. data/lib/openid/cryptutil.rb +85 -0
  76. data/lib/openid/dh.rb +60 -23
  77. data/lib/openid/extension.rb +31 -0
  78. data/lib/openid/extensions/ax.rb +506 -0
  79. data/lib/openid/extensions/pape.rb +182 -0
  80. data/lib/openid/extensions/sreg.rb +275 -0
  81. data/lib/openid/extras.rb +11 -0
  82. data/lib/openid/fetchers.rb +132 -93
  83. data/lib/openid/kvform.rb +133 -0
  84. data/lib/openid/kvpost.rb +56 -0
  85. data/lib/openid/message.rb +534 -0
  86. data/lib/openid/protocolerror.rb +6 -0
  87. data/lib/openid/server.rb +1215 -666
  88. data/lib/openid/store/filesystem.rb +271 -0
  89. data/lib/openid/store/interface.rb +75 -0
  90. data/lib/openid/store/memory.rb +84 -0
  91. data/lib/openid/store/nonce.rb +68 -0
  92. data/lib/openid/trustroot.rb +314 -87
  93. data/lib/openid/urinorm.rb +37 -34
  94. data/lib/openid/util.rb +42 -220
  95. data/lib/openid/yadis/accept.rb +148 -0
  96. data/lib/openid/yadis/constants.rb +21 -0
  97. data/lib/openid/yadis/discovery.rb +153 -0
  98. data/lib/openid/yadis/filters.rb +205 -0
  99. data/lib/openid/{htmltokenizer.rb → yadis/htmltokenizer.rb} +1 -54
  100. data/lib/openid/yadis/parsehtml.rb +36 -0
  101. data/lib/openid/yadis/services.rb +42 -0
  102. data/lib/openid/yadis/xrds.rb +171 -0
  103. data/lib/openid/yadis/xri.rb +90 -0
  104. data/lib/openid/yadis/xrires.rb +106 -0
  105. data/lib/openid.rb +1 -4
  106. data/test/data/accept.txt +124 -0
  107. data/test/data/dh.txt +29 -0
  108. data/test/data/example-xrds.xml +14 -0
  109. data/test/data/linkparse.txt +587 -0
  110. data/test/data/n2b64 +650 -0
  111. data/test/data/test1-discover.txt +137 -0
  112. data/test/data/test1-parsehtml.txt +128 -0
  113. data/test/data/test_discover/openid.html +11 -0
  114. data/test/data/test_discover/openid2.html +11 -0
  115. data/test/data/test_discover/openid2_xrds.xml +12 -0
  116. data/test/data/test_discover/openid2_xrds_no_local_id.xml +11 -0
  117. data/test/data/test_discover/openid_1_and_2.html +11 -0
  118. data/test/data/test_discover/openid_1_and_2_xrds.xml +16 -0
  119. data/test/data/test_discover/openid_1_and_2_xrds_bad_delegate.xml +17 -0
  120. data/test/data/test_discover/openid_and_yadis.html +12 -0
  121. data/test/data/test_discover/openid_no_delegate.html +10 -0
  122. data/test/data/test_discover/yadis_0entries.xml +12 -0
  123. data/test/data/test_discover/yadis_2_bad_local_id.xml +15 -0
  124. data/test/data/test_discover/yadis_2entries_delegate.xml +22 -0
  125. data/test/data/test_discover/yadis_2entries_idp.xml +21 -0
  126. data/test/data/test_discover/yadis_another_delegate.xml +14 -0
  127. data/test/data/test_discover/yadis_idp.xml +12 -0
  128. data/test/data/test_discover/yadis_idp_delegate.xml +13 -0
  129. data/test/data/test_discover/yadis_no_delegate.xml +11 -0
  130. data/test/data/test_xrds/=j3h.2007.11.14.xrds +25 -0
  131. data/test/data/test_xrds/README +12 -0
  132. data/test/data/test_xrds/delegated-20060809-r1.xrds +34 -0
  133. data/test/data/test_xrds/delegated-20060809-r2.xrds +34 -0
  134. data/test/data/test_xrds/delegated-20060809.xrds +34 -0
  135. data/test/data/test_xrds/no-xrd.xml +7 -0
  136. data/test/data/test_xrds/not-xrds.xml +2 -0
  137. data/test/data/test_xrds/prefixsometimes.xrds +34 -0
  138. data/test/data/test_xrds/ref.xrds +109 -0
  139. data/test/data/test_xrds/sometimesprefix.xrds +34 -0
  140. data/test/data/test_xrds/spoof1.xrds +25 -0
  141. data/test/data/test_xrds/spoof2.xrds +25 -0
  142. data/test/data/test_xrds/spoof3.xrds +37 -0
  143. data/test/data/test_xrds/status222.xrds +9 -0
  144. data/test/data/test_xrds/valid-populated-xrds.xml +39 -0
  145. data/test/data/trustroot.txt +147 -0
  146. data/test/discoverdata.rb +131 -0
  147. data/test/test_accept.rb +170 -0
  148. data/test/test_association.rb +266 -0
  149. data/test/test_associationmanager.rb +899 -0
  150. data/test/test_ax.rb +587 -0
  151. data/test/test_checkid_request.rb +297 -0
  152. data/test/test_consumer.rb +257 -0
  153. data/test/test_cryptutil.rb +117 -0
  154. data/test/test_dh.rb +86 -0
  155. data/test/test_discover.rb +772 -0
  156. data/test/test_discovery_manager.rb +262 -0
  157. data/test/test_extras.rb +35 -0
  158. data/test/test_fetchers.rb +472 -0
  159. data/test/test_filters.rb +270 -0
  160. data/test/test_idres.rb +816 -0
  161. data/test/test_kvform.rb +165 -0
  162. data/test/test_kvpost.rb +65 -0
  163. data/test/test_linkparse.rb +101 -0
  164. data/test/test_message.rb +1058 -0
  165. data/test/test_nonce.rb +89 -0
  166. data/test/test_openid_yadis.rb +178 -0
  167. data/test/test_pape.rb +233 -0
  168. data/test/test_parsehtml.rb +80 -0
  169. data/test/test_responses.rb +63 -0
  170. data/test/test_server.rb +2270 -0
  171. data/test/test_sreg.rb +479 -0
  172. data/test/test_stores.rb +269 -0
  173. data/test/test_trustroot.rb +112 -0
  174. data/test/{urinorm.rb → test_urinorm.rb} +6 -3
  175. data/test/test_util.rb +144 -0
  176. data/test/test_xrds.rb +160 -0
  177. data/test/test_xri.rb +48 -0
  178. data/test/test_xrires.rb +63 -0
  179. data/test/test_yadis_discovery.rb +207 -0
  180. data/test/testutil.rb +116 -0
  181. data/test/util.rb +47 -50
  182. metadata +233 -143
  183. data/examples/consumer.rb +0 -290
  184. data/examples/rails_openid_login_generator/openid_login_generator-0.1.gem +0 -0
  185. data/examples/rails_server/app/controllers/server_controller.rb +0 -190
  186. data/examples/rails_server/app/views/server/decide.rhtml +0 -11
  187. data/examples/rails_server/public/images/rails.png +0 -0
  188. data/lib/hmac-md5.rb +0 -11
  189. data/lib/hmac-rmd160.rb +0 -11
  190. data/lib/openid/discovery.rb +0 -122
  191. data/lib/openid/filestore.rb +0 -315
  192. data/lib/openid/parse.rb +0 -23
  193. data/lib/openid/service.rb +0 -147
  194. data/lib/openid/stores.rb +0 -178
  195. data/test/assoc.rb +0 -38
  196. data/test/consumer.rb +0 -376
  197. data/test/data/brian.xrds +0 -16
  198. data/test/data/brianellin.mylid.xrds +0 -42
  199. data/test/dh.rb +0 -20
  200. data/test/extensions.rb +0 -30
  201. data/test/linkparse.rb +0 -305
  202. data/test/runtests.rb +0 -22
  203. data/test/server2.rb +0 -1053
  204. data/test/service.rb +0 -47
  205. data/test/storetestcase.rb +0 -172
  206. data/test/teststore.rb +0 -47
  207. data/test/trustroot.rb +0 -117
@@ -0,0 +1,137 @@
1
+ equiv
2
+ Status: 200 OK
3
+ Content-Type: text/html
4
+
5
+ <html>
6
+ <head>
7
+ <meta http-equiv="YADIS_HEADER" content="URL_BASE/xrds">
8
+ <title>Joe Schmoe's Homepage</title>
9
+ </head>
10
+ <body>
11
+ <h1>Joe Schmoe's Homepage</h1>
12
+ <p>Blah blah blah blah blah blah blah</p>
13
+ </body>
14
+ </html>
15
+
16
+ header
17
+ Status: 200 OK
18
+ Content-Type: text/html
19
+ YADIS_HEADER: URL_BASE/xrds
20
+
21
+ <html>
22
+ <head>
23
+ <title>Joe Schmoe's Homepage</title>
24
+ </head>
25
+ <body>
26
+ <h1>Joe Schmoe's Homepage</h1>
27
+ <p>Blah blah blah blah blah blah blah</p>
28
+ </body>
29
+
30
+ xrds
31
+ Status: 200 OK
32
+ Content-Type: application/xrds+xml
33
+
34
+ <XRDS Content>
35
+
36
+ xrds_ctparam
37
+ Status: 200 OK
38
+ Content-Type: application/xrds+xml; charset=UTF8
39
+
40
+ <XRDS Content>
41
+
42
+ xrds_ctcase
43
+ Status: 200 OK
44
+ Content-Type: appliCATION/XRDS+xml
45
+
46
+ <XRDS Content>
47
+
48
+ xrds_html
49
+ Status: 200 OK
50
+ Content-Type: text/html
51
+
52
+ <XRDS Content>
53
+
54
+ redir_equiv
55
+ Status: 302 Found
56
+ Content-Type: text/plain
57
+ Location: URL_BASE/equiv
58
+
59
+ You are presently being redirected.
60
+
61
+ redir_header
62
+ Status: 302 Found
63
+ Content-Type: text/plain
64
+ Location: URL_BASE/header
65
+
66
+ You are presently being redirected.
67
+
68
+ redir_xrds
69
+ Status: 302 Found
70
+ Content-Type: application/xrds+xml
71
+ Location: URL_BASE/xrds
72
+
73
+ <XRDS Content>
74
+
75
+ redir_xrds_html
76
+ Status: 302 Found
77
+ Content-Type: text/plain
78
+ Location: URL_BASE/xrds_html
79
+
80
+ You are presently being redirected.
81
+
82
+ redir_redir_equiv
83
+ Status: 302 Found
84
+ Content-Type: text/plain
85
+ Location: URL_BASE/redir_equiv
86
+
87
+ You are presently being redirected.
88
+
89
+ lowercase_header
90
+ Status: 200 OK
91
+ Content-Type: text/html
92
+ x-xrds-location: URL_BASE/xrds
93
+
94
+ <html>
95
+ <head>
96
+ <title>Joe Schmoe's Homepage</title>
97
+ </head>
98
+ <body>
99
+ <h1>Joe Schmoe's Homepage</h1>
100
+ <p>Blah blah blah blah blah blah blah</p>
101
+ </body>
102
+
103
+ 404_server_response
104
+ Status: 404 Not Found
105
+
106
+ EEk!
107
+
108
+ 500_server_response
109
+ Status: 500 Server error
110
+
111
+ EEk!
112
+
113
+ 201_server_response
114
+ Status: 201 Created
115
+
116
+ EEk!
117
+
118
+ 404_with_header
119
+ Status: 404 Not Found
120
+ YADIS_HEADER: URL_BASE/xrds
121
+
122
+ EEk!
123
+
124
+ 404_with_meta
125
+ Status: 404 Not Found
126
+ Content-Type: text/html
127
+
128
+ <html>
129
+ <head>
130
+ <meta http-equiv="YADIS_HEADER" content="URL_BASE/xrds">
131
+ <title>Joe Schmoe's Homepage</title>
132
+ </head>
133
+ <body>
134
+ <h1>Joe Schmoe's Homepage</h1>
135
+ <p>Blah blah blah blah blah blah blah</p>
136
+ </body>
137
+ </html>
@@ -0,0 +1,128 @@
1
+ found
2
+ <!-- minimal well-formed success case -->
3
+ <html><head><meta http-equiv="X-XRDS-Location" content="found"></head></html>
4
+
5
+ found
6
+ <!-- minimal success case -->
7
+ <html><head><meta http-equiv="X-XRDS-Location" content="found">
8
+
9
+ found
10
+ <!-- ignore bogus top-level tags -->
11
+ </porky><html><head><meta http-equiv="X-XRDS-Location" content="found">
12
+
13
+ found
14
+ <!-- Case folding for header name -->
15
+ <html><head><meta http-equiv="x-xrds-location" content="found">
16
+
17
+ found
18
+ <!-- missing <html> tag -->
19
+ <head><meta http-equiv="X-XRDS-Location" content="found">
20
+
21
+ found
22
+ <!-- case folding for tag names -->
23
+ <html><head><META http-equiv="X-XRDS-Location" content="found">
24
+
25
+ found
26
+ <!-- Stop after first one found -->
27
+ <html><head>
28
+ <meta http-equiv="x-xrds-location" content="found">
29
+ <meta http-equiv="x-xrds-location" content="not-found">
30
+
31
+ &
32
+ <!-- standard entity -->
33
+ <head><meta http-equiv="X-XRDS-Location" content="&amp;">
34
+
35
+ found
36
+ <!-- hex entity -->
37
+ <html>
38
+ <head>
39
+ <meta http-equiv="X-XRDS-Location" content="&#x66;ound">
40
+ </head>
41
+ </html>
42
+
43
+ found
44
+ <!-- decimal entity -->
45
+ <html>
46
+ <head>
47
+ <meta http-equiv="X-XRDS-Location" content="&#102;ound">
48
+ </head>
49
+ </html>
50
+
51
+ /
52
+ <!-- hex entity -->
53
+ <html>
54
+ <head>
55
+ <meta http-equiv="X-XRDS-Location" content="&#x2f;">
56
+ </head>
57
+ </html>
58
+
59
+
60
+ <!-- empty string -->
61
+ <html><head><meta http-equiv="X-XRDS-Location" content="">
62
+
63
+ EOF
64
+ <!-- No markup, except this comment -->
65
+
66
+ None
67
+ <!-- No meta, just standard HTML -->
68
+ <html>
69
+ <head>
70
+ <title>A boring document</title>
71
+ </head>
72
+ <body>
73
+ <h1>A boring document</h1>
74
+ <p>There's really nothing interesting about this</p>
75
+ </body>
76
+ </html>
77
+
78
+ EOF
79
+ <!-- No <html> or <head> -->
80
+ <meta http-equiv="X-XRDS-Location" content="found">
81
+
82
+ EOF
83
+ <!-- No <head> tag -->
84
+ <html><meta http-equiv="X-XRDS-Location" content="found">
85
+
86
+ None
87
+ <!-- No <html> or <head> and a <body> -->
88
+ <body><meta http-equiv="X-XRDS-Location" content="found">
89
+
90
+ None
91
+ <!-- <head> and <html> reversed -->
92
+ <head><html><meta http-equiv="X-XRDS-Location" content="found">
93
+
94
+ None
95
+ <!-- <meta> is inside of <body> -->
96
+ <html><head><body><meta http-equiv="X-XRDS-Location" content="found">
97
+
98
+ None
99
+ <!-- <meta> is inside of <body> -->
100
+ <html>
101
+ <head>
102
+ <title>Someone's blog</title>
103
+ </head>
104
+ <body>
105
+ <h1>My blog</h1>
106
+ <p>This is my blog</p>
107
+ <h2>Comments</h2>
108
+ <p><meta http-equiv="X-XRDS-Location" content="found"></p>
109
+ </body>
110
+ </html>
111
+
112
+ None
113
+ <!-- short head tag -->
114
+ <html><head/>
115
+ <meta http-equiv="X-XRDS-Location" content="found">
116
+
117
+ None
118
+ <!-- <body> comes first -->
119
+ <body><html><head>
120
+ <meta http-equiv="X-XRDS-Location" content="found">
121
+
122
+ None
123
+ <!-- </body> comes first -->
124
+ </body><html><head>
125
+ <meta http-equiv="X-XRDS-Location" content="found">
126
+
127
+ None
128
+ <!bad processing instruction!>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Identity Page for Smoker</title>
5
+ <link rel="openid.server" href="http://www.myopenid.com/server" />
6
+ <link rel="openid.delegate" href="http://smoker.myopenid.com/" />
7
+ </head>
8
+ <body>
9
+ <p>foo</p>
10
+ </body>
11
+ </html>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Identity Page for Smoker</title>
5
+ <link rel="openid2.provider" href="http://www.myopenid.com/server" />
6
+ <link rel="openid2.local_id" href="http://smoker.myopenid.com/" />
7
+ </head>
8
+ <body>
9
+ <p>foo</p>
10
+ </body>
11
+ </html>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ >
5
+ <XRD>
6
+ <Service priority="10">
7
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
8
+ <URI>http://www.myopenid.com/server</URI>
9
+ <LocalID>http://smoker.myopenid.com/</LocalID>
10
+ </Service>
11
+ </XRD>
12
+ </xrds:XRDS>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ >
5
+ <XRD>
6
+ <Service priority="10">
7
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
8
+ <URI>http://www.myopenid.com/server</URI>
9
+ </Service>
10
+ </XRD>
11
+ </xrds:XRDS>
@@ -0,0 +1,11 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Identity Page for Smoker</title>
5
+ <link rel="openid2.provider openid.server" href="http://www.myopenid.com/server" />
6
+ <link rel="openid2.local_id openid.delegate" href="http://smoker.myopenid.com/" />
7
+ </head>
8
+ <body>
9
+ <p>foo</p>
10
+ </body>
11
+ </html>
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+
8
+ <Service priority="10">
9
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
10
+ <Type>http://openid.net/signon/1.1</Type>
11
+ <URI>http://www.myopenid.com/server</URI>
12
+ <LocalID>http://smoker.myopenid.com/</LocalID>
13
+ <openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
14
+ </Service>
15
+ </XRD>
16
+ </xrds:XRDS>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+
8
+ <Service priority="10">
9
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
10
+ <Type>http://openid.net/signon/1.0</Type>
11
+ <Type>http://openid.net/signon/1.1</Type>
12
+ <URI>http://www.myopenid.com/server</URI>
13
+ <LocalID>http://smoker.myopenid.com/</LocalID>
14
+ <openid:Delegate>http://localid.mismatch.invalid/</openid:Delegate>
15
+ </Service>
16
+ </XRD>
17
+ </xrds:XRDS>
@@ -0,0 +1,12 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Identity Page for Smoker</title>
5
+ <meta http-equiv="X-XRDS-Location" content="http://someuser.unittest/xrds" />
6
+ <link rel="openid.server" href="http://www.myopenid.com/server" />
7
+ <link rel="openid.delegate" href="http://smoker.myopenid.com/" />
8
+ </head>
9
+ <body>
10
+ <p>foo</p>
11
+ </body>
12
+ </html>
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html>
3
+ <head>
4
+ <title>Identity Page for Smoker</title>
5
+ <link rel="openid.server" href="http://www.myopenid.com/server" />
6
+ </head>
7
+ <body>
8
+ <p>foo</p>
9
+ </body>
10
+ </html>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+ <Service >
8
+ <Type>http://is-not-openid.unittest/</Type>
9
+ <URI>http://noffing.unittest./</URI>
10
+ </Service>
11
+ </XRD>
12
+ </xrds:XRDS>
@@ -0,0 +1,15 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+
8
+ <Service priority="10">
9
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
10
+ <URI>http://www.myopenid.com/server</URI>
11
+ <LocalID>http://smoker.myopenid.com/</LocalID>
12
+ <LocalID>http://localid.mismatch.invalid/</LocalID>
13
+ </Service>
14
+ </XRD>
15
+ </xrds:XRDS>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+ <CanonicalID>=!1000</CanonicalID>
8
+
9
+ <Service priority="10">
10
+ <Type>http://openid.net/signon/1.0</Type>
11
+ <URI>http://www.myopenid.com/server</URI>
12
+ <openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
13
+ </Service>
14
+
15
+ <Service priority="20">
16
+ <Type>http://openid.net/signon/1.0</Type>
17
+ <URI>http://www.livejournal.com/openid/server.bml</URI>
18
+ <openid:Delegate>http://frank.livejournal.com/</openid:Delegate>
19
+ </Service>
20
+
21
+ </XRD>
22
+ </xrds:XRDS>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+ <CanonicalID>=!1000</CanonicalID>
8
+
9
+ <Service priority="10">
10
+ <Type>http://specs.openid.net/auth/2.0/signon</Type>
11
+ <URI>http://www.myopenid.com/server</URI>
12
+ <openid:LocalID>http://smoker.myopenid.com/</openid:LocalID>
13
+ </Service>
14
+
15
+ <Service priority="20">
16
+ <Type>http://specs.openid.net/auth/2.0/server</Type>
17
+ <URI>http://www.livejournal.com/openid/server.bml</URI>
18
+ </Service>
19
+
20
+ </XRD>
21
+ </xrds:XRDS>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+
8
+ <Service priority="10">
9
+ <Type>http://openid.net/signon/1.0</Type>
10
+ <URI>http://vroom.unittest/server</URI>
11
+ <openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
12
+ </Service>
13
+ </XRD>
14
+ </xrds:XRDS>
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+ <Service priority="10">
8
+ <Type>http://specs.openid.net/auth/2.0/server</Type>
9
+ <URI>http://www.myopenid.com/server</URI>
10
+ </Service>
11
+ </XRD>
12
+ </xrds:XRDS>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ xmlns:openid="http://openid.net/xmlns/1.0"
5
+ >
6
+ <XRD>
7
+ <Service>
8
+ <Type>http://specs.openid.net/auth/2.0/server</Type>
9
+ <URI>http://www.myopenid.com/server</URI>
10
+ <openid:Delegate>http://smoker.myopenid.com/</openid:Delegate>
11
+ </Service>
12
+ </XRD>
13
+ </xrds:XRDS>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xrds:XRDS xmlns:xrds="xri://$xrds"
3
+ xmlns="xri://$xrd*($v*2.0)"
4
+ >
5
+ <XRD>
6
+ <Service priority="10">
7
+ <Type>http://openid.net/signon/1.0</Type>
8
+ <URI>http://www.myopenid.com/server</URI>
9
+ </Service>
10
+ </XRD>
11
+ </xrds:XRDS>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <XRDS ref="xri://=j3h" xmlns="xri://$xrds">
3
+ <XRD xmlns="xri://$xrd*($v*2.0)">
4
+ <Query>*j3h</Query>
5
+ <Status code="100"/>
6
+ <Expires>2007-11-15T01:35:07.000Z</Expires>
7
+ <ProviderID>xri://=</ProviderID>
8
+ <LocalID priority="10">!378C.2F61.25D6.F7EB</LocalID>
9
+ <CanonicalID priority="10">=!378C.2F61.25D6.F7EB</CanonicalID>
10
+ <Service priority="10">
11
+ <Type select="true">http://openid.net/signon/1.0</Type>
12
+ <ProviderID/>
13
+ <URI append="qxri" priority="2">http://2idi.com/openid/</URI>
14
+ <URI append="qxri" priority="1">https://2idi.com/openid/</URI>
15
+ </Service>
16
+ <Service priority="10">
17
+ <Type select="true">xri://+i-service*(+contact)*($v*1.0)</Type>
18
+ <Type match="default"/>
19
+ <ProviderID/>
20
+ <Path select="true">(+contact)</Path>
21
+ <Path match="null"/>
22
+ <URI append="qxri" priority="1">http://2idi.com/contact/</URI>
23
+ </Service>
24
+ </XRD>
25
+ </XRDS>
@@ -0,0 +1,12 @@
1
+ delegated-20060809.xrds - results from proxy.xri.net, determined by
2
+ Drummond and Kevin to be incorrect.
3
+ delegated-20060809-r1.xrds - Drummond's 1st correction
4
+ delegated-20060809-r2.xrds - Drummond's 2nd correction
5
+
6
+ spoofs: keturn's (=!E4)'s attempts to log in with Drummond's i-number (=!D2)
7
+ spoof1.xrds
8
+ spoof2.xrds
9
+ spoof3.xrds - attempt to steal @!C0!D2 by having "at least one" CanonicalID
10
+ match the $res service ProviderID.
11
+
12
+ ref.xrds - resolving @ootao*test.ref, which refers to a neustar XRI.
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <XRDS ref="xri://@ootao*test1" xmlns="xri://$xrds">
3
+ <XRD xmlns="xri://$xrd*($v*2.0)">
4
+ <Query>*ootao</Query>
5
+ <Status code="100"/>
6
+ <Expires>2006-08-09T22:07:13.000Z</Expires>
7
+ <ProviderID>xri://@</ProviderID>
8
+ <LocalID priority="10">!5BAD.2AA.3C72.AF46</LocalID>
9
+ <CanonicalID priority="10">@!5BAD.2AA.3C72.AF46</CanonicalID>
10
+ <Service priority="10">
11
+ <Type>xri://$res*auth*($v*2.0)</Type>
12
+ <ProviderID>xri://!!1003</ProviderID>
13
+ <MediaType>application/xrds+xml;trust=none</MediaType>
14
+ <URI priority="10">http://resolve.ezibroker.net/resolve/@ootao/</URI>
15
+ </Service>
16
+ <Service priority="10">
17
+ <Type select="true">http://openid.net/signon/1.0</Type>
18
+ <ProviderID/>
19
+ <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI>
20
+ </Service>
21
+ </XRD>
22
+ <XRD xmlns="xri://$xrd*($v*2.0)">
23
+ <Query>*test1</Query>
24
+ <Status code="100">SUCCESS</Status>
25
+ <ProviderID>xri://!!1003</ProviderID>
26
+ <LocalID>!0000.0000.3B9A.CA01</LocalID>
27
+ <CanonicalID>@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01</CanonicalID>
28
+ <Service>
29
+ <Type select="true">http://openid.net/signon/1.0</Type>
30
+ <ProviderID/>
31
+ <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI>
32
+ </Service>
33
+ </XRD>
34
+ </XRDS>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <XRDS ref="xri://@ootao*test1" xmlns="xri://$xrds">
3
+ <XRD xmlns="xri://$xrd*($v*2.0)">
4
+ <Query>*ootao</Query>
5
+ <Status code="100"/>
6
+ <Expires>2006-08-09T22:07:13.000Z</Expires>
7
+ <ProviderID>xri://@</ProviderID>
8
+ <LocalID priority="10">!5BAD.2AA.3C72.AF46</LocalID>
9
+ <CanonicalID priority="10">@!5BAD.2AA.3C72.AF46</CanonicalID>
10
+ <Service priority="10">
11
+ <Type>xri://$res*auth*($v*2.0)</Type>
12
+ <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID>
13
+ <MediaType>application/xrds+xml;trust=none</MediaType>
14
+ <URI priority="10">http://resolve.ezibroker.net/resolve/@ootao/</URI>
15
+ </Service>
16
+ <Service priority="10">
17
+ <Type select="true">http://openid.net/signon/1.0</Type>
18
+ <ProviderID/>
19
+ <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI>
20
+ </Service>
21
+ </XRD>
22
+ <XRD xmlns="xri://$xrd*($v*2.0)">
23
+ <Query>*test1</Query>
24
+ <Status code="100">SUCCESS</Status>
25
+ <ProviderID>xri://@!5BAD.2AA.3C72.AF46</ProviderID>
26
+ <LocalID>!0000.0000.3B9A.CA01</LocalID>
27
+ <CanonicalID>@!5BAD.2AA.3C72.AF46!0000.0000.3B9A.CA01</CanonicalID>
28
+ <Service>
29
+ <Type select="true">http://openid.net/signon/1.0</Type>
30
+ <ProviderID/>
31
+ <URI append="qxri" priority="1">https://linksafe.ezibroker.net/server/</URI>
32
+ </Service>
33
+ </XRD>
34
+ </XRDS>