Skip to content
Snippets Groups Projects
Commit 2064248d authored by tewk's avatar tewk
Browse files

Added revoke_credential_msg

parent 00b8633f
No related branches found
No related tags found
No related merge requests found
...@@ -40,6 +40,16 @@ ...@@ -40,6 +40,16 @@
# include <inttypes.h> # include <inttypes.h>
#endif /* HAVE_CONFIG_H */ #endif /* HAVE_CONFIG_H */
/* used to define the size of the credential.signature size
* used to define the key size of the io_stream_header_t
*/
#define SLURM_SSL_SIGNATURE_LENGTH 16
/* used to define the type of the io_stream_header_t.type
*/
#define SLURM_IO_STREAM_INOUT 0
#define SLURM_IO_STREAM_SIGERR 1
/* INFINITE is used to identify unlimited configurations, */ /* INFINITE is used to identify unlimited configurations, */
/* eg. the maximum count of nodes any job may use in some partition */ /* eg. the maximum count of nodes any job may use in some partition */
...@@ -124,7 +134,8 @@ typedef enum { ...@@ -124,7 +134,8 @@ typedef enum {
RESPONSE_IMMEDIATE_RESOURCE_ALLOCATION, RESPONSE_IMMEDIATE_RESOURCE_ALLOCATION,
REQUEST_JOB_WILL_RUN, REQUEST_JOB_WILL_RUN,
RESPONSE_JOB_WILL_RUN, RESPONSE_JOB_WILL_RUN,
MESSAGE_REVOKE_JOB_CREDENTIAL, // MESSAGE_REVOKE_JOB_CREDENTIAL,
REQUEST_REVOKE_JOB_CREDENTIAL,
REQUEST_JOB_STEP_CREATE = 5001, REQUEST_JOB_STEP_CREATE = 5001,
RESPONSE_JOB_STEP_CREATE, RESPONSE_JOB_STEP_CREATE,
...@@ -171,11 +182,17 @@ typedef struct slurm_protocol_header ...@@ -171,11 +182,17 @@ typedef struct slurm_protocol_header
typedef struct slurm_io_stream_header typedef struct slurm_io_stream_header
{ {
uint16_t version ; /*version/magic number*/ uint16_t version ; /*version/magic number*/
char key[16] ; char key[SLURM_SSL_SIGNATURE_LENGTH] ;
uint32_t task_id ; uint32_t task_id ;
uint16_t type ; uint16_t type ;
} slurm_io_stream_header_t ; } slurm_io_stream_header_t ;
typedef struct revoke_credential_msg
{
uint32_t job_id ;
char signature[SLURM_SSL_SIGNATURE_LENGTH] ;
} revoke_credential_msg_t ;
/* Job credential */ /* Job credential */
typedef struct slurm_job_credential typedef struct slurm_job_credential
{ {
...@@ -183,7 +200,7 @@ typedef struct slurm_job_credential ...@@ -183,7 +200,7 @@ typedef struct slurm_job_credential
uid_t user_id; uid_t user_id;
char* node_list; char* node_list;
time_t experation_time; time_t experation_time;
char signature[16]; /* What are we going to do here? */ char signature[SLURM_SSL_SIGNATURE_LENGTH]; /* What are we going to do here? */
} slurm_job_credential_t; } slurm_job_credential_t;
typedef struct slurm_msg typedef struct slurm_msg
......
...@@ -163,12 +163,14 @@ int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len ) ...@@ -163,12 +163,14 @@ int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len )
case REQUEST_KILL_TASKS : case REQUEST_KILL_TASKS :
pack_cancel_tasks_msg ( ( kill_tasks_msg_t * ) msg->data , ( void ** ) buffer , buf_len ) ; pack_cancel_tasks_msg ( ( kill_tasks_msg_t * ) msg->data , ( void ** ) buffer , buf_len ) ;
break ; break ;
case REQUEST_CANCEL_JOB_STEP : case REQUEST_CANCEL_JOB_STEP :
case REQUEST_COMPLETE_JOB_STEP : case REQUEST_COMPLETE_JOB_STEP :
pack_cancel_job_step_msg ( ( job_step_id_msg_t * ) msg->data , pack_cancel_job_step_msg ( ( job_step_id_msg_t * ) msg->data ,
( void ** ) buffer , buf_len ) ; ( void ** ) buffer , buf_len ) ;
break ; break ;
case REQUEST_REVOKE_JOB_CREDENTIAL :
pack_revoke_credential_msg ( ( revoke_credential_msg_t * ) msg->data , ( void ** ) buffer , buf_len ) ;
break ;
case REQUEST_SIGNAL_JOB : case REQUEST_SIGNAL_JOB :
break ; break ;
case REQUEST_SIGNAL_JOB_STEP : case REQUEST_SIGNAL_JOB_STEP :
...@@ -208,13 +210,11 @@ int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len ) ...@@ -208,13 +210,11 @@ int pack_msg ( slurm_msg_t const * msg , char ** buffer , uint32_t * buf_len )
case RESPONSE_SLURM_RC: case RESPONSE_SLURM_RC:
pack_return_code ( ( return_code_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ; pack_return_code ( ( return_code_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ;
break; break;
case RESPONSE_JOB_STEP_CREATE: case RESPONSE_JOB_STEP_CREATE:
pack_job_step_create_response_msg(( job_step_create_response_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ; pack_job_step_create_response_msg(( job_step_create_response_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ;
break; break;
case REQUEST_JOB_STEP_CREATE: case REQUEST_JOB_STEP_CREATE:
pack_job_step_create_request_msg(( job_step_create_request_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ; pack_job_step_create_request_msg(( job_step_create_request_msg_t * ) msg -> data , ( void ** ) buffer , buf_len ) ;
break; break;
default : default :
error ( "No pack method for msg type %i", msg -> msg_type ) ; error ( "No pack method for msg type %i", msg -> msg_type ) ;
...@@ -308,6 +308,9 @@ int unpack_msg ( slurm_msg_t * msg , char ** buffer , uint32_t * buf_len ) ...@@ -308,6 +308,9 @@ int unpack_msg ( slurm_msg_t * msg , char ** buffer , uint32_t * buf_len )
unpack_cancel_job_step_msg ( ( job_step_id_msg_t ** ) & ( msg->data ) , unpack_cancel_job_step_msg ( ( job_step_id_msg_t ** ) & ( msg->data ) ,
( void ** ) buffer , buf_len ) ; ( void ** ) buffer , buf_len ) ;
break ; break ;
case REQUEST_REVOKE_JOB_CREDENTIAL :
unpack_revoke_credential_msg ( ( revoke_credential_msg_t ** ) & ( msg->data ) , ( void ** ) buffer , buf_len ) ;
break ;
case REQUEST_SIGNAL_JOB : case REQUEST_SIGNAL_JOB :
break ; break ;
case REQUEST_SIGNAL_JOB_STEP : case REQUEST_SIGNAL_JOB_STEP :
...@@ -352,12 +355,11 @@ int unpack_msg ( slurm_msg_t * msg , char ** buffer , uint32_t * buf_len ) ...@@ -352,12 +355,11 @@ int unpack_msg ( slurm_msg_t * msg , char ** buffer , uint32_t * buf_len )
break; break;
case REQUEST_JOB_STEP_CREATE: case REQUEST_JOB_STEP_CREATE:
unpack_job_step_create_request_msg(( job_step_create_request_msg_t ** ) &msg -> data , ( void ** ) buffer , buf_len ) ; unpack_job_step_create_request_msg(( job_step_create_request_msg_t ** ) &msg -> data , ( void ** ) buffer , buf_len ) ;
break; break;
default : default :
debug ( "No pack method for msg type %i", msg -> msg_type ) ; debug ( "No pack method for msg type %i", msg -> msg_type ) ;
return EINVAL ; return EINVAL ;
break; break;
} }
return 0 ; return 0 ;
...@@ -629,6 +631,30 @@ int unpack_job_step_create_request_msg ( job_step_create_request_msg_t** msg , v ...@@ -629,6 +631,30 @@ int unpack_job_step_create_request_msg ( job_step_create_request_msg_t** msg , v
return 0; return 0;
} }
void pack_revoke_credential_msg ( revoke_credential_msg_t* msg , void ** buffer , uint32_t * length )
{
assert ( msg != NULL );
pack32( msg->job_id, buffer, length ) ;
packmem( msg->signature, SLURM_SSL_SIGNATURE_LENGTH , buffer, length ) ;
}
int unpack_revoke_credential_msg ( revoke_credential_msg_t** msg , void ** buffer , uint32_t * length )
{
uint16_t uint16_tmp;
revoke_credential_msg_t* tmp_ptr ;
/* alloc memory for structure */
tmp_ptr = xmalloc ( sizeof ( slurm_job_credential_t ) ) ;
if (tmp_ptr == NULL)
return ENOMEM;
unpack32( &(tmp_ptr->job_id), buffer, length ) ;
unpackmem( tmp_ptr->signature, & uint16_tmp , buffer, length ) ;
*msg = tmp_ptr;
return 0;
}
void pack_job_credential ( slurm_job_credential_t* msg , void ** buffer , uint32_t * length ) void pack_job_credential ( slurm_job_credential_t* msg , void ** buffer , uint32_t * length )
{ {
assert ( msg != NULL ); assert ( msg != NULL );
...@@ -1239,6 +1265,8 @@ int unpack_cancel_job_step_msg ( job_step_id_msg_t ** msg_ptr , void ** buffer , ...@@ -1239,6 +1265,8 @@ int unpack_cancel_job_step_msg ( job_step_id_msg_t ** msg_ptr , void ** buffer ,
return 0 ; return 0 ;
} }
/* template /* template
void pack_ ( * msg , void ** buffer , uint32_t * length ) void pack_ ( * msg , void ** buffer , uint32_t * length )
{ {
......
...@@ -104,4 +104,7 @@ void unpack_slurm_addr_array ( slurm_addr ** slurm_address , uint16_t * size_val ...@@ -104,4 +104,7 @@ void unpack_slurm_addr_array ( slurm_addr ** slurm_address , uint16_t * size_val
void pack_reattach_tasks_streams_msg ( reattach_tasks_streams_msg_t * msg , void ** buffer , uint32_t * length ) ; void pack_reattach_tasks_streams_msg ( reattach_tasks_streams_msg_t * msg , void ** buffer , uint32_t * length ) ;
int unpack_reattach_tasks_streams_msg ( reattach_tasks_streams_msg_t ** msg_ptr , void ** buffer , uint32_t * length ) ; int unpack_reattach_tasks_streams_msg ( reattach_tasks_streams_msg_t ** msg_ptr , void ** buffer , uint32_t * length ) ;
void pack_revoke_credential_msg ( revoke_credential_msg_t* msg , void ** buffer , uint32_t * length ) ;
int unpack_revoke_credential_msg ( revoke_credential_msg_t** msg , void ** buffer , uint32_t * length ) ;
#endif #endif
...@@ -16,9 +16,6 @@ ...@@ -16,9 +16,6 @@
#include <src/common/slurm_protocol_defs.h> #include <src/common/slurm_protocol_defs.h>
#include <src/common/slurm_protocol_common.h> #include <src/common/slurm_protocol_common.h>
#define SLURM_SSL_SIGNATURE_LENGTH 16
#define SLURM_IO_STREAM_INOUT 0
#define SLURM_IO_STREAM_SIGERR 1
uint32_t check_header_version( header_t * header) ; uint32_t check_header_version( header_t * header) ;
void init_header ( header_t * header , slurm_msg_type_t msg_type , uint16_t flags ) ; void init_header ( header_t * header , slurm_msg_type_t msg_type , uint16_t flags ) ;
......
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