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

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

?? aaad_user_db.h

?? AAA服務器功能實現
?? H
字號:
/* BEGIN_COPYRIGHT                                                        *//*                                                                        *//* Open Diameter: Open-source software for the Diameter and               *//*                Diameter related protocols                              *//*                                                                        *//* Copyright (C) 2002-2004 Open Diameter Project                          *//*                                                                        *//* This library is free software; you can redistribute it and/or modify   *//* it under the terms of the GNU Lesser General Public License as         *//* published by the Free Software Foundation; either version 2.1 of the   *//* License, or (at your option) any later version.                        *//*                                                                        *//* This library is distributed in the hope that it will be useful,        *//* but WITHOUT ANY WARRANTY; without even the implied warranty of         *//* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU      *//* Lesser General Public License for more details.                        *//*                                                                        *//* You should have received a copy of the GNU Lesser General Public       *//* License along with this library; if not, write to the Free Software    *//* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307    *//* USA.                                                                   *//*                                                                        *//* In addition, when you copy and redistribute some or the entire part of *//* the source code of this software with or without modification, you     *//* MUST include this copyright notice in each copy.                       *//*                                                                        *//* If you make any changes that are appeared to be useful, please send    *//* sources that include the changed part to                               *//* diameter-developers@lists.sourceforge.net so that we can reflect your  *//* changes to one unified version of this software.                       *//*                                                                        *//* END_COPYRIGHT                                                          */#ifndef __AAAD_USER_DB_H__#define __AAAD_USER_DB_H__#include "aaad_config.h"class AAAD_UserEapArchieMethod{   public:      std::string &SharedSecretFile() {	 return m_SharedSecretFile;      }      void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t)  Shared secret: %s\n",                   m_SharedSecretFile.data());      }   private:      std::string m_SharedSecretFile;};class AAAD_UserEapMd5Method{   public:      typedef enum {	 SYSTEM,         FLAT,         NONE      } PASSWD_TYPE;   public:      std::string &Secret() {	 return m_Secret;      }      PASSWD_TYPE &PasswordType() {	 return m_PasswdType;      }      static PASSWD_TYPE PasswordType(std::string &t) {         static char *strType[] = {	   "system", "flat", "none" // same order as enum         };         for (int i = 0;               i < sizeof(strType)/sizeof(char*);              i ++) {	    if (t == strType[i]) {	       return PASSWD_TYPE(i);	    }	 }         return NONE;      }      void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t) MD5 Passwd Typ: %d\n",                   (int)m_PasswdType);      }   private:      std::string m_Secret;      PASSWD_TYPE m_PasswdType;};class AAAD_UserEntry :   public AAAD_MapElement{   public:      std::string &Method() {	 return m_Method;      }      AAAD_UserEapMd5Method &Md5() {	 return m_Md5;      }      AAAD_UserEapArchieMethod &Archie() {	 return m_Archie;      }      void Dump() {         AAAD_LOG(LM_INFO,                   "(%P|%t) *** Match User: %s\n",                   m_Name.data());         AAAD_LOG(LM_INFO,                   "(%P|%t)         Method: %s\n",                   m_Method.data());         m_Md5.Dump();         m_Archie.Dump();      }   private:      std::string m_Method;      AAAD_UserEapMd5Method m_Md5;      AAAD_UserEapArchieMethod m_Archie;};typedef AAAD_Map AAAD_UserDb;typedef ACE_Singleton<AAAD_UserDb,                       ACE_Recursive_Thread_Mutex>                       AAAD_UserDb_S;#define AAAD_USER_DB()   (*(AAAD_UserDb_S::instance()))class AAAD_ParserArchieMethod :    public OD_Utl_XMLElementParserWithData<AAAD_UserEapArchieMethod>{   public:      AAAD_ParserArchieMethod(const char *name,                              AAAD_UserEapArchieMethod &p) :          OD_Utl_XMLElementParserWithData<AAAD_UserEapArchieMethod>                              (name, p) {      }      virtual int svc(DOMNode *n) {         OD_Utl_XMLDataString sfile("shared_secret_file",                                     m_Payload.SharedSecretFile());         sfile.populate(n->getFirstChild());         return 0;      }};class AAAD_ParserMd5Method :    public OD_Utl_XMLElementParserWithData<AAAD_UserEapMd5Method>{   public:      AAAD_ParserMd5Method(const char *name,                           AAAD_UserEapMd5Method &p) :          OD_Utl_XMLElementParserWithData<AAAD_UserEapMd5Method>                              (name, p) {      }      virtual int svc(DOMNode *n) {         OD_Utl_XMLDataString sfile("secret",                                     m_Payload.Secret());         sfile.populate(n->getFirstChild());	 std::string type;         OD_Utl_XMLDataString ptype("password_type", type);         ptype.populate(n->getFirstChild());         m_Payload.PasswordType() =               AAAD_UserEapMd5Method::PasswordType(type);         return 0;      }};class AAAD_ParserUserEntry :    public OD_Utl_XMLElementParser{   public:      AAAD_ParserUserEntry(const char *name) :          OD_Utl_XMLElementParser(name) {      }      virtual int svc(DOMNode *n) {         std::auto_ptr<AAAD_MapElement>             u(new AAAD_UserEntry);         AAAD_UserEntry &uRef = (AAAD_UserEntry&)(*u);         OD_Utl_XMLDataString name("name_match", uRef.Name());         name.populate(n->getFirstChild());         OD_Utl_XMLDataString method("eap_method", uRef.Method());         method.populate(n->getFirstChild());         AAAD_ParserArchieMethod archie("archie", uRef.Archie());         archie.populate(n->getFirstChild());         AAAD_ParserMd5Method md5("md5", uRef.Md5());         md5.populate(n->getFirstChild());         AAAD_USER_DB().Register(u);         return 0;      }};class AAAD_ParserDefaultUserEntry :    public OD_Utl_XMLElementParserWithData<AAAD_UserEntry>{   public:      AAAD_ParserDefaultUserEntry(const char *name,                                  AAAD_UserEntry &u) :          OD_Utl_XMLElementParserWithData<AAAD_UserEntry>(name, u) {      }      virtual int svc(DOMNode *n) {         OD_Utl_XMLDataString method("eap_method",                                      m_Payload.Method());         method.populate(n->getFirstChild());         AAAD_ParserArchieMethod archie("archie",                                      m_Payload.Archie());         archie.populate(n->getFirstChild());         AAAD_ParserMd5Method md5("md5", m_Payload.Md5());         md5.populate(n->getFirstChild());         m_Payload.Name() = "default";         return 0;      }};class AAAD_ParserUserDb :    public OD_Utl_XMLElementParser{   public:      AAAD_ParserUserDb(const char *name) :         OD_Utl_XMLElementParser(name) {      }      virtual int svc(DOMNode *n) {         AAAD_ParserMultiElement<AAAD_ParserUserEntry>              users("user_entry");         users.populate(n);         std::auto_ptr<AAAD_MapElement>             u(new AAAD_UserEntry);         AAAD_ParserDefaultUserEntry defEntry             ("default_entry", (AAAD_UserEntry&)*u);         defEntry.populate(n->getFirstChild());         AAAD_USER_DB().Register(u);         return (0);      }};class AAAD_UserDbLoader{   public:      AAAD_UserDbLoader(const char *name) {         Open(name);      }   protected:      int Open(const char *name) {         OD_Utl_XMLTreeParser parser;         AAAD_ParserUserDb root("user_db");         return parser.open(name, root);      }};#endif // __AAAD_USER_DB_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲丝袜美腿综合| 一级中文字幕一区二区| 综合久久久久久| 日韩激情中文字幕| 成人免费va视频| 日韩一区二区免费在线观看| 国产精品传媒在线| 国产在线观看一区二区| 欧美性一级生活| 成人免费小视频| 国产精品一区二区在线观看不卡 | 日韩女优制服丝袜电影| 日韩一区欧美小说| 岛国精品在线观看| 精品少妇一区二区三区视频免付费 | 欧美一级国产精品| 亚洲一区二区av电影| 成a人片亚洲日本久久| 26uuuu精品一区二区| 日本成人超碰在线观看| 欧洲国产伦久久久久久久| |精品福利一区二区三区| 国产成人自拍网| xf在线a精品一区二区视频网站| 天堂av在线一区| 欧美挠脚心视频网站| 午夜精品免费在线观看| 91福利视频久久久久| 一区二区三区在线视频观看| 99在线精品免费| 日韩伦理免费电影| 99久久99久久免费精品蜜臀| 国产精品网站一区| 不卡视频在线观看| 国产精品国模大尺度视频| 成人av网址在线观看| 午夜精品视频在线观看| 亚洲电影一区二区| 国产欧美精品一区| 日韩久久精品一区| 美女视频黄 久久| 亚洲九九爱视频| 丁香婷婷综合激情五月色| 久久午夜国产精品| 国产激情精品久久久第一区二区 | 亚洲精品国产精品乱码不99 | 激情国产一区二区| 精品美女一区二区| 国产精品18久久久| 亚洲欧美日韩系列| 欧美三级一区二区| 美女诱惑一区二区| 亚洲国产精品av| 风间由美中文字幕在线看视频国产欧美 | 精品国产1区二区| 国产精品自拍av| 国产精品国产a级| 欧美午夜电影一区| 久久se这里有精品| 国产精品女主播av| 日韩精品中文字幕一区二区三区 | 欧美日韩免费高清一区色橹橹| 一区二区三区电影在线播| 91精品国产综合久久精品| 国产一区二区调教| 亚洲人成伊人成综合网小说| 欧美区在线观看| 国产不卡在线播放| 亚洲一区二区欧美日韩 | 综合激情成人伊人| 日韩欧美一级精品久久| 高清在线不卡av| 五月激情综合婷婷| 国产精品每日更新| 日韩精品一区二区三区蜜臀| 99视频超级精品| 麻豆成人久久精品二区三区红| 国产精品护士白丝一区av| 91免费看`日韩一区二区| 亚洲国产精品高清| 日韩成人dvd| 99精品视频在线观看| 欧美日韩一区 二区 三区 久久精品| 国产成人综合自拍| 欧美不卡一二三| 99热精品一区二区| 激情综合亚洲精品| 一区二区欧美视频| 中文字幕不卡三区| 欧美成人精精品一区二区频| 色婷婷av久久久久久久| 国产精品一二一区| 免费欧美日韩国产三级电影| 亚洲女同一区二区| 久久久国产精品午夜一区ai换脸| 欧美午夜不卡在线观看免费| 99久久精品国产导航| 国产精品一区二区三区网站| 日本欧美在线观看| 五月激情综合色| 欧美日韩午夜在线视频| 中文字幕一区二区三区av| 欧美日本国产视频| 91福利视频网站| 一本一本大道香蕉久在线精品| 成人精品小蝌蚪| 国产ts人妖一区二区| 国产一区美女在线| 久久er精品视频| 久久精品999| 美女mm1313爽爽久久久蜜臀| 日韩福利电影在线| 首页亚洲欧美制服丝腿| 亚洲成人免费电影| 亚洲成a人片在线观看中文| 亚洲色图欧洲色图婷婷| 国产调教视频一区| 国产欧美日韩精品a在线观看| 精品88久久久久88久久久| 精品国产免费一区二区三区香蕉 | 精品久久一区二区三区| 欧美一级一区二区| 日韩一级片网址| av亚洲精华国产精华精华 | 欧美一级淫片007| 理论电影国产精品| 麻豆精品视频在线| 蜜臀av一区二区在线免费观看| 丝袜美腿亚洲综合| 蜜桃传媒麻豆第一区在线观看| 免费欧美在线视频| 国产精品影音先锋| 暴力调教一区二区三区| 色先锋资源久久综合| 欧美午夜一区二区三区免费大片| 欧美日韩不卡一区| 精品国产露脸精彩对白| 日本一区二区成人在线| 亚洲女爱视频在线| 日本不卡一区二区三区高清视频| 老司机免费视频一区二区| 高清不卡一区二区在线| 91视视频在线直接观看在线看网页在线看| 色婷婷av一区| 精品国产伦一区二区三区免费| 中文字幕国产一区二区| 亚洲一区二区三区爽爽爽爽爽| 日韩精彩视频在线观看| 欧美精品在线观看一区二区| 久久久久久久久久看片| 日韩美女久久久| 久久电影国产免费久久电影| 成人教育av在线| 欧美日韩在线观看一区二区| 亚洲国产精品麻豆| 午夜精品一区二区三区免费视频 | 高清shemale亚洲人妖| 色婷婷精品大在线视频| 日韩免费成人网| 亚洲精品国产a| 国产美女主播视频一区| 欧美亚洲精品一区| 国产精品无圣光一区二区| 天堂va蜜桃一区二区三区漫画版| 成人av先锋影音| 精品区一区二区| 亚洲午夜精品在线| 成人黄色在线视频| 精品嫩草影院久久| 亚洲福利电影网| 97国产精品videossex| 国产在线国偷精品产拍免费yy| 久色婷婷小香蕉久久| 奇米精品一区二区三区在线观看 | av亚洲精华国产精华| 精品国产自在久精品国产| 亚洲制服丝袜av| 国产91清纯白嫩初高中在线观看| 欧美精品v日韩精品v韩国精品v| 国产精品久久免费看| 国产在线精品免费| 欧美肥胖老妇做爰| 亚洲一区二区欧美激情| 99视频精品在线| 国产精品久久久爽爽爽麻豆色哟哟| 麻豆精品一区二区av白丝在线| 欧美午夜不卡视频| 亚洲一区二区黄色| 色综合久久88色综合天天免费| 国产欧美在线观看一区| 国产麻豆一精品一av一免费 | 国产一区二区三区在线观看免费视频 | 一区二区三区在线视频观看58| 国产99精品在线观看| 26uuu精品一区二区三区四区在线| 日本网站在线观看一区二区三区| 色香色香欲天天天影视综合网| 亚洲欧美在线高清| eeuss鲁一区二区三区| 国产精品日日摸夜夜摸av|