1
0
mirror of https://github.com/fumiama/go-nd-portal.git synced 2026-07-02 09:00:25 +08:00

chore(lint): 改进代码样式 (#2)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
github-actions[bot]
2025-05-18 21:04:57 +09:00
committed by GitHub
parent 0fb9dda436
commit 7b844523eb
3 changed files with 105 additions and 109 deletions

View File

@@ -17,22 +17,22 @@ import (
var ( var (
// ErrIllegalIPv4 is returned when an invalid IPv4 address is provided // ErrIllegalIPv4 is returned when an invalid IPv4 address is provided
ErrIllegalIPv4 = errors.New("illegal ipv4") ErrIllegalIPv4 = errors.New("illegal ipv4")
// ErrIllegalLoginType is returned when an invalid login type is provided // ErrIllegalLoginType is returned when an invalid login type is provided
ErrIllegalLoginType = errors.New("illegal login type") ErrIllegalLoginType = errors.New("illegal login type")
// ErrUnexpectedChallengeResponse is returned when challenge is shorter than expected // ErrUnexpectedChallengeResponse is returned when challenge is shorter than expected
ErrUnexpectedChallengeResponse = errors.New("unexpected challenge response") ErrUnexpectedChallengeResponse = errors.New("unexpected challenge response")
// ErrUnexpectedLoginResponse is returned when login resp is shorter than expected // ErrUnexpectedLoginResponse is returned when login resp is shorter than expected
ErrUnexpectedLoginResponse = errors.New("unexpected login response") ErrUnexpectedLoginResponse = errors.New("unexpected login response")
) )
// Portal struct for login config // Portal struct for login config
type Portal struct { type Portal struct {
name string name string
pswd string pswd string
ip net.IP ip net.IP
domain string domain string
acid string acid string
} }
// LoginType defines known login types // LoginType defines known login types
@@ -92,11 +92,11 @@ func NewPortal(name, password string, ipv4 net.IP, loginType LoginType) (*Portal
logrus.Debugf("portal domain: %s, ac_id: %s", domain, acid) logrus.Debugf("portal domain: %s, ac_id: %s", domain, acid)
return &Portal{ return &Portal{
name: name, name: name,
pswd: password, pswd: password,
ip: ipv4, ip: ipv4,
domain: domain, domain: domain,
acid: acid, acid: acid,
}, nil }, nil
} }

View File

@@ -17,19 +17,19 @@ import (
const ( const (
// PortalServerIPQsh default Server IP String in Qsh work area // PortalServerIPQsh default Server IP String in Qsh work area
PortalServerIPQsh = "10.253.0.237" PortalServerIPQsh = "10.253.0.237"
// PortalServerIPQshDorm default Server IP String in Qsh new dorm area // PortalServerIPQshDorm default Server IP String in Qsh new dorm area
PortalServerIPQshDorm = "10.253.0.235" PortalServerIPQshDorm = "10.253.0.235"
// PortalDomainQsh PortalDomain for qsh-edu login type // PortalDomainQsh PortalDomain for qsh-edu login type
PortalDomainQsh = "@dx-uestc" PortalDomainQsh = "@dx-uestc"
// PortalDomainQshDX PortalDomain for qsh-dx, qshd-dx login types // PortalDomainQshDX PortalDomain for qsh-dx, qshd-dx login types
PortalDomainQshDX = "@dx" PortalDomainQshDX = "@dx"
// PortalDomainQshCMCC PortalDomain for qshd-cmcc login type // PortalDomainQshCMCC PortalDomain for qshd-cmcc login type
PortalDomainQshCMCC = "@cmcc" PortalDomainQshCMCC = "@cmcc"
// PortalGetChallenge GetChallenge URL // PortalGetChallenge GetChallenge URL
PortalGetChallenge = "http://%v/cgi-bin/get_challenge?%s" PortalGetChallenge = "http://%v/cgi-bin/get_challenge?%s"
// 1.server IP // 1.server IP
// 2.callback // 2.callback
// 3.username 4.PortalDomain // 3.username 4.PortalDomain
@@ -38,12 +38,12 @@ const (
// PortalGetChallenge = "http://%v/cgi-bin/get_challenge?callback=%s&username=%s%s&ip=%v&_=%d" // PortalGetChallenge = "http://%v/cgi-bin/get_challenge?callback=%s&username=%s%s&ip=%v&_=%d"
// AcIDQsh ACID for Qsh work area // AcIDQsh ACID for Qsh work area
AcIDQsh = "1" AcIDQsh = "1"
// AcIDQshDorm ACID for Qsh new dorm area // AcIDQshDorm ACID for Qsh new dorm area
AcIDQshDorm = "3" AcIDQshDorm = "3"
// PortalCGI Auth CGI URL // PortalCGI Auth CGI URL
PortalCGI = "http://%v/cgi-bin/srun_portal?%s" PortalCGI = "http://%v/cgi-bin/srun_portal?%s"
// qsh LoginURL key-value order // qsh LoginURL key-value order
// 1.server IP // 1.server IP
// 2.callback // 2.callback
@@ -59,28 +59,28 @@ const (
// GetChallengeReq struct for GetChallenge URL query // GetChallengeReq struct for GetChallenge URL query
type GetChallengeReq struct { type GetChallengeReq struct {
Callback string `url:"callback"` Callback string `url:"callback"`
Username string `url:"username"` Username string `url:"username"`
IP string `url:"ip"` IP string `url:"ip"`
Timestamp int64 `url:"_"` Timestamp int64 `url:"_"`
} }
// GetPortalReq struct for Portal Auth CGI URL query // GetPortalReq struct for Portal Auth CGI URL query
type GetPortalReq struct { type GetPortalReq struct {
Callback string `url:"callback"` Callback string `url:"callback"`
Action string `url:"action"` Action string `url:"action"`
Username string `url:"username"` Username string `url:"username"`
EncryptedPassword string `url:"password"` EncryptedPassword string `url:"password"`
AcID string `url:"ac_id"` AcID string `url:"ac_id"`
IP string `url:"ip"` IP string `url:"ip"`
Checksum string `url:"chksum"` Checksum string `url:"chksum"`
EncodedUserInfo string `url:"info"` EncodedUserInfo string `url:"info"`
ConstantN string `url:"n"` ConstantN string `url:"n"`
ConstantType string `url:"type"` ConstantType string `url:"type"`
OS string `url:"os"` OS string `url:"os"`
Platform string `url:"name"` Platform string `url:"name"`
DoubleStack string `url:"double_stack"` DoubleStack string `url:"double_stack"`
Timestamp int64 `url:"_"` Timestamp int64 `url:"_"`
} }
// GetChallengeURL generates the URL for getchallenge req // GetChallengeURL generates the URL for getchallenge req
@@ -90,12 +90,11 @@ func GetChallengeURL(
username, domain string, username, domain string,
cIP net.IP, cIP net.IP,
timestamp int64) (string, error) { timestamp int64) (string, error) {
v, err := query.Values(&GetChallengeReq{ v, err := query.Values(&GetChallengeReq{
Callback: callback, Callback: callback,
Username: username + domain, Username: username + domain,
IP: cIP.String(), IP: cIP.String(),
Timestamp: timestamp, Timestamp: timestamp,
}) })
if err != nil { if err != nil {
return "", err return "", err
@@ -115,22 +114,21 @@ func GetLoginURL(
chksum, chksum,
info string, info string,
timestamp int64) (string, error) { timestamp int64) (string, error) {
v, err := query.Values(&GetPortalReq{ v, err := query.Values(&GetPortalReq{
Callback: callback, Callback: callback,
Action: "login", Action: "login",
Username: username + domain, Username: username + domain,
EncryptedPassword: "{MD5}" + md5Password, EncryptedPassword: "{MD5}" + md5Password,
AcID: acid, AcID: acid,
IP: cIP.String(), IP: cIP.String(),
Checksum: chksum, Checksum: chksum,
EncodedUserInfo: "{SRBX1}" + info, EncodedUserInfo: "{SRBX1}" + info,
ConstantN: "200", ConstantN: "200",
ConstantType: "1", ConstantType: "1",
OS: "Windows 10", OS: "Windows 10",
Platform: "Windows", Platform: "Windows",
DoubleStack: "0", DoubleStack: "0",
Timestamp: timestamp, Timestamp: timestamp,
}) })
if err != nil { if err != nil {
return "", err return "", err
@@ -160,14 +158,13 @@ func GetUserInfo(
password string, password string,
cIP net.IP, cIP net.IP,
acid string) (string, error) { acid string) (string, error) {
var b strings.Builder var b strings.Builder
err := json.NewEncoder(&b).Encode(&UserInfo{ err := json.NewEncoder(&b).Encode(&UserInfo{
Username: username + domain, Username: username + domain,
Password: password, Password: password,
IP: cIP.String(), IP: cIP.String(),
AcID: acid, AcID: acid,
EncVer: "srun_bx1", EncVer: "srun_bx1",
}) })
if err != nil { if err != nil {
return "", err return "", err
@@ -240,7 +237,6 @@ func (p *Portal) CheckSum(
acid string, acid string,
cIP net.IP, cIP net.IP,
info string) string { info string) string {
var buf [20]byte var buf [20]byte
h := sha1.New() h := sha1.New()
_, _ = h.Write(helper.StringToBytes(challenge)) _, _ = h.Write(helper.StringToBytes(challenge))