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

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

?? radius_interface.c

?? vxworks下radius協議棧 的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
		{		p_server = rw_container_at (server_iterator);		if ((p_server->deleted == false) && (p_server->ip_address == ip_address) && (p_server->port == port))			{			if (p_server->type == type)				{				++p_server->user_count;				rwos_mutex_release (rwos_radius_data_mutex);				return ((RADIUS_SERVER_HANDLE) server_iterator); /* server_iterator already points to the new server */ 				}			}				rw_container_next (server_iterator);		}	rw_container_free_iterator (server_iterator);	radius_printf (RADIUS_ALARM_PRINTF,"RADIUS: radius_find_server_with_specified_parameters: Could not find server of type %d\r\n", 		(UINT) type);	rwos_mutex_release (rwos_radius_data_mutex);	return (INVALID_HANDLE);}/*****************************************************************************************/RADIUS_ATTRIBUTE_LIST_HANDLE radius_create_attribute_list(void){	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) table_malloc (1, sizeof (RADIUS_LIST_CONTROLLER));	p_radius_attribute_list_controller->p_list = rw_list_create (NULL);	p_radius_attribute_list_controller->iterator =  rw_container_create_iterator (p_radius_attribute_list_controller->p_list);	return ((RADIUS_ATTRIBUTE_LIST_HANDLE) p_radius_attribute_list_controller);}/*****************************************************************************************/bool radius_add_attribute_to_list (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle, enum RADIUS_ATTRIBUTE_TYPE attribute_type, 											  UINT value_length, BYTE *bptr_value){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	p_attribute = (RADIUS_ATTRIBUTE_ENTRY* ) table_malloc (1, (sizeof (RADIUS_ATTRIBUTE_ENTRY) + value_length));	if (p_attribute == NULL)		{		return (false);		} 	p_attribute->type = attribute_type;	p_attribute->length_of_attribute_value = value_length;	memcpy (&p_attribute->value[0], bptr_value, value_length);		rw_container_add_back (p_radius_attribute_list_controller->p_list, (RW_CONTAINER_ITEM*) p_attribute);		return (true);}/*****************************************************************************************/bool radius_remove_attribute_from_list (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RW_CONTAINER_ITERATOR attribute_iterator;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	attribute_iterator = p_radius_attribute_list_controller->iterator;	p_attribute = rw_container_at (attribute_iterator);			rw_container_remove (attribute_iterator);			table_free (p_attribute);	return (true);}/*****************************************************************************************/bool radius_remove_attribute (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle, enum RADIUS_ATTRIBUTE_TYPE attribute_type){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RW_CONTAINER_ITERATOR attribute_iterator;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	attribute_iterator = p_radius_attribute_list_controller->iterator;	rw_container_goto_front (attribute_iterator);		while (rw_container_is_at_end (attribute_iterator) == false)		{		p_attribute = rw_container_at (attribute_iterator);		if (p_attribute->type == attribute_type)			{						rw_container_remove (attribute_iterator);			table_free (p_attribute);			return (true);			}		rw_container_next (attribute_iterator);		}	return (false);}/*****************************************************************************************/bool radius_delete_attribute_list (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RW_CONTAINER_ITERATOR attribute_iterator;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	attribute_iterator = p_radius_attribute_list_controller->iterator;		rw_container_goto_front (attribute_iterator);		while (rw_container_is_at_end (attribute_iterator) == false)		{		p_attribute = rw_container_at (attribute_iterator);				rw_container_remove (attribute_iterator);				table_free (p_attribute);		}			rw_container_free_iterator (attribute_iterator);	rw_container_free (p_radius_attribute_list_controller->p_list);	table_free (p_radius_attribute_list_controller);	return (true);}/*****************************************************************************************/bool radius_attribute_list_goto_first_attribute (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	RW_CONTAINER_ITERATOR attribute_iterator;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	attribute_iterator = p_radius_attribute_list_controller->iterator;	rw_container_goto_front (attribute_iterator);	if (rw_container_is_at_end (attribute_iterator) == true)		{		return (false);		}	return (true);}/*****************************************************************************************/bool radius_attribute_list_goto_next_attribute (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){		RW_CONTAINER_ITERATOR attribute_iterator;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	attribute_iterator = p_radius_attribute_list_controller->iterator;	rw_container_next (attribute_iterator);	if (rw_container_is_at_end (attribute_iterator) == true)		{		return (false);		}	return (true);}/*****************************************************************************************/enum RADIUS_ATTRIBUTE_TYPE radius_attribute_list_get_attribute_type (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	p_attribute = rw_container_at (p_radius_attribute_list_controller->iterator);	return (p_attribute->type);}/*****************************************************************************************/UINT radius_attribute_list_get_attribute_length (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	p_attribute = rw_container_at (p_radius_attribute_list_controller->iterator);	return (p_attribute->length_of_attribute_value);}/*****************************************************************************************/bool radius_attribute_list_get_attribute_value (RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle, BYTE* p_buffer, UINT buffer_length){	RADIUS_ATTRIBUTE_ENTRY* p_attribute;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	if (attribute_list_handle == INVALID_HANDLE)		{		return (false);		}	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	p_attribute = rw_container_at (p_radius_attribute_list_controller->iterator);		memcpy (p_buffer, p_attribute->value, buffer_length);	return (true);}/*****************************************************************************************/bool radius_server_request (RADIUS_SERVER_HANDLE server_handle, 							RADIUS_REQUEST_HANDLE radius_request_handle, 							RADIUS_REQUEST_CALLBACKS *p_callbacks, 							enum RADIUS_CODE code, 							RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	bool verify_attributes;	bool error_callback_called;	bool any_server = false;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;		if (server_handle == INVALID_HANDLE)		{		(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_INVALID_SERVER_SPECIFIED);		return(false);		}	rwos_mutex_acquire (rwos_radius_data_mutex, WAIT_FOREVER);	error_callback_called = false;	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	verify_attributes = radius_verify_attributes (code, p_radius_attribute_list_controller);		if (verify_attributes == false)		{		radius_printf (RADIUS_ALARM_PRINTF, "RADIUS: radius_server_request: attributes verification failed\n");		rwos_mutex_release (rwos_radius_data_mutex);		(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_ILLEGAL_ATTRIBUTE_LIST);		return (false);		}			if (radius_send_packet (server_handle, radius_request_handle, p_callbacks, code, attribute_list_handle, 			&error_callback_called, any_server) == FAIL)		{		radius_printf (RADIUS_ALARM_PRINTF, "RADIUS: radius_server_request: failed to send the packet\n");				rwos_mutex_release (rwos_radius_data_mutex);		if (error_callback_called == false)			{			(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_UDP_SEND_ERROR);			}		return (false);		}	rwos_mutex_release (rwos_radius_data_mutex);	return (true);}/*****************************************************************************************/bool radius_any_server_request (RADIUS_SERVER_HANDLE server_handle, 							RADIUS_REQUEST_HANDLE radius_request_handle, 							RADIUS_REQUEST_CALLBACKS *p_callbacks, 							enum RADIUS_CODE code, 							RADIUS_ATTRIBUTE_LIST_HANDLE attribute_list_handle){	bool verify_attributes;	bool error_callback_called;	bool any_server = true;	RADIUS_LIST_CONTROLLER* p_radius_attribute_list_controller;	RADIUS_SERVER_HANDLE	svr_handle;	enum RADIUS_SERVER_TYPE	server_type = RADIUS_AUTHENTICATION_SERVER_TYPE;	if (server_handle == (RADIUS_SERVER_HANDLE)ANY_RADIUS_SERVER)		{		switch (code)			{			case RADIUS_ACCESS_REQUEST:				server_type = RADIUS_AUTHENTICATION_SERVER_TYPE;				break;			case RADIUS_ACCOUNTING_REQUEST:				server_type = RADIUS_ACCOUNTING_SERVER_TYPE;				break;			default:	/* shouldn't happen */				printf("Error: Invalid request!\n");				break;			}		svr_handle = radius_get_first_server(server_type);		if (svr_handle == INVALID_HANDLE)			{			/* This shouldn't happen unless there is no server of the requested type is 			   configured in the radiuscfg.c and user never created any server of the type */			printf("Error: Can't find server of the requested type!\n");			(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_SERVER_NOT_FOUND);			return(false);			}		}	else		{		svr_handle = server_handle;		if (svr_handle == INVALID_HANDLE)			{			(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_INVALID_SERVER_SPECIFIED);			return(false);			}		}		rwos_mutex_acquire (rwos_radius_data_mutex, WAIT_FOREVER);	error_callback_called = false;	p_radius_attribute_list_controller = (RADIUS_LIST_CONTROLLER*) attribute_list_handle;	verify_attributes = radius_verify_attributes (code, p_radius_attribute_list_controller);		if (verify_attributes == false)		{		radius_printf (RADIUS_ALARM_PRINTF, "RADIUS: radius_server_request: attributes verification failed\n");		rwos_mutex_release (rwos_radius_data_mutex);		(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_ILLEGAL_ATTRIBUTE_LIST);		return (false);		}			if (radius_send_packet (svr_handle, radius_request_handle, p_callbacks, code, attribute_list_handle, 			&error_callback_called, any_server) == FAIL)		{		radius_printf (RADIUS_ALARM_PRINTF, "RADIUS: radius_server_request: failed to send the packet\n");				rwos_mutex_release (rwos_radius_data_mutex);		if (error_callback_called == false)			{			(*p_callbacks->fptr_radius_error_callback) (radius_request_handle, RADIUS_UDP_SEND_ERROR);			}		return (false);		}	rwos_mutex_release (rwos_radius_data_mutex);	return (true);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
裸体歌舞表演一区二区| 日韩成人午夜精品| 亚洲一二三四在线| 国产成人福利片| 欧美日韩成人综合在线一区二区| 久久精品夜色噜噜亚洲aⅴ| 亚洲高清视频中文字幕| 波多野结衣在线一区| 欧美一区2区视频在线观看| 中文字幕在线观看不卡视频| 国产一区亚洲一区| 欧美人牲a欧美精品| 亚洲欧美区自拍先锋| 成人亚洲精品久久久久软件| 日韩欧美国产系列| 日本不卡视频一二三区| 欧美三级在线视频| 国产在线乱码一区二区三区| 欧美日韩精品一区二区天天拍小说| 欧美国产视频在线| 国产一区二区伦理片| 精品国产污网站| 久久国产精品99久久久久久老狼 | 成人免费在线视频观看| 国内精品视频666| 欧美v国产在线一区二区三区| 日韩高清在线不卡| 欧美视频日韩视频| 亚洲一区二区四区蜜桃| 欧美午夜精品免费| 亚洲国产精品一区二区久久| 91精品福利在线| 一区二区三区在线播| 91在线观看污| 亚洲精品美腿丝袜| 在线观看视频一区| 亚洲高清中文字幕| 日韩一二三区不卡| 久久国产剧场电影| 国产视频在线观看一区二区三区 | 午夜精品久久久久久久久久久| 色婷婷激情综合| 亚洲超碰97人人做人人爱| 欧美在线观看你懂的| 午夜欧美电影在线观看| 欧美一区二区在线视频| 美女视频免费一区| 国产日韩欧美不卡| 91麻豆视频网站| 亚洲sss视频在线视频| 欧美一区二区在线观看| 国产一区二区91| 亚洲免费观看高清完整版在线观看熊 | 高清beeg欧美| 亚洲欧美电影院| 欧美精品自拍偷拍动漫精品| 日本一不卡视频| 国产清纯美女被跳蛋高潮一区二区久久w | 97久久精品人人做人人爽50路| 亚洲色图19p| 日韩一区二区在线看| 福利一区二区在线| 亚洲国产精品一区二区久久 | 久久国产麻豆精品| 中文字幕在线不卡| 欧美一区日韩一区| 96av麻豆蜜桃一区二区| 欧美aaa在线| **性色生活片久久毛片| 欧美一区二区三区免费观看视频| 国产精品中文字幕一区二区三区| 亚洲人成7777| 久久这里只有精品视频网| 91捆绑美女网站| 国产自产v一区二区三区c| 一区二区三区免费| 久久精品亚洲一区二区三区浴池| 在线精品亚洲一区二区不卡| 久久电影网电视剧免费观看| 一区二区三区四区精品在线视频| 日韩美女一区二区三区| 色噜噜狠狠色综合中国| 国产九色精品成人porny| 亚洲一区日韩精品中文字幕| 久久久99精品久久| 欧美日本韩国一区| 93久久精品日日躁夜夜躁欧美| 国产在线精品一区在线观看麻豆| 亚洲国产aⅴ成人精品无吗| 国产精品传媒入口麻豆| 精品福利av导航| 欧美乱熟臀69xxxxxx| eeuss影院一区二区三区| 韩国av一区二区三区在线观看| 亚洲一区二区av在线| 成人欧美一区二区三区视频网页 | 1000部国产精品成人观看| 精品av久久707| 欧美一级搡bbbb搡bbbb| 欧美性高清videossexo| 99精品国产91久久久久久| 国产九色sp调教91| 国产一区二区影院| 久久国产三级精品| 九一久久久久久| 秋霞影院一区二区| 日韩黄色小视频| 午夜a成v人精品| 日韩电影一二三区| 亚洲成人激情av| 亚洲一区二区三区在线播放| 亚洲精品中文在线| 亚洲三级免费观看| 一区二区成人在线视频| 一区二区在线观看不卡| 亚洲欧美精品午睡沙发| 一区二区三区在线免费播放| 亚洲精品伦理在线| 亚洲国产精品一区二区久久| 天天色天天操综合| 久久精品免费看| 国产一区二区三区日韩| 国产黄色精品视频| 成人av网址在线观看| 色婷婷久久综合| 在线成人小视频| 欧美va亚洲va在线观看蝴蝶网| 精品噜噜噜噜久久久久久久久试看 | 色狠狠一区二区| 欧美日韩国产小视频在线观看| 欧美一区二区三区成人| 精品嫩草影院久久| 欧美激情在线看| 一区二区三区中文免费| 天天综合网天天综合色| 国产在线不卡一区| 成人精品免费视频| 欧美日韩国产免费一区二区| 91精品在线观看入口| 国产午夜亚洲精品不卡| 1区2区3区精品视频| 婷婷综合久久一区二区三区| 精品一区二区三区免费| 大尺度一区二区| 欧美精品丝袜中出| 国产亚洲欧洲997久久综合| 日韩理论片中文av| 美洲天堂一区二卡三卡四卡视频| 成人激情电影免费在线观看| 欧美自拍偷拍一区| 精品少妇一区二区三区在线播放 | 国产三级欧美三级日产三级99| 中文字幕色av一区二区三区| 亚欧色一区w666天堂| 丁香亚洲综合激情啪啪综合| 欧美影院一区二区| 久久久影视传媒| 亚洲一区二区三区影院| 国产91高潮流白浆在线麻豆| 在线看日本不卡| 中文字幕va一区二区三区| 日韩不卡一二三区| 91猫先生在线| 国产亚洲欧美激情| 日韩综合一区二区| 91在线云播放| 久久中文字幕电影| 日韩在线一区二区三区| 97精品国产露脸对白| 久久综合久久综合亚洲| 亚洲国产精品嫩草影院| 成人精品亚洲人成在线| 精品成人私密视频| 亚洲国产一二三| 97se亚洲国产综合自在线不卡| 久久久影视传媒| 秋霞国产午夜精品免费视频| 91久久精品日日躁夜夜躁欧美| 国产精品天美传媒沈樵| 久久草av在线| 欧美一区二区三区在线观看 | 欧美撒尿777hd撒尿| 亚洲色图欧洲色图婷婷| 国产成人精品一区二区三区四区 | 国产成人精品一区二| 欧美不卡视频一区| 美女www一区二区| 欧美日韩二区三区| 亚洲va欧美va国产va天堂影院| 91麻豆精品一区二区三区| 国产精品不卡视频| 成人动漫中文字幕| 国产精品久久久久久久久晋中| 国产激情视频一区二区三区欧美| 精品成人私密视频| 国产美女一区二区三区| 国产亚洲短视频| 国产精品69毛片高清亚洲| 久久久美女毛片| 床上的激情91.|