From 56d62186a6578acb71fc1f534d240904c7d5bb9d Mon Sep 17 00:00:00 2001 From: danny Date: Sun, 15 Mar 2026 16:29:49 +0100 Subject: [PATCH 1/4] Delete old tags --- .github/workflows/build.yaml | 7 +++++++ version | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 78b2a2e3..464396d3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -193,6 +193,13 @@ jobs: uses: hugo19941994/delete-draft-releases@v1.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Delete existing tag if exist + uses: ClementTsang/delete-tag-and-release@v0.3.1 + continue-on-error: true + with: + tag_name: v${{ env.VERSION }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create Release uses: "marvinpinto/action-automatic-releases@latest" with: diff --git a/version b/version index 37c2961c..166a7937 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.7.2 +2.7.2-DEV From 83f6c08793390ca5856d2e07813bb13423b3b412 Mon Sep 17 00:00:00 2001 From: danny Date: Sun, 15 Mar 2026 16:45:04 +0100 Subject: [PATCH 2/4] new dev version --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 166a7937..0cdd6881 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.7.2-DEV +2.7.3-DEV From b2da44eb0666364d87c924d1f13499015904a8b5 Mon Sep 17 00:00:00 2001 From: shahbajjamil Date: Wed, 16 Sep 2026 13:00:25 +0530 Subject: [PATCH 3/4] fix: update X-MMe-Client-Info header to use AuthKit agent --- endpoint/register/pypush_gsa_icloud.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endpoint/register/pypush_gsa_icloud.py b/endpoint/register/pypush_gsa_icloud.py index 694a3026..b7f94e84 100644 --- a/endpoint/register/pypush_gsa_icloud.py +++ b/endpoint/register/pypush_gsa_icloud.py @@ -144,7 +144,7 @@ def gsa_authenticated_request(parameters): "Content-Type": "text/x-xml-plist", "Accept": "*/*", "User-Agent": "akd/1.0 CFNetwork/978.0.7 Darwin/18.7.0", - "X-MMe-Client-Info": ' ' + "X-MMe-Client-Info": ' ' } with requests.post( From 1ee5b49f0009db1771977c1b42121bfdebad62f3 Mon Sep 17 00:00:00 2001 From: shahbajjamil Date: Wed, 16 Sep 2026 14:01:25 +0530 Subject: [PATCH 4/4] fix: add error handling for failed GSA authentication and invalid server responses --- endpoint/register/pypush_gsa_icloud.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/endpoint/register/pypush_gsa_icloud.py b/endpoint/register/pypush_gsa_icloud.py index b7f94e84..f029f805 100644 --- a/endpoint/register/pypush_gsa_icloud.py +++ b/endpoint/register/pypush_gsa_icloud.py @@ -43,6 +43,8 @@ def icloud_login_mobileme(username='', password=''): password = getpass('Password: ') g = gsa_authenticate(username, password) + if not g: + raise Exception("Authentication failed. Please verify your Apple ID and password.") pet = g["t"]["com.apple.gs.idms.pet"]["token"] adsid = g["adsid"] @@ -82,9 +84,17 @@ def gsa_authenticate(username, password): r = gsa_authenticated_request( {"A2k": a, "ps": ["s2k", "s2k_fo"], "u": username, "o": "init"}) + if "Status" in r and r["Status"].get("ec", 0) != 0: + logger.error(f"Authentication initialization failed: {r['Status'].get('em', 'Unknown error')} (ec: {r['Status'].get('ec')})") + return None + + if "sp" not in r: + logger.error("Authentication initialization failed: Server response did not contain SRP parameters.") + return None + if r["sp"] not in ["s2k", "s2k_fo"]: logger.warning(f"This implementation only supports s2k and sk2_fo. Server returned {r['sp']}") - return + return None # Change the password out from under the SRP library, as we couldn't calculate it without the salt. usr.p = encrypt_password(password, r["s"], r["i"], r["sp"])