Skip to content

Instantly share code, notes, and snippets.

@datvance
Last active December 6, 2020 08:41
Show Gist options
  • Save datvance/6ec82746dfe6d413ad5d15ea854746d3 to your computer and use it in GitHub Desktop.
Save datvance/6ec82746dfe6d413ad5d15ea854746d3 to your computer and use it in GitHub Desktop.
A dump of network traffic between Joplin on iOS and nginx demonstrating a bug where Joplin doesn't send Authorization header (starting around line 338).
# ngrep -W byline port 8000
interface: eth0 (192.168.80.0/255.255.240.0)
filter: ( port 8000 ) and ((ip || ip6) || (vlan && (ip || ip6)))
#######
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #7
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-34217.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #9
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #11
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-99356.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #13
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #15
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 351.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:20:12 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
#
T 192.168.80.2:8000 -> 192.168.0.109:60850 [AP] #16
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 351.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:20:12 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
###
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #19
PUT /webdav/joplin/temp/timeCheck219274.txt HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/plain.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-19965.
Accept: */*.
User-Agent: Joplin/1.0.
Content-Length: 9.
Authorization: Basic JWSDc3scirUTY421xceMh.
Accept-Language: en-us.
.
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #21
timeCheck
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #23
HTTP/1.1 201 Created.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Length: 0.
Location: http://192.168.0.50:8000/webdav/joplin/temp/timeCheck219274.txt.
Connection: keep-alive.
.
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #25
PROPFIND /webdav/joplin/temp/timeCheck219274.txt HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-48902.
depth: 0.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #27
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #29
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 354.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/temp/timeCheck219274.txt</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
##
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #31
PUT /webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/plain.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-96882.
Accept: */*.
User-Agent: Joplin/1.0.
Content-Length: 83.
Authorization: Basic JWSDc3scirUTY421xceMh.
Accept-Language: en-us.
.
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #33
DELETE /webdav/joplin/temp/timeCheck219274.txt HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Length: 0.
Connection: keep-alive.
If-None-Match: JoplinIgnore-3786.
Accept: */*.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Accept-Language: en-us.
Accept-Encoding: gzip, deflate.
.
##
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #35
{"type":"sync","clientType":"mobile","clientId":"78960e1d8a254984a0e1a89960c7884c"}
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #37
HTTP/1.1 204 No Content.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Connection: keep-alive.
.
#
T 192.168.80.2:8000 -> 192.168.0.109:60850 [AP] #38
HTTP/1.1 201 Created.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Length: 0.
Location: http://192.168.0.50:8000/webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json.
Connection: keep-alive.
.
###
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #41
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-38379.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
#
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #42
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-19058.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #44
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #46
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
#
T 192.168.80.2:8000 -> 192.168.0.109:60850 [AP] #47
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 648.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #49
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 648.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
###
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #52
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-92614.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
#
T 192.168.0.109:60851 -> 192.168.80.2:8000 [AP] #53
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60851 [AP] #55
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
####
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #59
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-92614.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #61
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60850 [AP] #63
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:00 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
#####
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #68
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-36606.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
#
T 192.168.80.2:8000 -> 192.168.0.109:60850 [AP] #69
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:04 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
#
T 192.168.0.109:60850 -> 192.168.80.2:8000 [AP] #70
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
########
T 192.168.0.109:60852 -> 192.168.80.2:8000 [AP] #78
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-36606.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.80.2:8000 -> 192.168.0.109:60852 [AP] #80
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:04 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
#
T 192.168.0.109:60852 -> 192.168.80.2:8000 [AP] #81
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
###
T 192.168.0.109:60852 -> 192.168.80.2:8000 [AP] #84
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-26015.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60852 -> 192.168.80.2:8000 [AP] #86
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60852 [AP] #88
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:12 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
########
T 192.168.0.109:60853 -> 192.168.80.2:8000 [AP] #96
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-26015.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.80.2:8000 -> 192.168.0.109:60853 [AP] #98
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:12 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
#
T 192.168.0.109:60853 -> 192.168.80.2:8000 [AP] #99
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
###
T 192.168.0.109:60853 -> 192.168.80.2:8000 [AP] #102
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-75453.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60853 -> 192.168.80.2:8000 [AP] #104
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60853 [AP] #106
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:22 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
########
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #114
PROPFIND /webdav/joplin/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-75453.
depth: 1.
User-Agent: Joplin/1.0.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.80.2:8000 -> 192.168.0.109:60854 [AP] #116
HTTP/1.1 401 Unauthorized.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:22 GMT.
Content-Type: text/html; charset=utf-8.
Content-Length: 195.
Connection: keep-alive.
WWW-Authenticate: Basic realm="Restricted".
.
<html>.
<head><title>401 Authorization Required</title></head>.
<body bgcolor="white">.
<center><h1>401 Authorization Required</h1></center>.
<hr><center>nginx/1.14.2</center>.
</body>.
</html>.
#
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #117
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
###
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #120
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-6443.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #122
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60854 [AP] #124
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:22 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 648.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
##
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #126
PROPFIND /webdav/joplin/locks/ HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Type: text/xml.
Accept: */*.
Accept-Encoding: gzip, deflate.
Connection: keep-alive.
If-None-Match: JoplinIgnore-23231.
depth: 1.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Content-Length: 190.
Accept-Language: en-us.
.
##
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #128
<?xml version="1.0" encoding="UTF-8"?>
...<d:propfind xmlns:d="DAV:">
....<d:prop xmlns:oc="http://owncloud.org/ns">
.....<d:getlastmodified/><d:resourcetype/>
....</d:prop>
...</d:propfind>
##
T 192.168.80.2:8000 -> 192.168.0.109:60854 [AP] #130
HTTP/1.1 207 Multi-Status.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:22 GMT.
Content-Type: text/xml; charset=utf-8.
Content-Length: 648.
Connection: keep-alive.
.
<?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:">
<D:response>
<D:href>/webdav/joplin/locks/</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype><D:collection/></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
<D:response>
<D:href>/webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json</D:href>
<D:propstat>
<D:prop>
<D:getlastmodified>Sun, 06 Dec 2020 07:46:00 GMT</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:prop>
<D:status>HTTP/1.1 200 OK</D:status>
</D:propstat>
</D:response>
</D:multistatus>
##
T 192.168.0.109:60854 -> 192.168.80.2:8000 [AP] #132
DELETE /webdav/joplin/locks/sync_mobile_78960e1d8a254984a0e1a89960c7884c.json HTTP/1.1.
Host: 192.168.0.50:8000.
Content-Length: 0.
Connection: keep-alive.
If-None-Match: JoplinIgnore-71793.
Accept: */*.
User-Agent: Joplin/1.0.
Authorization: Basic JWSDc3scirUTY421xceMh.
Accept-Language: en-us.
Accept-Encoding: gzip, deflate.
.
##
T 192.168.80.2:8000 -> 192.168.0.109:60854 [AP] #134
HTTP/1.1 204 No Content.
Server: nginx/1.14.2.
Date: Sun, 06 Dec 2020 07:46:22 GMT.
Connection: keep-alive.
.
######
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment