Fixed DNA simple server and client modes to still work with overlay code in place.

This commit is contained in:
gardners 2011-08-15 15:54:11 +02:00
parent 262346a182
commit 4396570745
4 changed files with 15 additions and 11 deletions

View File

@ -47,7 +47,7 @@ int readRoutingTable(struct in_addr peers[],int *peer_count,int peer_max){
unsigned long d, g, m;
int flgs, ref, use, metric, mtu, win, ir;
fprintf(stderr,"Reading routing table\n");
if (debug) fprintf(stderr,"Reading routing table\n");
FILE *fp = fopen("/proc/net/route","r");
if (!fp) return -1;

View File

@ -77,9 +77,11 @@ int packetSendRequest(int method,unsigned char *packet,int packet_len,int batchP
/* Deal with special case */
if (method==REQ_REPLY)
{
int r=sendto(sock,packet,packet_len,0,recvaddr,sizeof(recvaddr));
int r=sendto(sock,packet,packet_len,0,recvaddr,sizeof(struct sockaddr_in));
if (r<packet_len) {
if (debug) fprintf(stderr,"Could not send to client %s\n",inet_ntoa(client_addr));
if (debug) fprintf(stderr,"Could not send to client %s (packet=%p,len=%d,sock=%d)\n",
inet_ntoa(client_addr),packet,packet_len,sock);
perror("sendto");
} else {
if (debug>1) fprintf(stderr,"Sent request to client %s\n",inet_ntoa(client_addr));
}
@ -333,13 +335,15 @@ int getReplyPackets(int method,int peer,int batchP,struct response_set *response
}
len=recvfrom(sock,buffer,sizeof(buffer),0,recvaddr,&recvaddrlen);
if (len<=0) return setReason("Unable to receive packet.");
client_port=((struct sockaddr_in *)recvaddr)->sin_port;
client_addr=((struct sockaddr_in *)recvaddr)->sin_addr;
if (debug) fprintf(stderr,"Received reply from %s (len=%d).\n",inet_ntoa(client_addr),len);
if (debug>1) dump("recvaddr",(unsigned char *)&sender,recvaddrlen);
if (debug>2) dump("packet",(unsigned char *)buffer,len);
if (recvaddr) {
client_port=((struct sockaddr_in *)recvaddr)->sin_port;
client_addr=((struct sockaddr_in *)recvaddr)->sin_addr;
if (debug) fprintf(stderr,"Received reply from %s (len=%d).\n",inet_ntoa(client_addr),len);
if (debug>1) dump("recvaddr",(unsigned char *)&sender,recvaddrlen);
if (debug>2) dump("packet",(unsigned char *)buffer,len);
}
if (dropPacketP(len)) {
if (debug) fprintf(stderr,"Simulation mode: Dropped packet due to simulated link parameters.\n");

View File

@ -27,7 +27,7 @@ int process_packet(unsigned char *packet,int len,struct sockaddr *sender,int sen
unsigned char *transaction_id=&packet[OFS_TRANSIDFIELD];
did[0]=0; sid[0]=0;
/* Get DID or SID */
if (packetGetID(packet,len,did,sid)) return setReason("Could not parse DID or SID");

View File

@ -523,7 +523,7 @@ int simpleServerMode()
client_port=((struct sockaddr_in*)&recvaddr)->sin_port;
client_addr=((struct sockaddr_in*)&recvaddr)->sin_addr;
if (debug) fprintf(stderr,"Received packet from %s (len=%d).\n",inet_ntoa(client_addr),len);
if (debug) fprintf(stderr,"Received packet from %s:%d (len=%d).\n",inet_ntoa(client_addr),client_port,len);
if (debug>1) dump("recvaddr",(unsigned char *)&recvaddr,recvaddrlen);
if (debug>3) dump("packet",(unsigned char *)buffer,len);
if (dropPacketP(len)) {