libadlin: New function to retrieve active tunnels
This commit is contained in:
parent
dea2436c88
commit
a75c4ee708
|
@ -153,6 +153,34 @@ func (student Student) GetTunnelTokens() (ts []TunnelToken, err error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (student Student) GetActivesTunnels() (ts []TunnelToken, err error) {
|
||||||
|
if rows, errr := DBQuery("SELECT token, token_text, id_student, pubkey, time, suffixip, version FROM student_tunnel_tokens WHERE id_student = ? ORDER BY time DESC", student.Id); errr != nil {
|
||||||
|
return nil, errr
|
||||||
|
} else if wgd, errr := readWgDump(); errr != nil {
|
||||||
|
return nil, errr
|
||||||
|
} else {
|
||||||
|
defer rows.Close()
|
||||||
|
|
||||||
|
for rows.Next() {
|
||||||
|
var t TunnelToken
|
||||||
|
if err = rows.Scan(&t.token, &t.TokenText, &t.IdStudent, &t.PubKey, &t.Time, &t.SuffixIP, &t.Version); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if t.PubKey != nil {
|
||||||
|
if v, ok := wgd[base64.StdEncoding.EncodeToString(t.PubKey)]; ok {
|
||||||
|
t.Dump = &v
|
||||||
|
ts = append(ts, t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if err = rows.Err(); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (student Student) GetTunnelToken(token []byte) (t TunnelToken, err error) {
|
func (student Student) GetTunnelToken(token []byte) (t TunnelToken, err error) {
|
||||||
err = DBQueryRow("SELECT token, token_text, id_student, pubkey, time, suffixip, version FROM student_tunnel_tokens WHERE token = ? AND id_student = ? ORDER BY time DESC", token, student.Id).Scan(&t.token, &t.TokenText, &t.IdStudent, &t.PubKey, &t.Time, &t.SuffixIP, &t.Version)
|
err = DBQueryRow("SELECT token, token_text, id_student, pubkey, time, suffixip, version FROM student_tunnel_tokens WHERE token = ? AND id_student = ? ORDER BY time DESC", token, student.Id).Scan(&t.token, &t.TokenText, &t.IdStudent, &t.PubKey, &t.Time, &t.SuffixIP, &t.Version)
|
||||||
if err == nil && t.PubKey != nil {
|
if err == nil && t.PubKey != nil {
|
||||||
|
|
Reference in New Issue
Block a user