diff options
author | Samuel Tan <samueltan@google.com> | 2015-08-20 11:04:04 -0700 |
---|---|---|
committer | Samuel Tan <samueltan@google.com> | 2015-08-21 09:54:38 -0700 |
commit | 6265fccd52dc1eebdb75e38c5432e0fd0568af63 (patch) | |
tree | c675ac2e79bcbec3c4dddde5a33af6ac06599160 | |
parent | 71df777a3ab1a98a30e32ef482e8b28409a3989e (diff) | |
download | dhcpcd-6.8.2-6265fccd52dc1eebdb75e38c5432e0fd0568af63.tar.gz |
dhcpcd-6.8.2: add Android.mk file
Add Android.mk file to build the dhcpcd-6.8.2 and dhcpcd-6.8.2.conf targets.
BUG: 22956197
Change-Id: I8eee7c5a5a4c632809047753b735222c42331437
TEST: Build android for a device that includes dhcpcd-6.8.2 and ensure
TEST: that the build succeeds.
-rw-r--r-- | Android.mk | 81 | ||||
-rwxr-xr-x | android.conf | 4 | ||||
-rw-r--r-- | config.h | 15 | ||||
-rw-r--r-- | dhcpcd-embedded.c | 343 | ||||
-rw-r--r-- | dhcpcd-embedded.h | 31 |
5 files changed, 474 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..ac066ec --- /dev/null +++ b/Android.mk @@ -0,0 +1,81 @@ +# Copyright (C) 2015 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := dhcpcd-6.8.2 +LOCAL_SRC_FILES := \ + common.c \ + control.c \ + dhcpcd.c \ + duid.c \ + eloop.c \ + if.c \ + if-options.c \ + dhcp-common.c \ + auth.c \ + if-linux.c \ + if-linux-wext.c \ + arp.c \ + dhcp.c \ + ipv4.c \ + ipv4ll.c \ + script.c \ + ifaddrs.c \ + crypt/md5.c \ + crypt/hmac_md5.c \ + compat/closefrom.c \ + compat/strtoi.c \ + dhcpcd-embedded.c \ + compat/posix_spawn.c + +# Always support IPv4. +LOCAL_CFLAGS += -DINET + +ifeq ($(DHCPCD_USE_IPV6), yes) +LOCAL_SRC_FILES += ipv6.c ipv6nd.c dhcp6.c +LOCAL_SRC_FILES += crypt/sha256.c +LOCAL_C_INCLUDES += $(LOCAL_PATH)/crypt +LOCAL_CFLAGS += -DINET6 +endif + +ifeq ($(DHCPCD_USE_DBUS), yes) +LOCAL_SRC_FILES += dbus/dbus-dict.c dbus/rpc-dbus.c +LOCAL_CPPFLAGS += -DPASSIVE_MODE +LOCAL_CFLAGS += -DCONFIG_DBUS +LOCAL_SHARED_LIBRARIES += libdbus +else +LOCAL_SRC_FILES += rpc-stub.c +endif + +# Compiler complains about implicit function delcarations in dhcpcd.c, +# if-options.c, dhcp-common.c, and crypt/sha256.c. +LOCAL_CFLAGS += -Wno-implicit-function-declaration +# Compiler complains about signed-unsigned comparison in dhcp-common.c. +LOCAL_CFLAGS += -Wno-sign-compare +# Compiler complains about unused parameters in function stubs in rpc-stub.c. +LOCAL_CFLAGS += -Wno-unused-parameter +# Compiler complains about possibly uninitialized variables in rpc-dbus.c. +LOCAL_CFLAGS += -Wno-maybe-uninitialized + +LOCAL_SHARED_LIBRARIES += libc libcutils libnetutils +include $(BUILD_EXECUTABLE) + +include $(CLEAR_VARS) +LOCAL_MODULE := dhcpcd-6.8.2.conf +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_OUT)/etc/dhcpcd-6.8.2 +LOCAL_SRC_FILES := android.conf +include $(BUILD_PREBUILT) diff --git a/android.conf b/android.conf new file mode 100755 index 0000000..8cbbea0 --- /dev/null +++ b/android.conf @@ -0,0 +1,4 @@ +# dhcpcd-6.8.2 configuration for Android Wi-Fi interface +# See dhcpcd.conf(5) for details. + +interface wlan0 diff --git a/config.h b/config.h new file mode 100644 index 0000000..22b27db --- /dev/null +++ b/config.h @@ -0,0 +1,15 @@ +/* linux */ +#define SYSCONFDIR "/system/etc/dhcpcd-6.8.2" +#define SBINDIR "/system/etc/dhcpcd-6.8.2" +#define LIBEXECDIR "/system/etc/dhcpcd-6.8.2" +#define DBDIR "/data/misc/dhcp-6.8.2" +#define RUNDIR "/data/misc/dhcp-6.8.2" +#define HAVE_EPOLL +#ifndef NBBY +#define NBBY 8 +#endif +#include "compat/queue.h" +#include "compat/endian.h" + +#include <signal.h> +#include <linux/rtnetlink.h> diff --git a/dhcpcd-embedded.c b/dhcpcd-embedded.c new file mode 100644 index 0000000..4029747 --- /dev/null +++ b/dhcpcd-embedded.c @@ -0,0 +1,343 @@ +/* + * DO NOT EDIT! + * Automatically generated from dhcpcd-embedded.conf + * Ths allows us to simply generate DHCP structure without any C programming. + */ + +/* + * dhcpcd - DHCP client daemon + * Copyright (c) 2006-2015 Roy Marples <roy@marples.name> + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <unistd.h> + +const char * const dhcpcd_embedded_conf[] = { +"define 1 request ipaddress subnet_mask", +"define 121 rfc3442 classless_static_routes", +"define 249 rfc3442 ms_classless_static_routes", +"define 33 request array ipaddress static_routes", +"define 3 request array ipaddress routers", +"define 2 uint32 time_offset", +"define 4 array ipaddress time_servers", +"define 5 array ipaddress ien116_name_servers", +"define 6 array ipaddress domain_name_servers", +"define 7 array ipaddress log_servers", +"define 8 array ipaddress cookie_servers", +"define 9 array ipaddress lpr_servers", +"define 10 array ipaddress impress_servers", +"define 11 array ipaddress resource_location_servers", +"define 12 dname host_name", +"define 13 uint16 boot_size", +"define 14 string merit_dump", +"define 15 array dname domain_name", +"define 16 ipaddress swap_server", +"define 17 string root_path", +"define 18 string extensions_path", +"define 19 byte ip_forwarding", +"define 20 byte non_local_source_routing", +"define 21 array ipaddress policy_filter", +"define 22 int16 max_dgram_reassembly", +"define 23 uint16 default_ip_ttl", +"define 24 uint32 path_mtu_aging_timeout", +"define 25 array uint16 path_mtu_plateau_table", +"define 26 uint16 interface_mtu", +"define 27 byte all_subnets_local", +"define 28 request ipaddress broadcast_address", +"define 29 byte perform_mask_discovery", +"define 30 byte mask_supplier", +"define 31 byte router_discovery", +"define 32 ipaddress router_solicitation_address", +"define 34 byte trailer_encapsulation", +"define 35 uint32 arp_cache_timeout", +"define 36 uint16 ieee802_3_encapsulation", +"define 37 byte default_tcp_ttl", +"define 38 uint32 tcp_keepalive_interval", +"define 39 byte tcp_keepalive_garbage", +"define 40 string nis_domain", +"define 41 array ipaddress nis_servers", +"define 42 array ipaddress ntp_servers", +"define 43 string vendor_encapsulated_options", +"define 44 array ipaddress netbios_name_servers", +"define 45 ipaddress netbios_dd_server", +"define 46 byte netbios_node_type", +"define 47 string netbios_scope", +"define 48 array ipaddress font_servers", +"define 49 array ipaddress x_display_manager", +"define 50 ipaddress dhcp_requested_address", +"define 51 request uint32 dhcp_lease_time", +"define 52 byte dhcp_option_overload", +"define 53 byte dhcp_message_type", +"define 54 ipaddress dhcp_server_identifier", +"define 55 array byte dhcp_parameter_request_list", +"define 56 string dhcp_message", +"define 57 uint16 dhcp_max_message_size", +"define 58 request uint32 dhcp_renewal_time", +"define 59 request uint32 dhcp_rebinding_time", +"define 60 binhex vendor_class_identifier", +"define 61 binhex dhcp_client_identifier", +"define 64 string nisplus_domain", +"define 65 array ipaddress nisplus_servers", +"define 66 dname tftp_server_name", +"define 67 string bootfile_name", +"define 68 array ipaddress mobile_ip_home_agent", +"define 69 array ipaddress smtp_server", +"define 70 array ipaddress pop_server", +"define 71 array ipaddress nntp_server", +"define 72 array ipaddress www_server", +"define 73 array ipaddress finger_server", +"define 74 array ipaddress irc_server", +"define 75 array ipaddress streettalk_server", +"define 76 array ipaddress streettalk_directory_assistance_server", +"define 77 binhex user_class", +"define 78 embed slp_agent", +"embed byte mandatory", +"embed array ipaddress address", +"define 79 embed slp_service", +"embed byte mandatory", +"embed ascii scope_list", +"define 80 norequest flag rapid_commit", +"define 81 embed fqdn", +"embed byte flags", +"embed byte rcode1", +"embed byte rcode2", +"embed domain fqdn", +"define 85 array ipaddress nds_servers", +"define 86 raw nds_tree_name", +"define 87 raw nds_context", +"define 88 array domain bcms_controller_names", +"define 89 array ipaddress bcms_controller_address", +"define 90 embed auth", +"embed byte protocol", +"embed byte algorithm", +"embed byte rdm", +"embed binhex:8 replay", +"embed binhex information", +"define 91 uint32 client_last_transaction_time", +"define 92 array ipaddress associated_ip", +"define 98 string uap_servers", +"define 99 encap geoconf_civic", +"embed byte what", +"embed uint16 country_code", +"define 100 string posix_timezone", +"define 101 string tzdb_timezone", +"define 116 byte auto_configure", +"define 117 array uint16 name_service_search", +"define 118 ipaddress subnet_selection", +"define 119 array domain domain_search", +"define 120 rfc3361 sip_server", +"define 122 encap tsp", +"encap 1 ipaddress dhcp_server", +"encap 2 ipaddress dhcp_secondary_server", +"encap 3 rfc3361 provisioning_server", +"encap 4 embed as_req_as_rep_backoff", +"embed uint32 nominal", +"embed uint32 maximum", +"embed uint32 retry", +"encap 5 embed ap_req_ap_rep_backoff", +"embed uint32 nominal", +"embed uint32 maximum", +"embed uint32 retry", +"encap 6 domain kerberos_realm", +"encap 7 byte ticket_granting_server_utilization", +"encap 8 byte provisioning_timer", +"define 123 binhex geoconf", +"define 124 binhex vivco", +"define 125 embed vivso", +"embed uint32 enterprise_number", +"define 136 array ipaddress pana_agent", +"define 137 domain lost_server", +"define 138 array ipaddress capwap_ac", +"define 139 encap mos_ip", +"encap 1 array ipaddress is", +"encap 2 array ipaddress cs", +"encap 3 array ipaddress es", +"define 140 encap mos_domain", +"encap 1 domain is", +"encap 2 domain cs", +"encap 3 domain es", +"define 141 array domain sip_ua_cs_list", +"define 142 array ipaddress andsf", +"define 143 array ip6address andsf6", +"define 144 binhex geoloc", +"define 145 array byte forcerenew_nonce_capable", +"define 146 embed rdnss_selection", +"embed byte prf", +"embed ipaddress primary", +"embed ipaddress secondary", +"embed array domain domains", +"define 150 array ipaddress tftp_servers", +"define 208 binhex pxelinux_magic", +"define 209 string config_file", +"define 210 string path_prefix", +"define 211 uint32 reboot_time", +"define 212 rfc5969 sixrd", +"define 213 domain access_domain", +"define 221 encap vss", +"encap 0 string nvt", +"encap 1 binhex vpn_id", +"encap 255 flag global", +"define 252 string wpad_url", +"define6 1 binhex client_id", +"define6 2 binhex server_id", +"define6 3 norequest index embed ia_na", +"embed binhex:4 iaid", +"embed uint32 t1", +"embed uint32 t2", +"encap 5 option", +"encap 13 option", +"define6 4 norequest index embed ia_ta", +"embed uint32 iaid", +"encap 5 option", +"encap 13 option", +"define6 5 norequest index embed ia_addr", +"embed ip6address ia_addr", +"embed uint32 pltime", +"embed uint32 vltime", +"encap 13 option", +"define6 6 array uint16 option_request", +"define6 7 byte preference", +"define6 8 uint16 elased_time", +"define6 9 binhex dhcp_relay_msg", +"define6 11 embed auth", +"embed byte protocol", +"embed byte algorithm", +"embed byte rdm", +"embed binhex:8 replay", +"embed binhex information", +"define6 12 ip6address unicast", +"define6 13 norequest embed status_code", +"embed uint16 status_code", +"embed string message", +"define6 14 norequest flag rapid_commit", +"define6 15 binhex user_class", +"define6 16 binhex vivco", +"define6 17 embed vivso", +"embed uint32 enterprise_number", +"define6 18 binhex interface_id", +"define6 19 byte reconfigure_msg", +"define6 20 flag reconfigure_accept", +"define6 21 array domain sip_servers_names", +"define6 22 array ip6address sip_servers_addresses", +"define6 23 array ip6address name_servers", +"define6 24 array domain domain_search", +"define6 25 norequest index embed ia_pd", +"embed binhex:4 iaid", +"embed uint32 t1", +"embed uint32 t2", +"encap 26 option", +"define6 26 index embed prefix", +"embed uint32 pltime", +"embed uint32 vltime", +"embed byte length", +"embed ip6address prefix", +"encap 13 option", +"encap 67 option", +"define6 27 array ip6address nis_servers", +"define6 28 array ip6address nisp_servers", +"define6 29 string nis_domain_name", +"define6 30 string nisp_domain_name", +"define6 31 array ip6address sntp_servers", +"define6 32 uint32 info_refresh_time", +"define6 33 array domain bcms_server_d", +"define6 34 array ip6address bcms_server_a", +"define6 36 encap geoconf_civic", +"embed byte what", +"embed uint16 country_code", +"define6 37 embed remote_id", +"embed uint32 enterprise_number", +"embed binhex remote_id", +"define6 38 binhex subscriber_id", +"define6 39 embed fqdn", +"embed byte flags", +"embed domain fqdn", +"define6 40 array ip6address pana_agent", +"define6 41 string posix_timezone", +"define6 42 string tzdb_timezone", +"define6 43 array uint16 ero", +"define6 49 domain mip6_hnidf", +"define6 50 encap mip6_vdinf", +"encap 71 option", +"encap 72 option", +"encap 73 option", +"define6 51 domain lost_server", +"define6 52 array ip6address capwap_ac", +"define6 53 binhex relay_id", +"define6 54 encap mos_ip", +"encap 1 array ip6address is", +"encap 2 array ip6address cs", +"encap 3 array ip6address es", +"define6 55 encap mos_domain", +"encap 1 domain is", +"encap 2 domain cs", +"encap 3 domain es", +"define6 56 encap ntp_server", +"encap 1 ip6address addr", +"encap 2 ip6address mcast_addr", +"encap 3 ip6address fqdn", +"define6 57 domain access_domain", +"define6 58 array domain sip_ua_cs_list", +"define6 59 string bootfile_url", +"define6 60 binhex bootfile_param", +"define6 61 array uint16 architecture_types", +"define6 62 embed nii", +"embed byte type", +"embed byte major", +"embed byte minor", +"define6 63 binhex geoloc", +"define6 64 domain aftr_name", +"define6 67 embed pd_exclude", +"embed byte prefix_len", +"embed binhex subnetID", +"define6 69 encap mip6_idinf", +"encap 71 option", +"encap 72 option", +"encap 73 option", +"define6 70 encap mip6_udinf", +"encap 71 option", +"encap 72 option", +"encap 73 option", +"define6 71 embed mip6_hnp", +"embed byte prefix_len", +"embed ip6address prefix", +"define6 72 ip6address mip6_haa", +"define6 73 domain mip6_haf", +"define6 74 embed rdnss_selection", +"embed ip6address server", +"embed byte prf", +"embed array domain domains", +"define6 75 string krb_principal_name", +"define6 76 string krb_realm_name", +"define6 78 embed krb_kdc", +"embed uint16 priority", +"embed uint16 weight", +"embed byte transport_type", +"embed uint16 port", +"embed ip6address address", +"embed string realm_name", +"define6 80 ip6address link_address", +"define6 82 request uint32 sol_max_rt", +"define6 83 request uint32 inf_max_rt", +NULL +}; diff --git a/dhcpcd-embedded.h b/dhcpcd-embedded.h new file mode 100644 index 0000000..1a245e4 --- /dev/null +++ b/dhcpcd-embedded.h @@ -0,0 +1,31 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright (c) 2006-2015 Roy Marples <roy@marples.name> + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define INITDEFINES 122 +#define INITDEFINE6S 68 + +extern const char * const dhcpcd_embedded_conf[]; |