My Tor log shows this entry. What does this mean?
Apr 04 16:08:07.000 [warn] Rejecting INTRODUCE1 on non-OR or non-edge circuit 7503.
The warning was introduced as part of security fix. It is just information that some client was trying to send to you some unexpected SENDME cell which could be used to do targeted memory denial-of-service attacks on entry nodes.
The brief description of that security fix is:
Tear down the circuit if we get an unexpected SENDME cell. Clients could use this trick to make their circuits receive cells faster than our flow control would have allowed, or to gum up the network, or possibly to do targeted memory denial-of-service attacks on entry nodes. Fixes bug 6252. Bugfix on the 54th commit on Tor -- from July 2002, before the release of Tor 0.0.0.
Check the Tor bug report at https://trac.torproject.org/projects/tor/ticket/6252
The responsible code from where this warning is coming:
/** Respond to an ESTABLISH_INTRO cell by checking the signed data and
* setting the circuit's purpose and service pk digest.
*/
int
rend_mid_establish_intro(or_circuit_t *circ, const char *request,
size_t request_len)
...
log_info(LD_REND,
"Received an ESTABLISH_INTRO request on circuit %d",
circ->p_circ_id);
if (circ->_base.purpose != CIRCUIT_PURPOSE_OR || circ->_base.n_conn) {
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
"Rejecting ESTABLISH_INTRO on non-OR or non-edge circuit.");
reason = END_CIRC_REASON_TORPROTOCOL;
goto err;
}
To summarise, you shouldn't worry about it much. You may just ignore it.