Modified:
trunk/CHANGES
trunk/MySql.Data/Provider/MySql.Data.csproj
trunk/MySql.Web/Providers/Source/MembershipProvider.cs
trunk/MySql.Web/Tests/UserManagement.cs
Log:
- fixed membership provider so that calling GetPassword with an incorrect password will
throw the appropriate exception (bug #38939)
Modified: trunk/CHANGES
===================================================================
--- trunk/CHANGES 2008-08-27 15:20:11 UTC (rev 1393)
+++ trunk/CHANGES 2008-08-28 20:21:34 UTC (rev 1394)
@@ -7,7 +7,10 @@
different case then an exception would be thrown.
- Developed and integrated a new sql tokenizer. This tokenizer now recognizes all
comment
types and is approx. 40% faster.
+- fixed membership provider so that calling GetPassword with an incorrect password will
+ throw the appropriate exception (bug #38939)
+
Version 5.2.3 - 8/14/08
- Increased the speed of MySqlDataReader.GetOrdinal dramatically by using a couple
of hashes for lookups
Modified: trunk/MySql.Data/Provider/MySql.Data.csproj
===================================================================
--- trunk/MySql.Data/Provider/MySql.Data.csproj 2008-08-27 15:20:11 UTC (rev 1393)
+++ trunk/MySql.Data/Provider/MySql.Data.csproj 2008-08-28 20:21:34 UTC (rev 1394)
@@ -218,6 +218,8 @@
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
+ <Compile Include="Source\ClientAPI.cs" />
+ <Compile Include="Source\ClientDriver.cs" />
<Compile Include="Source\common\Cache.cs" />
<Compile Include="Source\common\MySqlTokenizer.cs" />
<Compile Include="Source\BulkLoader.cs" />
Modified: trunk/MySql.Web/Providers/Source/MembershipProvider.cs
===================================================================
--- trunk/MySql.Web/Providers/Source/MembershipProvider.cs 2008-08-27 15:20:11 UTC (rev
1393)
+++ trunk/MySql.Web/Providers/Source/MembershipProvider.cs 2008-08-28 20:21:34 UTC (rev
1394)
@@ -734,8 +734,8 @@
string password = reader.GetString("Password");
string passwordAnswer =
reader.GetValue(reader.GetOrdinal("PasswordAnswer")).ToString();
string passwordKey = reader.GetString("PasswordKey");
- MembershipPasswordFormat format = (MembershipPasswordFormat)
- reader.GetInt32(3);
+ MembershipPasswordFormat format =
(MembershipPasswordFormat)reader.GetInt32(3);
+ reader.Close();
if (RequiresQuestionAndAnswer &&
!(CheckPassword(answer, passwordAnswer, passwordKey,
format)))
Modified: trunk/MySql.Web/Tests/UserManagement.cs
===================================================================
--- trunk/MySql.Web/Tests/UserManagement.cs 2008-08-27 15:20:11 UTC (rev 1393)
+++ trunk/MySql.Web/Tests/UserManagement.cs 2008-08-28 20:21:34 UTC (rev 1394)
@@ -417,7 +417,43 @@
GetPasswordHelper(true, true, "blue");
}
+ /// <summary>
+ /// Bug #38939 MembershipUser.GetPassword(string answer) fails when incorrect
answer is passed.
+ /// </summary>
[Test]
+ public void GetPasswordWithWrongAnswer()
+ {
+ MembershipCreateStatus status;
+ provider = new MySQLMembershipProvider();
+ NameValueCollection config = new NameValueCollection();
+ config.Add("connectionStringName", "LocalMySqlServer");
+ config.Add("requiresQuestionAndAnswer", "true");
+ config.Add("enablePasswordRetrieval", "true");
+ config.Add("passwordFormat", "Encrypted");
+ config.Add("applicationName", "/");
+ provider.Initialize(null, config);
+ provider.CreateUser("foo", "barbar!", "foo@stripped", "color", "blue", true,
null, out status);
+
+ MySQLMembershipProvider provider2 = new MySQLMembershipProvider();
+ NameValueCollection config2 = new NameValueCollection();
+ config2.Add("connectionStringName", "LocalMySqlServer");
+ config2.Add("requiresQuestionAndAnswer", "true");
+ config2.Add("enablePasswordRetrieval", "true");
+ config2.Add("passwordFormat", "Encrypted");
+ config2.Add("applicationName", "/");
+ provider2.Initialize(null, config2);
+
+ try
+ {
+ string pw = provider2.GetPassword("foo", "wrong");
+ Assert.Fail("Should have failed");
+ }
+ catch (MembershipPasswordException)
+ {
+ }
+ }
+
+ [Test]
public void GetUser()
{
MembershipCreateStatus status;
| Thread |
|---|
| • Connector/NET commit: r1394 - in trunk: . MySql.Data/Provider MySql.Web/Providers/Source MySql.Web/Tests | rburnett | 28 Aug |