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

@ -100,4 +100,4 @@ struct netif *get_rawsocket_if(void);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif//VCPE_PROJECT_PPPOE_INFO_H #endif //VCPE_PROJECT_PPPOE_INFO_H

View File

@ -13,10 +13,7 @@ extern "C" {
#include "user_info.h" #include "user_info.h"
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif//VCPE_PROJECT_PPPOE_SESSION_H #endif //VCPE_PROJECT_PPPOE_SESSION_H

View File

@ -24,4 +24,4 @@ struct netif *get_user_nic_by_mac(const unsigned char mac[6]);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif//VCPE_PROJECT_USER_INFO_H #endif //VCPE_PROJECT_USER_INFO_H

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

@ -15,4 +15,4 @@ API_EXPORT int dhcpd_main(int daemon, const char *pInifile, const char *pStatusF
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif//VCPE_PROJECT_DHCPD_H #endif //VCPE_PROJECT_DHCPD_H

View File

@ -97,123 +97,123 @@ const char bodyStart[] =
//const char bodyStart[] = "<body bgcolor=\"#cccccc\"><table width=640><tr><td align=\"center\"><font size=\"5\"><b>%s</b></font></td></tr><tr><td align=\"right\"><a target=\"_new\" href=\"http://dhcpserver.sourceforge.net\">http://dhcpserver.sourceforge.net</td></tr></table>"; //const char bodyStart[] = "<body bgcolor=\"#cccccc\"><table width=640><tr><td align=\"center\"><font size=\"5\"><b>%s</b></font></td></tr><tr><td align=\"right\"><a target=\"_new\" href=\"http://dhcpserver.sourceforge.net\">http://dhcpserver.sourceforge.net</td></tr></table>";
//const char bodyStart[] = "<body bgcolor=\"#cccccc\"><table width=640><tr><td align=\"center\"><font size=\"5\"><b>%s</b></font></td></tr><tr><td align=\"center\"><font size=\"5\">%s</font></td></tr></table>"; //const char bodyStart[] = "<body bgcolor=\"#cccccc\"><table width=640><tr><td align=\"center\"><font size=\"5\"><b>%s</b></font></td></tr><tr><td align=\"center\"><font size=\"5\">%s</font></td></tr></table>";
const data4 opData[] = { const data4 opData[] = {
{"SubnetMask", 1, 3, true}, {"SubnetMask", 1, 3, true },
{"TimeOffset", 2, 4, true}, {"TimeOffset", 2, 4, true },
{"Router", 3, 3, true}, {"Router", 3, 3, true },
{"TimeServer", 4, 3, true}, {"TimeServer", 4, 3, true },
{"NameServer", 5, 3, true}, {"NameServer", 5, 3, true },
{"DomainServer", 6, 3, true}, {"DomainServer", 6, 3, true },
{"LogServer", 7, 3, true}, {"LogServer", 7, 3, true },
{"QuotesServer", 8, 3, true}, {"QuotesServer", 8, 3, true },
{"LPRServer", 9, 3, true}, {"LPRServer", 9, 3, true },
{"ImpressServer", 10, 3, true}, {"ImpressServer", 10, 3, true },
{"RLPServer", 11, 3, true}, {"RLPServer", 11, 3, true },
{"Hostname", 12, 1, true}, {"Hostname", 12, 1, true },
{"BootFileSize", 13, 5, true}, {"BootFileSize", 13, 5, true },
{"MeritDumpFile", 14, 1, true}, {"MeritDumpFile", 14, 1, true },
{"DomainName", 15, 1, true}, {"DomainName", 15, 1, true },
{"SwapServer", 16, 3, true}, {"SwapServer", 16, 3, true },
{"RootPath", 17, 1, true}, {"RootPath", 17, 1, true },
{"ExtensionFile", 18, 1, true}, {"ExtensionFile", 18, 1, true },
{"ForwardOn/Off", 19, 7, true}, {"ForwardOn/Off", 19, 7, true },
{"SrcRteOn/Off", 20, 7, true}, {"SrcRteOn/Off", 20, 7, true },
{"PolicyFilter", 21, 8, true}, {"PolicyFilter", 21, 8, true },
{"MaxDGAssembly", 22, 5, true}, {"MaxDGAssembly", 22, 5, true },
{"DefaultIPTTL", 23, 6, true}, {"DefaultIPTTL", 23, 6, true },
{"MTUTimeout", 24, 4, true}, {"MTUTimeout", 24, 4, true },
{"MTUPlateau", 25, 2, true}, {"MTUPlateau", 25, 2, true },
{"MTUInterface", 26, 5, true}, {"MTUInterface", 26, 5, true },
{"MTUSubnet", 27, 7, true}, {"MTUSubnet", 27, 7, true },
{"BroadcastAddress", 28, 3, true}, {"BroadcastAddress", 28, 3, true },
{"MaskDiscovery", 29, 7, true}, {"MaskDiscovery", 29, 7, true },
{"MaskSupplier", 30, 7, true}, {"MaskSupplier", 30, 7, true },
{"RouterDiscovery", 31, 7, true}, {"RouterDiscovery", 31, 7, true },
{"RouterRequest", 32, 3, true}, {"RouterRequest", 32, 3, true },
{"StaticRoute", 33, 8, true}, {"StaticRoute", 33, 8, true },
{"Trailers", 34, 7, true}, {"Trailers", 34, 7, true },
{"ARPTimeout", 35, 4, true}, {"ARPTimeout", 35, 4, true },
{"Ethernet", 36, 7, true}, {"Ethernet", 36, 7, true },
{"DefaultTCPTTL", 37, 6, true}, {"DefaultTCPTTL", 37, 6, true },
{"KeepaliveTime", 38, 4, true}, {"KeepaliveTime", 38, 4, true },
{"KeepaliveData", 39, 7, true}, {"KeepaliveData", 39, 7, true },
{"NISDomain", 40, 1, true}, {"NISDomain", 40, 1, true },
{"NISServers", 41, 3, true}, {"NISServers", 41, 3, true },
{"NTPServers", 42, 3, true}, {"NTPServers", 42, 3, true },
{"VendorSpecificInf", 43, 2, false}, {"VendorSpecificInf", 43, 2, false},
{"NETBIOSNameSrv", 44, 3, true}, {"NETBIOSNameSrv", 44, 3, true },
{"NETBIOSDistSrv", 45, 3, true}, {"NETBIOSDistSrv", 45, 3, true },
{"NETBIOSNodeType", 46, 6, true}, {"NETBIOSNodeType", 46, 6, true },
{"NETBIOSScope", 47, 1, true}, {"NETBIOSScope", 47, 1, true },
{"XWindowFont", 48, 1, true}, {"XWindowFont", 48, 1, true },
{"XWindowManager", 49, 3, true}, {"XWindowManager", 49, 3, true },
{"AddressRequest", 50, 3, false}, {"AddressRequest", 50, 3, false},
{"AddressTime", 51, 4, true}, {"AddressTime", 51, 4, true },
{"OverLoad", 52, 7, false}, {"OverLoad", 52, 7, false},
{"DHCPMsgType", 53, 6, false}, {"DHCPMsgType", 53, 6, false},
{"DHCPServerId", 54, 3, false}, {"DHCPServerId", 54, 3, false},
{"ParameterList", 55, 2, false}, {"ParameterList", 55, 2, false},
{"DHCPMessage", 56, 1, false}, {"DHCPMessage", 56, 1, false},
{"DHCPMaxMsgSize", 57, 5, false}, {"DHCPMaxMsgSize", 57, 5, false},
{"RenewalTime", 58, 4, true}, {"RenewalTime", 58, 4, true },
{"RebindingTime", 59, 4, true}, {"RebindingTime", 59, 4, true },
{"ClassId", 60, 1, false}, {"ClassId", 60, 1, false},
{"ClientId", 61, 2, false}, {"ClientId", 61, 2, false},
{"NetWareIPDomain", 62, 1, true}, {"NetWareIPDomain", 62, 1, true },
{"NetWareIPOption", 63, 2, true}, {"NetWareIPOption", 63, 2, true },
{"NISDomainName", 64, 1, true}, {"NISDomainName", 64, 1, true },
{"NISServerAddr", 65, 3, true}, {"NISServerAddr", 65, 3, true },
{"TFTPServerName", 66, 1, true}, {"TFTPServerName", 66, 1, true },
{"BootFileOption", 67, 1, true}, {"BootFileOption", 67, 1, true },
{"HomeAgentAddrs", 68, 3, true}, {"HomeAgentAddrs", 68, 3, true },
{"SMTPServer", 69, 3, true}, {"SMTPServer", 69, 3, true },
{"POP3Server", 70, 3, true}, {"POP3Server", 70, 3, true },
{"NNTPServer", 71, 3, true}, {"NNTPServer", 71, 3, true },
{"WWWServer", 72, 3, true}, {"WWWServer", 72, 3, true },
{"FingerServer", 73, 3, true}, {"FingerServer", 73, 3, true },
{"IRCServer", 74, 3, true}, {"IRCServer", 74, 3, true },
{"StreetTalkServer", 75, 3, true}, {"StreetTalkServer", 75, 3, true },
{"STDAServer", 76, 3, true}, {"STDAServer", 76, 3, true },
{"UserClass", 77, 1, false}, {"UserClass", 77, 1, false},
{"DirectoryAgent", 78, 1, true}, {"DirectoryAgent", 78, 1, true },
{"ServiceScope", 79, 1, true}, {"ServiceScope", 79, 1, true },
{"RapidCommit", 80, 2, false}, {"RapidCommit", 80, 2, false},
{"ClientFQDN", 81, 2, false}, {"ClientFQDN", 81, 2, false},
{"RelayAgentInformation", 82, 2, false}, {"RelayAgentInformation", 82, 2, false},
{"iSNS", 83, 1, true}, {"iSNS", 83, 1, true },
{"NDSServers", 85, 3, true}, {"NDSServers", 85, 3, true },
{"NDSTreeName", 86, 1, true}, {"NDSTreeName", 86, 1, true },
{"NDSContext", 87, 1, true}, {"NDSContext", 87, 1, true },
{"LDAP", 95, 1, true}, {"LDAP", 95, 1, true },
{"PCode", 100, 1, true}, {"PCode", 100, 1, true },
{"TCode", 101, 1, true}, {"TCode", 101, 1, true },
{"NetInfoAddress", 112, 3, true}, {"NetInfoAddress", 112, 3, true },
{"NetInfoTag", 113, 1, true}, {"NetInfoTag", 113, 1, true },
{"URL", 114, 1, true}, {"URL", 114, 1, true },
{"AutoConfig", 116, 7, true}, {"AutoConfig", 116, 7, true },
{"NameServiceSearch", 117, 2, true}, {"NameServiceSearch", 117, 2, true },
{"SubnetSelectionOption", 118, 3, true}, {"SubnetSelectionOption", 118, 3, true },
{"DomainSearch", 119, 1, true}, {"DomainSearch", 119, 1, true },
{"SIPServersDHCPOption", 120, 1, true}, {"SIPServersDHCPOption", 120, 1, true },
// { "121", 121, 2 , true}, // { "121", 121, 2 , true},
{"CCC", 122, 1, true}, {"CCC", 122, 1, true },
{"TFTPServerIPaddress", 128, 3, true}, {"TFTPServerIPaddress", 128, 3, true },
{"CallServerIPaddress", 129, 3, true}, {"CallServerIPaddress", 129, 3, true },
{"DiscriminationString", 130, 1, true}, {"DiscriminationString", 130, 1, true },
{"RemoteStatisticsServerIPAddress", 131, 3, true}, {"RemoteStatisticsServerIPAddress", 131, 3, true },
{"HTTPProxyPhone", 135, 3, true}, {"HTTPProxyPhone", 135, 3, true },
{"OPTION_CAPWAP_AC_V4", 138, 1, true}, {"OPTION_CAPWAP_AC_V4", 138, 1, true },
{"OPTIONIPv4_AddressMoS", 139, 1, true}, {"OPTIONIPv4_AddressMoS", 139, 1, true },
{"OPTIONIPv4_FQDNMoS", 140, 1, true}, {"OPTIONIPv4_FQDNMoS", 140, 1, true },
{"SIPUAServiceDomains", 141, 1, true}, {"SIPUAServiceDomains", 141, 1, true },
{"OPTIONIPv4_AddressANDSF", 142, 1, true}, {"OPTIONIPv4_AddressANDSF", 142, 1, true },
{"IPTelephone", 176, 1, true}, {"IPTelephone", 176, 1, true },
{"ConfigurationFile", 209, 1, true}, {"ConfigurationFile", 209, 1, true },
{"PathPrefix", 210, 1, true}, {"PathPrefix", 210, 1, true },
{"RebootTime", 211, 4, true}, {"RebootTime", 211, 4, true },
{"OPTION_6RD", 212, 1, true}, {"OPTION_6RD", 212, 1, true },
{"OPTION_V4_ACCESS_DOMAIN", 213, 1, true}, {"OPTION_V4_ACCESS_DOMAIN", 213, 1, true },
{"BootFileName", 253, 1, true}, {"BootFileName", 253, 1, true },
{"NextServer", 254, 3, true}, {"NextServer", 254, 3, true },
}; };
int dhcpd_main(int daemon, const char *pInifile, const char *pStatusFile, const char *pIfName) { int dhcpd_main(int daemon, const char *pInifile, const char *pStatusFile, const char *pIfName) {
@ -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,14 +803,15 @@ 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++) {
//if ((dhcpEntry = p->second) && dhcpEntry->display) //if ((dhcpEntry = p->second) && dhcpEntry->display)
if ((dhcpEntry = p->second) && dhcpEntry->display && dhcpEntry->expiry >= t) { if ((dhcpEntry = p->second) && dhcpEntry->display && dhcpEntry->expiry >= t) {
fp += sprintf(fp, "<tr>"); fp += sprintf(fp, "<tr>");
fp += sprintf(fp, td200, dhcpEntry->mapname);// mapname is MAC address fp += sprintf(fp, td200, dhcpEntry->mapname); // mapname is MAC address
fp += sprintf(fp, td200, IP2String(tempbuff, dhcpEntry->ip)); fp += sprintf(fp, td200, IP2String(tempbuff, dhcpEntry->ip));
if (dhcpEntry->expiry >= MY_MAX_TIME) { if (dhcpEntry->expiry >= MY_MAX_TIME) {
@ -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

@ -72,7 +72,7 @@ typedef struct in_pktinfo IN_PKTINFO;
#define STR2INT(val) ((int)strtol((val), nullptr, 10)) #define STR2INT(val) ((int)strtol((val), nullptr, 10))
struct data7//cache struct data7 //cache
{ {
char *mapname; char *mapname;
time_t expiry; time_t expiry;
@ -109,7 +109,7 @@ struct data7//cache
MYBYTE data; MYBYTE data;
}; };
struct data71//Lump struct data71 //Lump
{ {
char *mapname; char *mapname;
MYBYTE *response; MYBYTE *response;
@ -294,10 +294,10 @@ 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
{ {
union { union {
MYDWORD filler; MYDWORD filler;
@ -317,7 +317,7 @@ struct data8//client
}; };
#else #else
#define MY_MAX_TIME INT_MAX #define MY_MAX_TIME INT_MAX
struct data8//client struct data8 //client
{ {
union { union {
MYDWORD filler; MYDWORD filler;
@ -369,7 +369,7 @@ struct dhcp_packet {
MYBYTE vend_data[1024 - sizeof(dhcp_header)]; MYBYTE vend_data[1024 - sizeof(dhcp_header)];
}; };
struct data13//dhcp range struct data13 //dhcp range
{ {
MYBYTE rangeSetInd; MYBYTE rangeSetInd;
MYDWORD rangeStart; MYDWORD rangeStart;
@ -380,7 +380,7 @@ struct data13//dhcp range
data7 **dhcpEntry; data7 **dhcpEntry;
}; };
struct data14//rangeSet struct data14 //rangeSet
{ {
MYBYTE active; MYBYTE active;
MYBYTE *macStart[MAX_RANGE_FILTERS]; MYBYTE *macStart[MAX_RANGE_FILTERS];
@ -431,7 +431,7 @@ struct data20 {
MYBYTE rangeSetInd; MYBYTE rangeSetInd;
}; };
struct data9//dhcpRequst struct data9 //dhcpRequst
{ {
MYDWORD lease; MYDWORD lease;
union { union {

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;

View File

@ -30,19 +30,19 @@ struct PPPOE_ERR_INFO_ {
int errid; int errid;
const char *errmsg; const char *errmsg;
} g_pppoeErr[] = { } g_pppoeErr[] = {
{PPPERR_NONE, "No error"}, {PPPERR_NONE, "No error" },
{PPPERR_PARAM, "Invalid parameter"}, {PPPERR_PARAM, "Invalid parameter" },
{PPPERR_OPEN, "Unable to open PPP session"}, {PPPERR_OPEN, "Unable to open PPP session" },
{PPPERR_DEVICE, "Invalid I/O device for PPP"}, {PPPERR_DEVICE, "Invalid I/O device for PPP" },
{PPPERR_ALLOC, "Unable to allocate resources"}, {PPPERR_ALLOC, "Unable to allocate resources" },
{PPPERR_USER, "User interrupt"}, {PPPERR_USER, "User interrupt" },
{PPPERR_CONNECT, "Connection lost"}, {PPPERR_CONNECT, "Connection lost" },
{PPPERR_AUTHFAIL, "Failed authentication challenge"}, {PPPERR_AUTHFAIL, "Failed authentication challenge"},
{PPPERR_PROTOCOL, "Failed to meet protocol"}, {PPPERR_PROTOCOL, "Failed to meet protocol" },
{PPPERR_PEERDEAD, "Connection timeout"}, {PPPERR_PEERDEAD, "Connection timeout" },
{PPPERR_IDLETIMEOUT, "Idle Timeout"}, {PPPERR_IDLETIMEOUT, "Idle Timeout" },
{PPPERR_CONNECTTIME, "Max connect time reach max time"}, {PPPERR_CONNECTTIME, "Max connect time reach max time"},
{PPPERR_LOOPBACK, "Loopback detect"}, {PPPERR_LOOPBACK, "Loopback detect" },
}; };
static struct netif *g_rawSocketIf = NULL; static struct netif *g_rawSocketIf = NULL;