From ae33aee3f6bc70261111d08ad8d750833a8d7705 Mon Sep 17 00:00:00 2001 From: Julian Naydichev Date: Sat, 31 Oct 2020 14:50:08 +0100 Subject: [PATCH 01/12] When serving a download URL via KoboSync, use a URL that is specific to Kobo --- cps/kobo.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/cps/kobo.py b/cps/kobo.py index a6dfc3f6..dbbdb8c9 100644 --- a/cps/kobo.py +++ b/cps/kobo.py @@ -47,9 +47,10 @@ from sqlalchemy.exc import StatementError import requests from . import config, logger, kobo_auth, db, calibre_db, helper, shelf as shelf_lib, ub +from .helper import get_download_link from .services import SyncToken as SyncToken from .web import download_required -from .kobo_auth import requires_kobo_auth +from .kobo_auth import requires_kobo_auth, get_auth_token KOBO_FORMATS = {"KEPUB": ["KEPUB"], "EPUB": ["EPUB3", "EPUB"]} KOBO_STOREAPI_URL = "https://storeapi.kobo.com" @@ -270,10 +271,11 @@ def get_download_url_for_book(book, book_format): else: host = request.host - return "{url_scheme}://{url_base}:{url_port}/download/{book_id}/{book_format}".format( + return "{url_scheme}://{url_base}:{url_port}/kobo/{auth_token}/download/{book_id}/{book_format}".format( url_scheme=request.scheme, url_base=host, url_port=config.config_external_port, + auth_token=get_auth_token(), book_id=book.id, book_format=book_format.lower() ) @@ -976,6 +978,14 @@ def HandleInitRequest(): return response +@kobo.route("/download//") +@requires_kobo_auth +@download_required +def download_book(book_id, book_format): + + return get_download_link(book_id, book_format, "kobo") + + def NATIVE_KOBO_RESOURCES(): return { "account_page": "https://secure.kobobooks.com/profile", From ceefba274308896d504630f58738d9576da3e3dd Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 15 Nov 2020 17:16:01 +0100 Subject: [PATCH 02/12] Fix for #1550 (password prompt for LDAP and anonymous browsing) --- cps/admin.py | 4 +++- cps/opds.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cps/admin.py b/cps/admin.py index fe2769e2..786c2281 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -646,7 +646,9 @@ def _configuration_update_helper(): return _configuration_result(_('Certfile Location is not Valid, Please Enter Correct Path'), gdriveError) _config_checkbox_int(to_save, "config_uploading") - _config_checkbox_int(to_save, "config_anonbrowse") + # Reboot on config_anonbrowse with enabled ldap, as decoraters are changed in this case + reboot_required |= (_config_checkbox_int(to_save, "config_anonbrowse") + and config.config_login_type == constants.LOGIN_LDAP) _config_checkbox_int(to_save, "config_public_reg") _config_checkbox_int(to_save, "config_register_email") reboot_required |= _config_checkbox_int(to_save, "config_kobo_sync") diff --git a/cps/opds.py b/cps/opds.py index 1eb3c49f..8ec48a46 100644 --- a/cps/opds.py +++ b/cps/opds.py @@ -51,7 +51,7 @@ def requires_basic_auth_if_no_ano(f): if not auth or auth.type != 'basic' or not check_auth(auth.username, auth.password): return authenticate() return f(*args, **kwargs) - if config.config_login_type == constants.LOGIN_LDAP and services.ldap: + if config.config_login_type == constants.LOGIN_LDAP and services.ldap and config.config_anonbrowse != 1: return services.ldap.basic_auth_required(f) return decorated From 9bd51c650bde1c049184fea174054cf5b55cb2f0 Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Fri, 20 Nov 2020 19:47:50 +0100 Subject: [PATCH 03/12] Add config options for client certificate authentication --- cps/admin.py | 8 ++++++-- cps/config_sql.py | 2 ++ cps/services/simpleldap.py | 27 ++++++++++++++++++++++++--- cps/templates/admin.html | 1 - cps/templates/config_edit.html | 23 ++++++++++++++++++++--- 5 files changed, 52 insertions(+), 9 deletions(-) diff --git a/cps/admin.py b/cps/admin.py index 786c2281..85053489 100644 --- a/cps/admin.py +++ b/cps/admin.py @@ -572,7 +572,9 @@ def _configuration_ldap_helper(to_save, gdriveError): reboot_required |= _config_string(to_save, "config_ldap_group_members_field") reboot_required |= _config_checkbox(to_save, "config_ldap_openldap") reboot_required |= _config_int(to_save, "config_ldap_encryption") + reboot_required |= _config_string(to_save, "config_ldap_cacert_path") reboot_required |= _config_string(to_save, "config_ldap_cert_path") + reboot_required |= _config_string(to_save, "config_ldap_key_path") _config_string(to_save, "config_ldap_group_name") if "config_ldap_serv_password" in to_save and to_save["config_ldap_serv_password"] != "": reboot_required |= 1 @@ -612,9 +614,11 @@ def _configuration_ldap_helper(to_save, gdriveError): return reboot_required, _configuration_result(_('LDAP User Object Filter Has Unmatched Parenthesis'), gdriveError) - if config.config_ldap_cert_path and not os.path.isfile(config.config_ldap_cert_path): + if config.config_ldap_cacert_path and not (os.path.isfile(config.config_ldap_cacert_path) + or os.path.isfile(config.config_ldap_cacert_path) + or os.path.isfile(config.config_ldap_key_path)): return reboot_required, \ - _configuration_result(_('LDAP Certificate Location is not Valid, Please Enter Correct Path'), + _configuration_result(_('LDAP CACertificate, Certificate or Key Location is not Valid, Please Enter Correct Path'), gdriveError) return reboot_required, None diff --git a/cps/config_sql.py b/cps/config_sql.py index 9dcb4528..7363e75c 100644 --- a/cps/config_sql.py +++ b/cps/config_sql.py @@ -108,7 +108,9 @@ class _Settings(_Base): config_ldap_serv_username = Column(String, default='cn=admin,dc=example,dc=org') config_ldap_serv_password = Column(String, default="") config_ldap_encryption = Column(SmallInteger, default=0) + config_ldap_cacert_path = Column(String, default="") config_ldap_cert_path = Column(String, default="") + config_ldap_key_path = Column(String, default="") config_ldap_dn = Column(String, default='dc=example,dc=org') config_ldap_user_object = Column(String, default='uid=%s') config_ldap_openldap = Column(Boolean, default=True) diff --git a/cps/services/simpleldap.py b/cps/services/simpleldap.py index 336b0f2c..4e2ce2d1 100644 --- a/cps/services/simpleldap.py +++ b/cps/services/simpleldap.py @@ -20,7 +20,7 @@ from __future__ import division, print_function, unicode_literals import base64 from flask_simpleldap import LDAP, LDAPException - +from flask_simpleldap import ldap as pyLDAP from .. import constants, logger try: @@ -54,8 +54,16 @@ def init_app(app, config): app.config['LDAP_USERNAME'] = "" app.config['LDAP_PASSWORD'] = base64.b64decode("") if bool(config.config_ldap_cert_path): - app.config['LDAP_REQUIRE_CERT'] = True - app.config['LDAP_CERT_PATH'] = config.config_ldap_cert_path + # app.config['LDAP_REQUIRE_CERT'] = True + # app.config['LDAP_CERT_PATH'] = config.config_ldap_cert_path + app.config['LDAP_CUSTOM_OPTIONS'] = { + pyLDAP.OPT_X_TLS_REQUIRE_CERT: pyLDAP.OPT_X_TLS_DEMAND, + pyLDAP.OPT_X_TLS_CACERTFILE: config.config_ldap_cacert_path, + pyLDAP.OPT_X_TLS_CERTFILE: config.config_ldap_cert_path, + pyLDAP.OPT_X_TLS_KEYFILE: config.config_ldap_key_path, + pyLDAP.OPT_X_TLS_NEWCTX: 0 + } + app.config['LDAP_BASE_DN'] = config.config_ldap_dn app.config['LDAP_USER_OBJECT_FILTER'] = config.config_ldap_user_object @@ -65,8 +73,21 @@ def init_app(app, config): app.config['LDAP_GROUP_OBJECT_FILTER'] = config.config_ldap_group_object_filter app.config['LDAP_GROUP_MEMBERS_FIELD'] = config.config_ldap_group_members_field + try: _ldap.init_app(app) + except ValueError: + if bool(config.config_ldap_cert_path): + app.config['LDAP_CUSTOM_OPTIONS'] = { + pyLDAP.OPT_X_TLS_REQUIRE_CERT: pyLDAP.OPT_X_TLS_DEMAND, + pyLDAP.OPT_X_TLS_CACERTFILE: config.config_ldap_cacert_path, + pyLDAP.OPT_X_TLS_CERTFILE: config.config_ldap_cert_path, + pyLDAP.OPT_X_TLS_KEYFILE: config.config_ldap_key_path, + } + try: + _ldap.init_app(app) + except RuntimeError as e: + log.error(e) except RuntimeError as e: log.error(e) diff --git a/cps/templates/admin.html b/cps/templates/admin.html index 0e495030..e014935b 100644 --- a/cps/templates/admin.html +++ b/cps/templates/admin.html @@ -44,7 +44,6 @@ {% if (config.config_login_type == 1) %}
{{_('Import LDAP Users')}}
- {% endif %} diff --git a/cps/templates/config_edit.html b/cps/templates/config_edit.html index 132db5cf..89e97ee5 100644 --- a/cps/templates/config_edit.html +++ b/cps/templates/config_edit.html @@ -15,8 +15,8 @@
+
- @@ -264,9 +264,26 @@
-
- + +
+ + + + +
+ +
+ + + +
+ +
+ + + +
From c1e3dec9be96826ed80c6eae7f2fbb2c289508bd Mon Sep 17 00:00:00 2001 From: OzzieIsaacs Date: Sat, 21 Nov 2020 17:21:18 +0100 Subject: [PATCH 04/12] Limit max requests version to 2.25 (testing problem) --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 16e5844a..bfd8da7c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ Flask>=1.0.2,<1.2.0 iso-639>=0.4.5,<0.5.0 PyPDF2==1.26.0,<1.27.0 pytz>=2016.10 -requests>=2.11.1,<2.26.0 +requests>=2.11.1,<2.25.0 SQLAlchemy>=1.3.0,<1.4.0 tornado>=4.1,<6.2 Wand>=0.4.4,<0.6.0 From e2be655d74b66e0f50f72fdb52038f3a787c48c8 Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 22 Nov 2020 08:17:00 +0100 Subject: [PATCH 05/12] Update LDAP, fix Windows AD login (#1697) --- cps/services/simpleldap.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/cps/services/simpleldap.py b/cps/services/simpleldap.py index 4e2ce2d1..8d57dc1b 100644 --- a/cps/services/simpleldap.py +++ b/cps/services/simpleldap.py @@ -38,6 +38,7 @@ def init_app(app, config): app.config['LDAP_HOST'] = config.config_ldap_provider_url app.config['LDAP_PORT'] = config.config_ldap_port + app.config['LDAP_CUSTOM_OPTIONS'] = {pyLDAP.OPT_REFERRALS, 0} if config.config_ldap_encryption == 2: app.config['LDAP_SCHEMA'] = 'ldaps' else: @@ -54,15 +55,13 @@ def init_app(app, config): app.config['LDAP_USERNAME'] = "" app.config['LDAP_PASSWORD'] = base64.b64decode("") if bool(config.config_ldap_cert_path): - # app.config['LDAP_REQUIRE_CERT'] = True - # app.config['LDAP_CERT_PATH'] = config.config_ldap_cert_path - app.config['LDAP_CUSTOM_OPTIONS'] = { + app.config['LDAP_CUSTOM_OPTIONS'].update({ pyLDAP.OPT_X_TLS_REQUIRE_CERT: pyLDAP.OPT_X_TLS_DEMAND, pyLDAP.OPT_X_TLS_CACERTFILE: config.config_ldap_cacert_path, pyLDAP.OPT_X_TLS_CERTFILE: config.config_ldap_cert_path, pyLDAP.OPT_X_TLS_KEYFILE: config.config_ldap_key_path, pyLDAP.OPT_X_TLS_NEWCTX: 0 - } + }) app.config['LDAP_BASE_DN'] = config.config_ldap_dn app.config['LDAP_USER_OBJECT_FILTER'] = config.config_ldap_user_object @@ -73,17 +72,11 @@ def init_app(app, config): app.config['LDAP_GROUP_OBJECT_FILTER'] = config.config_ldap_group_object_filter app.config['LDAP_GROUP_MEMBERS_FIELD'] = config.config_ldap_group_members_field - try: _ldap.init_app(app) except ValueError: if bool(config.config_ldap_cert_path): - app.config['LDAP_CUSTOM_OPTIONS'] = { - pyLDAP.OPT_X_TLS_REQUIRE_CERT: pyLDAP.OPT_X_TLS_DEMAND, - pyLDAP.OPT_X_TLS_CACERTFILE: config.config_ldap_cacert_path, - pyLDAP.OPT_X_TLS_CERTFILE: config.config_ldap_cert_path, - pyLDAP.OPT_X_TLS_KEYFILE: config.config_ldap_key_path, - } + app.config['LDAP_CUSTOM_OPTIONS'].pop(pyLDAP.OPT_X_TLS_NEWCTX) try: _ldap.init_app(app) except RuntimeError as e: From a3fadbaa1ad37a4b4b19895d97c86513b575ebd8 Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 22 Nov 2020 08:28:10 +0100 Subject: [PATCH 06/12] Shrinked size of generic cover --- cps/static/generic_cover.jpg | Bin 182574 -> 19501 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/cps/static/generic_cover.jpg b/cps/static/generic_cover.jpg index f5c090c1cb2320d58c2bed56242fe3b7c915d908..67f98248afa3518930d92ce48610b7c693a0c99f 100644 GIT binary patch literal 19501 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 literal 182574 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

pU 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 SPaQ-4{~vAr)p_v`_5T5zu0Trw From b9536812f4d294fe78bd0c90ac9b53ca1e16ccb1 Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 22 Nov 2020 09:09:41 +0100 Subject: [PATCH 07/12] Fix browser caching problem on change cover --- cps/editbooks.py | 17 ++++++++++------- cps/templates/book_edit.html | 2 +- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/cps/editbooks.py b/cps/editbooks.py index 80cb4dc8..ceccf359 100644 --- a/cps/editbooks.py +++ b/cps/editbooks.py @@ -284,7 +284,7 @@ def delete_book(book_id, book_format, jsonResponse): return redirect(url_for('web.index')) -def render_edit_book(book_id): +def render_edit_book(book_id, cover_edited): calibre_db.update_title_sort(config) cc = calibre_db.session.query(db.Custom_Columns).filter(db.Custom_Columns.datatype.notin_(db.cc_exceptions)).all() book = calibre_db.get_filtered_book(book_id) @@ -307,7 +307,7 @@ def render_edit_book(book_id): kepub_possible=None if config.config_converterpath: for file in book.data: - if file.format.lower() in constants.EXTENSIONS_CONVERT: + if file.format.lower() in constants.EXTENSIONS_CONVERT_FROM: valid_source_formats.append(file.format.lower()) if config.config_kepubifypath and 'epub' in [file.format.lower() for file in book.data]: kepub_possible = True @@ -316,7 +316,7 @@ def render_edit_book(book_id): # Determine what formats don't already exist if config.config_converterpath: - allowed_conversion_formats = constants.EXTENSIONS_CONVERT[:] + allowed_conversion_formats = constants.EXTENSIONS_CONVERT_TO[:] for file in book.data: if file.format.lower() in allowed_conversion_formats: allowed_conversion_formats.remove(file.format.lower()) @@ -325,7 +325,7 @@ def render_edit_book(book_id): return render_title_template('book_edit.html', book=book, authors=author_names, cc=cc, title=_(u"edit metadata"), page="editbook", conversion_formats=allowed_conversion_formats, - config=config, + config=config, cover_edit=cover_edited, source_formats=valid_source_formats) @@ -582,9 +582,10 @@ def upload_cover(request, book): @edit_required def edit_book(book_id): modif_date = False + cover_edited = 0 # Show form if request.method != 'POST': - return render_edit_book(book_id) + return render_edit_book(book_id, cover_edited) # create the function for sorting... calibre_db.update_title_sort(config) @@ -599,6 +600,7 @@ def edit_book(book_id): if upload_cover(request, book) is True: book.has_cover = 1 modif_date = True + cover_edited = uuid4() try: to_save = request.form.to_dict() merge_metadata(to_save, meta) @@ -659,6 +661,7 @@ def edit_book(book_id): if result is True: book.has_cover = 1 modif_date = True + cover_edited = uuid4() else: flash(error, category="error") @@ -710,11 +713,11 @@ def edit_book(book_id): return redirect(url_for('web.show_book', book_id=book.id)) else: flash(_("Metadata successfully updated"), category="success") - return render_edit_book(book_id) + return render_edit_book(book_id, cover_edited) else: calibre_db.session.rollback() flash(error, category="error") - return render_edit_book(book_id) + return render_edit_book(book_id, cover_edited) except Exception as e: log.exception(e) calibre_db.session.rollback() diff --git a/cps/templates/book_edit.html b/cps/templates/book_edit.html index 16c02fae..38d2447d 100644 --- a/cps/templates/book_edit.html +++ b/cps/templates/book_edit.html @@ -3,7 +3,7 @@ {% if book %}

- {{ book.title }} + {{ book.title }}
{% if g.user.role_delete_books() %}
From 560ade00b40e7d61cfdf66d071dd6152ee2347af Mon Sep 17 00:00:00 2001 From: Ozzieisaacs Date: Sun, 22 Nov 2020 10:03:10 +0100 Subject: [PATCH 08/12] Fix browser caching problem on change cover --- cps/jinjia.py | 6 ++++++ cps/templates/book_edit.html | 2 +- cps/templates/detail.html | 6 +++--- cps/web.py | 15 ++++++++++++--- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/cps/jinjia.py b/cps/jinjia.py index ebb53a30..688d1fba 100644 --- a/cps/jinjia.py +++ b/cps/jinjia.py @@ -25,6 +25,7 @@ from __future__ import division, print_function, unicode_literals import datetime import mimetypes +from uuid import uuid4 from babel.dates import format_date from flask import Blueprint, request, url_for @@ -127,3 +128,8 @@ def formatseriesindex_filter(series_index): return series_index return 0 +@jinjia.app_template_filter('uuidfilter') +def uuidfilter(var): + return uuid4() + + diff --git a/cps/templates/book_edit.html b/cps/templates/book_edit.html index 16c02fae..003b33f9 100644 --- a/cps/templates/book_edit.html +++ b/cps/templates/book_edit.html @@ -3,7 +3,7 @@ {% if book %}
- {{ book.title }} + {{ book.title }}
{% if g.user.role_delete_books() %}
diff --git a/cps/templates/detail.html b/cps/templates/detail.html index 260ee93a..503d1dbd 100644 --- a/cps/templates/detail.html +++ b/cps/templates/detail.html @@ -4,13 +4,13 @@
- {{ entry.title }} + {{ entry.title }}