forked from mhaller/qwebdavlib
-
Notifications
You must be signed in to change notification settings - Fork 7
Qt library for WebDAV with support for HTTP/HTTPS
License
fredldotme/qwebdavlib
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
QWebDAV Library (qwebdavlib) version 1.0
is a library for Qt4, Qt5 and Qt6 and provides access to WebDAV servers.
WebDAV is an extension for HTTP, so that a Web server can
provide write access in addition to read access. The WebDAV
standard provides the essential functionalities to access
a Web server like a file server.
More information
https://en.wikipedia.org/wiki/WebDAV
WebDAV standard as RFC4918:
"HTTP Extensions for Web Distributed Authoring and
Versioning (WebDAV)" from June 2007
https://datatracker.ietf.org/doc/html/rfc4918
This library has been derived from previous works
QWebdav plugin for MeeDav (LGPL v2.1)
http://projects.developer.nokia.com/meedav/
QWebdav - WebDAV lib for Qt4 (LGPL v2.1)
http://xf.iksaif.net/dev/qwebdav.html
Tested WebDAV server:
* Apache HTTP Server with mod_dav
Apache/2.2.14, https://httpd.apache.org/
* Microsoft Internet Information Service 7.5 (MS IIS 7.5)
as used by Windows 7 and Windows Server 2008 R2
* SabreDAV - WebDAV framework for PHP
SabreDAV 1.6.1-stable, https://sabre.io/dav/
QWebdav Library supports the following authentication methods,
depending on the Qt version it is built with:
* Basic (Qt4, Qt5, Qt6)
https://en.wikipedia.org/wiki/Basic_access_authentication
* NTLM version 1 (older Windows challenge-response authentication) (Qt4)
https://en.wikipedia.org/wiki/NTLM
* NTLM version 2 (Qt5, Qt6)
https://en.wikipedia.org/wiki/NTLM#NTLMv2
* Digest-MD5 (Qt4, Qt5, Qt6)
https://en.wikipedia.org/wiki/Digest_access_authentication
* SPNEGO (Qt5, Qt6)
https://en.wikipedia.org/wiki/SPNEGO
More information on authentication:
* Qt5
https://doc.qt.io/archives/qt-5.15/qauthenticator.html
* Qt6
https://doc.qt.io/qt-6/qauthenticator.html
## Building QWebDAV
The library can be built with your choice of meta-buildsystem:
CMake or qmake. There are minor differences in the resulting
installed files:
- CMake build installs only one copy of the headers, and installs
both CMake and pkgconfig files for finding the library.
The SOVERSION is 1, which can be linked as .so, .so.1 and .so.1.0.0.
- qmake build installs one copy of the headers per Qt version and
installs only pkgconfig files. The SOVERSION is 1, which can
be linked as .so, .so.1, .so.1.0 and .so.1.0.0.
An example program is also built, but not installed.
## Using QWebDAV from your Project
If your project uses CMake as a meta-buildsystem, the `qwebdavlibExample/`
directory contains an example of how to do so. Use `find_package(QWebdav)`
as shown in the example. You can also use CMake's `pkgconfig` support,
also shown in the example. If your project uses another buildsystem,
use `pkgconfig` to find QWebDAV.
To use this example as an independent build, run
```
cmake -S qwebdavlibExample -B build-example
make -C build-example
```
(optionally, use a different `-B` build directory, or a different
build-system generator like `-G Ninja`)
About
Qt library for WebDAV with support for HTTP/HTTPS
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C++ 83.1%
- CMake 10.6%
- QMake 3.4%
- C 2.9%