rubycas-server 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/CHANGELOG.txt +1 -186
  2. data/History.txt +247 -0
  3. data/Manifest.txt +27 -2
  4. data/PostInstall.txt +3 -0
  5. data/Rakefile +4 -60
  6. data/bin/rubycas-server +2 -2
  7. data/bin/rubycas-server-ctl +0 -0
  8. data/casserver.db +0 -0
  9. data/casserver.log +792 -0
  10. data/casserver_db.log +88 -0
  11. data/config/hoe.rb +76 -0
  12. data/config/requirements.rb +15 -0
  13. data/config.example.yml +130 -6
  14. data/lib/casserver/authenticators/base.rb +20 -0
  15. data/lib/casserver/authenticators/client_certificate.rb +46 -0
  16. data/lib/casserver/authenticators/google.rb +54 -0
  17. data/lib/casserver/authenticators/ldap.rb +70 -40
  18. data/lib/casserver/authenticators/ntlm.rb +88 -0
  19. data/lib/casserver/authenticators/open_id.rb +22 -0
  20. data/lib/casserver/authenticators/sql.rb +66 -1
  21. data/lib/casserver/authenticators/sql_md5.rb +19 -0
  22. data/lib/casserver/authenticators/test.rb +5 -1
  23. data/lib/casserver/cas.rb +97 -22
  24. data/lib/casserver/controllers.rb +95 -34
  25. data/lib/casserver/environment.rb +16 -9
  26. data/lib/casserver/models.rb +38 -10
  27. data/lib/casserver/version.rb +1 -1
  28. data/lib/casserver/views.rb +38 -22
  29. data/lib/casserver.rb +13 -9
  30. data/lib/rubycas-server/version.rb +1 -0
  31. data/lib/rubycas-server.rb +1 -1
  32. data/lib/themes/notice.png +0 -0
  33. data/lib/themes/simple/logo.png +0 -0
  34. data/misc/basic_cas_single_signon_mechanism_diagram.png +0 -0
  35. data/misc/basic_cas_single_signon_mechanism_diagram.svg +652 -0
  36. data/script/console +10 -0
  37. data/script/destroy +14 -0
  38. data/script/generate +14 -0
  39. data/script/txt2html +82 -0
  40. data/tasks/deployment.rake +34 -0
  41. data/tasks/environment.rake +7 -0
  42. data/tasks/website.rake +17 -0
  43. data/website/index.html +40 -0
  44. data/website/index.txt +3 -0
  45. data/website/javascripts/rounded_corners_lite.inc.js +285 -0
  46. data/website/stylesheets/screen.css +138 -0
  47. data/website/template.html.erb +40 -0
  48. metadata +45 -33
  49. data/test/test_cas.rb +0 -33
  50. data/test/test_casserver.rb +0 -125
