Re: [users@httpd] Strange WebDAV behavior on MKCOL for 1 client only

2017-08-07 Thread Todd Blum
OK, thanks.

Note that this same client works OK when it connects to Apache
2.4.6/OpenSSL/1.0.1e
running on Linux.  The HTTP 400 uri mismatch only happens when it connects
to Apache 2.4.4/OpenSSL/1.0.1e on Windows.  What would explain the
difference?

Todd

On Mon, Aug 7, 2017 at 11:01 PM, Yehuda Katz  wrote:

> It looks like a problem with the implementation or configuration in the
> client.
> The actual source of your 400 error is this:
> [auth_digest:error] [pid 3880:tid 1132] [client yyy.yyy.yyy.yy:61411]
> AH01786: uri mismatch -  does not
> match request-uri 
>
> This is because your Authorization header has - as the error message
> clearly states - a mismatch.
>
> On your working connection:
> Authorization: [...] uri="/webdav/dir1/dir2/dir3/dir4/dir5/dir6/", [...]
>
> On your broken connection:
> Authorization: [...] uri="/webdav/dir1/dir2/dir3/dir4/dir5/dir6", [...]
>
> Note the missing trailing slash in your authorization header.
> I suspect if you figure out why you are getting that, everything will
> start working.
>
> - Y
>
> On Mon, Aug 7, 2017 at 6:22 PM, Todd Blum  wrote:
>
>> OK, here is the MKCOL of a working client:
>>
>> 
>> _
>>
>> [Mon Aug 07 14:47:04.258261 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 48 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(100): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): MKCOL /webdav/dir1/dir2/dir3/dir4/dir5/dir6/
>> HTTP/1.1\r\n
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 40 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(100): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): User-Agent: cadaver/0.23.3 neon/0.30.1\r\n
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 16 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(100): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): Connection: TE\r\n
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 14 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(100): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): TE: trailers\r\n
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 35 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(100): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): Host: server.hostname.com\r\n
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(135): [client xxx.xxx.xxx.xx:45537] mod_dumpio: dumpio_in
>> [getline-blocking] 0 readbytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(58): [client xxx.xxx.xxx.xx:45537] mod_dumpio:  dumpio_in
>> (data-TRANSIENT): 294 bytes
>> [Mon Aug 07 14:47:04.329225 2017] [dumpio:trace7] [pid 3104:tid 1132]
>> mod_dumpio.c(10

Re: [users@httpd] Strange WebDAV behavior on MKCOL for 1 client only

2017-08-07 Thread Todd Blum
orization: Digest username="username",
realm="DAV-upload", qop="auth", algorithm="MD5",
uri="/webdav/dir1/dir2/dir3/dir4/dir5/dir6",
nonce="1sn6zjBWBQA=124cb4760097cff44f4c97d8c9945a5a920a8c05", nc=0001,
cnonce="ab08070e302202030f6049540f604955",
response="64efa6e2ced2ae1ab4d9e5f64a60fcf8"\r\n
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(135): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_in
[getline-blocking] 0 readbytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_in
(data-TRANSIENT): 35 bytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(100): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_in
(data-TRANSIENT): Host: server.hostname.com\r\n
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(135): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_in
[getline-blocking] 0 readbytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_in
(data-TRANSIENT): 2 bytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(100): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_in
(data-TRANSIENT): \r\n
[Mon Aug 07 14:48:34.517391 2017] [auth_digest:error] [pid 3880:tid 1132]
[client yyy.yyy.yyy.yy:61411] AH01786: uri mismatch -
 does not match request-uri


[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(164): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_out
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(data-HEAP): 195 bytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(100): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(data-HEAP): HTTP/1.1 400 Bad Request\r\nDate: Mon, 07 Aug 2017 21:48:34
GMT\r\nServer: Apache/2.4.4 (Win64) OpenSSL/1.0.1e\r\nContent-Length:
226\r\nConnection: close\r\nContent-Type: text/html;
charset=iso-8859-1\r\n\r\n
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(164): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_out
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(data-HEAP): 226 bytes
[Mon Aug 07 14:48:34.517391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(100): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(data-HEAP): \n\n400 Bad
Request\n\nBad Request\nYour browser sent
a request that this server could not understand.\n\n\n
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(metadata-EOS): 0 bytes
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(164): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_out
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(metadata-EOR): 0 bytes
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(164): [client yyy.yyy.yyy.yy:61411] mod_dumpio: dumpio_out
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(metadata-FLUSH): 0 bytes
[Mon Aug 07 14:48:34.518391 2017] [dumpio:trace7] [pid 3880:tid 1132]
mod_dumpio.c(58): [client yyy.yyy.yyy.yy:61411] mod_dumpio:  dumpio_out
(metadata-EOC): 0 bytes
_

Todd

On Mon, Aug 7, 2017 at 5:07 PM, Yehuda Katz  wrote:

> Try mod_dumpio or a packet capture to see what else is different about the
> request.
>
> - Y
>
> On Mon, Aug 7, 2017 at 3:53 PM, Todd Blum  wrote:
>
>> Hello,
>>
>> I have Apache mod_dav running on Windows 2012.
>>
>> When a webDAV enabled application connects and tries to MKCOL on a
>> directory that already exists, it receives an HTTP 400:
>>
>> 
>> 
>>
>> yyy.yyy.yyy.yy - username [07/Aug/2017:11:00:03 -0700] "MKCOL
>> /webdav/dir1/dir2/dir3/dir4/dir5/dir6/ HTTP/1.1" 400 226
>> 
>> 
>>
>>
>> However, all other clients are receiving an HTTP 405 when they issue a
>> MKCOL for a directory that already exists:
>>
>> 
>> 
>>
>> xxx.xxx.xxx.xx - username [07/Aug/2017:12:32:16 -0700] "MKCOL
>> /webdav/dir1/dir2/dir3/dir4/dir5/dir6/ HTTP/1.1" 405 253
>> 
>> 
>>
>>
>> The application is dependent on receiving a 405 in this scenario, has
>> anyone else had this situation before?
>>
>>
>> Todd
>>
>>
>


[users@httpd] Strange WebDAV behavior on MKCOL for 1 client only

2017-08-07 Thread Todd Blum
Hello,

I have Apache mod_dav running on Windows 2012.

When a webDAV enabled application connects and tries to MKCOL on a
directory that already exists, it receives an HTTP 400:



yyy.yyy.yyy.yy - username [07/Aug/2017:11:00:03 -0700] "MKCOL
/webdav/dir1/dir2/dir3/dir4/dir5/dir6/ HTTP/1.1" 400 226



However, all other clients are receiving an HTTP 405 when they issue a
MKCOL for a directory that already exists:



xxx.xxx.xxx.xx - username [07/Aug/2017:12:32:16 -0700] "MKCOL
/webdav/dir1/dir2/dir3/dir4/dir5/dir6/ HTTP/1.1" 405 253



The application is dependent on receiving a 405 in this scenario, has
anyone else had this situation before?


Todd


[users@httpd] Getting 'Fatal Handshake Failure' with WebDAV client

2017-07-25 Thread Todd Blum

Hello,

I've set up Apache 2.4.27 with mod_dav, running on Windows 2012 on an 
Apache Haus build.  All of my WebDAV clients authenticate OK to it, except 
for one.


When this WebDAV client connects to Apache 2.4.27 built with OpenSSL 
1.1.0f, Wireshark captures the following packet right after 'Client 
Hello':


'Alert (level: Fatal, Description: Handshake Failure)'

Wireshark doesn't show any 'Handshake Failure' packets when it connects 
to Apache 2.4.27/OpenSSL 1.0.2l, but it doesn't establish an SSL/TLS 
session to that either.


The 'Client Hello' packet for the client is as follows:
___

No. TimeSourceDestination 
Length Protocol Src Prt Dst Prt Info
  4 2017-07-25 14:58:26.128 xxx.xxx.xxx.xxxxx.xxx.xxx.xx 
180SSLv262572   443 Client Hello


Frame 4: 180 bytes on wire (1440 bits), 92 bytes captured (736 bits) on 
interface 0

Null/Loopback
Internet Protocol Version 4, Src: xxx.xxx.xxx.xx (xxx.xxx.xxx.xx), Dst: 
xxx.xxx.xxx.xx (xxx.xxx.xxx.xx)
Transmission Control Protocol, Src Port: 62572 (62572), Dst Port: 443 
(443), Seq: 1, Ack: 1, Len: 48

Secure Sockets Layer
SSLv2 Record Layer: Client Hello
[Version: SSL 2.0 (0x0002)]
Length: 46
Handshake Message Type: Client Hello (1)
Version: SSL 3.0 (0x0300)
Cipher Spec Length: 21
Session ID Length: 0
Challenge Length: 16
Cipher Specs (7 specs)
Cipher Spec: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x0a)
Cipher Spec: TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (0x13)
Cipher Spec: TLS_RSA_WITH_RC4_128_SHA (0x05)
Cipher Spec: TLS_RSA_WITH_RC4_128_MD5 (0x04)
Cipher Spec: SSL2_RC4_128_WITH_MD5 (0x010080)
Cipher Spec: SSL2_DES_192_EDE3_CBC_WITH_MD5 (0x0700c0)
Cipher Spec: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0xff)
Challenge
___


I've even configured httpd-ssl.conf with the following with no luck:

# old configuration, tweak to your needs
SSLProtocol all
SSLCipherSuite 
ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:DES-CBC3-SHA:HIGH:SEED:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!RSAPSK:!aDH:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!SRP

SSLHonorCipherOrder on
SSLCompression  off
SSLSessionTickets   off

Has anyone else encountered something like this?

Todd

--
Todd Blum
http://www.toddblum.org


-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org



Re: [users@httpd] Migrate webDAV on IIS to Apache?

2017-07-22 Thread Todd Blum
Hi Marat,

Thanks, I honestly didn't know.

Is Apache the only open source WebDAV server for Windows or are there
others?

Todd

On Jul 22, 2017 1:11 AM, "Marat Khalili"  wrote:

Hello,

WebDAV is just file access protocol, and Apache supports. Neither server
holds any data, it just rests in the filesystem or can be managed by some
application. Depending on what you're accessing you can even run Apache and
IIS in parallel. What exactly you're afraid to lose?
-- 

With Best Regards,
Marat Khalili

On July 22, 2017 12:06:43 AM GMT+03:00, Todd Blum  wrote:

> Hello,
>
> I'm currently have IIS set up to run webDAV.  Is it possible to migrate to
> webDAV on Apache instead without losing any data?
>
> Todd
>
> --
> Todd Blum
> http://www.toddblum.org
>
>
> --
>
> To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
> For additional commands, e-mail: users-h...@httpd.apache.org
>
>


[users@httpd] Migrate webDAV on IIS to Apache?

2017-07-21 Thread Todd Blum

Hello,

I'm currently have IIS set up to run webDAV.  Is it possible to migrate to 
webDAV on Apache instead without losing any data?


Todd

--
Todd Blum
http://www.toddblum.org


-
To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org
For additional commands, e-mail: users-h...@httpd.apache.org