Skip to content

Commit

Permalink
Fixed serialization issues.
Browse files Browse the repository at this point in the history
  • Loading branch information
Wei Dai committed Mar 17, 2022
1 parent 371cfd3 commit fda6250
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 32 deletions.
4 changes: 2 additions & 2 deletions dotnet/tests/SerializationTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ public void SEALHeaderSaveLoad()
Assert.AreEqual(loaded.Size, header.Size);
}
}

/*
[TestMethod]
public void SEALHeaderUpgrade()
{
Expand Down Expand Up @@ -86,7 +86,7 @@ public void SEALHeaderUpgrade()
mem.Seek(offset: 0, loc: SeekOrigin.Begin);
}
}

*/
[TestMethod]
public void ExceptionsTest()
{
Expand Down
12 changes: 10 additions & 2 deletions native/src/seal/ciphertext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,11 @@ namespace seal
throw logic_error("unsupported prng_type");
}

if (version.major == 3 && version.minor >= 6)
if (version.major == 4)
{
sample_poly_uniform(prng, context_data_ptr->parms(), data(1));
}
else if (version.major == 3 && version.minor >= 6)
{
sample_poly_uniform(prng, context_data_ptr->parms(), data(1));
}
Expand Down Expand Up @@ -320,7 +324,11 @@ namespace seal
// ciphertext case. Next load the UniformRandomGeneratorInfo.
UniformRandomGeneratorInfo prng_info;

if (version.major == 3 && version.minor >= 6)
if (version.major == 4)
{
prng_info.load(stream);
}
else if (version.major == 3 && version.minor >= 6)
{
prng_info.load(stream);
}
Expand Down
10 changes: 5 additions & 5 deletions native/src/seal/serialization.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,11 @@ namespace seal
return false;
}

// Support Microsoft SEAL 3.4 and above
if (header.version_major == 3 && header.version_minor >= 4)
{
return true;
}
// // Support Microsoft SEAL 3.4 and above
// if (header.version_major == 3 && header.version_minor >= 4)
// {
// return true;
// }

return false;
}
Expand Down
46 changes: 23 additions & 23 deletions native/tests/seal/serialization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -113,32 +113,32 @@ namespace sealtest
ASSERT_EQ(256, loaded_header.size);
}
}

TEST(SerializationTest, SEALHeaderUpgrade)
{
legacy_headers::SEALHeader_3_4 header_3_4;
header_3_4.compr_mode = Serialization::compr_mode_default;
header_3_4.size = 0xF3F3;

/*
TEST(SerializationTest, SEALHeaderUpgrade)
{
Serialization::SEALHeader header;
Serialization::LoadHeader(
reinterpret_cast<const seal_byte *>(&header_3_4), sizeof(legacy_headers::SEALHeader_3_4), header);
ASSERT_TRUE(Serialization::IsValidHeader(header));
ASSERT_EQ(header_3_4.compr_mode, header.compr_mode);
ASSERT_EQ(header_3_4.size, header.size);
}
{
Serialization::SEALHeader header;
Serialization::LoadHeader(
reinterpret_cast<const seal_byte *>(&header_3_4), sizeof(legacy_headers::SEALHeader_3_4), header,
false);
legacy_headers::SEALHeader_3_4 header_3_4;
header_3_4.compr_mode = Serialization::compr_mode_default;
header_3_4.size = 0xF3F3;
// No upgrade requested
ASSERT_FALSE(Serialization::IsValidHeader(header));
}
}
{
Serialization::SEALHeader header;
Serialization::LoadHeader(
reinterpret_cast<const seal_byte *>(&header_3_4), sizeof(legacy_headers::SEALHeader_3_4), header);
ASSERT_TRUE(Serialization::IsValidHeader(header));
ASSERT_EQ(header_3_4.compr_mode, header.compr_mode);
ASSERT_EQ(header_3_4.size, header.size);
}
{
Serialization::SEALHeader header;
Serialization::LoadHeader(
reinterpret_cast<const seal_byte *>(&header_3_4), sizeof(legacy_headers::SEALHeader_3_4), header,
false);
// No upgrade requested
ASSERT_FALSE(Serialization::IsValidHeader(header));
}
}
*/
TEST(SerializationTest, SaveLoadToStream)
{
test_struct st{ 3, ~0, 3.14159 }, st2;
Expand Down

0 comments on commit fda6250

Please sign in to comment.