Daniel Becker
b4e00165a0
miniupnpd/pcpserver.c: add PCP support for CHECK_PORTINUSE
2014-04-12 23:14:11 -07:00
Thomas BERNARD
974692e7ac
miniupnpd/Makefile.macosx: fix a typo
2014-04-12 09:37:06 +02:00
Thomas Bernard
11e71207c8
miniupnpd/upnphttp.c: log OpenSSL version used
2014-04-11 09:48:50 +02:00
Thomas Bernard
e8aca7a943
miniupnpd/genconfig.sh: adding HTTPS_CERTFILE / HTTPS_KEYFILE
2014-04-11 09:48:41 +02:00
Thomas Bernard
4f230c809b
miniupnpd/asyncsendto.c: improve error handling in try_sendto()
...
to help investigate issue #64
2014-04-11 09:31:02 +02:00
Thomas Bernard
f789a3bab7
miniupnpd/getifaddr.c: check if interface is up
2014-04-11 00:03:13 +02:00
Thomas Bernard
947be5aafc
upnphttp.c: Configure OpenSSL client cert verification
2014-04-10 23:28:41 +02:00
Thomas Bernard
e26174d05d
miniupnpd: free OpenSSL memory
2014-04-09 16:09:31 +02:00
Thomas Bernard
e91bda48d7
upnpsoap.c: fix GetAssignedRoles()
2014-04-09 15:43:39 +02:00
Thomas Bernard
b4be392156
miniupnpd/portinuse.c: fix display in case of error
2014-04-09 15:38:54 +02:00
Thomas Bernard
e5757cdc45
miniupnpd.c: nothing important :)
2014-04-09 15:37:37 +02:00
Thomas Bernard
974c05c7be
miniupnpd/pf/obsdrdr.c: remove compilation warning
2014-04-09 15:37:16 +02:00
Thomas Bernard
123eca279c
upnpd/minissdp.c: enlarge SSDP packet buffer for sending
2014-04-09 15:36:38 +02:00
Thomas Bernard
6794650f5a
miniupnpd/upnpsoap.c: Adding skeleton of DeviceProtection:1 implementation
2014-04-09 15:35:55 +02:00
Thomas Bernard
bbe96a15b6
miniupnpd: adding HTTPS support
2014-04-09 15:35:06 +02:00
Thomas Bernard
29e951c1e5
miniupnpd/Makefile: improve ipfw detection
2014-04-07 12:39:05 +02:00
Thomas Bernard
c4d99670e7
miniupnpd: Use SA_LEN consistently
2014-04-01 11:44:39 +02:00
Thomas Bernard
3491535854
miniupnpd/Makefile: Link test programs with LIBS
2014-04-01 11:44:08 +02:00
Thomas Bernard
3bd2388d4f
miniupnpd/Makefile: remove -ansi flag
2014-04-01 11:43:31 +02:00
Thomas Bernard
6a194ffcfb
miniupnpd/testportinuse.c: fix compilation with CHECK_PORTINUSE undefined
2014-03-28 13:15:09 +01:00
Thomas Bernard
08127b85d4
Merge branch 'portinuse'
...
Conflicts:
miniupnpd/Makefile.linux
2014-03-28 12:52:18 +01:00
Thomas Bernard
f6f4e56bdf
miniupnpd/portinuse: cleanup
2014-03-28 12:50:42 +01:00
Thomas Bernard
0decb351e9
miniupnpd/pcpserver.c: check source address of PCP request
2014-03-24 15:03:12 +01:00
Thomas Bernard
d233655630
miniupnpd/pcpserver.c: fix for IPv6
2014-03-24 12:15:50 +01:00
Thomas Bernard
ad88cc0819
miniupnpd: start work to enable IPv6 PCP operations
2014-03-24 12:07:31 +01:00
Thomas Bernard
f70484f27f
miniupnpd/minissdp.c: reduce syslog() verbosity
...
LOG_INFO => LOG_DEBUG
2014-03-24 10:33:52 +01:00
Thomas Bernard
ba1875b52c
miniupnpd/pcpserver.c: add comments
2014-03-24 10:24:41 +01:00
Thomas Bernard
7137665101
miniupnpd/pcpserver.c: prepare code to be able to manage more than just TCP and UDP
2014-03-24 10:24:19 +01:00
Thomas Bernard
814a6b253a
miniupnpd/pcpserver.c: use const where useful
2014-03-24 10:23:07 +01:00
Thomas Bernard
b1fb9cfdc4
miniupnpd/pcpserver.c: take care of "nonce" value
2014-03-24 10:21:26 +01:00
Thomas Bernard
4a7f97c7f3
miniupnpd/pcp_msg_struct.h: comments
2014-03-22 13:12:10 +01:00
Thomas Bernard
6eab849b2e
miniupnpd/portinuse.c: Improve error handling in DragonFly BSD code
2014-03-20 14:07:52 +01:00
Thomas Bernard
6419602e14
miniupnpd/portinuse: port_in_use() returns -1 in case of error
2014-03-20 13:49:10 +01:00
Thomas Bernard
aea062a7ba
miniupnpd/portinuse.c: Add DragonFly BSD implementation
...
Thanks to YONETANI Tomokazu.
2014-03-20 13:40:53 +01:00
Thomas Bernard
5a3a670e89
miniupnpd/bsd/getifstats.c: fix for DragonFly BSD
...
struct ifnet is private to kernel code and is hidden from the userland
code unless you define a macro _KERNEL_STRUCTURES. Although other people
argue that it should be exposed as it is on other BSDs, that's the way
it is on DragonFly BSD.
Thanks to YONETANI Tomokazu for DragonFly BSD patches
2014-03-19 12:25:52 +01:00
Thomas Bernard
75cb38edda
miniupnpd/Makefile: allow to override FWNAME
2014-03-19 12:23:48 +01:00
Thomas Bernard
601bd2618b
miniupnpd/Makefile: fix for DragonFly BSD
...
TYPE : chechyesno => checkyesno
2014-03-18 10:17:19 +01:00
Thomas Bernard
f7b6b1ec19
miniupnpd/Makefile: Mac OS X switched from ipfw to pf
...
OS X 10.7 Lion switched to pf
2014-03-18 09:34:25 +01:00
Thomas Bernard
708c83d873
miniupnpd/Makefile: fix for DragonFly BSD
2014-03-18 09:33:33 +01:00
Thomas BERNARD
e657211157
miniupnpd/Makefile.macosx: update for testasyncsendto and testportinuse
2014-03-17 15:36:10 +01:00
Thomas BERNARD
ba448fd7dd
miniupnpd/testasyncsendto.c: remove warning if struct timeval fields are not long int
2014-03-17 15:35:18 +01:00
Thomas Bernard
a959e9e7de
miniupnpd/upnpevents.c: comments/logs/etc.
2014-03-15 10:54:23 +01:00
Thomas Bernard
76170e5413
miniupnpd/upnphttp.c: Support for multiple URL in Callback: header (SUBSCRIBE)
2014-03-15 10:52:39 +01:00
Thomas Bernard
19261b6fef
reject renewal of subscribtion that already timeouted
2014-03-15 10:51:32 +01:00
Thomas Bernard
3629b10ff5
miniupnpd: add port_in_use() implementation for OpenBSD
2014-03-14 12:08:13 +01:00
Thomas Bernard
dcce22647d
miniupnpd: add testportinuse test program
2014-03-14 12:07:03 +01:00
Thomas Bernard
7cb493919f
miniupnpd/getifaddr.c: don't use getifaddrs() in IPv4 only
...
should fix #62 :
Don't use getifaddrs() in IPv4 only
so we avoid problems if getifaddrs() implementation is buggy
2014-03-14 10:04:49 +01:00
Thomas Bernard
09bbaac63a
miniupnpd/portinuse.c: add #ifdef __linux__
...
TODO : BSD Code
2014-03-13 14:58:36 +01:00
Thomas Bernard
15a2320c86
miniupnpd/portinuse.c/iptcrdr.c: cosmetic changes
2014-03-13 14:49:05 +01:00
Thomas Bernard
c4e63048c4
miniupnpd: add CHECK_PORTINUSE to enable/disable port_in_use()
2014-03-13 14:48:52 +01:00
Thomas Bernard
06764123fb
Merge remote branch 'origin/master' into portinuse
...
Conflicts:
miniupnpd/Makefile.linux
miniupnpd/natpmp.c
2014-03-13 14:19:44 +01:00
Thomas Bernard
a7d9071c5a
miniupnpd/upnpevents.c: fix upnp_event_notify_connect() when ENABLE_IPV6 is set
2014-03-13 11:56:28 +01:00
Thomas Bernard
8d93ddb076
miniupnpd: change IP change msg from LOG_DEBUG to LOG_INFO
2014-03-13 11:34:34 +01:00
Thomas Bernard
9f665b572f
miniupnpd: fix BSD Makefile
2014-03-13 11:34:34 +01:00
Thomas Bernard
62d6c860ce
catch up Changelog.txt
...
see commit 3ed3478398
2014-03-13 11:34:34 +01:00
Thomas Bernard
7b13adafbd
miniupnpd: reduce number of global variables by using more runtime_flags
...
change ipv6_enabled/ipv6fc_inbound_pinhole_allowed/ipv6fc_firewall_enabled
global vars to flags in runtime_flags
2014-03-13 11:34:33 +01:00
Thomas Bernard
15682180a5
miniupnpd: Work in IPv6 on system where PF_INET6 are restricted to IPv6 only
2014-03-13 11:34:08 +01:00
Thomas Bernard
2a48074f45
miniupnpd: Enable PCP by default.
2014-03-13 11:24:04 +01:00
Thomas Bernard
3ed3478398
miniupnpd/getifaddr.c: clean up and fix getifaddr_in6()
2014-03-13 10:42:07 +01:00
Thomas Bernard
81fa1bcd57
miniupnpd/getifaddr.c: getifaddr_in6() only return IPv4 address when IPV6 disabled
...
see if it can help for issue #62
pcp/CheckAddress() is likely to need more changes.
2014-03-13 10:00:42 +01:00
Thomas Bernard
d397d73628
miniupnpd/getifaddr.c: fix getifaddr_in6()
...
-1 is returned if no address is found
2014-03-13 09:56:34 +01:00
Thomas Bernard
081c46338c
miniupnpd/upnppermissions.c: disable match_permission_internal()
2014-03-13 09:53:44 +01:00
Daniel Becker
408a0b55f6
miniupnpd/pcpserver.c: return error code if PCP mapping fails
...
This change causes CreatePCPMap to return a PCP_ERR_NO_RESOURCES
response when upnp_redirect_internal does not succeed;
previously, no error code was returned in this case.
2014-03-11 02:06:38 -07:00
Daniel Becker
efbb95aa10
miniupnpd/pcpserver.c: port NAT-PMP updates to PCP
...
This change ports the recent updates to the permissions checking
and eport selection code for NAT-PMP to the PCP MAP handler.
2014-03-11 01:54:10 -07:00
Thomas Bernard
210876f2a7
miniupnpd/natpmp.c: make indentation consistant and add a comment
2014-03-11 09:47:09 +01:00
Daniel Becker
4f160366bd
miniupnpd/natpmp.c: remove obsolete assignment
...
The eport_first variable now gets initialized in the first
iteration of the while loop; the assignment right before the
loop should have been removed in the previous commit.
2014-03-10 11:14:49 -07:00
Daniel Becker
f4f4573f53
miniupnpd: fix eport selection and error handling
...
The find_available_eport function that was intended to check if
at least one eport is allowed for a given iaddr/iport does not
work as intended; for example, it does not properly handle rule
precedence (i.e., it considers allow rules even if they are
effectively masked by earlier deny rules), and it also does not
handle the case where no rules are specified at all (which
should default to accept in order to be consistent with
check_upnp_rule_against_permissions). The present change removes
this function and instead integrates the check into the existing
while loop that iterates over all eports.
2014-03-10 00:32:23 -07:00
Thomas Bernard
ecf414e160
miniupnpd/Changelog.txt: Catch up changes...
2014-03-10 00:12:20 +01:00
Thomas Bernard
a27979afde
Merge branch 'fix_pf_redirect'
...
Conflicts:
miniupnpd/pf/testobsdrdr.c
2014-03-10 00:03:06 +01:00
Thomas BERNARD
0ff8e67c26
Merge pull request #57 from razzfazz/natpmp_avoid_port_zero
...
miniupnpd/natpmp.c: skip port zero when finding free eport
2014-03-08 01:03:43 +01:00
Daniel Becker
1db670d6ff
miniupnpd/natpmp.c: skip port zero when finding free eport
...
When skipping ports that are in use or not allowed, the existing
NAT-PMP code will consider port zero as a candidate eport after
wraparound occurs. Since this is not a legal port, we skip over it.
port zero as an eport value.
2014-03-07 11:02:04 -08:00
Daniel Becker
ba04327bb0
miniupnpd/natpmp.c: remove redundant break statements
...
These two break statements are redundant: The subsequent continue
statement will cause the loop condition to be re-evaluated, at which
point the loop will terminate if resp[3] != 0.
2014-03-07 07:42:40 -08:00
Thomas Bernard
e385db03b9
miniupnpd: improved permission checking for NAT-PMP
...
NAT-PMP now searches an allowed eport if the one from
request is not, instead of returning an error
2014-03-07 11:48:17 +01:00
Thomas Bernard
b7ee469980
miniupnpd/pf: update testobsdrdr.c
2014-03-06 14:24:58 +01:00
Thomas Bernard
60e129d131
miniupnpd/pf: delete_redirect_and_filter_rules() now take internal address into account
2014-03-06 14:24:10 +01:00
Thomas Bernard
acc149ee99
miniupnpd/pf: fix add_filter_rule2() by adding internal address
2014-03-06 14:23:13 +01:00
Thomas Bernard
65b776f1ed
miniupnpd/pf: add clear_filter_rules() for testing
...
also add a --clear / -c argument to testobsdrdr programm
2014-03-06 14:21:39 +01:00
Thomas Bernard
f49a70aab0
miniupnpd/testgetifaddr.c: also test find_ipv6_addr()
2014-03-03 12:37:01 +01:00
Thomas Bernard
e5146cdf24
miniupnpd/Makefile.linux: fixes for testasyncsendto
...
also update dependencies
2014-03-03 12:35:12 +01:00
Daniel Becker
edd501f59c
miniupnpd/natpmp.c: return correct error code when all external ports in use
...
Instead of returning code 3 ("Network Failure"), we should the
more appropriate code 4 ("Out of resources") when no external
port is available for a mapping.
2014-02-28 14:47:53 -08:00
Thomas Bernard
5512d022ac
miniupnpd/pf/obsdrdr.c: add UNUSED() when necessary
2014-02-28 21:28:12 +01:00
Thomas Bernard
9d23b88cef
miniupnpd/pf: replace delete_filter_rule()
...
now use delete_redirect_and_filter_rules()
2014-02-28 21:26:52 +01:00
Thomas Bernard
37208eecae
miniupnpd/pf/obsdrdr.c: improve documentation
2014-02-28 21:22:52 +01:00
Thomas Bernard
9c7df04b13
miniupnpd/pcpserver.c: fix defines
...
with OpenBSD, <netinet/in.h> must be included before <arpa/inet.h>
2014-02-28 20:26:02 +01:00
Thomas Bernard
56aca98164
miniupnpd/pf: catch up test programs
2014-02-28 20:20:51 +01:00
Thomas Bernard
802ad22f4d
miniupnpd: minor stuff (remove warning, add debug log)
2014-02-28 16:40:20 +01:00
Thomas Bernard
dbdad6a79b
miniupnpd: improve finalize_sendto()
2014-02-28 16:39:59 +01:00
Thomas Bernard
b71e0c028f
Merge branch 'limit_eport_search'
2014-02-28 13:36:28 +01:00
Thomas Bernard
3c90f6a30d
miniupnpd/natpmp.c: avoid hang when all external ports in use
...
reorganize a bit
2014-02-28 13:34:46 +01:00
Thomas Bernard
8fc7f0b5e1
miniupnpd: log message when shutting down
2014-02-28 13:16:22 +01:00
Thomas Bernard
6dff4263bd
miniupnpd/Changelog.txt catch up...
2014-02-28 13:16:06 +01:00
Daniel Becker
c6a8879c87
miniupnpd/natpmp.c: avoid hang when all external ports in use
...
The NAT-PMP code attempts to find a different eport if the
requested one is already in use. If all eports are in use, that
would previously cause the code to iterate through the range of
eports forever. To avoid this case, we keep track of the first
eport we attempted to use and abort the loop once we've cycled
through all possible values exactly once (which takes us back
to the initial eport).
2014-02-28 00:00:26 -08:00
hashiz
1efb4cc03c
* fix incorrect filter port in pf redirect.
2014-02-28 11:28:07 +09:00
Thomas Bernard
c492b6f56f
minissdp.c: try again write after EINTR in SubmitServicesToMiniSSDPD()
2014-02-26 02:02:34 +01:00
Thomas Bernard
34d0954718
Merge branch 'sendto_schedule'
2014-02-25 11:47:30 +01:00
Thomas Bernard
ec1686f29f
miniupnpd/minissdp: Introduce SSDP_RESPOND_SAME_VERSION
...
changes something when compiled as IGDv2.
2014-02-25 11:45:51 +01:00
Thomas Bernard
9832adc456
miniupnpd/minissdp.c: send ssdp:alive packets more than once
...
fixes #35
2014-02-25 11:37:36 +01:00
Thomas Bernard
a06c695fe3
miniupnpd/asyncsendto: finalize_sendto()
2014-02-25 11:36:58 +01:00
Thomas Bernard
02165b70dc
minissdp.c: wait for a delay before answering M-SEARCH
2014-02-25 11:16:34 +01:00
Thomas Bernard
c1e624ecd4
miniupnpd: use asyncsendto
2014-02-25 11:15:30 +01:00
Thomas Bernard
cbc1a3c96a
miniupnpd: add sendto() queuing
2014-02-25 11:10:05 +01:00
Thomas Bernard
1985cbf3ef
asyncsendto: remove failed sendto() from queue
2014-02-25 11:08:27 +01:00
Thomas Bernard
d20d959920
miniupnpd/asyncsendto.h: improve comments/doc
2014-02-25 11:07:47 +01:00
Thomas Bernard
e00c1bc6e9
miniupnpd.c: init random number generator in init()
2014-02-25 10:24:22 +01:00
Thomas Bernard
8691c9c0e0
miniupnpd.c: improve comment for init()
2014-02-25 10:23:59 +01:00
Thomas Bernard
06d9d36e99
miniupnpd/asyncsendto: make sendto_schedule work
2014-02-20 16:08:20 +01:00
Thomas Bernard
b2143eff94
implementation of queuing of messages to send.
2014-02-18 09:34:42 +01:00
Christopher Meng
86d3e7c053
Corrent the binary permission from 555 to 755
2014-02-14 16:56:10 +08:00
Thomas Bernard
16ea0db411
miniupnpd: Fix PCP Map renewal
2014-02-11 10:41:26 +01:00
Thomas Bernard
50f8f6c76f
miniupnpd/pcpserver.c: add info message for Mapping renewal
2014-02-11 10:40:46 +01:00
Thomas Bernard
32b6e8c0fa
miniupnpd/commonrdr.h: improve comments
2014-02-11 10:38:50 +01:00
Thomas Bernard
bc67a7133b
miniupnpd/upnputils.c: improve log in get_lan_for_peer()
2014-02-06 10:57:51 +01:00
Thomas Bernard
18f02dccb3
miniupnpd: possibility to disable ipv6 at runtime
...
fixes #049
2014-02-06 10:57:39 +01:00
Thomas Bernard
b7a4f8d696
minixml.c: now handle XML comments
2014-02-03 11:28:31 +01:00
Thomas Bernard
538c002373
miniupnpd: PCP Add support for ANNOUNCE requests
2014-02-03 10:50:29 +01:00
Thomas Bernard
46905418ca
miniupnpd: various PCP fixes
2014-02-03 10:49:59 +01:00
Thomas Bernard
f6b5408e87
miniupnpd: define min/max_lifetime only when needed
2014-02-03 10:47:47 +01:00
Thomas Bernard
3712118bc4
miniupnpd: removed unused code
...
ScanNATPMPforExpiration() CleanExpiredNATPMP() are not used anymore
2014-02-03 10:45:59 +01:00
Thomas Bernard
18db1145ea
miniupnpd.c: comments in parselanaddr()
2014-02-03 10:44:24 +01:00
Thomas Bernard
49780a99ea
miniupnpd/minissdp.c: check return value of AddMulticastMembershipIPv6()
2014-02-03 10:42:38 +01:00
Thomas Bernard
064fcd2739
miniupnpd/pcpserver.c: Removed IPV6_ADDR_COPY and other simplifications
...
modifications that were forgotten in commit e23c589972
2014-01-27 12:07:54 +01:00
Thomas Bernard
0734265092
Makefile.linux: update dependencies
2014-01-27 11:09:30 +01:00
Thomas Bernard
401c624bcf
miniupnpd/INSTALL: update infos
...
rdr-anchor lines should be removed in OpenBSD since 4.7
rephrased a bit the part about permissions
2014-01-14 09:26:24 +01:00
Thomas Bernard
a93393df44
update README's to include PCP
2014-01-14 09:25:19 +01:00
Thomas Bernard
3b0055f1a5
Merge remote branch 'origin/config_manufacturer'
2013-12-24 15:38:19 +01:00
Thomas Bernard
4fe0fb1809
miniupnpd/pcpserver.c: minor syntax fixes
2013-12-16 17:04:45 +01:00
Thomas Bernard
e23c589972
miniupnpd/pcpserver.c: Removed IPV6_ADDR_COPY and other simplifications
2013-12-16 17:04:00 +01:00
Thomas BERNARD
fa87b3aff7
miniupnpd: attempt to compile for OS X/pf
2013-12-16 13:03:54 +01:00
Leo Moll
d05abb5921
Added option to enable vendor configuration
2013-12-13 19:40:52 +01:00
Thomas Bernard
e2a1c4d4c9
pcpserver.c: small code simplification
2013-12-13 17:15:51 +01:00
Thomas Bernard
f774a54bac
remove C++ style comments
2013-12-13 17:01:41 +01:00
Thomas Bernard
1e08e9ed4d
getifaddr: more portable code (works with old OpenBSD)
2013-12-13 16:59:51 +01:00
Thomas Bernard
6a8a580e6f
Makefile: add pcpserver.o
2013-12-13 16:57:42 +01:00
Thomas Bernard
278f6b5e45
update Changelog.txt :)
2013-12-13 16:57:07 +01:00
Thomas Bernard
f7cb8a6848
update .gitignore
2013-12-13 14:43:15 +01:00
Thomas Bernard
00adeeaaad
typo fix
2013-12-13 14:41:21 +01:00
Thomas Bernard
b9daf5cc27
testupnpdescgen.c: minor fix on getifaddr()
2013-12-13 12:35:36 +01:00
Thomas Bernard
9b72af6f36
Merge branch 'master' into portinuse
2013-12-13 12:29:01 +01:00
Thomas Bernard
d19048ef9e
miniupnpd: Make all manufacturer info configurable
2013-12-13 12:03:28 +01:00
Leo Moll
d200fb748f
Made all manufacturer related information configurable:
...
- manufacturer_name, default is "`uname -s`"
- manufacturer_url, default is URL of OS verndor
- model_name, default is "`uname -s` router"
- model_description, default is "`uname -s` router"
- model_url, default is URL of OS verndor
2013-10-20 23:02:19 +02:00
Thomas Bernard
55099d5fc6
upnpsoap.c: adding TODO... to be done later for compliance
2013-08-19 18:25:54 +02:00
Thomas BERNARD
940b36b94b
Merge pull request #42 from libpcp/master
...
PCP fixes
2013-07-30 04:34:27 -07:00
Thomas Bernard
98fcc3c757
fix 58827720da
2013-07-30 08:59:13 +02:00
Peter Tatrai
4bdec457a2
Add IPv4 permission check into PCP MAP operation
2013-07-23 08:59:03 +02:00
Peter Tatrai
3f85c8b859
Fix PCP MAP mapping refresh
2013-07-23 08:59:03 +02:00
Peter Tatrai
9e1ffd5cd9
Add initial PCP support
2013-07-11 09:38:55 +02:00
Thomas Bernard
87a7f05be6
minissdp.c: Also send byebye with all UUIDs
2013-06-15 14:51:28 +02:00
Thomas Bernard
04dec5cf7b
send UUID based SSDP notify for each device
2013-06-14 19:10:59 +02:00
Thomas Bernard
50ec2fce4a
Have distinct UUID for the 3 devices (IGD, WAN Device, WAN Connection Device)
2013-06-13 16:03:36 +02:00
Thomas Bernard
01bffe494d
miniupnpd/minissdp.c: rename SendSSDPAnnounce2() to SendSSDPResponse()
2013-06-11 20:03:15 +02:00