Changeset 39778 in vbox for trunk/src/VBox/Devices
- Timestamp:
- Jan 17, 2012 12:30:57 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 75724
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Network/DrvNAT.cpp
r39766 r39778 1016 1016 for (PCFGMNODE pNode = CFGMR3GetFirstChild(pMappingsCfg); pNode; pNode = CFGMR3GetNextChild(pNode)) 1017 1017 { 1018 if (!CFGMR3AreValuesValid(pNode, "HostName\0Host IP\0"))1018 if (!CFGMR3AreValuesValid(pNode, "HostName\0HostNamePattern\0HostIP\0")) 1019 1019 return PDMDRV_SET_ERROR(pThis->pDrvIns, VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES, 1020 1020 N_("Unknown configuration in dns mapping")); 1021 char szHostName[255]; 1022 RT_ZERO(szHostName); 1023 GET_STRING(rc, pThis, pNode, "HostName", szHostName[0], sizeof(szHostName)); 1021 char szHostNameOrPattern[255]; 1022 /* fMatch = false used for equal matching, and true if regex is used */ 1023 bool fMatch = false; 1024 RT_ZERO(szHostNameOrPattern); 1025 GET_STRING(rc, pThis, pNode, "HostName", szHostNameOrPattern[0], sizeof(szHostNameOrPattern)); 1026 if (rc == VERR_CFGM_VALUE_NOT_FOUND) 1027 { 1028 GET_STRING(rc, pThis, pNode, "HostNamePattern", szHostNameOrPattern[0], sizeof(szHostNameOrPattern)); 1029 if (rc == VERR_CFGM_VALUE_NOT_FOUND) 1030 { 1031 char szNodeName[225]; 1032 RT_ZERO(szNodeName); 1033 CFGMR3GetName(pNode, szNodeName, sizeof(szNodeName)); 1034 LogRel(("NAT: Neither 'HostName' nor 'HostNamePattern' is specified for mapping %s\n", szNodeName)); 1035 continue; 1036 } 1037 fMatch = true; 1038 } 1024 1039 struct in_addr HostIP; 1025 1040 GETIP_DEF(rc, pThis, pNode, HostIP, INADDR_ANY); 1026 slirp_add_host_resolver_mapping(pThis->pNATState, szHostName, HostIP.s_addr); 1041 if (rc == VERR_CFGM_VALUE_NOT_FOUND) 1042 { 1043 LogRel(("NAT: DNS mapping %s is ignored (address not pointed)\n", szHostNameOrPattern)); 1044 continue; 1045 } 1046 slirp_add_host_resolver_mapping(pThis->pNATState, fMatch ? NULL : szHostNameOrPattern, fMatch ? szHostNameOrPattern : NULL, HostIP.s_addr); 1027 1047 } 1028 1048 LogFlowFunc(("LEAVE: %Rrc\n", rc));
Note:
See TracChangeset
for help on using the changeset viewer.