Forums » Development »
[Solved] trying to use Joplin Android App with lighttpd
Added by Anonymous about 3 years ago
I am writing this into the developer forum as it might be more a feature request or issue report rather then a support question. I have configured webDAV in lighttpd and ran into some trouble with an Android app called Joplin. It is supposed to sync some data via webdav. While searching for a solution or even understand what is going wrong I have found the following issue which might be related: https://github.com/laurent22/joplin/issues/1228. Is the described problem also a problem in lighttpd? Can it be fixed?
best regards
Replies (15)
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss about 3 years ago
You are posting to the developer forum, but did not provide any data to support your conclusion. If you think lighttpd is mishandling If-None-Match as in the (unrelated) mailbox.org or OpenXchange mentioned in https://github.com/laurent22/joplin/issues/1228, then please share the request headers sent by the client and the response headers sent by lighttpd.
Does the resource in question exist? If the resource does not exist, and If-None-Match is sent spuriously by Joplin, there might be a logic bug in the lighttpd test with If-None-Match, so this patch might help (but needs further review):
--- a/src/mod_webdav.c +++ b/src/mod_webdav.c @@ -2268,7 +2268,7 @@ webdav_if_match_or_unmodified_since (request_st * const r, struct stat *st) if (NULL != inm) { if (NULL == st - ? !buffer_eq_slen(inm, CONST_STR_LEN("*")) + ? buffer_eq_slen(inm, CONST_STR_LEN("*")) || (errno != ENOENT && errno != ENOTDIR) : http_etag_matches(etagb, inm->ptr, 1)) return 412; /* Precondition Failed */
RE: trying to use Joplin Android App with lighttpd - Added by Anonymous about 3 years ago
Apologies for posting to the wrong place, I understand now this is a support question and this is the wrong place. All I wanted to know is, if this is a known problem. I am not a developer, I am a user. For me this case is closed as I cannot change anything. Thank you for your help.
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss about 3 years ago
Thank you for your help.
I have not helped. However, you have succeeded in drawing my ire.
If you can not test anything, and you refuse to even try to provide observations of request and response headers (which are easy to obtain for users and non-developers), then, in short, you are refusing to participate and therefore should not have posted at all.
It is baffling that you are so insecure that you can not even attempt to answer my questions, such as "Does the resource in question exist?". Inability to even try to answer a "yes"/"no" question is quite pitiful.
RE: trying to use Joplin Android App with lighttpd - Added by karlitos over 2 years ago
I can confirm, that the error, described in the Joplin Github issue 1228 is not appearing with the lighttpd version 1.4.64.
For those, who can not switch to a recent lighttp version, there may be a workaround in commenting out the line 311 in the WebDavApi.js. You can enable the development tools on the desktop (Help > Toggle Development Tools) to figure out where the files is located.
I still can't get Joplin synchronization running, because of:
Synchronizer: Error: PUT 04975f7542b34d15a6db533d6a3e3239.md: Unknown error 2 (403): <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>403 Forbidden</title> </head> <body> <h1>403 Forbidden</h1> </body> </html>
I enabled the debug output in Joplin, and here is the whole console output
I will also post the the request headers sent by the client and the response headers sent by lighttpd as requested as sonn as I figure out how to capture them
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
I will also post the the request headers sent by the client and the response headers sent by lighttpd as requested as sonn as I figure out how to capture them
Did you read the 6 lines in the link as requested ? Were the explicit lighttpd.conf config directives not clear in those 6 lines?
On the front page of lighttpd wiki is Configuration: Debug Variables
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
Still awaiting request and response headers as seen by lighttpd.
See also https://github.com/laurent22/joplin/issues/3457#issuecomment-665835705
See also Configuration: Debug Variables
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
I confirmed that the patch above in #message-10194 fixes the 412 Precondition Failed response that lighttpd was returning to the random If-None-Match sent by Joplin for a non-existent resource. The patch is part of lighttpd 1.4.64, released Jan 2022.
I had no issues doing an initial synchronization using Joplin against lighttpd 1.4.64 mod_webdav. (I did not see the 403 Forbidden seen by karlitos above.)
RE: trying to use Joplin Android App with lighttpd - Added by karlitos over 2 years ago
Hello and forgive me my late response. Updating lighttpd from Debian unstable repos worked fine for lighttpd but broke openssh-server due to never version of glibc. Solution was an update of openssh-server package, which has to be done via serial console, which took me some time to prepare.
Did you read the 6 lines in the link as requested ? Were the explicit lighttpd.conf config directives not clear in those 6 lines?
Yes and apparently not, since in my first support request you already stated that I am selectively omitting information - I beg your pardon, I don't do this on purpose.
So, I added the lines
debug.log-request-header = "enable" debug.log-response-header = "enable"
to my lighttpd config and also added webdav.log-xml="enable"
to the webdav part of the configuration.
When I run the Joplin synchronization I see following output in the error log:
2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 200 OK 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Type: application/json; charset=utf-8 2022-05-27 21:07:10: (response.c.164) fd:16 resp: ETag: "1997969442" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Last-Modified: Wed, 04 May 2022 13:49:11 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 200 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Cache-Control: max-age=0 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Accept-Ranges: bytes 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (mod_webdav.c.3859) XML-request-body: <?xml version="1.0" encoding="UTF-8"?>\n\t\t\t<d:propfind xmlns:d="DAV:">\n\t\t\t\t<d:prop xmlns:oc="http://owncloud.org/ns">\n\t\t\t\t\t<d:getlastmodified/><d:resourcetype/>\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind> 2022-05-27 21:07:10: (mod_webdav.c.771) XML-response-body: <?xml version="1.0" encoding="utf-8"?>\n<D:multistatus xmlns:D="DAV:" xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">\n<D:response>\n<D:href>/webdav/locks/</D:href>\n<D:propstat>\n<D:prop>\n<D:getlastmodified ns0:dt="dateTime.rfc1123">Fri, 27 May 2022 19:06:39 GMT</D:getlastmodified><D:resourcetype><D:collection/></D:resourcetype></D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n</D:propstat>\n</D:response>\n</D:multistatus>\n 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 207 Multi-status 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Type: application/xml; charset="utf-8" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 430 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 201 Created 2022-05-27 21:07:10: (response.c.164) fd:16 resp: ETag: "1193213858" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 0 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (mod_webdav.c.3859) XML-request-body: <?xml version="1.0" encoding="UTF-8"?>\n\t\t\t<d:propfind xmlns:d="DAV:">\n\t\t\t\t<d:prop xmlns:oc="http://owncloud.org/ns">\n\t\t\t\t\t<d:getlastmodified/><d:resourcetype/>\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind> 2022-05-27 21:07:10: (mod_webdav.c.771) XML-response-body: <?xml version="1.0" encoding="utf-8"?>\n<D:multistatus xmlns:D="DAV:" xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">\n<D:response>\n<D:href>/webdav/locks/</D:href>\n<D:propstat>\n<D:prop>\n<D:getlastmodified ns0:dt="dateTime.rfc1123">Fri, 27 May 2022 19:07:10 GMT</D:getlastmodified><D:resourcetype><D:collection/></D:resourcetype></D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n</D:propstat>\n</D:response>\n<D:response>\n<D:href>/webdav/locks/1_1_058bd161cea54f63a2063c26bb43d608.json</D:href>\n<D:propstat>\n<D:prop>\n<D:getlastmodified ns0:dt="dateTime.rfc1123">Fri, 27 May 2022 19:07:10 GMT</D:getlastmodified><D:resourcetype/></D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n</D:propstat>\n</D:response>\n</D:multistatus>\n 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 207 Multi-status 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Type: application/xml; charset="utf-8" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 724 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 204 No Content 2022-05-27 21:07:10: (response.c.164) fd:16 resp: ETag: "3261005277" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 403 Forbidden 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Type: text/html 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 341 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Connection: close 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (mod_webdav.c.3859) XML-request-body: <?xml version="1.0" encoding="UTF-8"?>\n\t\t\t<d:propfind xmlns:d="DAV:">\n\t\t\t\t<d:prop xmlns:oc="http://owncloud.org/ns">\n\t\t\t\t\t<d:getlastmodified/><d:resourcetype/>\n\t\t\t\t</d:prop>\n\t\t\t</d:propfind> 2022-05-27 21:07:10: (mod_webdav.c.771) XML-response-body: <?xml version="1.0" encoding="utf-8"?>\n<D:multistatus xmlns:D="DAV:" xmlns:ns0="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/">\n<D:response>\n<D:href>/webdav/locks/</D:href>\n<D:propstat>\n<D:prop>\n<D:getlastmodified ns0:dt="dateTime.rfc1123">Fri, 27 May 2022 19:07:10 GMT</D:getlastmodified><D:resourcetype><D:collection/></D:resourcetype></D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n</D:propstat>\n</D:response>\n<D:response>\n<D:href>/webdav/locks/1_1_058bd161cea54f63a2063c26bb43d608.json</D:href>\n<D:propstat>\n<D:prop>\n<D:getlastmodified ns0:dt="dateTime.rfc1123">Fri, 27 May 2022 19:07:10 GMT</D:getlastmodified><D:resourcetype/></D:prop>\n<D:status>HTTP/1.1 200 OK</D:status>\n</D:propstat>\n</D:response>\n</D:multistatus>\n 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 207 Multi-status 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Type: application/xml; charset="utf-8" 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Content-Length: 724 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp: 2022-05-27 21:07:10: (response.c.164) fd:16 resp: HTTP/1.1 204 No Content 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Date: Fri, 27 May 2022 19:07:10 GMT 2022-05-27 21:07:10: (response.c.164) fd:16 resp: Server: lighttpd/1.4.64 2022-05-27 21:07:10: (response.c.164) fd:16 resp:
Are there still any information missing ?
On a side note - I tried also the Obsidian note taking app and it fails syncing with the WebDav server with 403 error code as well.
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
Yes and apparently not, since in my first support request you already stated that I am selectively omitting information - I beg your pardon, I don't do this on purpose.
You must be doing this on purpose. debug.log-request-header = "enable"
will log the request, which is not present in your previous post, which contains only the output from debug.log-response-header = "enable"
and webdav.log-xml="enable"
RE: trying to use Joplin Android App with lighttpd - Added by karlitos over 2 years ago
You must be doing this on purpose.
Oh my ... what purpose would this serve to me?
I can clearly see, that the error.log output does not contain any lines containing request.c (my guess the analogue to request.c lines) even thou my config has the lines
debug.log-request-header = "enable" debug.log-response-header = "enable"
The documentation states, that "The debug output will be written to the error.log.Please keep in mind that you can have only one global error.log." Is the second sentence still valid, may this be the cause for the missing request lines ? I have an extra server.errorlog entry in my $HTTP["host"]
- I was assuming this may be outdated
Adding debug.log-request-handling = "enable"
did not bring any improvements. Removing the line debug.log-response-header = "enable"
causes no request/response lines in the error.log at all. Searching the forum/web did not reveal any hints ... I am completely baffeled and confused
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
I am completely baffeled and confused
https://redmine.lighttpd.net/issues/665#note-32 is accurate. The line on the other wiki page is not (and has been corrected)
The front page of the wiki has the link Configuration: Options which lists server.error-log
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss over 2 years ago
I am completely baffeled and confused
Please read the following very carefully:
How to get Help
RE: trying to use Joplin Android App with lighttpd - Added by karlitos over 2 years ago
gstrauss wrote in RE: trying to use Joplin Android App with lighttpd:
I am completely baffeled and confused
https://redmine.lighttpd.net/issues/665#note-32 is accurate. The line on the other wiki page is not (and has been corrected)
Many thanks for the corrected wiki page, this brought me to looking into the main error log and it probably contains the request headers. When Joplin starts the sync process those line appears in the log
2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: GET /webdav/info.json HTTP/1.1 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:16: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PROPFIND /webdav/locks/ HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: depth: 1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/xml 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-20748 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 190 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PUT /webdav/temp/timeCheck949883.txt HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/plain 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-65126 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 9 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PROPFIND /webdav/temp/timeCheck949883.txt HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: depth: 0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/xml 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-12392 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 190 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: DELETE /webdav/temp/timeCheck949883.txt HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-14514 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PUT /webdav/locks/1_1_058bd161cea54f63a2063c26bb43d608.json HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/plain 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-70609 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 71 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PROPFIND /webdav/locks/ HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: depth: 1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/xml 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-27842 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 190 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PUT /webdav/locks/1_1_058bd161cea54f63a2063c26bb43d608.json HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/plain 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-41119 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 109 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PUT /webdav/a21689dacf334988942d3d939591ab4e.md HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/plain 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-74615 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 686 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: PROPFIND /webdav/locks/ HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: depth: 1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-type: text/xml 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-24855 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 190 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: DELETE /webdav/locks/1_1_058bd161cea54f63a2063c26bb43d608.json HTTP/1.1 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: authorization: Basic a2FybGl0b3M6MDc3NDc5NEtyZXNpbGtv 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: cache-control: no-store 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: if-none-match: JoplinIgnore-35299 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: user-agent: Joplin/1.0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept-encoding: gzip,deflate 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: accept: */* 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: content-length: 0 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Host: pim.karlitos.net 2022-05-28 20:30:17: (connections.c.770) fd:16 rqst: Connection: keep-alive
RE: trying to use Joplin Android App with lighttpd - Added by karlitos over 2 years ago
Please read the following very carefully:
How to get Help
I am using Armbian Bullseye and lighttpd 1.4.64 from Debian Bookwormlighttpd -tt -f /etc/lighttpd/lighttpd.conf
does not print any outputlighttpd -p -f /etc/lighttpd/lighttpd.conf
print following output
The bigger part of the configuration comes from the default lighttpd configuration for Pi-hole web interface which I did not change
As a client I tried Joplin 2.7.15 and Obsidian 0.14.6. Both apps fails the synchronization against the lighttpd Webdav with error code 403. In case of Joplin the displayed error is
Synchronizer: Error: PUT a21689dacf334988942d3d939591ab4e.md: Unknown error 2 (403): <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>403 Forbidden</title> </head> <body> <h1>403 Forbidden</h1> </body> </html>
RE: trying to use Joplin Android App with lighttpd - Added by gstrauss almost 2 years ago
As discussed in detail in https://github.com/laurent22/joplin/issues/6450, the issue was fixed in lighttpd 1.4.64.