@@ -232,7 +232,29 @@ bool CVerification_HTTP::Verification_HTTP_DigestServerPacket(XCHAR* ptszMSGBuff
232232
233233 return true ;
234234}
235-
235+ /* *******************************************************************
236+ 函数名称:Verification_HTTP_GetType
237+ 函数功能:获得HTTP验证类型
238+ 参数.一:pptszListHdr
239+ In/Out:In
240+ 类型:三级指针
241+ 可空:N
242+ 意思:输入HTTP头
243+ 参数.二:nHdrCount
244+ In/Out:In
245+ 类型:整数型
246+ 可空:N
247+ 意思:输入HTTP头个数
248+ 参数.三:pInt_Type
249+ In/Out:In
250+ 类型:整数型指针
251+ 可空:N
252+ 意思:输出HTTP验证类型1:BASIC验证 2:摘要验证
253+ 返回值
254+ 类型:逻辑型
255+ 意思:是否成功
256+ 备注:
257+ *********************************************************************/
236258bool CVerification_HTTP::Verification_HTTP_GetType (XCHAR** pptszListHdr, int nHdrCount, int * pInt_Type)
237259{
238260 Verification_IsErrorOccur = false ;
@@ -263,8 +285,8 @@ bool CVerification_HTTP::Verification_HTTP_GetType(XCHAR** pptszListHdr, int nHd
263285 return true ;
264286}
265287/* *******************************************************************
266- 函数名称:AuthHelp_APIHelp_HttpAuth
267- 函数功能:HTTP验证
288+ 函数名称:Verification_HTTP_Basic
289+ 函数功能:HTTP基本验证
268290 参数.一:ptszUser
269291 In/Out:Out
270292 类型:字符指针
@@ -313,6 +335,31 @@ bool CVerification_HTTP::Verification_HTTP_Basic(XCHAR* ptszUser, XCHAR* ptszPas
313335 Verification_HTTP_BasicDecoder (tszAuthStr, ptszUser, ptszPass);
314336 return true ;
315337}
338+ bool CVerification_HTTP::Verification_HTTP_DigestVer (LPCXSTR lpszUser, LPCXSTR lpszPass, XCHAR** pptszListHdr, int nHdrCount)
339+ {
340+ Verification_IsErrorOccur = false ;
341+ int nAuthType = 0 ;
342+ int nAuthLen = XPATH_MAX;
343+ XCHAR tszAuthStr[XPATH_MAX] = {};
344+
345+ if (!HttpProtocol_ServerHelp_GetAuthInfo (&pptszListHdr, nHdrCount, tszAuthStr, &nAuthLen, &nAuthType))
346+ {
347+ Verification_IsErrorOccur = true ;
348+ Verification_dwErrorCode = HttpProtocol_GetLastError ();
349+ return false ;
350+ }
351+ // 是否是摘要验证
352+ if (2 != nAuthType)
353+ {
354+ Verification_IsErrorOccur = true ;
355+ Verification_dwErrorCode = ERROR_XENGINE_MODULE_VERIFICATION_HTTP_NOTSUPPORT;
356+ return false ;
357+ }
358+ XCHAR tszUser[XPATH_MIN] = {};
359+ XCHAR tszPass[XPATH_MIN] = {};
360+
361+ return true ;
362+ }
316363// ////////////////////////////////////////////////////////////////////////
317364// 保护函数
318365// ////////////////////////////////////////////////////////////////////////
@@ -472,7 +519,7 @@ bool CVerification_HTTP::Verification_HTTP_BasicEncoder(LPCXSTR lpszUser, LPCXST
472519 }
473520 if (bADD)
474521 {
475- _xstprintf (ptszMsgBuffer, _X (" WWW-Authenticate : Basic %s" ), tszBaseBuffer);
522+ _xstprintf (ptszMsgBuffer, _X (" Authorization : Basic %s" ), tszBaseBuffer);
476523 }
477524 else
478525 {
0 commit comments