rubycas-server 0.6.0 → 0.7.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 (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