Skip to content

Commit 6e8dce8

Browse files
committed
fix: disallow non group. application groups to be registered
Apple disallows any AppGroup to be registered in their servers if it begins with `group.`. Filza for example has an ID that starts with `com.` instead, which is not allowed. While it is applicable for jailbroken/unsandboxed environments, its not here. This also registers a default group for each app.
1 parent 0a5b822 commit 6e8dce8

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

crates/plume_utils/src/signer.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,11 @@ impl Signer {
291291

292292
if let Some(app_groups) = macho.app_groups_for_entitlements() {
293293
let mut app_group_ids: Vec<String> = Vec::new();
294+
294295
for group in &app_groups {
296+
if !group.starts_with("group.") {
297+
continue;
298+
}
295299
let mut group_name = format!("{group}.{team_id}");
296300

297301
if is_refresh {
@@ -302,6 +306,15 @@ impl Signer {
302306
.await?;
303307
app_group_ids.push(group_id.application_group);
304308
}
309+
310+
let default_group = format!("group.{}.{}", id, team_id);
311+
if !app_group_ids.contains(&default_group) {
312+
let default_group_id = session
313+
.qh_ensure_app_group(&team_id, &default_group, &default_group)
314+
.await?;
315+
app_group_ids.push(default_group_id.application_group);
316+
}
317+
305318
if !is_refresh {
306319
if signer_settings.app == SignerApp::SideStore
307320
|| signer_settings.app == SignerApp::AltStore

0 commit comments

Comments
 (0)