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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? plugin.c

?? partysip 插件開(kāi)發(fā) 用于實(shí)時(shí)在線管理
?? C
字號(hào):
/*  The NOTIFY plugin is a GPL plugin for partysip.  Copyright (C) 2002 2003  Aymeric MOIZARD - <jack@atosc.org>    The NOTIFY plugin is free software; you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation; either version 2 of the License, or  (at your option) any later version.    The NOTIFY plugin 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 General Public License for more details.  You should have received a copy of the GNU General Public License  along with Foobar; if not, write to the Free Software  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/#include <partysip/partysip.h>#include "plugin.h"#include <osipparser2/osip_port.h>#include <osipparser2/osip_message.h>#include <ppl/ppl_md5.h>#include <sql_module.h>plugin_ctx_t *plugin_context = NULL;extern psp_plugin_t PPL_DECLARE_DATA mysqldb_notify_plugin;extern char name_config[50];intplugin_ctx_init (){  int i;  plugin_context = (plugin_ctx_t *) malloc (sizeof (plugin_ctx_t));  if (plugin_context == NULL)    return -1;    /* my_thread_init(); */ /* do I need that? (only one thread access SQL elements. */  memset(plugin_context, '\0', sizeof(plugin_context));  i = module_notify_initialize();  if (i==0)    return 0;  plugin_ctx_free();  plugin_context = NULL;  return -1;}voidplugin_ctx_free (){  /* my_thread_end(); */  if (plugin_context==NULL) return;  if (plugin_context->connected==1)    mysql_close(&(plugin_context->mysql_conn));  plugin_context->connected = 0;  free (plugin_context);  plugin_context = NULL;}intcb_plugin_catch_2xxanswer (psp_request_t * psp_req, osip_message_t * response)   /* HOOK MIDDLE */{  osip_message_t *request;  osip_header_t *event;  osip_generic_param_t *tag_to;  subscription_t sub;  publication_t pub;  int i;  int auth=0;  request = psp_request_get_request(psp_req); if (!MSG_IS_SUBSCRIBE (request) && !MSG_IS_PUBLISH (request) )    {      /* bug?? */      psp_request_set_state (psp_req, PSP_CONTINUE);      return 0;    }  if (0 != psp_core_is_responsible_for_this_domain (request->						    req_uri))    {      /* this module only handle SUBSCRIBE to local users */      psp_request_set_state (psp_req, PSP_CONTINUE);      return 0;    }  OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_INFO4, NULL,                          "%s plugin: build NOTIFY for SUBSCRIBE or PUBLISH!\n",			  PLUGIN_NAME));  osip_message_header_get_byname(response, "event", 0, &event);  if (event==NULL || event->hvalue==NULL)    {      /* serach for compact form of Event header: "o" */      osip_message_header_get_byname(response, "o", 0, &event);    }  if (event==NULL || event->hvalue==NULL)      osip_message_header_get_byname(request, "event", 0, &event);  if (event==NULL || event->hvalue==NULL)      osip_message_header_get_byname(request, "o", 0, &event);    if (event==NULL || event->hvalue==NULL)    {      OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_ERROR, NULL,			      "%s plugin: missing event header in SUBSCRIBE or PUBLISH!\n",			      PLUGIN_NAME));      psp_request_set_state (psp_req, PSP_CONTINUE);      return 0;    }  memset(&pub, '\0', sizeof(publication_t));  snprintf(pub.username, 64, "%s", request->req_uri->username);  snprintf(pub.domain, 128, "%s", request->req_uri->host);  i = module_notify_get_publication(&pub, event->hvalue);  if (i!=0)    {      OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_WARNING, NULL,			      "%s plugin: no available publication for user!\n",			      PLUGIN_NAME));    }      if (MSG_IS_SUBSCRIBE (request))    {            osip_from_param_get_byname (response->to, "tag", &tag_to);      if (tag_to==NULL || tag_to->gvalue==NULL)	{	  OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_ERROR, NULL,				  "%s plugin: missing tag in to header of SUBSCRIBE!\n",				  PLUGIN_NAME));	  psp_request_set_state (psp_req, PSP_CONTINUE);	  return 0;	}      memset(&sub ,0 , sizeof(subscription_t));      i = module_notify_get_notify_template(tag_to->gvalue, event->hvalue, &sub);      if (i!=0)	{	  OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_ERROR, NULL,				  "%s plugin: failed to get notify template!\n",				  PLUGIN_NAME));	  psp_request_set_state (psp_req, PSP_CONTINUE);	  return 0;	}            OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_INFO4, NULL,			      "%s plugin: notify template: %s\n",			      PLUGIN_NAME, sub.notify_template));      /* TODO: look for user authorization */      /* */      auth=1;      if (auth==0)	{	  build_notify(&sub, NULL);	}      else	{	  build_notify(&sub, &pub);	}      return 0;    }  else /* PUBLISH request */    {      OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_INFO2, NULL,			      "%s plugin: must send all NOTIFYs for all sub!\n",			      PLUGIN_NAME));      /* get nofify info from user/domain informations */      i = module_notify_send_all_notification(&pub, event->hvalue);      if (i!=0)	{	  OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_INFO2, NULL,				  "%s plugin: no available publication for user!\n",				  PLUGIN_NAME));	  psp_request_set_state (psp_req, PSP_CONTINUE);	  return 0;	}    }  psp_request_set_state (psp_req, PSP_CONTINUE);  return 0;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久理论电影网| 这里只有精品99re| 国产成人综合在线观看| 另类小说图片综合网| 亚洲成av人综合在线观看| 亚洲精品中文字幕在线观看| 国产日产精品1区| 久久午夜电影网| 久久久99精品免费观看不卡| 国产亚洲欧洲一区高清在线观看| 精品国产精品网麻豆系列| 精品国产sm最大网站免费看| 亚洲精品一区二区三区精华液 | 欧美日韩免费高清一区色橹橹 | 精品国产伦一区二区三区观看体验 | 久久国产精品露脸对白| 久久精品国产久精国产| 狠狠色狠狠色综合系列| 国产成人免费xxxxxxxx| 99vv1com这只有精品| 色乱码一区二区三区88| 欧美久久久久久蜜桃| 欧美电影免费观看高清完整版在线观看 | 99精品视频在线免费观看| 在线观看网站黄不卡| 欧美一级爆毛片| 26uuu亚洲综合色欧美| 欧美韩国日本综合| 亚洲综合激情小说| 日本午夜一区二区| 国产成人免费视频一区| 一本大道久久a久久综合| 欧美日韩一区二区三区在线 | 国产精品少妇自拍| 一区二区在线电影| 美国十次综合导航| 成人丝袜18视频在线观看| 91色porny| 日韩欧美久久一区| 国产精品日韩成人| 午夜精品久久久久久久久久久| 久久精品72免费观看| 成人理论电影网| 91精品国产综合久久精品性色| 精品国产91乱码一区二区三区| 国产精品传媒视频| 日韩专区欧美专区| 丁香激情综合国产| 6080日韩午夜伦伦午夜伦| 久久久久久97三级| 亚洲成人一区在线| 成人午夜私人影院| 欧美一级一区二区| 亚洲欧洲日韩女同| 久久99久久精品| 色综合久久久久网| 久久影院电视剧免费观看| 亚洲最大色网站| 高清不卡在线观看| 欧美一区二区三区在线| 国产精品成人午夜| 精品一二三四区| 欧美在线三级电影| 欧美国产日韩亚洲一区| 久久精品999| 欧美三级在线看| 日本一区二区三区电影| 另类中文字幕网| 欧美日韩亚洲综合一区| 中文字幕第一区第二区| 激情伊人五月天久久综合| 欧美日韩国产一级片| 国产精品理伦片| 国产一区视频网站| 91精品国产麻豆国产自产在线| 中文字幕一区二区三区av| 国产在线麻豆精品观看| 制服丝袜亚洲网站| 亚洲国产wwwccc36天堂| 91一区一区三区| 国产欧美日韩三区| 国产一区二区精品在线观看| 91精品免费在线观看| 亚洲1区2区3区4区| 欧美揉bbbbb揉bbbbb| 亚洲精品国产a久久久久久| 成人动漫中文字幕| 亚洲国产精品成人综合| 国产精品综合视频| 精品欧美久久久| 美脚の诱脚舐め脚责91| 欧美一级在线视频| 日韩极品在线观看| 欧美日韩美女一区二区| 午夜精品aaa| 欧美日韩国产天堂| 亚洲国产综合91精品麻豆| 色婷婷一区二区| 亚洲视频狠狠干| 91久久人澡人人添人人爽欧美| 亚洲美女免费视频| 91色.com| 亚洲国产精品一区二区www在线 | 欧美精品一区二区蜜臀亚洲| 麻豆精品视频在线观看免费| 欧美丰满一区二区免费视频| 亚洲高清免费视频| 欧美女孩性生活视频| 奇米四色…亚洲| 日韩欧美在线网站| 麻豆91在线播放免费| 欧美成人免费网站| 国产美女主播视频一区| 国产欧美日韩精品一区| 不卡的av中国片| 亚洲婷婷在线视频| 欧美在线观看禁18| 午夜一区二区三区在线观看| 91精品国产一区二区三区| 美女视频一区二区| 久久久久久久久久电影| 成人永久aaa| 亚洲精品免费视频| 欧美日韩免费一区二区三区视频| 蜜臀av一区二区在线免费观看| 日韩精品资源二区在线| 国产精品1区二区.| 亚洲另类在线制服丝袜| 欧美人体做爰大胆视频| 九九久久精品视频| 欧美极品美女视频| 欧美综合久久久| 久久国产精品99久久久久久老狼| 欧美激情一区二区三区不卡| 色香蕉成人二区免费| 日韩精品电影在线| 国产校园另类小说区| 91在线视频免费91| 日本大胆欧美人术艺术动态| 久久精品一区蜜桃臀影院| 不卡av在线免费观看| 首页综合国产亚洲丝袜| 久久久久久久综合日本| 91蜜桃在线免费视频| 男女男精品视频| 国产精品妹子av| 欧美日韩一区二区三区视频| 国产呦精品一区二区三区网站 | 91在线精品一区二区| 午夜成人在线视频| 欧美国产日韩在线观看| 欧美日韩第一区日日骚| 国产精品91xxx| 亚洲一区二区精品视频| 欧美精品一区二区三区蜜桃视频 | 久久久久久免费毛片精品| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美优质美女网站| 狠狠色综合播放一区二区| 亚洲精品免费一二三区| 久久久久久久网| 欧美日韩中文字幕一区二区| 国产成人亚洲综合a∨婷婷| 午夜成人免费视频| 国产精品你懂的在线欣赏| 亚洲色图视频网站| 日韩三级视频中文字幕| 91在线你懂得| 国产精品影视在线| 日韩精品1区2区3区| 综合av第一页| 久久午夜色播影院免费高清| 欧美日韩国产中文| 91视频在线观看| 国产成人夜色高潮福利影视| 美女爽到高潮91| 亚洲成a天堂v人片| 亚洲欧洲精品天堂一级 | 中文字幕一区二区三| 久久综合狠狠综合久久激情| 欧美三级一区二区| 91麻豆swag| 成人动漫视频在线| 国产一区二区日韩精品| 欧美a一区二区| 亚洲一区二区精品视频| 中文字幕制服丝袜成人av| 久久精品免费在线观看| 日韩午夜激情免费电影| 欧美日韩一区视频| 91黄色激情网站| 91在线视频官网| 99久久久无码国产精品| 国产91清纯白嫩初高中在线观看| 极品少妇xxxx偷拍精品少妇| 日韩成人av影视| 香蕉久久一区二区不卡无毒影院| 亚洲精品亚洲人成人网| 国产精品第四页| 亚洲免费视频中文字幕|