|
This is a known problem with DNS v1.1. I you do a copy of directories
with DECmcc objects the binary attributes of these objects are not
copied. You need to apply a DNS-patch on all DNS servers. First go back
to the begin situation, apply the patch on both DNS-servers, restart
the DNS-servers and then try to copy again. Don't forget to copy all
the directories (.DNA_backtranslation and subdirectories). Test
everything before you delete the original directories.
-Geert-
ps. attached you'll find the DNS-patch
----------------------------------------------------------------------------
$! see below for details of patch
$! To install, simply run this .com file.
$!
$ verify_save = "noverify"
$ if f$verify() .eq. 1 then -
verify_save = "verify"
$ default_save = f$environment("default")
$!
$ if f$trnlnm("exe$dir") .eqs. "" then -
define exe$dir sys$system, sys$library
$!----------------------------------------------------------------------------
$ file = "dns$lib.exe"
$!----------------------------------------------------------------------------
$ x = f$search("exe$dir:''file'")
$ if x .nes. "" then -
goto filefound
$ write sys$output "File ''file' not found"
$ exit
$!
$filefound:
$ defdir = f$parse("''x'",,,"device") -
+ f$parse("''x'",,,"directory")
$ on control_y then -
goto cleanup
$!
$ set verify
$ set default 'defdir' ! force updated file to same directory
$!
$ patch 'file'
!
! Patch to DNS$LIB.EXE in V1.1 to fix dns$names_simplematch such that NULL
! simplenames collate lower than all other types.
! (ref module NAMES_LIB in DNS 1.1 listings)
! This is to fix a problem which manifested itself under MCC wherein
! attributes with binary (as opposed to normal) names on objects, were not
! copied when the directory in which the objects resided was replicated
! (ie. using DNS$CONTROL COPY DIRECTORY command). Any binary named attributes
! would not be returned for requests serviced by the clearinghouse containing
! the directory replica.
!
set eco 1
define simplematch=420D
define x=simplematch-0C
repl/i x+0E
! make room for JMP to patch area
'MOVAB W^0FDF8(SP),SP'
'MOVAL W^0FDFA(FP),R3'
exit
! restore instructions replaced by JMP
'MOVAB W^0FDF8(SP),SP'
'MOVAL W^0FDFA(FP),R3'
! now for the inserted code
'MOVL B^04(AP),R1' ! name1 addr
'MOVL B^08(AP),R2' ! name2 addr
'CMPB (R1),#0'
'BNEQ L2' ! name1 type not NULL
'CMPB (R2),#0'
'BNEQ L1' ! name2 type not NULL
'MOVL #0,R0' ! both NULL - return EQL
'RET'
'L1: MNEGL #1,R0' ! name1 NULL, name2 ^NULL - return LSS
'RET'
'L2: CMPB (R2),#0'
'BNEQ L4' ! name2 type not NULL
'CMPB (R1),#0'
'BNEQ L3' ! name1 type not NULL
'MOVL #0,R0' ! both NULL - return EQL
'RET'
'L3: MOVL #1,R0' ! name1 ^NULL, name2 NULL - return GTR
'RET'
'L4: NOP' ! continue in original code
exit
UPDATE
EXIT
$ if .not. $status then -
goto cleanup
$ x=f$environment("DEFAULT")+file
$ if f$file_attributes(x,"KNOWN") then -
install replace 'x
$cleanup:
$ set default 'default_save'
$ set 'verify_save'
$ exit
|