Update
This commit is contained in:
1 parent
3530afb854
commit
6903fcff27
2146 files changed
+112256
-190703
No files matched your search
+15
-8
@@ -1,5 +1,4 @@
|
||||
//go:build !windows && !solaris
|
||||
// +build !windows,!solaris
|
||||
|
||||
package dbus
|
||||
|
||||
@@ -55,6 +54,14 @@ type unixTransport struct {
|
||||
hasUnixFDs bool
|
||||
}
|
||||
|
||||
func newUnixTransportFromConn(conn *net.UnixConn) transport {
|
||||
t := new(unixTransport)
|
||||
t.UnixConn = conn
|
||||
t.hasUnixFDs = true
|
||||
|
||||
return t
|
||||
}
|
||||
|
||||
func newUnixTransport(keys string) (transport, error) {
|
||||
var err error
|
||||
|
||||
@@ -134,16 +141,16 @@ func (t *unixTransport) ReadMessage() (*Message, error) {
|
||||
}
|
||||
|
||||
msg := &Message{
|
||||
Type: t.rdr.msghead.Type,
|
||||
Flags: t.rdr.msghead.Flags,
|
||||
serial: t.rdr.msghead.Serial,
|
||||
Type: t.rdr.Type,
|
||||
Flags: t.rdr.Flags,
|
||||
serial: t.rdr.Serial,
|
||||
}
|
||||
// Length of header fields (without alignment).
|
||||
hlen := t.rdr.msghead.HeaderLen
|
||||
hlen := t.rdr.HeaderLen
|
||||
if hlen%8 != 0 {
|
||||
hlen += 8 - (hlen % 8)
|
||||
}
|
||||
if hlen+t.rdr.msghead.BodyLen+16 > 1<<27 {
|
||||
if hlen+t.rdr.BodyLen+16 > 1<<27 {
|
||||
return nil, InvalidMessageError("message is too long")
|
||||
}
|
||||
|
||||
@@ -167,7 +174,7 @@ func (t *unixTransport) ReadMessage() (*Message, error) {
|
||||
var unixfds uint32
|
||||
for _, v := range t.rdr.headers {
|
||||
if v.Field == byte(FieldUnixFDs) {
|
||||
unixfds, _ = v.Variant.value.(uint32)
|
||||
unixfds, _ = v.value.(uint32)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,7 +271,7 @@ func (t *unixTransport) SendMessage(msg *Message) error {
|
||||
return err
|
||||
}
|
||||
oob := syscall.UnixRights(fds...)
|
||||
n, oobn, err := t.UnixConn.WriteMsgUnix(buf.Bytes(), oob, nil)
|
||||
n, oobn, err := t.WriteMsgUnix(buf.Bytes(), oob, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user