about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2005-10-06 14:01:55 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2005-10-06 14:01:55 +0000
commit89b0b8b35972327908e89f50559f330643a6c8f3 (patch)
treeaa5d53d7274ddc4e2c619ee80265597970cfc5ac
parent28fcbed3c5e917a42883412ebbb5a6600a7f40b8 (diff)
downloadbtpd-89b0b8b35972327908e89f50559f330643a6c8f3.tar.gz
btpd-89b0b8b35972327908e89f50559f330643a6c8f3.zip
More logging: discarded pieces and peer_id.
-rw-r--r--btpd/peer.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/btpd/peer.c b/btpd/peer.c
index a00569c..0cfbc0a 100644
--- a/btpd/peer.c
+++ b/btpd/peer.c
@@ -2,6 +2,7 @@
 #include <sys/socket.h>
 #include <netinet/in.h>
 
+#include <ctype.h>
 #include <math.h>
 #include <string.h>
 #include <unistd.h>
@@ -305,6 +306,13 @@ peer_create_out_compact(struct torrent *tp, const char *compact)
 void
 peer_on_shake(struct peer *p)
 {
+    uint8_t printid[21];
+    int i;
+    for (i = 0; i < 20 && isprint(p->id[i]); i++)
+	printid[i] = p->id[i];
+    printid[i] = '\0';
+    btpd_log(BTPD_L_MSG, "received shake with id=\'%s\', from %p.\n",
+	printid, p);
     btpd_log(BTPD_L_MSG, "received shake from %p.\n", p);
     p->piece_field = btpd_calloc(1, (int)ceil(p->tp->meta.npieces / 8.0));
     if (p->tp->have_npieces > 0) {
@@ -395,21 +403,20 @@ void
 peer_on_piece(struct peer *p, uint32_t index, uint32_t begin,
     uint32_t length, const char *data)
 {
-    btpd_log(BTPD_L_MSG, "received piece(%u,%u,%u) from %p\n",
-	index, begin, length, p);
     struct block_request *req = BTPDQ_FIRST(&p->my_reqs);
-    if (req == NULL)
-	return;
-    struct net_buf *nb = req->blk->msg;
-    if (nb_get_begin(nb) == begin &&
-	nb_get_index(nb) == index &&
-	nb_get_length(nb) == length) {
-
+    if ((req != NULL &&
+	    nb_get_begin(req->blk->msg) == begin &&
+	    nb_get_index(req->blk->msg) == index &&
+	    nb_get_length(req->blk->msg) == length)) {
+	btpd_log(BTPD_L_MSG, "received piece(%u,%u,%u) from %p\n",
+	    index, begin, length, p);
 	assert(p->nreqs_out > 0);
 	p->nreqs_out--;
 	BTPDQ_REMOVE(&p->my_reqs, req, p_entry);
 	cm_on_block(p, req, index, begin, length, data);
-    }
+    } else
+	btpd_log(BTPD_L_MSG, "discarded piece(%u,%u,%u) from %p\n",
+	    index, begin, length, p);
 }
 
 void