This file is part of GNUnet.
Copyright (C) 2010, 2011, 2012, 2016, 2017 Christian Grothoff
- GNUnet 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 3, or (at your
- option) any later version.
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
GNUnet 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.
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
GNUNET_MQ_handler_end()
};
- return GNUNET_CADET_channel_creatE (cadet_handle,
+ return GNUNET_CADET_channel_create (cadet_handle,
ts,
target,
port,
mlen = sizeof (struct GNUNET_EXIT_UdpServiceMessage) +
payload_length - sizeof (struct GNUNET_TUN_UdpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
mlen = sizeof (struct GNUNET_EXIT_UdpInternetMessage) +
alen + payload_length - sizeof (struct GNUNET_TUN_UdpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
mlen = sizeof (struct GNUNET_EXIT_TcpServiceStartMessage) +
payload_length - sizeof (struct GNUNET_TUN_TcpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
mlen = sizeof (struct GNUNET_EXIT_TcpInternetStartMessage) +
alen + payload_length - sizeof (struct GNUNET_TUN_TcpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
mlen = sizeof (struct GNUNET_EXIT_TcpDataMessage) +
payload_length - sizeof (struct GNUNET_TUN_TcpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
/* update length calculations, as payload_length may have changed */
mlen = sizeof (struct GNUNET_EXIT_IcmpServiceMessage) +
alen + payload_length - sizeof (struct GNUNET_TUN_IcmpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
void *payload;
uint8_t new_type;
+ new_type = icmp->type;
/* Perform ICMP protocol-translation (depending on destination AF and source AF)
and throw away ICMP payload depending on ICMP message type */
switch (af)
switch (icmp->type)
{
case GNUNET_TUN_ICMPTYPE6_DESTINATION_UNREACHABLE:
- if (destination->details.exit_destination.af == AF_INET6)
- new_type = GNUNET_TUN_ICMPTYPE6_DESTINATION_UNREACHABLE;
+ if (destination->details.exit_destination.af == AF_INET)
+ new_type = GNUNET_TUN_ICMPTYPE_DESTINATION_UNREACHABLE;
/* throw away IP-payload, exit will have to make it up anyway */
payload_length = sizeof (struct GNUNET_TUN_IcmpHeader);
break;
/* update length calculations, as payload_length may have changed */
mlen = sizeof (struct GNUNET_EXIT_IcmpInternetMessage) +
alen + payload_length - sizeof (struct GNUNET_TUN_IcmpHeader);
- if (mlen >= GNUNET_SERVER_MAX_MESSAGE_SIZE)
+ if (mlen >= GNUNET_MAX_MESSAGE_SIZE)
{
GNUNET_break (0);
return;
* and forward the packet.
*
* @param cls closure, NULL
- * @param client NULL
* @param message message we got from the client (VPN channel interface)
+ * @return #GNUNET_OK on success,
+ * #GNUNET_NO to stop further processing (no error)
+ * #GNUNET_SYSERR to stop further processing with error
*/
static int
message_token (void *cls,
- void *client,
const struct GNUNET_MessageHeader *message)
{
const struct GNUNET_TUN_Layer2PacketHeader *tun;
while ( (GNUNET_YES ==
GNUNET_CONTAINER_multihashmap_contains (destination_map,
&key)) ||
- (0 == memcmp (v6,
- &addr,
- sizeof (struct in6_addr))) ||
- (0 == memcmp (v6,
- &mask,
- sizeof (struct in6_addr))) );
+ (0 == GNUNET_memcmp (v6,
+ &addr)) ||
+ (0 == GNUNET_memcmp (v6,
+ &mask)) );
return GNUNET_OK;
}
}
vpn_argv[6] = NULL;
- cadet_handle = GNUNET_CADET_connecT (cfg_);
+ cadet_handle = GNUNET_CADET_connect (cfg_);
// FIXME never opens ports???
helper_handle = GNUNET_HELPER_start (GNUNET_NO,
"gnunet-helper-vpn", vpn_argv,