github mar10/wsgidav v3.0.0

latest releases: v4.3.3, v4.3.2, v4.3.1...
5 years ago

This release contains BREAKING CHANGES!

  • Improve configuration:

    (See details)
    • Rename some options, e.g. acceptDigest => http_authenticator.accept_digest
    • WsgiDAVApp constructor now assumes default settings. The passed options
      override those.
    • Log format is configurable
    • Remove option dir_browser.enabled (modify middleware_stack instead)
    • CLI supports --server=gevent (gevent must be installed separately)
    • SSL paths are evaluated relative to the config file, if any
    • Refactor middleware stack
      • RequestResolver and WsgiDavDirBrowser are now simple members of middleware_stack
        and not specially treated
      • middleware_stack entries can also be strings or dicts that are
        evaluated to import and instantiate middleware classes. This allows to
        define and configure external middleware in YAML and JSON config files.
    • provider_mapping option now supports configuration of custom providers
    • Windows XP (Microsoft-WebDAV-MiniRedir/5.1.2600) had a bug
      when accessing a share '/dav/': XP sometimes sends digests for '/'.
      In v.2.4 a hotfix was also accept '/' instead of the real share.
      This is now disabled by default, but can be re-enabled with
      hotfixes.winxp_accept_root_share_login: true.
  • Refactor code base:
    • Rename methods according to PEP 8, e.g.
      provider.getResourceInst() => provider.get_resource_inst().
    • Rename methods arguments according to PEP 8, e.g.
      provider.set_last_modified(self, destPath, timeStamp, dryRun)
      => provider.set_last_modified(self, dest_path, time_stamp, dry_run)
    • Enforce Black code style
    • Move some modules to separate packages
    • Use utf-8 directive in source files (-- coding: utf-8 --)
  • Refactor domain_controller and authentication:
    • Renamed environ["http_authenticator.realm"], environ["http_authenticator.user_name"]
      => environ["wsgidav.auth.realm"], environ["wsgidav.auth.user_name"]
    • DC may define environ["wsgidav.auth.roles"] and environ["wsgidav.auth.permissions"]
    • A common base class simplifies implementation of custom DCs.
    • New PAMDomainController
      allows to authenticate system users on Linux and macOS, for example.
    • Digest hash generation is now delegated to DomainControllers. This allows
      to implement DomainControllers that support digest access authentication
      even if plain-text passwords are not accessible, but stored hashes are.
    • Every domain controller now has a config section of its own. E.g.
      the user_mapping option for SimpleDomainController was moved to
      simple_dc.user_mapping.
  • SimpleDomainController no longer allows anonymous access by default.
    It is now required to pass simple_dc.user_mapping: "share1": True.
    Also a new pseudo-share "*" can be used to define defaults.
    A new command line option --auth allows quick-configuration of DCs
  • Refactor WsgiDirBrowser:
    • Use Jinja2 and load static assets through own WsgiDAV provider
    • Move to wsgidav.dir_browser package
    • Option 'dir_browser.ms_sharepoint_support' replaces ms_sharepoint_plugin and ms_sharepoint_urls
  • Automated Docker builds
  • MSI installer
    • uses Cheroot/6.4 Python 3.6
    • Includes NTDomainController
  • #112: Added limited support for Microsoft's Win32LastModified property.
  • Fix #123: HEAD request on DirBrowser folder
  • Fix #141: issue when 'sys.stdout' is none

Don't miss a new wsgidav release

NewReleases is sending notifications on new releases.