Skip to content

Commit c33f966

Browse files
committed
Revert "Stricter CORS headers"
1 parent d9eca8e commit c33f966

File tree

1 file changed

+33
-46
lines changed

1 file changed

+33
-46
lines changed

main.go

Lines changed: 33 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@
44
package main
55

66
import (
7-
"errors"
87
"flag"
9-
"net"
108
"os"
119
"os/user"
1210
"path/filepath"
@@ -16,9 +14,9 @@ import (
1614
"time"
1715

1816
log "github.com/Sirupsen/logrus"
19-
"github.com/itsjamie/gin-cors"
2017
"github.com/carlescere/scheduler"
2118
"github.com/gin-gonic/gin"
19+
"github.com/itsjamie/gin-cors"
2220
"github.com/kardianos/osext"
2321
"github.com/vharitonsky/iniflags"
2422
//"github.com/sanbornm/go-selfupdate/selfupdate" #included in update.go to change heavily
@@ -77,21 +75,6 @@ func launchSelfLater() {
7775
log.Println("Done waiting 2 secs. Now launching...")
7876
}
7977

80-
// getBindPort returns the first bindable port in the given range
81-
func getBindPort(minPort, maxPort int) (int, error) {
82-
83-
for i := minPort; i < maxPort; i++ {
84-
ln, _ := net.Listen("tcp", ":"+strconv.Itoa(i))
85-
if ln != nil {
86-
ln.Close()
87-
return i, nil
88-
}
89-
}
90-
91-
return -1, errors.New("Unable to bind any port in the range [" + strconv.Itoa(minPort) + "," + strconv.Itoa(maxPort) + ")")
92-
93-
}
94-
9578
func main() {
9679

9780
flag.Parse()
@@ -232,22 +215,11 @@ func main() {
232215

233216
socketHandler := wsHandler().ServeHTTP
234217

235-
portPlain, err := getBindPort(8990, 9001)
236-
if err != nil {
237-
panic(err)
238-
}
239-
// All the ports p in the range 8990 <= p <= portPlain
240-
// has already been scanned and results not free.
241-
// Thus we can restrict the search range for portSSL
242-
// to [portPlain+1, 9001).
243-
portSSL, err := getBindPort(portPlain+1, 9001)
244-
if err != nil {
245-
panic(err)
246-
}
247-
248218
extraOriginStr := "https://create.arduino.cc, http://create.arduino.cc, https://create-dev.arduino.cc, http://create-dev.arduino.cc, http://create-staging.arduino.cc, https://create-staging.arduino.cc"
249-
extraOriginStr += ", http://localhost:" + strconv.Itoa(portPlain) + ", https://localhost:" + strconv.Itoa(portPlain)
250-
extraOriginStr += ", http://localhost:" + strconv.Itoa(portSSL) + ", https://localhost:" + strconv.Itoa(portSSL)
219+
220+
for i := 8990; i < 9001; i++ {
221+
extraOriginStr = extraOriginStr + ", http://localhost:" + strconv.Itoa(i) + ", https://localhost:" + strconv.Itoa(i)
222+
}
251223

252224
r.Use(cors.Middleware(cors.Config{
253225
Origins: *origins + ", " + extraOriginStr,
@@ -275,23 +247,38 @@ func main() {
275247
return
276248
}
277249

278-
portStr := ":" + strconv.Itoa(portSSL)
279-
if err := r.RunTLS(portStr, filepath.Join(dest, "cert.pem"), filepath.Join(dest, "key.pem")); err != nil {
280-
log.Printf("Error trying to bind to port: %v, so exiting...", err)
281-
} else {
282-
ip := "0.0.0.0"
283-
log.Print("Starting server and websocket (SSL) on " + ip + "" + port)
250+
start := 8990
251+
end := 9000
252+
i := start
253+
for i < end {
254+
i = i + 1
255+
portSSL = ":" + strconv.Itoa(i)
256+
if err := r.RunTLS(portSSL, filepath.Join(dest, "cert.pem"), filepath.Join(dest, "key.pem")); err != nil {
257+
log.Printf("Error trying to bind to port: %v, so exiting...", err)
258+
continue
259+
} else {
260+
ip := "0.0.0.0"
261+
log.Print("Starting server and websocket (SSL) on " + ip + "" + port)
262+
break
263+
}
284264
}
285265
}()
286266

287267
go func() {
288-
289-
portStr := ":" + strconv.Itoa(portPlain)
290-
if err := r.Run(portStr); err != nil {
291-
log.Printf("Error trying to bind to port: %v, so exiting...", err)
292-
} else {
293-
ip := "0.0.0.0"
294-
log.Print("Starting server and websocket on " + ip + "" + port)
268+
start := 8990
269+
end := 9000
270+
i := start
271+
for i < end {
272+
i = i + 1
273+
port = ":" + strconv.Itoa(i)
274+
if err := r.Run(port); err != nil {
275+
log.Printf("Error trying to bind to port: %v, so exiting...", err)
276+
continue
277+
} else {
278+
ip := "0.0.0.0"
279+
log.Print("Starting server and websocket on " + ip + "" + port)
280+
break
281+
}
295282
}
296283
}()
297284

0 commit comments

Comments
 (0)