58 Commits
1.5 ... travis

Author SHA1 Message Date
Alan Shreve
2c00a3fd8b Merge branch 'master' into travis 2013-10-25 18:13:13 +03:00
Alan Shreve
7a9f972030 add some more entries to the changelog 2013-10-25 18:12:56 +03:00
Alan Shreve
264fbe83fe bump version 2013-10-25 17:44:38 +03:00
Alan Shreve
3f8e4b8e0b fix a goroutine leak in ngrok's parsing of http transactions 2013-10-25 17:42:52 +03:00
Alan Shreve
5ddfa6232c fix a bug handling 'disabled' value for the inspection interface configuration 2013-10-25 13:06:51 +03:00
Alan Shreve
cda0e2c050 fix a bug handling 'disabled' value for the inspection interface configuration 2013-10-22 01:20:39 +03:00
Alan Shreve
69733b1e3c Merge branch 'master' into travis 2013-10-20 16:19:00 +03:00
Alan Shreve
c72868cbf5 start cross-compiling to OS X on this branch as well 2013-10-20 15:39:25 +03:00
Alan Shreve
5335f85202 Merge branch 'master' into travis 2013-09-27 21:27:56 +02:00
Alan Shreve
ed5729bd63 Merge branch 'master' into travis 2013-09-22 17:40:17 +02:00
Alan Shreve
00ae5d77db Merge branch 'master' into travis 2013-09-06 22:59:15 +03:00
Alan Shreve
a911f7fb65 Merge branch 'master' into travis 2013-09-04 18:43:36 +03:00
Alan Shreve
a9f659216e Merge branch 'master' into travis 2013-08-17 21:54:29 +02:00
Alan Shreve
264ac352f7 Merge branch 'master' into travis 2013-08-17 21:25:50 +02:00
Alan Shreve
d0b9161993 Merge branch 'master' into travis 2013-08-17 12:19:41 +02:00
Alan Shreve
fd394cb336 Merge branch 'master' into travis 2013-08-17 12:10:33 +02:00
Alan Shreve
8f6637c784 Merge branch 'master' into travis 2013-08-17 11:17:21 +02:00
Alan Shreve
eb60b72aa4 Merge branch 'master' into travis 2013-08-17 11:16:33 +02:00
Alan Shreve
63c70c4996 don't cross-compile osx anymore 2013-08-16 01:58:59 +02:00
Alan Shreve
20364f6de0 Merge branch 'master' into travis 2013-08-15 13:10:19 +02:00
Alan Shreve
d914e26055 Merge branch 'master' into travis 2013-08-15 12:42:28 +02:00
Alan Shreve
f5a24b30e8 Merge branch 'master' into travis 2013-08-15 12:41:48 +02:00
Alan Shreve
bfbfdd9ee9 cross-compile for darwin/amd64 2013-08-15 12:41:42 +02:00
Alan Shreve
b4082e7f89 fix merge conflicts 2013-07-30 16:20:21 +02:00
Alan Shreve
151433e2fd merge in master 2013-07-30 16:08:18 +02:00
Alan Shreve
eef7b6b755 merge in branch master 2013-07-30 15:27:15 +02:00
Alan Shreve
816f5e8882 Merge branch 'master' into travis 2013-07-28 00:44:43 +02:00
Alan Shreve
8bfebdc277 remove unecessary package step 2013-07-23 15:40:36 +01:00
Alan Shreve
4e20bd9db8 fix build script 2013-07-18 19:08:07 +01:00
Alan Shreve
d2ec1ec080 fix windows build with exe extension 2013-07-18 18:24:55 +01:00
Alan Shreve
8017c0653b figure out why windows isn't building 2013-07-18 18:11:56 +01:00
Alan Shreve
167cf25dae remove debugging prints 2013-07-18 02:46:32 +01:00
Alan Shreve
9f8bd8adc3 make sure we run the verison command in native platform 2013-07-18 02:35:52 +01:00
Alan Shreve
4db6e7143d fix how we pass in environment variables 2013-07-18 02:29:08 +01:00
Alan Shreve
65411b54bd more travis debugging 2013-07-18 02:05:55 +01:00
Alan Shreve
213eb595a6 touch to get travis to build 2013-07-18 01:58:47 +01:00
Alan Shreve
160bf79cb5 pass env variables to travis 2013-07-18 01:45:00 +01:00
Alan Shreve
95ffd273f2 try to debug travis build problems 2013-07-18 01:09:47 +01:00
Alan Shreve
063389d36b new travis upload strategy 2013-07-18 00:56:32 +01:00
Alan Shreve
514c16c91f fix host target 2013-07-17 01:13:09 +01:00
Alan Shreve
f6a3742a74 set env vars separately 2013-07-17 00:59:10 +01:00
Alan Shreve
d09037b0ff run after_success explicitly 2013-07-17 00:50:19 +01:00
Alan Shreve
0c970983e2 one more attempt at fixing after_success 2013-07-17 00:43:32 +01:00
Alan Shreve
a72e0fd7c7 fix after_success 2013-07-17 00:27:56 +01:00
Alan Shreve
41865cb20d fix after_success 2013-07-17 00:21:47 +01:00
Alan Shreve
66a919e63b always install go-bindata for the current architecture 2013-07-17 00:07:51 +01:00
Alan Shreve
569013e691 fix for bootstrap 2013-07-16 23:49:16 +01:00
Alan Shreve
bf6ce69203 bootstrap for cross-compile 2013-07-16 23:46:35 +01:00
Alan Shreve
030b436d62 find make.bash 2013-07-16 23:37:44 +01:00
Alan Shreve
5b27861135 add cross-compilation targets 2013-07-16 23:30:03 +01:00
Alan Shreve
aa3fa9a08b continue trying to get travis to build 2013-07-16 23:26:19 +01:00
Alan Shreve
53a940ec18 try to get travis to build again 2013-07-16 23:16:42 +01:00
Alan Shreve
e5840c1e5d fix travis branch specifier 2013-07-16 23:10:11 +01:00
Alan Shreve
f1766e5884 test travis configuration 2013-07-16 22:57:38 +01:00
Alan Shreve
404e70c1eb add travis upload step 2013-07-16 22:53:39 +01:00
Alan Shreve
421b365483 add cross-compilation for windows and linux/arm 2013-07-16 20:50:49 +01:00
Alan Shreve
c072be702c make sure go-bindata tool is installed 2013-07-16 20:34:01 +01:00
Alan Shreve
0f09e5feae add travis integration 2013-07-16 20:28:33 +01:00
7 changed files with 78 additions and 6 deletions

