X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=daemon%2Ffnet-adc.c;h=84a63aaa4df0e404303f3f7a17022d44c7f09885;hb=0f6981ce0fd93e10fae113f8ffac1f557d7106d1;hp=2fb9de8918888105627783ab51fa518e3c73e238;hpb=3ad44ea78a56fe28eee03e23bfc15fe3d03ea431;p=doldaconnect.git diff --git a/daemon/fnet-adc.c b/daemon/fnet-adc.c index 2fb9de8..84a63aa 100644 --- a/daemon/fnet-adc.c +++ b/daemon/fnet-adc.c @@ -38,7 +38,7 @@ #include "transfer.h" #include "sysevents.h" #include "net.h" -#include "tiger.h" +#include /* Protocol states */ #define ADC_PROTOCOL 0 @@ -67,6 +67,7 @@ struct adchub { wchar_t **sup; iconv_t ich; int state; + struct wcspair *hubinf; struct qcmd *queue; }; @@ -191,7 +192,14 @@ static void freeqcmd(struct qcmd *qcmd) } #define ADC_CMDFN(name) static void name(struct fnetnode *fn, wchar_t *command, wchar_t *sender, int argc, wchar_t **argv) -#define ADC_CMDCOM struct socket *sk = fn->sk; struct adchub *hub = fn->data; +#ifdef __GNUC__ +#define UNUSED __attribute__ ((unused)) +#else +#define UNUSED +#endif +#define ADC_CMDCOM \ + struct socket *sk UNUSED = fn->sk; \ + struct adchub *hub UNUSED = fn->data; ADC_CMDFN(cmd_sup) { @@ -215,6 +223,7 @@ ADC_CMDFN(cmd_sup) } else if(!wcsncmp(argv[i], L"RM", 2)) { if(!f) continue; + free(hub->sup[o]); memmove(hub->sup[o], hub->sup[o + 1], parrlen(hub->sup) - o); } } @@ -232,9 +241,19 @@ ADC_CMDFN(cmd_sid) } } +ADC_CMDFN(cmd_inf) +{ + ADC_CMDCOM; + + if(sender == NULL) { + + } +} + static struct command hubcmds[] = { {L"SUP", 1, 0, cmd_sup}, {L"SID", 2, 0, cmd_sid}, + {L"INF", 0, 0, cmd_inf}, {NULL, 0, 0, NULL} }; @@ -457,7 +476,15 @@ static void terminate(void) } static struct configvar myvars[] = { + /** Specifies a specific UDP port to use for ADC search + * results. If left unspecified, a port is allocated + * dynamically. Useful for NAT routers (see also the + * net.visibleipv4 address for those cases). */ {CONF_VAR_INT, "udpport", {.num = 0}}, + /** Specifies a specific TCP port to use for ADC peer + * connections. If left unspecified, a port is allocated + * dynamically. Useful for NAT routers (see also the + * net.visibleipv4 address for those cases). */ {CONF_VAR_INT, "tcpport", {.num = 0}}, {CONF_VAR_END} };