This file is indexed.

/usr/lib/scsi/peripheral is in scsitools 0.12-2.2ubuntu1.

This file is owned by root:root, with mode 0o755.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
#!/usr/bin/wish -f
# Copyright 1993 Yggdrasil Computing, Incorporated
# You may copy this file according to the terms and conditions of version 2
# of the GNU General Public License as published by the Free Software
# Foundation.

frame .h
label .h.info -bitmap info -bg pink
message .h.message -width 400 -bg pink -text \
	{Peripheral Device Page configuration.}

pack .h.info .h.message -padx 10 -side left
pack .h -pady 10

message .message2 -width 400 -bg red -fg white -justify center -text \
	{Warning - Enter the same number of hex-digits under\
	Vendor Data as was read in by the program. Even if\
	you are allowed to edit Vendor Data, you should not\
	change it except when you definitely know (that is\
	you have the required device specific docs) the\
	target device. Otherwise anything (even configuring\
	the device to permanent unusability) is possible!}

pack .message2

source /usr/lib/scsi/generic

proc read_page { device option } {
    global text_list
    global switch
    set line {}
    exec /sbin/scsiinfo -X $switch $option $device > /var/run/cachepage 2> /dev/null
    if {[catch {set file [open /var/run/cachepage r]}] == 1} return;
    gets $file line
    gets $file asciidesc
    close $file
    exec rm /var/run/cachepage

    .ident.text delete 1.0 end
    .ident.text insert end [lindex $line 0]

    .vendor.text delete 1.0 end
    .vendor.text insert end [string range [lindex $line 1] 1 end]

    .identasc.text delete 1.0
    .identasc.text insert end "$asciidesc"
}

proc read_modifiable { device } {
    global button_list
    global text_list
    global switch
    set line {}
    exec /sbin/scsiinfo -X -m $switch $device > /var/run/cachepage
    if {[catch {set file [open /var/run/cachepage r]}] == 1} return;
    gets $file line
    close $file
    exec rm /var/run/cachepage

    if { [ string compare [lindex $line 0] "0" ] == 0} \
      then { .ident.text configure -state disabled } \
      else { .ident.text configure -background white }

    set vendor [string range [lindex $line 1] 1 end]
    append vendor 0

    if { [ expr { $vendor } ] == 0  } \
      then { .vendor.text configure -state disabled } \
      else { .vendor.text configure -background white }

    .identasc.text configure -state disabled
}

proc write_page { device option } {
    global button_list
    global text_list
    global switch
    set lineno 0
    set r3  [concat -X $switch -R $device]

    set r3 [concat $r3 [.ident.text get 1.0 end]]
    set r3 [concat $r3 @[.vendor.text get 1.0 end]]


    set file [open /var/run/wrscsi w]
    puts $file "/sbin/scsiinfo $r3"
    close $file
    exec sh < /var/run/wrscsi
    exec rm /var/run/wrscsi
}



# Here we set the bits that depend upon the menu we are in
set button_list {  }
set text_list { ident identasc vendor }

set text_descriptions {"Interface Identifier " "Interface Identifier (ASCII) " "Vendor Data "}

set switch {-p}
set label_width 25
set text_width 40

frame .f1

generate_textboxes

pack .ident .identasc .vendor -in .f1 -pady 10 -anchor w
pack .f1 -side left -padx 3m -pady 3m

read_page $argv "-X"
read_modifiable $argv