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

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

?? policyinfo.c

?? IBE是一種非對稱密碼技術
?? C
?? 第 1 頁 / 共 4 頁
字號:
   VoltLibCtx *libCtx,
   int **result
));

int VoltLocalPolicyGetInfoAlloc (
   VtPolicyCtx policyCtx,
   VoltPolicyGetType policyGetType,
   Pointer definition,
   Pointer *info
   )
{
  int status;
  unsigned int flag;
  VoltPolicyCtx *ctx = (VoltPolicyCtx *)policyCtx;
  VoltLibCtx *libCtx = (VoltLibCtx *)(ctx->voltObject.libraryCtx);
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  *info = (Pointer)0;

  switch (policyGetType)
  {
    default:
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_POLICY_NOT_SUPPORTED;
      break;

    case VOLT_POLICY_GET_IS_LOCAL_ID:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = IsIdentityLocalAlloc (
        ctx, libCtx, (VoltIdentityObject *)definition,
        (VtItem **)info);
      break;

    case VOLT_POLICY_GET_LOCAL_DOMAIN:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = GetLocalDomainAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_PROVISIONED_DISTRICT:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = ProvisionedDistrictAlloc (
        ctx, libCtx, (VoltIdentityObject *)definition,
        (VtItem **)info);
      break;

    case VOLT_POLICY_GET_DEFAULT_DISTRICT_COMPUTED:
      /* This policy does not override the regular default algorithm.
       * *info is initialized to NULL.
       */
      status = 0;
      break;

    case VOLT_POLICY_GET_FALL_THROUGH_DISTRICT:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = FallThroughDistrictAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_IS_DISTRICT_AGGRESSIVE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = IsDistrictAggressiveAlloc (
        ctx, libCtx, (VoltDistrictObject *)definition, (int **)info);
      break;

    case VOLT_POLICY_GET_REFRESH_RATE_NEGATIVE:
    case VOLT_POLICY_GET_REFRESH_RATE_POSITIVE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = RefreshRateAlloc (ctx, libCtx, policyGetType, (int **)info);
      break;

    case VOLT_POLICY_GET_IS_PARAM_CHECKING_STRICT:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = IsParamCheckingStrictAlloc (ctx, libCtx, (int **)info);
      break;

    case VOLT_POLICY_GET_IS_TRUSTED_DISTRICT:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = IsDistrictTrustedAlloc (
        ctx, libCtx, (VoltDistrictObject *)definition, (int **)info);
      break;

    case VOLT_POLICY_GET_CREDENTIAL_CACHE_MODE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = CredentialCacheModeAlloc (ctx, libCtx, (int **)info);
      break;

    case VOLT_POLICY_GET_SECURE_MAIL_HEADER:
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_TYPE;
      if (definition == (Pointer)0)
        break;

      flag = *((unsigned int *)definition);

      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = HeaderFooterAlloc (ctx, libCtx, flag, (VtItem **)info);
      break;
    
    case VOLT_POLICY_GET_MESSAGE_HEADER_INTERNAL:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = MessageHeaderInternalAlloc(ctx, libCtx, (VtItem**)info);
      break;

    case VOLT_POLICY_GET_MESSAGE_HEADER_EXTERNAL:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = MessageHeaderExternalAlloc(ctx, libCtx, (VtItem**)info);
      break;

    case VOLT_POLICY_GET_CONTENT_FOOTER:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = HeaderFooterAlloc (ctx, libCtx, 0, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_ZERO_DOWNLOAD_TEMPLATE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = ZdrTemplateAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_ZDM2_TEMPLATE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = Zdm2TemplateAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_HTML_MESSAGE_BODY_TEMPLATE:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = HTMLMessageBodyTemplateAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_ENCRYPT_RULES:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = EncryptRulesAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_DEFAULT_ZDR_LOCATION:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = DefaultZdrLocationAlloc (ctx, libCtx, (VtItem **)info);
      break;

    case VOLT_POLICY_GET_DECRYPT_POLICY:
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = DecryptPolicyAlloc (ctx, libCtx, (int **)info);
  }

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, policyCtx, status, 0, errorType,
    (char *)0, "VoltLocalPolicyGetInfoAlloc", fnctLine, (char *)0)

  return (status);
}

