Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
P
pistache
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Libraries
pistache
Commits
5b3765f0
Unverified
Commit
5b3765f0
authored
Feb 29, 2020
by
Igor [hyperxor]
Committed by
GitHub
Feb 29, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Set addrinfo to zero and clang format for net.cc (#723)
parent
41b8022f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
15 deletions
+17
-15
src/common/net.cc
src/common/net.cc
+16
-15
src/server/listener.cc
src/server/listener.cc
+1
-0
No files found.
src/common/net.cc
View file @
5b3765f0
...
...
@@ -24,9 +24,9 @@ IP GetIPv4(const std::string &host) {
in_addr
addr
;
int
res
=
inet_pton
(
AF_INET
,
host
.
c_str
(),
&
addr
);
if
(
res
==
0
)
{
throw
std
::
invalid_argument
(
"Invalid IPv4 network address"
);
throw
std
::
invalid_argument
(
"Invalid IPv4 network address"
);
}
else
if
(
res
<
0
)
{
throw
std
::
invalid_argument
(
strerror
(
errno
));
throw
std
::
invalid_argument
(
strerror
(
errno
));
}
else
{
struct
sockaddr_in
s_addr
=
{
0
};
s_addr
.
sin_family
=
AF_INET
;
...
...
@@ -42,18 +42,18 @@ IP GetIPv6(const std::string &host) {
in6_addr
addr6
;
int
res
=
inet_pton
(
AF_INET6
,
host
.
c_str
(),
&
(
addr6
.
s6_addr16
));
if
(
res
==
0
)
{
throw
std
::
invalid_argument
(
"Invalid IPv6 network address"
);
throw
std
::
invalid_argument
(
"Invalid IPv6 network address"
);
}
else
if
(
res
<
0
)
{
throw
std
::
invalid_argument
(
strerror
(
errno
));
throw
std
::
invalid_argument
(
strerror
(
errno
));
}
else
{
struct
sockaddr_in6
s_addr
=
{
0
};
s_addr
.
sin6_family
=
AF_INET6
;
struct
sockaddr_in6
s_addr
=
{
0
};
s_addr
.
sin6_family
=
AF_INET6
;
static_assert
(
sizeof
(
s_addr
.
sin6_addr
.
s6_addr16
)
>=
8
*
sizeof
(
uint16_t
));
memcpy
(
&
(
s_addr
.
sin6_addr
.
s6_addr16
),
&
addr6
.
s6_addr16
,
8
*
sizeof
(
uint16_t
));
static_assert
(
sizeof
(
s_addr
.
sin6_addr
.
s6_addr16
)
>=
8
*
sizeof
(
uint16_t
));
memcpy
(
&
(
s_addr
.
sin6_addr
.
s6_addr16
),
&
addr6
.
s6_addr16
,
8
*
sizeof
(
uint16_t
));
return
IP
(
reinterpret_cast
<
struct
sockaddr
*>
(
&
s_addr
));
return
IP
(
reinterpret_cast
<
struct
sockaddr
*>
(
&
s_addr
));
}
}
}
// namespace
...
...
@@ -297,11 +297,12 @@ void Address::init(const std::string &addr) {
struct
hostent
*
hp
=
::
gethostbyname
(
host_
.
c_str
());
if
(
hp
)
{
char
**
addr
=
hp
->
h_addr_list
;
while
(
*
addr
)
{
host_
=
std
::
string
(
inet_ntoa
(
*
reinterpret_cast
<
struct
in_addr
*>
(
*
addr
)));
break
;
}
char
**
addr
=
hp
->
h_addr_list
;
while
(
*
addr
)
{
host_
=
std
::
string
(
inet_ntoa
(
*
reinterpret_cast
<
struct
in_addr
*>
(
*
addr
)));
break
;
}
}
ip_
=
GetIPv4
(
host_
);
...
...
src/server/listener.cc
View file @
5b3765f0
...
...
@@ -133,6 +133,7 @@ void Listener::bind(const Address &address) {
addr_
=
address
;
struct
addrinfo
hints
;
memset
(
&
hints
,
0
,
sizeof
(
struct
addrinfo
));
hints
.
ai_family
=
address
.
family
();
hints
.
ai_socktype
=
SOCK_STREAM
;
hints
.
ai_flags
=
AI_PASSIVE
;
...
...
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