Bladeren bron

Implement the "key" tracker extension.

master
Richard Nyberg 18 jaren geleden
bovenliggende
commit
fd7d7fca08
2 gewijzigde bestanden met toevoegingen van 11 en 2 verwijderingen
  1. +2
    -0
      btpd/btpd.c
  2. +9
    -2
      btpd/tracker_req.c

+ 2
- 0
btpd/btpd.c Bestand weergeven

@@ -184,6 +184,7 @@ td_init(void)
btpd_ev_add(&m_td_ev, NULL);
}

void tr_init(void);
void ipc_init(void);

void
@@ -201,6 +202,7 @@ btpd_init(void)
ipc_init();
ul_init();
cm_init();
tr_init();
tlib_init();

signal(SIGPIPE, SIG_IGN);


+ 9
- 2
btpd/tracker_req.c Bestand weergeven

@@ -17,6 +17,7 @@ enum tr_event {
TR_EV_EMPTY
};

static long m_key;
static const char *m_events[] = { "started", "stopped", "completed", "" };

enum timer_type {
@@ -237,9 +238,9 @@ tr_send(struct torrent *tp, enum tr_event event)
snprintf(e_id + i * 3, 4, "%%%.2x", peer_id[i]);

http_get(&tr->req, http_cb, tp,
"%s%cinfo_hash=%s&peer_id=%s&port=%d&uploaded=%llu"
"%s%cinfo_hash=%s&peer_id=%s&key=%ld&port=%d&uploaded=%llu"
"&downloaded=%llu&left=%llu&compact=1%s%s",
get_url(tr), qc, e_hash, e_id, net_port,
get_url(tr), qc, e_hash, e_id, m_key, net_port,
tp->net->uploaded, tp->net->downloaded,
(long long)tp->total_length - cm_content(tp),
event == TR_EV_EMPTY ? "" : "&event=", m_events[event]);
@@ -305,3 +306,9 @@ tr_errors(struct torrent *tp)
{
return tp->tr->nerrors;
}

void
tr_init(void)
{
m_key = random();
}

Laden…
Annuleren
Opslaan