Tom
6 days ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with
22 additions and
1 deletions
-
src/api/core/events.rs
-
src/db/models/event.rs
-
src/db/models/org_policy.rs
|
|
|
@ -199,6 +199,26 @@ async fn post_events_collect(data: Json<Vec<EventCollection>>, headers: Headers, |
|
|
|
.await; |
|
|
|
} |
|
|
|
} |
|
|
|
// Only the vault notification banner click is accepted from clients. The rest of
|
|
|
|
// the 1500..=1599 range is written server-side and must not be forgeable by a client.
|
|
|
|
t if t == EventType::OrganizationUserNotificationBannerActionClicked as i32 => { |
|
|
|
if let Some(org_id) = &event.organization_id |
|
|
|
&& let Some(membership) = |
|
|
|
Membership::find_confirmed_by_user_and_org(&headers.user.uuid, org_id, &conn).await |
|
|
|
{ |
|
|
|
log_event_impl( |
|
|
|
event.r#type, |
|
|
|
&membership.uuid, |
|
|
|
org_id, |
|
|
|
&headers.user.uuid, |
|
|
|
headers.device.atype, |
|
|
|
Some(event_date), |
|
|
|
&headers.ip.ip, |
|
|
|
&conn, |
|
|
|
) |
|
|
|
.await; |
|
|
|
} |
|
|
|
} |
|
|
|
_ => { |
|
|
|
// The cipher determines the organization the event is logged to, so make sure the
|
|
|
|
// user can actually access it instead of trusting the provided cipher uuid.
|
|
|
|
|
|
|
|
@ -113,7 +113,7 @@ pub enum EventType { |
|
|
|
OrganizationUserAdminResetTwoFactor = 1519, |
|
|
|
// OrganizationUserRevoked_TwoFactorNonCompliance = 1520,
|
|
|
|
// OrganizationUserRevoked_SingleOrganizationNonCompliance = 1521,
|
|
|
|
// OrganizationUserNotificationBannerActionClicked = 1522,
|
|
|
|
OrganizationUserNotificationBannerActionClicked = 1522, |
|
|
|
|
|
|
|
// Organization
|
|
|
|
OrganizationUpdated = 1600, |
|
|
|
|
|
|
|
@ -49,6 +49,7 @@ pub enum OrgPolicyType { |
|
|
|
// AutotypeDefaultSetting = 17, // Not supported yet
|
|
|
|
// AutoConfirm = 18, // Not supported (not implemented yet)
|
|
|
|
// BlockClaimedDomainAccountCreation = 19, // Not supported (Not AGPLv3 Licensed)
|
|
|
|
OrganizationUserNotification = 20, |
|
|
|
} |
|
|
|
|
|
|
|
// https://github.com/bitwarden/server/blob/9ebe16587175b1c0e9208f84397bb75d0d595510/src/Core/AdminConsole/Models/Data/Organizations/Policies/SendOptionsPolicyData.cs#L5
|
|
|
|
|