diff --git a/bitwarden_license/src/Commercial.Core/packages.lock.json b/bitwarden_license/src/Commercial.Core/packages.lock.json index 35e1836275..e87e310e8c 100644 --- a/bitwarden_license/src/Commercial.Core/packages.lock.json +++ b/bitwarden_license/src/Commercial.Core/packages.lock.json @@ -249,26 +249,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -283,13 +284,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2453,7 +2454,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json index 6704146436..7fc67e1eb7 100644 --- a/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json +++ b/bitwarden_license/src/Commercial.Infrastructure.EntityFramework/packages.lock.json @@ -267,26 +267,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -301,13 +302,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2616,7 +2617,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/src/Scim/packages.lock.json b/bitwarden_license/src/Scim/packages.lock.json index 9b76d1089e..e3b83c4ed4 100644 --- a/bitwarden_license/src/Scim/packages.lock.json +++ b/bitwarden_license/src/Scim/packages.lock.json @@ -271,26 +271,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -305,13 +306,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2620,7 +2621,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/src/Sso/packages.lock.json b/bitwarden_license/src/Sso/packages.lock.json index 5646aba9ba..d428050d50 100644 --- a/bitwarden_license/src/Sso/packages.lock.json +++ b/bitwarden_license/src/Sso/packages.lock.json @@ -296,26 +296,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -330,13 +331,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2780,7 +2781,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json index edb3bb4458..7b4ee1f8ce 100644 --- a/bitwarden_license/test/Commercial.Core.Test/packages.lock.json +++ b/bitwarden_license/test/Commercial.Core.Test/packages.lock.json @@ -343,26 +343,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -377,13 +378,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2713,7 +2714,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json index b4a22213eb..529d7d8377 100644 --- a/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json +++ b/bitwarden_license/test/Scim.IntegrationTest/packages.lock.json @@ -386,26 +386,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -420,13 +421,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -3022,7 +3023,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/bitwarden_license/test/Scim.Test/packages.lock.json b/bitwarden_license/test/Scim.Test/packages.lock.json index 6e0f0e5aab..c74090345c 100644 --- a/bitwarden_license/test/Scim.Test/packages.lock.json +++ b/bitwarden_license/test/Scim.Test/packages.lock.json @@ -374,26 +374,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -408,13 +409,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2875,7 +2876,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/perf/MicroBenchmarks/packages.lock.json b/perf/MicroBenchmarks/packages.lock.json index 94d685e95a..aa71419abb 100644 --- a/perf/MicroBenchmarks/packages.lock.json +++ b/perf/MicroBenchmarks/packages.lock.json @@ -284,26 +284,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -318,13 +319,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2560,7 +2561,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Admin/packages.lock.json b/src/Admin/packages.lock.json index 470e991b07..2282e9217b 100644 --- a/src/Admin/packages.lock.json +++ b/src/Admin/packages.lock.json @@ -310,26 +310,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -344,13 +345,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2837,7 +2838,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Api/Auth/Models/Request/Accounts/UpdateKeyRequestModel.cs b/src/Api/Auth/Models/Request/Accounts/UpdateKeyRequestModel.cs index 625458bcc0..3a9e6e2fc3 100644 --- a/src/Api/Auth/Models/Request/Accounts/UpdateKeyRequestModel.cs +++ b/src/Api/Auth/Models/Request/Accounts/UpdateKeyRequestModel.cs @@ -1,4 +1,5 @@ using System.ComponentModel.DataAnnotations; +using Bit.Api.AdminConsole.Models.Request.Organizations; using Bit.Api.Tools.Models.Request; using Bit.Api.Vault.Models.Request; @@ -10,12 +11,13 @@ public class UpdateKeyRequestModel [StringLength(300)] public string MasterPasswordHash { get; set; } [Required] - public IEnumerable Ciphers { get; set; } - [Required] - public IEnumerable Folders { get; set; } - public IEnumerable Sends { get; set; } + public string Key { get; set; } [Required] public string PrivateKey { get; set; } - [Required] - public string Key { get; set; } + public IEnumerable Ciphers { get; set; } + public IEnumerable Folders { get; set; } + public IEnumerable Sends { get; set; } + public IEnumerable EmergencyAccessKeys { get; set; } + public IEnumerable ResetPasswordKeys { get; set; } + } diff --git a/src/Api/Controllers/AccountsController.cs b/src/Api/Controllers/AccountsController.cs index 8be36522ab..7dbcf07d06 100644 --- a/src/Api/Controllers/AccountsController.cs +++ b/src/Api/Controllers/AccountsController.cs @@ -9,9 +9,12 @@ using Bit.Core.AdminConsole.Enums.Provider; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Auth.Models.Api.Request.Accounts; using Bit.Core.Auth.Models.Api.Response.Accounts; +using Bit.Core.Auth.Models.Data; using Bit.Core.Auth.Services; +using Bit.Core.Auth.UserFeatures.UserKey; using Bit.Core.Auth.UserFeatures.UserMasterPassword.Interfaces; using Bit.Core.Auth.Utilities; +using Bit.Core.Context; using Bit.Core.Enums; using Bit.Core.Exceptions; using Bit.Core.Models.Api.Response; @@ -27,6 +30,7 @@ using Bit.Core.Utilities; using Bit.Core.Vault.Entities; using Bit.Core.Vault.Repositories; using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; namespace Bit.Api.Controllers; @@ -49,6 +53,9 @@ public class AccountsController : Controller private readonly ICaptchaValidationService _captchaValidationService; private readonly IPolicyService _policyService; private readonly ISetInitialMasterPasswordCommand _setInitialMasterPasswordCommand; + private readonly IRotateUserKeyCommand _rotateUserKeyCommand; + private readonly IFeatureService _featureService; + private readonly ICurrentContext _currentContext; public AccountsController( @@ -65,7 +72,10 @@ public class AccountsController : Controller ISendService sendService, ICaptchaValidationService captchaValidationService, IPolicyService policyService, - ISetInitialMasterPasswordCommand setInitialMasterPasswordCommand + ISetInitialMasterPasswordCommand setInitialMasterPasswordCommand, + IRotateUserKeyCommand rotateUserKeyCommand, + IFeatureService featureService, + ICurrentContext currentContext ) { _cipherRepository = cipherRepository; @@ -82,6 +92,9 @@ public class AccountsController : Controller _captchaValidationService = captchaValidationService; _policyService = policyService; _setInitialMasterPasswordCommand = setInitialMasterPasswordCommand; + _rotateUserKeyCommand = rotateUserKeyCommand; + _featureService = featureService; + _currentContext = currentContext; } #region DEPRECATED (Moved to Identity Service) @@ -379,38 +392,59 @@ public class AccountsController : Controller throw new UnauthorizedAccessException(); } - var ciphers = new List(); - if (model.Ciphers.Any()) + IdentityResult result; + if (_featureService.IsEnabled(FeatureFlagKeys.KeyRotationImprovements, _currentContext)) { - var existingCiphers = await _cipherRepository.GetManyByUserIdAsync(user.Id); - ciphers.AddRange(existingCiphers - .Join(model.Ciphers, c => c.Id, c => c.Id, (existing, c) => c.ToCipher(existing))); + var dataModel = new RotateUserKeyData + { + MasterPasswordHash = model.MasterPasswordHash, + Key = model.Key, + PrivateKey = model.PrivateKey, + // Ciphers = await _cipherValidator.ValidateAsync(user, model.Ciphers), + // Folders = await _folderValidator.ValidateAsync(user, model.Folders), + // Sends = await _sendValidator.ValidateAsync(user, model.Sends), + // EmergencyAccessKeys = await _emergencyAccessValidator.ValidateAsync(user, model.EmergencyAccessKeys), + // ResetPasswordKeys = await _accountRecoveryValidator.ValidateAsync(user, model.ResetPasswordKeys), + }; + + result = await _rotateUserKeyCommand.RotateUserKeyAsync(dataModel); + } + else + { + var ciphers = new List(); + if (model.Ciphers.Any()) + { + var existingCiphers = await _cipherRepository.GetManyByUserIdAsync(user.Id); + ciphers.AddRange(existingCiphers + .Join(model.Ciphers, c => c.Id, c => c.Id, (existing, c) => c.ToCipher(existing))); + } + + var folders = new List(); + if (model.Folders.Any()) + { + var existingFolders = await _folderRepository.GetManyByUserIdAsync(user.Id); + folders.AddRange(existingFolders + .Join(model.Folders, f => f.Id, f => f.Id, (existing, f) => f.ToFolder(existing))); + } + + var sends = new List(); + if (model.Sends?.Any() == true) + { + var existingSends = await _sendRepository.GetManyByUserIdAsync(user.Id); + sends.AddRange(existingSends + .Join(model.Sends, s => s.Id, s => s.Id, (existing, s) => s.ToSend(existing, _sendService))); + } + + result = await _userService.UpdateKeyAsync( + user, + model.MasterPasswordHash, + model.Key, + model.PrivateKey, + ciphers, + folders, + sends); } - var folders = new List(); - if (model.Folders.Any()) - { - var existingFolders = await _folderRepository.GetManyByUserIdAsync(user.Id); - folders.AddRange(existingFolders - .Join(model.Folders, f => f.Id, f => f.Id, (existing, f) => f.ToFolder(existing))); - } - - var sends = new List(); - if (model.Sends?.Any() == true) - { - var existingSends = await _sendRepository.GetManyByUserIdAsync(user.Id); - sends.AddRange(existingSends - .Join(model.Sends, s => s.Id, s => s.Id, (existing, s) => s.ToSend(existing, _sendService))); - } - - var result = await _userService.UpdateKeyAsync( - user, - model.MasterPasswordHash, - model.Key, - model.PrivateKey, - ciphers, - folders, - sends); if (result.Succeeded) { diff --git a/src/Api/SecretsManager/Models/Request/SMImportRequestModel.cs b/src/Api/SecretsManager/Models/Request/SMImportRequestModel.cs index 13cc3b6f73..a63e2c180d 100644 --- a/src/Api/SecretsManager/Models/Request/SMImportRequestModel.cs +++ b/src/Api/SecretsManager/Models/Request/SMImportRequestModel.cs @@ -36,12 +36,12 @@ public class SMImportRequestModel [Required] [EncryptedString] - [EncryptedStringLength(1000)] + [EncryptedStringLength(35000)] public string Value { get; set; } [Required] [EncryptedString] - [EncryptedStringLength(1000)] + [EncryptedStringLength(10000)] public string Note { get; set; } [Required] diff --git a/src/Api/Startup.cs b/src/Api/Startup.cs index ffdfba9c14..fce3ef4756 100644 --- a/src/Api/Startup.cs +++ b/src/Api/Startup.cs @@ -15,6 +15,8 @@ using Bit.SharedWeb.Utilities; using Microsoft.AspNetCore.Diagnostics.HealthChecks; using Microsoft.Extensions.DependencyInjection.Extensions; using Bit.Core.Auth.Identity; +using Bit.Core.Auth.UserFeatures.UserKey; +using Bit.Core.Auth.UserFeatures.UserKey.Implementations; using Bit.Core.OrganizationFeatures.OrganizationSubscriptions; #if !OSS @@ -131,6 +133,9 @@ public class Startup services.AddScoped(); + // Key Rotation + services.AddScoped(); + // Services services.AddBaseServices(globalSettings); services.AddDefaultServices(globalSettings); diff --git a/src/Api/packages.lock.json b/src/Api/packages.lock.json index 95d163f2ae..3ad880ecb3 100644 --- a/src/Api/packages.lock.json +++ b/src/Api/packages.lock.json @@ -394,26 +394,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -428,13 +429,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2817,7 +2818,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Billing/packages.lock.json b/src/Billing/packages.lock.json index 9b76d1089e..e3b83c4ed4 100644 --- a/src/Billing/packages.lock.json +++ b/src/Billing/packages.lock.json @@ -271,26 +271,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -305,13 +306,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2620,7 +2621,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Core/Auth/Models/Data/RotateUserKeyData.cs b/src/Core/Auth/Models/Data/RotateUserKeyData.cs new file mode 100644 index 0000000000..ecd1bd6ddb --- /dev/null +++ b/src/Core/Auth/Models/Data/RotateUserKeyData.cs @@ -0,0 +1,19 @@ +using Bit.Core.Auth.Entities; +using Bit.Core.Entities; +using Bit.Core.Tools.Entities; +using Bit.Core.Vault.Entities; + +namespace Bit.Core.Auth.Models.Data; + +public class RotateUserKeyData +{ + public User User { get; set; } + public string MasterPasswordHash { get; set; } + public string Key { get; set; } + public string PrivateKey { get; set; } + public IEnumerable Ciphers { get; set; } + public IEnumerable Folders { get; set; } + public IEnumerable Sends { get; set; } + public IEnumerable EmergencyAccessKeys { get; set; } + public IEnumerable ResetPasswordKeys { get; set; } +} diff --git a/src/Core/Auth/UserFeatures/UserKey/IRotateUserKeyCommand.cs b/src/Core/Auth/UserFeatures/UserKey/IRotateUserKeyCommand.cs new file mode 100644 index 0000000000..28632758fd --- /dev/null +++ b/src/Core/Auth/UserFeatures/UserKey/IRotateUserKeyCommand.cs @@ -0,0 +1,18 @@ +using Bit.Core.Auth.Models.Data; +using Microsoft.AspNetCore.Identity; +using Microsoft.Data.SqlClient; + +namespace Bit.Core.Auth.UserFeatures.UserKey; + +public interface IRotateUserKeyCommand +{ + /// + /// Sets a new user key and updates all encrypted data. + /// + /// All necessary information for rotation. Warning: Any encrypted data not included will be lost. + /// An IdentityResult for verification of the master password hash + /// User must be provided. + Task RotateUserKeyAsync(RotateUserKeyData model); +} + +public delegate Task UpdateEncryptedDataForKeyRotation(SqlTransaction transaction = null); diff --git a/src/Core/Auth/UserFeatures/UserKey/Implementations/RotateUserKeyCommand.cs b/src/Core/Auth/UserFeatures/UserKey/Implementations/RotateUserKeyCommand.cs new file mode 100644 index 0000000000..5eb57d62ee --- /dev/null +++ b/src/Core/Auth/UserFeatures/UserKey/Implementations/RotateUserKeyCommand.cs @@ -0,0 +1,61 @@ +using Bit.Core.Auth.Models.Data; +using Bit.Core.Repositories; +using Bit.Core.Services; +using Microsoft.AspNetCore.Identity; + +namespace Bit.Core.Auth.UserFeatures.UserKey.Implementations; + +public class RotateUserKeyCommand : IRotateUserKeyCommand +{ + private readonly IUserService _userService; + private readonly IUserRepository _userRepository; + private readonly IPushNotificationService _pushService; + private readonly IdentityErrorDescriber _identityErrorDescriber; + + public RotateUserKeyCommand(IUserService userService, IUserRepository userRepository, + IPushNotificationService pushService, IdentityErrorDescriber errors) + { + _userService = userService; + _userRepository = userRepository; + _pushService = pushService; + _identityErrorDescriber = errors; + } + + /// + public async Task RotateUserKeyAsync(RotateUserKeyData model) + { + if (model.User == null) + { + throw new ArgumentNullException(nameof(model.User)); + } + + if (!await _userService.CheckPasswordAsync(model.User, model.MasterPasswordHash)) + { + return IdentityResult.Failed(_identityErrorDescriber.PasswordMismatch()); + } + + var now = DateTime.UtcNow; + model.User.RevisionDate = model.User.AccountRevisionDate = now; + model.User.LastKeyRotationDate = now; + model.User.SecurityStamp = Guid.NewGuid().ToString(); + model.User.Key = model.Key; + model.User.PrivateKey = model.PrivateKey; + if (model.Ciphers.Any() || model.Folders.Any() || model.Sends.Any() || model.EmergencyAccessKeys.Any() || + model.ResetPasswordKeys.Any()) + { + List saveEncryptedDataActions = new(); + // if (model.Ciphers.Any()) + // { + // saveEncryptedDataActions.Add(_cipherRepository.SaveRotatedData); + // } + await _userRepository.UpdateUserKeyAndEncryptedDataAsync(model.User, saveEncryptedDataActions); + } + else + { + await _userRepository.ReplaceAsync(model.User); + } + + await _pushService.PushLogOutAsync(model.User.Id, excludeCurrentContextFromPush: true); + return IdentityResult.Success; + } +} diff --git a/src/Core/Constants.cs b/src/Core/Constants.cs index 6dbe8541d9..208b431162 100644 --- a/src/Core/Constants.cs +++ b/src/Core/Constants.cs @@ -65,6 +65,7 @@ public static class FeatureFlagKeys public const string ItemShare = "item-share"; public const string BillingPlansUpgrade = "billing-plans-upgrade"; public const string BillingStarterPlan = "billing-starter-plan"; + public const string KeyRotationImprovements = "key-rotation-improvements"; public static List GetAllKeys() { diff --git a/src/Core/Core.csproj b/src/Core/Core.csproj index 9085e4c708..28415e8c03 100644 --- a/src/Core/Core.csproj +++ b/src/Core/Core.csproj @@ -58,7 +58,7 @@ - + diff --git a/src/Core/Enums/DeviceType.cs b/src/Core/Enums/DeviceType.cs index 9534cfd71a..9679088509 100644 --- a/src/Core/Enums/DeviceType.cs +++ b/src/Core/Enums/DeviceType.cs @@ -49,5 +49,11 @@ public enum DeviceType : byte [Display(Name = "SDK")] SDK = 21, [Display(Name = "Server")] - Server = 22 + Server = 22, + [Display(Name = "Windows CLI")] + WindowsCLI = 23, + [Display(Name = "MacOs CLI")] + MacOsCLI = 24, + [Display(Name = "Linux CLI")] + LinuxCLI = 25 } diff --git a/src/Core/Repositories/IUserRepository.cs b/src/Core/Repositories/IUserRepository.cs index 0c6ee85712..f5b00e774d 100644 --- a/src/Core/Repositories/IUserRepository.cs +++ b/src/Core/Repositories/IUserRepository.cs @@ -1,4 +1,5 @@ -using Bit.Core.Entities; +using Bit.Core.Auth.UserFeatures.UserKey; +using Bit.Core.Entities; using Bit.Core.Models.Data; namespace Bit.Core.Repositories; @@ -15,4 +16,13 @@ public interface IUserRepository : IRepository Task UpdateStorageAsync(Guid id); Task UpdateRenewalReminderDateAsync(Guid id, DateTime renewalReminderDate); Task> GetManyAsync(IEnumerable ids); + /// + /// Sets a new user key and updates all encrypted data. + /// Warning: Any user key encrypted data not included will be lost. + /// + /// The user to update + /// Registered database calls to update re-encrypted data. + [Obsolete("Intended for future improvements to key rotation. Do not use.")] + Task UpdateUserKeyAndEncryptedDataAsync(User user, + IEnumerable updateDataActions); } diff --git a/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs b/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs index 1a43967b34..ad3d6e82ed 100644 --- a/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs +++ b/src/Core/Services/Implementations/LaunchDarklyFeatureService.cs @@ -1,5 +1,6 @@ using Bit.Core.Context; using Bit.Core.Settings; +using Bit.Core.Utilities; using LaunchDarkly.Logging; using LaunchDarkly.Sdk.Server; using LaunchDarkly.Sdk.Server.Integrations; @@ -17,6 +18,16 @@ public class LaunchDarklyFeatureService : IFeatureService, IDisposable var ldConfig = Configuration.Builder(globalSettings.LaunchDarkly?.SdkKey); ldConfig.Logging(Components.Logging().Level(LogLevel.Error)); + if (!string.IsNullOrEmpty(globalSettings.ProjectName)) + { + ldConfig.ApplicationInfo(Components.ApplicationInfo() + .ApplicationId(globalSettings.ProjectName) + .ApplicationName(globalSettings.ProjectName) + .ApplicationVersion(AssemblyHelpers.GetGitHash() ?? $"v{AssemblyHelpers.GetVersion()}") + .ApplicationVersionName(AssemblyHelpers.GetVersion()) + ); + } + if (string.IsNullOrEmpty(globalSettings.LaunchDarkly?.SdkKey)) { // support a file to load flag values diff --git a/src/Core/Services/Implementations/UserService.cs b/src/Core/Services/Implementations/UserService.cs index 3792b30cf4..95ad5ac4c6 100644 --- a/src/Core/Services/Implementations/UserService.cs +++ b/src/Core/Services/Implementations/UserService.cs @@ -540,8 +540,8 @@ public class UserService : UserManager, IUserService, IDisposable var authenticatorSelection = new AuthenticatorSelection { AuthenticatorAttachment = null, - RequireResidentKey = false, // TODO: This is using the old residentKey selection variant, we need to update our lib so that we can set this to preferred - UserVerification = UserVerificationRequirement.Preferred + RequireResidentKey = true, + UserVerification = UserVerificationRequirement.Required }; var extensions = new AuthenticationExtensionsClientInputs { }; @@ -604,7 +604,7 @@ public class UserService : UserManager, IUserService, IDisposable { UserVerificationMethod = true }; - var options = _fido2.GetAssertionOptions(existingCredentials, UserVerificationRequirement.Preferred, exts); + var options = _fido2.GetAssertionOptions(existingCredentials, UserVerificationRequirement.Required, exts); // TODO: temp save options to user record somehow diff --git a/src/Core/Settings/IGlobalSettings.cs b/src/Core/Settings/IGlobalSettings.cs index 42fc54ef8d..56b004c31a 100644 --- a/src/Core/Settings/IGlobalSettings.cs +++ b/src/Core/Settings/IGlobalSettings.cs @@ -8,6 +8,7 @@ public interface IGlobalSettings bool SelfHosted { get; set; } bool UnifiedDeployment { get; set; } string KnownProxies { get; set; } + string ProjectName { get; set; } bool EnableCloudCommunication { get; set; } string LicenseDirectory { get; set; } string LicenseCertificatePassword { get; set; } diff --git a/src/Core/Utilities/DeviceTypes.cs b/src/Core/Utilities/DeviceTypes.cs index 82616fd064..3398eb8f40 100644 --- a/src/Core/Utilities/DeviceTypes.cs +++ b/src/Core/Utilities/DeviceTypes.cs @@ -17,5 +17,8 @@ public static class DeviceTypes DeviceType.MacOsDesktop, DeviceType.WindowsDesktop, DeviceType.UWP, + DeviceType.WindowsCLI, + DeviceType.MacOsCLI, + DeviceType.LinuxCLI, }; } diff --git a/src/Core/packages.lock.json b/src/Core/packages.lock.json index 66a1f8bc24..42e7ee5b6f 100644 --- a/src/Core/packages.lock.json +++ b/src/Core/packages.lock.json @@ -175,14 +175,14 @@ }, "LaunchDarkly.ServerSdk": { "type": "Direct", - "requested": "[7.0.0, )", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "requested": "[8.0.0, )", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -514,26 +514,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } diff --git a/src/Events/packages.lock.json b/src/Events/packages.lock.json index 9b76d1089e..e3b83c4ed4 100644 --- a/src/Events/packages.lock.json +++ b/src/Events/packages.lock.json @@ -271,26 +271,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -305,13 +306,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2620,7 +2621,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/EventsProcessor/packages.lock.json b/src/EventsProcessor/packages.lock.json index 9b76d1089e..e3b83c4ed4 100644 --- a/src/EventsProcessor/packages.lock.json +++ b/src/EventsProcessor/packages.lock.json @@ -271,26 +271,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -305,13 +306,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2620,7 +2621,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Icons/packages.lock.json b/src/Icons/packages.lock.json index 23a031b4e2..0d79d90e31 100644 --- a/src/Icons/packages.lock.json +++ b/src/Icons/packages.lock.json @@ -280,26 +280,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -314,13 +315,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2629,7 +2630,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Identity/packages.lock.json b/src/Identity/packages.lock.json index 665ab2c2aa..39d46d594b 100644 --- a/src/Identity/packages.lock.json +++ b/src/Identity/packages.lock.json @@ -280,26 +280,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -314,13 +315,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2642,7 +2643,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Infrastructure.Dapper/Repositories/UserRepository.cs b/src/Infrastructure.Dapper/Repositories/UserRepository.cs index feef8a8edb..675b8e6b82 100644 --- a/src/Infrastructure.Dapper/Repositories/UserRepository.cs +++ b/src/Infrastructure.Dapper/Repositories/UserRepository.cs @@ -1,5 +1,6 @@ using System.Data; using Bit.Core; +using Bit.Core.Auth.UserFeatures.UserKey; using Bit.Core.Entities; using Bit.Core.Models.Data; using Bit.Core.Repositories; @@ -175,6 +176,52 @@ public class UserRepository : Repository, IUserRepository } } + /// + public async Task UpdateUserKeyAndEncryptedDataAsync( + User user, + IEnumerable updateDataActions) + { + await using var connection = new SqlConnection(ConnectionString); + connection.Open(); + + await using var transaction = connection.BeginTransaction(); + try + { + // Update user + await using (var cmd = new SqlCommand("[dbo].[User_UpdateKeys]", connection, transaction)) + { + cmd.CommandType = CommandType.StoredProcedure; + cmd.Parameters.Add("@Id", SqlDbType.UniqueIdentifier).Value = user.Id; + cmd.Parameters.Add("@SecurityStamp", SqlDbType.NVarChar).Value = user.SecurityStamp; + cmd.Parameters.Add("@Key", SqlDbType.VarChar).Value = user.Key; + + cmd.Parameters.Add("@PrivateKey", SqlDbType.VarChar).Value = + string.IsNullOrWhiteSpace(user.PrivateKey) ? DBNull.Value : user.PrivateKey; + + cmd.Parameters.Add("@RevisionDate", SqlDbType.DateTime2).Value = user.RevisionDate; + cmd.Parameters.Add("@AccountRevisionDate", SqlDbType.DateTime2).Value = + user.AccountRevisionDate; + cmd.Parameters.Add("@LastKeyRotationDate", SqlDbType.DateTime2).Value = + user.LastKeyRotationDate; + cmd.ExecuteNonQuery(); + } + + // Update re-encrypted data + foreach (var action in updateDataActions) + { + await action(transaction); + } + + transaction.Commit(); + } + catch + { + transaction.Rollback(); + throw; + } + } + + public async Task> GetManyAsync(IEnumerable ids) { using (var connection = new SqlConnection(ReadOnlyConnectionString)) diff --git a/src/Infrastructure.Dapper/packages.lock.json b/src/Infrastructure.Dapper/packages.lock.json index 60adeb09af..54c4ee47e3 100644 --- a/src/Infrastructure.Dapper/packages.lock.json +++ b/src/Infrastructure.Dapper/packages.lock.json @@ -255,26 +255,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -289,13 +290,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2459,7 +2460,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs b/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs index b29153e47c..d91cdcd90f 100644 --- a/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs +++ b/src/Infrastructure.EntityFramework/Repositories/UserRepository.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Bit.Core.Auth.UserFeatures.UserKey; using Bit.Core.Repositories; using Bit.Infrastructure.EntityFramework.Models; using Microsoft.EntityFrameworkCore; @@ -135,6 +136,48 @@ public class UserRepository : Repository, IUserR } } + /// + public async Task UpdateUserKeyAndEncryptedDataAsync(Core.Entities.User user, + IEnumerable updateDataActions) + { + using var scope = ServiceScopeFactory.CreateScope(); + var dbContext = GetDatabaseContext(scope); + + await using var transaction = await dbContext.Database.BeginTransactionAsync(); + + try + { + // Update user + var entity = await dbContext.Users.FindAsync(user.Id); + if (entity == null) + { + throw new ArgumentException("User not found", nameof(user)); + } + + entity.SecurityStamp = user.SecurityStamp; + entity.Key = user.Key; + entity.PrivateKey = user.PrivateKey; + entity.LastKeyRotationDate = user.LastKeyRotationDate; + entity.AccountRevisionDate = user.AccountRevisionDate; + entity.RevisionDate = user.RevisionDate; + + // Update re-encrypted data + foreach (var action in updateDataActions) + { + // TODO (jlf0dev): Check if transaction captures these operations + await action(); + } + + await transaction.CommitAsync(); + } + catch + { + await transaction.RollbackAsync(); + throw; + } + + } + public async Task> GetManyAsync(IEnumerable ids) { using (var scope = ServiceScopeFactory.CreateScope()) diff --git a/src/Infrastructure.EntityFramework/packages.lock.json b/src/Infrastructure.EntityFramework/packages.lock.json index ce07f0aba5..4726641520 100644 --- a/src/Infrastructure.EntityFramework/packages.lock.json +++ b/src/Infrastructure.EntityFramework/packages.lock.json @@ -329,26 +329,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -363,13 +364,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2622,7 +2623,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/Notifications/packages.lock.json b/src/Notifications/packages.lock.json index 8a64b55395..093b338ca5 100644 --- a/src/Notifications/packages.lock.json +++ b/src/Notifications/packages.lock.json @@ -292,26 +292,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -326,13 +327,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2670,7 +2671,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/src/SharedWeb/packages.lock.json b/src/SharedWeb/packages.lock.json index 1310a5c61c..1eb437f1e9 100644 --- a/src/SharedWeb/packages.lock.json +++ b/src/SharedWeb/packages.lock.json @@ -271,26 +271,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -305,13 +306,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2620,7 +2621,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Api.IntegrationTest/packages.lock.json b/test/Api.IntegrationTest/packages.lock.json index fd398ec786..f9546c72f3 100644 --- a/test/Api.IntegrationTest/packages.lock.json +++ b/test/Api.IntegrationTest/packages.lock.json @@ -468,26 +468,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -502,13 +503,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -3205,7 +3206,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Api.Test/Controllers/AccountsControllerTests.cs b/test/Api.Test/Controllers/AccountsControllerTests.cs index 491f5a9f49..aa3cca0b4f 100644 --- a/test/Api.Test/Controllers/AccountsControllerTests.cs +++ b/test/Api.Test/Controllers/AccountsControllerTests.cs @@ -4,7 +4,9 @@ using Bit.Api.Controllers; using Bit.Core.AdminConsole.Repositories; using Bit.Core.Auth.Models.Api.Request.Accounts; using Bit.Core.Auth.Services; +using Bit.Core.Auth.UserFeatures.UserKey; using Bit.Core.Auth.UserFeatures.UserMasterPassword.Interfaces; +using Bit.Core.Context; using Bit.Core.Entities; using Bit.Core.Enums; using Bit.Core.Exceptions; @@ -40,6 +42,10 @@ public class AccountsControllerTests : IDisposable private readonly ICaptchaValidationService _captchaValidationService; private readonly IPolicyService _policyService; private readonly ISetInitialMasterPasswordCommand _setInitialMasterPasswordCommand; + private readonly IRotateUserKeyCommand _rotateUserKeyCommand; + private readonly IFeatureService _featureService; + private readonly ICurrentContext _currentContext; + public AccountsControllerTests() { @@ -57,6 +63,9 @@ public class AccountsControllerTests : IDisposable _captchaValidationService = Substitute.For(); _policyService = Substitute.For(); _setInitialMasterPasswordCommand = Substitute.For(); + _rotateUserKeyCommand = Substitute.For(); + _featureService = Substitute.For(); + _currentContext = Substitute.For(); _sut = new AccountsController( _globalSettings, @@ -72,7 +81,10 @@ public class AccountsControllerTests : IDisposable _sendService, _captchaValidationService, _policyService, - _setInitialMasterPasswordCommand + _setInitialMasterPasswordCommand, + _rotateUserKeyCommand, + _featureService, + _currentContext ); } diff --git a/test/Api.Test/packages.lock.json b/test/Api.Test/packages.lock.json index ee6dc3ec4d..2021ff15c1 100644 --- a/test/Api.Test/packages.lock.json +++ b/test/Api.Test/packages.lock.json @@ -478,26 +478,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -512,13 +513,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -3082,7 +3083,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Billing.Test/packages.lock.json b/test/Billing.Test/packages.lock.json index baba7b7347..a96af9daaa 100644 --- a/test/Billing.Test/packages.lock.json +++ b/test/Billing.Test/packages.lock.json @@ -384,26 +384,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -418,13 +419,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2892,7 +2893,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Common/packages.lock.json b/test/Common/packages.lock.json index c9bd3541c2..73363ce175 100644 --- a/test/Common/packages.lock.json +++ b/test/Common/packages.lock.json @@ -349,26 +349,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -383,13 +384,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2693,7 +2694,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Core.Test/Auth/UserFeatures/UserKey/RotateUserKeyCommandTests.cs b/test/Core.Test/Auth/UserFeatures/UserKey/RotateUserKeyCommandTests.cs new file mode 100644 index 0000000000..4d664a862c --- /dev/null +++ b/test/Core.Test/Auth/UserFeatures/UserKey/RotateUserKeyCommandTests.cs @@ -0,0 +1,50 @@ +using Bit.Core.Auth.Models.Data; +using Bit.Core.Auth.UserFeatures.UserKey.Implementations; +using Bit.Core.Services; +using Bit.Test.Common.AutoFixture; +using Bit.Test.Common.AutoFixture.Attributes; +using Microsoft.AspNetCore.Identity; +using NSubstitute; +using Xunit; + +namespace Bit.Core.Test.Auth.UserFeatures.UserKey; + +[SutProviderCustomize] +public class RotateUserKeyCommandTests +{ + [Theory, BitAutoData] + public async Task RotateUserKeyAsync_Success(SutProvider sutProvider, RotateUserKeyData model) + { + sutProvider.GetDependency().CheckPasswordAsync(model.User, model.MasterPasswordHash) + .Returns(true); + + var result = await sutProvider.Sut.RotateUserKeyAsync(model); + + Assert.Equal(IdentityResult.Success, result); + } + + [Theory, BitAutoData] + public async Task RotateUserKeyAsync_InvalidMasterPasswordHash_ReturnsFailedIdentityResult( + SutProvider sutProvider, RotateUserKeyData model) + { + sutProvider.GetDependency().CheckPasswordAsync(model.User, model.MasterPasswordHash) + .Returns(false); + + var result = await sutProvider.Sut.RotateUserKeyAsync(model); + + Assert.False(result.Succeeded); + } + + [Theory, BitAutoData] + public async Task RotateUserKeyAsync_LogsOutUser( + SutProvider sutProvider, RotateUserKeyData model) + { + sutProvider.GetDependency().CheckPasswordAsync(model.User, model.MasterPasswordHash) + .Returns(true); + + await sutProvider.Sut.RotateUserKeyAsync(model); + + await sutProvider.GetDependency().ReceivedWithAnyArgs() + .PushLogOutAsync(default, default); + } +} diff --git a/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs b/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs index 37ced167be..fadea25512 100644 --- a/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs +++ b/test/Core.Test/Services/LaunchDarklyFeatureServiceTests.cs @@ -12,18 +12,23 @@ namespace Bit.Core.Test.Services; [SutProviderCustomize] public class LaunchDarklyFeatureServiceTests { - public static SutProvider GetSutProvider(IGlobalSettings globalSettings) + private const string _fakeKey = "somekey"; + private const string _fakeValue = "somevalue"; + + private static SutProvider GetSutProvider(IGlobalSettings globalSettings) { + globalSettings.ProjectName = "LaunchDarkly Tests"; + var fixture = new Fixture(); return new SutProvider(fixture) - .SetDependency(globalSettings) + .SetDependency(globalSettings) .Create(); } [Theory, BitAutoData] public void DefaultFeatureValue_WhenSelfHost(string key) { - var sutProvider = GetSutProvider(new Core.Settings.GlobalSettings() { SelfHosted = true }); + var sutProvider = GetSutProvider(new Settings.GlobalSettings { SelfHosted = true }); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); @@ -34,60 +39,57 @@ public class LaunchDarklyFeatureServiceTests [Fact] public void DefaultFeatureValue_NoSdkKey() { - var sutProvider = GetSutProvider(new Core.Settings.GlobalSettings()); + var sutProvider = GetSutProvider(new Settings.GlobalSettings()); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); - Assert.False(sutProvider.Sut.IsEnabled("somekey", currentContext)); + Assert.False(sutProvider.Sut.IsEnabled(_fakeKey, currentContext)); } [Fact(Skip = "For local development")] public void FeatureValue_Boolean() { - var settings = new Core.Settings.GlobalSettings(); - settings.LaunchDarkly.SdkKey = "somevalue"; + var settings = new Settings.GlobalSettings { LaunchDarkly = { SdkKey = _fakeValue } }; var sutProvider = GetSutProvider(settings); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); - Assert.False(sutProvider.Sut.IsEnabled("somekey", currentContext)); + Assert.False(sutProvider.Sut.IsEnabled(_fakeKey, currentContext)); } [Fact(Skip = "For local development")] public void FeatureValue_Int() { - var settings = new Core.Settings.GlobalSettings(); - settings.LaunchDarkly.SdkKey = "somevalue"; + var settings = new Settings.GlobalSettings { LaunchDarkly = { SdkKey = _fakeValue } }; var sutProvider = GetSutProvider(settings); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); - Assert.Equal(0, sutProvider.Sut.GetIntVariation("somekey", currentContext)); + Assert.Equal(0, sutProvider.Sut.GetIntVariation(_fakeKey, currentContext)); } [Fact(Skip = "For local development")] public void FeatureValue_String() { - var settings = new Core.Settings.GlobalSettings(); - settings.LaunchDarkly.SdkKey = "somevalue"; + var settings = new Settings.GlobalSettings { LaunchDarkly = { SdkKey = _fakeValue } }; var sutProvider = GetSutProvider(settings); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); - Assert.Null(sutProvider.Sut.GetStringVariation("somekey", currentContext)); + Assert.Null(sutProvider.Sut.GetStringVariation(_fakeKey, currentContext)); } [Fact(Skip = "For local development")] public void GetAll() { - var sutProvider = GetSutProvider(new Core.Settings.GlobalSettings()); + var sutProvider = GetSutProvider(new Settings.GlobalSettings()); var currentContext = Substitute.For(); currentContext.UserId.Returns(Guid.NewGuid()); diff --git a/test/Core.Test/packages.lock.json b/test/Core.Test/packages.lock.json index f6d51bbedc..323fe132db 100644 --- a/test/Core.Test/packages.lock.json +++ b/test/Core.Test/packages.lock.json @@ -355,26 +355,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -389,13 +390,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2711,7 +2712,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Icons.Test/packages.lock.json b/test/Icons.Test/packages.lock.json index e319963f67..f0262577a7 100644 --- a/test/Icons.Test/packages.lock.json +++ b/test/Icons.Test/packages.lock.json @@ -382,26 +382,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -416,13 +417,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2883,7 +2884,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Identity.IntegrationTest/packages.lock.json b/test/Identity.IntegrationTest/packages.lock.json index 39d02e10b9..ea0971bf85 100644 --- a/test/Identity.IntegrationTest/packages.lock.json +++ b/test/Identity.IntegrationTest/packages.lock.json @@ -386,26 +386,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -420,13 +421,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -3022,7 +3023,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Identity.Test/packages.lock.json b/test/Identity.Test/packages.lock.json index 2b4303d003..46c741ee13 100644 --- a/test/Identity.Test/packages.lock.json +++ b/test/Identity.Test/packages.lock.json @@ -375,26 +375,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -409,13 +410,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2897,7 +2898,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Infrastructure.EFIntegration.Test/packages.lock.json b/test/Infrastructure.EFIntegration.Test/packages.lock.json index c76bd03a95..25b11c6713 100644 --- a/test/Infrastructure.EFIntegration.Test/packages.lock.json +++ b/test/Infrastructure.EFIntegration.Test/packages.lock.json @@ -376,26 +376,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -410,13 +411,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2877,7 +2878,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/Infrastructure.IntegrationTest/packages.lock.json b/test/Infrastructure.IntegrationTest/packages.lock.json index 2f872a7ada..760c2e0a17 100644 --- a/test/Infrastructure.IntegrationTest/packages.lock.json +++ b/test/Infrastructure.IntegrationTest/packages.lock.json @@ -341,26 +341,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -375,13 +376,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2735,7 +2736,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/test/IntegrationTestCommon/packages.lock.json b/test/IntegrationTestCommon/packages.lock.json index 0d4e637afb..7057b9d5c8 100644 --- a/test/IntegrationTestCommon/packages.lock.json +++ b/test/IntegrationTestCommon/packages.lock.json @@ -353,26 +353,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -387,13 +388,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -3007,7 +3008,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/Migrator/packages.lock.json b/util/Migrator/packages.lock.json index 6d88edced9..0996e6bb86 100644 --- a/util/Migrator/packages.lock.json +++ b/util/Migrator/packages.lock.json @@ -282,26 +282,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -316,13 +317,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2657,7 +2658,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/MsSqlMigratorUtility/packages.lock.json b/util/MsSqlMigratorUtility/packages.lock.json index 86979d0289..10f060423a 100644 --- a/util/MsSqlMigratorUtility/packages.lock.json +++ b/util/MsSqlMigratorUtility/packages.lock.json @@ -304,26 +304,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -338,13 +339,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2695,7 +2696,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/MySqlMigrations/packages.lock.json b/util/MySqlMigrations/packages.lock.json index 212f6086a2..928d2b5bac 100644 --- a/util/MySqlMigrations/packages.lock.json +++ b/util/MySqlMigrations/packages.lock.json @@ -283,26 +283,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -317,13 +318,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2645,7 +2646,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/PostgresMigrations/packages.lock.json b/util/PostgresMigrations/packages.lock.json index 212f6086a2..928d2b5bac 100644 --- a/util/PostgresMigrations/packages.lock.json +++ b/util/PostgresMigrations/packages.lock.json @@ -283,26 +283,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -317,13 +318,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2645,7 +2646,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/Setup/packages.lock.json b/util/Setup/packages.lock.json index 2888c0238e..65d2baadff 100644 --- a/util/Setup/packages.lock.json +++ b/util/Setup/packages.lock.json @@ -288,26 +288,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -322,13 +323,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2663,7 +2664,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/SqlServerEFScaffold/packages.lock.json b/util/SqlServerEFScaffold/packages.lock.json index ed8aea92a5..3955596862 100644 --- a/util/SqlServerEFScaffold/packages.lock.json +++ b/util/SqlServerEFScaffold/packages.lock.json @@ -391,26 +391,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -425,13 +426,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2856,7 +2857,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )", diff --git a/util/SqliteMigrations/packages.lock.json b/util/SqliteMigrations/packages.lock.json index 212f6086a2..928d2b5bac 100644 --- a/util/SqliteMigrations/packages.lock.json +++ b/util/SqliteMigrations/packages.lock.json @@ -283,26 +283,27 @@ }, "LaunchDarkly.CommonSdk": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "YYYq+41gZRMQ8dIoMC6HOq/dI+4RY3HsexLLAaE9T1+1tVMeQkbCqak7sVeKX4QcE7xlXx23lWgipYUkRoRUyw==", + "resolved": "6.2.0", + "contentHash": "eLeb+tTNLwOxlUIsZWzJlcPmG9Wyf20NYyucP6MW6aqKW6doKFeSO+aJe0z+WyijbvfX1Dp1U1HQatOu6fa1Gg==", "dependencies": { + "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } }, "LaunchDarkly.EventSource": { "type": "Transitive", - "resolved": "5.0.1", - "contentHash": "DN44Ry5M4lyrjiF7LEu0Ijco7Wm8R7mJopN+giYsYjkQlszsXdFvm3POoehIDAOtL1HHl5bZvF9k9xK034u3IA==", + "resolved": "5.1.0", + "contentHash": "PztDWiMvPWODx+kfBnCroZ8Lpya4nPc7ZO4TZysOogODbVXDDPDYrdcgVivCMgf4davhGrp61ekvZc+Uy1NYMA==", "dependencies": { - "LaunchDarkly.Logging": "[1.0.1, 3.0.0)" + "LaunchDarkly.Logging": "[2.0.0, 3.0.0)" } }, "LaunchDarkly.InternalSdk": { "type": "Transitive", - "resolved": "3.1.0", - "contentHash": "jW8VEfFciuCcJUEuvSzmrbMVYYXwGL/ZWHUZLiA4aDOQ1LcEXp32uK405NQW/izEypUfWB+9TaSjPpFIC+5Wzw==", + "resolved": "3.3.0", + "contentHash": "TBvs/B6iyXp9MqRKjIoBZ/T0+/xgp5xg+MuHqr5U+N5+7DghtI2FnsmgeBedTIeQdA3Tk8Z4Bj4hlqU9FBiEnw==", "dependencies": { - "LaunchDarkly.CommonSdk": "6.0.0", + "LaunchDarkly.CommonSdk": "6.2.0", "LaunchDarkly.Logging": "[2.0.0, 3.0.0)", "System.Collections.Immutable": "1.7.1" } @@ -317,13 +318,13 @@ }, "LaunchDarkly.ServerSdk": { "type": "Transitive", - "resolved": "7.0.0", - "contentHash": "gkTWb+f5QlsXIqFAciBef3qKZU2y0Hy3Fpt4pvZoxNcnBKg2PNTDSnbpbYEKPeQ1yk1avNaI/tKprnahfrmJFg==", + "resolved": "8.0.0", + "contentHash": "vosFEXYJABuIDIA0+6sncalTmrKXEkBKeqzuP9/vvcCVlFSXUl/ZnrkrAVg3ViDWDi7kjpJSk2W3h5D0TUfCGA==", "dependencies": { "LaunchDarkly.Cache": "1.0.2", - "LaunchDarkly.CommonSdk": "6.0.0", - "LaunchDarkly.EventSource": "5.0.1", - "LaunchDarkly.InternalSdk": "3.1.0", + "LaunchDarkly.CommonSdk": "6.2.0", + "LaunchDarkly.EventSource": "5.1.0", + "LaunchDarkly.InternalSdk": "3.3.0", "LaunchDarkly.Logging": "2.0.0", "System.Collections.Immutable": "1.7.1" } @@ -2645,7 +2646,7 @@ "Handlebars.Net": "[2.1.2, )", "IdentityServer4": "[4.1.2, )", "IdentityServer4.AccessTokenValidation": "[3.0.1, )", - "LaunchDarkly.ServerSdk": "[7.0.0, )", + "LaunchDarkly.ServerSdk": "[8.0.0, )", "MailKit": "[4.2.0, )", "Microsoft.AspNetCore.Authentication.JwtBearer": "[6.0.4, )", "Microsoft.Azure.Cosmos.Table": "[1.0.8, )",