mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 12:31:27 +08:00
Update to FreeBSD head 2018-04-01
Git mirror commit 8dfb1ccc26d1cea7e2529303003ff61f9f1784c4. Update #3472.
This commit is contained in:
@@ -93,7 +93,7 @@ cap_channel_t *capsyslog;
|
||||
time_t cur_time;
|
||||
time_t default_lease_time = 43200; /* 12 hours... */
|
||||
|
||||
char *path_dhclient_conf = _PATH_DHCLIENT_CONF;
|
||||
const char *path_dhclient_conf = _PATH_DHCLIENT_CONF;
|
||||
char *path_dhclient_db = NULL;
|
||||
|
||||
int log_perror = 1;
|
||||
@@ -133,10 +133,10 @@ void routehandler(struct protocol *);
|
||||
void usage(void);
|
||||
int check_option(struct client_lease *l, int option);
|
||||
int check_classless_option(unsigned char *data, int len);
|
||||
int ipv4addrs(char * buf);
|
||||
int ipv4addrs(const char * buf);
|
||||
int res_hnok(const char *dn);
|
||||
int check_search(const char *srch);
|
||||
char *option_as_string(unsigned int code, unsigned char *data, int len);
|
||||
const char *option_as_string(unsigned int code, unsigned char *data, int len);
|
||||
int fork_privchld(int, int);
|
||||
|
||||
#define ROUNDUP(a) \
|
||||
@@ -203,26 +203,25 @@ uint8_t curbssid[6];
|
||||
static void
|
||||
disassoc(void *arg)
|
||||
{
|
||||
struct interface_info *ifi = arg;
|
||||
struct interface_info *_ifi = arg;
|
||||
|
||||
/*
|
||||
* Clear existing state.
|
||||
*/
|
||||
if (ifi->client->active != NULL) {
|
||||
if (_ifi->client->active != NULL) {
|
||||
script_init("EXPIRE", NULL);
|
||||
script_write_params("old_",
|
||||
ifi->client->active);
|
||||
if (ifi->client->alias)
|
||||
_ifi->client->active);
|
||||
if (_ifi->client->alias)
|
||||
script_write_params("alias_",
|
||||
ifi->client->alias);
|
||||
_ifi->client->alias);
|
||||
script_go();
|
||||
}
|
||||
ifi->client->state = S_INIT;
|
||||
_ifi->client->state = S_INIT;
|
||||
}
|
||||
|
||||
/* ARGSUSED */
|
||||
void
|
||||
routehandler(struct protocol *p)
|
||||
routehandler(struct protocol *p __unused)
|
||||
{
|
||||
char msg[2048], *addr;
|
||||
struct rt_msghdr *rtm;
|
||||
@@ -232,7 +231,7 @@ routehandler(struct protocol *p)
|
||||
struct ieee80211_join_event *jev;
|
||||
struct client_lease *l;
|
||||
time_t t = time(NULL);
|
||||
struct sockaddr *sa;
|
||||
struct sockaddr_in *sa;
|
||||
struct iaddr a;
|
||||
ssize_t n;
|
||||
int linkstat;
|
||||
@@ -256,13 +255,13 @@ routehandler(struct protocol *p)
|
||||
if (scripttime == 0 || t < scripttime + 10)
|
||||
break;
|
||||
|
||||
sa = get_ifa((char *)(ifam + 1), ifam->ifam_addrs);
|
||||
sa = (struct sockaddr_in*)get_ifa((char *)(ifam + 1), ifam->ifam_addrs);
|
||||
if (sa == NULL)
|
||||
break;
|
||||
|
||||
if ((a.len = sizeof(struct in_addr)) > sizeof(a.iabuf))
|
||||
error("king bula sez: len mismatch");
|
||||
memcpy(a.iabuf, &((struct sockaddr_in *)sa)->sin_addr, a.len);
|
||||
memcpy(a.iabuf, &sa->sin_addr, a.len);
|
||||
if (addr_eq(a, defaddr))
|
||||
break;
|
||||
|
||||
@@ -273,7 +272,7 @@ routehandler(struct protocol *p)
|
||||
if (l == NULL) /* added/deleted addr is not the one we set */
|
||||
break;
|
||||
|
||||
addr = inet_ntoa(((struct sockaddr_in *)sa)->sin_addr);
|
||||
addr = inet_ntoa(sa->sin_addr);
|
||||
if (rtm->rtm_type == RTM_NEWADDR) {
|
||||
/*
|
||||
* XXX: If someone other than us adds our address,
|
||||
@@ -948,7 +947,7 @@ dhcp(struct packet *packet)
|
||||
{
|
||||
struct iaddrlist *ap;
|
||||
void (*handler)(struct packet *);
|
||||
char *type;
|
||||
const char *type;
|
||||
|
||||
switch (packet->packet_type) {
|
||||
case DHCPOFFER:
|
||||
@@ -986,7 +985,7 @@ dhcpoffer(struct packet *packet)
|
||||
struct client_lease *lease, *lp;
|
||||
int i;
|
||||
int arp_timeout_needed, stop_selecting;
|
||||
char *name = packet->options[DHO_DHCP_MESSAGE_TYPE].len ?
|
||||
const char *name = packet->options[DHO_DHCP_MESSAGE_TYPE].len ?
|
||||
"DHCPOFFER" : "BOOTREPLY";
|
||||
|
||||
/* If we're not receptive to an offer right now, or if the offer
|
||||
@@ -1516,7 +1515,8 @@ cancel:
|
||||
memcpy(&to.s_addr, ip->client->destination.iabuf,
|
||||
sizeof(to.s_addr));
|
||||
|
||||
if (ip->client->state != S_REQUESTING)
|
||||
if (ip->client->state != S_REQUESTING &&
|
||||
ip->client->state != S_REBOOTING)
|
||||
memcpy(&from, ip->client->active->address.iabuf,
|
||||
sizeof(from));
|
||||
else
|
||||
@@ -1995,7 +1995,7 @@ write_client_lease(struct interface_info *ip, struct client_lease *lease,
|
||||
}
|
||||
|
||||
void
|
||||
script_init(char *reason, struct string_list *medium)
|
||||
script_init(const char *reason, struct string_list *medium)
|
||||
{
|
||||
size_t len, mediumlen = 0;
|
||||
struct imsg_hdr hdr;
|
||||
@@ -2030,7 +2030,7 @@ script_init(char *reason, struct string_list *medium)
|
||||
}
|
||||
|
||||
void
|
||||
priv_script_init(char *reason, char *medium)
|
||||
priv_script_init(const char *reason, char *medium)
|
||||
{
|
||||
struct interface_info *ip = ifi;
|
||||
|
||||
@@ -2058,7 +2058,7 @@ priv_script_init(char *reason, char *medium)
|
||||
}
|
||||
|
||||
void
|
||||
priv_script_write_params(char *prefix, struct client_lease *lease)
|
||||
priv_script_write_params(const char *prefix, struct client_lease *lease)
|
||||
{
|
||||
struct interface_info *ip = ifi;
|
||||
u_int8_t dbuf[1500], *dp = NULL;
|
||||
@@ -2198,7 +2198,7 @@ supersede:
|
||||
}
|
||||
|
||||
void
|
||||
script_write_params(char *prefix, struct client_lease *lease)
|
||||
script_write_params(const char *prefix, struct client_lease *lease)
|
||||
{
|
||||
size_t fn_len = 0, sn_len = 0, pr_len = 0;
|
||||
struct imsg_hdr hdr;
|
||||
@@ -2432,7 +2432,7 @@ go_daemon(void)
|
||||
/* Stop logging to stderr... */
|
||||
log_perror = 0;
|
||||
|
||||
if (daemon(1, 1) == -1)
|
||||
if (daemonfd(-1, nullfd) == -1)
|
||||
error("daemon");
|
||||
|
||||
cap_rights_init(&rights);
|
||||
@@ -2445,11 +2445,7 @@ go_daemon(void)
|
||||
}
|
||||
}
|
||||
|
||||
/* we are chrooted, daemon(3) fails to open /dev/null */
|
||||
if (nullfd != -1) {
|
||||
dup2(nullfd, STDIN_FILENO);
|
||||
dup2(nullfd, STDOUT_FILENO);
|
||||
dup2(nullfd, STDERR_FILENO);
|
||||
close(nullfd);
|
||||
nullfd = -1;
|
||||
}
|
||||
@@ -2466,8 +2462,8 @@ go_daemon(void)
|
||||
int
|
||||
check_option(struct client_lease *l, int option)
|
||||
{
|
||||
char *opbuf;
|
||||
char *sbuf;
|
||||
const char *opbuf;
|
||||
const char *sbuf;
|
||||
|
||||
/* we use this, since this is what gets passed to dhclient-script */
|
||||
|
||||
@@ -2727,7 +2723,7 @@ check_search(const char *srch)
|
||||
* otherwise, return 0
|
||||
*/
|
||||
int
|
||||
ipv4addrs(char * buf)
|
||||
ipv4addrs(const char * buf)
|
||||
{
|
||||
struct in_addr jnk;
|
||||
int count = 0;
|
||||
@@ -2745,7 +2741,7 @@ ipv4addrs(char * buf)
|
||||
}
|
||||
|
||||
|
||||
char *
|
||||
const char *
|
||||
option_as_string(unsigned int code, unsigned char *data, int len)
|
||||
{
|
||||
static char optbuf[32768]; /* XXX */
|
||||
|
Reference in New Issue
Block a user