void VoltLocalPolicyGetInfoFree (
   VtPolicyCtx policyCtx,
   Pointer info
   )
{
  VoltPolicyCtx *ctx = (VoltPolicyCtx *)policyCtx;
  VoltLibCtx *libCtx = (VoltLibCtx *)(ctx->voltObject.libraryCtx);

  /* Anything to free?
   */
  if (info == (Pointer)0)
    return;

  /* Any info returned by GetInfoAlloc is indeed allocated.
   * Furthermore, it is always a single, continuous piece of memory.
   */
  Z2Free (info);
}

static int IsIdentityLocalAlloc (
   VoltPolicyCtx *ctx,
   VoltLibCtx *libCtx,
   VoltIdentityObject *idObj,
   VtItem **districtName
   )
{
  int status;
  unsigned int bufferSize, emailAddressLen, domainLen;
  VoltDefaultPolicyCtx *localPolicyCtx =
    (VoltDefaultPolicyCtx *)(ctx->localCtx);
  unsigned char *emailAddress, *domain;
  unsigned char *buffer = (unsigned char *)0;
  VtItem *retVal;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This policy looks at email only. Get the domain.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltGetEmailAndDomain (
      idObj, &emailAddress, &emailAddressLen, &domain, &domainLen);
    if (status != 0)
      break;

    /* If there is no domain, there's no email address in this identity
     * object, this policy can say nothing about non-email id's.
     */
    if (domain == (unsigned char *)0)
      break;

    /* This checks the XML data. If the return is 0, this is not a local
     * domain.
     */
    status = m_vs_cp_is_local_domain (localPolicyCtx->vsPolicyObj, domain);
    if (status == 0)
      break;

    /* This is a local domain. Allocate space for a VtItem and a copy of
     * the district name and return it.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_MEMORY;
    bufferSize = sizeof (VtItem) + domainLen + 1;
    buffer = Z2Malloc (bufferSize, 0);
    if (buffer == (unsigned char *)0)
      break;
    Z2Memset (buffer, 0, bufferSize);
    retVal = (VtItem *)buffer;

    /* Point the data to the space after the VtItem, it's a byte
     * array, no need to worry about alignment.
     */
    retVal->data = buffer + sizeof (VtItem);

    Z2Memcpy (retVal->data, domain, domainLen);
    retVal->len = domainLen;

    *districtName = retVal;

    status = 0;

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, ctx, status, 0, errorType,
    (char *)0, "IsIdentityLocalAlloc", fnctLine, (char *)0)

  return (status);
}

static int GetLocalDomainAlloc (
   VoltPolicyCtx *ctx,
   VoltLibCtx *libCtx,
   VtItem **domainName
   )
{
  int status;
  unsigned int bufferSize, domainLen;
  VoltDefaultPolicyCtx *localPolicyCtx =
    (VoltDefaultPolicyCtx *)(ctx->localCtx);
  char *domain = (char *)0;
  unsigned char *buffer = (unsigned char *)0;
  VtItem *retVal;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  *domainName = (VtItem *)0;

  do
  {
    /* This checks the XML data. If the return is NULL, there is no
     * local domain.
     */
    status = 0;
    domain = m_vs_cp_get_primary_domain (localPolicyCtx->vsPolicyObj);
    if (domain == (char *)0)
      break;

    domainLen = Z2Strlen (domain);

    /* There is a local domain. Allocate space for a VtItem and a copy of
     * the domain name and return it.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_MEMORY;
    bufferSize = sizeof (VtItem) + domainLen + 1;
    buffer = Z2Malloc (bufferSize, 0);
    if (buffer == (unsigned char *)0)
      break;
    Z2Memset (buffer, 0, bufferSize);
    retVal = (VtItem *)buffer;

    /* Point the data to the space after the VtItem, it's a byte
     * array, no need to worry about alignment.
     */
    retVal->data = buffer + sizeof (VtItem);

    Z2Memcpy (retVal->data, domain, domainLen);
    retVal->len = domainLen;

    *domainName = retVal;

    status = 0;

  } while (0);

  if (domain != (char *)0)
    Z2Free (domain);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, ctx, status, 0, errorType,
    (char *)0, "GetLocalDomainAlloc", fnctLine, (char *)0)

  return (status);
}

