- if(compression < 0 || compression > 11) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Node %s (%s) uses bogus compression level!", from->name, from->hostname);
- return true;
- }
-
- from->outcompression = compression;
-
- /* SPTPS or old-style key exchange? */
-
- if(from->status.sptps) {
- char buf[strlen(key)];
- int len = b64decode(key, buf, strlen(key));
-
- if(!sptps_receive_data(&from->sptps, buf, len))
- logger(DEBUG_ALWAYS, LOG_ERR, "Error processing SPTPS data from %s (%s)", from->name, from->hostname);
-
- if(from->status.validkey) {
- if(*address && *port) {
- logger(DEBUG_PROTOCOL, LOG_DEBUG, "Using reflexive UDP address from %s: %s port %s", from->name, address, port);
- sockaddr_t sa = str2sockaddr(address, port);
- update_node_udp(from, &sa);
- }
-
- if(from->options & OPTION_PMTU_DISCOVERY)
- send_mtu_probe(from);
- }