File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / tests / data / test2028
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: <!-- First request has Digest auth, wrong password -->
   17: <data100>
   18: HTTP/1.1 401 Need Digest or NTLM auth
   19: Server: Microsoft-IIS/5.0
   20: Content-Type: text/html; charset=iso-8859-1
   21: Content-Length: 27
   22: WWW-Authenticate: NTLM
   23: WWW-Authenticate: Digest realm="testrealm", nonce="1"
   24: 
   25: This is not the real page!
   26: </data100>
   27: 
   28: <data1100>
   29: HTTP/1.1 401 Sorry wrong password
   30: Server: Microsoft-IIS/5.0
   31: Content-Type: text/html; charset=iso-8859-1
   32: Content-Length: 29
   33: WWW-Authenticate: Digest realm="testrealm", nonce="2"
   34: WWW-Authenticate: NTLM
   35: 
   36: This is a bad password page!
   37: </data1100>
   38: 
   39: <!-- Second request has NTLM auth, right password -->
   40: <data200>
   41: HTTP/1.1 401 Need Digest or NTLM auth (2)
   42: Server: Microsoft-IIS/5.0
   43: Content-Type: text/html; charset=iso-8859-1
   44: Content-Length: 27
   45: WWW-Authenticate: NTLM
   46: WWW-Authenticate: Digest realm="testrealm", nonce="3"
   47: 
   48: This is not the real page!
   49: </data200>
   50: 
   51: <data1201>
   52: HTTP/1.1 401 NTLM intermediate
   53: Server: Microsoft-IIS/5.0
   54: Content-Type: text/html; charset=iso-8859-1
   55: Content-Length: 33
   56: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
   57: 
   58: This is still not the real page!
   59: </data1201>
   60: 
   61: <data1202>
   62: HTTP/1.1 200 Things are fine in server land
   63: Server: Microsoft-IIS/5.0
   64: Content-Type: text/html; charset=iso-8859-1
   65: Content-Length: 32
   66: 
   67: Finally, this is the real page!
   68: </data1202>
   69: 
   70: <!-- Third request has Digest auth, wrong password -->
   71: <data300>
   72: HTTP/1.1 401 Need Digest or NTLM auth (3)
   73: Server: Microsoft-IIS/5.0
   74: Content-Type: text/html; charset=iso-8859-1
   75: Content-Length: 27
   76: WWW-Authenticate: Digest realm="testrealm", nonce="4"
   77: WWW-Authenticate: NTLM
   78: 
   79: This is not the real page!
   80: </data300>
   81: 
   82: <data1300>
   83: HTTP/1.1 401 Sorry wrong password (2)
   84: Server: Microsoft-IIS/5.0
   85: Content-Type: text/html; charset=iso-8859-1
   86: Content-Length: 29
   87: WWW-Authenticate: NTLM
   88: WWW-Authenticate: Digest realm="testrealm", nonce="5"
   89: 
   90: This is a bad password page!
   91: </data1300>
   92: 
   93: <!-- Fourth request has NTLM auth, wrong password -->
   94: <data400>
   95: HTTP/1.1 401 Need Digest or NTLM auth (4)
   96: Server: Microsoft-IIS/5.0
   97: Content-Type: text/html; charset=iso-8859-1
   98: Content-Length: 27
   99: WWW-Authenticate: Digest realm="testrealm", nonce="6"
  100: WWW-Authenticate: NTLM
  101: 
  102: This is not the real page!
  103: </data400>
  104: 
  105: <data1401>
  106: HTTP/1.1 401 NTLM intermediate (2)
  107: Server: Microsoft-IIS/5.0
  108: Content-Type: text/html; charset=iso-8859-1
  109: Content-Length: 33
  110: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  111: 
  112: This is still not the real page!
  113: </data1401>
  114: 
  115: <data1402>
  116: HTTP/1.1 401 Sorry wrong password (3)
  117: Server: Microsoft-IIS/5.0
  118: Content-Type: text/html; charset=iso-8859-1
  119: Content-Length: 29
  120: WWW-Authenticate: NTLM
  121: WWW-Authenticate: Digest realm="testrealm", nonce="7"
  122: 
  123: This is a bad password page!
  124: </data1402>
  125: 
  126: <!-- Fifth request has NTLM auth, right password -->
  127: <data500>
  128: HTTP/1.1 401 Need Digest or NTLM auth (5)
  129: Server: Microsoft-IIS/5.0
  130: Content-Type: text/html; charset=iso-8859-1
  131: Content-Length: 27
  132: WWW-Authenticate: Digest realm="testrealm", nonce="8"
  133: WWW-Authenticate: NTLM
  134: 
  135: This is not the real page!
  136: </data500>
  137: 
  138: <data1501>
  139: HTTP/1.1 401 NTLM intermediate (3)
  140: Server: Microsoft-IIS/5.0
  141: Content-Type: text/html; charset=iso-8859-1
  142: Content-Length: 33
  143: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  144: 
  145: This is still not the real page!
  146: </data1501>
  147: 
  148: <data1502>
  149: HTTP/1.1 200 Things are fine in server land (2)
  150: Server: Microsoft-IIS/5.0
  151: Content-Type: text/html; charset=iso-8859-1
  152: Content-Length: 32
  153: 
  154: Finally, this is the real page!
  155: </data1502>
  156: 
  157: <datacheck>
  158: HTTP/1.1 401 Need Digest or NTLM auth
  159: Server: Microsoft-IIS/5.0
  160: Content-Type: text/html; charset=iso-8859-1
  161: Content-Length: 27
  162: WWW-Authenticate: NTLM
  163: WWW-Authenticate: Digest realm="testrealm", nonce="1"
  164: 
  165: HTTP/1.1 401 Sorry wrong password
  166: Server: Microsoft-IIS/5.0
  167: Content-Type: text/html; charset=iso-8859-1
  168: Content-Length: 29
  169: WWW-Authenticate: Digest realm="testrealm", nonce="2"
  170: WWW-Authenticate: NTLM
  171: 
  172: This is a bad password page!
  173: HTTP/1.1 401 NTLM intermediate
  174: Server: Microsoft-IIS/5.0
  175: Content-Type: text/html; charset=iso-8859-1
  176: Content-Length: 33
  177: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  178: 
  179: HTTP/1.1 200 Things are fine in server land
  180: Server: Microsoft-IIS/5.0
  181: Content-Type: text/html; charset=iso-8859-1
  182: Content-Length: 32
  183: 
  184: Finally, this is the real page!
  185: HTTP/1.1 401 Need Digest or NTLM auth (3)
  186: Server: Microsoft-IIS/5.0
  187: Content-Type: text/html; charset=iso-8859-1
  188: Content-Length: 27
  189: WWW-Authenticate: Digest realm="testrealm", nonce="4"
  190: WWW-Authenticate: NTLM
  191: 
  192: HTTP/1.1 401 Sorry wrong password (2)
  193: Server: Microsoft-IIS/5.0
  194: Content-Type: text/html; charset=iso-8859-1
  195: Content-Length: 29
  196: WWW-Authenticate: NTLM
  197: WWW-Authenticate: Digest realm="testrealm", nonce="5"
  198: 
  199: This is a bad password page!
  200: HTTP/1.1 401 NTLM intermediate (2)
  201: Server: Microsoft-IIS/5.0
  202: Content-Type: text/html; charset=iso-8859-1
  203: Content-Length: 33
  204: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  205: 
  206: HTTP/1.1 401 Sorry wrong password (3)
  207: Server: Microsoft-IIS/5.0
  208: Content-Type: text/html; charset=iso-8859-1
  209: Content-Length: 29
  210: WWW-Authenticate: NTLM
  211: WWW-Authenticate: Digest realm="testrealm", nonce="7"
  212: 
  213: This is a bad password page!
  214: HTTP/1.1 401 NTLM intermediate (3)
  215: Server: Microsoft-IIS/5.0
  216: Content-Type: text/html; charset=iso-8859-1
  217: Content-Length: 33
  218: WWW-Authenticate: NTLM TlRMTVNTUAACAAAACAAIADAAAACGgAEAq6U1NAWaJCIAAAAAAAAAAAAAAAA4AAAATlRMTUF1dGg=
  219: 
  220: HTTP/1.1 200 Things are fine in server land (2)
  221: Server: Microsoft-IIS/5.0
  222: Content-Type: text/html; charset=iso-8859-1
  223: Content-Length: 32
  224: 
  225: Finally, this is the real page!
  226: </datacheck>
  227: 
  228: </reply>
  229: 
  230: # Client-side
  231: <client>
  232: <features>
  233: NTLM
  234: SSL
  235: !SSPI
  236: </features>
  237: <server>
  238: http
  239: </server>
  240: <tool>
  241: libauthretry
  242: </tool>
  243: 
  244:  <name>
  245: HTTP authorization retry (Digest switching to NTLM)
  246:  </name>
  247:  <setenv>
  248: # we force our own host name, in order to make the test machine independent
  249: CURL_GETHOSTNAME=curlhost
  250: # we try to use the LD_PRELOAD hack, if not a debug build
  251: LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
  252:  </setenv>
  253:  <command>
  254: http://%HOSTIP:%HTTPPORT/2028 digest ntlm
  255: </command>
  256: <precheck>
  257: chkhostname curlhost
  258: </precheck>
  259: </client>
  260: 
  261: # Verify data after the test has been "shot"
  262: <verify>
  263: <strip>
  264: ^User-Agent:.*
  265: </strip>
  266: <protocol>
  267: GET /20280100 HTTP/1.1
  268: Host: %HOSTIP:%HTTPPORT
  269: Accept: */*
  270: 
  271: GET /20280100 HTTP/1.1
  272: Host: %HOSTIP:%HTTPPORT
  273: Authorization: Digest username="testuser", realm="testrealm", nonce="1", uri="/20280100", response="53c80666f5e3a4a55f92a66aaf0078bb"
  274: Accept: */*
  275: 
  276: GET /20280200 HTTP/1.1
  277: Host: %HOSTIP:%HTTPPORT
  278: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  279: Accept: */*
  280: 
  281: GET /20280200 HTTP/1.1
  282: Host: %HOSTIP:%HTTPPORT
  283: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
  284: Accept: */*
  285: 
  286: GET /20280300 HTTP/1.1
  287: Host: %HOSTIP:%HTTPPORT
  288: Accept: */*
  289: 
  290: GET /20280300 HTTP/1.1
  291: Host: %HOSTIP:%HTTPPORT
  292: Authorization: Digest username="testuser", realm="testrealm", nonce="4", uri="/20280300", response="1aa5d90da9803ca12d04b24e0f19476e"
  293: Accept: */*
  294: 
  295: GET /20280400 HTTP/1.1
  296: Host: %HOSTIP:%HTTPPORT
  297: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  298: Accept: */*
  299: 
  300: GET /20280400 HTTP/1.1
  301: Host: %HOSTIP:%HTTPPORT
  302: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABANgKEcT5xUUBHw5+0m4FjWTGNzg6PeHJHbaPwNwCt/tXcnIeTQCTMAg12SPDyNXMf3Rlc3R1c2VyY3VybGhvc3Q=
  303: Accept: */*
  304: 
  305: GET /20280500 HTTP/1.1
  306: Host: %HOSTIP:%HTTPPORT
  307: Authorization: NTLM TlRMTVNTUAABAAAABoIIAAAAAAAAAAAAAAAAAAAAAAA=
  308: Accept: */*
  309: 
  310: GET /20280500 HTTP/1.1
  311: Host: %HOSTIP:%HTTPPORT
  312: Authorization: NTLM TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAAIAAgAeAAAAAAAAAAAAAAAhoABAI+/Fp9IERAQ74OsdNPbBpg7o8CVwLSO4DtFyIcZHUMKVktWIu92s2892OVpd2JzqnRlc3R1c2VyY3VybGhvc3Q=
  313: Accept: */*
  314: 
  315: </protocol>
  316: </verify>
  317: </testcase>

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