OCT 1. 重新格式化代码

This commit is contained in:
huangxin 2022-12-06 14:42:41 +08:00
parent 694da892ee
commit 5b1822198f
10 changed files with 249 additions and 244 deletions

View File

@ -13,9 +13,6 @@ extern "C" {
#include "user_info.h" #include "user_info.h"
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -2,7 +2,7 @@ SET(DHCPD_PROJECT_TARGET opendhcpd)
PROJECT(${DHCPD_PROJECT_TARGET} CXX) PROJECT(${DHCPD_PROJECT_TARGET} CXX)
add_definitions(-Wno-write-strings) ADD_DEFINITIONS(-Wno-write-strings)
INCLUDE_DIRECTORIES(../libs/include ./ ../httpserver/include) INCLUDE_DIRECTORIES(../libs/include ./ ../httpserver/include)

View File

@ -530,14 +530,14 @@ int dhcpd_main(int daemon, const char *pInifile, const char *pStatusFile, const
} }
for (int i = 0; i < MAX_SERVERS && network.dhcpConn[i].ready; i++) { for (int i = 0; i < MAX_SERVERS && network.dhcpConn[i].ready; i++) {
if (FD_ISSET(network.dhcpConn[i].sock, &readfds) && gdmess(&dhcpr_local, i) if (FD_ISSET(network.dhcpConn[i].sock, &readfds) && gdmess(&dhcpr_local, i) &&
&& sdmess(&dhcpr_local)) { sdmess(&dhcpr_local)) {
alad(&dhcpr_local); alad(&dhcpr_local);
} }
} }
if (FD_ISSET(network.dhcpListener.sock, &readfds) && gdmess(&dhcpr_local, 255) if (FD_ISSET(network.dhcpListener.sock, &readfds) && gdmess(&dhcpr_local, 255) &&
&& sdmess(&dhcpr_local)) { sdmess(&dhcpr_local)) {
alad(&dhcpr_local); alad(&dhcpr_local);
} }
@ -803,7 +803,8 @@ void prepareUserHtmlRespStatus(data19 *req) {
} else { } else {
fp += sprintf(fp, "<tr><th colspan=\"4\"><font size=\"5\"><i>Active Leases</i></font></th></tr>\n"); fp += sprintf(fp, "<tr><th colspan=\"4\"><font size=\"5\"><i>Active Leases</i></font></th></tr>\n");
fp += sprintf( fp += sprintf(
fp, "<tr><th>Mac Address</th><th>IP</th><th>Lease Expiry</th><th>Hostname (first 20 chars)</th></tr>\n"); fp,
"<tr><th>Mac Address</th><th>IP</th><th>Lease Expiry</th><th>Hostname (first 20 chars)</th></tr>\n");
} }
for (p = dhcpCache.begin(); kRunning && p != dhcpCache.end() && fp < maxData; p++) { for (p = dhcpCache.begin(); kRunning && p != dhcpCache.end() && fp < maxData; p++) {
@ -1170,12 +1171,12 @@ bool checkRange(data17 *rangeData, char rangeInd) {
//printf("checkRange entered, macFound=%i vendFound=%i userFound=%i\n", macFound, vendFound, userFound); //printf("checkRange entered, macFound=%i vendFound=%i userFound=%i\n", macFound, vendFound, userFound);
if ((!rangeData->macFound && !rangeSet->macSize[0]) || (rangeData->macFound && rangeData->macArray[rangeSetInd])) { if ((!rangeData->macFound && !rangeSet->macSize[0]) || (rangeData->macFound && rangeData->macArray[rangeSetInd])) {
if ((!rangeData->vendFound && !rangeSet->vendClassSize[0]) if ((!rangeData->vendFound && !rangeSet->vendClassSize[0]) ||
|| (rangeData->vendFound && rangeData->vendArray[rangeSetInd])) { (rangeData->vendFound && rangeData->vendArray[rangeSetInd])) {
if ((!rangeData->userFound && !rangeSet->userClassSize[0]) if ((!rangeData->userFound && !rangeSet->userClassSize[0]) ||
|| (rangeData->userFound && rangeData->userArray[rangeSetInd])) { (rangeData->userFound && rangeData->userArray[rangeSetInd])) {
if ((!rangeData->subnetFound && !rangeSet->subnetIP[0]) if ((!rangeData->subnetFound && !rangeSet->subnetIP[0]) ||
|| (rangeData->subnetFound && rangeData->subnetArray[rangeSetInd])) { (rangeData->subnetFound && rangeData->subnetArray[rangeSetInd])) {
return true; return true;
} }
} }
@ -1263,8 +1264,10 @@ MYDWORD resad(data9 *req) {
return req->dhcpEntry->ip; return req->dhcpEntry->ip;
} else { } else {
if (verbatim || cfig.dhcpLogLevel) { if (verbatim || cfig.dhcpLogLevel) {
sprintf( sprintf(logBuff,
logBuff, "Static DHCP Host %s (%s) has No IP, DHCPDISCOVER ignored", req->chaddr, req->hostname); "Static DHCP Host %s (%s) has No IP, DHCPDISCOVER ignored",
req->chaddr,
req->hostname);
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
} }
return 0; return 0;
@ -1287,8 +1290,8 @@ MYDWORD resad(data9 *req) {
//printf("%s\n", hex2String(tempbuff, rangeSet->macStart[i], rangeSet->macSize[i])); //printf("%s\n", hex2String(tempbuff, rangeSet->macStart[i], rangeSet->macSize[i]));
//printf("%s\n", hex2String(tempbuff, rangeSet->macEnd[i], rangeSet->macSize[i])); //printf("%s\n", hex2String(tempbuff, rangeSet->macEnd[i], rangeSet->macSize[i]));
if (memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macStart[i], rangeSet->macSize[i]) >= 0 if (memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macStart[i], rangeSet->macSize[i]) >= 0 &&
&& memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macEnd[i], rangeSet->macSize[i]) <= 0) { memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macEnd[i], rangeSet->macSize[i]) <= 0) {
rangeData.macArray[rangeSetInd] = 1; rangeData.macArray[rangeSetInd] = 1;
rangeData.macFound = true; rangeData.macFound = true;
//printf("mac Found, rangeSetInd=%i\n", rangeSetInd); //printf("mac Found, rangeSetInd=%i\n", rangeSetInd);
@ -1297,8 +1300,8 @@ MYDWORD resad(data9 *req) {
} }
for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->vendClass.size && rangeSet->vendClassSize[i]; i++) { for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->vendClass.size && rangeSet->vendClassSize[i]; i++) {
if (rangeSet->vendClassSize[i] == req->vendClass.size if (rangeSet->vendClassSize[i] == req->vendClass.size &&
&& !memcmp(req->vendClass.value, rangeSet->vendClass[i], rangeSet->vendClassSize[i])) { !memcmp(req->vendClass.value, rangeSet->vendClass[i], rangeSet->vendClassSize[i])) {
rangeData.vendArray[rangeSetInd] = 1; rangeData.vendArray[rangeSetInd] = 1;
rangeData.vendFound = true; rangeData.vendFound = true;
//printf("vend Found, rangeSetInd=%i\n", rangeSetInd); //printf("vend Found, rangeSetInd=%i\n", rangeSetInd);
@ -1307,8 +1310,8 @@ MYDWORD resad(data9 *req) {
} }
for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->userClass.size && rangeSet->userClassSize[i]; i++) { for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->userClass.size && rangeSet->userClassSize[i]; i++) {
if (rangeSet->userClassSize[i] == req->userClass.size if (rangeSet->userClassSize[i] == req->userClass.size &&
&& !memcmp(req->userClass.value, rangeSet->userClass[i], rangeSet->userClassSize[i])) { !memcmp(req->userClass.value, rangeSet->userClass[i], rangeSet->userClassSize[i])) {
rangeData.userArray[rangeSetInd] = 1; rangeData.userArray[rangeSetInd] = 1;
rangeData.userFound = true; rangeData.userFound = true;
//printf("user Found, rangeSetInd=%i\n", rangeSetInd); //printf("user Found, rangeSetInd=%i\n", rangeSetInd);
@ -1501,8 +1504,8 @@ MYDWORD chkaddr(data9 *req) {
//printf("%s\n", hex2String(tempbuff, rangeSet->macStart[i], rangeSet->macSize[i])); //printf("%s\n", hex2String(tempbuff, rangeSet->macStart[i], rangeSet->macSize[i]));
//printf("%s\n", hex2String(tempbuff, rangeSet->macEnd[i], rangeSet->macSize[i])); //printf("%s\n", hex2String(tempbuff, rangeSet->macEnd[i], rangeSet->macSize[i]));
if (memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macStart[i], rangeSet->macSize[i]) >= 0 if (memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macStart[i], rangeSet->macSize[i]) >= 0 &&
&& memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macEnd[i], rangeSet->macSize[i]) <= 0) { memcmp(req->dhcpp.header.bp_chaddr, rangeSet->macEnd[i], rangeSet->macSize[i]) <= 0) {
rangeData.macArray[rangeSetInd] = 1; rangeData.macArray[rangeSetInd] = 1;
rangeData.macFound = true; rangeData.macFound = true;
//printf("mac Found, rangeSetInd=%i\n", rangeSetInd); //printf("mac Found, rangeSetInd=%i\n", rangeSetInd);
@ -1511,8 +1514,8 @@ MYDWORD chkaddr(data9 *req) {
} }
for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->vendClass.size && rangeSet->vendClassSize[i]; i++) { for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->vendClass.size && rangeSet->vendClassSize[i]; i++) {
if (rangeSet->vendClassSize[i] == req->vendClass.size if (rangeSet->vendClassSize[i] == req->vendClass.size &&
&& !memcmp(req->vendClass.value, rangeSet->vendClass[i], rangeSet->vendClassSize[i])) { !memcmp(req->vendClass.value, rangeSet->vendClass[i], rangeSet->vendClassSize[i])) {
rangeData.vendArray[rangeSetInd] = 1; rangeData.vendArray[rangeSetInd] = 1;
rangeData.vendFound = true; rangeData.vendFound = true;
//printf("vend Found, rangeSetInd=%i\n", rangeSetInd); //printf("vend Found, rangeSetInd=%i\n", rangeSetInd);
@ -1521,8 +1524,8 @@ MYDWORD chkaddr(data9 *req) {
} }
for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->userClass.size && rangeSet->userClassSize[i]; i++) { for (MYBYTE i = 0; i < MAX_RANGE_FILTERS && req->userClass.size && rangeSet->userClassSize[i]; i++) {
if (rangeSet->userClassSize[i] == req->userClass.size if (rangeSet->userClassSize[i] == req->userClass.size &&
&& !memcmp(req->userClass.value, rangeSet->userClass[i], rangeSet->userClassSize[i])) { !memcmp(req->userClass.value, rangeSet->userClass[i], rangeSet->userClassSize[i])) {
rangeData.userArray[rangeSetInd] = 1; rangeData.userArray[rangeSetInd] = 1;
rangeData.userFound = true; rangeData.userFound = true;
//printf("user Found, rangeSetInd=%i\n", rangeSetInd); //printf("user Found, rangeSetInd=%i\n", rangeSetInd);
@ -1544,12 +1547,12 @@ MYDWORD chkaddr(data9 *req) {
data14 *rangeSet = &cfig.rangeSet[rangeSetInd]; data14 *rangeSet = &cfig.rangeSet[rangeSetInd];
rangeOK = false; rangeOK = false;
if ((!rangeData.macFound && !rangeSet->macSize[0]) if ((!rangeData.macFound && !rangeSet->macSize[0]) ||
|| (rangeData.macFound && rangeData.macArray[rangeSetInd])) { (rangeData.macFound && rangeData.macArray[rangeSetInd])) {
if ((!rangeData.vendFound && !rangeSet->vendClassSize[0]) if ((!rangeData.vendFound && !rangeSet->vendClassSize[0]) ||
|| (rangeData.vendFound && rangeData.vendArray[rangeSetInd])) { (rangeData.vendFound && rangeData.vendArray[rangeSetInd])) {
if ((!rangeData.userFound && !rangeSet->userClassSize[0]) if ((!rangeData.userFound && !rangeSet->userClassSize[0]) ||
|| (rangeData.userFound && rangeData.userArray[rangeSetInd])) { (rangeData.userFound && rangeData.userArray[rangeSetInd])) {
rangeOK = true; rangeOK = true;
} }
} }
@ -1668,8 +1671,8 @@ MYDWORD sdmess(data9 *req) {
//printf("repl1=%s\n", IP2String(tempbuff, cfig.zoneServers[1])); //printf("repl1=%s\n", IP2String(tempbuff, cfig.zoneServers[1]));
//printf("IP=%s bytes=%u replication=%i\n", IP2String(tempbuff, req->remote.sin_addr.s_addr), req->bytes, cfig.replication); //printf("IP=%s bytes=%u replication=%i\n", IP2String(tempbuff, req->remote.sin_addr.s_addr), req->bytes, cfig.replication);
if ((cfig.replication == 1 && req->remote.sin_addr.s_addr == cfig.zoneServers[1]) if ((cfig.replication == 1 && req->remote.sin_addr.s_addr == cfig.zoneServers[1]) ||
|| (cfig.replication == 2 && req->remote.sin_addr.s_addr == cfig.zoneServers[0])) { (cfig.replication == 2 && req->remote.sin_addr.s_addr == cfig.zoneServers[0])) {
recvRepl(req); recvRepl(req);
} }
@ -1692,8 +1695,8 @@ MYDWORD sdmess(data9 *req) {
if (req->reqIP && req->reqIP == chkaddr(req) && req->dhcpEntry->expiry > t) { if (req->reqIP && req->reqIP == chkaddr(req) && req->dhcpEntry->expiry > t) {
req->resp_type = DHCP_MESS_ACK; req->resp_type = DHCP_MESS_ACK;
req->dhcpp.header.bp_yiaddr = req->reqIP; req->dhcpp.header.bp_yiaddr = req->reqIP;
} else if (req->dhcpp.header.bp_ciaddr && req->dhcpp.header.bp_ciaddr == chkaddr(req) } else if (req->dhcpp.header.bp_ciaddr && req->dhcpp.header.bp_ciaddr == chkaddr(req) &&
&& req->dhcpEntry->expiry > t) { req->dhcpEntry->expiry > t) {
req->resp_type = DHCP_MESS_ACK; req->resp_type = DHCP_MESS_ACK;
req->dhcpp.header.bp_yiaddr = req->dhcpp.header.bp_ciaddr; req->dhcpp.header.bp_yiaddr = req->dhcpp.header.bp_ciaddr;
req->dhcpp.header.bp_ciaddr = 0; req->dhcpp.header.bp_ciaddr = 0;
@ -1712,8 +1715,8 @@ MYDWORD sdmess(data9 *req) {
} else { } else {
return 0; return 0;
} }
} else if (req->dhcpp.header.bp_ciaddr && req->dhcpp.header.bp_ciaddr == chkaddr(req) } else if (req->dhcpp.header.bp_ciaddr && req->dhcpp.header.bp_ciaddr == chkaddr(req) &&
&& req->dhcpEntry->expiry > t) { req->dhcpEntry->expiry > t) {
req->resp_type = DHCP_MESS_ACK; req->resp_type = DHCP_MESS_ACK;
req->dhcpp.header.bp_yiaddr = req->dhcpp.header.bp_ciaddr; req->dhcpp.header.bp_yiaddr = req->dhcpp.header.bp_ciaddr;
req->dhcpp.header.bp_ciaddr = 0; req->dhcpp.header.bp_ciaddr = 0;
@ -1772,8 +1775,12 @@ MYDWORD sdmess(data9 *req) {
(sockaddr *)&cliAddr, (sockaddr *)&cliAddr,
sizeof(req->remote)); sizeof(req->remote));
} else { } else {
req->bytes = (int)sendto( req->bytes = (int)sendto(network.dhcpConn[req->sockInd].sock,
network.dhcpConn[req->sockInd].sock, req->raw, packSize, 0, (sockaddr *)&cliAddr, sizeof(req->remote)); req->raw,
packSize,
0,
(sockaddr *)&cliAddr,
sizeof(req->remote));
} }
if (errno || req->bytes <= 0) { if (errno || req->bytes <= 0) {
@ -2173,8 +2180,8 @@ MYDWORD sendRepl(data9 *req) {
req->dhcpp.header.bp_op = BOOTP_REQUEST; req->dhcpp.header.bp_op = BOOTP_REQUEST;
errno = 0; errno = 0;
req->bytes = (int)sendto( req->bytes = (int)
cfig.dhcpReplConn.sock, req->raw, req->bytes, 0, (sockaddr *)&token.remote, sizeof(token.remote)); sendto(cfig.dhcpReplConn.sock, req->raw, req->bytes, 0, (sockaddr *)&token.remote, sizeof(token.remote));
//errno = WSAGetLastError(); //errno = WSAGetLastError();
@ -2278,8 +2285,10 @@ void recvRepl(data9 *req) {
req->chaddr, req->chaddr,
IP2String(ipbuff, ip)); IP2String(ipbuff, ip));
} else { } else {
sprintf( sprintf(logBuff,
logBuff, "DHCP Update ignored for %s (%s) from Primary Server", req->chaddr, IP2String(ipbuff, ip)); "DHCP Update ignored for %s (%s) from Primary Server",
req->chaddr,
IP2String(ipbuff, ip));
} }
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
@ -2367,8 +2376,10 @@ void recvRepl(data9 *req) {
} }
} else { } else {
if (cfig.replication == 1) { if (cfig.replication == 1) {
sprintf( sprintf(logBuff,
logBuff, "DHCP Update ignored for %s (%s) from Secondary Server", req->chaddr, IP2String(ipbuff, ip)); "DHCP Update ignored for %s (%s) from Secondary Server",
req->chaddr,
IP2String(ipbuff, ip));
} else { } else {
sprintf(logBuff, "DHCP Update ignored for %s (%s) from Primary Server", req->chaddr, IP2String(ipbuff, ip)); sprintf(logBuff, "DHCP Update ignored for %s (%s) from Primary Server", req->chaddr, IP2String(ipbuff, ip));
} }
@ -2735,8 +2746,10 @@ void loadOptions(FILE *f, const char *sectionName, data20 *optionData) {
dp += valSize; dp += valSize;
buffsize -= (valSize + 2); buffsize -= (valSize + 2);
} else { } else {
sprintf( sprintf(logBuff,
logBuff, "Warning: section [%s] option %s, no more space for options", sectionName, raw); "Warning: section [%s] option %s, no more space for options",
sectionName,
raw);
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
} }
} else { } else {
@ -2877,11 +2890,11 @@ void loadOptions(FILE *f, const char *sectionName, data20 *optionData) {
if (valType == 2 && valSize == 1 && *value < 2) { if (valType == 2 && valSize == 1 && *value < 2) {
j = *value; j = *value;
} else if (valType == 1 } else if (valType == 1 &&
&& (!strcasecmp(value, "yes") || !strcasecmp(value, "on") || !strcasecmp(value, "true"))) { (!strcasecmp(value, "yes") || !strcasecmp(value, "on") || !strcasecmp(value, "true"))) {
j = 1; j = 1;
} else if (valType == 1 } else if (valType == 1 &&
&& (!strcasecmp(value, "no") || !strcasecmp(value, "off") || !strcasecmp(value, "false"))) { (!strcasecmp(value, "no") || !strcasecmp(value, "off") || !strcasecmp(value, "false"))) {
j = 0; j = 0;
} else if (valType == 6 && STR2INT(value) < 2) { } else if (valType == 6 && STR2INT(value) < 2) {
j = STR2INT(value); j = STR2INT(value);
@ -2967,8 +2980,8 @@ void lockOptions(FILE *f) {
MYBYTE n = sizeof(opData) / sizeof(data4); MYBYTE n = sizeof(opData) / sizeof(data4);
for (op_index = 0; op_index < n; op_index++) { for (op_index = 0; op_index < n; op_index++) {
if (!strcasecmp(name, opData[op_index].opName) if (!strcasecmp(name, opData[op_index].opName) ||
|| (opData[op_index].opTag && STR2INT(name) == opData[op_index].opTag)) { (opData[op_index].opTag && STR2INT(name) == opData[op_index].opTag)) {
break; break;
} }
} }
@ -3032,10 +3045,10 @@ void addDHCPRange(char *dp) {
for (; m < MAX_DHCP_RANGES && cfig.dhcpRanges[m].rangeStart; m++) { for (; m < MAX_DHCP_RANGES && cfig.dhcpRanges[m].rangeStart; m++) {
range = &cfig.dhcpRanges[m]; range = &cfig.dhcpRanges[m];
if ((rs >= range->rangeStart && rs <= range->rangeEnd) if ((rs >= range->rangeStart && rs <= range->rangeEnd) ||
|| (re >= range->rangeStart && re <= range->rangeEnd) (re >= range->rangeStart && re <= range->rangeEnd) ||
|| (range->rangeStart >= rs && range->rangeStart <= re) (range->rangeStart >= rs && range->rangeStart <= re) ||
|| (range->rangeEnd >= rs && range->rangeEnd <= re)) { (range->rangeEnd >= rs && range->rangeEnd <= re)) {
sprintf(logBuff, "Warning: DHCP Range %s overlaps with another range, ignored", dp); sprintf(logBuff, "Warning: DHCP Range %s overlaps with another range, ignored", dp);
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
return; return;
@ -3254,8 +3267,8 @@ void loadDHCP() {
for (MYDWORD iip = cfig.dhcpRanges[rangeInd].rangeStart; iip <= cfig.dhcpRanges[rangeInd].rangeEnd; iip++) { for (MYDWORD iip = cfig.dhcpRanges[rangeInd].rangeStart; iip <= cfig.dhcpRanges[rangeInd].rangeEnd; iip++) {
MYDWORD ip = htonl(iip); MYDWORD ip = htonl(iip);
if ((cfig.dhcpRanges[rangeInd].mask | (~ip)) == UINT_MAX if ((cfig.dhcpRanges[rangeInd].mask | (~ip)) == UINT_MAX ||
|| (cfig.dhcpRanges[rangeInd].mask | ip) == UINT_MAX) { (cfig.dhcpRanges[rangeInd].mask | ip) == UINT_MAX) {
cfig.dhcpRanges[rangeInd].expiry[iip - cfig.dhcpRanges[rangeInd].rangeStart] = MY_MAX_TIME; cfig.dhcpRanges[rangeInd].expiry[iip - cfig.dhcpRanges[rangeInd].rangeStart] = MY_MAX_TIME;
} }
} }
@ -3380,8 +3393,8 @@ void loadDHCP() {
//sprintf(logBuff, "Loading %s=%s", dhcpData.hostname, IP2String(ipbuff, dhcpData.ip)); //sprintf(logBuff, "Loading %s=%s", dhcpData.hostname, IP2String(ipbuff, dhcpData.ip));
//logDHCPMess(logBuff, 1); //logDHCPMess(logBuff, 1);
if (dhcpData.expiry > (t - 31 * 24 * 3600) && dhcpData.bp_hlen <= 16 if (dhcpData.expiry > (t - 31 * 24 * 3600) && dhcpData.bp_hlen <= 16 &&
&& !findServer(network.allServers, MAX_SERVERS, dhcpData.ip)) { !findServer(network.allServers, MAX_SERVERS, dhcpData.ip)) {
hex2String(mapname, dhcpData.bp_chaddr, dhcpData.bp_hlen); hex2String(mapname, dhcpData.bp_chaddr, dhcpData.bp_hlen);
auto p = dhcpCache.begin(); auto p = dhcpCache.begin();
@ -3394,8 +3407,8 @@ void loadDHCP() {
} }
} }
if ((p != dhcpCache.end()) if ((p != dhcpCache.end()) &&
&& (strcasecmp(mapname, dhcpEntry->mapname) != 0 || dhcpEntry->ip != dhcpData.ip)) { (strcasecmp(mapname, dhcpEntry->mapname) != 0 || dhcpEntry->ip != dhcpData.ip)) {
continue; continue;
} }
@ -3573,8 +3586,8 @@ char *readSection(char *buff, FILE *f) {
break; break;
} }
if ((*buff) >= '0' && (*buff) <= '9' || (*buff) >= 'A' && (*buff) <= 'Z' || (*buff) >= 'a' && (*buff) <= 'z' if ((*buff) >= '0' && (*buff) <= '9' || (*buff) >= 'A' && (*buff) <= 'Z' || (*buff) >= 'a' && (*buff) <= 'z' ||
|| ((*buff) && strchr("/\\?*", (*buff)))) { ((*buff) && strchr("/\\?*", (*buff)))) {
return buff; return buff;
} }
} }
@ -4462,8 +4475,8 @@ void *init(void *lparam) {
sprintf(logBuff, "Section [REPLICATION_SERVERS] Missing Secondary Server"); sprintf(logBuff, "Section [REPLICATION_SERVERS] Missing Secondary Server");
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
} else if (cfig.zoneServers[0] && cfig.zoneServers[1]) { } else if (cfig.zoneServers[0] && cfig.zoneServers[1]) {
if (findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[0]) if (findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[0]) &&
&& findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[1])) { findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[1])) {
sprintf(logBuff, "Section [REPLICATION_SERVERS] Primary & Secondary should be Different Boxes"); sprintf(logBuff, "Section [REPLICATION_SERVERS] Primary & Secondary should be Different Boxes");
logDHCPMess(logBuff, 1); logDHCPMess(logBuff, 1);
} else if (findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[0])) { } else if (findServer(newNetwork.allServers, MAX_SERVERS, cfig.zoneServers[0])) {
@ -4684,8 +4697,9 @@ void *init(void *lparam) {
SO_BROADCAST, SO_BROADCAST,
(char *)&newNetwork.dhcpConn[i].broadCastVal, (char *)&newNetwork.dhcpConn[i].broadCastVal,
newNetwork.dhcpConn[i].broadCastSize); newNetwork.dhcpConn[i].broadCastSize);
int nRet = bind( int nRet = bind(newNetwork.dhcpConn[i].sock,
newNetwork.dhcpConn[i].sock, (sockaddr *)&newNetwork.dhcpConn[i].addr, sizeof(struct sockaddr_in)); (sockaddr *)&newNetwork.dhcpConn[i].addr,
sizeof(struct sockaddr_in));
if (nRet == SOCKET_ERROR) { if (nRet == SOCKET_ERROR) {
close(newNetwork.dhcpConn[i].sock); close(newNetwork.dhcpConn[i].sock);
@ -4796,8 +4810,8 @@ void *init(void *lparam) {
} }
} }
if (newNetwork.httpConn.server != inet_addr("127.0.0.1") if (newNetwork.httpConn.server != inet_addr("127.0.0.1") &&
&& !findServer(newNetwork.allServers, MAX_SERVERS, newNetwork.httpConn.server)) { !findServer(newNetwork.allServers, MAX_SERVERS, newNetwork.httpConn.server)) {
bindfailed = true; bindfailed = true;
newNetwork.httpConn.loaded = false; newNetwork.httpConn.loaded = false;
sprintf(logBuff, "Warning: Section [HTTP_INTERFACE], %s not available, ignored", raw); sprintf(logBuff, "Warning: Section [HTTP_INTERFACE], %s not available, ignored", raw);
@ -4846,8 +4860,9 @@ void *init(void *lparam) {
newNetwork.httpConn.addr.sin_addr.s_addr = newNetwork.httpConn.server; newNetwork.httpConn.addr.sin_addr.s_addr = newNetwork.httpConn.server;
newNetwork.httpConn.addr.sin_port = htons(newNetwork.httpConn.port); newNetwork.httpConn.addr.sin_port = htons(newNetwork.httpConn.port);
int nRet = bind( int nRet = bind(newNetwork.httpConn.sock,
newNetwork.httpConn.sock, (sockaddr *)&newNetwork.httpConn.addr, sizeof(struct sockaddr_in)); (sockaddr *)&newNetwork.httpConn.addr,
sizeof(struct sockaddr_in));
if (nRet == SOCKET_ERROR) { if (nRet == SOCKET_ERROR) {
bindfailed = true; bindfailed = true;
@ -5001,8 +5016,8 @@ void getInterfaces(data1 *pNetwork) {
flags = 0; flags = 0;
} }
if (addr && mask && (flags & IFF_RUNNING) && (flags & IFF_UP) && !(flags & IFF_LOOPBACK) if (addr && mask && (flags & IFF_RUNNING) && (flags & IFF_UP) && !(flags & IFF_LOOPBACK) &&
&& !(flags & IFF_POINTOPOINT)) { !(flags & IFF_POINTOPOINT)) {
MYBYTE k = addServer(pNetwork->allServers, MAX_SERVERS, addr); MYBYTE k = addServer(pNetwork->allServers, MAX_SERVERS, addr);
if (k != MAX_SERVERS) { if (k != MAX_SERVERS) {
@ -5098,8 +5113,12 @@ MYWORD gdmess(data9 *req, MYBYTE sockInd) {
req->sockInd = sockInd; req->sockInd = sockInd;
req->sockLen = sizeof(req->remote); req->sockLen = sizeof(req->remote);
errno = 0; errno = 0;
req->bytes = (int)recvfrom( req->bytes = (int)recvfrom(network.dhcpConn[sockInd].sock,
network.dhcpConn[sockInd].sock, req->raw, sizeof(dhcp_packet), 0, (sockaddr *)&req->remote, &req->sockLen); req->raw,
sizeof(dhcp_packet),
0,
(sockaddr *)&req->remote,
&req->sockLen);
if (errno || req->bytes <= 0) { if (errno || req->bytes <= 0) {
return 0; return 0;

View File

@ -294,8 +294,8 @@ struct data4 {
bool permitted; bool permitted;
}; };
#if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__)) || defined(_M_X64) \ #if defined(__LP64__) || defined(_WIN64) || (defined(__x86_64__) && !defined(__ILP32__)) || defined(_M_X64) || \
|| defined(__ia64) || defined(_M_IA64) || defined(__aarch64__) || defined(__powerpc64__) defined(__ia64) || defined(_M_IA64) || defined(__aarch64__) || defined(__powerpc64__)
#define MY_MAX_TIME UINT_MAX #define MY_MAX_TIME UINT_MAX
struct data8 //client struct data8 //client
{ {

View File

@ -458,10 +458,7 @@ static void response_complete(void *user_data) {
} }
} }
static void proto_response_error(hw_http_response *response, static void proto_response_error(hw_http_response *response, int httpCode, const char *httpCodeStr, int errCode) {
int httpCode,
const char *httpCodeStr,
int errCode) {
cJSON *pRspMsg = cJSON_CreateObject(); cJSON *pRspMsg = cJSON_CreateObject();
cJSON_AddNumberToObject(pRspMsg, "status", errCode); cJSON_AddNumberToObject(pRspMsg, "status", errCode);
@ -473,9 +470,7 @@ static void proto_response_error(hw_http_response *response,
free((void *)pStrPro); free((void *)pStrPro);
} }
static void opendhcp_http_info(http_request *request, static void opendhcp_http_info(http_request *request, hw_http_response *response, void *UNUSED(user_data)) {
hw_http_response *response,
void *UNUSED(user_data)) {
hw_string status_code; hw_string status_code;
hw_string content_type_name; hw_string content_type_name;
hw_string content_type_value; hw_string content_type_value;
@ -518,9 +513,7 @@ static void opendhcp_http_info(http_request *request,
hw_http_response_send(response, req, response_complete); hw_http_response_send(response, req, response_complete);
} }
static void opendhcp_http_get_userinfo(http_request *request, static void opendhcp_http_get_userinfo(http_request *request, hw_http_response *response, void *UNUSED(user_data)) {
hw_http_response *response,
void *UNUSED(user_data)) {
hw_string status_code; hw_string status_code;
hw_string content_type_name; hw_string content_type_name;
hw_string content_type_value; hw_string content_type_value;
@ -568,9 +561,7 @@ static void opendhcp_http_get_userinfo(http_request *request,
hw_http_response_send(response, req, response_complete); hw_http_response_send(response, req, response_complete);
} }
static void opendhcp_http_get_alluser(http_request *request, static void opendhcp_http_get_alluser(http_request *request, hw_http_response *response, void *UNUSED(user_data)) {
hw_http_response *response,
void *UNUSED(user_data)) {
hw_string status_code; hw_string status_code;
hw_string content_type_name; hw_string content_type_name;
hw_string content_type_value; hw_string content_type_value;
@ -618,9 +609,7 @@ static void opendhcp_http_get_alluser(http_request *request,
hw_http_response_send(response, req, response_complete); hw_http_response_send(response, req, response_complete);
} }
static void opendhcp_http_expand_rangeset(http_request *request, static void opendhcp_http_expand_rangeset(http_request *request, hw_http_response *response, void *UNUSED(user_data)) {
hw_http_response *response,
void *UNUSED(user_data)) {
hw_string status_code; hw_string status_code;
hw_string content_type_name; hw_string content_type_name;
hw_string content_type_value; hw_string content_type_value;