亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pac.c

?? samba最新軟件
?? C
?? 第 1 頁 / 共 2 頁
字號:
		torture_fail(tctx, 			     talloc_asprintf(tctx, 					     "(saved test) Server Keyblock encoding failed: %s", 					     smb_get_krb5_error_message(smb_krb5_context->krb5_context, 									ret, mem_ctx)));	}	pac_file = torture_setting_string(tctx, "pac_file", NULL);	if (pac_file) {		tmp_blob.data = (uint8_t *)file_load(pac_file, &tmp_blob.length, mem_ctx);		torture_comment(tctx, "(saved test) Loaded pac of size %ld from %s\n", (long)tmp_blob.length, pac_file);	} else {		tmp_blob = data_blob_talloc(mem_ctx, saved_pac, sizeof(saved_pac));	}		dump_data(10,tmp_blob.data,tmp_blob.length);	principal_string = torture_setting_string(tctx, "pac_client_principal", 						  "w2003final$@WIN2K3.THINKER.LOCAL");	authtime_string = torture_setting_string(tctx, "pac_authtime", "1120440609");	authtime = strtoull(authtime_string, NULL, 0);	ret = krb5_parse_name(smb_krb5_context->krb5_context, principal_string, 			      &client_principal);	if (ret) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		torture_fail(tctx,  			     talloc_asprintf(tctx, 					     "(saved test) parsing of client principal [%s] failed: %s", 					     principal_string, 					     smb_get_krb5_error_message(smb_krb5_context->krb5_context, ret, mem_ctx)));	}	/* Decode and verify the signaure on the PAC */	nt_status = kerberos_decode_pac(mem_ctx, 					lp_iconv_convenience(tctx->lp_ctx),					&pac_data,					tmp_blob,					smb_krb5_context->krb5_context,					&krbtgt_keyblock,					&server_keyblock, 					client_principal, authtime, NULL);	if (!NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);				torture_fail(tctx, talloc_asprintf(tctx, 						   "(saved test) PAC decoding failed: %s", 						   nt_errstr(nt_status)));	}	/* Parse the PAC again, for the logon info this time */	nt_status = kerberos_pac_logon_info(mem_ctx, 					    lp_iconv_convenience(tctx->lp_ctx),					    &logon_info,					    tmp_blob,					    smb_krb5_context->krb5_context,					    &krbtgt_keyblock,					    &server_keyblock,					    client_principal, authtime, NULL);	if (!NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);			torture_fail(tctx,  			     talloc_asprintf(tctx, 					     "(saved test) PAC decoding (for logon info) failed: %s", 					     nt_errstr(nt_status)));	}	validation.sam3 = &logon_info->info3;	nt_status = make_server_info_netlogon_validation(mem_ctx,							 "",							 3, &validation,							 &server_info_out); 	if (!NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx,  			     talloc_asprintf(tctx, 					     "(saved test) PAC decoding (make server info) failed: %s", 					     nt_errstr(nt_status)));	}	if (!pac_file &&	    !dom_sid_equal(dom_sid_parse_talloc(mem_ctx, 						"S-1-5-21-3048156945-3961193616-3706469200-1005"), 			   server_info_out->account_sid)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx,  			     talloc_asprintf(tctx, 					     "(saved test) PAC Decode resulted in *different* domain SID: %s != %s",					     "S-1-5-21-3048156945-3961193616-3706469200-1005", 					     dom_sid_string(mem_ctx, server_info_out->account_sid)));	}	ret = kerberos_encode_pac(mem_ctx, 				  lp_iconv_convenience(tctx->lp_ctx),				  pac_data,				  smb_krb5_context->krb5_context,				  &krbtgt_keyblock,				  &server_keyblock,				  &validate_blob);	if (ret != 0) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx, "(saved test) PAC push failed");	}	dump_data(10, validate_blob.data, validate_blob.length);	/* compare both the length and the data bytes after a	 * pull/push cycle.  This ensures we use the exact same	 * pointer, padding etc algorithms as win2k3.	 */	if (tmp_blob.length != validate_blob.length) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx, 			     talloc_asprintf(tctx, 					     "(saved test) PAC push failed: original buffer length[%u] != created buffer length[%u]",					     (unsigned)tmp_blob.length, (unsigned)validate_blob.length));	}	if (memcmp(tmp_blob.data, validate_blob.data, tmp_blob.length) != 0) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		DEBUG(0, ("tmp_data:\n"));		dump_data(0, tmp_blob.data, tmp_blob.length);		DEBUG(0, ("validate_blob:\n"));		dump_data(0, validate_blob.data, validate_blob.length);		torture_fail(tctx, talloc_asprintf(tctx, "(saved test) PAC push failed: length[%u] matches, but data does not", (unsigned)tmp_blob.length));	}	ret = kerberos_create_pac(mem_ctx, 				  lp_iconv_convenience(tctx->lp_ctx),				  server_info_out,				  smb_krb5_context->krb5_context,				  &krbtgt_keyblock,				  &server_keyblock,				  client_principal, authtime,				  &validate_blob);	if (ret != 0) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx, "(saved test) regnerated PAC create failed");	}	dump_data(10,validate_blob.data,validate_blob.length);	/* compare both the length and the data bytes after a	 * pull/push cycle.  This ensures we use the exact same	 * pointer, padding etc algorithms as win2k3.	 */	if (tmp_blob.length != validate_blob.length) {		ndr_err = ndr_pull_struct_blob(&validate_blob, mem_ctx, 					       lp_iconv_convenience(tctx->lp_ctx), &pac_data2,					       (ndr_pull_flags_fn_t)ndr_pull_PAC_DATA);		nt_status = ndr_map_error2ntstatus(ndr_err);		torture_assert_ntstatus_ok(tctx, nt_status, "can't parse the PAC");				NDR_PRINT_DEBUG(PAC_DATA, pac_data);		NDR_PRINT_DEBUG(PAC_DATA, &pac_data2);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx, talloc_asprintf(tctx, 						   "(saved test) PAC regenerate failed: original buffer length[%u] != created buffer length[%u]",						   (unsigned)tmp_blob.length, (unsigned)validate_blob.length));	}	if (memcmp(tmp_blob.data, validate_blob.data, tmp_blob.length) != 0) {		ndr_err = ndr_pull_struct_blob(&validate_blob, mem_ctx, 					       lp_iconv_convenience(tctx->lp_ctx), &pac_data2,					       (ndr_pull_flags_fn_t)ndr_pull_PAC_DATA);		nt_status = ndr_map_error2ntstatus(ndr_err);		torture_assert_ntstatus_ok(tctx, nt_status, "can't parse the PAC");				NDR_PRINT_DEBUG(PAC_DATA, pac_data);		NDR_PRINT_DEBUG(PAC_DATA, &pac_data2);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		DEBUG(0, ("tmp_data:\n"));		dump_data(0, tmp_blob.data, tmp_blob.length);		DEBUG(0, ("validate_blob:\n"));		dump_data(0, validate_blob.data, validate_blob.length);		torture_fail(tctx, talloc_asprintf(tctx, 						   "(saved test) PAC regenerate failed: length[%u] matches, but data does not", (unsigned)tmp_blob.length));	}	/* Break the auth time, to ensure we check this vital detail (not setting this caused all the pain in the first place... */	nt_status = kerberos_decode_pac(mem_ctx, 					lp_iconv_convenience(tctx->lp_ctx),					&pac_data,					tmp_blob,					smb_krb5_context->krb5_context,					&krbtgt_keyblock,					&server_keyblock,					client_principal, 					authtime + 1, NULL);	if (NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		krb5_free_principal(smb_krb5_context->krb5_context, client_principal);		torture_fail(tctx, "(saved test) PAC decoding DID NOT fail on broken auth time (time + 1)");	}	/* Break the client principal */	krb5_free_principal(smb_krb5_context->krb5_context, client_principal);	broken_principal_string = talloc_strdup(mem_ctx, principal_string);	broken_principal_string[0]++;	ret = krb5_parse_name(smb_krb5_context->krb5_context,			      broken_principal_string, &client_principal);	if (ret) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		torture_fail(tctx, talloc_asprintf(tctx, 						   "(saved test) parsing of broken client principal failed: %s", 						   smb_get_krb5_error_message(smb_krb5_context->krb5_context, ret, mem_ctx)));	}	nt_status = kerberos_decode_pac(mem_ctx, 					lp_iconv_convenience(tctx->lp_ctx),					&pac_data,					tmp_blob,					smb_krb5_context->krb5_context,					&krbtgt_keyblock,					&server_keyblock,					client_principal, 					authtime, NULL);	if (NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		torture_fail(tctx, "(saved test) PAC decoding DID NOT fail on modified principal");	}	/* Finally...  Bugger up the signature, and check we fail the checksum */	tmp_blob.data[tmp_blob.length - 2]++;	nt_status = kerberos_decode_pac(mem_ctx, 					lp_iconv_convenience(tctx->lp_ctx),					&pac_data,					tmp_blob,					smb_krb5_context->krb5_context,					&krbtgt_keyblock,					&server_keyblock,					client_principal, 					authtime, NULL);	if (NT_STATUS_IS_OK(nt_status)) {		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &krbtgt_keyblock);		krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 					    &server_keyblock);		torture_fail(tctx, "(saved test) PAC decoding DID NOT fail on broken checksum");	}	krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 				    &krbtgt_keyblock);	krb5_free_keyblock_contents(smb_krb5_context->krb5_context, 				    &server_keyblock);	return true;}struct torture_suite *torture_pac(TALLOC_CTX *mem_ctx){	struct torture_suite *suite = torture_suite_create(mem_ctx, "PAC");	torture_suite_add_simple_test(suite, "self check", 				      torture_pac_self_check);	torture_suite_add_simple_test(suite, "saved check",				      torture_pac_saved_check);	return suite;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产午夜精品一区二区三区视频 | 不卡电影免费在线播放一区| 久久成人久久爱| 偷拍一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲素人一区二区| 亚洲激情图片一区| 午夜精品福利视频网站 | 欧美亚洲动漫制服丝袜| 91蝌蚪porny| 日本精品视频一区二区三区| www.亚洲免费av| 色综合久久66| 欧美精品亚洲二区| 蜜桃一区二区三区在线观看| 国产一区二区免费视频| 日韩美女一区二区三区四区| 亚洲人成电影网站色mp4| 国产福利91精品一区| 日韩一区二区在线看片| 亚洲成精国产精品女| 色又黄又爽网站www久久| 中文字幕欧美区| 成人三级伦理片| 久久精品视频在线看| 国产精品中文字幕日韩精品| 精品乱码亚洲一区二区不卡| 蜜桃av一区二区三区电影| 欧美精品tushy高清| 亚洲bt欧美bt精品777| 欧美亚洲动漫另类| 亚洲一卡二卡三卡四卡无卡久久 | 国内精品伊人久久久久av一坑 | 国产综合一区二区| 精品久久国产老人久久综合| 奇米精品一区二区三区四区| 91精品国产综合久久福利软件| 亚洲成人免费观看| 91精品国产一区二区| 男男视频亚洲欧美| 日韩精品在线一区| 国产乱对白刺激视频不卡| 久久精品亚洲麻豆av一区二区| 国产一区二区0| 国产精品人人做人人爽人人添| 成人h版在线观看| 亚洲欧美国产高清| 欧美唯美清纯偷拍| 男男视频亚洲欧美| 国产亚洲一区二区三区| 成人免费高清视频| 亚洲午夜免费视频| 日韩一区二区三区电影在线观看| 久久精品噜噜噜成人88aⅴ| 精品国产99国产精品| 成人av综合一区| 亚洲一区中文在线| 精品第一国产综合精品aⅴ| 国产成人鲁色资源国产91色综| 亚洲男人的天堂一区二区| 欧美在线你懂的| 激情成人午夜视频| √…a在线天堂一区| 欧美中文字幕不卡| 久久草av在线| 亚洲手机成人高清视频| 91精品国产丝袜白色高跟鞋| 国产成人精品亚洲日本在线桃色| 一区二区不卡在线播放| 欧美xxxxx裸体时装秀| 99久久精品免费观看| 日本三级亚洲精品| **性色生活片久久毛片| 欧美一区二区网站| 97aⅴ精品视频一二三区| 美腿丝袜亚洲色图| 国产精品第四页| 日韩视频中午一区| 一本色道久久综合亚洲精品按摩| 另类的小说在线视频另类成人小视频在线 | 国产激情视频一区二区在线观看 | 日本高清不卡视频| 国精产品一区一区三区mba视频| 亚洲人成伊人成综合网小说| 欧美一区二区女人| 欧美亚洲综合久久| 夫妻av一区二区| 免费看欧美女人艹b| 亚洲另类色综合网站| wwww国产精品欧美| 56国语精品自产拍在线观看| 91在线视频官网| 国产99久久久久| 精品制服美女丁香| 亚洲国产日产av| 亚洲日本一区二区| 中文字幕av不卡| 久久精品视频一区二区三区| 日韩亚洲欧美成人一区| 欧美日韩小视频| 91看片淫黄大片一级在线观看| 国产91高潮流白浆在线麻豆| 九一九一国产精品| 久久精品二区亚洲w码| 天天综合网天天综合色| 亚洲免费观看在线视频| 国产精品视频一二三| 久久久久久一级片| 欧美精品一区二区久久婷婷| 日韩一区二区三区免费看| 欧美精品一级二级三级| 欧洲激情一区二区| 在线精品视频一区二区| 91啦中文在线观看| 91国产免费看| 在线观看一区日韩| 在线观看成人免费视频| 欧洲精品在线观看| 欧美视频三区在线播放| 欧美日韩视频一区二区| 欧美日韩电影在线| 欧美一区二区三区影视| 日韩欧美在线综合网| 精品免费国产二区三区| 久久综合九色综合97婷婷女人| 欧美精品一区二区在线播放| 久久色在线视频| 日本一区二区在线不卡| 亚洲免费视频成人| 亚洲成人免费视频| 麻豆91精品91久久久的内涵| 国产精品资源在线观看| 波多野结衣在线aⅴ中文字幕不卡 波多野结衣在线一区 | 中文字幕av一区二区三区| 最新日韩在线视频| 亚洲成a人v欧美综合天堂| 青草av.久久免费一区| 国产精品影视天天线| caoporen国产精品视频| 欧美在线观看一区二区| 欧美一区二区三区白人| 国产欧美日韩中文久久| 综合久久国产九一剧情麻豆| 亚洲成人第一页| 精品无码三级在线观看视频| 岛国av在线一区| 欧美日韩亚洲高清一区二区| 精品欧美乱码久久久久久| 国产精品沙发午睡系列990531| 亚洲午夜三级在线| 国产在线精品一区二区夜色| 99精品国产91久久久久久| 欧美日韩精品一区二区三区蜜桃| 日韩精品一区二区三区在线播放 | 久久99精品网久久| www.性欧美| 日韩精品影音先锋| 亚洲理论在线观看| 久草在线在线精品观看| 99精品偷自拍| 精品国产一区久久| 亚洲一线二线三线久久久| 国内精品伊人久久久久影院对白| 色综合色狠狠天天综合色| 精品日韩av一区二区| 亚洲美女屁股眼交| 国产麻豆精品theporn| 欧美羞羞免费网站| 国产精品丝袜在线| 蜜臀av性久久久久蜜臀av麻豆| 色噜噜久久综合| 国产精品素人视频| 精品亚洲国产成人av制服丝袜| 欧美性受xxxx黑人xyx| 中文无字幕一区二区三区| 日本视频一区二区三区| 日本乱码高清不卡字幕| 国产精品拍天天在线| 九色|91porny| 91精品国产综合久久精品图片 | 久久只精品国产| 日本不卡视频在线| 欧美曰成人黄网| 中文字幕+乱码+中文字幕一区| 久久精品99国产精品| 在线综合+亚洲+欧美中文字幕| 亚洲天堂网中文字| 不卡在线视频中文字幕| 久久综合999| 国产在线精品一区二区不卡了| 欧美日本在线视频| 一个色在线综合| 91福利视频久久久久| **欧美大码日韩| 成人性生交大片免费看中文网站| 久久欧美一区二区| 极品少妇一区二区三区精品视频| 日韩欧美在线网站| 蜜桃精品视频在线| 精品裸体舞一区二区三区|