Skip to content

Commit d0f6d64

Browse files
authored
Merge pull request #1495 from tweag/remove-legacypasswd
Remove legacypasswd
2 parents c17e80f + b5e9b53 commit d0f6d64

10 files changed

Lines changed: 6 additions & 608 deletions

File tree

datafiles/templates/AdminFrontend/account.html.st

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ $hackagePageHeader()$
1717
<tr><td>Username:<td>$account.name$
1818
<tr><td>User ID:<td>$account.id$
1919
<tr><td><a href="#account-status">Status:</a><td>$account.status$
20-
<tr><td><a href="#passwd-legacy">Legacy password:</a><td>$if(hasLegacyPassword)$<strong>Yes</strong>$else$No$endif$
2120
<tr><td><a href="#edit-details">Real name:</a><td>$details.realname$
2221
<tr><td><a href="#edit-details">Email:</a><td>$details.email$
2322
<tr><td><a href="#edit-details">Account type:</a><td>$details.kind$
@@ -151,36 +150,6 @@ Alternatively, as an administrator you can set account passwords directly.
151150
<p><input type="submit" value="Change password" /></p>
152151
</form>
153152

154-
<h2 id="passwd-legacy">Legacy password</h2>
155-
156-
<p>Legacy passwords are to enable a relatively smooth upgrade from
157-
<a href="/users/htpasswd-upgrade">old "htpasswd" style passwords</a>.
158-
</p>
159-
160-
$if(hasLegacyPassword)$
161-
$if(!account.hasAuth)$
162-
<p>This account has a legacy "htpasswd" password set, and no new password set.
163-
It can be upgraded by the user that knows the old password. Alternatively
164-
you can simply delete the legacy "htpasswd" and set a new password.
165-
</p>
166-
$else$
167-
<p>This account has a new password set <em>but still has an legacy "htpasswd" password
168-
too</em>. The legacy one can safely be deleted. Indeed it is better to delete it as
169-
it otherwise prevents the account from being disabled should the need arise
170-
(the account could be reactivated by anyone knowing the legacy "htpasswd".)
171-
</p>
172-
$endif$
173-
<form class="box" action="/user/$account.name$/htpasswd" method="post" enctype="multipart/form-data">
174-
<input type="hidden" name="_method" value="DELETE"/>
175-
<input type="hidden" name="_return" value="/admin/account/$account.id$"/>
176-
177-
<button type="submit">Delete legacy password</button>
178-
</form>
179-
$else$
180-
<p>This account has no legacy password.
181-
</p>
182-
$endif$
183-
184153
<h2 id="edit-details">Edit account details</h2>
185154

186155
<form class="box" action="/user/$account.name$/name-contact" method="post" enctype="multipart/form-data">

datafiles/templates/LegacyPasswds/htpasswd-upgrade-success.html.st

Lines changed: 0 additions & 34 deletions
This file was deleted.

datafiles/templates/LegacyPasswds/htpasswd-upgrade.html.st

Lines changed: 0 additions & 49 deletions
This file was deleted.

hackage-server.cabal

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -336,10 +336,6 @@ library
336336
Distribution.Server.Features.TarIndexCache
337337
Distribution.Server.Features.TarIndexCache.State
338338
Distribution.Server.Features.LegacyRedirects
339-
Distribution.Server.Features.LegacyPasswds
340-
Distribution.Server.Features.LegacyPasswds.Acid
341-
Distribution.Server.Features.LegacyPasswds.Auth
342-
Distribution.Server.Features.LegacyPasswds.Backup
343339
Distribution.Server.Features.PackageContents
344340
Distribution.Server.Features.AdminFrontend
345341
Distribution.Server.Features.AdminLog

src/Distribution/Server/Features.hs

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ import Distribution.Server.Features.PackageList (initListFeature)
4242
import Distribution.Server.Features.HaskellPlatform (initPlatformFeature)
4343
import Distribution.Server.Features.UserDetails (initUserDetailsFeature)
4444
import Distribution.Server.Features.UserSignup (initUserSignupFeature)
45-
import Distribution.Server.Features.LegacyPasswds (initLegacyPasswdsFeature)
4645
import Distribution.Server.Features.EditCabalFiles (initEditCabalFilesFeature)
4746
import Distribution.Server.Features.AdminFrontend (initAdminFrontendFeature)
4847
import Distribution.Server.Features.AdminLog (initAdminLogFeature)
@@ -112,8 +111,6 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
112111
initUserDetailsFeature env
113112
mkUserSignupFeature <- logStartup "user signup" $
114113
initUserSignupFeature env
115-
mkLegacyPasswdsFeature <- logStartup "legacy passwords" $
116-
initLegacyPasswdsFeature env
117114
mkDistroFeature <- logStartup "distro" $
118115
initDistroFeature env
119116
mkPackageCandidatesFeature <- logStartup "package candidates" $
@@ -130,7 +127,7 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
130127
initDownloadFeature env
131128
mkTagsFeature <- logStartup "tags" $
132129
initTagsFeature env
133-
mkAnalyticsPixelsFeature <- logStartup "analytics pixels" $
130+
mkAnalyticsPixelsFeature <- logStartup "analytics pixels" $
134131
initAnalyticsPixelsFeature env
135132
mkVersionsFeature <- logStartup "versions" $
136133
initVersionsFeature env
@@ -213,9 +210,6 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
213210
userDetailsFeature
214211
uploadFeature
215212

216-
legacyPasswdsFeature <- mkLegacyPasswdsFeature
217-
usersFeature
218-
219213
distroFeature <- mkDistroFeature
220214
usersFeature
221215
coreFeature
@@ -320,7 +314,7 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
320314
reportsCoreFeature
321315
userDetailsFeature
322316
recentPackagesFeature
323-
317+
324318

