From 8cda6764082adf94e7f96fdbedb92fa167fd9ca0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 18 Aug 2009 18:31:51 -0700 Subject: [PATCH] Don't send users to #register,register,mine If an account went missing during registration and gets recreated, don't generate a URL that goes through the registration screen a second time. Instead do it just once. This is a really contrived example that I can't see happening in real world usage, the only way I caused this was to delete my own user account and then hitting "reload" while on the registration screen for my prior account instance. Very unlikely to show up in a production server as users can't delete their accounts. Signed-off-by: Shawn O. Pearce --- .../java/com/google/gerrit/server/http/HttpLoginServlet.java | 2 +- .../java/com/google/gerrit/server/openid/OpenIdServiceImpl.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/google/gerrit/server/http/HttpLoginServlet.java b/src/main/java/com/google/gerrit/server/http/HttpLoginServlet.java index 952eab54f2..91565e623c 100644 --- a/src/main/java/com/google/gerrit/server/http/HttpLoginServlet.java +++ b/src/main/java/com/google/gerrit/server/http/HttpLoginServlet.java @@ -99,7 +99,7 @@ class HttpLoginServlet extends HttpServlet { final StringBuilder rdr = new StringBuilder(); rdr.append(urlProvider.get()); rdr.append('#'); - if (arsp.isNew()) { + if (arsp.isNew() && !token.startsWith(Link.REGISTER + ",")) { rdr.append(Link.REGISTER); rdr.append(','); } diff --git a/src/main/java/com/google/gerrit/server/openid/OpenIdServiceImpl.java b/src/main/java/com/google/gerrit/server/openid/OpenIdServiceImpl.java index 2b0e07b6ef..cc9e58229e 100644 --- a/src/main/java/com/google/gerrit/server/openid/OpenIdServiceImpl.java +++ b/src/main/java/com/google/gerrit/server/openid/OpenIdServiceImpl.java @@ -335,7 +335,7 @@ class OpenIdServiceImpl implements OpenIdService { final StringBuilder rdr = new StringBuilder(); rdr.append(urlProvider.get()); rdr.append('#'); - if (isNew) { + if (isNew && !token.startsWith(Link.REGISTER + ",")) { rdr.append(Link.REGISTER); rdr.append(','); }