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