Skip to content
This repository has been archived by the owner on Mar 19, 2022. It is now read-only.

Unable to connect to Luma3DS Repo #82

Closed
4 of 23 tasks
Nitemice opened this issue Jan 11, 2021 · 12 comments
Closed
4 of 23 tasks

Unable to connect to Luma3DS Repo #82

Nitemice opened this issue Jan 11, 2021 · 12 comments

Comments

@Nitemice
Copy link

What model of system are you using?

  • Old 3DS
  • Old 3DS XL
  • 2DS (non-XL)
  • New 3DS
  • New 3DS XL
  • New 2DS XL

What is your current Luma3DS version?

If you are running an hourly version of Luma3DS, please manually update to a stable version as I will no longer deal with people who are using hourlies.

  • Luma3DS v7.1 + boot9strap v1.0/v1.1
  • Luma3DS v8.0 + boot9strap v1.2+
  • Luma3DS v8.1 + boot9strap v1.2+
  • Luma3DS v8.1.1 + boot9strap v1.2+
  • Luma3DS v9.0 + boot9strap v1.2+
  • Luma3DS v9.1 + boot9strap v1.2+
  • Luma3DS v10.0+ + boot9strap v1.2+

What version of Luma Updater are you using?

  • v2.0
  • v2.1
  • v2.1.1
  • v2.1.2
  • v2.2
  • v2.3
  • v2.4
  • v2.5

How are you running Luma Updater?

  • .cia
  • .3dsx + HBL/Rosalina

What problems are you experiencing?

"Could not obtain update details."

What is the exact error code you are receiving?

Loaded existing payload in memory, searching for version number...
Downloading https://api.github.com/repos/AuroraWright/Luma3DS/releases/latest...
Could not get Location header for 3xx reply
Ret code: ded92

I have v2.5 installed, and I have tried reinstalling it, but I am still getting this error.
Looking at the URL, I assume #73 would fix it.

@iNSiGhT59
Copy link

iNSiGhT59 commented Jan 13, 2021

Hi,

Same here on a New 3DS XL and a New 3DS.

Notes :

  • I updated LumaUpdater to V2.5 on my "New 3DS XL" before to update Luma and run into this issue. Had to manually update Luma.
  • Then I updated Luma without any issue with LumaUpdater V2.4 on my daughter's "New 3DS", then, after V2.5 installation, run into the same issue.

Thanks for your work !

@Artanisx
Copy link

Same here on Old 3DS.

Luma Updated 2.5

Current installed version: 10.2.1-c058e3f

Error: Could not obtain update details.

@uintdev
Copy link

uintdev commented Jan 21, 2021

I had looked through the source code and noticed something.

So, we have the release URL.

static const char* ReleaseURL = "https://api.github.com/repos/AuroraWright/Luma3DS/releases/latest";

The message that comes up in this case is Could not get Location header for 3xx reply. Note that this is for the first request for the release URL so changing to a more accurate URL (LumaTeam) will not change the outcome in regards to this issue (although probably should still update that).
CHECK(httpc.GetResponseHeader(&context, (char*)"location", newUrl, 1024), "Could not get Location header for 3xx reply");

The second parameter of httpc.GetResponseHeader() is where the header name goes. In this case, location. Note that it is entirely lowercase.
What does this function do?
Result HTTPC::GetResponseHeader(httpcContext *context, char* _name, char* _value, u32 valuebuf_maxsize)
{
for(int i = 0; i < this->headers.size(); i++)
{
if(this->headers[i].find(_name)!= std::string::npos)
{
size_t pos = this->headers[i].find(_name);
this->headers[i].erase(pos, strlen(_name) + 2);
strcpy(_value, this->headers[i].c_str());
return 0;
}
}
return 0xDED92;
}

When it comes to the checking aspect, it loops through the response headers and looks for matches for the data provided in the second parameter. In this case, location.
Now, there is just a small problem. It is best practice to capitalise the initial letter of each word in headers. GitHub's API appears to return Location as opposed to location.
There is no case conversion to the header names (and the headers to check for). It is not matching anymore because of a silent API (server-side) change to the capitalisation of the location header.

I had manually patched the latest 3DSX file and can confirm that it had resolved the issue.

Update:
I did notice that their last commit (at the time of posting) to source/http.cpp 80461fa is to do with changing the case of the location header name for the very same reason (causing the recent issue) and made part of the v2.5 build.
https://github.com/KunoichiZ/lumaupdate/releases/tag/v2.5
I doubt it but if there is some unusual behaviour going on across consoles regarding what sort of case the location response header ends up being, then doing case-insensitive header name matching might be way more reliable.

Meanwhile, if you want something functional, your best bet is using v2.4 where it does not have this now breaking change.

@pa-august
Copy link

When will a version with this fix be pushed out?

@ghost
Copy link

ghost commented Jan 25, 2021

@uintdev said that he had manually patched the 3dsx, could he release the patch if @KunoichiZ is ok with it?

@uintdev
Copy link

uintdev commented Jan 25, 2021

The version that does not have the issue is v2.4 (https://github.com/KunoichiZ/lumaupdate/releases/tag/v2.4). Give that a try (especially if you prefer the CIA version).

To avoid SD card removal:

  1. Find an online QR code encoder (https://www.the-qrcode-generator.com/ works)
  2. Paste 'https://github.com/KunoichiZ/lumaupdate/releases/download/v2.4/lumaupdater.cia' into text field
  3. Enter FBI application
  4. Remove Luma3DS Updater title
  5. Use the remote install via QR code feature
  6. Scan the QR code
  7. ???
  8. Profit

Note that the older version will ask to update to a newer version and will keep doing that on launch. For now, skip the notice.

@ghost
Copy link

ghost commented Jan 25, 2021

Okay, you're right! The cia actually overwrites the old one so removing it isn't strictly needed, but, yep! Thanks!

@Artanisx
Copy link

The version that does not have the issue is v2.4 (https://github.com/KunoichiZ/lumaupdate/releases/tag/v2.4). Give that a try (especially if you prefer the CIA version).

To avoid SD card removal:

  1. Find an online QR code encoder (https://www.the-qrcode-generator.com/ works)
  2. Paste 'https://github.com/KunoichiZ/lumaupdate/releases/download/v2.4/lumaupdater.cia' into text field
  3. Enter FBI application
  4. Remove Luma3DS Updater title
  5. Use the remote install via QR code feature
  6. Scan the QR code
  7. ???
  8. Profit

Note that the older version will ask to update to a newer version and will keep doing that on launch. For now, skip the notice.

Thanks for this! I just downgraded to Luma Updater 2.4 with this method :-)

@pa-august
Copy link

Will 2.5 be able to update itself to fix the issue, or do I need to keep an eye out for an updated cia file to install?

@uintdev
Copy link

uintdev commented Feb 10, 2021

The application fetches the latest release (for itself) found on the releases page. Which means the maintainer will have to add a new release.

@ayreon
Copy link

ayreon commented Mar 5, 2021

Why did you close it? The issue still exists.

@uintdev
Copy link

uintdev commented Mar 5, 2021

It would be because the fix was merged. Although, yes, there is no new build at this time that includes the changes.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants