diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-06-23 20:44:29 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-06-23 20:44:29 +0000 |
| commit | e6bfff58f29ba8c8dbcaf7dd896b7b6646f42032 (patch) | |
| tree | 1d59a4034066d96fe85cdd21b49ec137ee610ff7 | |
| parent | 18a1793435b5e250d92d0a7ea35eaef0030f2668 (diff) | |
| download | pica-pica-e6bfff58f29ba8c8dbcaf7dd896b7b6646f42032.tar.gz pica-pica-e6bfff58f29ba8c8dbcaf7dd896b7b6646f42032.zip | |
configurable port in NEWNODE; save entry to database on NEWNODE reveive
git-svn-id: svn://localhost/project_picapica/trunk@131 fb96df88-216d-11de-830c-f3023f12d8ac
| -rwxr-xr-x | PICA_node.c | 12 | ||||
| -rw-r--r-- | PICA_nodejoinskynet.c | 3 |
2 files changed, 11 insertions, 4 deletions
diff --git a/PICA_node.c b/PICA_node.c index 5e273ed..9602380 100755 --- a/PICA_node.c +++ b/PICA_node.c @@ -449,6 +449,7 @@ return 1; unsigned int procmsg_NEWNODE(unsigned char* buf,unsigned int size,void* ptr) { struct nodelink *n=(struct nodelink *)ptr; +struct PICA_nodeaddr na; switch (buf[0]) { @@ -456,10 +457,14 @@ switch (buf[0]) printf("NEWNODE_IPV4: ip %.16s port %hu\n",inet_ntoa(*(struct in_addr*)(buf+2)),ntohs(*(uint16_t*)(buf+6)));//debug { struct PICA_nodeaddr_ipv4 na_ipv4; - + na_ipv4.magick=PICA_PROTO_NEWNODE_IPV4; na_ipv4.addr=*(in_addr_t*)(buf+2); na_ipv4.port=*(in_port_t*)(buf+6); + + sprintf(na.addr,"%.16s",inet_ntoa(*(struct in_addr*)&na_ipv4.addr)); + na.port = na_ipv4.port; + //int nodelink_attach_nodeaddr(struct nodelink *nl, unsigned int addr_type, void* nodeaddr, unsigned int nodeaddr_size) nodelink_attach_nodeaddr(n,na_ipv4.magick,&na_ipv4,sizeof(struct PICA_nodeaddr_ipv4)); } @@ -472,7 +477,7 @@ switch (buf[0]) break; } - +PICA_nodeaddr_save(nodecfg.nodes_db_file, &na);//CONF filename return 1; } @@ -1847,7 +1852,8 @@ while(nl) if (ret<=0) { - perror("n2n_read recv:");//debug + if (ret < 0) + perror("n2n_read recv:");//debug kill_ptr=nl; } else diff --git a/PICA_nodejoinskynet.c b/PICA_nodejoinskynet.c index ccba409..dad8411 100644 --- a/PICA_nodejoinskynet.c +++ b/PICA_nodejoinskynet.c @@ -4,6 +4,7 @@ #include "PICA_proto.h" #include "PICA_msgproc.h" #include "PICA_common.h" +#include "PICA_nodeconfig.h" #include <time.h> #include <sys/time.h> @@ -134,7 +135,7 @@ return 0; struct PICA_proto_msg *mp; mp=nodelink_wbuf_push(nlp,PICA_PROTO_NEWNODE_IPV4,PICA_PROTO_NEWNODE_IPV4_SIZE); *((in_addr_t*)(mp->tail))=inet_addr(my_addr);//CONF TEMP -*((uint16_t*)(mp->tail+4))=htons(PICA_COMM_PORT); +*((uint16_t*)(mp->tail+4))=(nodecfg.listen_port ? htons(atoi(nodecfg.listen_port)) : htons(PICA_COMM_PORT));//CONF; } static void send_nodelistreq(struct nodelink *nlp) |
