fix: reject non tunnel request & reject duplicated port
This commit is contained in:
@ -1,7 +1,6 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"golang.org/x/crypto/ssh"
|
||||
"log"
|
||||
"net"
|
||||
@ -16,7 +15,7 @@ func (s *Server) handleConnection(conn net.Conn) {
|
||||
return
|
||||
}
|
||||
|
||||
fmt.Println("SSH connection established:", sshConn.User())
|
||||
log.Println("SSH connection established:", sshConn.User())
|
||||
|
||||
session.New(sshConn, chans, reqs)
|
||||
}
|
||||
|
||||
@ -46,14 +46,14 @@ func Handler(conn net.Conn) {
|
||||
reader := bufio.NewReader(conn)
|
||||
headers, err := peekUntilHeaders(reader, 8192)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to peek headers:", err)
|
||||
log.Println("Failed to peek headers:", err)
|
||||
return
|
||||
}
|
||||
|
||||
host := strings.Split(parseHostFromHeader(headers), ".")
|
||||
if len(host) < 1 {
|
||||
conn.Write([]byte("HTTP/1.1 400 Bad Request\r\n\r\n"))
|
||||
fmt.Println("Bad Request")
|
||||
log.Println("Bad Request")
|
||||
conn.Close()
|
||||
return
|
||||
}
|
||||
|
||||
@ -4,7 +4,6 @@ import (
|
||||
"bufio"
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"fmt"
|
||||
"golang.org/x/net/context"
|
||||
"log"
|
||||
"net"
|
||||
@ -46,7 +45,7 @@ func HandlerTLS(conn net.Conn) {
|
||||
reader := bufio.NewReader(conn)
|
||||
headers, err := peekUntilHeaders(reader, 8192)
|
||||
if err != nil {
|
||||
fmt.Println("Failed to peek headers:", err)
|
||||
log.Println("Failed to peek headers:", err)
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ type Server struct {
|
||||
}
|
||||
|
||||
func NewServer(config ssh.ServerConfig) *Server {
|
||||
listener, err := net.Listen("tcp", ":2200")
|
||||
listener, err := net.Listen("tcp", fmt.Sprintf(":%s", utils.Getenv("port")))
|
||||
if err != nil {
|
||||
log.Fatalf("failed to listen on port 2200: %v", err)
|
||||
return nil
|
||||
@ -45,7 +45,7 @@ func NewServer(config ssh.ServerConfig) *Server {
|
||||
}
|
||||
|
||||
func (s *Server) Start() {
|
||||
fmt.Println("SSH server is starting on port 2200...")
|
||||
log.Println("SSH server is starting on port 2200...")
|
||||
for {
|
||||
conn, err := (*s.Conn).Accept()
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user