diff --git a/PmpMyApp.xcodeproj/tyler.mode1 b/PmpMyApp.xcodeproj/tyler.mode1
index aba4310..c354c81 100644
--- a/PmpMyApp.xcodeproj/tyler.mode1
+++ b/PmpMyApp.xcodeproj/tyler.mode1
@@ -320,16 +320,16 @@
_historyCapacity
0
bookmark
- 2F9021410B7BD05A004FF42C
+ 2F9021570B7BE0FB004FF42C
history
2F5A489C0B7565AE0052B0C1
2F5A489D0B7565AE0052B0C1
2F901EC10B7AED84004FF42C
2F901EF70B7AEED5004FF42C
- 2F9021260B7BCD94004FF42C
- 2F90213A0B7BCF9E004FF42C
- 2F90213B0B7BCF9E004FF42C
+ 2F9021510B7BE0FB004FF42C
+ 2F9021520B7BE0FB004FF42C
+ 2F9021530B7BE0FB004FF42C
prevStack
@@ -340,13 +340,9 @@
2F901EC50B7AED84004FF42C
2F901ED80B7AEDBC004FF42C
2F901EE10B7AEE09004FF42C
- 2F9020F40B7BC77F004FF42C
- 2F9020F50B7BC77F004FF42C
- 2F9020F60B7BC77F004FF42C
- 2F9021280B7BCD94004FF42C
- 2F9021290B7BCD94004FF42C
- 2F90213C0B7BCF9E004FF42C
- 2F90213D0B7BCF9E004FF42C
+ 2F9021540B7BE0FB004FF42C
+ 2F9021550B7BE0FB004FF42C
+ 2F9021560B7BE0FB004FF42C
SplitCount
@@ -404,9 +400,9 @@
TableOfContents
- 2F9020F80B7BC77F004FF42C
+ 2F9021480B7BD19C004FF42C
1CE0B1FE06471DED0097A5F4
- 2F9020F90B7BC77F004FF42C
+ 2F9021490B7BD19C004FF42C
1CE0B20306471E060097A5F4
1CE0B20506471E060097A5F4
@@ -540,14 +536,9 @@
5
WindowOrderList
- 2F9020FA0B7BC77F004FF42C
- 2F9020FB0B7BC77F004FF42C
- 2F5A48CE0B756D650052B0C1
- 1CD10A99069EF8BA00B06720
- 2F9020DB0B7BBFD1004FF42C
+ /Software/Subversion/trunk/PmpMyApp/PmpMyApp.xcodeproj
2F5A48970B7565A60052B0C1
1C0AD2B3069F1EA900FABCE6
- /Software/Subversion/trunk/PmpMyApp/PmpMyApp.xcodeproj
WindowString
4 104 1072 924 0 0 1680 1028
@@ -593,7 +584,7 @@
ContentConfiguration
PBXBuildLogShowsTranscriptDefaultKey
- {{0, 189}, {620, 281}}
+ {{0, 118}, {620, 352}}
PBXProjectModuleGUID
XCMainBuildResultsModuleGUID
PBXProjectModuleLabel
@@ -631,7 +622,7 @@
TableOfContents
2F5A48970B7565A60052B0C1
- 2F9020D40B7BBFD1004FF42C
+ 2F9021580B7BE0FB004FF42C
1CD0528F0623707200166675
XCMainBuildResultsModuleGUID
@@ -1001,9 +992,9 @@
TableOfContents
1C0AD2B3069F1EA900FABCE6
- 2F9020DD0B7BBFD1004FF42C
+ 2F90214A0B7BD19C004FF42C
1CD0528B0623707200166675
- 2F9020DE0B7BBFD1004FF42C
+ 2F90214B0B7BD19C004FF42C
ToolbarConfiguration
xcode.toolbar.config.run
diff --git a/PmpMyApp.xcodeproj/tyler.pbxuser b/PmpMyApp.xcodeproj/tyler.pbxuser
index 942326c..50fe383 100644
--- a/PmpMyApp.xcodeproj/tyler.pbxuser
+++ b/PmpMyApp.xcodeproj/tyler.pbxuser
@@ -67,32 +67,40 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 192659396;
- PBXWorkspaceStateSaveDate = 192659396;
+ PBXPerProjectTemplateStateSaveDate = 192663959;
+ PBXWorkspaceStateSaveDate = 192663959;
};
perUserProjectItems = {
- 2F5A489C0B7565AE0052B0C1 /* PBXTextBookmark */ = 2F5A489C0B7565AE0052B0C1 /* PBXTextBookmark */;
- 2F5A489D0B7565AE0052B0C1 /* PBXTextBookmark */ = 2F5A489D0B7565AE0052B0C1 /* PBXTextBookmark */;
- 2F5A48A00B7565AE0052B0C1 /* PBXTextBookmark */ = 2F5A48A00B7565AE0052B0C1 /* PBXTextBookmark */;
- 2F5A48A10B7565AE0052B0C1 /* PBXTextBookmark */ = 2F5A48A10B7565AE0052B0C1 /* PBXTextBookmark */;
- 2F5A48A20B7565AE0052B0C1 /* PBXTextBookmark */ = 2F5A48A20B7565AE0052B0C1 /* PBXTextBookmark */;
- 2F5A49370B7575010052B0C1 /* PBXTextBookmark */ = 2F5A49370B7575010052B0C1 /* PBXTextBookmark */;
- 2F901EC10B7AED84004FF42C /* PBXTextBookmark */ = 2F901EC10B7AED84004FF42C /* PBXTextBookmark */;
- 2F901EC50B7AED84004FF42C /* PBXTextBookmark */ = 2F901EC50B7AED84004FF42C /* PBXTextBookmark */;
- 2F901ED80B7AEDBC004FF42C /* PBXTextBookmark */ = 2F901ED80B7AEDBC004FF42C /* PBXTextBookmark */;
- 2F901EE10B7AEE09004FF42C /* PBXTextBookmark */ = 2F901EE10B7AEE09004FF42C /* PBXTextBookmark */;
- 2F901EF70B7AEED5004FF42C /* PBXTextBookmark */ = 2F901EF70B7AEED5004FF42C /* PBXTextBookmark */;
- 2F9020F40B7BC77F004FF42C /* PBXTextBookmark */ = 2F9020F40B7BC77F004FF42C /* PBXTextBookmark */;
- 2F9020F50B7BC77F004FF42C /* PBXTextBookmark */ = 2F9020F50B7BC77F004FF42C /* PBXTextBookmark */;
- 2F9020F60B7BC77F004FF42C /* PBXTextBookmark */ = 2F9020F60B7BC77F004FF42C /* PBXTextBookmark */;
- 2F9021260B7BCD94004FF42C /* PBXTextBookmark */ = 2F9021260B7BCD94004FF42C /* PBXTextBookmark */;
- 2F9021280B7BCD94004FF42C /* PBXTextBookmark */ = 2F9021280B7BCD94004FF42C /* PBXTextBookmark */;
- 2F9021290B7BCD94004FF42C /* PBXTextBookmark */ = 2F9021290B7BCD94004FF42C /* PBXTextBookmark */;
- 2F90213A0B7BCF9E004FF42C /* PBXTextBookmark */ = 2F90213A0B7BCF9E004FF42C /* PBXTextBookmark */;
- 2F90213B0B7BCF9E004FF42C /* PBXTextBookmark */ = 2F90213B0B7BCF9E004FF42C /* PBXTextBookmark */;
- 2F90213C0B7BCF9E004FF42C /* PBXTextBookmark */ = 2F90213C0B7BCF9E004FF42C /* PBXTextBookmark */;
- 2F90213D0B7BCF9E004FF42C /* PBXTextBookmark */ = 2F90213D0B7BCF9E004FF42C /* PBXTextBookmark */;
- 2F9021410B7BD05A004FF42C /* PBXTextBookmark */ = 2F9021410B7BD05A004FF42C /* PBXTextBookmark */;
+ 2F5A489C0B7565AE0052B0C1 = 2F5A489C0B7565AE0052B0C1 /* PBXTextBookmark */;
+ 2F5A489D0B7565AE0052B0C1 = 2F5A489D0B7565AE0052B0C1 /* PBXTextBookmark */;
+ 2F5A48A00B7565AE0052B0C1 = 2F5A48A00B7565AE0052B0C1 /* PBXTextBookmark */;
+ 2F5A48A10B7565AE0052B0C1 = 2F5A48A10B7565AE0052B0C1 /* PBXTextBookmark */;
+ 2F5A48A20B7565AE0052B0C1 = 2F5A48A20B7565AE0052B0C1 /* PBXTextBookmark */;
+ 2F5A49370B7575010052B0C1 = 2F5A49370B7575010052B0C1 /* PBXTextBookmark */;
+ 2F901EC10B7AED84004FF42C = 2F901EC10B7AED84004FF42C /* PBXTextBookmark */;
+ 2F901EC50B7AED84004FF42C = 2F901EC50B7AED84004FF42C /* PBXTextBookmark */;
+ 2F901ED80B7AEDBC004FF42C = 2F901ED80B7AEDBC004FF42C /* PBXTextBookmark */;
+ 2F901EE10B7AEE09004FF42C = 2F901EE10B7AEE09004FF42C /* PBXTextBookmark */;
+ 2F901EF70B7AEED5004FF42C = 2F901EF70B7AEED5004FF42C /* PBXTextBookmark */;
+ 2F9020F40B7BC77F004FF42C = 2F9020F40B7BC77F004FF42C /* PBXTextBookmark */;
+ 2F9020F50B7BC77F004FF42C = 2F9020F50B7BC77F004FF42C /* PBXTextBookmark */;
+ 2F9020F60B7BC77F004FF42C = 2F9020F60B7BC77F004FF42C /* PBXTextBookmark */;
+ 2F9021260B7BCD94004FF42C = 2F9021260B7BCD94004FF42C /* PBXTextBookmark */;
+ 2F9021280B7BCD94004FF42C = 2F9021280B7BCD94004FF42C /* PBXTextBookmark */;
+ 2F9021290B7BCD94004FF42C = 2F9021290B7BCD94004FF42C /* PBXTextBookmark */;
+ 2F90213A0B7BCF9E004FF42C = 2F90213A0B7BCF9E004FF42C /* PBXTextBookmark */;
+ 2F90213B0B7BCF9E004FF42C = 2F90213B0B7BCF9E004FF42C /* PBXTextBookmark */;
+ 2F90213C0B7BCF9E004FF42C = 2F90213C0B7BCF9E004FF42C /* PBXTextBookmark */;
+ 2F90213D0B7BCF9E004FF42C = 2F90213D0B7BCF9E004FF42C /* PBXTextBookmark */;
+ 2F9021410B7BD05A004FF42C = 2F9021410B7BD05A004FF42C /* PBXTextBookmark */;
+ 2F9021470B7BD19C004FF42C /* PBXTextBookmark */ = 2F9021470B7BD19C004FF42C /* PBXTextBookmark */;
+ 2F9021510B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021510B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021520B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021520B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021530B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021530B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021540B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021540B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021550B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021550B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021560B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021560B7BE0FB004FF42C /* PBXTextBookmark */;
+ 2F9021570B7BE0FB004FF42C /* PBXTextBookmark */ = 2F9021570B7BE0FB004FF42C /* PBXTextBookmark */;
};
sourceControlManager = 2F5A48590B75586F0052B0C1 /* Source Control */;
userBuildSettings = {
@@ -144,8 +152,8 @@
2F5A48710B75598F0052B0C1 /* pmpmapper.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {817, 2212}}";
- sepNavSelRange = "{4316, 0}";
- sepNavVisRect = "{{0, 0}, {817, 846}}";
+ sepNavSelRange = "{1491, 0}";
+ sepNavVisRect = "{{0, 6}, {817, 846}}";
};
};
2F5A48890B7565810052B0C1 /* PMPMapper */ = {
@@ -243,7 +251,7 @@
fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
name = "PMPMapper.c: 29";
rLen = 0;
- rLoc = 4002;
+ rLoc = 4016;
rType = 0;
vrLen = 951;
vrLoc = 0;
@@ -292,8 +300,8 @@
2F901ECF0B7AEDB5004FF42C /* route.c */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {817, 1764}}";
- sepNavSelRange = "{157, 0}";
- sepNavVisRect = "{{0, 918}, {817, 846}}";
+ sepNavSelRange = "{1177, 0}";
+ sepNavVisRect = "{{0, 0}, {817, 846}}";
};
};
2F901ED80B7AEDBC004FF42C /* PBXTextBookmark */ = {
@@ -371,7 +379,7 @@
fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
name = "pmpmapper.c: 53";
rLen = 0;
- rLoc = 1477;
+ rLoc = 1491;
rType = 0;
vrLen = 2132;
vrLoc = 929;
@@ -401,7 +409,7 @@
fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
name = "pmpmapper.c: 50";
rLen = 0;
- rLoc = 1384;
+ rLoc = 1390;
rType = 0;
vrLen = 1337;
vrLoc = 3052;
@@ -411,7 +419,7 @@
fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
name = "pmpmapper.c: 50";
rLen = 0;
- rLoc = 1384;
+ rLoc = 1390;
rType = 0;
vrLen = 1337;
vrLoc = 3052;
@@ -431,11 +439,91 @@
fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
name = "pmpmapper.c: printf";
rLen = 0;
- rLoc = 4316;
+ rLoc = 4330;
rType = 0;
vrLen = 1766;
vrLoc = 0;
};
+ 2F9021470B7BD19C004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
+ name = "pmpmapper.c: 18";
+ rLen = 0;
+ rLoc = 425;
+ rType = 0;
+ vrLen = 1766;
+ vrLoc = 0;
+ };
+ 2F9021510B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F901ECF0B7AEDB5004FF42C /* route.c */;
+ name = "route.c: 61";
+ rLen = 0;
+ rLoc = 1177;
+ rType = 0;
+ vrLen = 1178;
+ vrLoc = 0;
+ };
+ 2F9021520B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48700B75598F0052B0C1 /* pmpmapper.h */;
+ name = "pmpmapper.h: PMP_TIMEOUT";
+ rLen = 0;
+ rLoc = 529;
+ rType = 0;
+ vrLen = 867;
+ vrLoc = 0;
+ };
+ 2F9021530B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
+ name = r;
+ rLen = 1;
+ rLoc = 2055;
+ rType = 0;
+ vrLen = 2025;
+ vrLoc = 1394;
+ };
+ 2F9021540B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
+ name = r;
+ rLen = 1;
+ rLoc = 2055;
+ rType = 0;
+ vrLen = 2025;
+ vrLoc = 1394;
+ };
+ 2F9021550B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F901ECF0B7AEDB5004FF42C /* route.c */;
+ name = "route.c: 61";
+ rLen = 0;
+ rLoc = 1177;
+ rType = 0;
+ vrLen = 1178;
+ vrLoc = 0;
+ };
+ 2F9021560B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48700B75598F0052B0C1 /* pmpmapper.h */;
+ name = "pmpmapper.h: PMP_TIMEOUT";
+ rLen = 0;
+ rLoc = 529;
+ rType = 0;
+ vrLen = 867;
+ vrLoc = 0;
+ };
+ 2F9021570B7BE0FB004FF42C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 2F5A48710B75598F0052B0C1 /* pmpmapper.c */;
+ name = "pmpmapper.c: 53";
+ rLen = 0;
+ rLoc = 1491;
+ rType = 0;
+ vrLen = 1780;
+ vrLoc = 0;
+ };
8D1107260486CEB800E47090 /* PmpMyApp */ = {
activeExec = 0;
executables = (
diff --git a/source/pmpmapper.c b/source/pmpmapper.c
index 28b3cb2..a211b4d 100644
--- a/source/pmpmapper.c
+++ b/source/pmpmapper.c
@@ -47,10 +47,10 @@ struct sockaddr_in *pmp_get_public(struct sockaddr_in *gateway)
req_timeout.tv_usec = PMP_TIMEOUT;
recvsockaddr->sin_family = AF_INET;
- recvsockaddr->sin_port = PMP_PORT;
+ recvsockaddr->sin_port = htons(PMP_PORT);
recvsockaddr->sin_addr.s_addr = htonl(INADDR_ANY);
- gateway->sin_port = PMP_PORT; // Default port for NAT-PMP is 5351
+ gateway->sin_port = htons(PMP_PORT); // Default port for NAT-PMP is 5351
sendfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
recvfd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);