static int ProvisionedDistrictAlloc (
   VoltPolicyCtx *ctx,
   VoltLibCtx *libCtx,
   VoltIdentityObject *idObj,
   VtItem **districtName
   )
{
  int status;
  unsigned int bufferSize, emailAddressLen, domainLen;
  VoltDefaultPolicyCtx *localPolicyCtx =
    (VoltDefaultPolicyCtx *)(ctx->localCtx);
  unsigned char *emailAddress, *domain;
  char *newName = (char *)0;
  unsigned char *buffer = (unsigned char *)0;
  VtItem *retVal;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This policy looks at email only. Get the email address.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltGetEmailAndDomain (
      idObj, &emailAddress, &emailAddressLen, &domain, &domainLen);
    if (status != 0)
      break;

    /* If there is no domain, there's no email address in this identity
     * object, this policy can say nothing about non-email id's.
     */
    if (domain == (unsigned char *)0)
      break;

    /* This checks the XML data. If the return is 0, this is not a
     * provisioned identity.
     */
    status = m_vs_cp_is_user_provisioned (
      localPolicyCtx->vsPolicyObj, emailAddress);
    if (status == 0)
      break;

    /* The address is provisioned.
     */

    /* Get the provisioned district name.
     */
    status = 0;
    newName = m_vs_cp_get_provisioned_district (localPolicyCtx->vsPolicyObj);
    if (newName == (char *)0)
      break;

    /* Allocate space for a VtItem and a copy of the district name and
     * return it.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_MEMORY;
    domainLen = Z2Strlen (newName);
    bufferSize = sizeof (VtItem) + domainLen + 1;
    buffer = Z2Malloc (bufferSize, 0);
    if (buffer == (unsigned char *)0)
      break;
    Z2Memset (buffer, 0, bufferSize);
    retVal = (VtItem *)buffer;

    /* Point the data to the space after the VtItem, it's a byte
     * array, no need to worry about alignment.
     */
    retVal->data = buffer + sizeof (VtItem);

    Z2Memcpy (retVal->data, newName, domainLen);
    retVal->len = domainLen;

    *districtName = retVal;

    status = 0;

  } while (0);

  if (newName != (char *)0)
    m_vs_free_memory (localPolicyCtx->vsPolicyObj, newName);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, libCtx, ctx, status, 0, errorType,
    (char *)0, "ProvisionedDistrictAlloc", fnctLine, (char *)0)

  return (status);
}

