diff --git a/miniupnpd/upnpdescgen.c b/miniupnpd/upnpdescgen.c
index da78b42..2975567 100644
--- a/miniupnpd/upnpdescgen.c
+++ b/miniupnpd/upnpdescgen.c
@@ -115,7 +115,12 @@ static const char * magicargname[] = {
"RemotePort",
"InternalClient",
"InternalPort",
- "IsWorking"
+ "IsWorking",
+ "ProtocolType",
+ "InMessage",
+ "OutMessage",
+ "ProtocolList",
+ "RoleList"
};
static const char xmlver[] =
@@ -743,11 +748,32 @@ static const struct serviceDesc scpd6FC =
#ifdef ENABLE_DP_SERVICE
/* UPnP-gw-DeviceProtection-v1-Service.pdf */
+
+static const struct argument SendSetupMessageArgs[] =
+{
+ {1|0x80|(8<<2), 6}, /* ProtocolType */
+ {1|0x80|(9<<2), 5}, /* InMessage */
+ {2|0x80|(10<<2), 5}, /* OutMessage */
+ {0, 0}
+};
+
+static const struct argument GetSupportedProtocolsArgs[] =
+{
+ {2|0x80|(11<<2), 1}, /* ProtocolList */
+ {0, 0}
+};
+
+static const struct argument GetAssignedRolesArgs[] =
+{
+ {2|0x80|(12<<2), 6}, /* RoleList */
+ {0, 0}
+};
+
static const struct action DPActions[] =
{
- {"SendSetupMessage", 0},
- {"GetSupportedProtocols", 0},
- {"GetAssignedRoles", 0},
+ {"SendSetupMessage", SendSetupMessageArgs},
+ {"GetSupportedProtocols", GetSupportedProtocolsArgs},
+ {"GetAssignedRoles", GetAssignedRolesArgs},
{0, 0}
};
diff --git a/miniupnpd/upnpsoap.c b/miniupnpd/upnpsoap.c
index 6ed0a9b..5dd4c73 100644
--- a/miniupnpd/upnpsoap.c
+++ b/miniupnpd/upnpsoap.c
@@ -1989,7 +1989,7 @@ SendSetupMessage(struct upnphttp * h, const char * action, const char * ns)
static const char resp[] =
""
- "%s"
+ "%s"
"";
char body[1024];
int bodylen;
@@ -2030,7 +2030,7 @@ GetSupportedProtocols(struct upnphttp * h, const char * action, const char * ns)
static const char resp[] =
""
- "%s"
+ "%s"
"";
char body[1024];
int bodylen;
@@ -2056,7 +2056,7 @@ GetAssignedRoles(struct upnphttp * h, const char * action, const char * ns)
static const char resp[] =
""
- "%s"
+ "%s"
"";
char body[1024];
int bodylen;