OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.19.4
/
src
/
vendor
/
golang.org
/
x
/
net
/
route
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
12/01/2022 06:13:56 PM
rwxr-xr-x
📄
address.go
9.85 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
binary.go
2.78 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
empty.s
279 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface.go
1.92 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface_announce.go
805 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface_classic.go
1.63 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface_freebsd.go
1.9 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface_multicast.go
864 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
interface_openbsd.go
2.13 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
message.go
1.58 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
route.go
4.27 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
route_classic.go
1.9 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
route_openbsd.go
1.7 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys.go
969 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_darwin.go
2.67 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_dragonfly.go
2.67 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_freebsd.go
4.58 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_netbsd.go
2.15 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
sys_openbsd.go
2.05 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
syscall.go
446 bytes
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_darwin.go
1.96 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_dragonfly.go
1.95 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_freebsd_386.go
2.8 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_freebsd_amd64.go
2.7 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_freebsd_arm.go
2.7 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_freebsd_arm64.go
2.7 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_netbsd.go
1.89 KB
12/01/2022 06:13:01 PM
rw-r--r--
📄
zsys_openbsd.go
1.95 KB
12/01/2022 06:13:01 PM
rw-r--r--
Editing: message.go
Close
// Copyright 2016 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. //go:build darwin || dragonfly || freebsd || netbsd || openbsd // +build darwin dragonfly freebsd netbsd openbsd package route // A Message represents a routing message. type Message interface { // Sys returns operating system-specific information. Sys() []Sys } // A Sys reprensents operating system-specific information. type Sys interface { // SysType returns a type of operating system-specific // information. SysType() SysType } // A SysType represents a type of operating system-specific // information. type SysType int const ( SysMetrics SysType = iota SysStats ) // ParseRIB parses b as a routing information base and returns a list // of routing messages. func ParseRIB(typ RIBType, b []byte) ([]Message, error) { if !typ.parseable() { return nil, errUnsupportedMessage } var msgs []Message nmsgs, nskips := 0, 0 for len(b) > 4 { nmsgs++ l := int(nativeEndian.Uint16(b[:2])) if l == 0 { return nil, errInvalidMessage } if len(b) < l { return nil, errMessageTooShort } if b[2] != rtmVersion { b = b[l:] continue } if w, ok := wireFormats[int(b[3])]; !ok { nskips++ } else { m, err := w.parse(typ, b[:l]) if err != nil { return nil, err } if m == nil { nskips++ } else { msgs = append(msgs, m) } } b = b[l:] } // We failed to parse any of the messages - version mismatch? if nmsgs != len(msgs)+nskips { return nil, errMessageMismatch } return msgs, nil }