325319
editCabalFeature <- mkEditCabalFilesFeature
326320
usersFeature
@@ -331,7 +325,6 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
331325
usersFeature
332326
userDetailsFeature
333327
userSignupFeature
334-
legacyPasswdsFeature
335328

336329
hoogleDataFeature <- mkHoogleDataFeature
337330
coreFeature
@@ -398,7 +391,6 @@ initHackageFeatures env@ServerEnv{serverVerbosity = verbosity} = do
398391
, getFeatureInterface recentPackagesFeature
399392
, getFeatureInterface userDetailsFeature
400393
, getFeatureInterface userSignupFeature
401-
, getFeatureInterface legacyPasswdsFeature
402394
, getFeatureInterface distroFeature
403395
, getFeatureInterface candidatesFeature
404396
, getFeatureInterface reportsCoreFeature

src/Distribution/Server/Features/AdminFrontend.hs

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ import Distribution.Server.Features.Users
1313
import Distribution.Server.Features.UserDetails
1414
import Distribution.Server.Features.UserDetails.Types
1515
import Distribution.Server.Features.UserSignup
16-
import Distribution.Server.Features.LegacyPasswds
17-
import qualified Distribution.Server.Features.LegacyPasswds.Acid as Acid
1816

1917
import Distribution.Server.Users.Types
2018
import qualified Distribution.Server.Users.Users as Users
@@ -33,20 +31,19 @@ initAdminFrontendFeature :: ServerEnv
3331
-> IO (UserFeature
3432
-> UserDetailsFeature
3533
-> UserSignupFeature
36-
-> LegacyPasswdsFeature
3734
-> IO HackageFeature)
3835
initAdminFrontendFeature env@ServerEnv{ serverTemplatesDir,
3936
serverTemplatesMode } = do
4037
-- Page templates
4138
templates <- loadTemplates serverTemplatesMode
4239
[serverTemplatesDir, serverTemplatesDir </> "AdminFrontend"]
4340
[ "admin.html", "accounts.html", "account.html"
44-
, "signups.html", "resets.html", "legacy.html" ]
41+
, "signups.html", "resets.html" ]
4542

46-
return $ \user userdetails usersignup legacypasswds -> do
43+
return $ \user userdetails usersignup -> do
4744
let feature = adminFrontendFeature env templates
4845
user userdetails
49-
usersignup legacypasswds
46+
usersignup
5047

5148
return feature
5249

@@ -55,19 +52,17 @@ adminFrontendFeature :: ServerEnv -> Templates
5552
-> UserFeature
5653
-> UserDetailsFeature
5754
-> UserSignupFeature
58-
-> LegacyPasswdsFeature
5955
-> HackageFeature
6056
adminFrontendFeature _env templates
6157
UserFeature{..} UserDetailsFeature{..}
62-
UserSignupFeature{..} LegacyPasswdsFeature{..} =
58+
UserSignupFeature{..} =
6359
(emptyHackageFeature "admin-frontend") {
6460
featureResources =
6561
[ adminPortalResource
6662
, adminAccountsResource
6763
, adminAccountResource
6864
, adminSignupsResource
6965
, adminResetsResource
70-
, adminLegacyResource
7166
]
7267
, featureState = []
7368
, featureReloadFiles = reloadTemplates templates
@@ -99,11 +94,6 @@ adminFrontendFeature _env templates
9994
resourceDesc = [(GET, "All password reset requests")],
10095
resourceGet = [("html", serveAdminResetsGet)]
10196
}
102-
adminLegacyResource =
103-
(resourceAt "/admin/legacy") {
104-
resourceDesc = [(GET, "All accounts with legacy passwords")],
105-
resourceGet = [("html", serveAdminLegacyGet)]
106-
}
10797

10898
serveAdminPortalGet :: DynamicPath -> ServerPartE Response
10999
serveAdminPortalGet _ = do
@@ -198,20 +188,6 @@ adminFrontendFeature _env templates
198188
]
199189
]
200190

201-
serveAdminLegacyGet :: DynamicPath -> ServerPartE Response
202-
serveAdminLegacyGet _ = do
203-
guardAuthorised_ [InGroup adminGroup]
204-
cacheControlWithoutETag [Private]
205-
template <- getTemplate templates "legacy.html"
206-
usersdb <- queryGetUserDb
207-
legacyUsers <- Acid.enumerateAllUserLegacyPasswd <$> queryLegacyPasswds
208-
ok $ toResponse $ template
209-
[ "accounts" $= [ accountBasicInfoToTemplate uid uinfo
210-
| uid <- legacyUsers
211-
, let Just uinfo = Users.lookupUserId uid usersdb
212-
]
213-
]
214-
215191
resetRequestToTemplate :: SignupResetInfo -> UserInfo -> TemplateVal
216192
resetRequestToTemplate ResetInfo {nonceTimestamp, resetUserId} uinfo =
217193
templateDict
@@ -229,13 +205,11 @@ adminFrontendFeature _env templates
229205
uinfo <- lookupUserInfo uid
230206
mudetails <- queryUserDetails uid
231207
resetInfo <- lookupPasswordReset uid <$> queryAllSignupResetInfo
232-
mlegacy <- Acid.lookupUserLegacyPasswd uid <$> queryLegacyPasswds
233208

234209
ok $ toResponse $ template
235210
[ "account" $= accountBasicInfoToTemplate uid uinfo
236211
, "details" $= accountDetailsToTemplate uinfo mudetails
237212
, "resetRequests" $= resetInfo
238-
, "hasLegacyPassword" $= isJust mlegacy
239213
]
240214
where
241215
lookupPasswordReset uid allResetInfo =

0 commit comments

Comments
 (0)