通过建立用户当前连接记录表的全局结构,在线程模式下加入对用户名密码验证下的连接数限制
修改的文件
ss5main.h
加入结构
struct _OpenDevCurrConnNode
加入结构数组
struct _OpenDevCurrConnNode *OpenDevCurrConnList[MAXAUTHCACHELIST];
修改结构
struct _S5AuthCacheNode
加入互斥锁
pthread_mutex_t ODConnMutex;
加入函数指针
S5RetCode (*FreeCurrConnList)( struct _OpenDevCurrConnNode **node );

SS5Mod_authentication.h
修改函数声明
S5RetCode  UpdateAuthCach(....);
S5RetCode  AddAuthCache
S5RetCode  GetAuthCache
加入函数声明
int OpenDevGetCurrConn(char *u);
S5RetCode OpenDevUpdateCurrConn(char *u, int modiConn);
S5RetCode OpenDevFreeCurrConnList( struct _OpenDevCurrConnNode **node );
S5RetCode OpenDevBrowseCurrConnList( struct _OpenDevCurrConnNode *node );
inline S5Limit OpenDevConnListHash( char *u );

SS5Mod_authentication.c
修改函数
S5RetCode Authentication(...)
S5RetCode  UpdateAuthCach(char *u,   char *p ,   int *connlimit);
S5RetCode  AddAuthCache(char *u,   char *p ,   int *connlimit);
S5RetCode  GetAuthCache(char *u,   char *p ,   int connlimit);
加入函数
int OpenDevGetCurrConn(char *u);
S5RetCode OpenDevUpdateCurrConn(char *u, int modiConn);
S5RetCode OpenDevFreeCurrConnList( struct _OpenDevCurrConnNode **node );
S5RetCode OpenDevBrowseCurrConnList( struct _OpenDevCurrConnNode *node );
inline S5Limit OpenDevConnListHash( char *u );

SS5Util.c
修改函数
S5FreeConfData    加入处理释放当前连接数列表OpenDevConnList
posted on 2006-03-26 14:18  Ardar  阅读(1100)  评论(0编辑  收藏  举报