mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-06 22:30:56 +03:00
do not return if client IP is not allowed in login API response
Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
@@ -2463,7 +2463,7 @@ func TestProxyHeaders(t *testing.T) {
|
|||||||
rr := httptest.NewRecorder()
|
rr := httptest.NewRecorder()
|
||||||
testServer.Config.Handler.ServeHTTP(rr, req)
|
testServer.Config.Handler.ServeHTTP(rr, req)
|
||||||
assert.Equal(t, http.StatusUnauthorized, rr.Code)
|
assert.Equal(t, http.StatusUnauthorized, rr.Code)
|
||||||
assert.Contains(t, rr.Body.String(), "login from IP 127.0.0.1 not allowed")
|
assert.NotContains(t, rr.Body.String(), "login from IP 127.0.0.1 not allowed")
|
||||||
|
|
||||||
req.RemoteAddr = testIP
|
req.RemoteAddr = testIP
|
||||||
rr = httptest.NewRecorder()
|
rr = httptest.NewRecorder()
|
||||||
|
|||||||
@@ -530,7 +530,7 @@ func (s *httpdServer) handleWebAdminTwoFactorPost(w http.ResponseWriter, r *http
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := verifyCSRFToken(r, s.csrfTokenAuth); err != nil {
|
if err := verifyCSRFToken(r, s.csrfTokenAuth); err != nil {
|
||||||
err = handleDefenderEventLoginFailed(ipAddr, err)
|
handleDefenderEventLoginFailed(ipAddr, err) //nolint:errcheck
|
||||||
s.renderTwoFactorPage(w, r, util.NewI18nError(err, util.I18nErrorInvalidCSRF))
|
s.renderTwoFactorPage(w, r, util.NewI18nError(err, util.I18nErrorInvalidCSRF))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@@ -941,9 +941,10 @@ func (s *httpdServer) getToken(w http.ResponseWriter, r *http.Request) {
|
|||||||
ipAddr := util.GetIPFromRemoteAddress(r.RemoteAddr)
|
ipAddr := util.GetIPFromRemoteAddress(r.RemoteAddr)
|
||||||
admin, err := dataprovider.CheckAdminAndPass(username, password, ipAddr)
|
admin, err := dataprovider.CheckAdminAndPass(username, password, ipAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = handleDefenderEventLoginFailed(ipAddr, err)
|
handleDefenderEventLoginFailed(ipAddr, err) //nolint:errcheck
|
||||||
w.Header().Set(common.HTTPAuthenticationHeader, basicRealm)
|
w.Header().Set(common.HTTPAuthenticationHeader, basicRealm)
|
||||||
sendAPIResponse(w, r, err, http.StatusText(http.StatusUnauthorized), http.StatusUnauthorized)
|
sendAPIResponse(w, r, dataprovider.ErrInvalidCredentials, http.StatusText(http.StatusUnauthorized),
|
||||||
|
http.StatusUnauthorized)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if admin.Filters.TOTPConfig.Enabled {
|
if admin.Filters.TOTPConfig.Enabled {
|
||||||
|
|||||||
Reference in New Issue
Block a user