09/21/87 rcp Known errors in the current release of rcp. # Associated TR's Description 101 phx20753 rcprm_find_resource_ is not sending access_audit_ a correct operation type. 100 phx18124 register_resource -type doesn't work like it should. 99 phx18776 The variable RTDT_area_len is not set or is set incorrectly in several modules. 98 phx19693 Four routines signal the vfile_error condition and provide no handling for that condition. This was left in from debugging (see comment in rcprm_find_resource_.pl1). The four routines are rcp_compute_aim_mode.pl1, rcp_audit.pl1, rcp_access_kernel_setup.pl1 and rcprm_find_resource_.pl1. 97 phx16956 list_resources -acquisitions -type tape_vol -user *.* does not list system tapes, and the only way to list them is with lr -acq -tp tape_vol -user system. 94 phx20428 The resource usage lock is not preventing a tape mount request from reaching the operator. 93 phx20018 rcp_tape_survey_ is required to do I/O sequences to either the tape controller or tape handler to obtain configuration information. If I/O has been suspended through the controller the Initializer will go blocked waiting for the I/O to complete, which will not occur. 92 phx19799 Absentees entered with "-resource" can cause the Initializer's response to become very bad when there are not enough resources to go around. 90 phx19654 phx19423 Not able to acquire a tape_vol with the request "aqr tape_vol -nb 1" when the current auth is above system_low and the resource is system_low:system_high. 89 phx18654 reconstruct_registry not permitting registries to be updated from journals that contain entries older than the registry to be constructed. 85 RCP (rcp_attach_ & rcp_check_attach_) can take a null pointer fault under certain conditions. 84 Add auditing for denial of reservations of devices requested by name. 83 Calls to rcprm_find_resource_$(reserve reserve_proxy) operate as if the caller's validation level were 1. This effectively cancels any ring bracket checks by this entry. 82 The program rcp_check_attach_ unconditionally calls rcp_detach_ in case of an error. It should only do so if rcse_ptr in non-null. 81 A call to rcp_$attach or rcp_priv_$attach which encounters an error will return with the rcp_id output parameter changed. 80 Several RCP entries (including rcp_$release and rcp_$set_status) only audit if the access class range of the object in question is not a range (e.g. system_low:system_low objects would cause audit messages to be generated while system_low:system_high objects would not). 79 An attempt to access a multi-class volume without privileges and outside of ring 1 (which are the only conditions under which this is allowed) does not return the correct error code. 78 The program rcp_attach_ can return a garbage error code in some error cases. 77 If an RCP registry specifies that a given resource's access is controlled by an ACS, and that ACS doesn't exist, the owner of the resource is given null access to the resource instead of REW. 76 The program rcprm_find_resource_ returns two or more error codes. One is an output parameter of the call, while the others are in the resource_descriptions structure, one per entry. The parameter is zero iff all of the entries codes are zero. There is no error code censoring done in the entries, but this is consistent with RCP's model of resource name space, in which the only way to hide the existence of a resource is to isolate it with AIM. 75 RCP logical volume attachment is completely unaudited. 74 phx16540 Attempts to ask for a scratch volume for a system attachment yield the first volume from the system pool with its allocation flag off. It should yield a volume from the free pool. 69 phx18398 The cleanup handler in rcprm_list_resource_ tries to reset the validation level, but the validation level is not set until later. This results in invalid validation levels attempting to be set. 68 phx18555 phx12105 Possessing null access to the last device in the threaded list in rcp_data effectively results in null access to all devices in the list. 63 phx16817 Turning on RCP privilege prevents the process from writing to tapes of lower than system high access class. 62 phx15914 If the only disks in a subsystem are listed as user disks (UDSK card), RCP does not properly handle them, not recognizing mounts from them or allowing their states (ss vs io) to be changed. 60 phx18170 rcp_initializer_ can overflow the array it uses to keep track of devices being considered for allocation. This causes various faults. 59 phx17813 rcp_unload_ should canonicalize volume names just like everything else. 58 phx17793 Registry locks are not correctly reset upon a crawlout from ring 1. In particular, such a case happens when a record-quota overflow occurs in the journals directory. 56 phx17296 rcprm_find_resource_$reserve_proxy is misdeclared in rcp_check_access_. This prevents (via a fault) the Initializer from reserving devices for upgraded absentees. 55 phx17061 RCP does not correctly authenticate the volume id for version 1 Multics tapes. 54 phx16691 RCP does not properly censor unprintable characters when printing on the console. 52 phx16536 RCPRM does not return error_table_$ai_restricted when the access failure occured because of an AIM reason. 51 phx15673 resource_status, when used as an active function, places a ";" instead of a ":" in the access class information returned. 50 phx15236 RCP should detect attempts to mount for read only half of a shared spindle device in which the other half is currently mounted for write. Such a mount should be rejected. 47 phx12559 RCP does not correctly authenticate GCOS formatted tapes. 46 phx09707 If a registry is flagged as damaged, it is very hard to determine the damage or to fix it. It is also very hard to get rid of the old registry. See the TR for more details. 43 phx13303 When RCPRM scans resources looking for one to satisfy a user request, it stops if it encounters one whose maximum access class is higher than the process' current authorization. 41 phx13485 It is not possible to regsiter a tape_vol with a minimum access class greater than the process' authorization, with or without privileges. 40 phx17882 It should not be possible to set potential AIM ranges for a free resource (RCPRM); that is, a privileged user cannot release a free resource. 39 phx17883 It should be possible for a privileged user to release a release-locked resourse (within RCPRM). 38 phx17884 If a device is deleted, RCPRM will not allow any operations upon its registry, confusing the deleted state of the device with the user having no access. 36 phx17546 rcp_preload_ dos not canonicalize resource names. 34 phx14652 rcp_disk_ returns the same error code (error_table_$bad_label) when a disk pack is authenticated "deny" and when the lack of the system flag prohibits the caller from mounting a pack with an apparent storage sys- tem label. 33 phx16538 There is a disagreement about the aggument list for cancel_id_string between the rcp_ gate and the ring 1 program that prevents the program from working. 31 phx16243 phx20514 A privledged process executing the command "ur device_name -am" will take a null pointer fault in ring one when no prior resource activity has happened. rcp_force_unassign_ tries to get a pointer to rcp_com_seg in the SETUP procedure beofre setting the validation level. 27 phx06286 An absentee is deferred indefintely when a volume reservation is specified {-rsc} and the volume was initially registered with no specified acs path. 23 phx12382 A mount request fails when the user has assigned his limit of devices and the requested tape is already mounted on another drive (not assigned to the user). An attempt is made to assign that drive, thereby exceeding the device limit. No attempt is made to remount it on one of the assigned drives. 22 phx12320 rcp_reserve_ doesnt canonicalize the resource name. This causes absentee jobs submitted with a volume reservation to be deferred for unavailable resources. 21 phx12319 Absentee volume reservation jobs don't check the user's access to a resource correctly when rcprm is enabled. In addition, rcprm_find_resource_$reserve_proxy is delcared incorrectly in rcp_check_access_ which can cause a fault tag crawlout. 20 phx12010 A 'copy_registry -reset' will cause a crawlout of ring1 with an attempt to use an invalid seg number when more than one journal exists in the chain. This is due to an attempt to delete a segment which has already been terminated. 19 phx11985 The group_id in a resource reservation cancellation message is incorrect. 16 phx11634 When a resource is "awaiting_clear", acquire_resource accepts -access_class and ignores it without informing the user. 15 phx10245 list_resources command incorrectly prints out the reservation identifier. 14 phx08476 phx11640 When a non-existent tape drive is inadvertently registered, one cannot derigister, list or re-register it. even a status of it 12 phx08455 When rcprm is turned off, tape_mult_ mount message for scratch tapes prints blanks instead of the tape number. 10 phx04767 register_resource ignores the -type argument. 9 phx02669 rcp_unload_ does not cleanup. If an error occurs, this can leave system data bases in an inconsistent state. 8 phx08065 No facilities are provided to allow cancellation of a reservation from within an absentee submitted with -rsc specified. 6 phx11433 The interaction between absentee jobs with resource reservations and the ring 1 code in rcp_reserve_ can generate excessive syserr messages when an absentee cannot run due to the inability to satisfy the reservation. 5 phx06608 Since the management of mount timers (that is turning them on and off) is done in the user process, it is possible for the user to quit with a mount timer turned on and thereby inhibit its being turned off. 3 phx11032 resource_status allocates temporary storage in the stack that can fairly easily cause an overflow on the stack. 1 phx09325 During startup, all configured I/O devices, paths, and multiplexors should be surveyed, so that defective channels can be deleted, as well as defective devices. When this is not done, the system can hang forever trying to use a defective channel later in the bootload (for a tape subsystem, for instance). ----------------------------------------------------------- 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