> > The reset-to-default behavior depends on the hardware's capability. Some 
> > scanners support reset operation. Upon device close/open, a reset  
> > command will be sent to the device. For those that don't support 
> > hardware reset, the backend will call its own init_options() or similar 
> > function to set default parameters for a device upon sane_init(), 
> > sane_open() or  sane_start()[1], then write such parameters to device to 
> > acquire data. Some backend may even use all the methods to set initial 
> > state of a scanner. Application can change the parameter values by 
> > calling sane_control_option().  So, whenever a user starts to acquire 
> > image data from a scanner, the scanner's state is reset.
> 
> My understanding of the above summary is that "device clean" is 
> effectively built into the API and to the scanimage(1) command. 
> However given that the devices are managed by logindevperm when not 
> running with Trusted Extensions this is more than should be necessary.
> 
> When Trusted Extensions is enabled (svcadm enable labeled) the 
> logindevperm entries that give access to the USB scanner devices (via 
> libusb/ugen(7D)) are disabled from logindevperm.  This means the system 
> is "safe" though scanner devices can't be allocated.
> 
> Fixing the allocation of non mass-storage/audio devices when running 
> with Trusted Extensions is very much out of scope for this case.  I 
> think such a case is needed; but I don't currently see any value in 
> derailing this case to write an opinion to say so.  Instead I've logged 
> bugster CR# 6676059.

        As sort of a last word I hope %^}.  Object reuse is a Solaris
        requirement.  Object reuse applies to ALL objects within Solaris.
        (Trusted Extensions has labeling requirements for the import and
        export of labeled data, the device allocation framework is used
        to aid in meeting the labeling requirements)

        The issue, as I see it, is that in this case's materials I noted
        that there was a potential object reuse issue that didn't seem
        to be dealt with.  The issue deals with both data (documents
        left in the scanner) and state.  While this might be a general
        USB libusb/ugen() issue, I'd not noticed it before.  When I
        was first looking at this it was for HAL.  Devices managed
        by HAL are configurable to do object reuse (through device
        allocation).  What's the resolution?  This project team says
        "not my job man".  Management has given me the impression that
        the team that integrates is responsible for the fullness of the
        requirements.  Do we unwind libusb/ugen() and have that team
        (I'm guessing usb/usb_sw/ugen Frits Vanderlinden) complete the work?
        Do we make this case dependent on that work being done by another
        project?  Or do we say, too bad, that's not going to get done and
        this case makes it no worse?  I don't believe writing an opinion
        will provide value for this case.  As this is doing no more
        harm than the other things that might currently be present in
        the non-mass-storage USB world, I'm not going to hold it up.
        Fixing the missing general USB issues is a problem to be
        raised to management.

Gary..

Reply via email to