mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-28 03:01:54 +08:00
451 lines
16 KiB
Diff
451 lines
16 KiB
Diff
--- a/minissdp.c
|
|
+++ b/minissdp.c
|
|
@@ -1274,7 +1274,7 @@ ProcessSSDPData(int s, const char *bufr,
|
|
else
|
|
snprintf(ver_str, sizeof(ver_str), "%d", known_service_types[i].version);
|
|
#endif
|
|
- syslog(LOG_INFO, "Single search found");
|
|
+ syslog(LOG_DEBUG, "Single search found");
|
|
#ifdef DELAY_MSEARCH_RESPONSE
|
|
delay = random() / (1 + RAND_MAX / (1000 * mx_value));
|
|
#ifdef DEBUG
|
|
@@ -1303,7 +1303,7 @@ ProcessSSDPData(int s, const char *bufr,
|
|
#ifdef DELAY_MSEARCH_RESPONSE
|
|
unsigned int delay_increment = (mx_value * 1000) / 15;
|
|
#endif
|
|
- syslog(LOG_INFO, "ssdp:all found");
|
|
+ syslog(LOG_DEBUG, "ssdp:all found");
|
|
for(i=0; known_service_types[i].s; i++)
|
|
{
|
|
#ifdef DELAY_MSEARCH_RESPONSE
|
|
@@ -1361,7 +1361,7 @@ ProcessSSDPData(int s, const char *bufr,
|
|
#endif
|
|
if(0 == memcmp(st, uuidvalue_igd, l))
|
|
{
|
|
- syslog(LOG_INFO, "ssdp:uuid (IGD) found");
|
|
+ syslog(LOG_DEBUG, "ssdp:uuid (IGD) found");
|
|
SendSSDPResponse(s, sender, st, st_len, "",
|
|
announced_host, http_port,
|
|
#ifdef ENABLE_HTTPS
|
|
@@ -1371,7 +1371,7 @@ ProcessSSDPData(int s, const char *bufr,
|
|
}
|
|
else if(0 == memcmp(st, uuidvalue_wan, l))
|
|
{
|
|
- syslog(LOG_INFO, "ssdp:uuid (WAN) found");
|
|
+ syslog(LOG_DEBUG, "ssdp:uuid (WAN) found");
|
|
SendSSDPResponse(s, sender, st, st_len, "",
|
|
announced_host, http_port,
|
|
#ifdef ENABLE_HTTPS
|
|
@@ -1381,7 +1381,7 @@ ProcessSSDPData(int s, const char *bufr,
|
|
}
|
|
else if(0 == memcmp(st, uuidvalue_wcd, l))
|
|
{
|
|
- syslog(LOG_INFO, "ssdp:uuid (WCD) found");
|
|
+ syslog(LOG_DEBUG, "ssdp:uuid (WCD) found");
|
|
SendSSDPResponse(s, sender, st, st_len, "",
|
|
announced_host, http_port,
|
|
#ifdef ENABLE_HTTPS
|
|
@@ -1646,4 +1646,3 @@ SubmitServicesToMiniSSDPD(const char * h
|
|
syslog(LOG_DEBUG, "%d service submitted to MiniSSDPd", i);
|
|
return 0;
|
|
}
|
|
-
|
|
--- a/miniupnpd.8
|
|
+++ b/miniupnpd.8
|
|
@@ -42,10 +42,10 @@ and do not filter out low priority messa
|
|
report system uptime instead of daemon uptime to clients.
|
|
.TP
|
|
.B \-S0
|
|
-disable "secure" mode so clients can only add mappings to other IPs
|
|
+disable UPnP IGD secure mode, allow adding port maps for non-requesting IP addresses
|
|
.TP
|
|
.B \-N
|
|
-enable NAT-PMP and PCP functionality.
|
|
+enable PCP/NAT-PMP protocols.
|
|
.TP
|
|
.BI \-u " uuid"
|
|
set the uuid of the UPnP Internet Gateway Device.
|
|
@@ -83,7 +83,7 @@ examples :
|
|
sets the value of BOOTID.UPNP.ORG SSDP header
|
|
.TP
|
|
.B \-1
|
|
-force reporting IGDv1 in rootDesc when compiled as IGDv2 *use with care*
|
|
+force reporting IGDv1 in rootDesc when compiled as IGDv2
|
|
.SH "SEE ALSO"
|
|
minissdpd(1) miniupnpc(3)
|
|
.SH BUGS
|
|
--- a/miniupnpd.c
|
|
+++ b/miniupnpd.c
|
|
@@ -859,7 +859,7 @@ set_startup_time(void)
|
|
}
|
|
else
|
|
{
|
|
- syslog(LOG_INFO, "system uptime is %lu seconds", uptime);
|
|
+ syslog(LOG_DEBUG, "system uptime is %lu seconds", uptime);
|
|
}
|
|
fclose(f);
|
|
startup_time -= uptime;
|
|
@@ -2098,6 +2098,22 @@ init(int argc, char * * argv, struct run
|
|
pidfilename = NULL;
|
|
#endif
|
|
|
|
+syslog(LOG_NOTICE, "MiniUPnP daemon version " MINIUPNPD_VERSION " starting, enabled protocols: %s%s%s, ext_ifname=%s BOOTID=%u",
|
|
+ GETFLAG(ENABLEUPNPMASK) ? "UPnP IGD" : "",
|
|
+#ifdef ENABLE_NATPMP
|
|
+ GETFLAG(ENABLEUPNPMASK) && GETFLAG(ENABLENATPMPMASK) ? " & " : "",
|
|
+#ifdef ENABLE_PCP
|
|
+ GETFLAG(ENABLENATPMPMASK) ? "PCP/NAT-PMP" : "",
|
|
+#else
|
|
+ GETFLAG(ENABLENATPMPMASK) ? "NAT-PMP" : "",
|
|
+#endif
|
|
+#else
|
|
+ "", "",
|
|
+#endif
|
|
+ ext_if_name, upnp_bootid);
|
|
+syslog(LOG_INFO, "More information at https://miniupnp.tuxfamily.org/ or http://miniupnp.free.fr/");
|
|
+syslog(LOG_NOTICE, "Extra logging by setting log level to info (-v) or debug (-vv)");
|
|
+
|
|
#ifdef USE_SYSTEMD
|
|
if (systemd_flag) {
|
|
int r = sd_notify(0,
|
|
@@ -2190,14 +2206,14 @@ print_usage:
|
|
#if defined(USE_PF) || defined(USE_IPF)
|
|
"\t-L sets packet log in pf and ipf on.\n"
|
|
#endif
|
|
- "\t-S0 disable \"secure\" mode so clients can add mappings to other ips\n"
|
|
+ "\t-S0 disable UPnP IGD secure mode, allow adding port maps for non-requesting IP addresses\n"
|
|
"\t-U causes miniupnpd to report system uptime instead "
|
|
"of daemon uptime.\n"
|
|
#ifdef ENABLE_NATPMP
|
|
#ifdef ENABLE_PCP
|
|
- "\t-N enables NAT-PMP and PCP functionality.\n"
|
|
+ "\t-N enable PCP/NAT-PMP protocols.\n"
|
|
#else
|
|
- "\t-N enables NAT-PMP functionality.\n"
|
|
+ "\t-N enable NAT-PMP protocol.\n"
|
|
#endif
|
|
#endif
|
|
"\t-B sets bitrates reported by daemon in bits per second.\n"
|
|
@@ -2217,7 +2233,7 @@ print_usage:
|
|
"\t \"deny 0-65535 0.0.0.0/0 0-65535\"\n"
|
|
"\t-b sets the value of BOOTID.UPNP.ORG SSDP header\n"
|
|
#ifdef IGD_V2
|
|
- "\t-1 force reporting IGDv1 in rootDesc *use with care*\n"
|
|
+ "\t-1 force reporting IGDv1 in rootDesc\n"
|
|
#endif
|
|
"\t-v enables LOG_INFO messages, -vv LOG_DEBUG as well (default with -d)\n"
|
|
"\t-h / --help prints this help and quits.\n"
|
|
@@ -2398,21 +2414,9 @@ main(int argc, char * * argv)
|
|
return 0;
|
|
}
|
|
|
|
- syslog(LOG_INFO, "version " MINIUPNPD_VERSION " starting%s%sext if %s BOOTID=%u",
|
|
-#ifdef ENABLE_NATPMP
|
|
-#ifdef ENABLE_PCP
|
|
- GETFLAG(ENABLENATPMPMASK) ? " NAT-PMP/PCP " : " ",
|
|
-#else
|
|
- GETFLAG(ENABLENATPMPMASK) ? " NAT-PMP " : " ",
|
|
-#endif
|
|
-#else
|
|
- " ",
|
|
-#endif
|
|
- GETFLAG(ENABLEUPNPMASK) ? "UPnP-IGD " : "",
|
|
- ext_if_name, upnp_bootid);
|
|
#ifdef ENABLE_IPV6
|
|
if (strcmp(ext_if_name6, ext_if_name) != 0) {
|
|
- syslog(LOG_INFO, "specific IPv6 ext if %s", ext_if_name6);
|
|
+ syslog(LOG_NOTICE, "ext_ifname6=%s", ext_if_name6);
|
|
}
|
|
#endif
|
|
|
|
@@ -2456,7 +2460,7 @@ main(int argc, char * * argv)
|
|
return 1;
|
|
}
|
|
v.port = listen_port;
|
|
- syslog(LOG_NOTICE, "HTTP listening on port %d", v.port);
|
|
+ syslog(LOG_NOTICE, "Listening for UPnP IGD (SOAP/HTTP) traffic on port %d/TCP", v.port);
|
|
#if defined(V6SOCKETS_ARE_V6ONLY) && defined(ENABLE_IPV6)
|
|
if(!GETFLAG(IPV6DISABLEDMASK))
|
|
{
|
|
@@ -2482,7 +2486,7 @@ main(int argc, char * * argv)
|
|
return 1;
|
|
}
|
|
v.https_port = listen_port;
|
|
- syslog(LOG_NOTICE, "HTTPS listening on port %d", v.https_port);
|
|
+ syslog(LOG_NOTICE, "Listening for UPnP IGD (SOAP/HTTPS) traffic on port %d/TCP", v.https_port);
|
|
#if defined(V6SOCKETS_ARE_V6ONLY) && defined(ENABLE_IPV6)
|
|
shttpsl_v4 = OpenAndConfHTTPSocket(&listen_port, 0);
|
|
if(shttpsl_v4 < 0)
|
|
@@ -2496,11 +2500,11 @@ main(int argc, char * * argv)
|
|
if(!GETFLAG(IPV6DISABLEDMASK)) {
|
|
if(find_ipv6_addr(lan_addrs.lh_first ? lan_addrs.lh_first->ifname : NULL,
|
|
ipv6_addr_for_http_with_brackets, sizeof(ipv6_addr_for_http_with_brackets)) > 0) {
|
|
- syslog(LOG_NOTICE, "HTTP IPv6 address given to control points : %s",
|
|
+ syslog(LOG_NOTICE, "IPv6 enabled with address: %s",
|
|
ipv6_addr_for_http_with_brackets);
|
|
} else {
|
|
memcpy(ipv6_addr_for_http_with_brackets, "[::1]", 6);
|
|
- syslog(LOG_WARNING, "no HTTP IPv6 address, disabling IPv6");
|
|
+ syslog(LOG_WARNING, "No IPv6 address, disable support");
|
|
SETFLAG(IPV6DISABLEDMASK);
|
|
}
|
|
}
|
|
@@ -2571,22 +2575,22 @@ main(int argc, char * * argv)
|
|
}
|
|
|
|
#ifdef ENABLE_NATPMP
|
|
- /* open socket for NAT PMP traffic */
|
|
+ /* open socket for NAT-PMP traffic */
|
|
if(GETFLAG(ENABLENATPMPMASK))
|
|
{
|
|
if(OpenAndConfNATPMPSockets(snatpmp) < 0)
|
|
#ifdef ENABLE_PCP
|
|
{
|
|
- syslog(LOG_ERR, "Failed to open sockets for NAT-PMP/PCP.");
|
|
+ syslog(LOG_ERR, "Failed to open sockets for PCP/NAT-PMP.");
|
|
} else {
|
|
- syslog(LOG_NOTICE, "Listening for NAT-PMP/PCP traffic on port %u",
|
|
+ syslog(LOG_NOTICE, "Listening for PCP/NAT-PMP traffic on port %u/UDP",
|
|
NATPMP_PORT);
|
|
}
|
|
#else
|
|
{
|
|
- syslog(LOG_ERR, "Failed to open sockets for NAT PMP.");
|
|
+ syslog(LOG_ERR, "Failed to open sockets for NAT-PMP.");
|
|
} else {
|
|
- syslog(LOG_NOTICE, "Listening for NAT-PMP traffic on port %u",
|
|
+ syslog(LOG_NOTICE, "Listening for NAT-PMP traffic on port %u/UDP",
|
|
NATPMP_PORT);
|
|
}
|
|
#endif
|
|
@@ -2695,6 +2699,24 @@ main(int argc, char * * argv)
|
|
}
|
|
#endif /* HAS_LIBCAP_NG */
|
|
|
|
+if (GETFLAG(ENABLEUPNPMASK) && !GETFLAG(SECUREMODEMASK))
|
|
+ syslog(LOG_WARNING, "WARNING: secure_mode=no, allow adding port maps for non-requesting IP addresses via UPnP IGD");
|
|
+#ifdef ENABLE_PCP
|
|
+if (GETFLAG(ENABLENATPMPMASK) && GETFLAG(PCP_ALLOWTHIRDPARTYMASK))
|
|
+ syslog(LOG_WARNING, "WARNING: pcp_allow_thirdparty=yes, allow adding port maps for non-requesting IP addresses via PCP");
|
|
+#endif
|
|
+if (GETFLAG(ENABLEUPNPMASK)) {
|
|
+#ifdef IGD_V2
|
|
+ if (GETFLAG(FORCEIGDDESCV1MASK)) {
|
|
+ syslog(LOG_NOTICE, "UPnP IGD compatiblity mode set to IGDv1 (IPv4 only)");
|
|
+ } else {
|
|
+ syslog(LOG_NOTICE, "UPnP IGD compatiblity mode set to IGDv2");
|
|
+ }
|
|
+#else
|
|
+ syslog(LOG_NOTICE, "UPnP IGD compatiblity mode set to IGDv1 (IPv4 only)");
|
|
+#endif
|
|
+}
|
|
+
|
|
#ifdef USE_SYSTEMD
|
|
if (v.systemd_notify) {
|
|
upnp_update_status();
|
|
@@ -3162,7 +3184,7 @@ main(int argc, char * * argv)
|
|
/* process SSDP packets */
|
|
if(sudp >= 0 && FD_ISSET(sudp, &readset))
|
|
{
|
|
- /*syslog(LOG_INFO, "Received UDP Packet");*/
|
|
+ /*syslog(LOG_DEBUG, "Received UDP Packet");*/
|
|
#ifdef ENABLE_HTTPS
|
|
ProcessSSDPRequest(sudp, (unsigned short)v.port, (unsigned short)v.https_port);
|
|
#else
|
|
@@ -3172,7 +3194,7 @@ main(int argc, char * * argv)
|
|
#ifdef ENABLE_IPV6
|
|
if(sudpv6 >= 0 && FD_ISSET(sudpv6, &readset))
|
|
{
|
|
- syslog(LOG_INFO, "Received UDP Packet (IPv6)");
|
|
+ /*syslog(LOG_DEBUG, "Received UDP Packet (IPv6)");*/
|
|
#ifdef ENABLE_HTTPS
|
|
ProcessSSDPRequest(sudpv6, (unsigned short)v.port, (unsigned short)v.https_port);
|
|
#else
|
|
--- a/miniupnpd.conf
|
|
+++ b/miniupnpd.conf
|
|
@@ -88,7 +88,8 @@
|
|
# 120s and 86400s (24h) are suggested values from PCP-base
|
|
#min_lifetime=120
|
|
#max_lifetime=86400
|
|
-# allow THIRD_PARTY Option for MAP and PEER Opcodes (default is no)
|
|
+# PCP allow third-party mapping option (default no)
|
|
+# Allow adding port maps for non-requesting IP addresses
|
|
#pcp_allow_thirdparty=yes
|
|
|
|
# table names for netfilter nft. Default is "filter" for both
|
|
@@ -131,8 +132,8 @@
|
|
#bitrate_up=1000000
|
|
#bitrate_down=10000000
|
|
|
|
-# Secure Mode, UPnP clients can only add mappings to their own IP
|
|
-# Enabled by default
|
|
+# UPnP IGD secure mode (default yes)
|
|
+# Allow adding port maps for requesting IP addresses only
|
|
#secure_mode=no
|
|
|
|
# Default presentation URL is HTTP address on port 80
|
|
--- a/natpmp.c
|
|
+++ b/natpmp.c
|
|
@@ -231,7 +231,7 @@ void ProcessIncomingNATPMPPacket(int s,
|
|
syslog(LOG_ERR, "inet_ntop(natpmp): %m");
|
|
}
|
|
|
|
- syslog(LOG_INFO, "NAT-PMP request received from %s:%hu %dbytes",
|
|
+ syslog(LOG_DEBUG, "NAT-PMP request received from %s:%hu %d bytes",
|
|
senderaddrstr, ntohs(senderaddr->sin_port), n);
|
|
|
|
if(n<2 || ((((req[1]-1)&~1)==0) && n<12)) {
|
|
@@ -260,7 +260,7 @@ void ProcessIncomingNATPMPPacket(int s,
|
|
resp[3] = 1; /* unsupported version */
|
|
} else switch(req[1]) {
|
|
case 0: /* Public address request */
|
|
- syslog(LOG_INFO, "NAT-PMP public address request");
|
|
+ syslog(LOG_DEBUG, "NAT-PMP public address request");
|
|
FillPublicAddressResponse(resp, senderaddr->sin_addr.s_addr);
|
|
resplen = 12;
|
|
break;
|
|
@@ -340,7 +340,7 @@ void ProcessIncomingNATPMPPacket(int s,
|
|
eport_first = eport;
|
|
} else if(eport == eport_first) { /* no eport available */
|
|
if(any_eport_allowed == 0) { /* all eports rejected by permissions */
|
|
- syslog(LOG_ERR, "No allowed eport for NAT-PMP %hu %s->%s:%hu",
|
|
+ syslog(LOG_INFO, "No allowed eport for NAT-PMP %hu %s->%s:%hu",
|
|
eport, proto_itoa(proto), senderaddrstr, iport);
|
|
resp[3] = 2; /* Not Authorized/Refused */
|
|
} else { /* at least one eport allowed (but none available) */
|
|
--- a/netfilter_nft/nftnlrdr_misc.c
|
|
+++ b/netfilter_nft/nftnlrdr_misc.c
|
|
@@ -104,7 +104,7 @@ nft_mnl_connect(void)
|
|
return -1;
|
|
}
|
|
mnl_portid = mnl_socket_get_portid(mnl_sock);
|
|
- syslog(LOG_INFO, "mnl_socket bound, port_id=%u", mnl_portid);
|
|
+ syslog(LOG_DEBUG, "mnl_socket bound, port_id=%u", mnl_portid);
|
|
return 0;
|
|
}
|
|
|
|
--- a/netfilter_nft/nftpinhole.c
|
|
+++ b/netfilter_nft/nftpinhole.c
|
|
@@ -159,7 +159,6 @@ find_pinhole(const char * ifname,
|
|
(0 == memcmp(&daddr, &p->daddr6, sizeof(struct in6_addr)))) {
|
|
|
|
if (sscanf(p->desc, PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", p->desc);
|
|
continue;
|
|
}
|
|
|
|
@@ -397,7 +396,6 @@ get_pinhole_info(unsigned short uid,
|
|
if (timestamp) {
|
|
int uid_temp;
|
|
if (sscanf(p->desc, PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid_temp, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", p->desc);
|
|
continue;
|
|
}
|
|
|
|
@@ -461,7 +459,6 @@ clean_pinhole_list(unsigned int * next_t
|
|
continue;
|
|
|
|
if (sscanf(p->desc, PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", p->desc);
|
|
continue;
|
|
}
|
|
|
|
--- a/pcpserver.c
|
|
+++ b/pcpserver.c
|
|
@@ -1087,7 +1087,7 @@ static void CreatePCPMap(pcp_info_t *pcp
|
|
else
|
|
r = CreatePCPMap_NAT(pcp_msg_info);
|
|
pcp_msg_info->result_code = r;
|
|
- syslog(r == PCP_SUCCESS ? LOG_INFO : LOG_ERR,
|
|
+ syslog(LOG_INFO,
|
|
"PCP MAP: %s mapping %s %hu->%s:%hu '%s'",
|
|
r == PCP_SUCCESS ? "added" : "failed to add",
|
|
proto_itoa(pcp_msg_info->protocol),
|
|
--- a/pf/pfpinhole.c
|
|
+++ b/pf/pfpinhole.c
|
|
@@ -246,12 +246,10 @@ int find_pinhole(const char * ifname,
|
|
(0 == memcmp(&daddr, &RULE.dst.addr.v.a.addr.v6, sizeof(struct in6_addr)))) {
|
|
#ifdef USE_LIBPFCTL
|
|
if(sscanf(RULE.label[0], PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", RULE.label[0]);
|
|
continue;
|
|
}
|
|
#else /* USE_LIBPFCTL */
|
|
if(sscanf(RULE.label, PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", RULE.label);
|
|
continue;
|
|
}
|
|
#endif /* USE_LIBPFCTL */
|
|
@@ -563,7 +561,6 @@ int clean_pinhole_list(unsigned int * ne
|
|
return -1;
|
|
}
|
|
if(sscanf(RULE.label[0], PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", RULE.label[0]);
|
|
continue;
|
|
}
|
|
#else /* USE_LIBPFCTL */
|
|
@@ -574,7 +571,6 @@ int clean_pinhole_list(unsigned int * ne
|
|
return -1;
|
|
}
|
|
if(sscanf(RULE.label, PINEHOLE_LABEL_FORMAT_SKIPDESC, &uid, &ts) != 2) {
|
|
- syslog(LOG_DEBUG, "rule with label '%s' is not a IGD pinhole", RULE.label);
|
|
continue;
|
|
}
|
|
#endif /* USE_LIBPFCTL */
|
|
--- a/upnphttp.c
|
|
+++ b/upnphttp.c
|
|
@@ -513,7 +513,7 @@ ProcessHTTPPOST_upnphttp(struct upnphttp
|
|
if(h->req_soapActionOff > 0)
|
|
{
|
|
/* we can process the request */
|
|
- syslog(LOG_INFO, "SOAPAction: %.*s",
|
|
+ syslog(LOG_DEBUG, "SOAPAction: %.*s",
|
|
h->req_soapActionLen, h->req_buf + h->req_soapActionOff);
|
|
ExecuteSoapAction(h,
|
|
h->req_buf + h->req_soapActionOff,
|
|
@@ -818,7 +818,7 @@ ProcessHttpQuery_upnphttp(struct upnphtt
|
|
for(i = 0; i<15 && *p != '\r'; i++)
|
|
HttpVer[i] = *(p++);
|
|
HttpVer[i] = '\0';
|
|
- syslog(LOG_INFO, "HTTP REQUEST from %s : %s %s (%s)",
|
|
+ syslog(LOG_DEBUG, "HTTP REQUEST from %s : %s %s (%s)",
|
|
h->clientaddr_str, HttpCommand, HttpUrl, HttpVer);
|
|
ParseHttpHeaders(h);
|
|
if(h->req_HostOff > 0 && h->req_HostLen > 0) {
|
|
--- a/upnpredirect.c
|
|
+++ b/upnpredirect.c
|
|
@@ -641,7 +641,7 @@ get_upnp_rules_state_list(int max_rules_
|
|
{
|
|
if(tmp->to_remove)
|
|
{
|
|
- syslog(LOG_NOTICE, "remove port mapping %hu %s because it has expired",
|
|
+ syslog(LOG_INFO, "remove port mapping %hu %s because it has expired",
|
|
tmp->eport, proto_itoa(tmp->proto));
|
|
_upnp_delete_redir(tmp->eport, tmp->proto);
|
|
*p = tmp->next;
|
|
--- a/upnpsoap.c
|
|
+++ b/upnpsoap.c
|
|
@@ -847,7 +847,7 @@ GetSpecificPortMappingEntry(struct upnph
|
|
}
|
|
else
|
|
{
|
|
- syslog(LOG_INFO, "%s: rhost='%s' %s %s found => %s:%u desc='%s' duration=%u",
|
|
+ syslog(LOG_DEBUG, "%s: rhost='%s' %s %s found => %s:%u desc='%s' duration=%u",
|
|
action,
|
|
r_host ? r_host : "NULL", ext_port, protocol, int_ip,
|
|
(unsigned int)iport, desc, leaseduration);
|
|
@@ -1112,7 +1112,7 @@ GetGenericPortMappingEntry(struct upnpht
|
|
return;
|
|
}
|
|
|
|
- syslog(LOG_INFO, "%s: index=%d", action, (int)index);
|
|
+ syslog(LOG_DEBUG, "%s: index=%d", action, (int)index);
|
|
|
|
rhost[0] = '\0';
|
|
r = upnp_get_redirection_infos_by_index((int)index, &eport, protocol, &iport,
|
|
@@ -2486,4 +2486,3 @@ SoapError(struct upnphttp * h, int errCo
|
|
BuildResp2_upnphttp(h, 500, "Internal Server Error", body, bodylen);
|
|
SendRespAndClose_upnphttp(h);
|
|
}
|
|
-
|