Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
ISC Open Source Projects
Kea
Commits
f104a60a
Commit
f104a60a
authored
Dec 13, 2012
by
Marcin Siodelski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[2549] Replaced IOAddress::getFamily() with IOAddress::isVx() calls.
parent
b25d6802
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
42 additions
and
44 deletions
+42
-44
src/lib/dhcp/iface_mgr.cc
src/lib/dhcp/iface_mgr.cc
+9
-8
src/lib/dhcp/option4_addrlst.cc
src/lib/dhcp/option4_addrlst.cc
+2
-2
src/lib/dhcp/option6_addrlst.cc
src/lib/dhcp/option6_addrlst.cc
+1
-1
src/lib/dhcp/option_custom.cc
src/lib/dhcp/option_custom.cc
+6
-10
src/lib/dhcp/option_definition.cc
src/lib/dhcp/option_definition.cc
+1
-2
src/lib/dhcp/tests/option_custom_unittest.cc
src/lib/dhcp/tests/option_custom_unittest.cc
+2
-3
src/lib/dhcp/tests/option_data_types_unittest.cc
src/lib/dhcp/tests/option_data_types_unittest.cc
+2
-3
src/lib/dhcpsrv/addr_utilities.cc
src/lib/dhcpsrv/addr_utilities.cc
+10
-6
src/lib/dhcpsrv/alloc_engine.cc
src/lib/dhcpsrv/alloc_engine.cc
+1
-1
src/lib/dhcpsrv/pool.cc
src/lib/dhcpsrv/pool.cc
+4
-4
src/lib/dhcpsrv/subnet.cc
src/lib/dhcpsrv/subnet.cc
+4
-4
No files found.
src/lib/dhcp/iface_mgr.cc
View file @
f104a60a
...
...
@@ -213,7 +213,7 @@ bool IfaceMgr::openSockets4(const uint16_t port) {
++
addr
)
{
// Skip IPv6 addresses
if
(
addr
->
getFamily
()
!=
AF_INET
)
{
if
(
!
addr
->
isV4
()
)
{
continue
;
}
...
...
@@ -248,7 +248,7 @@ bool IfaceMgr::openSockets6(const uint16_t port) {
++
addr
)
{
// skip IPv4 addresses
if
(
addr
->
getFamily
()
!=
AF_INET6
)
{
if
(
!
addr
->
isV6
()
)
{
continue
;
}
...
...
@@ -356,12 +356,13 @@ int IfaceMgr::openSocket(const std::string& ifname, const IOAddress& addr,
if
(
!
iface
)
{
isc_throw
(
BadValue
,
"There is no "
<<
ifname
<<
" interface present."
);
}
switch
(
addr
.
getFamily
())
{
case
AF_INET
:
if
(
addr
.
isV4
())
{
return
openSocket4
(
*
iface
,
addr
,
port
);
case
AF_INET6
:
}
else
if
(
addr
.
isV6
())
{
return
openSocket6
(
*
iface
,
addr
,
port
);
default:
}
else
{
isc_throw
(
BadValue
,
"Failed to detect family of address: "
<<
addr
.
toText
());
}
...
...
@@ -798,7 +799,7 @@ IfaceMgr::receive4(uint32_t timeout_sec, uint32_t timeout_usec /* = 0 */) {
s
!=
socket_collection
.
end
();
++
s
)
{
// Only deal with IPv4 addresses.
if
(
s
->
addr_
.
getFamily
()
==
AF_INET
)
{
if
(
s
->
addr_
.
isV4
()
)
{
names
<<
s
->
sockfd_
<<
"("
<<
iface
->
getName
()
<<
") "
;
// Add this socket to listening set
...
...
@@ -951,7 +952,7 @@ Pkt6Ptr IfaceMgr::receive6(uint32_t timeout_sec, uint32_t timeout_usec /* = 0 */
s
!=
socket_collection
.
end
();
++
s
)
{
// Only deal with IPv4 addresses.
if
(
s
->
addr_
.
getFamily
()
==
AF_INET6
)
{
if
(
s
->
addr_
.
isV6
()
)
{
names
<<
s
->
sockfd_
<<
"("
<<
iface
->
getName
()
<<
") "
;
// Add this socket to listening set
...
...
src/lib/dhcp/option4_addrlst.cc
View file @
f104a60a
...
...
@@ -86,7 +86,7 @@ Option4AddrLst::pack4(isc::util::OutputBuffer& buf) {
}
void
Option4AddrLst
::
setAddress
(
const
isc
::
asiolink
::
IOAddress
&
addr
)
{
if
(
addr
.
getFamily
()
!=
AF_INET
)
{
if
(
!
addr
.
isV4
()
)
{
isc_throw
(
BadValue
,
"Can't store non-IPv4 address in "
<<
"Option4AddrLst option"
);
}
...
...
@@ -107,7 +107,7 @@ void Option4AddrLst::setAddresses(const AddressContainer& addrs) {
void
Option4AddrLst
::
addAddress
(
const
isc
::
asiolink
::
IOAddress
&
addr
)
{
if
(
addr
.
getFamily
()
!=
AF_INET
)
{
if
(
!
addr
.
isV4
()
)
{
isc_throw
(
BadValue
,
"Can't store non-IPv4 address in "
<<
"Option4AddrLst option"
);
}
...
...
src/lib/dhcp/option6_addrlst.cc
View file @
f104a60a
...
...
@@ -49,7 +49,7 @@ Option6AddrLst::Option6AddrLst(uint16_t type, OptionBufferConstIter begin,
void
Option6AddrLst
::
setAddress
(
const
isc
::
asiolink
::
IOAddress
&
addr
)
{
if
(
addr
.
getFamily
()
!=
AF_INET6
)
{
if
(
!
addr
.
isV6
()
)
{
isc_throw
(
BadValue
,
"Can't store non-IPv6 address in Option6AddrLst option"
);
}
...
...
src/lib/dhcp/option_custom.cc
View file @
f104a60a
...
...
@@ -58,14 +58,12 @@ void
OptionCustom
::
addArrayDataField
(
const
asiolink
::
IOAddress
&
address
)
{
checkArrayType
();
if
((
address
.
getFamily
()
==
AF_INET
&&
definition_
.
getType
()
!=
OPT_IPV4_ADDRESS_TYPE
)
||
(
address
.
getFamily
()
==
AF_INET6
&&
definition_
.
getType
()
!=
OPT_IPV6_ADDRESS_TYPE
))
{
if
((
address
.
isV4
()
&&
definition_
.
getType
()
!=
OPT_IPV4_ADDRESS_TYPE
)
||
(
address
.
isV6
()
&&
definition_
.
getType
()
!=
OPT_IPV6_ADDRESS_TYPE
))
{
isc_throw
(
BadDataTypeCast
,
"invalid address specified "
<<
address
.
toText
()
<<
". Expected a valid IPv"
<<
(
definition_
.
getType
()
==
OPT_IPV4_ADDRESS_TYPE
?
"4"
:
"6"
)
<<
" address."
);
<<
(
definition_
.
getType
()
==
OPT_IPV4_ADDRESS_TYPE
?
"4"
:
"6"
)
<<
" address."
);
}
OptionBuffer
buf
;
...
...
@@ -454,10 +452,8 @@ OptionCustom::writeAddress(const asiolink::IOAddress& address,
checkIndex
(
index
);
if
((
address
.
getFamily
()
==
AF_INET
&&
buffers_
[
index
].
size
()
!=
V4ADDRESS_LEN
)
||
(
address
.
getFamily
()
==
AF_INET6
&&
buffers_
[
index
].
size
()
!=
V6ADDRESS_LEN
))
{
if
((
address
.
isV4
()
&&
buffers_
[
index
].
size
()
!=
V4ADDRESS_LEN
)
||
(
address
.
isV6
()
&&
buffers_
[
index
].
size
()
!=
V6ADDRESS_LEN
))
{
isc_throw
(
BadDataTypeCast
,
"invalid address specified "
<<
address
.
toText
()
<<
". Expected a valid IPv"
<<
(
buffers_
[
index
].
size
()
==
V4ADDRESS_LEN
?
"4"
:
"6"
)
...
...
src/lib/dhcp/option_definition.cc
View file @
f104a60a
...
...
@@ -379,8 +379,7 @@ OptionDefinition::writeToBuffer(const std::string& value,
case
OPT_IPV6_ADDRESS_TYPE
:
{
asiolink
::
IOAddress
address
(
value
);
if
(
address
.
getFamily
()
!=
AF_INET
&&
address
.
getFamily
()
!=
AF_INET6
)
{
if
(
!
address
.
isV4
()
&&
!
address
.
isV6
())
{
isc_throw
(
BadDataTypeCast
,
"provided address "
<<
address
.
toText
()
<<
" is not a valid "
<<
(
address
.
getAddress
().
is_v4
()
?
"IPv4"
:
"IPv6"
)
...
...
src/lib/dhcp/tests/option_custom_unittest.cc
View file @
f104a60a
...
...
@@ -38,12 +38,11 @@ public:
/// @param [out] buf output buffer.
void
writeAddress
(
const
asiolink
::
IOAddress
&
address
,
std
::
vector
<
uint8_t
>&
buf
)
{
short
family
=
address
.
getFamily
();
if
(
family
==
AF_INET
)
{
if
(
address
.
isV4
())
{
asio
::
ip
::
address_v4
::
bytes_type
buf_addr
=
address
.
getAddress
().
to_v4
().
to_bytes
();
buf
.
insert
(
buf
.
end
(),
buf_addr
.
begin
(),
buf_addr
.
end
());
}
else
if
(
family
==
AF_INET6
)
{
}
else
if
(
address
.
isV6
()
)
{
asio
::
ip
::
address_v6
::
bytes_type
buf_addr
=
address
.
getAddress
().
to_v6
().
to_bytes
();
buf
.
insert
(
buf
.
end
(),
buf_addr
.
begin
(),
buf_addr
.
end
());
...
...
src/lib/dhcp/tests/option_data_types_unittest.cc
View file @
f104a60a
...
...
@@ -34,12 +34,11 @@ public:
/// @param [out] buf output buffer.
void
writeAddress
(
const
asiolink
::
IOAddress
&
address
,
std
::
vector
<
uint8_t
>&
buf
)
{
short
family
=
address
.
getFamily
();
if
(
family
==
AF_INET
)
{
if
(
address
.
isV4
())
{
asio
::
ip
::
address_v4
::
bytes_type
buf_addr
=
address
.
getAddress
().
to_v4
().
to_bytes
();
buf
.
insert
(
buf
.
end
(),
buf_addr
.
begin
(),
buf_addr
.
end
());
}
else
if
(
family
==
AF_INET6
)
{
}
else
if
(
address
.
isV6
()
)
{
asio
::
ip
::
address_v6
::
bytes_type
buf_addr
=
address
.
getAddress
().
to_v6
().
to_bytes
();
buf
.
insert
(
buf
.
end
(),
buf_addr
.
begin
(),
buf_addr
.
end
());
...
...
src/lib/dhcpsrv/addr_utilities.cc
View file @
f104a60a
...
...
@@ -169,19 +169,23 @@ namespace dhcp {
isc
::
asiolink
::
IOAddress
firstAddrInPrefix
(
const
isc
::
asiolink
::
IOAddress
&
prefix
,
uint8_t
len
)
{
if
(
prefix
.
getFamily
()
==
AF_INET
)
{
return
firstAddrInPrefix4
(
prefix
,
len
);
if
(
prefix
.
isV4
())
{
return
(
firstAddrInPrefix4
(
prefix
,
len
));
}
else
{
return
firstAddrInPrefix6
(
prefix
,
len
);
return
(
firstAddrInPrefix6
(
prefix
,
len
));
}
}
isc
::
asiolink
::
IOAddress
lastAddrInPrefix
(
const
isc
::
asiolink
::
IOAddress
&
prefix
,
uint8_t
len
)
{
if
(
prefix
.
getFamily
()
==
AF_INET
)
{
return
lastAddrInPrefix4
(
prefix
,
len
);
if
(
prefix
.
isV4
())
{
return
(
lastAddrInPrefix4
(
prefix
,
len
));
}
else
{
return
lastAddrInPrefix6
(
prefix
,
len
);
return
(
lastAddrInPrefix6
(
prefix
,
len
));
}
}
...
...
src/lib/dhcpsrv/alloc_engine.cc
View file @
f104a60a
...
...
@@ -34,7 +34,7 @@ AllocEngine::IterativeAllocator::increaseAddress(const isc::asiolink::IOAddress&
int
len
;
// First we copy the whole address as 16 bytes.
if
(
addr
.
getFamily
()
==
AF_INET
)
{
if
(
addr
.
isV4
()
)
{
// IPv4
std
::
memcpy
(
packed
,
addr
.
getAddress
().
to_v4
().
to_bytes
().
data
(),
4
);
len
=
4
;
...
...
src/lib/dhcpsrv/pool.cc
View file @
f104a60a
...
...
@@ -34,7 +34,7 @@ Pool4::Pool4(const isc::asiolink::IOAddress& first,
const
isc
::
asiolink
::
IOAddress
&
last
)
:
Pool
(
first
,
last
)
{
// check if specified address boundaries are sane
if
(
first
.
getFamily
()
!=
AF_INET
||
last
.
getFamily
()
!=
AF_INET
)
{
if
(
!
first
.
isV4
()
||
!
last
.
isV4
()
)
{
isc_throw
(
BadValue
,
"Invalid Pool4 address boundaries: not IPv4"
);
}
...
...
@@ -48,7 +48,7 @@ Pool4::Pool4(const isc::asiolink::IOAddress& prefix,
:
Pool
(
prefix
,
IOAddress
(
"0.0.0.0"
))
{
// check if the prefix is sane
if
(
prefix
.
getFamily
()
!=
AF_INET
)
{
if
(
!
prefix
.
isV4
()
)
{
isc_throw
(
BadValue
,
"Invalid Pool4 address boundaries: not IPv4"
);
}
...
...
@@ -67,7 +67,7 @@ Pool6::Pool6(Pool6Type type, const isc::asiolink::IOAddress& first,
:
Pool
(
first
,
last
),
type_
(
type
),
prefix_len_
(
0
)
{
// check if specified address boundaries are sane
if
(
first
.
getFamily
()
!=
AF_INET6
||
last
.
getFamily
()
!=
AF_INET6
)
{
if
(
!
first
.
isV6
()
||
!
last
.
isV6
()
)
{
isc_throw
(
BadValue
,
"Invalid Pool6 address boundaries: not IPv6"
);
}
...
...
@@ -98,7 +98,7 @@ Pool6::Pool6(Pool6Type type, const isc::asiolink::IOAddress& prefix,
type_
(
type
),
prefix_len_
(
prefix_len
)
{
// check if the prefix is sane
if
(
prefix
.
getFamily
()
!=
AF_INET6
)
{
if
(
!
prefix
.
isV6
()
)
{
isc_throw
(
BadValue
,
"Invalid Pool6 address boundaries: not IPv6"
);
}
...
...
src/lib/dhcpsrv/subnet.cc
View file @
f104a60a
...
...
@@ -30,8 +30,8 @@ Subnet::Subnet(const isc::asiolink::IOAddress& prefix, uint8_t len,
:
id_
(
getNextID
()),
prefix_
(
prefix
),
prefix_len_
(
len
),
t1_
(
t1
),
t2_
(
t2
),
valid_
(
valid_lifetime
),
last_allocated_
(
lastAddrInPrefix
(
prefix
,
len
))
{
if
(
(
prefix
.
getFamily
()
==
AF_INET6
&&
len
>
128
)
||
(
prefix
.
getFamily
()
==
AF_INET
&&
len
>
32
)
)
{
if
((
prefix
.
isV6
()
&&
len
>
128
)
||
(
prefix
.
isV4
()
&&
len
>
32
))
{
isc_throw
(
BadValue
,
"Invalid prefix length specified for subnet: "
<<
len
);
}
}
...
...
@@ -65,7 +65,7 @@ Subnet4::Subnet4(const isc::asiolink::IOAddress& prefix, uint8_t length,
const
Triplet
<
uint32_t
>&
t2
,
const
Triplet
<
uint32_t
>&
valid_lifetime
)
:
Subnet
(
prefix
,
length
,
t1
,
t2
,
valid_lifetime
)
{
if
(
prefix
.
getFamily
()
!=
AF_INET
)
{
if
(
!
prefix
.
isV4
()
)
{
isc_throw
(
BadValue
,
"Non IPv4 prefix "
<<
prefix
.
toText
()
<<
" specified in subnet4"
);
}
...
...
@@ -136,7 +136,7 @@ Subnet6::Subnet6(const isc::asiolink::IOAddress& prefix, uint8_t length,
const
Triplet
<
uint32_t
>&
valid_lifetime
)
:
Subnet
(
prefix
,
length
,
t1
,
t2
,
valid_lifetime
),
preferred_
(
preferred_lifetime
){
if
(
prefix
.
getFamily
()
!=
AF_INET6
)
{
if
(
!
prefix
.
isV6
()
)
{
isc_throw
(
BadValue
,
"Non IPv6 prefix "
<<
prefix
.
toText
()
<<
" specified in subnet6"
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment