Skip to content
Snippets Groups Projects
Commit f9658cd7 authored by Michael Davis's avatar Michael Davis
Browse files

[xrd_ssi] Removes test for zero-length metadata

Zero-length metadata now resolves to a valid metadata messages, with
RSP_SUCCESS and no text message.
parent 0fb1cc9e
No related branches found
No related tags found
No related merge requests found
......@@ -33,7 +33,7 @@ include_directories (${CMAKE_SOURCE_DIR}/tapeserver/)
#
# Get some extra debug messages on stdout
add_definitions(-DXRDSSI_DEBUG)
#add_definitions(-DXRDSSI_DEBUG)
find_package(xrootd REQUIRED)
find_package(Protobuf3 REQUIRED)
......
......@@ -37,7 +37,7 @@ set_target_properties(XrdCtaOfs PROPERTIES INSTALL_RPATH ${PROTOBUF3_RPATH})
add_subdirectory(messages)
add_definitions(-DXRDSSI_DEBUG)
#add_definitions(-DXRDSSI_DEBUG)
include_directories(../xroot_ssi_pb)
add_library(XrdSsiCta MODULE XrdSsiCtaServiceProvider.cpp XrdSsiCtaRequestProc.cpp XrdSsiCtaRequestMessage.cpp)
......
......@@ -21,6 +21,10 @@
#include <future>
#include <XrdSsi/XrdSsiRequest.hh>
#ifdef XRDSSI_DEBUG
#include <XrdSsiPbDebug.hpp>
#endif
namespace XrdSsiPb {
/*!
......@@ -226,21 +230,21 @@ void Request<RequestType, MetadataType, AlertType>::ProcessResponseMetadata()
{
int metadata_len;
const char *metadata_buffer = GetMetadata(metadata_len);
#ifdef XRDSSI_DEBUG
std::cout << "[DEBUG] ProcessResponseMetadata(): received " << metadata_len << " bytes of data" << std::endl;
#endif
if(metadata_len > 0)
{
// Deserialize the metadata
// Deserialize the metadata
MetadataType metadata;
MetadataType metadata;
if(metadata.ParseFromArray(metadata_buffer, metadata_len))
{
m_promise.set_value(metadata);
}
else
{
throw PbException("metadata.ParseFromArray() failed");
}
if(metadata.ParseFromArray(metadata_buffer, metadata_len))
{
m_promise.set_value(metadata);
}
else
{
throw PbException("metadata.ParseFromArray() failed");
}
}
......
......@@ -165,19 +165,13 @@ void RequestProc<RequestType, MetadataType, AlertType>::Execute()
ReleaseRequestBuffer();
// Serialize the Metadata
// Serialize and send the Metadata
if(!m_metadata.SerializeToString(&m_metadata_str))
{
throw PbException("m_metadata.SerializeToString() failed");
}
// Send the Metadata
if(m_metadata_str.size() > 0)
{
SetMetadata(m_metadata_str.c_str(), m_metadata_str.size());
}
SetMetadata(m_metadata_str.c_str(), m_metadata_str.size());
// Send the Response
......
......@@ -87,6 +87,9 @@ public:
<< (resource.rOpts & XrdSsiResource::Reusable ? "Resuable " : "")
<< (resource.rOpts & XrdSsiResource::Discard ? "Discard" : "")
<< std::endl;
// for debugging. delete me.
resource.client->name = "NO_KEYFILE";
#endif
if(resource.client == nullptr || resource.client->name == nullptr)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment