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:
committed by
GitHub
parent
0fb9dda436
commit
7b844523eb
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
104
portal/server.go
104
portal/server.go
@@ -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))
|
||||||
|
|||||||
Reference in New Issue
Block a user