OpenVPN
|
Go to the source code of this file.
Data Structures | |
struct | proto_names |
Macros | |
#define | IF_NAMESIZE 16 |
#define | n_rnd_bytes 6 |
Functions | |
const char * | print_sockaddr_ex (const struct sockaddr *sa, const char *separator, const unsigned int flags, struct gc_arena *gc) |
const char * | print_link_socket_actual (const struct link_socket_actual *act, struct gc_arena *gc) |
const char * | print_link_socket_actual_ex (const struct link_socket_actual *act, const char *separator, const unsigned int flags, struct gc_arena *gc) |
const char * | print_in_addr_t (in_addr_t addr, unsigned int flags, struct gc_arena *gc) |
const char * | print_in6_addr (struct in6_addr a6, unsigned int flags, struct gc_arena *gc) |
const char * | print_in_port_t (in_port_t port, struct gc_arena *gc) |
struct in6_addr | add_in6_addr (struct in6_addr base, uint32_t add) |
void | setenv_sockaddr (struct env_set *es, const char *name_prefix, const struct openvpn_sockaddr *addr, const unsigned int flags) |
void | setenv_in_addr_t (struct env_set *es, const char *name_prefix, in_addr_t addr, const unsigned int flags) |
void | setenv_in6_addr (struct env_set *es, const char *name_prefix, const struct in6_addr *addr, const unsigned int flags) |
void | setenv_link_socket_actual (struct env_set *es, const char *name_prefix, const struct link_socket_actual *act, const unsigned int flags) |
int | ascii2proto (const char *proto_name) |
sa_family_t | ascii2af (const char *proto_name) |
const char * | proto2ascii (int proto, sa_family_t af, bool display_form) |
const char * | proto2ascii_all (struct gc_arena *gc) |
const char * | addr_family_name (int af) |
const char * | proto_remote (int proto, bool remote) |
static const char * | getaddrinfo_addr_family_name (int af) |
Small helper function for openvpn_getaddrinfo to print the address family when resolving fails. | |
static const char * | hostname_randomize (const char *hostname, struct gc_arena *gc) |
int | openvpn_getaddrinfo (unsigned int flags, const char *hostname, const char *servname, int resolve_retry_seconds, struct signal_info *sig_info, int ai_family, struct addrinfo **res) |
int | openvpn_inet_aton (const char *dotted_quad, struct in_addr *addr) |
bool | ip_addr_dotted_quad_safe (const char *dotted_quad) |
bool | ipv6_addr_safe (const char *ipv6_text_addr) |
static bool | dns_addr_safe (const char *addr) |
bool | ip_or_dns_addr_safe (const char *addr, const bool allow_fqdn) |
bool | mac_addr_safe (const char *mac_addr) |
Variables | |
static const struct proto_names | proto_names [] |
#define IF_NAMESIZE 16 |
Definition at line 123 of file socket_util.c.
#define n_rnd_bytes 6 |
struct in6_addr add_in6_addr | ( | struct in6_addr | base, |
uint32_t | add | ||
) |
Definition at line 242 of file socket_util.c.
References i.
Referenced by helper_client_server(), ifconfig_pool_acquire(), ifconfig_pool_handle_to_ipv6_base(), and test_add_in6_addr_tc().
const char * addr_family_name | ( | int | af | ) |
Definition at line 446 of file socket_util.c.
References buffer::len.
Referenced by dco_mp_start_vpn(), dco_p2p_new_peer(), link_socket_init_phase2(), and socket_bind().
sa_family_t ascii2af | ( | const char * | proto_name | ) |
Definition at line 396 of file socket_util.c.
References i, proto_names::proto_af, proto_names::short_form, and SIZE.
Referenced by add_option().
int ascii2proto | ( | const char * | proto_name | ) |
Definition at line 383 of file socket_util.c.
References i, proto_names::proto, proto_names::short_form, and SIZE.
Referenced by add_option().
|
static |
Definition at line 859 of file socket_util.c.
References CC_ALNUM, CC_DASH, CC_DOT, and string_class().
Referenced by ip_or_dns_addr_safe().
|
static |
Small helper function for openvpn_getaddrinfo to print the address family when resolving fails.
Definition at line 498 of file socket_util.c.
References buffer::len.
Referenced by openvpn_getaddrinfo().
|
static |
Definition at line 517 of file socket_util.c.
References alloc_buf_gc(), BSTR, buf_printf(), format_hex_ex(), gc, buffer::len, n_rnd_bytes, and prng_bytes().
Referenced by openvpn_getaddrinfo().
bool ip_addr_dotted_quad_safe | ( | const char * | dotted_quad | ) |
Definition at line 787 of file socket_util.c.
References OIA_IP, and openvpn_inet_aton().
Referenced by check_route_option(), dhcp_option_address_parse(), and ip_or_dns_addr_safe().
bool ip_or_dns_addr_safe | ( | const char * | addr, |
const bool | allow_fqdn | ||
) |
Definition at line 873 of file socket_util.c.
References dns_addr_safe(), and ip_addr_dotted_quad_safe().
Referenced by add_option(), and check_route_option().
bool ipv6_addr_safe | ( | const char * | ipv6_text_addr | ) |
Definition at line 837 of file socket_util.c.
Referenced by add_option(), and check_route6_option().
bool mac_addr_safe | ( | const char * | mac_addr | ) |
Definition at line 890 of file socket_util.c.
Referenced by add_option().
int openvpn_getaddrinfo | ( | unsigned int | flags, |
const char * | hostname, | ||
const char * | servname, | ||
int | resolve_retry_seconds, | ||
struct signal_info * | sig_info, | ||
int | ai_family, | ||
struct addrinfo ** | res | ||
) |
Definition at line 537 of file socket_util.c.
References ASSERT, CLEAR, D_RESOLVE_ERRORS, D_SOCKET_DEBUG, dmsg, gc, gc_free(), gc_new(), get_signal(), GETADDR_DATAGRAM, GETADDR_FATAL, GETADDR_FATAL_ON_SIGNAL, GETADDR_HOST_ORDER, GETADDR_MENTION_RESOLVE_RETRY, GETADDR_MSG_VIRT_OUT, GETADDR_PASSIVE, GETADDR_RANDOMIZE, GETADDR_RESOLVE, GETADDR_TRY_ONCE, GETADDR_UPDATE_MANAGEMENT_STATE, GETADDR_WARN_ON_SIGNAL, getaddrinfo_addr_family_name(), hostname_randomize(), M_FATAL, M_MSG_VIRT_OUT, M_WARN, management_set_state(), management_sleep(), msg, OPENVPN_STATE_RESOLVE, res, signal_info::signal_received, signal_reset(), and status.
Referenced by dns_server_addr_parse(), do_preresolve_host(), get_addr_generic(), init_route(), man_settings_init(), management_post_tunnel_open(), resolve_bind_local(), resolve_remote(), and socket_listen_accept().
int openvpn_inet_aton | ( | const char * | dotted_quad, |
struct in_addr * | addr | ||
) |
Definition at line 763 of file socket_util.c.
References CC_DIGIT, CC_DOT, CLEAR, OIA_ERROR, OIA_HOSTNAME, OIA_IP, and string_class().
Referenced by ip_addr_dotted_quad_safe().
const char * print_in6_addr | ( | struct in6_addr | a6, |
unsigned int | flags, | ||
struct gc_arena * | gc | ||
) |
Definition at line 216 of file socket_util.c.
References gc, gc_malloc(), and IA_EMPTY_IF_UNDEF.
Referenced by add_route_ipv6(), check_mapped_ipv4_address(), dco_win_add_iroute_ipv6(), dco_win_del_iroute_ipv6(), delete_route_ipv6(), do_address_service(), do_ifconfig_ipv6(), do_ifconfig_setenv(), get_default_gateway_ipv6(), helper_client_server(), ifconfig_pool_init(), ifconfig_pool_list(), init_route_ipv6_list(), log_entry_print(), mroute_addr_print_ex(), mroute_extract_addr_ip(), multi_add_iroutes(), multi_client_connect_late_setup(), multi_print_status(), multi_select_virtual_addr(), netsh_delete_address_dns(), netsh_set_dns6_servers(), prepare_push_reply(), print_default_gateway(), setenv_route_ipv6(), show_dns_options(), show_p2mp_parms(), test_add_in6_addr_tc(), and undo_ifconfig_ipv6().
const char * print_in_addr_t | ( | in_addr_t | addr, |
unsigned int | flags, | ||
struct gc_arena * | gc | ||
) |
Definition at line 196 of file socket_util.c.
References CLEAR, gc, gc_malloc(), IA_EMPTY_IF_UNDEF, and IA_NET_ORDER.
Referenced by adapter_index_of_ip(), add_route(), add_route_ipapi(), check_addr_clash(), dco_win_add_iroute_ipv4(), dco_win_del_iroute_ipv4(), delete_route(), dhcp_extract_router_msg(), dhcp_masq_addr(), do_address_service(), do_close_tun(), do_ifconfig_ipv4(), do_ifconfig_setenv(), do_open_tun(), format_route_entry(), get_default_gateway_row(), helper_add_route(), helper_client_server(), ifconfig_options_string(), ifconfig_pool_init(), ifconfig_pool_list(), ifconfig_pool_verify_range(), ifconfig_sanity_check(), ip_addr_string_to_array(), log_entry_print(), man_kill(), mroute_addr_print_ex(), multi_add_iroutes(), multi_client_connect_late_setup(), multi_print_status(), multi_select_virtual_addr(), netsh_delete_address_dns(), netsh_ifconfig(), netsh_ifconfig_options(), prepare_push_reply(), print_client_nat_list(), print_default_gateway(), print_netmask(), print_opt_route(), print_opt_route_gateway(), print_pkt(), route_string(), setenv_route_addr(), show_dhcp_option_addrs(), show_dns_options(), show_p2mp_parms(), tuntap_dhcp_mask(), tuntap_set_ip_addr(), tuntap_set_ptp(), undo_ifconfig_ipv4(), verify_255_255_255_252(), verify_common_subnet(), and windows_route_find_if_index().
const char * print_in_port_t | ( | in_port_t | port, |
struct gc_arena * | gc | ||
) |
Definition at line 231 of file socket_util.c.
References alloc_buf_gc(), BSTR, buf_printf(), and gc.
Referenced by show_dns_options().
const char * print_link_socket_actual | ( | const struct link_socket_actual * | act, |
struct gc_arena * | gc | ||
) |
Definition at line 117 of file socket_util.c.
References gc, print_link_socket_actual_ex(), PS_SHOW_PKTINFO, and PS_SHOW_PORT.
Referenced by do_pre_decrypt_check(), drop_if_recursive_routing(), handle_data_channel_packet(), link_socket_bad_incoming_addr(), link_socket_connection_initiated(), print_key_id_not_found_reason(), process_incoming_link_part1(), process_outgoing_link(), read_control_auth(), resolve_remote(), socket_listen_accept(), tcp_connection_established(), tls_multi_process(), tls_pre_decrypt(), tls_pre_decrypt_lite(), and tls_update_remote_addr().
const char * print_link_socket_actual_ex | ( | const struct link_socket_actual * | act, |
const char * | separator, | ||
const unsigned int | flags, | ||
struct gc_arena * | gc | ||
) |
Definition at line 127 of file socket_util.c.
References addr_defined_ipi(), alloc_buf_gc(), BSTR, buf_printf(), CLEAR, gc, IF_NAMESIZE, buffer::len, print_sockaddr_ex(), PS_SHOW_PKTINFO, and openvpn_sockaddr::sa.
Referenced by linksock_print_addr(), and print_link_socket_actual().
const char * print_sockaddr_ex | ( | const struct sockaddr * | sa, |
const char * | separator, | ||
const unsigned int | flags, | ||
struct gc_arena * | gc | ||
) |
Definition at line 38 of file socket_util.c.
References alloc_buf_gc(), ASSERT, BSTR, buf_printf(), buf_puts(), gc, buffer::len, PS_DONT_SHOW_ADDR, PS_DONT_SHOW_FAMILY, PS_SHOW_PORT, PS_SHOW_PORT_IF_DEFINED, and status.
Referenced by ipchange_fmt(), link_socket_bad_incoming_addr(), log_entry_print(), print_link_socket_actual_ex(), print_openvpn_sockaddr(), print_sockaddr(), and socket_bind().
const char * proto2ascii | ( | int | proto, |
sa_family_t | af, | ||
bool | display_form | ||
) |
Definition at line 409 of file socket_util.c.
References proto_names::display_form, i, proto_names::proto, proto_names::proto_af, proto_names::short_form, and SIZE.
Referenced by ce_management_query_remote(), linksock_print_addr(), man_kill(), management_callback_remote_entry_get(), mroute_addr_print_ex(), process_incoming_link_part1(), process_outgoing_link(), setenv_local_entry(), show_connection_entry(), and x_check_status().
const char * proto2ascii_all | ( | struct gc_arena * | gc | ) |
Definition at line 430 of file socket_util.c.
References alloc_buf_gc(), BSTR, buf_printf(), gc, i, and SIZE.
Referenced by add_option().
const char * proto_remote | ( | int | proto, |
bool | remote | ||
) |
Definition at line 472 of file socket_util.c.
References ASSERT, PROTO_N, PROTO_TCP_CLIENT, PROTO_TCP_SERVER, and PROTO_UDP.
Referenced by options_string().
void setenv_in6_addr | ( | struct env_set * | es, |
const char * | name_prefix, | ||
const struct in6_addr * | addr, | ||
const unsigned int | flags | ||
) |
Definition at line 330 of file socket_util.c.
References openvpn_sockaddr::addr, CLEAR, es, openvpn_sockaddr::in6, SA_SET_IF_NONZERO, and setenv_sockaddr().
Referenced by multi_set_virtual_addr_env().
void setenv_in_addr_t | ( | struct env_set * | es, |
const char * | name_prefix, | ||
in_addr_t | addr, | ||
const unsigned int | flags | ||
) |
Definition at line 316 of file socket_util.c.
References openvpn_sockaddr::addr, CLEAR, es, openvpn_sockaddr::in4, SA_SET_IF_NONZERO, and setenv_sockaddr().
Referenced by multi_set_virtual_addr_env().
void setenv_link_socket_actual | ( | struct env_set * | es, |
const char * | name_prefix, | ||
const struct link_socket_actual * | act, | ||
const unsigned int | flags | ||
) |
Definition at line 344 of file socket_util.c.
References link_socket_actual::dest, es, and setenv_sockaddr().
Referenced by setenv_trusted(), and setenv_untrusted().
void setenv_sockaddr | ( | struct env_set * | es, |
const char * | name_prefix, | ||
const struct openvpn_sockaddr * | addr, | ||
const unsigned int | flags | ||
) |
Definition at line 263 of file socket_util.c.
References openvpn_sockaddr::addr, es, openvpn_sockaddr::in4, openvpn_sockaddr::in6, openvpn_sockaddr::sa, SA_IP_PORT, setenv_int(), and setenv_str().
Referenced by setenv_in6_addr(), setenv_in_addr_t(), and setenv_link_socket_actual().
|
static |
Definition at line 363 of file socket_util.c.