data/CHANGELOG.txt CHANGED
@@ -1,186 +1 @@
1
- === 0.6.0 :: 2008-03-28
2
-
3
- * Much of the supporting functionality that makes RubyCAS-Server
4
- act as a well-behaved Linux service has been abstracted out
5
- into its own library. This new library is called Picnic and is
6
- now a gem dependency for RubyCAS-Server. You can find out more about
7
- it at http://code.google.com/p/camping-picnic/.
8
- * The logout action will now accept a 'destination' parameter in lieu of
9
- 'service'. This means that if a 'destination' parameter is given with
10
- some URL, the logout action will show the login form, allowing the user
11
- to immedietly log back in to the service specified by 'destination'.
12
- * The logout action will now accept a 'url' parameter. If given, the logout
13
- page will show a message indicating that the CAS session has been terminated
14
- and instructing the user to click on a link to follow the given URL. If the
15
- 'url' parameter is given, the login form will NOT be shown on the logout
16
- page (see above).
17
- * When an authentication failure occurs (because the user submitted
18
- invalid credentials or the login ticket is missing), the server
19
- now returns a 401 (Unauthorized) response instead of 200.
20
- * An encryption-enabled version of the SQL authenticator is now
21
- available. For more info have a look at:
22
- http://code.google.com/p/rubycas-server/wiki/UsingTheSQLEncryptedAuthenticator
23
- * Better compatibility with Oracle databases. The database migration
24
- no longer tries to create tables with long names when long
25
- table names are not supported by the underlying database connector
26
- (issue #15).
27
- * The server now automatically removes leading and trailing whitespace from
28
- the username entered by users. Passwords however are left intact, with no
29
- whitespace removed.
30
- * The server can now be configured to automatically downcase the
31
- username entered by users (dowcase_username option). So if a user
32
- enters "JSmith", the system will convert it to "jsmith" if the
33
- downcase_username option is set to true.
34
- * The server can now be made to bind to a specific address. See the
35
- :bind_address option in the config.example.yml file.
36
- * Fixed bug with ActiveRecord 2.0.2 where service tickets were not
37
- being given a type (issue #37).
38
-
39
- === 0.5.1 :: 2007-12-20
40
-
41
- * Tickets generated by the server should now be a lot more secure.
42
- The random string generator used for generating tickets now uses
43
- Crypt::ISAAC. Tickets have also been extended in length; STs, PTs
44
- and LTs can now extend up to 32 characters, and PGTs and PGT-IOUs
45
- up to 64.
46
-
47
- === 0.5.0 :: 2007-09-20
48
-
49
- * Gateway requests should now be handled correctly. When the request to the
50
- login page is made with gateway=true as one of the parameters, the CAS
51
- server will immediately redirect back to the target service along with
52
- a service ticket if an SSO session exists for the user (or without a
53
- service ticket if there is no pre-existing SSO session).
54
- Note that if you are using RubyCAS-Client and want gatewaying, you will
55
- need to upgrade it to 1.1.0 as gatewaying was broken in prior versions.
56
- * If gateway=true is specified as part of the logout URI, the server will
57
- log the user out and immediately redirect them back to the specified
58
- service. In other words, you can now do "gatewayed logouts" as well
59
- as logins.
60
- * A login ticket can now be remotely requested from the server by placing
61
- a POST request to '/loginTicket'.
62
- * The login view can now be made to return only the login form. This is
63
- done by adding the 'onlyLoginForm' parameter to the '/login' request.
64
- Optionally, a 'submitToURI' parameter can be supplied to force the login
65
- form to submit to the given URI (otherwise the server will try to figure
66
- out the full URI to its own login controller). This functionality may be
67
- useful when you want to embed the login form in some external page, as
68
- an IFRAME otherwise.
69
- * Custom views can now be used to override the default Markaby templates
70
- by specifying a 'custom_views_file' option in the configuration. See
71
- custom_views.example.rb. [jzylks]
72
- * Table names have been shortened to work with Oracle. A migration has
73
- been added that should do the shortening for you the first time you run
74
- this new RubyCAS-Server version.
75
- * Multiple authenticators can now be specified. During authentication,
76
- credentials are presented to the first authenticator, then the second,
77
- and so on, until the user is validated by any one authenticator or fails
78
- validation for all of them. [jzylks]
79
- * When using webrick, you can now run with SSL disabled by omitting the
80
- ssl_cert and ssl_key parameters.
81
- * Changed incorrect MySQL example database configuration -- option should
82
- be 'host:' not 'server:' (issue #22).
83
-
84
- === 0.4.2 :: 2007-07-26
85
-
86
- * The LDAP/AD authenticator has been largely re-written. The code is a bit
87
- cleaner now, and should work better with non-Active Directory LDAP servers
88
- (although this has yet to be tested since I don't have access to a non-AD
89
- LDAP server).
90
- * The validate() method in your authenticators now receives a :service element
91
- (in addition to :username, and :password). This is simply the service
92
- url (if any) specified in the user's CAS request. If you call
93
- read_standard_credentials(credentials) at the top of your validator, the value
94
- will also be available as @service along with @username and @password.
95
- * By request, a :username_prefix option has been added to the ldap
96
- configuration. If entered, this string will be automatically prefixed to
97
- the username entered by the user.
98
- * A bug having to do with handling authenticator errors has been fixed.
99
- Any authenticator error messages should now be correctly shown on the
100
- login page.
101
- * Minor improvements to error messages having to do with login tickets.
102
- They're a bit more prescriptive now, explaining to the user what steps
103
- they should take to correct the error.
104
-
105
- === 0.4.1 :: 2007-06-07
106
-
107
- * This release restores compatiblity with older versions of rubygems
108
- (pre-0.9.0). To achieve this, we alias the 'gem' method to the old
109
- 'require_gem' if 'gem' is not already defined.
110
- * rubycas-server-ctl will now quiety delete an orphaned .pid file
111
- instead complaining loudly and refusing to start up.
112
- * Fixed minor bug in rubycas-server-ctl that sometimes incorrectly reported
113
- startup problems when in fact the server had started just fine.
114
-
115
-
116
- === 0.4.0 :: 2007-06-05
117
-
118
- * Added rubycas-server-ctl script for controlling daemonized server.
119
- * rubygems-0.9.0 or later is now required.
120
- * Added system startup script to be used in /etc/init.d on Linux systems.
121
- * Authenticator can now be loaded from an external file using the 'source'
122
- configuration option.
123
- * Better preemptive detection of startup problems with mongrel.
124
- * User now sees an error message if the service URI is not a valid URI (i.e.
125
- if it's not URI-encoded or otherwise malformed).
126
-
127
-
128
- === 0.3.0 :: 2007-03-29
129
-
130
- * Fixed glaring security problem with LDAP/AD Authenticator where under some
131
- circumstances blank passwords were accepted as valid.
132
- * Autocomplete has been turned off on the password field for better security.
133
- In the future we may allow autocomplete to be re-enabled using a
134
- configuration setting.
135
- * When the user visits the login page and is already authenticated (i.e. they
136
- have a valid ticket granting cookie), a message is shown at the top
137
- indicating that they are already logged in.
138
- * sqlite3-ruby is no longer required by the gem as a dependency. The user
139
- must now install it manually prior to installing rubycas-server. The
140
- building of sqlite3 native extensions appears to be somewhat flakey
141
- and probably defeats the original purpose of using it (which was
142
- to have a CAS server up and running with no additional DB configuration).
143
- We will use MySQL as the default database adapter instead, since it does
144
- not require additional libraries and many users will have a MySQL server
145
- already available.
146
- * Fixed bug that was causing all proxy-granting tickets to be deleted whenever
147
- any user logged out. Only the PGTs for the user that is logging out are now
148
- being deleted.
149
- * Trailing slashes in service URLs are now ignored when validating service
150
- and proxy tickets (e.g. "http://www.google.com" and "http://www.google.com/"
151
- are now considered to be the same service URL).
152
- * Authenticators now raise AuthenticatorError exceptions when encountering
153
- a problem/error. This makes it easier to send feedback to the user.
154
- However, other exceptions should still be raised when errors ought
155
- not be recoverable (i.e. programming errors).
156
- * Fixed serious vulnerability in LDAP authenticator where under some
157
- cirumstances the user could just enter '*' as their username to match
158
- any username. The LDAP authenticator will now refuse to process logins
159
- with usernames that contain the characters * ( ) \ / and the NULL
160
- character \0.
161
- * Views are no longer xhtml-validated. Markaby's auto-validation was turned
162
- off to allow for use of the autocomplete property on inputs, since this is
163
- the only viable way of turning off password storage in IE and Firefox at
164
- the page level.
165
- * You can now limit the maximum length of a login session by setting the
166
- expire_sessions config setting to true.
167
- * Fixed some minor bugs in the login view.
168
-
169
-
170
- === 0.2.0 :: 2007-03-20
171
-
172
- * ruby-casserver now behaves more like a real command-line app, accepting
173
- various command line arguments including -h (help), -v (version), -c (use
174
- an alternate config.yml), and -d (daemonize, when using webrick or mongrel
175
- mode).
176
- * Special characters in CAS XML responses are now properly encoded into XML
177
- entities
178
- * CAS XML responses are no longer auto-indented... Markaby's indentation
179
- seemed to be causing problems with the PHP CAS client.
180
- * Misc minor bug fixes/cleanup.
181
-
182
-
183
- === 0.1.0 :: 2007-03-01
184
-
185
- * First public release.
186
-
1
+ See History.txt
data/History.txt ADDED
@@ -0,0 +1,247 @@
1
+ === 0.7.0 :: 2008-11-04
2
+
3
+ * New functionality:
4
+ * Implemented single-sign-out functionality as specified in CAS 3.3. See
5
+ http://www.ja-sig.org/wiki/display/CASUM/Single+Sign+Out.
6
+ * It is now possible to configure Authenticators to return extra attributes
7
+ to CAS clients alongside the username. For an example of how to do this see
8
+ the included SQL authenticator. Also have a look at:
9
+ http://groups.google.com/group/rubycas-server/browse_thread/thread/5eade3793cb590e9
10
+ Note that extra attributes of type other than String or Numeric are serialized
11
+ into YAML format before being sent along to the client.
12
+ * Added an MD5-password version of the SQL authenticator for Drupal and any other
13
+ database that stores its passwords in hashed form (thanks malcolmm).
14
+ * Added new Google authenticator for authenticating against Google/GMail
15
+ accounts.
16
+
17
+ * Changes to existing functionality:
18
+ * Service URIs are now automatically normalized. For example, if the service
19
+ URI given to the server has a 'ticket' parameter, the ticket will now be
20
+ automatically stripped. This is to avert any possible issues raised by
21
+ misbehaving CAS clients (the CAS ticket should never be part of the service
22
+ URI). Same goes for other CAS-related parameters like 'service', 'renew',
23
+ and 'gateway'. Additionally, the trailing '/' and '?' characters are
24
+ automatically stripped from URLs, since, for example, "http://google.com/"
25
+ is almost certainly equivalent to "http://google.com".
26
+ * The expire_sessions config variable is now respected -- ticket granting
27
+ ticket cookies are set with an expiry datetime, so that the SSO session
28
+ is effectively terminated once the ticket_granting_ticket_expiry period
29
+ is reached.
30
+ * If present, the HTTP_X_FORWARDED_FOR header is used for recording the
31
+ client's address. This is useful when the server is running behind a reverse
32
+ proxy, but it should not be considered authoritative since it can be
33
+ easily spoofed.
34
+ * The 'service' field in the 'casserver_st' table has been changed from
35
+ VARCHAR(255) to TEXT in order to accomodate service URIs longer than 255
36
+ characters (fixes issue #46).
37
+ * The CAS XML responses are no longer whitespace-formatted (i.e. Markaby's
38
+ auto-indentation has been turned off). Apparently the whitespace was
39
+ causing problems with mod_auth_cas. See:
40
+ http://groups.google.com/group/rubycas-server/browse_thread/thread/e482fe09999b73d3
41
+ * When used without pre-authentication, the LDAP authenticator now tries to
42
+ bind by searching for the given username in the LDAP directory based on the
43
+ configured username_attribute. Prior to this change the authenticator
44
+ attempted to bind with the LDAP server by assuming that the username credential
45
+ matches the user's CN. This is no longer the case.
46
+ * CAS responses to invalid requests (for example where required parameters
47
+ are missing or incorrect) will now have HTTP status code 422. Internal server
48
+ errors (where the server rather than the client is at fault) have error 500.
49
+ Previously most responses had error code 200, regardless of their contents.
50
+
51
+ * Bug fixes
52
+ * Fixed logout action to work properly with ActiveRecord 2.1 (eager loading behaviour
53
+ was changed upstream forcing a change to the way we look for ProxyGrantingTickets
54
+ to delete on logout).
55
+ * When running under Mongrel, the USR2 signal should now restart the server as
56
+ expected -- however currently this only works when the server is running
57
+ in the foregaround. When daemonized, USR2 will shut down the server without
58
+ restarting (see issue #58).
59
+ * Fixed activerecord/activesupport gem load problems, hopefully once and for all
60
+ (however picnic-0.7.0 is now required).
61
+
62
+ === 0.6.0 :: 2008-03-28
63
+
64
+ * Much of the supporting functionality that makes RubyCAS-Server
65
+ act as a well-behaved Linux service has been abstracted out
66
+ into its own library. This new library is called Picnic and is
67
+ now a gem dependency for RubyCAS-Server. You can find out more about
68
+ it at http://code.google.com/p/camping-picnic/.
69
+ * The logout action will now accept a 'destination' parameter in lieu of
70
+ 'service'. This means that if a 'destination' parameter is given with
71
+ some URL, the logout action will show the login form, allowing the user
72
+ to immedietly log back in to the service specified by 'destination'.
73
+ * The logout action will now accept a 'url' parameter. If given, the logout
74
+ page will show a message indicating that the CAS session has been terminated
75
+ and instructing the user to click on a link to follow the given URL. If the
76
+ 'url' parameter is given, the login form will NOT be shown on the logout
77
+ page (see above).
78
+ * When an authentication failure occurs (because the user submitted
79
+ invalid credentials or the login ticket is missing), the server
80
+ now returns a 401 (Unauthorized) response instead of 200.
81
+ * An encryption-enabled version of the SQL authenticator is now
82
+ available. For more info have a look at:
83
+ http://code.google.com/p/rubycas-server/wiki/UsingTheSQLEncryptedAuthenticator
84
+ * Better compatibility with Oracle databases. The database migration
85
+ no longer tries to create tables with long names when long
86
+ table names are not supported by the underlying database connector
87
+ (issue #15).
88
+ * The server now automatically removes leading and trailing whitespace from
89
+ the username entered by users. Passwords however are left intact, with no
90
+ whitespace removed.
91
+ * The server can now be configured to automatically downcase the
92
+ username entered by users (dowcase_username option). So if a user
93
+ enters "JSmith", the system will convert it to "jsmith" if the
94
+ downcase_username option is set to true.
95
+ * The server can now be made to bind to a specific address. See the
96
+ :bind_address option in the config.example.yml file.
97
+ * Fixed bug with ActiveRecord 2.0.2 where service tickets were not
98
+ being given a type (issue #37).
99
+
100
+ === 0.5.1 :: 2007-12-20
101
+
102
+ * Tickets generated by the server should now be a lot more secure.
103
+ The random string generator used for generating tickets now uses
104
+ Crypt::ISAAC. Tickets have also been extended in length; STs, PTs
105
+ and LTs can now extend up to 32 characters, and PGTs and PGT-IOUs
106
+ up to 64.
107
+
108
+ === 0.5.0 :: 2007-09-20
109
+
110
+ * Gateway requests should now be handled correctly. When the request to the
111
+ login page is made with gateway=true as one of the parameters, the CAS
112
+ server will immediately redirect back to the target service along with
113
+ a service ticket if an SSO session exists for the user (or without a
114
+ service ticket if there is no pre-existing SSO session).
115
+ Note that if you are using RubyCAS-Client and want gatewaying, you will
116
+ need to upgrade it to 1.1.0 as gatewaying was broken in prior versions.
117
+ * If gateway=true is specified as part of the logout URI, the server will
118
+ log the user out and immediately redirect them back to the specified
119
+ service. In other words, you can now do "gatewayed logouts" as well
120
+ as logins.
121
+ * A login ticket can now be remotely requested from the server by placing
122
+ a POST request to '/loginTicket'.
123
+ * The login view can now be made to return only the login form. This is
124
+ done by adding the 'onlyLoginForm' parameter to the '/login' request.
125
+ Optionally, a 'submitToURI' parameter can be supplied to force the login
126
+ form to submit to the given URI (otherwise the server will try to figure
127
+ out the full URI to its own login controller). This functionality may be
128
+ useful when you want to embed the login form in some external page, as
129
+ an IFRAME otherwise.
130
+ * Custom views can now be used to override the default Markaby templates
131
+ by specifying a 'custom_views_file' option in the configuration. See
132
+ custom_views.example.rb. [jzylks]
133
+ * Table names have been shortened to work with Oracle. A migration has
134
+ been added that should do the shortening for you the first time you run
135
+ this new RubyCAS-Server version.
136
+ * Multiple authenticators can now be specified. During authentication,
137
+ credentials are presented to the first authenticator, then the second,
138
+ and so on, until the user is validated by any one authenticator or fails
139
+ validation for all of them. [jzylks]
140
+ * When using webrick, you can now run with SSL disabled by omitting the
141
+ ssl_cert and ssl_key parameters.
142
+ * Changed incorrect MySQL example database configuration -- option should
143
+ be 'host:' not 'server:' (issue #22).
144
+
145
+ === 0.4.2 :: 2007-07-26
146
+
147
+ * The LDAP/AD authenticator has been largely re-written. The code is a bit
148
+ cleaner now, and should work better with non-Active Directory LDAP servers
149
+ (although this has yet to be tested since I don't have access to a non-AD
150
+ LDAP server).
151
+ * The validate() method in your authenticators now receives a :service element
152
+ (in addition to :username, and :password). This is simply the service
153
+ url (if any) specified in the user's CAS request. If you call
154
+ read_standard_credentials(credentials) at the top of your validator, the value
155
+ will also be available as @service along with @username and @password.
156
+ * By request, a :username_prefix option has been added to the ldap
157
+ configuration. If entered, this string will be automatically prefixed to
158
+ the username entered by the user.
159
+ * A bug having to do with handling authenticator errors has been fixed.
160
+ Any authenticator error messages should now be correctly shown on the
161
+ login page.
162
+ * Minor improvements to error messages having to do with login tickets.
163
+ They're a bit more prescriptive now, explaining to the user what steps
164
+ they should take to correct the error.
165
+
166
+ === 0.4.1 :: 2007-06-07
167
+
168
+ * This release restores compatiblity with older versions of rubygems
169
+ (pre-0.9.0). To achieve this, we alias the 'gem' method to the old
170
+ 'require_gem' if 'gem' is not already defined.
171
+ * rubycas-server-ctl will now quiety delete an orphaned .pid file
172
+ instead complaining loudly and refusing to start up.
173
+ * Fixed minor bug in rubycas-server-ctl that sometimes incorrectly reported
174
+ startup problems when in fact the server had started just fine.
175
+
176
+
177
+ === 0.4.0 :: 2007-06-05
178
+
179
+ * Added rubycas-server-ctl script for controlling daemonized server.
180
+ * rubygems-0.9.0 or later is now required.
181
+ * Added system startup script to be used in /etc/init.d on Linux systems.
182
+ * Authenticator can now be loaded from an external file using the 'source'
183
+ configuration option.
184
+ * Better preemptive detection of startup problems with mongrel.
185
+ * User now sees an error message if the service URI is not a valid URI (i.e.
186
+ if it's not URI-encoded or otherwise malformed).
187
+
188
+
189
+ === 0.3.0 :: 2007-03-29
190
+
191
+ * Fixed glaring security problem with LDAP/AD Authenticator where under some
192
+ circumstances blank passwords were accepted as valid.
193
+ * Autocomplete has been turned off on the password field for better security.
194
+ In the future we may allow autocomplete to be re-enabled using a
195
+ configuration setting.
196
+ * When the user visits the login page and is already authenticated (i.e. they
197
+ have a valid ticket granting cookie), a message is shown at the top
198
+ indicating that they are already logged in.
199
+ * sqlite3-ruby is no longer required by the gem as a dependency. The user
200
+ must now install it manually prior to installing rubycas-server. The
201
+ building of sqlite3 native extensions appears to be somewhat flakey
202
+ and probably defeats the original purpose of using it (which was
203
+ to have a CAS server up and running with no additional DB configuration).
204
+ We will use MySQL as the default database adapter instead, since it does
205
+ not require additional libraries and many users will have a MySQL server
206
+ already available.
207
+ * Fixed bug that was causing all proxy-granting tickets to be deleted whenever
208
+ any user logged out. Only the PGTs for the user that is logging out are now
209
+ being deleted.
210
+ * Trailing slashes in service URLs are now ignored when validating service
211
+ and proxy tickets (e.g. "http://www.google.com" and "http://www.google.com/"
212
+ are now considered to be the same service URL).
213
+ * Authenticators now raise AuthenticatorError exceptions when encountering
214
+ a problem/error. This makes it easier to send feedback to the user.
215
+ However, other exceptions should still be raised when errors ought
216
+ not be recoverable (i.e. programming errors).
217
+ * Fixed serious vulnerability in LDAP authenticator where under some
218
+ cirumstances the user could just enter '*' as their username to match
219
+ any username. The LDAP authenticator will now refuse to process logins
220
+ with usernames that contain the characters * ( ) \ / and the NULL
221
+ character \0.
222
+ * Views are no longer xhtml-validated. Markaby's auto-validation was turned
223
+ off to allow for use of the autocomplete property on inputs, since this is
224
+ the only viable way of turning off password storage in IE and Firefox at
225
+ the page level.
226
+ * You can now limit the maximum length of a login session by setting the
227
+ expire_sessions config setting to true.
228
+ * Fixed some minor bugs in the login view.
229
+
230
+
231
+ === 0.2.0 :: 2007-03-20
232
+
233
+ * ruby-casserver now behaves more like a real command-line app, accepting
234
+ various command line arguments including -h (help), -v (version), -c (use
235
+ an alternate config.yml), and -d (daemonize, when using webrick or mongrel
236
+ mode).
237
+ * Special characters in CAS XML responses are now properly encoded into XML
238
+ entities
239
+ * CAS XML responses are no longer auto-indented... Markaby's indentation
240
+ seemed to be causing problems with the PHP CAS client.
241
+ * Misc minor bug fixes/cleanup.
242
+
243
+
244
+ === 0.1.0 :: 2007-03-01
245
+
246
+ * First public release.
247
+
data/Manifest.txt CHANGED
@@ -1,18 +1,30 @@
1
1
  CHANGELOG.txt
2
+ History.txt
2
3
  LICENSE.txt
3
4
  Manifest.txt
5
+ PostInstall.txt
4
6
  README.txt
5
7
  Rakefile
6
8
  bin/rubycas-server
7
9
  bin/rubycas-server-ctl
10
+ casserver.db
11
+ casserver.log
12
+ casserver_db.log
8
13
  config.example.yml
14
+ config/hoe.rb
15
+ config/requirements.rb
9
16
  custom_views.example.rb
10
17
  lib/casserver.rb
11
18
  lib/casserver/authenticators/active_directory_ldap.rb
12
19
  lib/casserver/authenticators/base.rb
20
+ lib/casserver/authenticators/client_certificate.rb
21
+ lib/casserver/authenticators/google.rb
13
22
  lib/casserver/authenticators/ldap.rb
23
+ lib/casserver/authenticators/ntlm.rb
24
+ lib/casserver/authenticators/open_id.rb
14
25
  lib/casserver/authenticators/sql.rb
15
26
  lib/casserver/authenticators/sql_encrypted.rb
27
+ lib/casserver/authenticators/sql_md5.rb
16
28
  lib/casserver/authenticators/test.rb
17
29
  lib/casserver/cas.rb
18
30
  lib/casserver/conf.rb
@@ -24,6 +36,7 @@ lib/casserver/utils.rb
24
36
  lib/casserver/version.rb
25
37
  lib/casserver/views.rb
26
38
  lib/rubycas-server.rb
39
+ lib/rubycas-server/version.rb
27
40
  lib/themes/cas.css
28
41
  lib/themes/notice.png
29
42
  lib/themes/ok.png
@@ -36,10 +49,17 @@ lib/themes/urbacon/login_box_bg.png
36
49
  lib/themes/urbacon/logo.png
37
50
  lib/themes/urbacon/theme.css
38
51
  lib/themes/warning.png
52
+ misc/basic_cas_single_signon_mechanism_diagram.png
53
+ misc/basic_cas_single_signon_mechanism_diagram.svg
39
54
  resources/init.d.sh
55
+ script/console
56
+ script/destroy
57
+ script/generate
58
+ script/txt2html
40
59
  setup.rb
41
- test/test_cas.rb
42
- test/test_casserver.rb
60
+ tasks/deployment.rake
61
+ tasks/environment.rake
62
+ tasks/website.rake
43
63
  vendor/isaac_0.9.1/LICENSE
44
64
  vendor/isaac_0.9.1/README
45
65
  vendor/isaac_0.9.1/TODO
@@ -48,3 +68,8 @@ vendor/isaac_0.9.1/crypt/ISAAC.rb
48
68
  vendor/isaac_0.9.1/isaac.gemspec
49
69
  vendor/isaac_0.9.1/setup.rb
50
70
  vendor/isaac_0.9.1/test/TC_ISAAC.rb
71
+ website/index.html
72
+ website/index.txt
73
+ website/javascripts/rounded_corners_lite.inc.js
74
+ website/stylesheets/screen.css
75
+ website/template.html.erb
data/PostInstall.txt ADDED
@@ -0,0 +1,3 @@
1
+
2
+ For more information on RubyCAS-Server, see http://code.google.com/p/rubycas-server
3
+
data/Rakefile CHANGED
@@ -1,60 +1,4 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'rake/clean'
4
- require 'rake/testtask'
5
- require 'rake/packagetask'
6
- require 'rake/gempackagetask'
7
- require 'rake/rdoctask'
8
- require 'rake/contrib/rubyforgepublisher'
9
- require 'fileutils'
10
- require 'hoe'
11
- include FileUtils
12
- require File.join(File.dirname(__FILE__), 'lib', 'casserver', 'version')
13
-
14
- AUTHOR = ["Matt Zukowski", "Jason Zylks"] # can also be an array of Authors
15
- EMAIL = ["matt at roughest dot net"]
16
- DESCRIPTION = "Provides single sign on for web applications using the CAS protocol."
17
- GEM_NAME = "rubycas-server" # what ppl will type to install your gem
18
- RUBYFORGE_PROJECT = "rubycas-server" # The unix name for your project
19
- HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
20
-
21
- DEPS = [
22
- ['activesupport', '>= 1.4.0'],
23
- ['activerecord', '>=1.15.3'],
24
- ['picnic', '>=0.6.3']
25
- ]
26
-
27
-
28
- NAME = "rubycas-server"
29
- REV = nil
30
- #REV = `svn info`[/Revision: (\d+)/, 1] rescue nil
31
- VERS = ENV['VERSION'] || (CASServer::VERSION::STRING + (REV ? ".#{REV}" : ""))
32
- CLEAN.include ['**/.*.sw?', '*.gem', '.config']
33
- RDOC_OPTS = ['--quiet', '--title', "RubyCAS-Server #{VERS} Documentation",
34
- "--opname", "index.html",
35
- "--line-numbers",
36
- "--main", "README",
37
- "--inline-source"]
38
-
39
- class Hoe
40
- def extra_deps
41
- @extra_deps.reject { |x| Array(x).first == 'hoe' }
42
- end
43
- end
44
-
45
- # Generate all the Rake tasks
46
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
47
- hoe = Hoe.new(GEM_NAME, VERS) do |p|
48
- p.author = AUTHOR
49
- p.description = DESCRIPTION
50
- p.email = EMAIL
51
- p.summary = DESCRIPTION
52
- p.url = HOMEPATH
53
- p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
54
- p.test_globs = ["test/**/test_*.rb"]
55
- p.clean_globs = CLEAN #An array of file patterns to delete on clean.
56
-
57
- # == Optional
58
- p.extra_deps = DEPS
59
- p.spec_extras = {:executables => ['rubycas-server', 'rubycas-server-ctl']}
60
- end
1
+ require 'config/requirements'
2
+ require 'config/hoe' # setup Hoe + all gem configuration
3
+
4
+ Dir['tasks/**/*.rake'].each { |rake| load rake }
data/bin/rubycas-server CHANGED
@@ -19,7 +19,7 @@ require 'picnic/cli'
19
19
 
20
20
  cli = Picnic::Cli.new(
21
21
  'rubycas-server',
22
- :app_path => File.expand_path(File.dirname(File.expand_path(__FILE__)))
22
+ :app_module => 'CASServer'
23
23
  )
24
24
 
25
- cli.handle_cli_input
25
+ cli.handle_cli_input
File without changes
data/casserver.db ADDED
Binary file