| package dbus |
| |
| import ( |
| "encoding/hex" |
| ) |
| |
| // AuthExternal returns an Auth that authenticates as the given user with the |
| // EXTERNAL mechanism. |
| func AuthExternal(user string) Auth { |
| return authExternal{user} |
| } |
| |
| // AuthExternal implements the EXTERNAL authentication mechanism. |
| type authExternal struct { |
| user string |
| } |
| |
| func (a authExternal) FirstData() ([]byte, []byte, AuthStatus) { |
| b := make([]byte, 2*len(a.user)) |
| hex.Encode(b, []byte(a.user)) |
| return []byte("EXTERNAL"), b, AuthOk |
| } |
| |
| func (a authExternal) HandleData(b []byte) ([]byte, AuthStatus) { |
| return nil, AuthError |
| } |