File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test2030
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Jun 3 10:01:16 2020 UTC (5 years ago) by misho
Branches: curl, MAIN
CVS tags: v7_70_0p4, HEAD
curl

    1: <testcase>
    2: <info>
    3: <keywords>
    4: HTTP
    5: HTTP GET
    6: HTTP Digest auth
    7: HTTP NTLM auth
    8: </keywords>
    9: </info>
   10: # Server-side
   11: <reply>
   12: 
   13: <!-- Alternate the order that Digest and NTLM headers appear in responses to
   14: ensure that the order doesn't matter. -->
   15: 
   16: <!--
   17: 
   18:  Explanation for the duplicate 400 requests:
   19: 
   20:  libcurl doesn't detect that a given Digest password is wrong already on the
   21:  first 401 response (as the data400 gives). libcurl will instead consider the
   22:  new response just as a duplicate and it sends another and detects the auth
   23:  problem on the second 401 response!
   24: 
   25: -->
   26: 
   27: 
   28: <!-- First request has NTLM auth, wrong password -->
   29: <data100>
   30: HTTP/1.1 401 Need Digest or NTLM auth
   31: Server: Microsoft-IIS/5.0
   32: Content-Type: text/html; charset=iso-8859-1
   33: Content-Length: 27
   34: WWW-Authenticate: NTLM
   35: WWW-Authenticate: Digest realm="testrealm", nonce="1"
   36: 
   37: This is not the real page!
   38: </data100>
   39: 
   40: <data1101>
   41: HTTP/1.1 401 NTLM intermediate
   42: Server: Microsoft-IIS/5.0
   43: Content-Type: text/html; charset=iso-8859-1
   44: Content-Length: 33
   45: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
   46: 
   47: This is still not the real page!
   48: </data1101>
   49: 
   50: <data1102>
   51: HTTP/1.1 401 Sorry wrong password
   52: Server: Microsoft-IIS/5.0
   53: Content-Type: text/html; charset=iso-8859-1
   54: Content-Length: 29
   55: WWW-Authenticate: Digest realm="testrealm", nonce="2"
   56: WWW-Authenticate: NTLM
   57: 
   58: This is a bad password page!
   59: </data1102>
   60: 
   61: <!-- Second request has Digest auth, right password -->
   62: <data200>
   63: HTTP/1.1 401 Need Digest or NTLM auth (2)
   64: Server: Microsoft-IIS/5.0
   65: Content-Type: text/html; charset=iso-8859-1
   66: Content-Length: 27
   67: WWW-Authenticate: NTLM
   68: WWW-Authenticate: Digest realm="testrealm", nonce="3"
   69: 
   70: This is not the real page!
   71: </data200>
   72: 
   73: <data1200>
   74: HTTP/1.1 200 Things are fine in server land
   75: Server: Microsoft-IIS/5.0
   76: Content-Type: text/html; charset=iso-8859-1
   77: Content-Length: 32
   78: 
   79: Finally, this is the real page!
   80: </data1200>
   81: 
   82: <!-- Third request has NTLM auth, wrong password -->
   83: <data300>
   84: HTTP/1.1 401 Need Digest or NTLM auth (3)
   85: Server: Microsoft-IIS/5.0
   86: Content-Type: text/html; charset=iso-8859-1
   87: Content-Length: 27
   88: WWW-Authenticate: Digest realm="testrealm", nonce="4"
   89: WWW-Authenticate: NTLM
   90: 
   91: This is not the real page!
   92: </data300>
   93: 
   94: <data1301>
   95: HTTP/1.1 401 NTLM intermediate (2)
   96: Server: Microsoft-IIS/5.0
   97: Content-Type: text/html; charset=iso-8859-1
   98: Content-Length: 33
   99: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  100: 
  101: This is still not the real page!
  102: </data1301>
  103: 
  104: <data1302>
  105: HTTP/1.1 401 Sorry wrong password (2)
  106: Server: Microsoft-IIS/5.0
  107: Content-Type: text/html; charset=iso-8859-1
  108: Content-Length: 29
  109: WWW-Authenticate: NTLM
  110: WWW-Authenticate: Digest realm="testrealm", nonce="5"
  111: 
  112: This is a bad password page!
  113: </data1302>
  114: 
  115: <!-- Fourth request has Digest auth, wrong password -->
  116: <data400>
  117: HTTP/1.1 401 Need Digest or NTLM auth (4)
  118: Server: Microsoft-IIS/5.0
  119: Content-Type: text/html; charset=iso-8859-1
  120: Content-Length: 27
  121: WWW-Authenticate: Digest realm="testrealm", nonce="6"
  122: WWW-Authenticate: NTLM
  123: 
  124: This is not the real page!
  125: </data400>
  126: 
  127: <data1400>
  128: HTTP/1.1 401 Sorry wrong password (3)
  129: Server: Microsoft-IIS/5.0
  130: Content-Type: text/html; charset=iso-8859-1
  131: Content-Length: 29
  132: WWW-Authenticate: NTLM
  133: WWW-Authenticate: Digest realm="testrealm", nonce="7"
  134: 
  135: This is a bad password page!
  136: </data1400>
  137: 
  138: <!-- Fifth request has Digest auth, right password -->
  139: <data500>
  140: HTTP/1.1 401 Need Digest or NTLM auth (5)
  141: Server: Microsoft-IIS/5.0
  142: Content-Type: text/html; charset=iso-8859-1
  143: Content-Length: 27
  144: WWW-Authenticate: Digest realm="testrealm", nonce="8"
  145: WWW-Authenticate: NTLM
  146: 
  147: This is not the real page!
  148: </data500>
  149: 
  150: <data1500>
  151: HTTP/1.1 200 Things are fine in server land (2)
  152: Server: Microsoft-IIS/5.0
  153: Content-Type: text/html; charset=iso-8859-1
  154: Content-Length: 32
  155: 
  156: Finally, this is the real page!
  157: </data1500>
  158: 
  159: <datacheck>
  160: HTTP/1.1 401 NTLM intermediate
  161: Server: Microsoft-IIS/5.0
  162: Content-Type: text/html; charset=iso-8859-1
  163: Content-Length: 33
  164: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  165: 
  166: HTTP/1.1 401 Sorry wrong password
  167: Server: Microsoft-IIS/5.0
  168: Content-Type: text/html; charset=iso-8859-1
  169: Content-Length: 29
  170: WWW-Authenticate: Digest realm="testrealm", nonce="2"
  171: WWW-Authenticate: NTLM
  172: 
  173: This is a bad password page!
  174: HTTP/1.1 200 Things are fine in server land
  175: Server: Microsoft-IIS/5.0
  176: Content-Type: text/html; charset=iso-8859-1
  177: Content-Length: 32
  178: 
  179: Finally, this is the real page!
  180: HTTP/1.1 401 NTLM intermediate (2)
  181: Server: Microsoft-IIS/5.0
  182: Content-Type: text/html; charset=iso-8859-1
  183: Content-Length: 33
  184: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  185: 
  186: HTTP/1.1 401 Sorry wrong password (2)
  187: Server: Microsoft-IIS/5.0
  188: Content-Type: text/html; charset=iso-8859-1
  189: Content-Length: 29
  190: WWW-Authenticate: NTLM
  191: WWW-Authenticate: Digest realm="testrealm", nonce="5"
  192: 
  193: This is a bad password page!
  194: HTTP/1.1 401 Sorry wrong password (3)
  195: Server: Microsoft-IIS/5.0
  196: Content-Type: text/html; charset=iso-8859-1
  197: Content-Length: 29
  198: WWW-Authenticate: NTLM
  199: WWW-Authenticate: Digest realm="testrealm", nonce="7"
  200: 
  201: HTTP/1.1 401 Sorry wrong password (3)
  202: Server: Microsoft-IIS/5.0
  203: Content-Type: text/html; charset=iso-8859-1
  204: Content-Length: 29
  205: WWW-Authenticate: NTLM
  206: WWW-Authenticate: Digest realm="testrealm", nonce="7"
  207: 
  208: This is a bad password page!
  209: HTTP/1.1 200 Things are fine in server land (2)
  210: Server: Microsoft-IIS/5.0
  211: Content-Type: text/html; charset=iso-8859-1
  212: Content-Length: 32
  213: 
  214: Finally, this is the real page!
  215: </datacheck>
  216: 
  217: </reply>
  218: 
  219: # Client-side
  220: <client>
  221: <features>
  222: NTLM
  223: SSL
  224: !SSPI
  225: </features>
  226: <server>
  227: http
  228: </server>
  229: <tool>
  230: libauthretry
  231: </tool>
  232: 
  233:  <name>
  234: HTTP authorization retry (NTLM switching to Digest)
  235:  </name>
  236:  <setenv>
  237: # we force our own host name, in order to make the test machine independent
  238: CURL_GETHOSTNAME=curlhost
  239: # we try to use the LD_PRELOAD hack, if not a debug build
  240: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
  241:  </setenv>
  242:  <command>
  243: http://%HOSTIP:%HTTPPORT/2030 ntlm digest
  244: </command>
  245: <precheck>
  246: chkhostname curlhost
  247: </precheck>
  248: </client>
  249: 
  250: # Verify data after the test has been "shot"
  251: <verify>
  252: <strip>
  253: ^User-Agent:.*
  254: </strip>
  255: <protocol>
  256: GET /20300100 HTTP/1.1
  257: Host: %HOSTIP:%HTTPPORT
  258: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  259: Accept: */*
  260: 
  261: GET /20300100 HTTP/1.1
  262: Host: %HOSTIP:%HTTPPORT
  263: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
  264: Accept: */*
  265: 
  266: GET /20300200 HTTP/1.1
  267: Host: %HOSTIP:%HTTPPORT
  268: Authorization: Digest username="testuser", realm="testrealm", nonce="2", uri="/20300200", response="2f2d784ba53a0a307758a90e98d25c27"
  269: Accept: */*
  270: 
  271: GET /20300300 HTTP/1.1
  272: Host: %HOSTIP:%HTTPPORT
  273: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  274: Accept: */*
  275: 
  276: GET /20300300 HTTP/1.1
  277: Host: %HOSTIP:%HTTPPORT
  278: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
  279: Accept: */*
  280: 
  281: GET /20300400 HTTP/1.1
  282: Host: %HOSTIP:%HTTPPORT
  283: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
  284: Accept: */*
  285: 
  286: GET /20300400 HTTP/1.1
  287: Host: %HOSTIP:%HTTPPORT
  288: Authorization: Digest username="testuser", realm="testrealm", nonce="5", uri="/20300400", response="d6262e9147db08c62ff2f53b515861e8"
  289: Accept: */*
  290: 
  291: GET /20300500 HTTP/1.1
  292: Host: %HOSTIP:%HTTPPORT
  293: Authorization: Digest username="testuser", realm="testrealm", nonce="7", uri="/20300500", response="198757e61163a779cf24ed4c49c1ad7d"
  294: Accept: */*
  295: 
  296: </protocol>
  297: </verify>
  298: </testcase>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>