153abaa4d9
When two nodes which support SPTPS want to send packets to each other, they now always use SPTPS. The node initiating the SPTPS session send the first SPTPS packet via an extended REQ_KEY messages. All other handshake messages are sent using ANS_KEY messages. This ensures that intermediate nodes using an older version of tinc can still help with NAT traversal. After the authentication phase is over, SPTPS packets are sent via UDP, or are encapsulated in extended REQ_KEY messages instead of PACKET messages.
32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
/*
|
|
meta.h -- header for meta.c
|
|
Copyright (C) 2000-2006 Guus Sliepen <guus@tinc-vpn.org>,
|
|
2000-2005 Ivo Timmermans
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef __TINC_META_H__
|
|
#define __TINC_META_H__
|
|
|
|
#include "connection.h"
|
|
|
|
extern bool send_meta(struct connection_t *, const char *, int);
|
|
extern bool send_meta_sptps(void *, uint8_t, const char *, size_t);
|
|
extern bool receive_meta_sptps(void *, uint8_t, const char *, uint16_t);
|
|
extern void broadcast_meta(struct connection_t *, const char *, int);
|
|
extern bool receive_meta(struct connection_t *);
|
|
|
|
#endif /* __TINC_META_H__ */
|