VirtualBox

儲存庫 vbox 的更動 67633


忽略:
時間撮記:
2017-6-27 上午10:34:35 (7 年 以前)
作者:
vboxsync
訊息:

Main/HostNetworkInterfaceImpl: enableStaticIPConfigV6 - Validate new
IPv6 address. When address or prefix validatation fails, provide an
error message. Compare new and old IPv6 addresses numerically, not
textually.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/src-server/HostNetworkInterfaceImpl.cpp

    r67566 r67633  
    515515#else
    516516    if (aIPV6NetworkMaskPrefixLength > 128)
    517         return E_INVALIDARG;
    518 
    519     int rc = S_OK;
    520     if (   m.realIPV6Address      != aIPV6Address
     517        return mVirtualBox->setErrorBoth(E_INVALIDARG, VERR_INVALID_PARAMETER,
     518                   "Invalid IPv6 prefix length");
     519
     520    int rc;
     521
     522    RTNETADDRIPV6 AddrOld, AddrNew;
     523    char *pszZoneIgnored;
     524    bool fAddrChanged;
     525
     526    rc = RTNetStrToIPv6Addr(aIPV6Address.c_str(), &AddrNew, &pszZoneIgnored);
     527    if (RT_FAILURE(rc))
     528    {
     529        return mVirtualBox->setErrorBoth(E_INVALIDARG, rc, "Invalid IPv6 address");
     530    }
     531
     532    rc = RTNetStrToIPv6Addr(com::Utf8Str(m.realIPV6Address).c_str(), &AddrOld, &pszZoneIgnored);
     533    if (RT_SUCCESS(rc))
     534    {
     535        fAddrChanged = (memcmp(&AddrNew, &AddrOld, sizeof(RTNETADDRIPV6)) == 0);
     536    }
     537    else
     538    {
     539        fAddrChanged = true;
     540    }
     541   
     542    if (   fAddrChanged
    521543        || m.realIPV6PrefixLength != aIPV6NetworkMaskPrefixLength)
    522544    {
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette