Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Merge branch 'jb45606_fix' into 'master'
Propagate SplitRouting value to vpnd, use service moving for managing default routing, refactor inet.c and prevent adding broadcast address for VPNs

See merge request mer-core/connman!286
  • Loading branch information
LaakkonenJussi committed Dec 2, 2020
2 parents 214a2f3 + 286175c commit 859673a
Show file tree
Hide file tree
Showing 31 changed files with 1,494 additions and 696 deletions.
11 changes: 5 additions & 6 deletions connman/Makefile.am
Expand Up @@ -378,12 +378,11 @@ unit_test_service_SOURCES = $(backtrace_sources) $(gdhcp_sources) \
src/proxy.c src/utsname.c src/timeserver.c \
src/rfkill.c src/storage.c src/dbus.c \
src/config.c src/technology.c src/counter.c \
src/ntp.c src/wpad.c src/wispr.c \
src/dnsproxy.c src/6to4.c src/ippool.c \
src/ipaddress.c src/inotify.c src/ipv6pd.c \
src/peer.c src/peer_service.c src/machine.c \
src/util.c src/wakeup_timer.c \
src/jolla-stats.c src/access.c
src/ntp.c src/wpad.c src/dnsproxy.c \
src/6to4.c src/ippool.c src/ipaddress.c \
src/inotify.c src/ipv6pd.c src/peer.c \
src/peer_service.c src/machine.c src/util.c \
src/wakeup_timer.c src/access.c
unit_test_service_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
@GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ -lresolv \
-ldl
Expand Down
10 changes: 9 additions & 1 deletion connman/include/inet.h
Expand Up @@ -54,7 +54,7 @@ bool connman_inet_compare_ipv6_subnet(int index, const char *host);
int connman_inet_set_ipv6_address(int index,
struct connman_ipaddress *ipaddress);
int connman_inet_clear_ipv6_address(int index,
const char *address, int prefix_len);
struct connman_ipaddress *ipaddress);
int connman_inet_add_ipv6_network_route(int index, const char *host,
const char *gateway, unsigned char prefix_len);
int connman_inet_add_ipv6_host_route(int index, const char *host,
Expand All @@ -77,6 +77,14 @@ int connman_inet_ipv6_get_dest_addr(int index, char **dest);
int connman_inet_check_ipaddress(const char *host);
bool connman_inet_check_hostname(const char *ptr, size_t len);
bool connman_inet_is_ipv6_supported();
bool connman_inet_is_default_route(int family, const char *host,
const char *gateway, const char *netmask);

int connman_inet_get_route_addresses(int index, char **network, char **netmask,
char **destination);
int connman_inet_ipv6_get_route_addresses(int index, char **network,
char **netmask,
char **destination);

#ifdef __cplusplus
}
Expand Down
4 changes: 4 additions & 0 deletions connman/include/ipaddress.h
Expand Up @@ -22,6 +22,8 @@
#ifndef __CONNMAN_IPADDRESS_H
#define __CONNMAN_IPADDRESS_H

#include <stdbool.h>

#ifdef __cplusplus
extern "C" {
#endif
Expand All @@ -36,6 +38,8 @@ struct connman_ipaddress;

unsigned char connman_ipaddress_calc_netmask_len(const char *netmask);
struct connman_ipaddress *connman_ipaddress_alloc(int family);
void connman_ipaddress_set_p2p(struct connman_ipaddress *ipaddress,
bool value);
void connman_ipaddress_free(struct connman_ipaddress *ipaddress);
int connman_ipaddress_set_ipv4(struct connman_ipaddress *ipaddress,
const char *address, const char *netmask,
Expand Down
4 changes: 3 additions & 1 deletion connman/include/provider.h
Expand Up @@ -114,8 +114,10 @@ int connman_provider_set_nameservers(struct connman_provider *provider,
bool connman_provider_get_autoconnect(struct connman_provider *provider);
void connman_provider_set_autoconnect(struct connman_provider *provider,
bool flag);
void connman_provider_set_split_routing(struct connman_provider *provider,
bool connman_provider_is_split_routing(struct connman_provider *provider);
int connman_provider_set_split_routing(struct connman_provider *provider,
bool split_routing);
int connman_provider_get_family(struct connman_provider *provider);

const char *connman_provider_get_driver_name(struct connman_provider *provider);
const char *connman_provider_get_save_group(struct connman_provider *provider);
Expand Down
2 changes: 1 addition & 1 deletion connman/plugins/dundee.c
Expand Up @@ -488,7 +488,7 @@ static void extract_settings(DBusMessageIter *array,
if (index < 0)
goto out;

info->address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4);
info->address = connman_ipaddress_alloc(AF_INET);
if (!info->address)
goto out;

Expand Down
4 changes: 2 additions & 2 deletions connman/plugins/ofono.c
Expand Up @@ -882,7 +882,7 @@ static void extract_ipv4_settings(DBusMessageIter *array,
if (context->ipv4_method != CONNMAN_IPCONFIG_METHOD_FIXED)
goto out;

context->ipv4_address = connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4);
context->ipv4_address = connman_ipaddress_alloc(AF_INET);
if (!context->ipv4_address) {
context->index = -1;
goto out;
Expand Down Expand Up @@ -971,7 +971,7 @@ static void extract_ipv6_settings(DBusMessageIter *array,
context->ipv6_method = CONNMAN_IPCONFIG_METHOD_AUTO;

context->ipv6_address =
connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV6);
connman_ipaddress_alloc(AF_INET6, false);
if (!context->ipv6_address)
goto out;

Expand Down
4 changes: 2 additions & 2 deletions connman/plugins/sailfish_ofono.c
Expand Up @@ -508,7 +508,7 @@ static GString *modem_configure_ipv4(struct connman_network *network,
{
if (config->method == OFONO_CONNCTX_METHOD_STATIC && config->address) {
struct connman_ipaddress *ipaddr =
connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV4);
connman_ipaddress_alloc(AF_INET);
connman_ipaddress_set_ipv4(ipaddr, config->address,
config->netmask, config->gateway);
connman_network_set_ipv4_method(network,
Expand All @@ -530,7 +530,7 @@ static GString *modem_configure_ipv6(struct connman_network *network,
CONNMAN_IPCONFIG_METHOD_DHCP);
} else if (config->address) {
struct connman_ipaddress *ipaddr =
connman_ipaddress_alloc(CONNMAN_IPCONFIG_TYPE_IPV6);
connman_ipaddress_alloc(AF_INET6);
connman_ipaddress_set_ipv6(ipaddr, config->address,
config->prefix, config->gateway);
connman_network_set_ipv6_method(network,
Expand Down

0 comments on commit 859673a

Please sign in to comment.