account icon indicating copy to clipboard operation
account copied to clipboard

[Bug]: Unable to Change User Info on Wii U (102-2421) if the user previously changed their birth date to the year 0000

Open DimitriPilot3 opened this issue 6 months ago • 0 comments

Checked Existing

  • [x] I have checked the repository for duplicate issues.

What happened?

If a Pretendo user has changed their birth date to the year 0000, any subsequent attempt to 'Change User Information' with this user (via the Wii U menu) will result in a 102-2421 error (appearing after the correct password has been entered) and the Wii U refusing to launch the Account Settings applet.

What did you expect to happen?

The account server and/or the Change User Info page should reject any attempt to set the birth date to year 0000

Steps to reproduce?

  1. Sign in to a Pretendo user on Wii U
  2. Tap the Mii in the corner and select Change User Information
  3. Enter the password if prompted
  4. In the birth date field, type 0000-11-22 (or any valid formatted date starting with 0000)
  5. Acknowledge the warning pop-up. You are changing the birth date at your own risk and it won't be possible to change it back afterwards by any "easy" means.
  6. Submit the form and close the page

From now on, just redo the first 3 steps to observe error 102-2421

Other relevant information. (OPTIONAL)

I've seen two users report this issue on Discord - one of them got around it using mitmproxy to "replace the birthyear in the response". Using the same trick, I was able to both reproduce this issue and bypass it, opening the door for a more thorough testing.

The 102-2421 error (in this case) is related to the response to GET /v1/api/people/@me/profile:

<?xml version="1.0"?>
<person>
  <active_flag>Y</active_flag>
  <birth_date>0000-11-22</birth_date>
  ...
</person>

The <birth_date> is in the expected YYYY-MM-DD format, yet the Wii U treated it as invalid. After trying out various different date responses, it seems that the Wii U will also reject any date containing a number (day, month, and/or year number) that equals zero; thus it allows 0001-01-01 but not 0000-01-01.

This issue does not impact the 3DS' NNID settings app, nor does either console family care about the birth date being outright invalid (e.g., 1900-99-99). Opening Juxt (on the prod server) still works, though (for science's sake) I have gotten it to show "Invalid Date" in lieu of the birthday on the user page.

DimitriPilot3 avatar Jun 20 '25 16:06 DimitriPilot3