Fool that I am, I just realized the obvious: Check the web logs.
I looked at indico.log
. I found these lines, which represent my most recent attempt to test this problem:
2025-04-22 04:47:27,946 INFO 0c09c2f02cae4f62 - indico.rh GET /login/ [IP=10.44.47.2] [PID=76645]
2025-04-22 04:47:31,574 INFO 8afedd12ef1349a2 - indico.rh GET /register/ [IP=10.44.47.2] [PID=76749]
2025-04-22 04:47:31,861 INFO 25e0e45ea2584924 - indico.rh GET /api/captcha/generate [IP=10.44.47.2] [PID=76751]
2025-04-22 04:47:46,202 INFO c535c665f79b4a22 - indico.rh POST /register/ [IP=10.44.47.2] [PID=76751]
2025-04-22 04:47:46,259 INFO f4aa8b6667da41db - indico.rh GET /register/ [IP=10.44.47.2] [PID=76749]
2025-04-22 04:47:47,238 INFO 0000000000000000 - indico.emails Sent email "[Indico] Verify your email"
2025-04-22 04:54:14,159 INFO 8d7067b5bb3c4551 - indico.rh GET /register/?token=<token> [IP=10.44.47.2] [PID=76751]
2025-04-22 04:54:14,185 INFO eb8a4fc2eecb41cc - indico.rh GET /register/ [IP=10.44.47.2] [PID=76751]
2025-04-22 04:54:14,533 INFO 5c3e691ab805434b - indico.rh GET /api/captcha/generate [IP=10.44.47.2] [PID=76749]
2025-04-22 04:59:53,859 INFO 07dc6d884c3f4843 - indico.rh GET /register/?token=<token> [IP=10.44.47.2] [PID=76751]
2025-04-22 04:59:53,883 INFO f4282ba279a04144 - indico.rh GET /register/ [IP=10.44.47.2] [PID=76751]
Here’s how I think it breaks down:
- At 04:47 I visit the Indico login page, and click on
create one here
. I fill in the captcha, and Indico sends the verification email.
- At 04:54, I click on the verification link in the browser. That takes me to the captcha page again.
- At 04:59, I click on the link within my email client. There’s nothing more recorded in
indico.log
, but I’m taken to the page that asks me to enter account information.
The key point here is that <token>
is identical at 04:54 and 04:59. I again confirmed this with diff
.
Next I looked at apache/access.log
. The two access attempts don’t quite leave the same messages (a blend of HTTPD 200 and 304 codes), but I was able to confirm that <token>
was the same in the apache log as it was in the indico log.
The initial key difference between how the Indico web server responds is:
For the access via the browser:
10.44.47.2 - - [22/Apr/2025:04:54:14 -0400] "GET /assets/i18n/en_US.js HTTP/1.1" 304 - "https://<servername>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0"
Assuming I understand the HTTP status codes correctly, for the browser access of en_US.js
the apache server returns 304, “resource has not been modified since the version specified by the request headers”.
For the email client access:
10.44.47.2 - - [22/Apr/2025:04:59:53 -0400] "GET /assets/i18n/en_US.js HTTP/1.1" 200 73 "https://<servername>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0"
10.44.47.2 - - [22/Apr/2025:04:59:53 -0400] "GET /assets/i18n/en_US-react.js HTTP/1.1" 304 - "https://<servername>/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0"
For the mail client access, for en_US.js
apache returns 200 “Standard response for successful HTTP requests”. After a request for en_US.js
, there’s a subsequent request for en_US-react.js
which is not performed for the browser access.
All of which tells me nothing, except that I don’t see a difference in the tokens themselves or why Indico would respond differently to the HTTPD requests. If I believe the names, en_US.js
suggests a localization of some sort. It doesn’t looking like a smoking gun to me.
Does any of this suggest anything to you?