From c4f63b8437684186072279f3cc1ad40dfea6e108 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Thu, 13 Jun 2002 02:23:39 +0000
Subject: [PATCH] Fixed code to check version numbers on messages.

---
 src/api/config_info.c            | 5 +++--
 src/api/job_info.c               | 2 ++
 src/api/node_info.c              | 2 ++
 src/api/partition_info.c         | 2 ++
 src/common/slurm_protocol_pack.c | 2 +-
 src/common/slurm_protocol_util.c | 2 +-
 6 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/api/config_info.c b/src/api/config_info.c
index 03558ba3712..f3801fedfa6 100644
--- a/src/api/config_info.c
+++ b/src/api/config_info.c
@@ -60,14 +60,15 @@ slurm_load_build (time_t update_time, struct build_table **build_table_ptr )
 	if ( ( rc = slurm_send_controller_msg ( sockfd , & request_msg ) ) == SLURM_SOCKET_ERROR )
 		return SLURM_SOCKET_ERROR ;	
 	
-
 	/* receive message */
 	if ( ( msg_size = slurm_receive_msg ( sockfd , & response_msg ) ) == SLURM_SOCKET_ERROR )
 		return SLURM_SOCKET_ERROR ;	
 	/* shutdown message connection */
 	if ( ( rc = slurm_shutdown_msg_conn ( sockfd ) ) == SLURM_SOCKET_ERROR )
 		return SLURM_SOCKET_ERROR ;	
-	
+	if ( msg_size )
+		return msg_size;
+
 	switch ( response_msg . msg_type )
         {
                 case RESPONSE_BUILD_INFO:
diff --git a/src/api/job_info.c b/src/api/job_info.c
index d2fc94db63c..d58ae7eef84 100644
--- a/src/api/job_info.c
+++ b/src/api/job_info.c
@@ -123,6 +123,8 @@ slurm_load_jobs (time_t update_time, job_info_msg_t **job_info_msg_pptr)
         /* shutdown message connection */
         if ( ( rc = slurm_shutdown_msg_conn ( sockfd ) ) == SLURM_SOCKET_ERROR )
                 return SLURM_SOCKET_ERROR ;
+	if ( msg_size )
+		return msg_size;
 
 	switch ( response_msg . msg_type )
 	{
diff --git a/src/api/node_info.c b/src/api/node_info.c
index 0e5c769e8a9..2a03d1ee99d 100644
--- a/src/api/node_info.c
+++ b/src/api/node_info.c
@@ -106,6 +106,8 @@ slurm_load_node (time_t update_time, node_info_msg_t **node_info_msg_pptr)
         /* shutdown message connection */
         if ( ( rc = slurm_shutdown_msg_conn ( sockfd ) ) == SLURM_SOCKET_ERROR )
                 return SLURM_SOCKET_ERROR ;
+	if ( msg_size )
+		return msg_size;
 
 	switch ( response_msg . msg_type )
 	{
diff --git a/src/api/partition_info.c b/src/api/partition_info.c
index 37998dc0040..c7db112aab9 100644
--- a/src/api/partition_info.c
+++ b/src/api/partition_info.c
@@ -100,6 +100,8 @@ slurm_load_partitions (time_t update_time, partition_info_msg_t **partition_info
         /* shutdown message connection */
         if ( ( rc = slurm_shutdown_msg_conn ( sockfd ) ) == SLURM_SOCKET_ERROR )
                 return SLURM_SOCKET_ERROR ;
+	if ( msg_size )
+		return msg_size;
 
 	switch ( response_msg . msg_type )
 	{
diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c
index d7c67b59323..fe8baa899b8 100644
--- a/src/common/slurm_protocol_pack.c
+++ b/src/common/slurm_protocol_pack.c
@@ -598,7 +598,7 @@ void pack_job_desc ( job_desc_msg_t * job_desc_ptr, void ** buf_ptr , int * buff
 
 }
 
-/* unpack_msg
+/* unpack_job_desc
  * unpacks a job_desc struct
  * header 	- the body structure to unpack
  * buf_ptr	- destination of the pack, note buffer will be incremented by underlying unpack routines
diff --git a/src/common/slurm_protocol_util.c b/src/common/slurm_protocol_util.c
index 96f0de79f49..c2b27ff3d02 100644
--- a/src/common/slurm_protocol_util.c
+++ b/src/common/slurm_protocol_util.c
@@ -8,7 +8,7 @@ uint32_t check_header_version( header_t * header)
 {
 	if ( header -> version != SLURM_PROTOCOL_VERSION )
 	{
-		debug ( "Invalid Protocol Version from " ) ;
+		info ( "Invalid Protocol Version %d ", header -> version ) ;
 		return SLURM_PROTOCOL_VERSION_ERROR ;
 	}
 	return SLURM_PROTOCOL_SUCCESS ;
-- 
GitLab