From d2e4de87d5a326b019399d3e7c744bd3eb6374cd Mon Sep 17 00:00:00 2001 From: erititan <elemer.lelik@ericsson.com> Date: Wed, 13 Jan 2016 16:31:22 +0100 Subject: [PATCH] Update to R8F --- HTTPmsg_CNL113312.tpd | 6 ++--- demo/lssl_script | 0 ...FV1R2.pdf => FS_15517_CNL113_312_RevE.pdf} | Bin 65542 -> 65543 bytes doc/HTTPmsg_CNL113312_PRI.doc | Bin 0 -> 82432 bytes ...FV1R2.pdf => UG_19817_CNL113_312_RevG.pdf} | Bin 156835 -> 156836 bytes src/HTTPmsg_MessageLen.ttcn | 2 +- src/HTTPmsg_MessageLen_Function.cc | 2 +- src/HTTPmsg_PT.cc | 22 +++++++++++++++--- src/HTTPmsg_PT.hh | 3 ++- src/HTTPmsg_PortType.ttcn | 2 +- src/HTTPmsg_Types.ttcn | 2 +- 11 files changed, 27 insertions(+), 12 deletions(-) mode change 100644 => 100755 demo/lssl_script rename doc/{15517-CNL113312_EN_E_PDFV1R2.pdf => FS_15517_CNL113_312_RevE.pdf} (99%) create mode 100644 doc/HTTPmsg_CNL113312_PRI.doc rename doc/{19817-CNL113312_EN_G_PDFV1R2.pdf => UG_19817_CNL113_312_RevG.pdf} (99%) diff --git a/HTTPmsg_CNL113312.tpd b/HTTPmsg_CNL113312.tpd index b8043a7..79575ba 100644 --- a/HTTPmsg_CNL113312.tpd +++ b/HTTPmsg_CNL113312.tpd @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (c) 2014 Ericsson + Copyright (c) 2015 Ericsson All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 @@ -10,10 +10,8 @@ File: HTTPmsg_CNL113312.tpd Description: tpd project file - Rev: R8D + Rev: R8F Prodnr: CNL 113 312 - Updated: 2014-09-03 - Contact: http://ttcn.ericsson.se --> <TITAN_Project_File_Information version="1.0"> diff --git a/demo/lssl_script b/demo/lssl_script old mode 100644 new mode 100755 diff --git a/doc/15517-CNL113312_EN_E_PDFV1R2.pdf b/doc/FS_15517_CNL113_312_RevE.pdf similarity index 99% rename from doc/15517-CNL113312_EN_E_PDFV1R2.pdf rename to doc/FS_15517_CNL113_312_RevE.pdf index dcc542c739156b7d93b9298648e08e4fcce2e308..50c898ceed16d956e950fe65a6f3a866b832035c 100644 GIT binary patch delta 12 TcmZo`U}<k)X_&&u#;5=Q8uJ5E delta 10 RcmZo~U}<Y$X_&&u1^^Ut12F&q diff --git a/doc/HTTPmsg_CNL113312_PRI.doc b/doc/HTTPmsg_CNL113312_PRI.doc new file mode 100644 index 0000000000000000000000000000000000000000..16481237d78e4d93c181db8e03e425a9ebb060a3 GIT binary patch literal 82432 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 literal 0 HcmV?d00001 diff --git a/doc/19817-CNL113312_EN_G_PDFV1R2.pdf b/doc/UG_19817_CNL113_312_RevG.pdf similarity index 99% rename from doc/19817-CNL113312_EN_G_PDFV1R2.pdf rename to doc/UG_19817_CNL113_312_RevG.pdf index b82b0e7696caed67114adbeb7373a7446fa081cc..546a7e8cc439a5e58271f51895d06dd4235429e5 100644 GIT binary patch delta 15 WcmZ2{l5@#P&W0AoEli737!?3Ee+AC~ delta 13 UcmZ2-l5_D%&W0AoEli7304oFqt^fc4 diff --git a/src/HTTPmsg_MessageLen.ttcn b/src/HTTPmsg_MessageLen.ttcn index 99453a8..845ea22 100644 --- a/src/HTTPmsg_MessageLen.ttcn +++ b/src/HTTPmsg_MessageLen.ttcn @@ -16,7 +16,7 @@ // // File: HTTPmsg_MessageLen.ttcn // Description: HTTP Message length calculator -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 module HTTPmsg_MessageLen{ diff --git a/src/HTTPmsg_MessageLen_Function.cc b/src/HTTPmsg_MessageLen_Function.cc index fd6c7fd..07d1c54 100644 --- a/src/HTTPmsg_MessageLen_Function.cc +++ b/src/HTTPmsg_MessageLen_Function.cc @@ -15,7 +15,7 @@ // // File: HTTPmsg_MessageLen_Function.cc // Description: HTTP Message length calculator -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 #include "HTTPmsg_PT.hh" diff --git a/src/HTTPmsg_PT.cc b/src/HTTPmsg_PT.cc index 71de291..411ade4 100644 --- a/src/HTTPmsg_PT.cc +++ b/src/HTTPmsg_PT.cc @@ -15,7 +15,7 @@ // // File: HTTPmsg_PT.cc // Description: HTTP test port implementation -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 @@ -459,6 +459,22 @@ int HTTPmsg__PT::send_message_on_fd(int client_id, const unsigned char * message return Abstract_Socket::send_message_on_fd(client_id, message_buffer, length_of_message); } +int HTTPmsg__PT::send_message_on_nonblocking_fd(int client_id, const unsigned char * message_buffer, int length_of_message) +{ + log_debug("entering HTTPmsg__PT::(client_id: %d)", client_id); + +#ifdef AS_USE_SSL + if(get_user_data(client_id)) + { + // INFO: it is assumed that only SSL_Socket assigns user data to each peer + log_debug("leaving HTTPmsg__PT::send_message_on_nonblocking_fd() with returning SSL_Socket::send_message_on_nonblocking_fd()"); + return SSL_Socket::send_message_on_nonblocking_fd(client_id, message_buffer, length_of_message); + } +#endif + + log_debug("leaving HTTPmsg__PT::send_message_on_nonblocking_fd() with returning Abstract_Socket::send_message_on_nonblocking_fd()"); + return Abstract_Socket::send_message_on_nonblocking_fd(client_id, message_buffer, length_of_message); +} // HTTP specific functions @@ -1007,9 +1023,9 @@ void HTTP_decode_chunked_body(TTCN_Buffer* buffer, OCTETSTRING& body, Decoding_P HTTPmsg__Types::log_debug(socket_debugging, test_port_type, test_port_name, "pull %d bytes from %d", chunk_size, buffer->get_read_len()); buffer->set_pos(buffer->get_pos() + chunk_size); // hack - if(buffer->get_read_data()[0] == '\n') + if(buffer->get_read_len() && buffer->get_read_data()[0] == '\n') // don't read from the buffer if there is nothing in it. { - TTCN_Logger::log(TTCN_WARNING, "hack: adjusted buffer position after the '\\n'"); + HTTPmsg__Types::log_debug(socket_debugging, test_port_type, test_port_name,"hack: adjusted buffer position after the '\\n'"); buffer->set_pos(buffer->get_pos() + 1); } HTTPmsg__Types::log_debug(socket_debugging, test_port_type, test_port_name, "remaining data: <%s>, len: %d", (const char *)CHARSTRING(buffer->get_read_len(), (const char*)buffer->get_read_data()), buffer->get_read_len()); diff --git a/src/HTTPmsg_PT.hh b/src/HTTPmsg_PT.hh index 3d3f6eb..46b2edd 100644 --- a/src/HTTPmsg_PT.hh +++ b/src/HTTPmsg_PT.hh @@ -15,7 +15,7 @@ // // File: HTTPmsg_PT.hh // Description: HTTP test port header file -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 @@ -99,6 +99,7 @@ protected: virtual bool add_user_data(int client_id); virtual bool remove_user_data(int client_id); virtual int send_message_on_fd(int client_id, const unsigned char * message_buffer, int length_of_message); + virtual int send_message_on_nonblocking_fd(int client_id, const unsigned char * message_buffer, int length_of_message); virtual int receive_message_on_fd(int client_id); virtual void client_connection_opened(int client_id); virtual void listen_port_opened(int port_number); diff --git a/src/HTTPmsg_PortType.ttcn b/src/HTTPmsg_PortType.ttcn index f56fdde..d2745e4 100644 --- a/src/HTTPmsg_PortType.ttcn +++ b/src/HTTPmsg_PortType.ttcn @@ -15,7 +15,7 @@ // // File: HTTPmsg_Types.ttcn // Description: HTTP port type definition -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 diff --git a/src/HTTPmsg_Types.ttcn b/src/HTTPmsg_Types.ttcn index c7ef281..102fee4 100644 --- a/src/HTTPmsg_Types.ttcn +++ b/src/HTTPmsg_Types.ttcn @@ -15,7 +15,7 @@ // // File: HTTPmsg_Types.ttcn // Description: HTTP Message and TCP connection handling ASP types -// Rev: R8D +// Rev: R8F // Prodnr: CNL 113 469 -- GitLab