«Page unavailable» ошибка Seafile

Автор: | 08.03.2022

В работе сервиса Seafile обнаружился странный баг. При создании ссылки с паролем на папку вылетает ошибка при открытии страницы:

«Page unavailable Sorry, but the requested page is unavailable due to a server hiccup. Our engineers have been notified, so check back later.»

Page unavailable

При создании ссылки на папку без пароля всё проходит нормально. Версия сервера — 7.1.3. Лечится добавлением в методе view_shared_dir проверки на пустую строку.

Нужно в файле seahub/views/repo.py, найти метод view_shared_dir

def view_shared_dir(request, fileshare):

    token = fileshare.token

    password_check_passed, err_msg = check_share_link_common(request, fileshare)
    if not password_check_passed:
        d = {'token': token, 'view_name': 'view_shared_dir', 'err_msg': err_msg}
        return render(request, 'share_access_validation.html', d)

    username = fileshare.username
    repo_id = fileshare.repo_id

    # Get path from frontend, use '/' if missing, and construct request path
    # with fileshare.path to real path, used to fetch dirents by RPC.
    req_path = request.GET.get('p', '/')
    if req_path[-1] != '/':  
        req_path += '/'

и изменить в req_path на пустую строку:

# Get path from frontend, use '/' if missing, and construct request path  
# with fileshare.path to real path, used to fetch dirents by RPC.
req_path = request.GET.get('p', '/')
if req_path=="" or req_path[-1] != '/':
    req_path += '/'

 

 

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.