Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
NAT: Buufer overflow for memcpy()
[vpp.git]
/
src
/
uri
/
uri_tcp_test.c
diff --git
a/src/uri/uri_tcp_test.c
b/src/uri/uri_tcp_test.c
index
f5fbbd2
..
d3c4a75
100755
(executable)
--- a/
src/uri/uri_tcp_test.c
+++ b/
src/uri/uri_tcp_test.c
@@
-190,7
+190,7
@@
application_send_attach (uri_tcp_test_main_t * utm)
bmp->client_index = utm->my_client_index;
bmp->context = ntohl (0xfeedface);
bmp->options[APP_OPTIONS_FLAGS] =
bmp->client_index = utm->my_client_index;
bmp->context = ntohl (0xfeedface);
bmp->options[APP_OPTIONS_FLAGS] =
- APP_OPTIONS_FLAGS_
USE_FIFO
| APP_OPTIONS_FLAGS_ADD_SEGMENT;
+ APP_OPTIONS_FLAGS_
ACCEPT_REDIRECT
| APP_OPTIONS_FLAGS_ADD_SEGMENT;
bmp->options[APP_OPTIONS_PREALLOC_FIFO_PAIRS] = 16;
bmp->options[SESSION_OPTIONS_RX_FIFO_SIZE] = fifo_size;
bmp->options[SESSION_OPTIONS_TX_FIFO_SIZE] = fifo_size;
bmp->options[APP_OPTIONS_PREALLOC_FIFO_PAIRS] = 16;
bmp->options[SESSION_OPTIONS_RX_FIFO_SIZE] = fifo_size;
bmp->options[SESSION_OPTIONS_TX_FIFO_SIZE] = fifo_size;
@@
-327,6
+327,7
@@
vl_api_map_another_segment_t_handler (vl_api_map_another_segment_t * mp)
svm_fifo_segment_create_args_t _a, *a = &_a;
int rv;
svm_fifo_segment_create_args_t _a, *a = &_a;
int rv;
+ memset (a, 0, sizeof (*a));
a->segment_name = (char *) mp->segment_name;
a->segment_size = mp->segment_size;
/* Attach to the segment vpp created */
a->segment_name = (char *) mp->segment_name;
a->segment_size = mp->segment_size;
/* Attach to the segment vpp created */
@@
-526,7
+527,7
@@
client_rx_thread_fn (void *arg)
static void
static void
-vl_api_connect_
uri_reply_t_handler (vl_api_connect_uri
_reply_t * mp)
+vl_api_connect_
session_reply_t_handler (vl_api_connect_session
_reply_t * mp)
{
uri_tcp_test_main_t *utm = &uri_tcp_test_main;
session_t *session;
{
uri_tcp_test_main_t *utm = &uri_tcp_test_main;
session_t *session;
@@
-541,6
+542,12
@@
vl_api_connect_uri_reply_t_handler (vl_api_connect_uri_reply_t * mp)
utm->state = STATE_FAILED;
return;
}
utm->state = STATE_FAILED;
return;
}
+ else
+ {
+ clib_warning ("connected with local ip %U port %d", format_ip46_address,
+ mp->lcl_ip, mp->is_ip4,
+ clib_net_to_host_u16 (mp->lcl_port));
+ }
utm->vpp_event_queue =
uword_to_pointer (mp->vpp_event_queue_address,
utm->vpp_event_queue =
uword_to_pointer (mp->vpp_event_queue_address,
@@
-590,7
+597,6
@@
send_test_chunk (uri_tcp_test_main_t * utm, svm_fifo_t * tx_fifo, int mypid,
u32 bytes_to_snd;
u32 queue_max_chunk = 128 << 10, actual_write;
session_fifo_event_t evt;
u32 bytes_to_snd;
u32 queue_max_chunk = 128 << 10, actual_write;
session_fifo_event_t evt;
- static int serial_number = 0;
int rv;
bytes_to_snd = (bytes == 0) ? vec_len (test_data) : bytes;
int rv;
bytes_to_snd = (bytes == 0) ? vec_len (test_data) : bytes;
@@
-615,7
+621,6
@@
send_test_chunk (uri_tcp_test_main_t * utm, svm_fifo_t * tx_fifo, int mypid,
/* Fabricate TX event, send to vpp */
evt.fifo = tx_fifo;
evt.event_type = FIFO_EVENT_APP_TX;
/* Fabricate TX event, send to vpp */
evt.fifo = tx_fifo;
evt.event_type = FIFO_EVENT_APP_TX;
- evt.event_id = serial_number++;
unix_shared_memory_queue_add (utm->vpp_event_queue,
(u8 *) & evt,
unix_shared_memory_queue_add (utm->vpp_event_queue,
(u8 *) & evt,
@@
-918,6
+923,7
@@
vl_api_accept_session_t_handler (vl_api_accept_session_t * mp)
memset (rmp, 0, sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_ACCEPT_SESSION_REPLY);
rmp->handle = mp->handle;
memset (rmp, 0, sizeof (*rmp));
rmp->_vl_msg_id = ntohs (VL_API_ACCEPT_SESSION_REPLY);
rmp->handle = mp->handle;
+ rmp->context = mp->context;
vl_msg_api_send_shmem (utm->vl_input_queue, (u8 *) & rmp);
session->bytes_received = 0;
vl_msg_api_send_shmem (utm->vl_input_queue, (u8 *) & rmp);
session->bytes_received = 0;
@@
-983,7
+989,6
@@
server_handle_fifo_event_rx (uri_tcp_test_main_t * utm,
/* Fabricate TX event, send to vpp */
evt.fifo = tx_fifo;
evt.event_type = FIFO_EVENT_APP_TX;
/* Fabricate TX event, send to vpp */
evt.fifo = tx_fifo;
evt.event_type = FIFO_EVENT_APP_TX;
- evt.event_id = e->event_id;
q = utm->vpp_event_queue;
unix_shared_memory_queue_add (q, (u8 *) & evt,
q = utm->vpp_event_queue;
unix_shared_memory_queue_add (q, (u8 *) & evt,
@@
-997,7
+1002,7
@@
server_handle_fifo_event_rx (uri_tcp_test_main_t * utm,
void
server_handle_event_queue (uri_tcp_test_main_t * utm)
{
void
server_handle_event_queue (uri_tcp_test_main_t * utm)
{
- session_fifo_event_t _e, *e = &_e;
;
+ session_fifo_event_t _e, *e = &_e;
while (1)
{
while (1)
{
@@
-1122,7
+1127,7
@@
vl_api_disconnect_session_reply_t_handler (vl_api_disconnect_session_reply_t *
_(BIND_URI_REPLY, bind_uri_reply) \
_(UNBIND_URI_REPLY, unbind_uri_reply) \
_(ACCEPT_SESSION, accept_session) \
_(BIND_URI_REPLY, bind_uri_reply) \
_(UNBIND_URI_REPLY, unbind_uri_reply) \
_(ACCEPT_SESSION, accept_session) \
-_(CONNECT_
URI_REPLY, connect_uri_reply)
\
+_(CONNECT_
SESSION_REPLY, connect_session_reply)
\
_(DISCONNECT_SESSION, disconnect_session) \
_(DISCONNECT_SESSION_REPLY, disconnect_session_reply) \
_(RESET_SESSION, reset_session) \
_(DISCONNECT_SESSION, disconnect_session) \
_(DISCONNECT_SESSION_REPLY, disconnect_session_reply) \
_(RESET_SESSION, reset_session) \