23 const char *target_addr = (
const char *) nc->
mgr->
user_data;
60 const char **err_msg) {
65 *err_msg =
"malloc failed";
69 *err_msg =
"ns_bind() failed: bad listening_port";
89 #ifndef SSL_WRAPPER_USE_AS_LIBRARY 98 fprintf(stderr,
"Usage: %s <listening_address> <target_address>\n", prog);
102 int main(
int argc,
char *argv[]) {
113 signal(SIGPIPE, SIG_IGN);
116 fprintf(stderr,
"Error: %s\n", err_msg);
123 #endif // SSL_WRAPPER_USE_AS_LIBRARY
static void ev_handler(struct ns_connection *nc, int ev, void *p)
void * ssl_wrapper_init(const char *local_addr, const char *target_addr, const char **err_msg)
void iobuf_remove(struct iobuf *, size_t data_size)
time_t ns_mgr_poll(struct ns_mgr *, int milli)
int ns_send(struct ns_connection *, const void *buf, int len)
void ssl_wrapper_serve(void *param, volatile int *quit)
struct ns_connection * ns_bind(struct ns_mgr *, const char *, ns_callback_t, void *)
int main(int argc, char *argv[])
void ns_mgr_free(struct ns_mgr *)
static void show_usage_and_exit(const char *prog)
void ns_mgr_init(struct ns_mgr *, void *user_data)
#define NSF_FINISHED_SENDING_DATA
static int s_received_signal
struct ns_connection * ns_connect(struct ns_mgr *, const char *, ns_callback_t, void *)
#define NSF_CLOSE_IMMEDIATELY
#define calloc(nbelem, size)
static void signal_handler(int sig_num)