rubycas-server 0.7.1.1 → 1.0

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 (123) hide show
  1. data/CHANGELOG +292 -0
  2. data/Gemfile +3 -0
  3. data/LICENSE +26 -0
  4. data/README.md +36 -0
  5. data/Rakefile +0 -3
  6. data/bin/rubycas-server +24 -19
  7. data/lib/casserver.rb +7 -110
  8. data/lib/casserver/authenticators/active_directory_ldap.rb +8 -0
  9. data/lib/casserver/authenticators/active_resource.rb +125 -0
  10. data/lib/casserver/authenticators/authlogic_crypto_providers/aes256.rb +43 -0
  11. data/lib/casserver/authenticators/authlogic_crypto_providers/bcrypt.rb +92 -0
  12. data/lib/casserver/authenticators/authlogic_crypto_providers/md5.rb +34 -0
  13. data/lib/casserver/authenticators/authlogic_crypto_providers/sha1.rb +59 -0
  14. data/lib/casserver/authenticators/authlogic_crypto_providers/sha512.rb +50 -0
  15. data/lib/casserver/authenticators/base.rb +30 -11
  16. data/lib/casserver/authenticators/client_certificate.rb +7 -6
  17. data/lib/casserver/authenticators/google.rb +13 -9
  18. data/lib/casserver/authenticators/ldap.rb +37 -28
  19. data/lib/casserver/authenticators/ntlm.rb +9 -9
  20. data/lib/casserver/authenticators/open_id.rb +3 -3
  21. data/lib/casserver/authenticators/sql.rb +65 -34
  22. data/lib/casserver/authenticators/sql_authlogic.rb +93 -0
  23. data/lib/casserver/authenticators/sql_encrypted.rb +44 -44
  24. data/lib/casserver/authenticators/sql_md5.rb +2 -2
  25. data/lib/casserver/authenticators/sql_rest_auth.rb +82 -0
  26. data/lib/casserver/authenticators/test.rb +10 -7
  27. data/lib/casserver/cas.rb +94 -94
  28. data/lib/casserver/localization.rb +91 -0
  29. data/lib/casserver/model.rb +270 -0
  30. data/lib/casserver/server.rb +745 -0
  31. data/lib/casserver/utils.rb +9 -7
  32. data/lib/casserver/views/_login_form.erb +42 -0
  33. data/lib/casserver/views/layout.erb +18 -0
  34. data/lib/casserver/views/login.erb +30 -0
  35. data/lib/casserver/views/proxy.builder +12 -0
  36. data/lib/casserver/views/proxy_validate.builder +25 -0
  37. data/lib/casserver/views/service_validate.builder +18 -0
  38. data/lib/casserver/views/validate.erb +2 -0
  39. data/po/de_DE/rubycas-server.po +127 -0
  40. data/po/es_ES/rubycas-server.po +123 -0
  41. data/po/fr_FR/rubycas-server.po +128 -0
  42. data/po/ja_JP/rubycas-server.po +126 -0
  43. data/po/pl_PL/rubycas-server.po +123 -0
  44. data/po/pt_BR/rubycas-server.po +123 -0
  45. data/po/ru_RU/rubycas-server.po +118 -0
  46. data/po/rubycas-server.pot +112 -0
  47. data/po/zh_CN/rubycas-server.po +113 -0
  48. data/po/zh_TW/rubycas-server.po +113 -0
  49. data/public/themes/cas.css +121 -0
  50. data/{lib → public}/themes/notice.png +0 -0
  51. data/{lib → public}/themes/ok.png +0 -0
  52. data/{lib → public}/themes/simple/bg.png +0 -0
  53. data/public/themes/simple/favicon.png +0 -0
  54. data/{lib → public}/themes/simple/login_box_bg.png +0 -0
  55. data/{lib → public}/themes/simple/logo.png +0 -0
  56. data/public/themes/simple/theme.css +28 -0
  57. data/{lib → public}/themes/urbacon/bg.png +0 -0
  58. data/{lib → public}/themes/urbacon/login_box_bg.png +0 -0
  59. data/{lib → public}/themes/urbacon/logo.png +0 -0
  60. data/public/themes/urbacon/theme.css +33 -0
  61. data/{lib → public}/themes/warning.png +0 -0
  62. data/resources/init.d.sh +1 -1
  63. data/rubycas-server.gemspec +57 -0
  64. data/setup.rb +4 -4
  65. data/spec/alt_config.yml +50 -0
  66. data/spec/authenticators/active_resource_spec.rb +109 -0
  67. data/spec/authenticators/ldap_spec.rb +53 -0
  68. data/spec/casserver_spec.rb +149 -0
  69. data/spec/default_config.yml +50 -0
  70. data/spec/model_spec.rb +42 -0
  71. data/spec/spec.opts +4 -0
  72. data/spec/spec_helper.rb +88 -0
  73. data/spec/utils_spec.rb +53 -0
  74. data/tasks/bundler.rake +4 -0
  75. data/tasks/db/migrate.rake +12 -0
  76. data/tasks/localization.rake +13 -0
  77. data/tasks/spec.rake +10 -0
  78. metadata +294 -91
  79. data/CHANGELOG.txt +0 -1
  80. data/History.txt +0 -252
  81. data/LICENSE.txt +0 -504
  82. data/Manifest.txt +0 -72
  83. data/PostInstall.txt +0 -3
  84. data/README.txt +0 -25
  85. data/bin/rubycas-server-ctl +0 -22
  86. data/config.example.yml +0 -442
  87. data/config/hoe.rb +0 -76
  88. data/config/requirements.rb +0 -15
  89. data/custom_views.example.rb +0 -11
  90. data/lib/casserver/conf.rb +0 -112
  91. data/lib/casserver/controllers.rb +0 -452
  92. data/lib/casserver/environment.rb +0 -30
  93. data/lib/casserver/models.rb +0 -218
  94. data/lib/casserver/postambles.rb +0 -174
  95. data/lib/casserver/version.rb +0 -9
  96. data/lib/casserver/views.rb +0 -243
  97. data/lib/rubycas-server.rb +0 -1
  98. data/lib/rubycas-server/version.rb +0 -1
  99. data/lib/themes/cas.css +0 -121
  100. data/lib/themes/simple/theme.css +0 -28
  101. data/lib/themes/urbacon/theme.css +0 -33
  102. data/misc/basic_cas_single_signon_mechanism_diagram.png +0 -0
  103. data/misc/basic_cas_single_signon_mechanism_diagram.svg +0 -652
  104. data/script/console +0 -10
  105. data/script/destroy +0 -14
  106. data/script/generate +0 -14
  107. data/script/txt2html +0 -82
  108. data/tasks/deployment.rake +0 -34
  109. data/tasks/environment.rake +0 -7
  110. data/tasks/website.rake +0 -17
  111. data/vendor/isaac_0.9.1/LICENSE +0 -26
  112. data/vendor/isaac_0.9.1/README +0 -78
  113. data/vendor/isaac_0.9.1/TODO +0 -3
  114. data/vendor/isaac_0.9.1/VERSIONS +0 -3
  115. data/vendor/isaac_0.9.1/crypt/ISAAC.rb +0 -171
  116. data/vendor/isaac_0.9.1/isaac.gemspec +0 -39
  117. data/vendor/isaac_0.9.1/setup.rb +0 -596
  118. data/vendor/isaac_0.9.1/test/TC_ISAAC.rb +0 -76
  119. data/website/index.html +0 -40
  120. data/website/index.txt +0 -3
  121. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  122. data/website/stylesheets/screen.css +0 -138
  123. data/website/template.html.erb +0 -40
