This repository was archived by the owner on Apr 25, 2025. It is now read-only.
This repository was archived by the owner on Apr 25, 2025. It is now read-only.
NTLM Auth only performed on initial request #12
Open
Description
Perhaps related with #8
I'm trying to get some monitoring data out of a Citrix Delivery Controller with an OData interface.
The initial instantiation goes well:
conn = OData::Service.open('http://citrixdlc/Citrix/Monitor/OData/v1/Data', {
name: 'ODataDemo',
typhoeus: {
username: 'user',
password: 'pass',
httpauth: :ntlm
}
})
TShark trace:
1 0.000000 10.255.8.8 -> 10.252.7.110 TCP 76 54545 > http [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=3650992 TSecr=0 WS=128
2 0.108825 10.252.7.110 -> 10.255.8.8 TCP 76 http > 54545 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1308 WS=256 SACK_PERM=1 TSval=12369861 TSecr=3650992
3 0.108866 10.255.8.8 -> 10.252.7.110 TCP 68 54545 > http [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=3651019 TSecr=12369861
4 0.109200 10.255.8.8 -> 10.252.7.110 HTTP 292 GET /Citrix/Monitor/OData/v1/Data/$metadata HTTP/1.1 , NTLMSSP_NEGOTIATE
5 0.135973 10.252.7.110 -> 10.255.8.8 HTTP 469 HTTP/1.1 401 Unauthorized , NTLMSSP_CHALLENGE
6 0.136007 10.255.8.8 -> 10.252.7.110 TCP 68 54545 > http [ACK] Seq=225 Ack=402 Win=30336 Len=0 TSval=3651026 TSecr=12369864
7 0.137134 10.255.8.8 -> 10.252.7.110 HTTP 420 GET /Citrix/Monitor/OData/v1/Data/$metadata HTTP/1.1 , NTLMSSP_AUTH, User: \user
8 0.194841 10.252.7.110 -> 10.255.8.8 TCP 1364 [TCP segment of a reassembled PDU]
[...]
45 0.258720 10.252.7.110 -> 10.255.8.8 HTTP/XML 496 HTTP/1.1 200 OK
46 0.258729 10.255.8.8 -> 10.252.7.110 TCP 68 54545 > http [ACK] Seq=577 Ack=33230 Win=105344 Len=0 TSval=3651056 TSecr=12369876
But subsequent queries like
catalog = conn['Catalogs']
catalog.each do |m|
pp m['Id']
end
are sent without indicating the willingness to authenticate:
46 47 3.263014 10.255.8.8 -> 10.252.7.110 HTTP 254 GET /Citrix/Monitor/OData/v1/Data/Catalogs?$inlinecount=allpages&$top=5 HTTP/1.1
47 48 3.294559 10.252.7.110 -> 10.255.8.8 HTTP 237 HTTP/1.1 401 Unauthorized
repeating the same query works again.
Metadata
Metadata
Assignees
Labels
No labels