View File

@@ -1,4 +1,22 @@
script: make release-all
install: true
after_success:
- sudo pip install boto
- ls -lr bin/*
- NGROK="bin/${GOOS}_${GOARCH}/ngrok" NGROKD="bin/${GOOS}_${GOARCH}/ngrokd" VERSION=$(GOOS="" GOARCH="" GOPATH=$(pwd) go run build/version.go) python build/travis.py
before_script:
- pushd /home/travis/.gvm/gos/go1.1.1/src
- ./make.bash
- popd
env:
global:
- secure: Fd5zHi58jx8lsPDv4tkRFzXSY0KnPJZuZ+LvnRcpX4+3xJsuZU6moOfrOcGqDOm7/SqZRVZRKZapE772+8sXNKPmwSXHRsZEsUgqxdehFzlVP4PQN5efOdI/quO2ibwVpZ6Idze5pelZburALd7/VbfHCTB/0P0WDMNvfHuFPQg=
- secure: Yg+y996B4S7zHXO8j6JrRbgMf6yilHGWv6I+7oZf02d8IHYtAb6A9DveX/q+v24O8Q9WzXRU4ZIaG5nJksVwb19qcy4vpaUbvx00COi8tg0l9hdKIotrzAs+i8q5h0xUifE1iuqYJw39vYU/9vC/727GTvOfRpBCr+edcpc9uy0=
- secure: CMF8ZfcoZK8AhFrmo6ljwP4ulYOSI9Pftp02rfNcM7LYPzU5HxFmcR7M4+3Qt0HAWxYrReozNQZYrV0s5jqIO0H4LZeHxgi7EHTam1BelhmHxL6VBMoR1mTi53bErWNhpoc0qyCnWMpnzNMObwtBVm9vjacm4NJMWqQjte/0Kdw=
matrix:
- GOOS=linux GOARCH=arm
- GOOS=linux GOARCH=386
- GOOS=windows GOARCH=386
- GOOS=darwin GOARCH=amd64
go:
- 1.1

22
build/travis.py Executable file
View File

@@ -0,0 +1,22 @@
#! /usr/bin/env python
import os, os.path, boto.s3.connection
access_key = os.getenv("AWS_ACCESS_KEY")
secret_key = os.getenv("AWS_SECRET_KEY")
bucket = os.getenv("BUCKET")
version = os.getenv("VERSION")
goos = os.getenv("GOOS")
s3 = boto.s3.connection.S3Connection(access_key, secret_key)
bucket = s3.get_bucket(bucket)
for envpath in ["NGROK", "NGROKD"]:
file_path = os.getenv(envpath)
if goos == "windows":
file_path += ".exe"
dir_path, name = os.path.split(file_path)
_, platform = os.path.split(dir_path)
key_name = "%s/%s/%s" % (platform, version, name)
key = bucket.new_key(key_name)
key.set_contents_from_filename(file_path)

10
build/version.go Normal file
View File

@@ -0,0 +1,10 @@
package main
import (
"fmt"
"ngrok/version"
)
func main() {
fmt.Print(version.MajorMinor())
}

View File

@@ -1,4 +1,24 @@
# Changelog
## 1.6 - 10/25/2013
- BUGFIX: Fixed a goroutine/memory leak in ngrok/proto's parsing of http traffic
- IMPROVEMENT: The web inspection API can now be disabled again by setting inspect_addr: disabled in the config file
## 1.5 - 10/20/2013
- FEATURE: Added support a "remote_port" configuration parameter that lets you request a specific remote port for TCP tunnels
- IMPROVEMENT: Upload instructions on crash reports are displayed after the dump where it is more likely to be seen
- IMPROVEMENT: Improvements to ngrok's logging for easier debugging
- IMPROVEMENT: Batch metric reporting to Keen to not be limited by the speed of their API at high request loads
- IMPROVEMENT: Added additional safety to ensure the server doesn't crash on panics()
- BUGFIX: Fixed an issue with prefetching tunnel connections that could hang tunnel connections when behind an aggresive NAT
- BUGFIX: Fixed a race condition where ngrokd could send back a different message instead of AuthResp first
- BUGFIX: Fixed an issue where under some circumstances, reconnecting would fail and tell the client the tunnels were still in use
- BUGFIX: Fixed an issue where a race-condition with handling pings could cause a tunnel to hang forever and stop handling requests
## 1.4 - 09/27/2013
- BUGFIX: Fixed an issue where long URL paths were not truncated in the terminal UI
- BUGFIX: Fixed an issue where long URL paths ruined the web UI's formatting
- BUGFIX: Fixed an issue where authtokens would not be remembered if an existing configuration file didn't exist
## 0.23 - 09/06/2013
- BUGFIX: Fixed a bug which caused some important HTTP headers to be omitted from request introspection and replay

View File

@@ -81,8 +81,10 @@ func LoadConfiguration(opts *Options) (config *Configuration, err error) {
}
// validate and normalize configuration
if config.InspectAddr, err = normalizeAddress(config.InspectAddr, "inspect_addr"); err != nil && config.InspectAddr != "disabled" {
return
if config.InspectAddr != "disabled" {
if config.InspectAddr, err = normalizeAddress(config.InspectAddr, "inspect_addr"); err != nil {
return
}
}
if config.ServerAddr, err = normalizeAddress(config.ServerAddr, "server_addr"); err != nil {

View File

@@ -65,6 +65,8 @@ func (h *Http) WrapConn(c conn.Conn, ctx interface{}) conn.Conn {
}
func (h *Http) readRequests(tee *conn.Tee, lastTxn chan *HttpTxn, connCtx interface{}) {
defer close(lastTxn)
for {
req, err := http.ReadRequest(tee.WriteBuffer())
if err != nil {
@@ -95,9 +97,7 @@ func (h *Http) readRequests(tee *conn.Tee, lastTxn chan *HttpTxn, connCtx interf
}
func (h *Http) readResponses(tee *conn.Tee, lastTxn chan *HttpTxn) {
for {
var err error
txn := <-lastTxn
for txn := range lastTxn {
resp, err := http.ReadResponse(tee.ReadBuffer(), txn.Req.Request)
txn.Duration = time.Since(txn.Start)
h.reqTimer.Update(txn.Duration)

View File

@@ -7,7 +7,7 @@ import (
const (
Proto = "2"
Major = "1"
Minor = "5"
Minor = "6"
)
func MajorMinor() string {