@@ -1 +0,0 @@
1
- require 'casserver'
@@ -1 +0,0 @@
1
- require File.dirname(__FILE__)+'/../casserver/version.rb'
@@ -1,121 +0,0 @@
1
- * {
2
- font-family: Verdana, sans-serif;
3
- }
4
-
5
- body {
6
- text-align: center; /* hack for IE */
7
- }
8
-
9
- label {
10
- font-weight: bold;
11
- font-size: 9px;
12
- }
13
-
14
- input {
15
- font-weight: normal;
16
- font-size: 12px;
17
- }
18
-
19
- input.button {
20
- /*font-weight: bold;*/
21
- font-size: 10px;
22
- }
23
-
24
- #login-box {
25
- margin: 0 auto;
26
- width: 350px;
27
- top: 130px;
28
- position: relative;
29
- }
30
-
31
- #headline-container {
32
- text-align: right;
33
- border-bottom: 1px solid #899989;
34
- font-family: Tahoma, Verdana, sans-serif;
35
- font-size: 22px;
36
- margin-right: 0px;
37
- padding-right: 7px;
38
- margin-left: 10px;
39
- letter-spacing: -0.25px;
40
- }
41
-
42
- #logo-container {
43
- vertical-align: top;
44
- }
45
-
46
- #logo {
47
- }
48
-
49
- #login-form-container {
50
- vertical-align: top;
51
- }
52
-
53
-
54
- #username,
55
- #password {
56
- width: 10em;
57
- }
58
-
59
- #login-form {
60
- padding: 20px;
61
- }
62
-
63
-
64
- #form-layout {
65
- position: relative;
66
- top: 6px;
67
- width: 100%;
68
- }
69
-
70
- #form-layout td {
71
- text-align: center;
72
- padding-bottom: 8px;
73
- }
74
-
75
- #form-layout td#submit-container {
76
- text-align: right;
77
- padding-right: 10px;
78
- }
79
-
80
- #infoline {
81
- font-size: 9px;
82
- }
83
-
84
- #messagebox-container {
85
- padding-left: 11px;
86
- padding-right: 16px;
87
- }
88
-
89
- div.messagebox {
90
- font-size: 12px;
91
- padding: 5px;
92
- padding-left: 55px;
93
- text-align: center;
94
- width: 70%;
95
- min-height: 34px;
96
- vertical-align: middle;
97
- }
98
-
99
- div.mistake {
100
- color: #d00;
101
- background-image: url(warning.png);
102
- background-repeat: no-repeat;
103
- background-position: 10px 5px;
104
- font-weight: bold;
105
- }
106
-
107
- div.confirmation {
108
- color: #280;
109
- background-image: url(ok.png);
110
- background-repeat: no-repeat;
111
- background-position: 10px 5px;
112
- font-weight: bold;
113
- }
114
-
115
- div.notice {
116
- color: #04c;
117
- background-image: url(notice.png);
118
- background-repeat: no-repeat;
119
- background-position: 10px 5px;
120
- font-weight: bold;
121
- }
@@ -1,28 +0,0 @@
1
- body {
2
- background-image: url(bg.png);
3
- }
4
-
5
- #headline-container {
6
- margin-bottom: 5px;
7
- }
8
-
9
- #login-box {
10
- margin: 0 auto;
11
- width: 350px;
12
- top: 110px;
13
- position: relative;
14
- }
15
-
16
- #login-form {
17
- background-color: #fff;
18
- border: 1px #aaa solid;
19
- }
20
-
21
- #logo-container {
22
- vertical-align: middle;
23
- }
24
-
25
- #logo {
26
- width: 128px;
27
- height: 128px;
28
- }
@@ -1,33 +0,0 @@
1
- body {
2
- background-image: url(bg.png);
3
- }
4
-
5
- label {
6
- color: #5c6156;
7
- }
8
-
9
- #login-form {
10
- background-repeat: no-repeat;
11
- background-image: url(login_box_bg.png);
12
- height: 175px;
13
- width: 210px;
14
- padding: 20px;
15
- }
16
-
17
- #logo-container {
18
- vertical-align: top;
19
- }
20
-
21
- #logo {
22
- width: 115px;
23
- height: 171px;
24
- }
25
-
26
- #infoline {
27
- color: #5c6156;
28
- font-size: 8px;
29
- }
30
-
31
- #headline-container {
32
- margin-right: 15px;
33
- }
@@ -1,652 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
- <svg
4
- xmlns:dc="http://purl.org/dc/elements/1.1/"
5
- xmlns:cc="http://web.resource.org/cc/"
6
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7
- xmlns:svg="http://www.w3.org/2000/svg"
8
- xmlns="http://www.w3.org/2000/svg"
9
- xmlns:xlink="http://www.w3.org/1999/xlink"
10
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
11
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
12
- width="744.09448819"
13
- height="1052.3622047"
14
- id="svg2"
15
- sodipodi:version="0.32"
16
- inkscape:version="0.45.1"
17
- sodipodi:docbase="/home/URBACON/mzukowski/workspace/rubycas-server/misc"
18
- sodipodi:docname="basic_cas_single_signon_mechanism_diagram.svg"
19
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
20
- inkscape:export-filename="/home/URBACON/mzukowski/workspace/rubycas-server/misc/basic_cas_single_signon_mechanism_diagram.png"
21
- inkscape:export-xdpi="59.871429"
22
- inkscape:export-ydpi="59.871429">
23
- <defs
24
- id="defs4">
25
- <marker
26
- inkscape:stockid="Dot_l"
27
- orient="auto"
28
- refY="0.0"
29
- refX="0.0"
30
- id="Dot_l"
31
- style="overflow:visible">
32
- <path
33
- id="path5767"
34
- d="M -2.5,-1.0 C -2.5,1.7600000 -4.7400000,4.0 -7.5,4.0 C -10.260000,4.0 -12.5,1.7600000 -12.5,-1.0 C -12.5,-3.7600000 -10.260000,-6.0 -7.5,-6.0 C -4.7400000,-6.0 -2.5,-3.7600000 -2.5,-1.0 z "
35
- style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;marker-end:none"
36
- transform="scale(0.8) translate(7.4, 1)" />
37
- </marker>
38
- <marker
39
- inkscape:stockid="Arrow2Lend"
40
- orient="auto"
41
- refY="0.0"
42
- refX="0.0"
43
- id="Arrow2Lend"
44
- style="overflow:visible;">
45
- <path
46
- id="path5726"
47
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
48
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
49
- transform="scale(1.1) rotate(180) translate(1,0)" />
50
- </marker>
51
- </defs>
52
- <sodipodi:namedview
53
- id="base"
54
- pagecolor="#ffffff"
55
- bordercolor="#666666"
56
- borderopacity="1.0"
57
- gridtolerance="10000"
58
- guidetolerance="10"
59
- objecttolerance="10"
60
- inkscape:pageopacity="0.0"
61
- inkscape:pageshadow="2"
62
- inkscape:zoom="0.7"
63
- inkscape:cx="547.74448"
64
- inkscape:cy="559.41199"
65
- inkscape:document-units="px"
66
- inkscape:current-layer="g6196"
67
- inkscape:window-width="1050"
68
- inkscape:window-height="910"
69
- inkscape:window-x="45"
70
- inkscape:window-y="174" />
71
- <metadata
72
- id="metadata7">
73
- <rdf:RDF>
74
- <cc:Work
75
- rdf:about="">
76
- <dc:format>image/svg+xml</dc:format>
77
- <dc:type
78
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
79
- </cc:Work>
80
- </rdf:RDF>
81
- </metadata>
82
- <g
83
- inkscape:label="Layer 1"
84
- inkscape:groupmode="layer"
85
- id="layer1">
86
- <g
87
- id="g6196"
88
- transform="translate(-8.5714286,72.857143)">
89
- <rect
90
- y="411.08395"
91
- x="54.43605"
92
- height="178.27074"
93
- width="495.41364"
94
- id="rect6063"
95
- style="fill:#fff84d;fill-opacity:0.23809524;stroke:#000000;stroke-width:1.80067635;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:7.20270515, 7.20270515;stroke-dashoffset:0;stroke-opacity:1" />
96
- <rect
97
- y="447.18683"
98
- x="172.08548"
99
- height="104.99249"
100
- width="141.09586"
101
- id="rect2162"
102
- style="fill:#ffffff;stroke:#000000;stroke-width:1.15984082;stroke-opacity:1;fill-opacity:1" />
103
- <text
104
- transform="scale(1.0650305,0.9389402)"
105
- id="text3152"
106
- y="538.65576"
107
- x="172.24358"
108
- style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
109
- xml:space="preserve"><tspan
110
- y="538.65576"
111
- x="172.24358"
112
- id="tspan3154"
113
- sodipodi:role="line">Username:</tspan></text>
114
- <text
115
- transform="scale(1.0650305,0.9389402)"
116
- id="text3156"
117
- y="553.08411"
118
- x="173.55655"
119
- style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
120
- xml:space="preserve"><tspan
121
- y="553.08411"
122
- x="173.55655"
123
- id="tspan3158"
124
- sodipodi:role="line">Password:</tspan></text>
125
- <rect
126
- y="496.16171"
127
- x="232.10291"
128
- height="10.884437"
129
- width="67.540466"
130
- id="rect3160"
131
- style="fill:none;stroke:#000000;stroke-width:0.67504406;stroke-opacity:1" />
132
- <rect
133
- y="510.88766"
134
- x="232.10291"
135
- height="11.524696"
136
- width="67.540466"
137
- id="rect3162"
138
- style="fill:none;stroke:#000000;stroke-width:0.67504406;stroke-opacity:1" />
139
- <rect
140
- y="529.43451"
141
- x="242.97296"
142
- height="12.846746"
143
- width="47.252808"
144
- id="rect3164"
145
- style="fill:#c4c4c4;fill-opacity:1;stroke:#000000;stroke-width:0.63081616;stroke-linejoin:round;stroke-opacity:1" />
146
- <text
147
- transform="scale(1.0650305,0.9389402)"
148
- id="text3166"
149
- y="572.76434"
150
- x="240.52916"
151
- style="font-size:8.10052872px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
152
- xml:space="preserve"><tspan
153
- y="572.76434"
154
- x="240.52916"
155
- id="tspan3168"
156
- sodipodi:role="line">Login</tspan></text>
157
- <image
158
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/database.png"
159
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/database.png"
160
- width="128"
161
- height="128"
162
- id="image4402"
163
- x="115.80714"
164
- y="778.25043" />
165
- <image
166
- style="stroke:#d88383;stroke-opacity:0.4642857"
167
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/Login Manager.png"
168
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/Login Manager.png"
169
- width="128"
170
- height="128"
171
- id="image4412"
172
- x="172.3757"
173
- y="755.01691" />
174
- <flowRoot
175
- transform="translate(77.794059,358.3221)"
176
- id="flowRoot4683"
177
- xml:space="preserve"><flowRegion
178
- id="flowRegion4685"><rect
179
- y="398.79349"
180
- x="185.86807"
181
- height="41.416252"
182
- width="197.9899"
183
- id="rect4687" /></flowRegion><flowPara
184
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
185
- id="flowPara4689">Username/Password</flowPara><flowPara
186
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
187
- id="flowPara4691">Data Source</flowPara></flowRoot> <image
188
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
189
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
190
- width="128"
191
- height="128"
192
- id="image4700"
193
- x="150.88766"
194
- y="177.97473" />
195
- <image
196
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
197
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
198
- width="75.14286"
199
- height="76.571426"
200
- id="image4703"
201
- x="367.49109"
202
- y="122.8522" />
203
- <image
204
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
205
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
206
- width="43.714287"
207
- height="45.142857"
208
- id="image4705"
209
- x="445.17639"
210
- y="96.778969" />
211
- <flowRoot
212
- transform="translate(6.135703,-278.29052)"
213
- id="flowRoot4707"
214
- xml:space="preserve"><flowRegion
215
- id="flowRegion4709"><rect
216
- y="398.79349"
217
- x="185.86807"
218
- height="41.416252"
219
- width="197.9899"
220
- id="rect4711" /></flowRegion><flowPara
221
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
222
- id="flowPara4715">Your Web </flowPara><flowPara
223
- id="flowPara4727"
224
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle">Applications</flowPara></flowRoot> <path
225
- transform="matrix(0.7530864,0,0,0.7037037,119.19544,-3.919848)"
226
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
227
- sodipodi:ry="40.911179"
228
- sodipodi:rx="40.911179"
229
- sodipodi:cy="137.66905"
230
- sodipodi:cx="52.022858"
231
- id="path5948"
232
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
233
- sodipodi:type="arc" />
234
- <path
235
- sodipodi:nodetypes="cc"
236
- inkscape:connector-type="polyline"
237
- id="path4729"
238
- d="M 90.913731,69.483756 C 152.53874,99.37138 165.42358,137.86021 182.83761,175.54977"
239
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#Dot_l);marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
240
- <text
241
- sodipodi:linespacing="100%"
242
- id="text5916"
243
- y="50.656349"
244
- x="122.0305"
245
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
246
- xml:space="preserve"><tspan
247
- id="tspan5942"
248
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
249
- y="50.656349"
250
- x="122.0305"
251
- sodipodi:role="line">User asks to log in or accesses a CAS-</tspan><tspan
252
- id="tspan6140"
253
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
254
- y="68.656349"
255
- x="122.0305"
256
- sodipodi:role="line">protected page on one of your web apps</tspan></text>
257
- <text
258
- transform="scale(1.0344928,0.9666572)"
259
- id="text5944"
260
- y="116.38718"
261
- x="136.8195"
262
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
263
- xml:space="preserve"><tspan
264
- style="font-size:52.41415787px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
265
- y="116.38718"
266
- x="136.8195"
267
- id="tspan5946"
268
- sodipodi:role="line">1</tspan></text>
269
- <path
270
- sodipodi:nodetypes="cc"
271
- inkscape:connector-type="polyline"
272
- id="path5958"
273
- d="M 177.14286,300.93361 C 122.77698,351.25116 149.56669,400.2563 180,432.36218"
274
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
275
- <rect
276
- y="327.36783"
277
- x="131.23285"
278
- height="64.548241"
279
- width="39.39595"
280
- id="rect5986"
281
- style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
282
- <g
283
- id="g5988">
284
- <path
285
- sodipodi:type="arc"
286
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
287
- id="path5962"
288
- sodipodi:cx="52.022858"
289
- sodipodi:cy="137.66905"
290
- sodipodi:rx="40.911179"
291
- sodipodi:ry="40.911179"
292
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
293
- transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
294
- <text
295
- xml:space="preserve"
296
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
297
- x="99.11676"
298
- y="346.66592"
299
- id="text5964"
300
- sodipodi:linespacing="100%"><tspan
301
- sodipodi:role="line"
302
- x="99.11676"
303
- y="346.66592"
304
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
305
- id="tspan5968">CAS client redirects </tspan><tspan
306
- sodipodi:role="line"
307
- x="99.11676"
308
- y="364.66592"
309
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
310
- id="tspan5984">user's browser to </tspan><tspan
311
- id="tspan6099"
312
- sodipodi:role="line"
313
- x="99.11676"
314
- y="382.66592"
315
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">CAS server's login page</tspan></text>
316
- <text
317
- xml:space="preserve"
318
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
319
- x="60.536995"
320
- y="375.02045"
321
- id="text5970"
322
- transform="scale(1.0344928,0.9666572)"><tspan
323
- sodipodi:role="line"
324
- id="tspan5972"
325
- x="60.536995"
326
- y="375.02045"
327
- style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">2</tspan></text>
328
- </g>
329
- <path
330
- sodipodi:nodetypes="cc"
331
- inkscape:connector-type="polyline"
332
- id="path6023"
333
- d="M 221.22341,745.27581 C 223.2843,689.97992 182.92101,668.26983 242.43661,567.48896"
334
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
335
- <path
336
- sodipodi:nodetypes="cc"
337
- inkscape:connector-type="polyline"
338
- id="path6016"
339
- d="M 267.69042,570.51942 C 294.10574,686.35839 253.44877,692.00715 245.46707,751.33672"
340
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
341
- <rect
342
- y="623.04736"
343
- x="193.44421"
344
- height="54.548237"
345
- width="101.01526"
346
- id="rect6018"
347
- style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
348
- <g
349
- transform="translate(26.51177,281.83256)"
350
- id="g5996">
351
- <path
352
- sodipodi:type="arc"
353
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
354
- id="path5998"
355
- sodipodi:cx="52.022858"
356
- sodipodi:cy="137.66905"
357
- sodipodi:rx="40.911179"
358
- sodipodi:ry="40.911179"
359
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
360
- transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
361
- <text
362
- xml:space="preserve"
363
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
364
- x="95.11676"
365
- y="364.66592"
366
- id="text6000"
367
- sodipodi:linespacing="100%"><tspan
368
- id="tspan6012"
369
- sodipodi:role="line"
370
- x="95.11676"
371
- y="364.66592"
372
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">Your CAS server validates the username and password </tspan><tspan
373
- id="tspan6027"
374
- sodipodi:role="line"
375
- x="95.11676"
376
- y="382.66592"
377
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">with your datasource (AD, LDAP, SQL database, etc.)</tspan></text>
378
- <text
379
- xml:space="preserve"
380
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
381
- x="60.536995"
382
- y="375.02045"
383
- id="text6006"
384
- transform="scale(1.0344928,0.9666572)"><tspan
385
- sodipodi:role="line"
386
- id="tspan6008"
387
- x="60.536995"
388
- y="375.02045"
389
- style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">3</tspan></text>
390
- </g>
391
- <flowRoot
392
- transform="translate(-43.501115,62.848217)"
393
- id="flowRoot6029"
394
- xml:space="preserve"><flowRegion
395
- id="flowRegion6031"><rect
396
- y="398.79349"
397
- x="185.86807"
398
- height="41.416252"
399
- width="197.9899"
400
- id="rect6033" /></flowRegion><flowPara
401
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
402
- id="flowPara6037">Login Page</flowPara></flowRoot> <flowRoot
403
- transform="translate(-174.35827,64.491079)"
404
- id="flowRoot6049"
405
- xml:space="preserve"><flowRegion
406
- id="flowRegion6051"><rect
407
- y="398.79349"
408
- x="185.86807"
409
- height="41.416252"
410
- width="197.9899"
411
- id="rect6053" /></flowRegion><flowPara
412
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle"
413
- id="flowPara6057">Your CAS </flowPara><flowPara
414
- id="flowPara6061"
415
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle">Server</flowPara></flowRoot> <rect
416
- y="450.69028"
417
- x="365.75668"
418
- height="68.486626"
419
- width="148.48663"
420
- id="rect6073"
421
- style="fill:#000000;fill-opacity:0.59523806;stroke:#000000;stroke-width:1.5847975;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
422
- <flowRoot
423
- style="fill:#f9f9f9"
424
- transform="translate(153.43952,68.276791)"
425
- id="flowRoot6075"
426
- xml:space="preserve"><flowRegion
427
- id="flowRegion6077"><rect
428
- style="fill:#f9f9f9"
429
- y="398.79349"
430
- x="185.86807"
431
- height="41.416252"
432
- width="197.9899"
433
- id="rect6079" /></flowRegion><flowPara
434
- id="flowPara6087"
435
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9">Ticket </flowPara><flowPara
436
- id="flowPara6091"
437
- style="font-size:18px;font-weight:bold;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#f9f9f9">Validator</flowPara></flowRoot> <g
438
- transform="translate(259.27425,-8.95413)"
439
- id="g6103">
440
- <path
441
- sodipodi:type="arc"
442
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
443
- id="path6105"
444
- sodipodi:cx="52.022858"
445
- sodipodi:cy="137.66905"
446
- sodipodi:rx="40.911179"
447
- sodipodi:ry="40.911179"
448
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
449
- transform="matrix(0.7530864,0,0,0.7037037,40.281693,248.08974)" />
450
- <text
451
- xml:space="preserve"
452
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
453
- x="99.11676"
454
- y="346.66592"
455
- id="text6107"
456
- sodipodi:linespacing="100%"><tspan
457
- id="tspan6113"
458
- sodipodi:role="line"
459
- x="99.11676"
460
- y="346.66592"
461
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">User is now authenticated</tspan><tspan
462
- id="tspan6124"
463
- sodipodi:role="line"
464
- x="99.11676"
465
- y="364.66592"
466
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">for all web applications, and</tspan><tspan
467
- id="tspan6126"
468
- sodipodi:role="line"
469
- x="99.11676"
470
- y="382.66592"
471
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">is redirected back to original</tspan><tspan
472
- id="tspan6128"
473
- sodipodi:role="line"
474
- x="99.11676"
475
- y="400.66592"
476
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start">destination, with a <tspan
477
- id="tspan6132"
478
- style="font-weight:bold">service ticket</tspan></tspan></text>
479
- <text
480
- xml:space="preserve"
481
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
482
- x="60.536995"
483
- y="375.02045"
484
- id="text6115"
485
- transform="scale(1.0344928,0.9666572)"><tspan
486
- sodipodi:role="line"
487
- id="tspan6117"
488
- x="60.536995"
489
- y="375.02045"
490
- style="font-size:52.41426086px;font-weight:bold;fill:#8c8c8c;fill-opacity:1">4</tspan></text>
491
- </g>
492
- <path
493
- sodipodi:nodetypes="cc"
494
- inkscape:connector-type="polyline"
495
- id="path6101"
496
- d="M 284.28571,438.36218 C 327.38237,403.34113 341.72605,344.12374 278.57143,275.50504"
497
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
498
- <image
499
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
500
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
501
- width="75.14286"
502
- height="76.571426"
503
- id="image6134"
504
- x="456.71429"
505
- y="144.07646" />
506
- <image
507
- xlink:href="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
508
- sodipodi:absref="/home/URBACON/mzukowski/Downloads/Crystal Clear/Linspire Clear/128x128/apps/internet.png"
509
- width="43.714287"
510
- height="45.142857"
511
- id="image6136"
512
- x="302.42859"
513
- y="172.6479" />
514
- <path
515
- transform="matrix(0.7530864,0,0,0.7037037,375.41079,160.18381)"
516
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
517
- sodipodi:ry="40.911179"
518
- sodipodi:rx="40.911179"
519
- sodipodi:cy="137.66905"
520
- sodipodi:cx="52.022858"
521
- id="path6146"
522
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
523
- sodipodi:type="arc" />
524
- <path
525
- sodipodi:nodetypes="cc"
526
- inkscape:connector-type="polyline"
527
- id="path6142"
528
- d="M 290,255.21933 C 614.35962,322.40837 842.57613,334.41943 527.14286,483.79075"
529
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;display:inline" />
530
- <text
531
- sodipodi:linespacing="100%"
532
- id="text6148"
533
- y="249.33141"
534
- x="439.3887"
535
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
536
- xml:space="preserve"><tspan
537
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
538
- y="249.33141"
539
- x="439.3887"
540
- sodipodi:role="line"
541
- id="tspan6156">CAS client validates the <tspan
542
- id="tspan6192"
543
- style="font-weight:bold">service </tspan></tspan><tspan
544
- id="tspan6184"
545
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
546
- y="267.33141"
547
- x="439.3887"
548
- sodipodi:role="line"><tspan
549
- id="tspan6194"
550
- style="font-weight:bold">ticket </tspan>with CAS server (via HTTP</tspan><tspan
551
- id="tspan6186"
552
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
553
- y="285.33141"
554
- x="439.3887"
555
- sodipodi:role="line"> CAS protocol)</tspan><tspan
556
- id="tspan6182"
557
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
558
- y="303.33141"
559
- x="439.3887"
560
- sodipodi:role="line" /></text>
561
- <text
562
- transform="scale(1.0344928,0.9666572)"
563
- id="text6160"
564
- y="284.08234"
565
- x="384.49191"
566
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
567
- xml:space="preserve"><tspan
568
- style="font-size:52.41423416px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
569
- y="284.08234"
570
- x="384.49191"
571
- id="tspan6162"
572
- sodipodi:role="line">5</tspan></text>
573
- <text
574
- xml:space="preserve"
575
- style="font-size:12px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
576
- x="59.428574"
577
- y="-3.3521032"
578
- id="text6475"><tspan
579
- sodipodi:role="line"
580
- id="tspan6477"
581
- x="59.428574"
582
- y="-3.3521032"
583
- style="font-size:32px;font-weight:bold">Basic CAS Authentication Mechanism</tspan></text>
584
- <path
585
- sodipodi:nodetypes="cc"
586
- inkscape:connector-type="polyline"
587
- id="path6479"
588
- d="M 492.85714,530.93361 C 503.98532,609.14204 392.78869,548.345 328.57143,540.93361"
589
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow2Lend);stroke-miterlimit:4;stroke-dasharray:3,1.5,0.75,1.5;stroke-opacity:1;display:inline;stroke-dashoffset:0" />
590
- <rect
591
- y="535.80237"
592
- x="508.87347"
593
- height="68.833954"
594
- width="50.82452"
595
- id="rect6525"
596
- style="fill:#ffffff;fill-opacity:0.81547618;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857" />
597
- <path
598
- transform="matrix(0.7530864,0,0,0.7037037,451.90354,473.8499)"
599
- d="M 92.934036 137.66905 A 40.911179 40.911179 0 1 1 11.111679,137.66905 A 40.911179 40.911179 0 1 1 92.934036 137.66905 z"
600
- sodipodi:ry="40.911179"
601
- sodipodi:rx="40.911179"
602
- sodipodi:cy="137.66905"
603
- sodipodi:cx="52.022858"
604
- id="path6481"
605
- style="fill:#d6d6d6;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.4642857"
606
- sodipodi:type="arc" />
607
- <text
608
- sodipodi:linespacing="100%"
609
- id="text6483"
610
- y="555.85461"
611
- x="511.59576"
612
- style="font-size:20px;font-style:normal;font-weight:normal;line-height:100%;writing-mode:lr-tb;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
613
- xml:space="preserve"><tspan
614
- id="tspan6495"
615
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
616
- y="555.85461"
617
- x="511.59576"
618
- sodipodi:role="line">If ticket validation fails,</tspan><tspan
619
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
620
- y="573.85461"
621
- x="511.59576"
622
- sodipodi:role="line"
623
- id="tspan6517">user is redirected back to</tspan><tspan
624
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
625
- y="591.85461"
626
- x="511.59576"
627
- sodipodi:role="line"
628
- id="tspan6521">login page; otherwise </tspan><tspan
629
- style="font-size:18px;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start"
630
- y="609.85461"
631
- x="511.59576"
632
- sodipodi:role="line"
633
- id="tspan6523">allowed to proceed</tspan></text>
634
- <text
635
- transform="scale(1.0344928,0.9666572)"
636
- id="text6497"
637
- y="608.56763"
638
- x="458.43414"
639
- style="font-size:8.73571777px;font-style:normal;font-weight:normal;fill:#8c8c8c;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
640
- xml:space="preserve"><tspan
641
- style="font-size:52.41422653px;font-weight:bold;fill:#8c8c8c;fill-opacity:1"
642
- y="608.56763"
643
- x="458.43414"
644
- id="tspan6499"
645
- sodipodi:role="line">6</tspan></text>
646
- <path
647
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
648
- d="M 50.571429,4.647896 L 686.28572,4.647896"
649
- id="path6529" />
650
- </g>
651
- </g>
652
- </svg>