| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 2108.1 | ALL-IN-1 raises privs to access the file | SCOTTC::MARSHALL | Spitfire Drivers Do It Topless | Tue Jan 19 1993 00:05 | 7 | 
|  |     As you suggest, ALL-IN-1 raises privs to access this data set on behalf
    of unprivileged users.
    
    What actions it takes, if any, to prevent users maliciously (or
    accidentally) corrupting the file, I don't know.  Probably not many.
    
    Scott
 | 
| 2108.2 | Me too! | IOSG::PYE | Graham - ALL-IN-1 Sorcerer's Apprentice | Tue Jan 19 1993 09:24 | 19 | 
|  |     Re .0
    
    Don't worry about not understanding ALL-IN-1! I have been working on it
    for over six years and I still have no idea how some of it works...
    
    There are several places where the image uses its privileges to access
    data files. The PROFILE.DAT access is the most common one. Here the
    PROFIL dataset has a special action routine that carefully validates
    the calling user and the requested action before raising privs to
    access the file. To be strictly accurate, its the data action routine
    rather than the WRITE function, which decides to raise privs.
    
    Access to the mail shared areas is another place where privs are
    raised, again after careful checks.
    
    Perhaps the ex-archive developer will give us more details of how this
    works?
    
    Graham
 | 
| 2108.3 | Brief lesson on data-sets and privileges | IOSG::SHOVE | Dave Shove -- REO2-G/M6 | Tue Jan 19 1993 12:09 | 46 | 
|  |     The way data data-sets (as opposed to text data-sets) work is this:
    
    The code searches a built-in list of data-sets for the name
    (ARCHIVE_DOCS_PENDING_RECOVERY  in this case).
    
    If it finds a data-set of that name, it uses it. If it doesn't, it uses
    a default data-set.
    
    In either case, it extracts the name of the "action routine" to use
    from the DSAB it found. In the default DSAB it's OA$RMS_ACTION. For
    PROFILE, the DSAB looks like:
    
            $DSAB(NAME='PROFIL',CLASS=DATA,
                    ACTION=OA$PROFIL_ACTION,
                    CACHE_USE=4,
                    CACHE_OPEN=32,
                    CHOICES=1,
                    PRIV = 1,
                    FILL=%C' ',
                    SIGNAL=1,
                    USER1=0,
                    USER2=0)
    
    Here, a special action routine (OA$PROFIL_ACTION) has been specified,
    which contains the code which allows users only to modify their own
    record, and even then only certain fields in that record.
    
    For ARCHIVE_DOCS_PENDING_RECOVERY, the DSAB looks like:
    
            $DSAB (NAME = 'ARCHIVE_DOCS_PENDING_RECOVERY',
                    ACTION = OA$RMS_ACTION,
                    CLASS = DATA,
                    PRIV=1,
                    SIGNAL=0,
                    FILL=%C' ',
                    CHOICES = 1)
    
    Here, the action routine is the default one, BUT the DSAB has specified 
    PRIV=1 which tells that action routine to turn on the image's privs
    before accessing the file. (This also applies to some of the other
    Archive data-sets).
    
    Now, exactly how this works I'll have to leave to the
    (ex-)archive developer.
    
    Dave.
 | 
| 2108.5 | Why the ACE for OA$MANAPP? | UTES09::EIJS | Simon Eijs @Utrecht, 7838-2558 | Tue Jan 26 1993 08:34 | 14 | 
|  |     
    Hi Stefan,
    
    One thing I'm curious about is that your example of
    ARCHIVE_DOCS_PENDING_RECOVERY.DAT contains an ACL with an ACE for
    OA$MANAPP. OA$MANAPP doesn't need access to this file in any other way
    than a normal user, and the privileges 'built-in' will do their job for
    someone with OA$MANAPP also. 
    
    ???
    
    Ciao,
    
    	Simon
 | 
