summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/application.go4
-rw-r--r--client/client/client.go10
-rw-r--r--client/main.go3
3 files changed, 12 insertions, 5 deletions
diff --git a/client/application.go b/client/application.go
index ad5f2c6..0debedd 100644
--- a/client/application.go
+++ b/client/application.go
@@ -27,9 +27,9 @@ type application struct {
activePaste <-chan string
}
-func newApplication(serverAddress string) *application {
+func newApplication(serverAddress string, insecure bool) *application {
var app application
- app.Client = client.New(serverAddress)
+ app.Client = client.New(serverAddress, insecure)
app.cache = object.NewCache(&app)
app.windowCache = window.NewCache()
app.goTo(app.cmdWindow.Location())
diff --git a/client/client/client.go b/client/client/client.go
index 0f0fb03..f22abc6 100644
--- a/client/client/client.go
+++ b/client/client/client.go
@@ -3,6 +3,7 @@ package client
import (
"citrons.xyz/talk/proto"
"net"
+ "crypto/tls"
"time"
"bufio"
"math/rand"
@@ -26,6 +27,7 @@ type Message struct {
type Client struct {
Address string
+ insecure bool
stop chan struct{}
message chan Message
send chan proto.Line
@@ -35,9 +37,10 @@ type Client struct {
reconnectWait time.Duration
}
-func New(address string) Client {
+func New(address string, insecure bool) Client {
return Client {
Address: address,
+ insecure: insecure,
stop: make(chan struct{}),
message: make(chan Message, 1),
activeRequests: make(map[string]func(proto.Command)),
@@ -48,7 +51,10 @@ func New(address string) Client {
func (c *Client) RunClient() {
c.reconnectWait = time.Second / 4
for {
- conn, err := net.DialTimeout("tcp", c.Address, 30 * time.Second)
+ dialer := &net.Dialer { Timeout: 30 * time.Second }
+ config := &tls.Config { InsecureSkipVerify: c.insecure }
+ conn, err := tls.DialWithDialer(dialer, "tcp", c.Address, config)
+
if err != nil {
c.message <- Message {func(mh MessageHandler) {
mh.OnDisconnect(err)
diff --git a/client/main.go b/client/main.go
index e4a9f6b..dc3070c 100644
--- a/client/main.go
+++ b/client/main.go
@@ -12,6 +12,7 @@ import (
var globalApp *application
func main() {
+ insecure := flag.Bool("no-verify-cert", false, "don't verify tls certificate (INSECURE, for testing only!)")
flag.Parse()
address := flag.Arg(0)
if address == "" {
@@ -30,7 +31,7 @@ func main() {
fmt.Println("bye!")
}()
- globalApp = newApplication(address)
+ globalApp = newApplication(address, *insecure)
go globalApp.RunClient()
defer globalApp.Stop()