summaryrefslogtreecommitdiffstats
path: root/PICA_node.c
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-23 20:44:29 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-23 20:44:29 +0000
commite6bfff58f29ba8c8dbcaf7dd896b7b6646f42032 (patch)
tree1d59a4034066d96fe85cdd21b49ec137ee610ff7 /PICA_node.c
parent18a1793435b5e250d92d0a7ea35eaef0030f2668 (diff)
downloadpica-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
Diffstat (limited to 'PICA_node.c')
-rwxr-xr-xPICA_node.c12
1 files changed, 9 insertions, 3 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