Skip to content

Commit bc349a7

Browse files
Merge branch 'mpl-1.7' into primitives-name
2 parents 5665d3b + 84d6574 commit bc349a7

File tree

4 files changed

+169
-46
lines changed

4 files changed

+169
-46
lines changed

DynamoDbEncryption/dafny/DynamoDbEncryptionTransforms/Model/AwsCryptographyDbEncryptionSdkDynamoDbTransformsTypes.dfy

+82-46
Original file line numberDiff line numberDiff line change
@@ -759,62 +759,98 @@ abstract module AbstractAwsCryptographyDbEncryptionSdkDynamoDbTransformsService
759759
var tmps4 := set t4 | t4 in tmp3.search.value.versions;
760760
forall tmp4 :: tmp4 in tmps4 ==>
761761
tmp4.keyStore.ValidState()
762-
modifies set tmps5 <- set t5 <- config.tableEncryptionConfigs.Values | true
763-
&& t5.keyring.Some?
764-
:: t5.keyring.value,
765-
obj <- tmps5.Modifies | obj in tmps5.Modifies :: obj
766-
modifies set tmps6 <- set t6 <- config.tableEncryptionConfigs.Values | true
767-
&& t6.cmm.Some?
768-
:: t6.cmm.value,
769-
obj <- tmps6.Modifies | obj in tmps6.Modifies :: obj
762+
requires var tmps5 := set t5 | t5 in config.tableEncryptionConfigs.Values;
763+
forall tmp5 :: tmp5 in tmps5 ==>
764+
tmp5.search.Some? ==>
765+
var tmps6 := set t6 | t6 in tmp5.search.value.versions;
766+
forall tmp6 :: tmp6 in tmps6 ==>
767+
tmp6.keySource.multi? ==>
768+
tmp6.keySource.multi.cache.Some? ==>
769+
tmp6.keySource.multi.cache.value.Shared? ==>
770+
tmp6.keySource.multi.cache.value.Shared.ValidState()
770771
modifies set tmps7 <- set t7 <- config.tableEncryptionConfigs.Values | true
771-
&& t7.legacyOverride.Some?
772-
:: t7.legacyOverride.value.encryptor,
772+
&& t7.keyring.Some?
773+
:: t7.keyring.value,
773774
obj <- tmps7.Modifies | obj in tmps7.Modifies :: obj
774775
modifies set tmps8 <- set t8 <- config.tableEncryptionConfigs.Values | true
775-
&& t8.search.Some?
776-
, t9 <- t8.search.value.versions :: t9.keyStore,
776+
&& t8.cmm.Some?
777+
:: t8.cmm.value,
777778
obj <- tmps8.Modifies | obj in tmps8.Modifies :: obj
779+
modifies set tmps9 <- set t9 <- config.tableEncryptionConfigs.Values | true
780+
&& t9.legacyOverride.Some?
781+
:: t9.legacyOverride.value.encryptor,
782+
obj <- tmps9.Modifies | obj in tmps9.Modifies :: obj
783+
modifies set tmps10 <- set t10 <- config.tableEncryptionConfigs.Values | true
784+
&& t10.search.Some?
785+
, t11 <- t10.search.value.versions | true
786+
:: t11.keyStore,
787+
obj <- tmps10.Modifies | obj in tmps10.Modifies :: obj
788+
modifies set tmps12 <- set t12 <- config.tableEncryptionConfigs.Values | true
789+
&& t12.search.Some?
790+
, t13 <- t12.search.value.versions | true
791+
&& t13.keySource.multi?
792+
&& t13.keySource.multi.cache.Some?
793+
&& t13.keySource.multi.cache.value.Shared?
794+
:: t13.keySource.multi.cache.value.Shared,
795+
obj <- tmps12.Modifies | obj in tmps12.Modifies :: obj
778796
ensures res.Success? ==>
779797
&& fresh(res.value)
780798
&& fresh(res.value.Modifies
781-
- ( set tmps10 <- set t10 <- config.tableEncryptionConfigs.Values | true
782-
&& t10.keyring.Some?
783-
:: t10.keyring.value,
784-
obj <- tmps10.Modifies | obj in tmps10.Modifies :: obj
785-
) - ( set tmps11 <- set t11 <- config.tableEncryptionConfigs.Values | true
786-
&& t11.cmm.Some?
787-
:: t11.cmm.value,
788-
obj <- tmps11.Modifies | obj in tmps11.Modifies :: obj
789-
) - ( set tmps12 <- set t12 <- config.tableEncryptionConfigs.Values | true
790-
&& t12.legacyOverride.Some?
791-
:: t12.legacyOverride.value.encryptor,
792-
obj <- tmps12.Modifies | obj in tmps12.Modifies :: obj
793-
) - ( set tmps13 <- set t13 <- config.tableEncryptionConfigs.Values | true
794-
&& t13.search.Some?
795-
, t14 <- t13.search.value.versions :: t14.keyStore,
796-
obj <- tmps13.Modifies | obj in tmps13.Modifies :: obj
799+
- ( set tmps14 <- set t14 <- config.tableEncryptionConfigs.Values | true
800+
&& t14.keyring.Some?
801+
:: t14.keyring.value,
802+
obj <- tmps14.Modifies | obj in tmps14.Modifies :: obj
803+
) - ( set tmps15 <- set t15 <- config.tableEncryptionConfigs.Values | true
804+
&& t15.cmm.Some?
805+
:: t15.cmm.value,
806+
obj <- tmps15.Modifies | obj in tmps15.Modifies :: obj
807+
) - ( set tmps16 <- set t16 <- config.tableEncryptionConfigs.Values | true
808+
&& t16.legacyOverride.Some?
809+
:: t16.legacyOverride.value.encryptor,
810+
obj <- tmps16.Modifies | obj in tmps16.Modifies :: obj
811+
) - ( set tmps17 <- set t17 <- config.tableEncryptionConfigs.Values | true
812+
&& t17.search.Some?
813+
, t18 <- t17.search.value.versions | true
814+
:: t18.keyStore,
815+
obj <- tmps17.Modifies | obj in tmps17.Modifies :: obj
816+
) - ( set tmps19 <- set t19 <- config.tableEncryptionConfigs.Values | true
817+
&& t19.search.Some?
818+
, t20 <- t19.search.value.versions | true
819+
&& t20.keySource.multi?
820+
&& t20.keySource.multi.cache.Some?
821+
&& t20.keySource.multi.cache.value.Shared?
822+
:: t20.keySource.multi.cache.value.Shared,
823+
obj <- tmps19.Modifies | obj in tmps19.Modifies :: obj
797824
) )
798825
&& fresh(res.value.History)
799826
&& res.value.ValidState()
800-
ensures var tmps15 := set t15 | t15 in config.tableEncryptionConfigs.Values;
801-
forall tmp15 :: tmp15 in tmps15 ==>
802-
tmp15.keyring.Some? ==>
803-
tmp15.keyring.value.ValidState()
804-
ensures var tmps16 := set t16 | t16 in config.tableEncryptionConfigs.Values;
805-
forall tmp16 :: tmp16 in tmps16 ==>
806-
tmp16.cmm.Some? ==>
807-
tmp16.cmm.value.ValidState()
808-
ensures var tmps17 := set t17 | t17 in config.tableEncryptionConfigs.Values;
809-
forall tmp17 :: tmp17 in tmps17 ==>
810-
tmp17.legacyOverride.Some? ==>
811-
tmp17.legacyOverride.value.encryptor.ValidState()
812-
ensures var tmps18 := set t18 | t18 in config.tableEncryptionConfigs.Values;
813-
forall tmp18 :: tmp18 in tmps18 ==>
814-
tmp18.search.Some? ==>
815-
var tmps19 := set t19 | t19 in tmp18.search.value.versions;
816-
forall tmp19 :: tmp19 in tmps19 ==>
817-
tmp19.keyStore.ValidState()
827+
ensures var tmps21 := set t21 | t21 in config.tableEncryptionConfigs.Values;
828+
forall tmp21 :: tmp21 in tmps21 ==>
829+
tmp21.keyring.Some? ==>
830+
tmp21.keyring.value.ValidState()
831+
ensures var tmps22 := set t22 | t22 in config.tableEncryptionConfigs.Values;
832+
forall tmp22 :: tmp22 in tmps22 ==>
833+
tmp22.cmm.Some? ==>
834+
tmp22.cmm.value.ValidState()
835+
ensures var tmps23 := set t23 | t23 in config.tableEncryptionConfigs.Values;
836+
forall tmp23 :: tmp23 in tmps23 ==>
837+
tmp23.legacyOverride.Some? ==>
838+
tmp23.legacyOverride.value.encryptor.ValidState()
839+
ensures var tmps24 := set t24 | t24 in config.tableEncryptionConfigs.Values;
840+
forall tmp24 :: tmp24 in tmps24 ==>
841+
tmp24.search.Some? ==>
842+
var tmps25 := set t25 | t25 in tmp24.search.value.versions;
843+
forall tmp25 :: tmp25 in tmps25 ==>
844+
tmp25.keyStore.ValidState()
845+
ensures var tmps26 := set t26 | t26 in config.tableEncryptionConfigs.Values;
846+
forall tmp26 :: tmp26 in tmps26 ==>
847+
tmp26.search.Some? ==>
848+
var tmps27 := set t27 | t27 in tmp26.search.value.versions;
849+
forall tmp27 :: tmp27 in tmps27 ==>
850+
tmp27.keySource.multi? ==>
851+
tmp27.keySource.multi.cache.Some? ==>
852+
tmp27.keySource.multi.cache.value.Shared? ==>
853+
tmp27.keySource.multi.cache.value.Shared.ValidState()
818854

819855
// Helper functions for the benefit of native code to create a Success(client) without referring to Dafny internals
820856
function method CreateSuccessOfClient(client: IDynamoDbEncryptionTransformsClient): Result<IDynamoDbEncryptionTransformsClient, Error> {

DynamoDbEncryption/runtimes/net/Generated/DynamoDbEncryption/TypeConversion.cs

+29
Original file line numberDiff line numberDiff line change
@@ -958,6 +958,11 @@ public static AWS.Cryptography.MaterialProviders.CacheType FromDafny_N3_aws__N12
958958
converted.StormTracking = FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M13_StormTracking(concrete.dtor_StormTracking);
959959
return converted;
960960
}
961+
if (value.is_Shared)
962+
{
963+
converted.Shared = FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M6_Shared(concrete.dtor_Shared);
964+
return converted;
965+
}
961966
throw new System.ArgumentException("Invalid AWS.Cryptography.MaterialProviders.CacheType state");
962967
}
963968
public static software.amazon.cryptography.materialproviders.internaldafny.types._ICacheType ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType(AWS.Cryptography.MaterialProviders.CacheType value)
@@ -982,6 +987,10 @@ public static software.amazon.cryptography.materialproviders.internaldafny.types
982987
{
983988
return software.amazon.cryptography.materialproviders.internaldafny.types.CacheType.create_StormTracking(ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M13_StormTracking(value.StormTracking));
984989
}
990+
if (value.IsSetShared())
991+
{
992+
return software.amazon.cryptography.materialproviders.internaldafny.types.CacheType.create_Shared(ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M6_Shared(value.Shared));
993+
}
985994
throw new System.ArgumentException("Invalid AWS.Cryptography.MaterialProviders.CacheType state");
986995
}
987996
public static string FromDafny_N3_com__N9_amazonaws__N8_dynamodb__S13_AttributeName(Dafny.ISequence<char> value)
@@ -1154,6 +1163,14 @@ public static software.amazon.cryptography.materialproviders.internaldafny.types
11541163
{
11551164
return ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache(value);
11561165
}
1166+
public static AWS.Cryptography.MaterialProviders.ICryptographicMaterialsCache FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M6_Shared(software.amazon.cryptography.materialproviders.internaldafny.types.ICryptographicMaterialsCache value)
1167+
{
1168+
return FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(value);
1169+
}
1170+
public static software.amazon.cryptography.materialproviders.internaldafny.types.ICryptographicMaterialsCache ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S9_CacheType__M6_Shared(AWS.Cryptography.MaterialProviders.ICryptographicMaterialsCache value)
1171+
{
1172+
return ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(value);
1173+
}
11571174
public static string FromDafny_N3_com__N9_amazonaws__N8_dynamodb__S14_AttributeValue__M1_S(Dafny.ISequence<char> value)
11581175
{
11591176
return FromDafny_N3_com__N9_amazonaws__N8_dynamodb__S20_StringAttributeValue(value);
@@ -1324,6 +1341,18 @@ public static software.amazon.cryptography.materialproviders.internaldafny.types
13241341
int? var_entryPruningTailSize = value.IsSetEntryPruningTailSize() ? value.EntryPruningTailSize : (int?)null;
13251342
return new software.amazon.cryptography.materialproviders.internaldafny.types.StormTrackingCache(ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M13_entryCapacity(value.EntryCapacity), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M20_entryPruningTailSize(var_entryPruningTailSize), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M11_gracePeriod(value.GracePeriod), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M13_graceInterval(value.GraceInterval), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M6_fanOut(value.FanOut), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M11_inFlightTTL(value.InFlightTTL), ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S18_StormTrackingCache__M10_sleepMilli(value.SleepMilli));
13261343
}
1344+
public static AWS.Cryptography.MaterialProviders.ICryptographicMaterialsCache FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(software.amazon.cryptography.materialproviders.internaldafny.types.ICryptographicMaterialsCache value)
1345+
{
1346+
// This is converting a reference type in a dependant module.
1347+
// Therefore it defers to the dependant module for conversion
1348+
return AWS.Cryptography.MaterialProviders.TypeConversion.FromDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(value);
1349+
}
1350+
public static software.amazon.cryptography.materialproviders.internaldafny.types.ICryptographicMaterialsCache ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(AWS.Cryptography.MaterialProviders.ICryptographicMaterialsCache value)
1351+
{
1352+
// This is converting a reference type in a dependant module.
1353+
// Therefore it defers to the dependant module for conversion
1354+
return AWS.Cryptography.MaterialProviders.TypeConversion.ToDafny_N3_aws__N12_cryptography__N17_materialProviders__S36_CryptographicMaterialsCacheReference(value);
1355+
}
13271356
public static string FromDafny_N3_com__N9_amazonaws__N8_dynamodb__S20_StringAttributeValue(Dafny.ISequence<char> value)
13281357
{
13291358
return new string(value.Elements);

0 commit comments

Comments
 (0)