This file is indexed.

/usr/lib/ruby/vendor_ruby/net/sftp/constants.rb is in ruby-net-sftp 1:2.1.2-3.

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

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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
module Net module SFTP

  # The packet types and other general constants used by the SFTP protocol.
  # See the specification for the SFTP protocol for a full discussion of their
  # meaning and usage.
  module Constants

    # The various packet types supported by SFTP protocol versions 1 through 6.
    # The FXP_EXTENDED and FXP_EXTENDED_REPLY packet types are not currently
    # understood by Net::SFTP.
    module PacketTypes
      FXP_INIT           = 1
      FXP_VERSION        = 2
                         
      FXP_OPEN           = 3
      FXP_CLOSE          = 4
      FXP_READ           = 5
      FXP_WRITE          = 6
      FXP_LSTAT          = 7
      FXP_FSTAT          = 8
      FXP_SETSTAT        = 9
      FXP_FSETSTAT       = 10
      FXP_OPENDIR        = 11
      FXP_READDIR        = 12
      FXP_REMOVE         = 13
      FXP_MKDIR          = 14
      FXP_RMDIR          = 15
      FXP_REALPATH       = 16
      FXP_STAT           = 17
      FXP_RENAME         = 18
      FXP_READLINK       = 19
      FXP_SYMLINK        = 20
      FXP_LINK           = 21
      FXP_BLOCK          = 22
      FXP_UNBLOCK        = 23
                         
      FXP_STATUS         = 101
      FXP_HANDLE         = 102
      FXP_DATA           = 103
      FXP_NAME           = 104
      FXP_ATTRS          = 105
                         
      FXP_EXTENDED       = 200
      FXP_EXTENDED_REPLY = 201
    end

    # Beginning in version 5 of the protocol, Net::SFTP::Session#rename accepts
    # an optional +flags+ argument that must be either 0 or a combination of
    # these constants.
    module RenameFlags
      OVERWRITE = 0x00000001
      ATOMIC    = 0x00000002
      NATIVE    = 0x00000004
    end

    # When an FXP_STATUS packet is received from the server, the +code+ will
    # be one of the following constants.
    module StatusCodes
      FX_OK                     = 0
      FX_EOF                    = 1
      FX_NO_SUCH_FILE           = 2
      FX_PERMISSION_DENIED      = 3
      FX_FAILURE                = 4
      FX_BAD_MESSAGE            = 5
      FX_NO_CONNECTION          = 6
      FX_CONNECTION_LOST        = 7
      FX_OP_UNSUPPORTED         = 8
      FX_INVALID_HANDLE         = 9
      FX_NO_SUCH_PATH           = 10
      FX_FILE_ALREADY_EXISTS    = 11
      FX_WRITE_PROTECT          = 12
      FX_NO_MEDIA               = 13
      FX_NO_SPACE_ON_FILESYSTEM = 14
      FX_QUOTA_EXCEEDED         = 15
      FX_UNKNOWN_PRINCIPLE      = 16
      FX_LOCK_CONFlICT          = 17
      FX_DIR_NOT_EMPTY          = 18
      FX_NOT_A_DIRECTORY        = 19
      FX_INVALID_FILENAME       = 20
      FX_LINK_LOOP              = 21
    end

    # The Net::SFTP::Session#open operation is one of the worst casualties of
    # the revisions between SFTP protocol versions. The flags change considerably
    # between version 1 and version 6. Net::SFTP tries to shield programmers
    # from the differences, so you'll almost never need to use these flags
    # directly, but if you ever need to specify some flag that isn't exposed
    # by the higher-level API, these are the ones that are available to you.
    module OpenFlags
      # These are the flags that are understood by versions 1-4 of the the
      # open operation.
      module FV1
        READ   = 0x00000001
        WRITE  = 0x00000002
        APPEND = 0x00000004
        CREAT  = 0x00000008
        TRUNC  = 0x00000010
        EXCL   = 0x00000020
      end

      # Version 5 of the open operation totally discarded the flags understood
      # by versions 1-4, and replaced them with these.
      module FV5
        CREATE_NEW         = 0x00000000
        CREATE_TRUNCATE    = 0x00000001
        OPEN_EXISTING      = 0x00000002
        OPEN_OR_CREATE     = 0x00000003
        TRUNCATE_EXISTING  = 0x00000004

        APPEND_DATA        = 0x00000008
        APPEND_DATA_ATOMIC = 0x00000010
        TEXT_MODE          = 0x00000020
        READ_LOCK          = 0x00000040
        WRITE_LOCK         = 0x00000080
        DELETE_LOCK        = 0x00000100
      end

      # Version 6 of the open operation added these flags, in addition to the
      # flags understood by version 5.
      module FV6
        ADVISORY_LOCK           = 0x00000200
        NOFOLLOW                = 0x00000400
        DELETE_ON_CLOSE         = 0x00000800
        ACCESS_AUDIT_ALARM_INFO = 0x00001000
        ACCESS_BACKUP           = 0x00002000
        BACKUP_STREAM           = 0x00004000
        OVERRIDE_OWNER          = 0x00008000
      end
    end

    # The Net::SFTP::Session#block operation, implemented in version 6 of
    # the protocol, understands these constants for the +mask+ parameter.
    module LockTypes
      READ     = OpenFlags::FV5::READ_LOCK
      WRITE    = OpenFlags::FV5::WRITE_LOCK
      DELETE   = OpenFlags::FV5::DELETE_LOCK
      ADVISORY = OpenFlags::FV6::ADVISORY_LOCK
    end

    module ACE
      # Access control entry types, used from version 4 of the protocol,
      # onward. See Net::SFTP::Protocol::V04::Attributes::ACL.
      module Type
        ACCESS_ALLOWED = 0x00000000
        ACCESS_DENIED  = 0x00000001
        SYSTEM_AUDIT   = 0x00000002
        SYSTEM_ALARM   = 0x00000003
      end

      # Access control entry flags, used from version 4 of the protocol,
      # onward. See Net::SFTP::Protocol::V04::Attributes::ACL.
      module Flag
        FILE_INHERIT         = 0x00000001
        DIRECTORY_INHERIT    = 0x00000002
        NO_PROPAGATE_INHERIT = 0x00000004
        INHERIT_ONLY         = 0x00000008
        SUCCESSFUL_ACCESS    = 0x00000010
        FAILED_ACCESS        = 0x00000020
        IDENTIFIER_GROUP     = 0x00000040
      end

      # Access control entry masks, used from version 4 of the protocol,
      # onward. See Net::SFTP::Protocol::V04::Attributes::ACL.
      module Mask
        READ_DATA         = 0x00000001
        LIST_DIRECTORY    = 0x00000001
        WRITE_DATA        = 0x00000002
        ADD_FILE          = 0x00000002
        APPEND_DATA       = 0x00000004
        ADD_SUBDIRECTORY  = 0x00000004
        READ_NAMED_ATTRS  = 0x00000008
        WRITE_NAMED_ATTRS = 0x00000010
        EXECUTE           = 0x00000020
        DELETE_CHILD      = 0x00000040
        READ_ATTRIBUTES   = 0x00000080
        WRITE_ATTRIBUTES  = 0x00000100
        DELETE            = 0x00010000
        READ_ACL          = 0x00020000
        WRITE_ACL         = 0x00040000
        WRITE_OWNER       = 0x00080000
        SYNCHRONIZE       = 0x00100000
      end
    end

  end

end end