COMPILATION LISTING OF SEGMENT asr_daemon_command_server_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1628.2 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 7 8 /****^ HISTORY COMMENTS: 9* 1) change(86-05-13,GJohnson), approve(86-05-13,MCR7387), 10* audit(86-05-13,Martinson), install(86-05-14,MR12.0-1055): 11* Correct error message documentation. 12* END HISTORY COMMENTS */ 13 14 15 /* format: style2,idind30 */ 16 17 asr_daemon_command_server_: 18 procedure (ASR_info_ptr, ASR_sender_ptr); 19 20 /**** This program handles requests from administrators for 21* commands to be sent to daemon processes via the message coordinator */ 22 23 /**** Written 1985-01-14, BIM: from sc_admin_command_ */ 24 /**** Modified 1985-03-14, E. Swenson: Removes extra NL from message 25* coordinator output. */ 26 /**** Modified 1985-04-04, E. Swenson to send more precise reponse to 27* sender. */ 28 29 declare (ASR_info_ptr, ASR_sender_ptr) 30 pointer parameter; 31 32 dcl acs_mode bit (36) aligned; 33 dcl as_error_code fixed bin (35); 34 dcl code fixed bin (35); 35 36 dcl daemon_user_manager_$login_ entry (char (*), char (*), char (*), char (*), fixed bin (35)); 37 dcl daemon_user_manager_$logout_source_no_access_check 38 entry (char (*), fixed bin (35)); 39 dcl mc_wakeups_$reply_command entry (character (*) var, pointer, fixed binary (21), pointer, 40 fixed binary (35)); 41 dcl mc_check_acs_$reply entry (character (*), fixed binary (3), character (*), fixed binary (35)); 42 dcl mc_check_acs_$log_daemon_in entry (character (*), fixed binary (3), character (*), fixed binary (35)); 43 dcl mc_check_acs_$log_daemon_out entry (character (*), fixed binary (3), character (*), fixed binary (35)); 44 dcl mc_check_acs_$quit entry (character (*), fixed binary (3), character (*), fixed binary (35)); 45 dcl mc_commands_$reply_command entry (character (*) var, pointer, fixed binary (21), pointer, 46 fixed binary (35)); 47 dcl mc_commands_$quit_command entry (character (*), pointer, fixed binary (35)); 48 49 dcl sys_log_ entry options (variable); 50 dcl sys_log_$error_log entry options (variable); 51 dcl up_sysctl_$check_acs entry (character (*), character (*), fixed binary, bit (36) aligned, 52 fixed binary (35)); 53 dcl error_table_$action_not_performed 54 fixed bin (35) ext static; 55 dcl error_table_$badstar fixed bin (35) ext static; 56 dcl error_table_$insufficient_access 57 fixed bin (35) ext static; 58 dcl error_table_$ioname_not_found fixed bin (35) external static; 59 dcl error_table_$noentry fixed bin (35) external static; 60 dcl error_table_$unimplemented_version 61 fixed bin (35) ext static; 62 dcl error_table_$undefined_order_request 63 fixed bin (35) ext static; 64 65 dcl cleanup condition; 66 67 68 asr_daemon_command_info_ptr = ASR_info_ptr; 69 as_request_sender_ptr = ASR_sender_ptr; 70 asr_reply_dc_ptr = addr (as_request_sender.reply_message); 71 asr_reply_daemon_command.code = 0; 72 asr_reply_daemon_command.flags = "0"b; 73 74 if asr_daemon_command_info.version ^= ASR_DC_INFO_VERSION_1 75 then do; 76 asr_reply_daemon_command.code = error_table_$unimplemented_version; 77 go to ERROR; 78 end; 79 80 if asr_daemon_command_info.action_code ^= ASR_DC_LOGIN & asr_daemon_command_info.action_code ^= ASR_DC_LOGOUT 81 & asr_daemon_command_info.action_code ^= ASR_DC_QUIT & asr_daemon_command_info.action_code ^= ASR_DC_REPLY 82 then do; 83 asr_reply_daemon_command.code = error_table_$undefined_order_request; 84 go to ERROR; 85 end; 86 87 if asr_daemon_command_info.action_code = ASR_DC_LOGIN 88 then /* user and project ignored in all other cases */ 89 if asr_daemon_command_info.user_name = "*" | asr_daemon_command_info.project_name = "*" 90 | asr_daemon_command_info.source_name = "*" 91 then do; 92 asr_reply_daemon_command.code = error_table_$badstar; 93 go to ERROR; 94 end; 95 96 /**** Can we check an individual ACS, or must we check access to global acs */ 97 98 if ^installation_parms.validate_daemon_commands 99 then do; /* check global ACS segment */ 100 call up_sysctl_$check_acs ("send_daemon_command.acs", as_request_sender.group_id, 101 (as_request_sender.validation_level), acs_mode, code); 102 if code ^= 0 103 then do; 104 call sys_log_$error_log (SL_LOG_SILENT, code, "asr_daemon_command_server_", 105 "Failed to check access for ^a to send_daemon_command.acs.", 106 as_request_sender.group_id); 107 asr_reply_daemon_command.code = error_table_$insufficient_access; 108 asr_reply_daemon_command.flags.command_refused = "1"b; 109 go to ERROR; 110 end; 111 if (acs_mode & RW_ACCESS) ^= RW_ACCESS 112 then do; 113 call sys_log_ (SL_LOG_SILENT, 114 "asr_daemon_command_server_: Denied daemon command for ^a in ring ^d.", 115 as_request_sender.group_id, as_request_sender.validation_level); 116 asr_reply_daemon_command.code = error_table_$insufficient_access; 117 asr_reply_daemon_command.flags.command_refused = "1"b; 118 go to ERROR; 119 end; 120 end; 121 else do; /* We can check specific access of sender to daemon */ 122 if asr_daemon_command_info.action_code = ASR_DC_LOGIN 123 then call mc_check_acs_$log_daemon_in (as_request_sender.group_id, 124 (as_request_sender.validation_level), asr_daemon_command_info.source_name, 125 asr_reply_daemon_command.code); 126 127 else if asr_daemon_command_info.action_code = ASR_DC_LOGOUT 128 then call mc_check_acs_$log_daemon_out (as_request_sender.group_id, 129 (as_request_sender.validation_level), asr_daemon_command_info.source_name, 130 asr_reply_daemon_command.code); 131 132 133 else if asr_daemon_command_info.action_code = ASR_DC_REPLY 134 then call mc_check_acs_$reply (as_request_sender.group_id, (as_request_sender.validation_level), 135 asr_daemon_command_info.source_name, asr_reply_daemon_command.code); 136 137 else if asr_daemon_command_info.action_code = ASR_DC_QUIT 138 then call mc_check_acs_$quit (as_request_sender.group_id, (as_request_sender.validation_level), 139 asr_daemon_command_info.source_name, asr_reply_daemon_command.code); 140 141 if asr_reply_daemon_command.code ^= 0 142 then do; 143 asr_reply_daemon_command.flags.no_access_to_daemon = "1"b; 144 go to ERROR; 145 end; 146 end; 147 148 /**** Okay, the sucker is authorized. Now log the command line. */ 149 150 call sys_log_ (SL_LOG, 151 "asr_daemon_command_server_: ^a: ^[LOGIN^;LOGOUT^;QUIT^;REPLY^]^[ ^a.^a^;^s^s^] ^a ^[^a^]", 152 as_request_sender.group_id, asr_daemon_command_info.action_code, 153 asr_daemon_command_info.action_code = ASR_DC_LOGIN, asr_daemon_command_info.user_name, 154 asr_daemon_command_info.project_name, asr_daemon_command_info.source_name, 155 (asr_daemon_command_info.action_code = ASR_DC_LOGIN | asr_daemon_command_info.action_code = ASR_DC_REPLY), 156 rtrim (asr_daemon_command_info.command, byte (10))); 157 158 /**** Now, do what the person asked */ 159 160 if asr_daemon_command_info.action_code = ASR_DC_LOGIN 161 then do; 162 call daemon_user_manager_$login_ (asr_daemon_command_info.user_name, 163 asr_daemon_command_info.project_name, asr_daemon_command_info.source_name, 164 asr_daemon_command_info.command, as_error_code); 165 166 /**** The following is really low-class. daemon_user_manager_$login_ returns 167* as error table codes which the user will not be able to convert. Thus 168* we convert it for him...in a less-than-optimal way. A better solution 169* would be, perhaps, to use regular error_table_ codes in the AS. */ 170 171 if as_error_code ^= 0 172 then asr_reply_daemon_command.code = error_table_$action_not_performed; 173 else asr_reply_daemon_command.code = 0; 174 end; 175 else if asr_daemon_command_info.action_code = ASR_DC_LOGOUT 176 then do; 177 call daemon_user_manager_$logout_source_no_access_check (asr_daemon_command_info.source_name, 178 asr_reply_daemon_command.code); 179 if asr_reply_daemon_command.code = error_table_$noentry 180 then asr_reply_daemon_command.no_such_daemon = "1"b; 181 end; 182 else if asr_daemon_command_info.action_code = ASR_DC_QUIT 183 then do; 184 call mc_commands_$quit_command (asr_daemon_command_info.source_name, null (), 185 asr_reply_daemon_command.code); 186 if asr_reply_daemon_command.code = error_table_$ioname_not_found 187 then asr_reply_daemon_command.no_such_daemon = "1"b; 188 end; 189 else if asr_daemon_command_info.action_code = ASR_DC_REPLY 190 then do; 191 call mc_commands_$reply_command ((asr_daemon_command_info.source_name), 192 addr (asr_daemon_command_info.command), length (asr_daemon_command_info.command), null (), 193 asr_reply_daemon_command.code); 194 if asr_reply_daemon_command.code = error_table_$ioname_not_found 195 then asr_reply_daemon_command.no_such_daemon = "1"b; 196 end; 197 198 ERROR: 199 return; 200 201 1 1 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 202 2 1 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 2 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 2 7* Added sl_info structure and associated named constants for use in calling 2 8* sys_log_$general. 2 9* END HISTORY COMMENTS */ 2 10 2 11 2 12 /* format: style4 */ 2 13 2 14 dcl ( 2 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 2 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 2 17 SL_TYPE init (-1), /* type message */ 2 18 SL_LOG_SILENT init (0), /* log message */ 2 19 SL_LOG init (1), /* log & type message */ 2 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 2 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 2 22 ) fixed bin internal static options (constant); 2 23 2 24 dcl 1 sl_info aligned automatic, 2 25 2 version char(8), /* structure version */ 2 26 2 arg_list_ptr ptr, /* arg_list with values */ 2 27 2 loc, 2 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 2 29 /* These flags control where the corresponding data item is found.*/ 2 30 /* -1: data appears in the corresponding structure element below */ 2 31 /* 0: data is not present anywhere */ 2 32 /* +N: data is Nth item in argument list pointed to by */ 2 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 2 34 /* corresponding structure element. */ 2 35 /* if data = +N: */ 2 36 /* argN is data_ptr, argN+1 is data_len */ 2 37 /* if ioa_msg = +N: */ 2 38 /* argN+1, ... argLAST are arguments substituted into the */ 2 39 /* ioa_msg control string. The formatted msg is returned. */ 2 40 2 flags, 2 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 2 42 3 flags_pad bit(35) unal, 2 43 2 mode fixed bin, /* as-mode, command-mode */ 2 44 2 severity fixed bin, /* error severity */ 2 45 2 code fixed bin(35), /* error table code */ 2 46 2 caller char(65) varying, /* caller refname$entryname*/ 2 47 2 data, /* binary data ptr/length */ 2 48 3 data_ptr ptr, 2 49 3 data_lth fixed bin(21), 2 50 2 class char(10) varying, /* binary data class */ 2 51 2 ioa_msg char(500) varying; /* formatted message text */ 2 52 2 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 54 /* */ 2 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 2 56 /* their data types should be as shown in the structure above, except that */ 2 57 /* character strings should be char(*) nonvarying. */ 2 58 /* */ 2 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 60 2 61 /* value for sl_info.version */ 2 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 2 63 2 64 /* values for sl_info.mode */ 2 65 dcl (SL_INFO_as_mode init(1), 2 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 2 67 2 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 2 69 dcl (SL_INFO_arg_given_in_structure init(-1), 2 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 2 71 2 72 2 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 74 /* */ 2 75 /* The following static structures are commonly used in the Login Server */ 2 76 /* user control software. */ 2 77 /* */ 2 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 79 2 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 2 81 2 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 2 83 2 version char(8) init ("sl_info1"), 2 84 2 arg_list_ptr ptr init (null), 2 85 2 loc, 2 86 3 (mode init (-1), 2 87 severity init ( 1), 2 88 code init ( 2), 2 89 caller init (-1), 2 90 data init ( 0), 2 91 class init ( 0), 2 92 ioa_msg init ( 3)) fixed bin, 2 93 2 flags, 2 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 2 95 3 flags_pad bit(35) unal init ("0"b), 2 96 2 mode fixed bin init ( 1), 2 97 2 severity fixed bin init ( 0), 2 98 2 code fixed bin(35) init ( 0), 2 99 2 caller char(65) varying init (""), 2 100 2 data, 2 101 3 data_ptr ptr init (null), 2 102 3 data_lth fixed bin(21) init ( 0), 2 103 2 class char(10) varying init (""), 2 104 2 ioa_msg char(500) varying init (""); 2 105 2 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 2 107 2 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 2 109 2 version char(8) init ("sl_info1"), 2 110 2 arg_list_ptr ptr init (null), 2 111 2 loc, 2 112 3 (mode init (-1), 2 113 severity init ( 1), 2 114 code init ( 0), 2 115 caller init (-1), 2 116 data init ( 0), 2 117 class init ( 0), 2 118 ioa_msg init ( 2)) fixed bin, 2 119 2 flags, 2 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 2 121 3 flags_pad bit(35) unal init ("0"b), 2 122 2 mode fixed bin init ( 1), 2 123 2 severity fixed bin init ( 0), 2 124 2 code fixed bin(35) init ( 0), 2 125 2 caller char(65) varying init (""), 2 126 2 data, 2 127 3 data_ptr ptr init (null), 2 128 3 data_lth fixed bin(21) init ( 0), 2 129 2 class char(10) varying init (""), 2 130 2 ioa_msg char(500) varying init (""); 2 131 2 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 2 133 2 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 2 135 2 version char(8) init ("sl_info1"), 2 136 2 arg_list_ptr ptr init (null), 2 137 2 loc, 2 138 3 (mode init (-1), 2 139 severity init ( 1), 2 140 code init ( 0), 2 141 caller init (-1), 2 142 data init ( 0), 2 143 class init ( 0), 2 144 ioa_msg init ( 2)) fixed bin, 2 145 2 flags, 2 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 2 147 3 flags_pad bit(35) unal init ("0"b), 2 148 2 mode fixed bin init ( 1), 2 149 2 severity fixed bin init ( 0), 2 150 2 code fixed bin(35) init ( 0), 2 151 2 caller char(65) varying init (""), 2 152 2 data, 2 153 3 data_ptr ptr init (null), 2 154 3 data_lth fixed bin(21) init ( 0), 2 155 2 class char(10) varying init (""), 2 156 2 ioa_msg char(500) varying init (""); 2 157 2 158 2 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 2 160 2 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 2 162 2 version char(8) init ("sl_info1"), 2 163 2 arg_list_ptr ptr init (null), 2 164 2 loc, 2 165 3 (mode init (-1), 2 166 severity init ( 1), 2 167 code init ( 2), 2 168 caller init (-1), 2 169 data init ( 0), 2 170 class init ( 0), 2 171 ioa_msg init ( 4)) fixed bin, 2 172 2 flags, 2 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 2 174 3 flags_pad bit(35) unal init ("0"b), 2 175 2 mode fixed bin init ( 1), 2 176 2 severity fixed bin init ( 0), 2 177 2 code fixed bin(35) init ( 0), 2 178 2 caller char(65) varying init (""), 2 179 2 data, 2 180 3 data_ptr ptr init (null), 2 181 3 data_lth fixed bin(21) init ( 0), 2 182 2 class char(10) varying init (""), 2 183 2 ioa_msg char(500) varying init (""); 2 184 2 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 2 186 2 187 dcl 1 sl_info_code_msg aligned int static options(constant), 2 188 2 version char(8) init ("sl_info1"), 2 189 2 arg_list_ptr ptr init (null), 2 190 2 loc, 2 191 3 (mode init (-1), 2 192 severity init (-1), 2 193 code init ( 1), 2 194 caller init (-1), 2 195 data init ( 0), 2 196 class init ( 0), 2 197 ioa_msg init ( 2)) fixed bin, 2 198 2 flags, 2 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 2 200 3 flags_pad bit(35) unal init ("0"b), 2 201 2 mode fixed bin init ( 1), 2 202 2 severity fixed bin init ( 0), 2 203 2 code fixed bin(35) init ( 0), 2 204 2 caller char(65) varying init (""), 2 205 2 data, 2 206 3 data_ptr ptr init (null), 2 207 3 data_lth fixed bin(21) init ( 0), 2 208 2 class char(10) varying init (""), 2 209 2 ioa_msg char(500) varying init (""); 2 210 2 211 2 212 /* Syntax: call Trace (ioa_ctl, args); */ 2 213 2 214 dcl 1 sl_info_msg aligned int static options(constant), 2 215 2 version char(8) init ("sl_info1"), 2 216 2 arg_list_ptr ptr init (null), 2 217 2 loc, 2 218 3 (mode init (-1), 2 219 severity init (-1), 2 220 code init ( 0), 2 221 caller init (-1), 2 222 data init ( 0), 2 223 class init ( 0), 2 224 ioa_msg init ( 1)) fixed bin, 2 225 2 flags, 2 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 2 227 3 flags_pad bit(35) unal init ("0"b), 2 228 2 mode fixed bin init ( 1), 2 229 2 severity fixed bin init ( 0), 2 230 2 code fixed bin(35) init ( 0), 2 231 2 caller char(65) varying init (""), 2 232 2 data, 2 233 3 data_ptr ptr init (null), 2 234 3 data_lth fixed bin(21) init ( 0), 2 235 2 class char(10) varying init (""), 2 236 2 ioa_msg char(500) varying init (""); 2 237 2 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 203 3 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 3 2* 3 3* Values for the "access mode" argument so often used in hardcore 3 4* James R. Davis 26 Jan 81 MCR 4844 3 5* Added constants for SM access 4/28/82 Jay Pattin 3 6* Added text strings 03/19/85 Chris Jones 3 7**/ 3 8 3 9 3 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 3 11 dcl ( 3 12 N_ACCESS init ("000"b), 3 13 R_ACCESS init ("100"b), 3 14 E_ACCESS init ("010"b), 3 15 W_ACCESS init ("001"b), 3 16 RE_ACCESS init ("110"b), 3 17 REW_ACCESS init ("111"b), 3 18 RW_ACCESS init ("101"b), 3 19 S_ACCESS init ("100"b), 3 20 M_ACCESS init ("010"b), 3 21 A_ACCESS init ("001"b), 3 22 SA_ACCESS init ("101"b), 3 23 SM_ACCESS init ("110"b), 3 24 SMA_ACCESS init ("111"b) 3 25 ) bit (3) internal static options (constant); 3 26 3 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 3 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 3 29 3 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 3 31 static options (constant); 3 32 3 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 3 34 static options (constant); 3 35 3 36 dcl ( 3 37 N_ACCESS_BIN init (00000b), 3 38 R_ACCESS_BIN init (01000b), 3 39 E_ACCESS_BIN init (00100b), 3 40 W_ACCESS_BIN init (00010b), 3 41 RW_ACCESS_BIN init (01010b), 3 42 RE_ACCESS_BIN init (01100b), 3 43 REW_ACCESS_BIN init (01110b), 3 44 S_ACCESS_BIN init (01000b), 3 45 M_ACCESS_BIN init (00010b), 3 46 A_ACCESS_BIN init (00001b), 3 47 SA_ACCESS_BIN init (01001b), 3 48 SM_ACCESS_BIN init (01010b), 3 49 SMA_ACCESS_BIN init (01011b) 3 50 ) fixed bin (5) internal static options (constant); 3 51 3 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 204 4 1 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 4 2 4 3 /* DESCRIPTION: 4 4* Answering Service request information. 4 5**/ 4 6 4 7 4 8 /****^ HISTORY COMMENTS: 4 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 4 10* Written by someone, at sometime. 4 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 4 12* R. Michael Tague: Added ASR_BUMP_USER request. 4 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 4 14* BIM: ASR_ADMIN_COMMAND. 4 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 4 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 4 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 4 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 4 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 4 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 4 21* Jim Lippard: Added ASR_ABS_COMMAND request. 4 22* END HISTORY COMMENTS */ 4 23 4 24 4 25 /* format: style4 */ 4 26 4 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 4 28 4 29 dcl ( 4 30 ASR_FIRST_TYPE initial (1), 4 31 ASR_DIAL_SERVER initial (1), 4 32 ASR_DIAL_OUT initial (2), 4 33 ASR_FPE_CAUSES_LOGOUT initial (3), 4 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 4 35 ASR_PROC_TERM_NOTIFY initial (5), 4 36 ASR_BUMP_USER initial (6), 4 37 ASR_ADMIN_COMMAND initial (7), 4 38 ASR_NOTE_PNT_CHANGE initial (8), 4 39 ASR_DAEMON_COMMAND initial (9), 4 40 ASR_COM_CHANNEL_INFO initial (10), 4 41 ASR_ABS_COMMAND initial (11), 4 42 ASR_LAST_TYPE initial (11) 4 43 ) fixed bin internal static options (constant); 4 44 4 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 4 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 4 47 4 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 4 49 char (40) init ( 4 50 "Dial request", 4 51 "Dial out request", 4 52 "Logout on fatal process error", 4 53 "New process on fatal process error", 4 54 "Monitor process terminations", 4 55 "Bump user", 4 56 "Execute admin command", 4 57 "Note PNT change", 4 58 "Daemon command", 4 59 "Communications channel info", 4 60 "Absentee command"); 4 61 4 62 dcl 1 as_request_header based aligned, 4 63 2 version fixed bin, /* version number */ 4 64 2 type fixed bin, /* what to do */ 4 65 2 reply_channel fixed bin (71); /* who to tell */ 4 66 4 67 4 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 205 5 1 /* Begin include file asr_daemon_command.incl.pl1 BIM 1985-02-18 */ 5 2 /* format: style4 */ 5 3 /* AS request structure for daemon commands. */ 5 4 5 5 dcl asr_daemon_command_info_ptr pointer; 5 6 dcl 1 asr_daemon_command_info aligned based (asr_daemon_command_info_ptr), 5 7 2 header aligned like as_request_header, 5 8 2 version char (8), 5 9 2 action_code fixed bin, 5 10 2 user_name char (32) unaligned, 5 11 2 project_name char (32) unaligned, 5 12 2 source_name char (32) unaligned, 5 13 2 pad (10) bit (36) aligned, /* avoid adding after refer */ 5 14 2 command_length fixed bin (21), 5 15 2 command char (asr_dc_length refer (asr_daemon_command_info.command_length)) unaligned; /* login control args here on login */ 5 16 5 17 dcl asr_dc_length fixed bin (21); 5 18 dcl ASR_DC_INFO_VERSION_1 char (8) init ("asrdc001") int static options (constant); 5 19 5 20 dcl (ASR_DC_LOGIN init (1), 5 21 ASR_DC_LOGOUT init (2), 5 22 ASR_DC_QUIT init (3), 5 23 ASR_DC_REPLY init (4)) fixed bin int static options (constant); 5 24 5 25 declare asr_reply_dc_ptr pointer; 5 26 dcl 1 asr_reply_daemon_command aligned based (asr_reply_dc_ptr), 5 27 2 code fixed bin (35), 5 28 2 flags aligned, 5 29 3 command_refused bit (1) unaligned, /* validate_daemon_commands OFF and no access to sac */ 5 30 3 no_such_daemon bit (1) unaligned, /* nobody home */ 5 31 3 no_access_to_daemon bit (1) unaligned, /* validate_daemon_commands ON and no access to the specific victim */ 5 32 3 pad bit (33) unaligned; 5 33 5 34 /* END INCLUDE FILE ... asr_daemon_command.incl.pl1 */ 206 6 1 /* Begin include file as_request_sender_.incl.pl1 84-06-06 BIM */ 6 2 6 3 /****^ HISTORY COMMENTS: 6 4* 1) change(86-10-14,Lippard), approve(85-12-30,MCR7326), 6 5* audit(86-10-24,GDixon), install(86-10-28,MR12.0-1200): 6 6* Added max_authorization and audit_flags. 6 7* END HISTORY COMMENTS */ 6 8 6 9 /* Structure passed from as_request_server_ to the various 6 10* requests to identify requester. */ 6 11 /* format: style3,indcomtxt */ 6 12 6 13 declare as_request_sender_ptr 6 14 pointer; 6 15 declare 1 as_request_sender aligned based (as_request_sender_ptr), 6 16 2 version char (8) aligned, 6 17 2 reply_message fixed bin (71), 6 18 2 group_id char (32) unaligned, 6 19 2 process_id bit (36), 6 20 2 validation_level 6 21 fixed bin (3), 6 22 2 authorization bit (72), 6 23 2 max_authorization 6 24 bit (72), 6 25 2 audit_flags bit (36); 6 26 6 27 declare AS_REQUEST_SENDER_VERSION_2 6 28 char (8) init ("asrqs002") internal static options (constant); 6 29 6 30 /* End include file as_request_sender_.incl.pl1 */ 207 7 1 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 7 2 7 3 /* Modified 740723 by PG to add short AIM access names */ 7 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 7 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 7 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 7 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 7 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 7 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 7 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 7 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 7 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 7 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 7 14* strict_trusted_path. */ 7 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 7 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 7 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 7 18 7 19 7 20 /****^ HISTORY COMMENTS: 7 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 7 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 7 23* added vchn_requires_accept parameter. 7 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 7 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 7 26* Correct formatting problems. 7 27* END HISTORY COMMENTS */ 7 28 7 29 7 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 7 31 7 32 7 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 7 34 2 part_1 like installation_parms_part_1 aligned, 7 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 7 36 7 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 7 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 7 39 7 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 7 41 2 installation_id char (32), /* Name printed at dialup and in who */ 7 42 2 company char (64), /* company name */ 7 43 2 department char (64), /* department */ 7 44 2 companyds char (120), /* company, double spaced */ 7 45 2 departmentds char (120), /* dpeartment double spaced */ 7 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 7 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 7 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 7 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 7 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 7 51 2 ndevices fixed bin, /* number of devices to charge */ 7 52 2 devtab (16), /* Maximum 16 */ 7 53 3 device_id char (8), /* Name of device */ 7 54 3 device_price (0: 7) float bin, /* Price by shift */ 7 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 7 56 2 warning_time fixed bin, /* seconds from warning to logout */ 7 57 2 login_time fixed bin, /* seconds in which to complete login */ 7 58 2 acct_update fixed bin, /* seconds between acct update */ 7 59 2 login_tries fixed bin, /* number of login tries allowed */ 7 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 7 61 2 registration_price float bin, /* fee per month per user */ 7 62 2 dolsign char (1), /* "dollar sign" */ 7 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 7 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 7 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 7 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 7 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 7 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 7 69* Initializer will copy the syserr_log */ 7 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 7 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 7 72 2 fatal_error_loop_count fixed bin (17) unaligned, 7 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 7 74 2 term_real_time_seconds fixed bin (17) unaligned, 7 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 7 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 7 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 7 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 7 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 7 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 7 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 7 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 7 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 7 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 7 85 2 level_names (0:7) char (32), /* Names for security levels. */ 7 86 2 category_names (18) char (32), /* Names for security categories. */ 7 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 7 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 7 89 2 ncon fixed bin, /* Number of config elements. */ 7 90 2 cona (51), /* each entry is 5 words long */ 7 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 7 92 3 shift fixed bin (5) unal, /* Shift number */ 7 93 3 x1 fixed bin (23) unal, 7 94 3 kmem fixed bin (17) unal, /* Memory size */ 7 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 7 96 3 x2 fixed bin (17) unal, 7 97 3 maxa fixed bin (11) unal, /* Max abs users */ 7 98 3 maxq fixed bin (5) unal, /* Max abs q */ 7 99 3 maxu_base fixed bin (17) unal, 7 100 3 response_high fixed bin (17) unal, 7 101 3 response_low fixed bin (17) unal, 7 102 3 x3 fixed bin (17) unal, 7 103 7 104 /* Absentee control parameters. New for MR7.0 */ 7 105 7 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 7 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 7 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 7 109 7 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 7 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 7 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 7 113 7 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 7 115 7 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 7 117 7 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 7 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 7 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 7 121 2 version fixed bin (35), /* must be 2 */ 7 122 2 nrates fixed bin, /* number of rate structures */ 7 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 7 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 7 125 2 require_operator_login bit (1) aligned, /* just what it says */ 7 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 7 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 7 128* mcacs segments for operators */ 7 129 2 password_min_length fixed bin, /* minimum length of passwords */ 7 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 7 131 2 password_change_interval fixed bin, /* number of days until must change */ 7 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 7 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 7 134* "accepted" by operator if personid is not 7 135* signed on system console */ 7 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 7 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 7 138* or someone miscounted when using part of pad2 */ 7 139 7 140 7 141 /* Entries in the following array may be accessed via system_info_$resource_price. 7 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 7 143 7 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 7 145 2 name char (32), 7 146 2 price float bin; 7 147 8 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 8 2 8 3 /* Created on 04/24/78 by Michael R. Jordan */ 8 4 /* Modified 04/10/79 by C. D. Tavares */ 8 5 8 6 dcl rifp ptr; 8 7 8 8 dcl 1 rcp_init_flags based (rifp), 8 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 8 10 2 pad1 bit (2) unaligned, /* obsolete */ 8 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 8 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 8 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 8 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 8 15 8 16 dcl (No_authentication initial (0), 8 17 Nominal_authentication initial (1), 8 18 Automatic_authentication initial (2), 8 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 8 20 8 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 8 22 ("none", "nominal", "automatic", "manual"); 8 23 8 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 7 148 7 149 7 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 208 209 declare ip pointer defined (as_data_$rs_ptrs (0)); 210 211 /* BEGIN MESSAGE DOCUMENTATION 212* 213* Message: 214* asr_daemon_command_server_: PERSON: COMMAND INFO 215* 216* S: $sc 217* 218* T: $run 219* 220* M: A system administrator has sent a for a daemon to the 221* Initializer, which executes it. 222* 223* A: $ignore 224* 225* 226* Message: 227* asr_daemon_command_server_: Failed to check access for USER. 228* 229* S: $sc 230* 231* T: $run 232* 233* M: User USER requested the system to execute a daemon command, 234* but validate_daemon_commands was not enabled and 235* the system could not determine their access to the send_daemon_command 236* acs. 237* 238* A: $ignore 239* 240* 241* Message: 242* asr_daemon_command_server_: Denied send_daemon_command for USER in ring RING. 243* 244* S: $sc 245* 246* T: $run 247* 248* M: User USER requested the system to execute a daemon command, 249* but lacked access to >sc1>admin_acs>send_admin_command.acs or the appropriate 250* daemon source ACS. 251* 252* A: $ignore 253* 254* 255* END MESSAGE DOCUMENTATION */ 256 257 end asr_daemon_command_server_; 258 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1540.6 asr_daemon_command_server_.pl1 >special_ldd>install>MR12.1-1054>asr_daemon_command_server_.pl1 202 1 08/04/87 1154.5 as_data_.incl.pl1 >spec>install>1056>as_data_.incl.pl1 203 2 08/04/87 1139.0 sys_log_constants.incl.pl1 >spec>install>1056>sys_log_constants.incl.pl1 204 3 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 205 4 10/30/86 2010.5 as_request_header.incl.pl1 >ldd>include>as_request_header.incl.pl1 206 5 03/08/85 0852.6 asr_daemon_command.incl.pl1 >ldd>include>asr_daemon_command.incl.pl1 207 6 10/30/86 2010.5 as_request_sender_.incl.pl1 >ldd>include>as_request_sender_.incl.pl1 208 7 08/04/87 1140.0 installation_parms.incl.pl1 >spec>install>1056>installation_parms.incl.pl1 7-148 8 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. ASR_DC_INFO_VERSION_1 000000 constant char(8) initial unaligned dcl 5-18 ref 74 ASR_DC_LOGIN constant fixed bin(17,0) initial dcl 5-20 ref 80 87 122 150 150 160 ASR_DC_LOGOUT constant fixed bin(17,0) initial dcl 5-20 ref 80 127 175 ASR_DC_QUIT constant fixed bin(17,0) initial dcl 5-20 ref 80 137 182 ASR_DC_REPLY constant fixed bin(17,0) initial dcl 5-20 ref 80 133 150 189 ASR_info_ptr parameter pointer dcl 29 ref 17 68 ASR_sender_ptr parameter pointer dcl 29 ref 17 69 RW_ACCESS constant bit(3) initial unaligned dcl 3-11 ref 111 111 SL_LOG 000022 constant fixed bin(17,0) initial dcl 2-14 set ref 150* SL_LOG_SILENT 000021 constant fixed bin(17,0) initial dcl 2-14 set ref 104* 113* acs_mode 000100 automatic bit(36) dcl 32 set ref 100* 111 action_code 6 based fixed bin(17,0) level 2 dcl 5-6 set ref 80 80 80 80 87 122 127 133 137 150* 150 150 150 160 175 182 189 as_data_$rs_ptrs 000054 external static pointer array dcl 1-49 ref 98 98 as_error_code 000101 automatic fixed bin(35,0) dcl 33 set ref 162* 171 as_request_header based structure level 1 dcl 4-62 as_request_sender based structure level 1 dcl 6-15 as_request_sender_ptr 000110 automatic pointer dcl 6-13 set ref 69* 70 100 100 104 113 113 122 122 127 127 133 133 137 137 150 asr_daemon_command_info based structure level 1 dcl 5-6 asr_daemon_command_info_ptr 000104 automatic pointer dcl 5-5 set ref 68* 74 80 80 80 80 87 87 87 87 122 122 127 127 133 133 137 137 150 150 150 150 150 150 150 150 150 160 162 162 162 162 175 177 182 184 189 191 191 191 191 191 asr_reply_daemon_command based structure level 1 dcl 5-26 asr_reply_dc_ptr 000106 automatic pointer dcl 5-25 set ref 70* 71 72 76 83 92 107 108 116 117 122 127 133 137 141 143 171 173 177 179 179 184 186 186 191 194 194 code 000102 automatic fixed bin(35,0) dcl 34 in procedure "asr_daemon_command_server_" set ref 100* 102 104* code based fixed bin(35,0) level 2 in structure "asr_reply_daemon_command" dcl 5-26 in procedure "asr_daemon_command_server_" set ref 71* 76* 83* 92* 107* 116* 122* 127* 133* 137* 141 171* 173* 177* 179 184* 186 191* 194 command 52 based char level 2 packed unaligned dcl 5-6 set ref 150 150 162* 191 191 191 191 command_length 51 based fixed bin(21,0) level 2 dcl 5-6 ref 150 150 162 162 191 191 191 191 command_refused 1 based bit(1) level 3 packed unaligned dcl 5-26 set ref 108* 117* daemon_user_manager_$login_ 000010 constant entry external dcl 36 ref 162 daemon_user_manager_$logout_source_no_access_check 000012 constant entry external dcl 37 ref 177 error_table_$action_not_performed 000036 external static fixed bin(35,0) dcl 53 ref 171 error_table_$badstar 000040 external static fixed bin(35,0) dcl 55 ref 92 error_table_$insufficient_access 000042 external static fixed bin(35,0) dcl 56 ref 107 116 error_table_$ioname_not_found 000044 external static fixed bin(35,0) dcl 58 ref 186 194 error_table_$noentry 000046 external static fixed bin(35,0) dcl 59 ref 179 error_table_$undefined_order_request 000052 external static fixed bin(35,0) dcl 62 ref 83 error_table_$unimplemented_version 000050 external static fixed bin(35,0) dcl 60 ref 76 flags 1 based structure level 2 dcl 5-26 set ref 72* group_id 4 based char(32) level 2 packed unaligned dcl 6-15 set ref 100* 104* 113* 122* 127* 133* 137* 150* installation_parms based structure level 1 dcl 7-33 installation_parms_part_1 based structure level 1 dcl 7-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 7-144 ip defined pointer dcl 209 ref 98 mc_check_acs_$log_daemon_in 000016 constant entry external dcl 42 ref 122 mc_check_acs_$log_daemon_out 000020 constant entry external dcl 43 ref 127 mc_check_acs_$quit 000022 constant entry external dcl 44 ref 137 mc_check_acs_$reply 000014 constant entry external dcl 41 ref 133 mc_commands_$quit_command 000026 constant entry external dcl 47 ref 184 mc_commands_$reply_command 000024 constant entry external dcl 45 ref 191 no_access_to_daemon 1(02) based bit(1) level 3 packed unaligned dcl 5-26 set ref 143* no_such_daemon 1(01) based bit(1) level 3 packed unaligned dcl 5-26 set ref 179* 186* 194* part_1 based structure level 2 dcl 7-33 project_name 17 based char(32) level 2 packed unaligned dcl 5-6 set ref 87 150* 162* rcp_init_flags based structure level 1 packed unaligned dcl 8-8 reply_message 2 based fixed bin(71,0) level 2 dcl 6-15 set ref 70 source_name 27 based char(32) level 2 packed unaligned dcl 5-6 set ref 87 122* 127* 133* 137* 150* 162* 177* 184* 191 sys_log_ 000030 constant entry external dcl 49 ref 113 150 sys_log_$error_log 000032 constant entry external dcl 50 ref 104 up_sysctl_$check_acs 000034 constant entry external dcl 51 ref 100 user_name 7 based char(32) level 2 packed unaligned dcl 5-6 set ref 87 150* 162* validate_daemon_commands 2037 based bit(1) level 3 dcl 7-33 ref 98 validation_level 15 based fixed bin(3,0) level 2 dcl 6-15 set ref 100 113* 122 127 133 137 version 4 based char(8) level 2 dcl 5-6 ref 74 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 4-29 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 4-29 ASR_BUMP_USER internal static fixed bin(17,0) initial dcl 4-29 ASR_COM_CHANNEL_INFO internal static fixed bin(17,0) initial dcl 4-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 4-29 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array unaligned dcl 4-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 4-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 4-29 ASR_FIRST_TYPE internal static fixed bin(17,0) initial dcl 4-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 4-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 4-29 ASR_LAST_TYPE internal static fixed bin(17,0) initial dcl 4-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 4-29 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 4-29 ASR_REQUEST_NAMES internal static char(40) initial array unaligned dcl 4-48 AS_REQUEST_SENDER_VERSION_2 internal static char(8) initial unaligned dcl 6-27 A_ACCESS internal static bit(3) initial unaligned dcl 3-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 Automatic_authentication internal static fixed bin(17,0) initial dcl 8-16 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 3-33 E_ACCESS internal static bit(3) initial unaligned dcl 3-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 M_ACCESS internal static bit(3) initial unaligned dcl 3-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 Manual_authentication internal static fixed bin(17,0) initial dcl 8-16 N_ACCESS internal static bit(3) initial unaligned dcl 3-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 No_authentication internal static fixed bin(17,0) initial dcl 8-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 8-16 REW_ACCESS internal static bit(3) initial unaligned dcl 3-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 RE_ACCESS internal static bit(3) initial unaligned dcl 3-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 R_ACCESS internal static bit(3) initial unaligned dcl 3-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 SA_ACCESS internal static bit(3) initial unaligned dcl 3-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 3-30 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 2-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 2-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 2-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 2-65 SL_INFO_version_1 internal static char(8) initial unaligned dcl 2-62 SL_LOG_BEEP internal static fixed bin(17,0) initial dcl 2-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 2-14 SL_TYPE internal static fixed bin(17,0) initial dcl 2-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 2-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 2-14 SMA_ACCESS internal static bit(3) initial unaligned dcl 3-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 SM_ACCESS internal static bit(3) initial unaligned dcl 3-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 S_ACCESS internal static bit(3) initial unaligned dcl 3-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 W_ACCESS internal static bit(3) initial unaligned dcl 3-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 3-36 as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) unaligned dcl 1-25 as_data_$ansp external static pointer dcl 1-26 as_data_$as_procid external static bit(36) dcl 1-27 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$cdtp external static pointer dcl 1-33 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 1-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) unaligned dcl 1-43 as_data_$ntty_dim external static char(32) unaligned dcl 1-44 as_data_$pdtdir external static char(168) unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array unaligned dcl 1-53 as_data_$sysdir external static char(168) unaligned dcl 1-54 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 as_request_version_1 internal static fixed bin(17,0) initial dcl 4-27 asr_dc_length automatic fixed bin(21,0) dcl 5-17 authentication_level_names internal static char(12) initial array unaligned dcl 8-21 cleanup 000000 stack reference condition dcl 65 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 7-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 7-38 mc_wakeups_$reply_command 000000 constant entry external dcl 39 rifp automatic pointer dcl 8-6 sl_info automatic structure level 1 dcl 2-24 sl_info_code_msg internal static structure level 1 dcl 2-187 sl_info_msg internal static structure level 1 dcl 2-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 2-161 sl_info_sev_code_msg internal static structure level 1 dcl 2-82 sl_info_sev_coded_msg internal static structure level 1 dcl 2-134 sl_info_sev_msg internal static structure level 1 dcl 2-108 NAMES DECLARED BY EXPLICIT CONTEXT. ERROR 001107 constant label dcl 198 set ref 77 84 93 109 118 144 asr_daemon_command_server_ 000137 constant entry external dcl 17 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 70 191 191 byte builtin function ref 150 150 length builtin function ref 191 191 null builtin function ref 184 184 191 191 rtrim builtin function ref 150 150 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1376 1454 1114 1406 Length 2050 1114 56 357 262 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME asr_daemon_command_server_ 190 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME asr_daemon_command_server_ 000100 acs_mode asr_daemon_command_server_ 000101 as_error_code asr_daemon_command_server_ 000102 code asr_daemon_command_server_ 000104 asr_daemon_command_info_ptr asr_daemon_command_server_ 000106 asr_reply_dc_ptr asr_daemon_command_server_ 000110 as_request_sender_ptr asr_daemon_command_server_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp call_ext_out_desc return_mac shorten_stack ext_entry verify_for_rtrim THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. daemon_user_manager_$login_ daemon_user_manager_$logout_source_no_access_check mc_check_acs_$log_daemon_in mc_check_acs_$log_daemon_out mc_check_acs_$quit mc_check_acs_$reply mc_commands_$quit_command mc_commands_$reply_command sys_log_ sys_log_$error_log up_sysctl_$check_acs THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$rs_ptrs error_table_$action_not_performed error_table_$badstar error_table_$insufficient_access error_table_$ioname_not_found error_table_$noentry error_table_$undefined_order_request error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000133 68 000144 69 000150 70 000153 71 000155 72 000156 74 000166 76 000172 77 000174 80 000175 83 000206 84 000210 87 000211 92 000227 93 000231 98 000232 100 000236 102 000277 104 000301 107 000341 108 000344 109 000347 111 000350 113 000354 116 000405 117 000410 118 000413 120 000414 122 000415 127 000446 133 000477 137 000530 141 000560 143 000562 144 000565 150 000566 160 000700 162 000705 171 000737 173 000745 174 000746 175 000747 177 000751 179 000766 181 000775 182 000776 184 001000 186 001023 188 001032 189 001033 191 001035 194 001100 198 001107 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved