Module: Rex::Proto::TFTP

Defined in:
lib/rex/proto/tftp/client.rb,
lib/rex/proto/tftp/server.rb,
lib/rex/proto/tftp/constants.rb

Defined Under Namespace

Classes: Client, Server

Constant Summary collapse

OPCODES =
%w{ Unknown RRQ WRQ DATA ACK ERROR }
OpRead =
1
OpWrite =
2
OpData =
3
OpAck =
4
OpError =
5
OpOptAck =
6
ERRCODES =
[
	"Undefined",
	"File not found",
	"Access violation",
	"Disk full or allocation exceeded",
	"Illegal TFTP operation",
	"Unknown transfer ID",
	"File already exists",
	"No such user",
	"Failed option negotiation"
]
ErrFileNotFound =
1
ErrAccessViolation =
2
ErrDiskFull =
3
ErrIllegalOperation =
4
ErrUnknownTransferId =
5
ErrFileExists =
6
ErrNoSuchUser =
7
ErrFailedOptNegotiation =
8

Class Method Summary collapse

Class Method Details

.get_string(data) ⇒ Object

Little util function



13
14
15
16
17
18
19
20
# File 'lib/rex/proto/tftp/server.rb', line 13

def self.get_string(data)
	idx = data.index("\x00")
	return nil if not idx
	ret = data.slice!(0, idx)
	# Slice off the nul byte.
	data.slice!(0,1)
	ret
end