| 2108.6 | Other Problems... | BERN02::MUELLERS | Stefan A. M�ller DTN 761-4864 | Wed Jan 27 1993 09:21 | 27 | 
|  |     Hi Simon,
    
    On my system which has been upgraded from V2.4 I have two
    ARCHIVE....DATs:
    
    $  dir /sec oa$data:ARCHIVE_DOCS_PENDING_RECOVERY.DAT/nodate
    
    Directory A1DISK:[ALLIN1.SITE.DATA_SHARE]
    
    ARCHIVE_DOCS_PENDING_RECOVERY.DAT;1
                             15  [ALLIN1]              (RWED,RWED,RE,RE)
              (IDENTIFIER=OA$MANAPP,ACCESS=READ+WRITE+EXECUTE+DELETE)
    
    Total of 1 file, 15 blocks.
    
    Directory A1DISK:[ALLIN1.DATA_SHARE]
    
    ARCHIVE_DOCS_PENDING_RECOVERY.DAT;11
                              3  [ALLIN1]              (RWED,RWED,RE,RE)
    
    Total of 1 file, 3 blocks.
    
    
    This is another problem I have to solve....Maybe someone has the same
    behaviour on an upgraded system. 
    
    Stefan
 | 
| 2108.7 | The same ACL-s and files | BPSOF::LOVAS | Kati Lovas | Fri Sep 17 1993 09:32 | 36 | 
|  |         Simon,
        
        our system shows exactly the same !
        
        Upgraded from 2.4 to 3.0 with K701 patch.
        The upgrade date is: 11-dec-1992.
        Look:
Directory ALLIN1$DATA:[DATA.SITE.DATA_SHARE]
ARCHIVE_DOCS_PENDING_RECOVERY.DAT;1
                        156  11-DEC-1992 18:46:31.69  OA$MANAPP             
(RWED,RWED,RE,RE)
          (IDENTIFIER=OA$MANAPP,ACCESS=READ+WRITE+EXECUTE+DELETE)
Total of 1 file, 156 blocks.
Directory ALLIN1$DATA:[DATA.DATA_SHARE]
ARCHIVE_DOCS_PENDING_RECOVERY.DAT;47
                          3   9-SEP-1993 01:05:53.05  [DESK,ALLIN1]         
(RWED,RWED,RWED,RE)
ARCHIVE_DOCS_PENDING_RECOVERY.DAT;46
                          3   2-SEP-1993 01:07:22.94  [DESK,ALLIN1]         
(RWED,RWED,RWED,RE)
Total of 2 files, 6 blocks.
Grand total of 2 directories, 3 files, 162 blocks.
	Strange around dates ???
	Kati
 | 
| 2108.8 | Er, I think it's a bug! | IOSG::PYE | Graham - ALL-IN-1 Sorcerer's Apprentice | Fri Sep 17 1993 10:52 | 26 | 
|  |     Well this would seem to be a bug in the upgrade...
    
    The PostInstall Script ARC_PEND_CONV.SCP copies the existing 310 byte
    length record file into OA$DATA:V24_ARCHIVE_DOCS_PENDING.DAT, this of
    course goes to the first part of the OA$DATA search list, i.e.
    OA$SITE_DATA_SHARE. Then it goes on to do an OA$CNV_CONVERT of this
    file using the ARCHIVE_DOCS_PENDING_RECOVERY form, which since it too
    specifies OA$DATA as the file location, makes the converted (now 320
    byte length records) file go into OA$SITE_DATA_SHARE too.
    
    Since the installation has previously (correctly :-) ) put a default
    ACL for OA$MANAPP on the OA$SITE_DATA_SHARE directory, the new data
    files get that ACL too.
    
    Bit of course, all of this should still work, since the new version of
    the file will be found first...
    
    So the (tidy-up) workround is to move the newly converted file into
    OA$DATA_SHARE and get rid of the old version. Of course, if you are
    runing the reorganise files housekeeping procedure, it specifically
    references the file with OA$DATA_SHARE, and $CONVERT/FDLs the old file
    into its new record length....
    
    I'll report this internally!
    
    Graham
 | 
| 2108.9 | Outstanding problem from .0 ..... | IOSG::PYE | Graham - ALL-IN-1 Sorcerer's Apprentice | Fri Sep 17 1993 11:31 | 5 | 
|  |     Of course this still doesn't explain how the file described in .0 got
    OA$MANAPP on it, since that system had the data file correctly placed
    in OA$DATA_SHARE...
    
    Graham
 |