* SqlMembershipProvider.cs: exception on empty connection string
[mono.git] / mcs / class / System.Web / System.Web.Security / ChangeLog
1 2008-02-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
2
3         * SqlMembershipProvider.cs: exception on empty connection string
4
5 2007-12-30  Vladimir Krasnov  <vladimirk@mainsoft.com>
6
7         * SqliteMembershipProvider.cs, SqlRoleProvider.cs: added chema checking
8         * added AspNetDBSchemaChecker.cs: schema checker helper class
9
10 2007-12-11  Vladimir Krasnov  <vladimirk@mainsoft.com>
11
12         * Roles.cs: fixed Providers property to be thread safe
13
14 2007-12-08  Marek Habersack  <mhabersack@novell.com>
15
16         * SqliteRoleProvider.cs: added - a Role Provider for
17         Sqlite, based on PostgreSQL Role Provider code from Daniel
18         Nauck <dna@informatik.uni-kiel.de>
19
20         * SqliteMembershipProvider.cs: added - a Membership Provider for
21         Sqlite, based on PostgreSQL Membership Provider code from Daniel
22         Nauck <dna@informatik.uni-kiel.de>
23
24 2007-11-28  Marek Habersack  <mhabersack@novell.com>
25
26         * SqlMembershipProvider.cs: handle situation when there is no
27         connection string configured for the SQL Membership Provider.
28
29 2007-11-01  Marek Habersack  <mhabersack@novell.com>
30
31         * RolePrincipal.cs, MembershipProvider.cs: use the new
32         MachineKeySectionUtils class wherever necessary.
33
34         * FormsAuthentication.cs: use the new MachineKeySectionUtils class
35         wherever necessary.
36         GetHexString is a private method again.
37
38 2007-10-31  Marek Habersack  <mhabersack@novell.com>
39
40         * FormsAuthentication.cs: made GetHexString an internal method -
41         it is used in the AssemblyResourceLoader.cs
42
43 2007-08-14  Marek Habersack  <mhabersack@novell.com>
44
45         * Roles.cs: remove unused field.
46
47         * SqlMembershipProvider.cs: remove unused variable.
48
49 2007-08-13 Vladimir Krasnov <vladimirk@mainsoft.com>
50
51         * SqlRoleProvider.cs: fixed ApplicationName initialization
52
53 2007-06-24 Vladimir Krasnov <vladimirk@mainsoft.com>
54
55         * FormsAuthentication.cs: improved performance of GetHexString()
56
57 2007-05-17 Vladimir Krasnov <vladimirk@mainsoft.com>
58
59         * SqlMembershipProvider.cs: fixed DeleteUser, fixed parameter name
60
61 2007-05-14 Igor Zelmanovich <igorz@mainsoft.com>
62
63         * SqlMembershipProvider.cs: Fix parameter binding to stored procedures.
64
65 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
66
67         * PassportIdentity.cs:
68         added MonoNotSupported attribute.       
69
70 2007-05-02  Marek Habersack  <mhabersack@novell.com>
71
72         * FormsAuthentication.cs: user names are stored in lowercase in
73         the credentials database.
74
75 2007-04-29 Igor Zelmanovich <igorz@mainsoft.com>
76
77         * FormsAuthenticationModule.cs: 
78         Redirect to login page doesn't cause thread abort.      
79
80 2007-04-19 Igor Zelmanovich <igorz@mainsoft.com>
81
82         * SqlMembershipProvider.cs:
83         ChangePassword throws exception if new password has invalid format.     
84
85 2007-04-17 Igor Zelmanovich <igorz@mainsoft.com>
86
87         * Membership.cs:
88         * Roles.cs:
89         if default provider was not found ConfigurationErrorsException is thrown.
90
91 2007-04-12  Marek Habersack  <mhabersack@novell.com>
92
93         * RoleManagerModule.cs: do not try to decrypt encryption tickets
94         from cookies with empty values.
95
96 2007-04-04 Juraj Skripsky <js@hotfeet.ch>
97
98         * FormsAuthenticationModule.cs: Move initialization of _config out
99         of Init() as app.Context is null in that method when a session is
100         about to be terminated.
101
102 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
103
104         * AnonymousIdentificationModule.cs: optimized Config property
105
106 2007-03-21 Vladimir Krasnov <vladimirk@mainsoft.com>
107
108         * AnonymousIdentificationModule.cs: added configuration section caching
109         to AppDomain for TARGET_JVM
110         * RoleManagerModule.cs:
111         * UrlAuthorizationModule.cs:
112         * FormsAuthenticationModule.cs: refactored configuration section to be
113         a member of a class
114
115 2007-03-20  Marek Habersack  <mhabersack@novell.com>
116
117         * FormsAuthentication.cs, Roles.cs: remove roles cookie on sign
118         out. Fixes bug #81195. Patch from Mike Morano <mmorano@mikeandwan.us>.
119
120 2007-03-12  Marek Habersack  <mhabersack@novell.com>
121
122         * RolePrincipal.cs: decrypt the roles ticket properly. Makes role
123         caching in cookies work. Fixes bug #81117. Patch from Mike Morano
124         <mmorano@mikeandwan.us>
125
126 2007-03-02  Marek Habersack  <mhabersack@novell.com>
127
128         * SqlMembershipProvider.cs: cast PasswordFormat to int, so that
129         the parameter code can infer the sql type. Makes user creation,
130         password reset etc. work.
131
132 2007-02-28  Andreia Gaita  <avidigal@novell.com>
133
134         * SqlRoleProvider.cs: Fix parameter binding to stored procedures.
135         * SqlMembershipProvider.cs: Fix parameter binding to stored procedures.
136         CreateUser() doesn't use transactions in MS asp.net, so removed the 
137         transaction calls.
138
139 2007-02-19 Vladimir Krasnov <vladimirk@mainsoft.com>
140
141         * RoleManagerModule.cs: fixed role chaching in OnEndRequest and
142         OnPostAuthenticateRequest
143         * RolePrincipal.cs: implemented ToEncryptedTicket, implemented caching
144         role functionality
145         * Roles.cs: implemented DeleteCookie, fixed CookieProtectionValue to
146         get it's value from configuration
147
148 2007-02-08  Marek Habersack  <grendello@gmail.com>
149
150         * FormsAuthenticationModule.cs: Expire auth tickets properly.
151
152         * MembershipProvider.cs: Do not clear the password before
153         encrypting it. 
154
155 2007-01-20  Miguel de Icaza  <miguel@novell.com>
156
157         * SqlRoleProvider.cs: comment out unused code.
158
159         * SqlMembershipProvider.cs: Removed unused variables.
160         Remove unused variable.
161
162         * AnonymousIdentificationModule.cs (ClearAnonymousIdentifier):
163         remove unused variable.   This might be a real bug.
164
165 2007-01-16 Vladimir Krasnov <vladimirk@mainsoft.com>
166
167         * RoleManagerModule.cs: fixed OnPostAuthenticateRequest,
168         CacheRolesInCookie not supported yet
169         * Roles.cs: fixed DeleteCookie, CacheRolesInCookie not supported yet
170
171 2007-01-11 Adar Wesley <adarw@mainsoft.com>
172
173         * MembershipProvider.cs: fixed EncryptPassword to use password buffer length
174
175 2007-01-04 Vladimir Krasnov <vladimirk@mainsoft.com>
176
177         * AnonymousIdentificationModule.cs: fixed OnEnter, fixed failure on
178         incorrect cookie value that browser may hold
179
180 2006-12-27 Vladimir Krasnov <vladimirk@mainsoft.com>
181
182         * FormsAuthentication.cs: added internal ReturnUrl property,
183         GetRedirectUrl added usage of ReturnUrl
184
185 2006-12-12 Vladimir Krasnov <vladimirk@mainsoft.com>
186
187         * FormsAuthentication.cs: TARGET_J2EE define for static members
188
189 2006-12-06 Vladimir Krasnov <vladimirk@mainsoft.com>
190
191         * FormsAuthenticationModule.cs: fixed OnAuthenticateRequest, suppress
192         exception on wrong ticket
193
194 2006-12-03 Igor Zelmanovich <igorz@mainsoft.com>
195
196         * FormsAuthenticationModule.cs: 
197         set SkipAuthorization=true for WebResource.axd
198
199 2006-11-27 Vladimir Krasnov <vladimirk@mainsoft.com>
200
201         * SqlMembershipProvider.cs: typo bug
202
203 2006-11-21 Vladimir Krasnov <vladimirk@mainsoft.com>
204
205         * SqlMembershipProvider.cs: fixed fixed exception type in GetPassword
206         checks user lockout
207
208 2006-11-20 Igor Zelmanovich <igorz@mainsoft.com>
209
210         * SqlMembershipProvider.cs: fixed: UpdateUser works properly.
211
212 2006-11-15 Igor Zelmanovich <igorz@mainsoft.com>
213
214         * SqlMembershipProvider.cs: fixed: name is used for ReturnValue parameter.
215
216 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
217
218         * AnonymousIdentificationModule.cs: fixed anonymous id cookie
219
220 2006-11-05 Vladimir Krasnov <vladimirk@mainsoft.com>
221
222         * MembershipProvider.cs, SqlMembershipProvider.cs:
223         refactoring of DecryptPassword and EncryptPassword methods according
224         to documentation
225
226 2006-09-10 Konstantin Triger <kostat@mainsoft.com>
227
228         * SqlRoleProvider.cs: throw on empty connection string.
229
230 2006-09-26 Vladimir Krasnov <vladimirk@mainsoft.com>
231
232         * Membership.cs: fixed GetAllUsers, typo bug
233         * SqlRoleProvider.cs, SqlMembershipProvider.cs: refactored to use
234         aspnetdb built in stored procedures,
235         fixed application name and membership relation,
236         improved exception handling
237
238 2006-09-03 Igor Zelmanovich <igorz@mainsoft.com>
239
240         * RolePrincipal.cs: refactoring: instance can be serialized.
241
242 2006-09-03 Igor Zelmanovich <igorz@mainsoft.com>
243
244         * SqlMembershipProvider.cs: fixed GetUser,
245         when username is String.Empty methods returns null.
246
247 2006-08-31 Konstantin Triger <kostat@mainsoft.com>
248
249         * SqlRoleProvider.cs: fixed initialization.
250
251 2006-08-31 Igor Zelmanovich <igorz@mainsoft.com>
252
253         * SqlMembershipProvider.cs: fixed CreateUser,
254         password is checked, properties MinRequiredPasswordLength and 
255         MinRequiredNonAlphanumericCharacters are considered.
256
257 2006-08-29 Konstantin Triger <kostat@mainsoft.com>
258
259         * SqlMembershipProvider.cs: fix dispose order of reader vs connection.
260
261 2006-08-28 Igor Zelmanovich <igorz@mainsoft.com>
262
263         * SqlMembershipProvider.cs: fixed CreateUser, parameter isApproved is
264                 considered.
265
266 2006-08-28 Konstantin Triger <kostat@mainsoft.com>
267
268         * SqlMembershipProvider.cs: ensure GetUser() returns null if it cannot
269                 retrieve user information.
270
271 2006-08-28 Konstantin Triger <kostat@mainsoft.com>
272
273         * SqlRoleProvider.cs, SqlMembershipProvider.cs:
274                 "use SqlClientFactory in case the ProviderName is not specified.
275
276 2006-08-27 Konstantin Triger <kostat@mainsoft.com>
277
278         * SqlRoleProvider.cs: enable concurrent usage, refactoring.
279
280 2006-08-27 Konstantin Triger <kostat@mainsoft.com>
281
282         * SqlMembershipProvider.cs: enable concurrent usage, refactoring.
283
284 2006-08-27 Vladimir Krasnov <vladimirk@mainsoft.com>
285
286         * SqlMembershipProvider.cs: fixed ValidateUser, bug when user
287         not exists
288
289 2006-08-14 Gonzalo Paniagua Javier <gonzalo@ximian.com>
290
291         * FormsAuthentication.cs: set the Secure attribute of the authentication
292         cookie when required.
293
294 2006-07-06      Konstantin Triger <kostat@mainsoft.com>
295
296         * FormsAuthentication.cs: Ensure initialized, fix url mapping.
297
298 2006-05-03  Chris Toshok  <toshok@ximian.com>
299
300         * SqlMembershipProvider.cs (GetAlg): move this here for the time
301         being, as it's the only class that uses it.
302         (HashAndBase64Encode): nuke.
303         (EncryptAndBase64Encode): nuke.
304         (Base64DecodeAndDecrypt): nuke.
305         (DecryptPassword): new function.
306         (EncryptPassword): new function.
307         (ChangePassword): replace the switch with a call to
308         EncodePassword.
309         (ChangePasswordQuestionAndAnswer): same.
310         (CreateUser): same.
311         (ResetPassword): same.
312         (ValidateUsingPassword): same.
313         (ValidateUsingPasswordAnswer): same.
314         (GetPassword): same, and throw MembershipPasswordException if the
315         password answer is incorrect.
316
317         * MembershipProvider.cs (InitVector): nuke this.  it's actually
318         the salt from the database (for the sql provider, anyway).
319         (EncodePassword): based on the password format, password, and
320         salt, encode it.  Makes use of EncryptPassword.
321         (DecodePassword): likewise for decoding, makes use of
322         DecryptPassword.
323         (DecryptPassword): revert this to throwing
324         NotImplementedException, as the sql provideroverrides it to
325         perform the actual decryption.
326         (EncryptPassword): same.
327
328 2006-05-02  Chris Toshok  <toshok@ximian.com>
329
330         * SqlMembershipProvider.cs: 85% complete, maybe more.  The major
331         functionality should work.  Password retrieval (and encrypted
332         passwords in general) is untested.
333
334 2006-05-01  Chris Toshok  <toshok@ximian.com>
335
336         * Membership.cs (GeneratePassword): don't include quotes (',",`)
337         in the set of characters in the generated passwords.
338
339 2006-05-01  Chris Toshok  <toshok@ximian.com>
340
341         * MembershipProvider.cs (GetAlg): switch from Exception to
342         ProviderException to match MS behavior (and fix the unit test.)
343
344         * Membership.cs (GeneratePassword): implement.
345
346 2006-05-01  Chris Toshok  <toshok@ximian.com>
347
348         * SqlMembershipProvider.cs: lots more work.  checking this in in
349         its present state because I don't want to lose it.  It still needs
350         work.
351         
352         * Membership.cs (.cctor): remove the fallback.
353         (ValidatingPassword): remove the MonoTODO.
354
355         * MembershipProvider.cs (DecryptPassword): implement.
356         (EncryptPassword): implement.
357         (GetAlg): helper function for Decrypt/EncryptPassword.
358         (InitVector): same.
359
360 2006-04-27  Chris Toshok  <toshok@ximian.com>
361
362         * SqlMembershipProvider.cs (GeneratePassword): call
363         Membership.GeneratePassword with the configured minimum strength
364         requirements.
365
366 2006-04-27  Chris Toshok  <toshok@ximian.com>
367
368         * SqlMembershipProvider.cs (UnlockUser): fix sql query, and move
369         the CheckPararm call to the top of the method.
370
371 2006-04-12  Chris Toshok  <toshok@ximian.com>
372
373         * SqlMembershipProvider.cs: commit initial pass at
374         SqlMembershipProvider work.  lots of stuff untested in here.
375
376 2006-04-11  Chris Toshok  <toshok@ximian.com>
377
378         * MembershipUser.cs (.ctor): per Shackow's book, all DateTime's
379         are converted using ToUniversalTime when passed into this class.
380         (UpdateSelf): update ourselves from the passed in MembershipUser,
381         swallowing NotSupportedExceptions.
382         (UpdateUser): fetch a new MembershipUser from the db and call
383         UpdateSelf with it.
384         (ChangePassword): call UpdateUser after changing the password.
385         (ChangePasswordQuestionAndAnswer): same.
386         (ResetPassword): same.
387         (UnlockUser): same.  Also, don't explicitly set isLockedOut.
388         It'll be updated in UpdateSelf.
389         (CreationDate): getter calls ToLocalTime, setter calls
390         ToUniversalTime.
391         (LastActivityDate): same.
392         (LastLoginDate): same.
393         (LastPasswordChangedDate): same.
394         (LastLockoutDate): same.
395         
396         * Membership.cs (.cctor): use
397         ProvidersHelper.InstantitateProviders, and remove some unnecessary
398         #if NET_2_0's.
399
400 2006-03-29  Chris Toshok  <toshok@ximian.com>
401
402         * SqlRoleProvider.cs: do the LOWER's in SQL, not in C#.
403
404 2006-03-23  Chris Toshok  <toshok@ximian.com>
405
406         * Roles.cs: make this 2.0 configuration aware.
407
408         * SqlRoleProvider.cs: flesh out all the operations.  the only
409         things that need dealing with are the Initialize method's handling
410         of a few parameters, and the ApplicationName property.
411
412 2006-03-23  Chris Toshok  <toshok@ximian.com>
413
414         * DefaultAuthenticationModule.cs (OnDefaultAuthentication): always
415         set Thread.CurrentPrincipal, not just if we set it to the
416         GenericPrincipal.
417
418 2006-03-22  Chris Toshok  <toshok@ximian.com>
419
420         * RoleManagerModule.cs: implement using info in Shackow's book.
421
422         * RolePrincipal.cs: flesh this out a bit more.
423
424         * DefaultAuthenticationModule.cs (OnDefaultAuthentication):
425         according to Shackow's book, this sets Thread.CurrentPrincipal as
426         well as HttpContext.Current.User.
427
428 2006-02-28  Chris Toshok  <toshok@ximian.com>
429
430         * FormsAuthentication.cs: corcompare work.
431
432         * MembershipCreateUserException.cs: same.
433
434         * MembershipPasswordException.cs: same.
435
436         * AnonymousIdentificationModule.cs: same.
437
438 2006-02-01  Chris Toshok  <toshok@ximian.com>
439
440         * FormsAuthentication.cs, Membership.cs,
441         FormsAuthenticationModule.cs, UrlAuthorizationModule.cs: oops,
442         replace GetWebApplicationSection with GetSection.
443         
444 2006-02-01  Chris Toshok  <toshok@ximian.com>
445
446         * FormsAuthentication.cs: CONFIGURATION_2_0 => NET_2_0.
447         simplifies the ifdef mess quite a bit.
448
449         * Membership.cs: same.
450
451         * FormsAuthenticationModule.cs: same.
452
453         * UrlAuthorizationModule.cs: same.
454
455 2006-01-04  Chris Toshok  <toshok@ximian.com>
456
457         * FormsAuthentication.cs (Authenticate): add CONFIGURATION_2_0
458         code.
459         (Decrypt2): same.
460         (Decrypt): same.
461         (Encrypt): same.
462         (Initialize): same.
463
464 2006-01-04  Chris Toshok  <toshok@ximian.com>
465
466         * Membership.cs (.cctor): enable the code here under
467         CONFIGURATION_2_0.
468
469 2006-01-03  Chris Toshok  <toshok@ximian.com>
470
471         * UrlAuthorizationModule.cs (OnAuthorizeRequest): add
472         CONFIGURATION_2_0 code here.
473
474 2005-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
475
476         * FormsAuthentication.cs: don't end the request in
477         RedirectFromLoginPage.
478
479 2005-12-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
480
481         * FormsAuthenticationModule.cs: expire the cookie. Fixes bug #77043.
482         Patch by Cyrille Colin.
483
484 2005-12-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
485
486         * FormsAuthenticationModule.cs: ignore any exception thrown when mapping
487         the provided virtual path to the physical one. Patch by Cyrille Colin.
488
489 2005-11-28  Chris Toshok  <toshok@ximian.com>
490
491         * FormsAuthenticationModule.cs (OnAuthenticateRequest):
492         CONFIGURATION_2_0 work.
493         (OnEndRequest): same.
494
495 2005-09-09  Sebastien Pouliot  <sebastien@ximian.com>
496
497         * DefaultAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
498         * DefaultAuthenticationModule.cs: Added LinkDemand for Minimal. Added
499         Demand for UnmanagedCode on constructor.
500         * FileAuthorizationModule.cs: Added LinkDemand for Minimal. Added 
501         Demand for UnmanagedCode on constructor.
502         * FormsAuthentication.cs: Added LinkDemand for Minimal.
503         * FormsAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
504         * FormsAuthenticationModule.cs: Added LinkDemand for Minimal. Added 
505         Demand for UnmanagedCode on constructor.
506         * FormsAuthenticationTicket.cs: Added LinkDemand for Minimal.
507         * FormsIdentity.cs: Added LinkDemand for Minimal.
508         * PassportAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
509         * PassportAuthenticationModule.cs: Added LinkDemand for Minimal. Added
510         Demand for UnmanagedCode on constructor.
511         * PassportIdentity.cs: Added LinkDemand for Minimal. Added Demand for
512         UnmanagedCode on constructor.
513         * UrlAuthorizationModule.cs: Added LinkDemand for Minimal. Added 
514         Demand for UnmanagedCode on constructor.
515         * WindowsAuthenticationEventArgs.cs: Added LinkDemand for Minimal.
516         * WindowsAuthenticationModule.cs: Added LinkDemand for Minimal. Added
517         Demand for UnmanagedCode on constructor.
518
519 2005-09-01  Sebastien Pouliot  <sebastien@ximian.com>
520
521         * FormsAuthenticationEventArgs.cs: Ensure the setter for User is 
522         protected by a demand for ControlPrincipal.
523         * PassportAuthenticationEventArgs.cs: Ensure the setter for User is
524         protected by a demand for ControlPrincipal.
525         * WindowsAuthenticationEventArgs.cs: Ensure the setter for User is 
526         protected by a demand for ControlPrincipal.
527
528 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com> 
529  
530         * FormsAuthentication.cs: With 2.0 we can get the default properties 
531         and call Initialize without a NRE.
532
533 2005-08-25  Sebastien Pouliot  <sebastien@ximian.com>
534
535         * ActiveDirectoryConnectionProtection.cs: New (2.0) enum.
536         * ActiveDirectoryMembershipProvider.cs: Fixed 2.0 API.
537         * AnonymousIdentificationEventArgs.cs: Fixed AnonymousID property case.
538         * AnonymousIdentificationModule.cs: Fixed 2.0 API.
539         * FileAuthorizationModule.cs: Added static CheckFileAccessForUser in 
540         2.0 profile (TODO).
541         * FormsAuthentication.cs: Added missing 2.0 properties with their 
542         default values.
543         * MembershipCreateStatus.cs: Fixed enum values/names.
544         * MembershipProvider.cs: Added stub for [Decrypt|Encrypt]Password. Both
545         methods don't seems to work without an active provider.
546         * PassportIdentity.cs: Added IDispose for 2.0 profile.
547         * Roles.cs: Added missing beta2 bits and default values (which are the
548         only things working without a role provider (web.config).
549         * RolePrincipal.cs: Fixed 2.0 API. Implemented a few bits.
550         * SqlRoleProvider.cs: Fixed 2.0 API.
551         * UrlAuthorizationModule.cs: Added static CheckUrlAccessForPrincipal in
552         2.0 profile (TODO).
553
554 2005-08-24  Sebastien Pouliot  <sebastien@ximian.com>
555
556         * MembershipUserCollection.cs: Fix exceptions.
557
558 2005-08-22  Sebastien Pouliot  <sebastien@ximian.com>
559
560         * FormsAuthentication.cs: Add some 2.0 stuff required for Login* 
561         controls to compile.
562
563 2005-08-18  Sebastien Pouliot  <sebastien@ximian.com>
564
565         * Membership.cs: Commented unworking parts of the .cctor to allow 
566         testing the Login control.
567         * MembershipProviderCollection.cs: Fixed exception handling.
568         * SqlMembershipProvider.cs: Don't throw NotImplementedException 
569         everywhere so Membership's .cctor (somewhat) works. Removed 
570         Description property (not in beta2).
571
572 2005-07-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
573
574         * FormsAuthentication.cs: allow hardware acceleration support if
575         available. Sebastien dixit.
576
577 2005-07-26 Gonzalo Paniagua Javier <gonzalo@ximian.com>
578
579         * FormsAuthentication.cs: the init_vector must be the same accross
580         restarts, otherwise the cookie does not work even when a decryption
581         key is provided. Initialize it to the bytes of the cookie name. Fixes
582         bug #75635.
583
584 2005-07-25  Eyal Alaluf <eyala@mainsoft.com>
585
586         * FormsAuthenticationModule.cs: Check for null config
587
588 2005-07-25  Miguel de Icaza  <miguel@novell.com>
589
590         * FormsAuthentication.cs (SignOut): Force the cookie to have it
591         expire in the past.
592
593 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
594
595         * FormsAuthentication.cs: my previous patch missed a "small" detail: it
596         didn't include the verification key when computing/checking the
597         validation hash. Now this is really a MAC or HMAC or...
598
599 2005-07-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
600
601         * FormsAuthentication.cs:
602         * FormsAuthenticationTicket.cs: added support for validation and
603         encryption of the auth. cookie and improved serialization of the ticket.
604
605 2005-07-01  Lluis Sanchez Gual <lluis@novell.com>
606
607         * Membership.cs: Read provider info from the config file.
608
609 2005-06-10 Lluis Sanchez Gual <lluis@novell.com>
610
611         * MembershipUserCollection.cs:
612         * MembershipPasswordException.cs:
613         * RoleProviderCollection.cs:
614         * ActiveDirectoryMembershipProvider.cs:
615         * SqlMembershipProvider.cs:
616         * MembershipProvider.cs:
617         * SqlRoleProvider.cs:
618         * Membership.cs:
619         * MembershipUser.cs:
620         * MembershipProviderCollection.cs:
621         * Roles.cs:.
622         * RoleProvider.cs: Track api changes in ASP.NET 2.0. Implemented
623         some missing methods.
624         
625         * AccessRoleProvider.cs:
626         * AccessMembershipProvider.cs: Removed.
627         
628         * MembershipCreateUserException.cs:
629         * MembershipValidatePasswordEventHandler.cs:
630         * ValidatePasswordEventArgs.cs: Implemented.
631
632 2005-05-21  Sebastien Pouliot  <sebastien@ximian.com>
633
634         * FormsAuthentication.cs: Hash the UTF8 representation of the password
635         strings (to be compatible with Microsoft implementation).
636
637 2005-04-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
638
639         * FormsAuthentication.cs:
640         * PassportAuthenticationModule.cs:
641         * WindowsAuthenticationModule.cs: removed warnings.
642
643 2005-03-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
644
645         * FormsAuthenticationModule.cs: fix for bug 73545, which caused
646         authentication not to work when the cookie was not persistent.
647         Patch by Ilya Kharmatsky (Mainsoft).
648
649 2005-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
650
651         * FormsAuthentication.cs: make the string to be stored in a config.
652         file uppercase... See bug #72557.
653
654 2005-02-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
655
656         * FormsAuthentication.cs: fixed typo when getting the hash for the 
657         password in SHA1 and MD5. Thanks to Tadas Dailyda.
658         Lock on a static object instead of typeof(FormsAuthentication).
659
660 2004-11-18 Lluis Sanchez Gual <lluis@novell.com>
661
662         * RoleProvider.cs, Roles.cs, SqlRoleProvider.cs, RoleProviderCollection.cs,
663         AccessRoleProvider.cs: IRoleProvider has been renamed to ProviderBase.
664         * IMembershipProvider.cs: Deleted.
665         * MembershipProvider.cs, AccessMembershipProvider.cs, MembershipUser.cs,
666         Membership.cs, ADMembershipProvider.cs, SqlMembershipProvider.cs
667         MembershipProviderCollection.cs: MembershipProvider has been deleted
668         and replaced by the abstract class MembershipProvider.
669         * MembershipProviderCollection.cs: Minor fixes.
670         * ADMembershipProvider.cs: Renamed to ActiveDirectoryMembershipProvider.cs.
671
672 2004-11-15 Lluis Sanchez Gual <lluis@novell.com>
673
674         * RoleProviderCollection.cs, MembershipProviderCollection.cs: 
675         Fixed warnings.
676
677 2004-08-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
678
679         * FormsAuthentication.cs: patch by Jim Pease to fix the date on renewal.
680
681 2004-08-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682
683         * FormsAuthenticationModule.cs: don't renew expired cookies. Only renew
684         the cookie if SlidingExpiration is set. Thanks to Jim Pease.
685
686 2004-08-03  Sanjay Gupta <gsanjay@novell.com>
687
688         * MembershipSortOptions.cs:
689         * MembershipPasswordFormat.cs:
690         * MembershipOnlineStatus.cs:
691         * MembershipCreateStatus.cs:
692         * CookieProtection.cs: minor modifications.
693
694 2004-06-12  Pedro Martnez Juli  <yoros@wanadoo.es>
695
696         * FormsAuthentication.cs: Undo last change.
697
698 2004-06-12  Pedro Martnez Juli  <yoros@wanadoo.es>
699
700         * FormsAuthentication.cs: go to loginUrl from web.config settings
701         before try with the default ones.
702
703 2004-06-11  Gonzalo Paniagua Javier <gonzalo@ximian.com>
704
705         * DefaultAuthenticationModule.cs: set the IPrincipal for this thread
706         once we have a user. Fixes bug #59683.
707
708 2004-04-21  Gonzalo Paniagua Javier <gonzalo@ximian.com>
709
710         * FormsAuthenticationModule.cs: re-read configuration files if needed
711         when determining if forms auth. is used.
712
713 2004-01-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
714
715         * FormsAuthentication.cs: added RequireSSL and SlidingExpiration.
716
717 2004-01-11  Andreas Nahr <ClassDevelopment@A-SoftTech.com>
718
719         * PassportIdentity.cs: Added v 1.1 members
720
721 2003-11-25 Ben Maurer  <bmaurer@users.sourceforge.net>
722         
723         * AccessMembershipProvider.cs: New v2 file
724         * AccessRoleProvider.cs: New v2 file
725         * ADMembershipProvider.cs: New v2 file
726         * AnonymousIdentificationEventArgs.cs: New v2 file
727         * AnonymousIdentificationEventHandler.cs: New v2 file
728         * AnonymousIdentificationModule.cs: New v2 file
729         * CookieProtection.cs: New v2 file
730         * IMembershipProvider.cs: New v2 file
731         * IRoleProvider.cs: New v2 file
732         * Membership.cs: New v2 file
733         * MembershipCreateStatus.cs: New v2 file
734         * MembershipCreateUserException.cs: New v2 file
735         * MembershipOnlineStatus.cs: New v2 file
736         * MembershipPasswordException.cs: New v2 file
737         * MembershipPasswordFormat.cs: New v2 file
738         * MembershipProviderCollection.cs: New v2 file
739         * MembershipSortOptions.cs: New v2 file
740         * MembershipUser.cs: New v2 file
741         * MembershipUserCollection.cs: New v2 file
742         * RoleManagerEventArgs.cs: New v2 file
743         * RoleManagerEventHandler.cs: New v2 file
744         * RoleManagerModule.cs: New v2 file
745         * RolePrincipal.cs: New v2 file
746         * RoleProviderCollection.cs: New v2 file
747         * Roles.cs: New v2 file
748         * SqlMembershipProvider.cs: New v2 file
749         * SqlRoleProvider.cs: New v2 file
750
751 2003-11-05  Gonzalo Paniagua Javier <gonzalo@ximian.com>
752
753         * FormsAuthentication.cs: encoding updates.
754
755 2003-10-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
756
757         * FormsAuthenticationModule.cs: fixed for applications other than /.
758
759 2003-08-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
760
761         * UrlAuthorizationModule.cs: fixed description for status code.
762
763 2003-07-31  Gonzalo Paniagua Javier <gonzalo@ximian.com>
764
765         * FormsAuthenticationModule.cs: really renew the ticket. Thanks to
766         Jens Thiel <Jens@Thiel.DE>.
767
768 2003-02-13  Gonzalo Paniagua Javier <gonzalo@ximian.com>
769
770         * UrlAuthorizationModule.cs: tell the application not to run any other
771         step apart from EndRequest.
772
773 2003-02-12  Gonzalo Paniagua Javier <gonzalo@ximian.com>
774
775         * FormsAuthentication.cs: implemented RedirectFromLoginPage and
776         GetRedirectUrl.
777         
778         * FormsAuthenticationModule.cs: redirect to the login page when a 401
779         error happens.
780
781         * UrlAuthorizationModule.cs: check for valid user or render error page.
782
783 2003-01-04  Gonzalo Paniagua Javier <gonzalo@ximian.com>
784
785         * DefaultAuthenticationModule.cs: implemented. It just create a default 
786         unauthenticated user when no one else provided one.
787
788         * FormsAuthenticationModule.cs: removed debug output.
789
790 2002-12-20  Gonzalo Paniagua Javier <gonzalo@ximian.com>
791
792         * FormsAuthenticationModule.cs: remove debug lines.
793
794 2002-12-19  Gonzalo Paniagua Javier <gonzalo@ximian.com>
795
796         * FormsAuthentication.cs: return a null ticket when an exception is
797         thrown creating it. Implemented RenewTicketIfOld.
798
799         * FormsAuthenticationModule.cs: implemented event handlers for
800         AuthenticateRequest and EndRequest.
801
802         * FormsAuthenticationTicket.cs: implemented SetDates and Clone methods.
803
804 2002-12-18  Gonzalo Paniagua Javier <gonzalo@ximian.com>
805
806         * FormsAuthentication.cs: implemented GetAuthCookie, SetAuthCookie,
807         SignOut, FormsCookieName and FormsCookiePath.
808
809 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
810
811         * FormsAuthentication.cs: implemented Authenticate, unencrypted Encrypt
812         and Decrypt, HashPasswordForStoringInConfigFile and Initialize.
813
814         * FormsAuthenticationTicket.cs: set cookiePath to the default when no
815         other provided.
816
817 2002-08-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
818
819         * DefaultAuthenticationEventHandler.cs:
820         * DefaultAuthenticationModule.cs:
821         * FileAuthorizationModule.cs:
822         * FormsAuthentication.cs:
823         * FormsAuthenticationEventArgs.cs:
824         * FormsAuthenticationEventHandler.cs:
825         * FormsAuthenticationModule.cs:
826         * FormsAuthenticationTicket.cs:
827         * FormsIdentity.cs:
828         * PassportAuthenticationEventArgs.cs:
829         * PassportAuthenticationEventHandler.cs:
830         * PassportAuthenticationModule.cs:
831         * PassportIdentity.cs:
832         * UrlAuthorizationModule.cs:
833         * WindowsAuthenticationEventArgs.cs:
834         * WindowsAuthenticationEventHandler.cs:
835         * WindowsAuthenticationModule.cs: new files. Some of them implemented,
836         some others stubbed out.
837
838 2002-06-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
839
840         * DefaultAuthenticationEventArgs.cs: added file.
841