- Removed compile warnings in pythonmod sockaddr routines.

git-svn-id: file:///svn/unbound/trunk@4963 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
Wouter Wijngaards 2018-11-20 12:28:09 +00:00
parent 04d73b9192
commit 7acf6a4a66
2 changed files with 16 additions and 6 deletions

View file

@ -4,6 +4,7 @@
- Add patch from Jan Vcelak for pythonmod,
add sockaddr_storage getters, add support for query callbacks,
allow raw address access via comm_reply and update API documentation.
- Removed compile warnings in pythonmod sockaddr routines.
19 November 2018: Wouter
- Support SO_REUSEPORT_LB in FreeBSD 12 with the so-reuseport: yes

View file

@ -464,17 +464,20 @@ struct sockaddr_storage {};
}
PyObject *_sockaddr_storage_addr(const struct sockaddr_storage *ss) {
const struct sockaddr *sa;
size_t sa_len;
char name[NI_MAXHOST] = {0};
if (ss == NULL) {
return Py_None;
}
const struct sockaddr *sa = (struct sockaddr *)ss;
size_t sa_len = _sockaddr_storage_len(ss);
sa = (struct sockaddr *)ss;
sa_len = _sockaddr_storage_len(ss);
if (sa_len == 0) {
return Py_None;
}
char name[NI_MAXHOST] = {0};
if (getnameinfo(sa, sa_len, name, sizeof(name), NULL, 0, NI_NUMERICHOST) != 0) {
return Py_None;
}
@ -483,11 +486,13 @@ struct sockaddr_storage {};
}
PyObject *_sockaddr_storage_raw_addr(const struct sockaddr_storage *ss) {
size_t sa_len;
if (ss == NULL) {
return Py_None;
}
size_t sa_len = _sockaddr_storage_len(ss);
sa_len = _sockaddr_storage_len(ss);
if (sa_len == 0) {
return Py_None;
}
@ -531,20 +536,24 @@ struct sockaddr_storage {};
}
PyObject *_sockaddr_storage_flowinfo(const struct sockaddr_storage *ss) {
const struct sockaddr_in6 *sa6;
if (ss == NULL || ss->ss_family != AF_INET6) {
return Py_None;
}
const struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)ss;
sa6 = (struct sockaddr_in6 *)ss;
return PyInt_FromLong(ntohl(sa6->sin6_flowinfo));
}
PyObject *_sockaddr_storage_scope_id(const struct sockaddr_storage *ss) {
const struct sockaddr_in6 *sa6;
if (ss == NULL || ss->ss_family != AF_INET6) {
return Py_None;
}
const struct sockaddr_in6 *sa6 = (struct sockaddr_in6 *)ss;
sa6 = (struct sockaddr_in6 *)ss;
return PyInt_FromLong(ntohl(sa6->sin6_scope_id));
}
%}