static int FallThroughDistrictAlloc (
   VoltPolicyCtx *ctx,
   VoltLibCtx *libCtx,
   VtItem **districtName
   )
{
  int status;
  unsigned int bufferSize, districtLen;
  VoltDefaultPolicyCtx *localPolicyCtx =
    (VoltDefaultPolicyCtx *)(ctx->localCtx);
  char *district = (char *)0;
  unsigned char *buffer = (unsigned char *)0;
  VtItem *retVal;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This checks the XML data. If the return is null, there is no fall
     * through district.
     */
    status = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久久久黄色| 精品视频1区2区3区| 91麻豆精品国产| 日韩成人免费电影| 日韩欧美国产系列| 国精品**一区二区三区在线蜜桃| 精品理论电影在线观看| 国产精品自拍毛片| 1000精品久久久久久久久| 91九色02白丝porn| 午夜久久久影院| 精品国产乱码久久久久久久| 国产成人三级在线观看| 亚洲欧美视频一区| 欧美一区二区久久久| 国产精品亚洲人在线观看| 亚洲大片免费看| 久久无码av三级| 91久久奴性调教| 成人精品视频.| 手机精品视频在线观看| 国产视频一区在线播放| 欧美性一二三区| 国产九九视频一区二区三区| 日韩精品色哟哟| 亚洲国产日韩精品| 国产丝袜美腿一区二区三区| 欧美大片一区二区| 日韩一区二区三区视频| 91天堂素人约啪| 精品一区二区三区免费毛片爱| 亚洲女同ⅹxx女同tv| 国产精品成人网| 欧美tk—视频vk| 欧美一二区视频| 日韩欧美成人一区| 日韩精品中午字幕| 欧美大黄免费观看| 精品国产乱码久久久久久1区2区 | 555www色欧美视频| 欧美日免费三级在线| 欧美日韩一级视频| 在线电影欧美成精品| 91免费在线视频观看| 北条麻妃一区二区三区| 美洲天堂一区二卡三卡四卡视频| 中文字幕一区二区在线观看| 国产精品理伦片| 亚洲视频1区2区| 欧美激情一区二区三区全黄| 欧美精品久久天天躁| 欧美精品乱码久久久久久按摩| 91精品欧美综合在线观看最新| 欧美精选一区二区| 欧美大尺度电影在线| 精品国产自在久精品国产| 久久精品免视看| 亚洲三级电影网站| 亚洲一区在线视频| 国产精品妹子av| 久久婷婷综合激情| 国产精品天干天干在观线| 亚洲欧美日韩中文播放| 午夜精品福利久久久| 狠狠色狠狠色综合| 91丨porny丨国产| 欧美美女网站色| 久久精品人人做人人综合 | 黑人巨大精品欧美一区| 国产不卡在线一区| 国产精品综合一区二区| 91丨九色丨黑人外教| 日韩亚洲欧美在线| 国产精品精品国产色婷婷| 亚洲成a人片综合在线| 国内久久婷婷综合| 色又黄又爽网站www久久| 99精品热视频| 色综合欧美在线视频区| 欧美视频精品在线| 国产日韩精品一区二区三区 | 成人av高清在线| 成+人+亚洲+综合天堂| 欧美无乱码久久久免费午夜一区 | 一本一道久久a久久精品| 欧美精品一卡两卡| 欧美国产精品一区二区三区| 亚洲国产中文字幕在线视频综合 | 91高清视频免费看| 欧美成人综合网站| 一区二区三区四区在线| 亚洲图片一区二区| 国产精品一区二区无线| 欧美丝袜第三区| 国产精品理论片在线观看| 美女视频第一区二区三区免费观看网站 | 久久色在线观看| 亚洲3atv精品一区二区三区| www.爱久久.com| 精品精品欲导航| 性久久久久久久| 99久久国产综合精品女不卡| 欧美成人女星排行榜| 亚洲综合男人的天堂| 国产乱码精品一区二区三区av | 精品盗摄一区二区三区| 亚洲一区av在线| eeuss鲁片一区二区三区| 精品久久一二三区| 丝袜亚洲另类欧美综合| 色婷婷久久99综合精品jk白丝| 欧美激情一区二区| 国产精品一品二品| 日韩欧美www| 日产欧产美韩系列久久99| 91成人网在线| 亚洲三级电影网站| 成人av在线一区二区| 欧美激情在线观看视频免费| 精品一区二区av| 精品欧美久久久| 精品在线播放午夜| 2023国产精品视频| 青草国产精品久久久久久| 成人午夜视频在线观看| 久久影视一区二区| 久久精品国产亚洲高清剧情介绍 | 久久久久久一级片| 激情综合亚洲精品| 欧美xxxxx裸体时装秀| 毛片av中文字幕一区二区| 在线电影欧美成精品| 图片区日韩欧美亚洲| 在线播放日韩导航| 日韩国产精品久久| 欧美一二三在线| 美国一区二区三区在线播放| 日韩三级在线观看| 国产伦精品一区二区三区视频青涩| 91老师片黄在线观看| 亚洲日本在线a| 欧美色综合影院| 日本成人中文字幕| 精品动漫一区二区三区在线观看| 精品一区二区在线播放| 久久九九影视网| 99在线精品免费| 亚洲精品菠萝久久久久久久| 国产精品资源站在线| 国产欧美视频一区二区| 成人精品一区二区三区中文字幕| 亚洲欧美日韩久久| 7799精品视频| 黄页视频在线91| 日韩伦理电影网| 欧美日本视频在线| 亚洲资源中文字幕| 7777精品伊人久久久大香线蕉完整版| 免费不卡在线观看| 国产亚洲福利社区一区| 99re在线精品| 日韩精品一级中文字幕精品视频免费观看 | 国产日韩精品久久久| a美女胸又www黄视频久久| 亚洲一区二区欧美| 日韩精品中文字幕一区二区三区 | 国产亚洲人成网站| 色综合激情五月| 日韩av不卡在线观看| 久久精品视频网| 欧洲视频一区二区| 最近日韩中文字幕| 欧美嫩在线观看| 国产成人av在线影院| 一区二区三区美女视频| 精品理论电影在线| 在线中文字幕不卡| 激情都市一区二区| 亚洲人亚洲人成电影网站色| 91精品国产麻豆国产自产在线 | 国产欧美中文在线| 91国在线观看| 国产综合久久久久久鬼色| 一个色妞综合视频在线观看| 欧美不卡视频一区| 91麻豆国产在线观看| 国模少妇一区二区三区| 亚洲综合精品自拍| 国产亚洲欧美日韩在线一区| 欧美日韩亚洲综合一区二区三区| 国产成人精品免费在线| 五月婷婷激情综合网| 亚洲天堂网中文字| 久久综合狠狠综合久久激情| 欧美性做爰猛烈叫床潮| 波多野结衣亚洲| 国内一区二区在线| 青青青爽久久午夜综合久久午夜| 亚洲色图在线播放| 国产欧美中文在线|