OpenVPN
Macros | Functions
push.h File Reference
#include "forward.h"
Include dependency graph for push.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PUSH_MSG_ERROR   0
 
#define PUSH_MSG_REQUEST   1
 
#define PUSH_MSG_REPLY   2
 
#define PUSH_MSG_REQUEST_DEFERRED   3
 
#define PUSH_MSG_AUTH_FAILURE   4
 
#define PUSH_MSG_CONTINUATION   5
 
#define PUSH_MSG_ALREADY_REPLIED   6
 

Functions

int process_incoming_push_request (struct context *c)
 
int process_incoming_push_msg (struct context *c, const struct buffer *buffer, bool honor_received_options, unsigned int permission_mask, unsigned int *option_types_found)
 
bool send_push_request (struct context *c)
 
void receive_auth_failed (struct context *c, const struct buffer *buffer)
 
void server_pushed_signal (struct context *c, const struct buffer *buffer, const bool restart, const int adv)
 
void receive_exit_message (struct context *c)
 
void server_pushed_info (struct context *c, const struct buffer *buffer, const int adv)
 
void receive_cr_response (struct context *c, const struct buffer *buffer)
 
void incoming_push_message (struct context *c, const struct buffer *buffer)
 
void clone_push_list (struct options *o)
 
void push_option (struct options *o, const char *opt, int msglevel)
 
void push_options (struct options *o, char **p, int msglevel, struct gc_arena *gc)
 
void push_reset (struct options *o)
 
void push_remove_option (struct options *o, const char *p)
 
void remove_iroutes_from_push_route_list (struct options *o)
 
void send_auth_failed (struct context *c, const char *client_reason)
 
bool send_auth_pending_messages (struct tls_multi *tls_multi, struct tls_session *session, const char *extra, unsigned int timeout)
 Sends the auth pending control messages to a client. More...
 
void send_restart (struct context *c, const char *kill_msg)
 
void send_push_reply_auth_token (struct tls_multi *multi)
 Sends a push reply message only containin the auth-token to update the auth-token on the client. More...
 
void receive_auth_pending (struct context *c, const struct buffer *buffer)
 Parses an AUTH_PENDING message and if in pull mode extends the timeout. More...
 

Macro Definition Documentation

◆ PUSH_MSG_ALREADY_REPLIED

#define PUSH_MSG_ALREADY_REPLIED   6

Definition at line 35 of file push.h.

◆ PUSH_MSG_AUTH_FAILURE

#define PUSH_MSG_AUTH_FAILURE   4

Definition at line 33 of file push.h.

◆ PUSH_MSG_CONTINUATION

#define PUSH_MSG_CONTINUATION   5

Definition at line 34 of file push.h.

◆ PUSH_MSG_ERROR

#define PUSH_MSG_ERROR   0

Definition at line 29 of file push.h.

◆ PUSH_MSG_REPLY

#define PUSH_MSG_REPLY   2

Definition at line 31 of file push.h.

◆ PUSH_MSG_REQUEST

#define PUSH_MSG_REQUEST   1

Definition at line 30 of file push.h.

◆ PUSH_MSG_REQUEST_DEFERRED

#define PUSH_MSG_REQUEST_DEFERRED   3

Definition at line 32 of file push.h.

Function Documentation

◆ clone_push_list()

void clone_push_list ( struct options o)

◆ incoming_push_message()

void incoming_push_message ( struct context c,
const struct buffer buffer 
)

◆ process_incoming_push_msg()

int process_incoming_push_msg ( struct context c,
const struct buffer buffer,
bool  honor_received_options,
unsigned int  permission_mask,
unsigned int *  option_types_found 
)

◆ process_incoming_push_request()

int process_incoming_push_request ( struct context c)

◆ push_option()

void push_option ( struct options o,
const char *  opt,
int  msglevel 
)

◆ push_options()

void push_options ( struct options o,
char **  p,
int  msglevel,
struct gc_arena gc 
)

Definition at line 891 of file push.c.

References make_extended_arg_array(), print_argv(), and push_option().

Referenced by add_option().

◆ push_remove_option()

void push_remove_option ( struct options o,
const char *  p 
)

◆ push_reset()

void push_reset ( struct options o)

Definition at line 917 of file push.c.

References CLEAR, and options::push_list.

Referenced by add_option(), and clone_push_list().

◆ receive_auth_failed()

void receive_auth_failed ( struct context c,
const struct buffer buffer 
)

◆ receive_auth_pending()

void receive_auth_pending ( struct context c,
const struct buffer buffer 
)

Parses an AUTH_PENDING message and if in pull mode extends the timeout.

Parameters
cThe context struct
bufferBuffer containing the control message with AUTH_PENDING

Definition at line 340 of file push.c.

References context::c2, D_PUSH, key_state::established, get_primary_key(), options::handshake_window, max_uint(), min_uint(), msg, context::options, parse_auth_pending_keywords(), options::pull, context_2::push_request_timeout, options::renegotiate_seconds, and context_2::tls_multi.

Referenced by parse_incoming_control_channel_command().

◆ receive_cr_response()

void receive_cr_response ( struct context c,
const struct buffer buffer 
)

◆ receive_exit_message()

void receive_exit_message ( struct context c)

◆ remove_iroutes_from_push_route_list()

void remove_iroutes_from_push_route_list ( struct options o)

◆ send_auth_failed()

void send_auth_failed ( struct context c,
const char *  client_reason 
)

◆ send_auth_pending_messages()

bool send_auth_pending_messages ( struct tls_multi tls_multi,
struct tls_session session,
const char *  extra,
unsigned int  timeout 
)

◆ send_push_reply_auth_token()

void send_push_reply_auth_token ( struct tls_multi multi)

Sends a push reply message only containin the auth-token to update the auth-token on the client.

Always pushes to the active session

Parameters
multi- The tls_multi structure belonging to the instance to push to

Definition at line 755 of file push.c.

References alloc_buf_gc(), ASSERT, BSTR, buf_printf(), D_PUSH, push_entry::enable, gc_free(), gc_new(), push_list::head, push_entry::option, prepare_auth_token_push_reply(), PUSH_BUNDLE_SIZE, push_reply_cmd, send_control_channel_string_dowork(), tls_multi::session, and TM_ACTIVE.

Referenced by resend_auth_token_renegotiation().

◆ send_push_request()

bool send_push_request ( struct context c)

◆ send_restart()

void send_restart ( struct context c,
const char *  kill_msg 
)

Definition at line 495 of file push.c.

References D_PUSH, schedule_exit(), and send_control_channel_string().

Referenced by management_kill_by_cid().

◆ server_pushed_info()

void server_pushed_info ( struct context c,
const struct buffer buffer,
const int  adv 
)

◆ server_pushed_signal()

void server_pushed_signal ( struct context c,
const struct buffer buffer,
const bool  restart,
const int  adv 
)