diff options
Diffstat (limited to 'src/net')
| -rw-r--r-- | src/net/80211/net80211.c | 6 | ||||
| -rw-r--r-- | src/net/80211/wep.c | 8 | ||||
| -rw-r--r-- | src/net/dhcppkt.c | 4 | ||||
| -rw-r--r-- | src/net/fakedhcp.c | 18 | ||||
| -rw-r--r-- | src/net/ipv4.c | 6 | ||||
| -rw-r--r-- | src/net/ipv6.c | 6 | ||||
| -rw-r--r-- | src/net/netdev_settings.c | 15 | ||||
| -rw-r--r-- | src/net/tcp/iscsi.c | 61 | ||||
| -rw-r--r-- | src/net/tcp/oncrpc.c | 4 | ||||
| -rw-r--r-- | src/net/tcp/syslogs.c | 10 | ||||
| -rw-r--r-- | src/net/udp/dhcp.c | 44 | ||||
| -rw-r--r-- | src/net/udp/dhcpv6.c | 6 | ||||
| -rw-r--r-- | src/net/udp/dns.c | 8 | ||||
| -rw-r--r-- | src/net/udp/syslog.c | 14 | ||||
| -rw-r--r-- | src/net/validator.c | 12 |
15 files changed, 88 insertions, 134 deletions
diff --git a/src/net/80211/net80211.c b/src/net/80211/net80211.c index 3893f652c..db4dc1168 100644 --- a/src/net/80211/net80211.c +++ b/src/net/80211/net80211.c @@ -204,7 +204,7 @@ struct settings_applicator net80211_applicator __settings_applicator = { * If this is blank, we scan for all networks and use the one with the * greatest signal strength. */ -struct setting net80211_ssid_setting __setting ( SETTING_NETDEV_EXTRA ) = { +const struct setting net80211_ssid_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "ssid", .description = "Wireless SSID", .type = &setting_type_string, @@ -216,7 +216,7 @@ struct setting net80211_ssid_setting __setting ( SETTING_NETDEV_EXTRA ) = { * active scan (send probe packets). If this setting is nonzero, an * active scan on the 2.4GHz band will be used to associate. */ -struct setting net80211_active_setting __setting ( SETTING_NETDEV_EXTRA ) = { +const struct setting net80211_active_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "active-scan", .description = "Actively scan for wireless networks", .type = &setting_type_int8, @@ -228,7 +228,7 @@ struct setting net80211_active_setting __setting ( SETTING_NETDEV_EXTRA ) = { * normal iPXE method for entering hex settings; an ASCII string of * hex characters will not behave as expected. */ -struct setting net80211_key_setting __setting ( SETTING_NETDEV_EXTRA ) = { +const struct setting net80211_key_setting __setting ( SETTING_NETDEV_EXTRA ) = { .name = "key", .description = "Wireless encryption key", .type = &setting_type_string, diff --git a/src/net/80211/wep.c b/src/net/80211/wep.c index 37b27f71a..e22ac8998 100644 --- a/src/net/80211/wep.c +++ b/src/net/80211/wep.c @@ -236,8 +236,8 @@ static int trivial_init ( struct net80211_device *dev ) dev->associating->crypto == NET80211_CRYPT_NONE ) return 0; /* no crypto? OK. */ - len = fetch_setting ( netdev_settings ( dev->netdev ), - &net80211_key_setting, key, WEP_MAX_KEY ); + len = fetch_raw_setting ( netdev_settings ( dev->netdev ), + &net80211_key_setting, key, WEP_MAX_KEY ); if ( len <= 0 ) { DBGC ( dev, "802.11 %p cannot do WEP without a key\n", dev ); @@ -278,8 +278,8 @@ static int trivial_change_key ( struct net80211_device *dev ) if ( ! dev->crypto || ( dev->crypto->init != wep_init ) ) change ^= 1; - len = fetch_setting ( netdev_settings ( dev->netdev ), - &net80211_key_setting, key, WEP_MAX_KEY ); + len = fetch_raw_setting ( netdev_settings ( dev->netdev ), + &net80211_key_setting, key, WEP_MAX_KEY ); if ( len <= 0 ) change ^= 1; diff --git a/src/net/dhcppkt.c b/src/net/dhcppkt.c index 3722c09e1..a9a6d3a94 100644 --- a/src/net/dhcppkt.c +++ b/src/net/dhcppkt.c @@ -226,7 +226,7 @@ int dhcppkt_fetch ( struct dhcp_packet *dhcppkt, unsigned int tag, * @ret applies Setting applies within this settings block */ static int dhcppkt_settings_applies ( struct settings *settings, - struct setting *setting ) { + const struct setting *setting ) { struct dhcp_packet *dhcppkt = container_of ( settings, struct dhcp_packet, settings ); @@ -244,7 +244,7 @@ static int dhcppkt_settings_applies ( struct settings *settings, * @ret rc Return status code */ static int dhcppkt_settings_store ( struct settings *settings, - struct setting *setting, + const struct setting *setting, const void *data, size_t len ) { struct dhcp_packet *dhcppkt = container_of ( settings, struct dhcp_packet, settings ); diff --git a/src/net/fakedhcp.c b/src/net/fakedhcp.c index d67501ed3..3dec88b11 100644 --- a/src/net/fakedhcp.c +++ b/src/net/fakedhcp.c @@ -49,8 +49,8 @@ static int copy_encap_settings ( struct dhcp_packet *dest, struct setting setting = { .name = "" }; unsigned int subtag; unsigned int tag; + void *data; int len; - int check_len; int rc; for ( subtag = DHCP_MIN_OPTION; subtag <= DHCP_MAX_OPTION; subtag++ ) { @@ -66,17 +66,11 @@ static int copy_encap_settings ( struct dhcp_packet *dest, default: /* Copy setting, if present */ setting.tag = tag; - len = fetch_setting_len ( source, &setting ); - if ( len < 0 ) - break; - { - char buf[len]; - - check_len = fetch_setting ( source, &setting, - buf, sizeof (buf)); - assert ( check_len == len ); - if ( ( rc = dhcppkt_store ( dest, tag, buf, - sizeof(buf) )) !=0) + len = fetch_raw_setting_copy ( source, &setting, &data); + if ( len >= 0 ) { + rc = dhcppkt_store ( dest, tag, data, len ); + free ( data ); + if ( rc != 0 ) return rc; } break; diff --git a/src/net/ipv4.c b/src/net/ipv4.c index 438fe9ac5..f0a2e4d65 100644 --- a/src/net/ipv4.c +++ b/src/net/ipv4.c @@ -591,7 +591,7 @@ struct sockaddr_converter ipv4_sockaddr_converter __sockaddr_converter = { */ /** IPv4 address setting */ -struct setting ip_setting __setting ( SETTING_IPv4 ) = { +const struct setting ip_setting __setting ( SETTING_IPv4 ) = { .name = "ip", .description = "IP address", .tag = DHCP_EB_YIADDR, @@ -599,7 +599,7 @@ struct setting ip_setting __setting ( SETTING_IPv4 ) = { }; /** IPv4 subnet mask setting */ -struct setting netmask_setting __setting ( SETTING_IPv4 ) = { +const struct setting netmask_setting __setting ( SETTING_IPv4 ) = { .name = "netmask", .description = "Subnet mask", .tag = DHCP_SUBNET_MASK, @@ -607,7 +607,7 @@ struct setting netmask_setting __setting ( SETTING_IPv4 ) = { }; /** Default gateway setting */ -struct setting gateway_setting __setting ( SETTING_IPv4 ) = { +const struct setting gateway_setting __setting ( SETTING_IPv4 ) = { .name = "gateway", .description = "Default gateway", .tag = DHCP_ROUTERS, diff --git a/src/net/ipv6.c b/src/net/ipv6.c index b4f33f0d0..68a0c89bf 100644 --- a/src/net/ipv6.c +++ b/src/net/ipv6.c @@ -954,7 +954,7 @@ struct sockaddr_converter ipv6_sockaddr_converter __sockaddr_converter = { * @v len Length of buffer * @ret len Length of raw value, or negative error */ -static int parse_ipv6_setting ( struct setting_type *type __unused, +static int parse_ipv6_setting ( const struct setting_type *type __unused, const char *value, void *buf, size_t len ) { struct in6_addr ipv6; int rc; @@ -981,7 +981,7 @@ static int parse_ipv6_setting ( struct setting_type *type __unused, * @v len Length of buffer * @ret len Length of formatted value, or negative error */ -static int format_ipv6_setting ( struct setting_type *type __unused, +static int format_ipv6_setting ( const struct setting_type *type __unused, const void *raw, size_t raw_len, char *buf, size_t len ) { const struct in6_addr *ipv6 = raw; @@ -992,7 +992,7 @@ static int format_ipv6_setting ( struct setting_type *type __unused, } /** An IPv6 address setting type */ -struct setting_type setting_type_ipv6 __setting_type = { +const struct setting_type setting_type_ipv6 __setting_type = { .name = "ipv6", .parse = parse_ipv6_setting, .format = format_ipv6_setting, diff --git a/src/net/netdev_settings.c b/src/net/netdev_settings.c index 994e0506f..cfadd9e4e 100644 --- a/src/net/netdev_settings.c +++ b/src/net/netdev_settings.c @@ -36,27 +36,27 @@ FILE_LICENCE ( GPL2_OR_LATER ); */ /** Network device predefined settings */ -struct setting mac_setting __setting ( SETTING_NETDEV ) = { +const struct setting mac_setting __setting ( SETTING_NETDEV ) = { .name = "mac", .description = "MAC address", .type = &setting_type_hex, }; -struct setting bustype_setting __setting ( SETTING_NETDEV ) = { +const struct setting bustype_setting __setting ( SETTING_NETDEV ) = { .name = "bustype", .description = "Bus type", .type = &setting_type_string, }; -struct setting busloc_setting __setting ( SETTING_NETDEV ) = { +const struct setting busloc_setting __setting ( SETTING_NETDEV ) = { .name = "busloc", .description = "Bus location", .type = &setting_type_uint32, }; -struct setting busid_setting __setting ( SETTING_NETDEV ) = { +const struct setting busid_setting __setting ( SETTING_NETDEV ) = { .name = "busid", .description = "Bus ID", .type = &setting_type_hex, }; -struct setting chip_setting __setting ( SETTING_NETDEV ) = { +const struct setting chip_setting __setting ( SETTING_NETDEV ) = { .name = "chip", .description = "Chip", .type = &setting_type_string, @@ -194,7 +194,7 @@ static int netdev_fetch_chip ( struct net_device *netdev, void *data, /** A network device setting operation */ struct netdev_setting_operation { /** Setting */ - struct setting *setting; + const struct setting *setting; /** Store setting (or NULL if not supported) * * @v netdev Network device @@ -232,7 +232,8 @@ static struct netdev_setting_operation netdev_setting_operations[] = { * @v len Length of setting data * @ret rc Return status code */ -static int netdev_store ( struct settings *settings, struct setting *setting, +static int netdev_store ( struct settings *settings, + const struct setting *setting, const void *data, size_t len ) { struct net_device *netdev = container_of ( settings, struct net_device, settings.settings ); diff --git a/src/net/tcp/iscsi.c b/src/net/tcp/iscsi.c index c9daf1ff4..197069cc3 100644 --- a/src/net/tcp/iscsi.c +++ b/src/net/tcp/iscsi.c @@ -1860,7 +1860,7 @@ enum iscsi_root_path_component { }; /** iSCSI initiator IQN setting */ -struct setting initiator_iqn_setting __setting ( SETTING_SANBOOT_EXTRA ) = { +const struct setting initiator_iqn_setting __setting ( SETTING_SANBOOT_EXTRA ) = { .name = "initiator-iqn", .description = "iSCSI initiator name", .tag = DHCP_ISCSI_INITIATOR_IQN, @@ -1868,7 +1868,7 @@ struct setting initiator_iqn_setting __setting ( SETTING_SANBOOT_EXTRA ) = { }; /** iSCSI reverse username setting */ -struct setting reverse_username_setting __setting ( SETTING_AUTH_EXTRA ) = { +const struct setting reverse_username_setting __setting ( SETTING_AUTH_EXTRA ) = { .name = "reverse-username", .description = "Reverse user name", .tag = DHCP_EB_REVERSE_USERNAME, @@ -1876,7 +1876,7 @@ struct setting reverse_username_setting __setting ( SETTING_AUTH_EXTRA ) = { }; /** iSCSI reverse password setting */ -struct setting reverse_password_setting __setting ( SETTING_AUTH_EXTRA ) = { +const struct setting reverse_password_setting __setting ( SETTING_AUTH_EXTRA ) = { .name = "reverse-password", .description = "Reverse password", .tag = DHCP_EB_REVERSE_PASSWORD, @@ -1947,46 +1947,23 @@ static int iscsi_fetch_settings ( struct iscsi_session *iscsi ) { /* Fetch relevant settings. Don't worry about freeing on * error, since iscsi_free() will take care of that anyway. */ - if ( ( len = fetch_string_setting_copy ( NULL, &username_setting, - &iscsi->initiator_username ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch username: %s\n", - iscsi, strerror ( len ) ); - return len; - } - if ( ( len = fetch_string_setting_copy ( NULL, &password_setting, - &iscsi->initiator_password ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch password: %s\n", - iscsi, strerror ( len ) ); - return len; - } - if ( ( len = fetch_string_setting_copy( NULL, &reverse_username_setting, - &iscsi->target_username ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch reverse username: %s\n", - iscsi, strerror ( len ) ); - return len; - } - if ( ( len = fetch_string_setting_copy( NULL, &reverse_password_setting, - &iscsi->target_password ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch reverse password: %s\n", - iscsi, strerror ( len ) ); - return len; - } - - /* Find a suitable initiator name */ - if ( ( len = fetch_string_setting_copy ( NULL, &initiator_iqn_setting, - &iscsi->initiator_iqn ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch initiator IQN: %s\n", - iscsi, strerror ( len ) ); - return len; - } + fetch_string_setting_copy ( NULL, &username_setting, + &iscsi->initiator_username ); + fetch_string_setting_copy ( NULL, &password_setting, + &iscsi->initiator_password ); + fetch_string_setting_copy ( NULL, &reverse_username_setting, + &iscsi->target_username ); + fetch_string_setting_copy ( NULL, &reverse_password_setting, + &iscsi->target_password ); + + /* Use explicit initiator IQN if provided */ + fetch_string_setting_copy ( NULL, &initiator_iqn_setting, + &iscsi->initiator_iqn ); if ( iscsi->initiator_iqn ) return 0; - if ( ( len = fetch_string_setting_copy ( NULL, &hostname_setting, - &hostname ) ) < 0 ) { - DBGC ( iscsi, "iSCSI %p could not fetch hostname: %s\n", - iscsi, strerror ( len ) ); - return len; - } + + /* Otherwise, try to construct an initiator IQN from the hostname */ + fetch_string_setting_copy ( NULL, &hostname_setting, &hostname ); if ( hostname ) { len = asprintf ( &iscsi->initiator_iqn, ISCSI_DEFAULT_IQN_PREFIX ":%s", hostname ); @@ -1999,6 +1976,8 @@ static int iscsi_fetch_settings ( struct iscsi_session *iscsi ) { assert ( iscsi->initiator_iqn ); return 0; } + + /* Otherwise, try to construct an initiator IQN from the UUID */ if ( ( len = fetch_uuid_setting ( NULL, &uuid_setting, &uuid ) ) < 0 ) { DBGC ( iscsi, "iSCSI %p has no suitable initiator IQN\n", iscsi ); diff --git a/src/net/tcp/oncrpc.c b/src/net/tcp/oncrpc.c index 819d31794..0a3b38580 100644 --- a/src/net/tcp/oncrpc.c +++ b/src/net/tcp/oncrpc.c @@ -58,14 +58,14 @@ struct oncrpc_cred oncrpc_auth_none = { .length = 0 }; -struct setting uid_setting __setting ( SETTING_AUTH ) = { +const struct setting uid_setting __setting ( SETTING_AUTH ) = { .name = "uid", .description = "User ID", .tag = DHCP_EB_UID, .type = &setting_type_uint32 }; -struct setting gid_setting __setting ( SETTING_AUTH ) = { +const struct setting gid_setting __setting ( SETTING_AUTH ) = { .name = "gid", .description = "Group ID", .tag = DHCP_EB_GID, diff --git a/src/net/tcp/syslogs.c b/src/net/tcp/syslogs.c index bcda8b45c..503ed177a 100644 --- a/src/net/tcp/syslogs.c +++ b/src/net/tcp/syslogs.c @@ -190,7 +190,7 @@ struct console_driver syslogs_console __console_driver = { */ /** Encrypted syslog server setting */ -struct setting syslogs_setting __setting ( SETTING_MISC ) = { +const struct setting syslogs_setting __setting ( SETTING_MISC ) = { .name = "syslogs", .description = "Encrypted syslog server", .tag = DHCP_EB_SYSLOGS_SERVER, @@ -206,15 +206,10 @@ static int apply_syslogs_settings ( void ) { static char *old_server; char *server; struct interface *socket; - int len; int rc; /* Fetch log server */ - len = fetch_string_setting_copy ( NULL, &syslogs_setting, &server ); - if ( len < 0 ) { - rc = len; - goto err_fetch_server; - } + fetch_string_setting_copy ( NULL, &syslogs_setting, &server ); /* Do nothing unless log server has changed */ if ( ( ( server == NULL ) && ( old_server == NULL ) ) || @@ -266,7 +261,6 @@ static int apply_syslogs_settings ( void ) { out_no_server: out_no_change: free ( server ); - err_fetch_server: return rc; } diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c index 66bcc83ae..3163f39c7 100644 --- a/src/net/udp/dhcp.c +++ b/src/net/udp/dhcp.c @@ -92,7 +92,7 @@ static uint8_t dhcp_request_options_data[] = { }; /** DHCP server address setting */ -struct setting dhcp_server_setting __setting ( SETTING_MISC ) = { +const struct setting dhcp_server_setting __setting ( SETTING_MISC ) = { .name = "dhcp-server", .description = "DHCP server", .tag = DHCP_SERVER_IDENTIFIER, @@ -975,6 +975,7 @@ int dhcp_create_request ( struct dhcp_packet *dhcppkt, uint8_t *dhcp_features; size_t dhcp_features_len; size_t ll_addr_len; + void *user_class; ssize_t len; int rc; @@ -985,7 +986,7 @@ int dhcp_create_request ( struct dhcp_packet *dhcppkt, data, max_len ) ) != 0 ) { DBG ( "DHCP could not create DHCP packet: %s\n", strerror ( rc ) ); - return rc; + goto err_create_packet; } /* Set client IP address */ @@ -998,17 +999,17 @@ int dhcp_create_request ( struct dhcp_packet *dhcppkt, dhcp_features_len ) ) != 0 ) { DBG ( "DHCP could not set features list option: %s\n", strerror ( rc ) ); - return rc; + goto err_store_features; } /* Add options to identify the network device */ - fetch_setting ( &netdev->settings.settings, &busid_setting, &dhcp_desc, - sizeof ( dhcp_desc ) ); + fetch_raw_setting ( netdev_settings ( netdev ), &busid_setting, + &dhcp_desc, sizeof ( dhcp_desc ) ); if ( ( rc = dhcppkt_store ( dhcppkt, DHCP_EB_BUS_ID, &dhcp_desc, sizeof ( dhcp_desc ) ) ) != 0 ) { DBG ( "DHCP could not set bus ID option: %s\n", strerror ( rc ) ); - return rc; + goto err_store_busid; } /* Add DHCP client identifier. Required for Infiniband, and @@ -1022,7 +1023,7 @@ int dhcp_create_request ( struct dhcp_packet *dhcppkt, ( ll_addr_len + 1 ) ) ) != 0 ) { DBG ( "DHCP could not set client ID: %s\n", strerror ( rc ) ); - return rc; + goto err_store_client_id; } /* Add client UUID, if we have one. Required for PXE. The @@ -1039,25 +1040,29 @@ int dhcp_create_request ( struct dhcp_packet *dhcppkt, sizeof ( client_uuid ) ) ) != 0 ) { DBG ( "DHCP could not set client UUID: %s\n", strerror ( rc ) ); - return rc; + goto err_store_client_uuid; } } /* Add user class, if we have one. */ - if ( ( len = fetch_setting_len ( NULL, &user_class_setting ) ) >= 0 ) { - char user_class[len]; - fetch_setting ( NULL, &user_class_setting, user_class, - sizeof ( user_class ) ); + if ( ( len = fetch_raw_setting_copy ( NULL, &user_class_setting, + &user_class ) ) >= 0 ) { if ( ( rc = dhcppkt_store ( dhcppkt, DHCP_USER_CLASS_ID, - &user_class, - sizeof ( user_class ) ) ) != 0 ) { + user_class, len ) ) != 0 ) { DBG ( "DHCP could not set user class: %s\n", strerror ( rc ) ); - return rc; + goto err_store_user_class; } } - return 0; + err_store_user_class: + free ( user_class ); + err_store_client_uuid: + err_store_client_id: + err_store_busid: + err_store_features: + err_create_packet: + return rc; } /**************************************************************************** @@ -1384,7 +1389,8 @@ int start_pxebs ( struct interface *job, struct net_device *netdev, int rc; /* Get upper bound for PXE boot server IP address list */ - pxebs_list_len = fetch_setting_len ( NULL, &pxe_boot_servers_setting ); + pxebs_list_len = fetch_raw_setting ( NULL, &pxe_boot_servers_setting, + NULL, 0 ); if ( pxebs_list_len < 0 ) pxebs_list_len = 0; @@ -1422,8 +1428,8 @@ int start_pxebs ( struct interface *job, struct net_device *netdev, if ( pxebs_list_len ) { uint8_t buf[pxebs_list_len]; - fetch_setting ( NULL, &pxe_boot_servers_setting, - buf, sizeof ( buf ) ); + fetch_raw_setting ( NULL, &pxe_boot_servers_setting, + buf, sizeof ( buf ) ); pxebs_list ( dhcp, buf, sizeof ( buf ), ip ); } if ( ! dhcp->pxe_attempt->s_addr ) { diff --git a/src/net/udp/dhcpv6.c b/src/net/udp/dhcpv6.c index 42d11194f..7bed83d92 100644 --- a/src/net/udp/dhcpv6.c +++ b/src/net/udp/dhcpv6.c @@ -256,7 +256,7 @@ static int dhcpv6_iaaddr ( struct dhcpv6_option_list *options, uint32_t iaid, */ /** DHCPv6 settings scope */ -static struct settings_scope dhcpv6_settings_scope; +static const struct settings_scope dhcpv6_settings_scope; /** A DHCPv6 settings block */ struct dhcpv6_settings { @@ -276,7 +276,7 @@ struct dhcpv6_settings { * @ret applies Setting applies within this settings block */ static int dhcpv6_applies ( struct settings *settings __unused, - struct setting *setting ) { + const struct setting *setting ) { return ( setting->scope == &dhcpv6_settings_scope ); } @@ -543,7 +543,7 @@ static size_t dhcpv6_user_class ( void *data, size_t len ) { int actual_len; /* Fetch user-class setting, if defined */ - actual_len = fetch_setting ( NULL, &user_class_setting, data, len ); + actual_len = fetch_raw_setting ( NULL, &user_class_setting, data, len ); if ( actual_len >= 0 ) return actual_len; diff --git a/src/net/udp/dns.c b/src/net/udp/dns.c index 45f0f07c1..447da8afd 100644 --- a/src/net/udp/dns.c +++ b/src/net/udp/dns.c @@ -594,7 +594,7 @@ struct resolver dns_resolver __resolver ( RESOLV_NORMAL ) = { */ /** DNS server setting */ -struct setting dns_setting __setting ( SETTING_IPv4_EXTRA ) = { +const struct setting dns_setting __setting ( SETTING_IPv4_EXTRA ) = { .name = "dns", .description = "DNS server", .tag = DHCP_DNS_SERVERS, @@ -622,11 +622,7 @@ static int apply_dns_settings ( void ) { /* Get local domain DHCP option */ free ( localdomain ); - if ( ( len = fetch_string_setting_copy ( NULL, &domain_setting, - &localdomain ) ) < 0 ) { - DBG ( "DNS could not fetch local domain: %s\n", - strerror ( len ) ); - } + fetch_string_setting_copy ( NULL, &domain_setting, &localdomain ); if ( localdomain ) DBG ( "DNS local domain %s\n", localdomain ); diff --git a/src/net/udp/syslog.c b/src/net/udp/syslog.c index 4210083d2..6554ab9bf 100644 --- a/src/net/udp/syslog.c +++ b/src/net/udp/syslog.c @@ -188,7 +188,7 @@ struct console_driver syslog_console __console_driver = { */ /** Syslog server setting */ -struct setting syslog_setting __setting ( SETTING_MISC ) = { +const struct setting syslog_setting __setting ( SETTING_MISC ) = { .name = "syslog", .description = "Syslog server", .tag = DHCP_LOG_SERVERS, @@ -209,17 +209,9 @@ static int apply_syslog_settings ( void ) { /* Fetch hostname and domain name */ free ( syslog_hostname ); - if ( ( len = fetch_string_setting_copy ( NULL, &hostname_setting, - &syslog_hostname ) ) < 0 ) { - rc = len; - DBG ( "SYSLOG could not fetch hostname: %s\n", strerror ( rc )); - } + fetch_string_setting_copy ( NULL, &hostname_setting, &syslog_hostname ); free ( syslog_domain ); - if ( ( len = fetch_string_setting_copy ( NULL, &domain_setting, - &syslog_domain ) ) < 0 ) { - rc = len; - DBG ( "SYSLOG could not fetch domain: %s\n", strerror ( rc ) ); - } + fetch_string_setting_copy ( NULL, &domain_setting, &syslog_domain ); /* Fetch log server */ syslog_console.disabled = CONSOLE_DISABLED; diff --git a/src/net/validator.c b/src/net/validator.c index d61cb92f4..56eebe3d6 100644 --- a/src/net/validator.c +++ b/src/net/validator.c @@ -121,7 +121,7 @@ static struct interface_descriptor validator_job_desc = */ /** Cross-signed certificate source setting */ -struct setting crosscert_setting __setting ( SETTING_CRYPTO ) = { +const struct setting crosscert_setting __setting ( SETTING_CRYPTO ) = { .name = "crosscert", .description = "Cross-signed certificate source", .tag = DHCP_EB_CROSS_CERT, @@ -232,14 +232,7 @@ static int validator_start_download ( struct validator *validator, int rc; /* Determine cross-signed certificate source */ - len = fetch_string_setting_copy ( NULL, &crosscert_setting, - &crosscert_copy ); - if ( len < 0 ) { - rc = len; - DBGC ( validator, "VALIDATOR %p could not fetch crosscert " - "setting: %s\n", validator, strerror ( rc ) ); - goto err_fetch_crosscert; - } + fetch_string_setting_copy ( NULL, &crosscert_setting, &crosscert_copy ); crosscert = ( crosscert_copy ? crosscert_copy : crosscert_default ); /* Allocate URI string */ @@ -279,7 +272,6 @@ static int validator_start_download ( struct validator *validator, free ( uri_string ); err_alloc_uri_string: free ( crosscert_copy ); - err_fetch_crosscert: return rc; } |
