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