version 1.1, 2012/02/21 23:16:02
|
version 1.1.1.3, 2013/07/22 00:32:35
|
Line 1
|
Line 1
|
/* $Id$ */ |
/* $Id$ */ |
/* MiniUPnP project |
/* MiniUPnP project |
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ |
* http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ |
* (c) 2006-2008 Thomas Bernard | * (c) 2006-2012 Thomas Bernard |
* This software is subject to the conditions detailed |
* This software is subject to the conditions detailed |
* in the LICENCE file provided within the distribution */ |
* in the LICENCE file provided within the distribution */ |
|
|
#include <stdlib.h> |
#include <stdlib.h> |
#include <stdio.h> |
#include <stdio.h> |
#include <string.h> |
#include <string.h> |
|
/* for mkdir */ |
|
#include <sys/stat.h> |
|
#include <sys/types.h> |
|
#include <errno.h> |
|
|
|
#include "macros.h" |
#include "config.h" |
#include "config.h" |
#include "upnpdescgen.h" |
#include "upnpdescgen.h" |
|
|
Line 16 char uuidvalue[] = "uuid:12345678-0000-0000-0000-00000
|
Line 21 char uuidvalue[] = "uuid:12345678-0000-0000-0000-00000
|
char serialnumber[] = "12345678"; |
char serialnumber[] = "12345678"; |
char modelnumber[] = "1"; |
char modelnumber[] = "1"; |
char presentationurl[] = "http://192.168.0.1:8080/"; |
char presentationurl[] = "http://192.168.0.1:8080/"; |
|
/*char presentationurl[] = "";*/ |
|
char friendly_name[] = OS_NAME " router"; |
|
|
char * use_ext_ip_addr = NULL; |
char * use_ext_ip_addr = NULL; |
const char * ext_if_name = "eth0"; |
const char * ext_if_name = "eth0"; |
|
|
|
#ifdef ENABLE_6FC_SERVICE |
|
int ipv6fc_firewall_enabled = 1; |
|
int ipv6fc_inbound_pinhole_allowed = 1; |
|
#endif |
|
|
int getifaddr(const char * ifname, char * buf, int len) |
int getifaddr(const char * ifname, char * buf, int len) |
{ |
{ |
|
UNUSED(ifname); |
strncpy(buf, "1.2.3.4", len); |
strncpy(buf, "1.2.3.4", len); |
return 0; |
return 0; |
} |
} |
|
|
int upnp_get_portmapping_number_of_entries() | int upnp_get_portmapping_number_of_entries(void) |
{ |
{ |
return 42; |
return 42; |
} |
} |
|
|
|
int get_wan_connection_status(const char * ifname) |
|
{ |
|
UNUSED(ifname); |
|
return 2; |
|
} |
|
|
/* To be improved */ |
/* To be improved */ |
int |
int |
xml_pretty_print(const char * s, int len, FILE * f) |
xml_pretty_print(const char * s, int len, FILE * f) |
Line 38 xml_pretty_print(const char * s, int len, FILE * f)
|
Line 57 xml_pretty_print(const char * s, int len, FILE * f)
|
int n = 0, i; |
int n = 0, i; |
int elt_close = 0; |
int elt_close = 0; |
int c, indent = 0; |
int c, indent = 0; |
|
|
|
if(!s) |
|
return n; |
while(len > 0) |
while(len > 0) |
{ |
{ |
c = *(s++); len--; |
c = *(s++); len--; |
Line 66 xml_pretty_print(const char * s, int len, FILE * f)
|
Line 88 xml_pretty_print(const char * s, int len, FILE * f)
|
if(elt_close==1) |
if(elt_close==1) |
{ |
{ |
/*fputc('\n', f); n++; */ |
/*fputc('\n', f); n++; */ |
//elt_close = 0; | /* elt_close = 0; */ |
if(indent > 0) |
if(indent > 0) |
indent--; |
indent--; |
} |
} |
else if(elt_close == 0) |
else if(elt_close == 0) |
indent++; |
indent++; |
break; |
break; |
|
case '\n': |
|
/* remove existing LF */ |
|
break; |
default: |
default: |
fputc(c, f); n++; |
fputc(c, f); n++; |
} |
} |
Line 84 xml_pretty_print(const char * s, int len, FILE * f)
|
Line 109 xml_pretty_print(const char * s, int len, FILE * f)
|
const char * str1 = "Prefix123String"; |
const char * str1 = "Prefix123String"; |
const char * str2 = "123String"; |
const char * str2 = "123String"; |
|
|
void stupid_test() | void stupid_test(void) |
{ |
{ |
printf("str1:'%s' str2:'%s'\n", str1, str2); |
printf("str1:'%s' str2:'%s'\n", str1, str2); |
printf("str1:%p str2:%p str2-str1:%ld\n", str1, str2, (long)(str2-str1)); |
printf("str1:%p str2:%p str2-str1:%ld\n", str1, str2, (long)(str2-str1)); |
Line 99 main(int argc, char * * argv)
|
Line 124 main(int argc, char * * argv)
|
int rootDescLen; |
int rootDescLen; |
char * s; |
char * s; |
int l; |
int l; |
|
FILE * f; |
|
UNUSED(argc); |
|
UNUSED(argv); |
|
|
|
if(mkdir("testdescs", 0777) < 0) { |
|
if(errno != EEXIST) { |
|
perror("mkdir"); |
|
} |
|
} |
|
printf("Root Description :\n"); |
rootDesc = genRootDesc(&rootDescLen); |
rootDesc = genRootDesc(&rootDescLen); |
xml_pretty_print(rootDesc, rootDescLen, stdout); |
xml_pretty_print(rootDesc, rootDescLen, stdout); |
|
f = fopen("testdescs/rootdesc.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(rootDesc, rootDescLen, f); |
|
fclose(f); |
|
} |
free(rootDesc); |
free(rootDesc); |
printf("\n-------------\n"); |
printf("\n-------------\n"); |
|
printf("WANIPConnection Description :\n"); |
s = genWANIPCn(&l); |
s = genWANIPCn(&l); |
xml_pretty_print(s, l, stdout); |
xml_pretty_print(s, l, stdout); |
|
f = fopen("testdescs/wanipc_scpd.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(s, l, f); |
|
fclose(f); |
|
} |
free(s); |
free(s); |
printf("\n-------------\n"); |
printf("\n-------------\n"); |
|
printf("WANConfig Description :\n"); |
s = genWANCfg(&l); |
s = genWANCfg(&l); |
xml_pretty_print(s, l, stdout); |
xml_pretty_print(s, l, stdout); |
|
f = fopen("testdescs/wanconfig_scpd.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(s, l, f); |
|
fclose(f); |
|
} |
free(s); |
free(s); |
printf("\n-------------\n"); |
printf("\n-------------\n"); |
#ifdef ENABLE_L3F_SERVICE |
#ifdef ENABLE_L3F_SERVICE |
|
printf("Layer3Forwarding service :\n"); |
s = genL3F(&l); |
s = genL3F(&l); |
xml_pretty_print(s, l, stdout); |
xml_pretty_print(s, l, stdout); |
|
f = fopen("testdescs/l3f_scpd.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(s, l, f); |
|
fclose(f); |
|
} |
free(s); |
free(s); |
printf("\n-------------\n"); |
printf("\n-------------\n"); |
#endif |
#endif |
|
#ifdef ENABLE_6FC_SERVICE |
|
printf("WANIPv6FirewallControl service :\n"); |
|
s = gen6FC(&l); |
|
xml_pretty_print(s, l, stdout); |
|
f = fopen("testdescs/wanipv6fc_scpd.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(s, l, f); |
|
fclose(f); |
|
} |
|
free(s); |
|
printf("\n-------------\n"); |
|
#endif |
|
#ifdef ENABLE_DP_SERVICE |
|
printf("DeviceProtection service :\n"); |
|
s = genDP(&l); |
|
xml_pretty_print(s, l, stdout); |
|
f = fopen("testdescs/dp_scpd.xml", "w"); |
|
if(f) { |
|
xml_pretty_print(s, l, f); |
|
fclose(f); |
|
} |
|
free(s); |
|
printf("\n-------------\n"); |
|
#endif |
#ifdef ENABLE_EVENTS |
#ifdef ENABLE_EVENTS |
s = getVarsWANIPCn(&l); |
s = getVarsWANIPCn(&l); |
xml_pretty_print(s, l, stdout); |
xml_pretty_print(s, l, stdout); |
Line 131 main(int argc, char * * argv)
|
Line 213 main(int argc, char * * argv)
|
xml_pretty_print(s, l, stdout); |
xml_pretty_print(s, l, stdout); |
free(s); |
free(s); |
printf("\n-------------\n"); |
printf("\n-------------\n"); |
|
#ifdef ENABLE_6FC_SERVICE |
|
s = getVars6FC(&l); |
|
xml_pretty_print(s, l, stdout); |
|
free(s); |
|
printf("\n-------------\n"); |
|
#endif |
|
#ifdef ENABLE_DP_SERVICE |
|
s = getVarsDP(&l); |
|
xml_pretty_print(s, l, stdout); |
|
free(s); |
|
printf("\n-------------\n"); |
|
#endif |
#endif |
#endif |
#endif |
#endif |
/* |
/* |