Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
caddy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Łukasz Nowak
caddy
Commits
32fa0ce6
Commit
32fa0ce6
authored
8 years ago
by
Mateusz Gajewski
Committed by
GitHub
8 years ago
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into fastcgi-timeout-defaults
parents
b8722d9a
80eb45fc
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
62 additions
and
14 deletions
+62
-14
caddy.go
caddy.go
+2
-2
caddy_test.go
caddy_test.go
+43
-1
caddyhttp/httpserver/context_test.go
caddyhttp/httpserver/context_test.go
+3
-1
caddyhttp/proxy/proxy_test.go
caddyhttp/proxy/proxy_test.go
+12
-8
caddytls/user_test.go
caddytls/user_test.go
+2
-2
No files found.
caddy.go
View file @
32fa0ce6
...
...
@@ -232,7 +232,7 @@ func HasListenerWithAddress(addr string) bool {
func
listenerAddrEqual
(
ln
net
.
Listener
,
addr
string
)
bool
{
lnAddr
:=
ln
.
Addr
()
.
String
()
hostname
,
port
,
err
:=
net
.
SplitHostPort
(
addr
)
if
err
!=
nil
||
hostname
!=
""
{
if
err
!=
nil
{
return
lnAddr
==
addr
}
if
lnAddr
==
net
.
JoinHostPort
(
"::"
,
port
)
{
...
...
@@ -241,7 +241,7 @@ func listenerAddrEqual(ln net.Listener, addr string) bool {
if
lnAddr
==
net
.
JoinHostPort
(
"0.0.0.0"
,
port
)
{
return
true
}
return
false
return
hostname
!=
""
&&
lnAddr
==
addr
}
// TCPServer is a type that can listen and serve connections.
...
...
This diff is collapsed.
Click to expand it.
caddy_test.go
View file @
32fa0ce6
package
caddy
import
"testing"
import
(
"net"
"strconv"
"testing"
)
/*
// TODO
...
...
@@ -56,3 +60,41 @@ func TestIsLoopback(t *testing.T) {
}
}
}
func
TestListenerAddrEqual
(
t
*
testing
.
T
)
{
ln1
,
err
:=
net
.
Listen
(
"tcp"
,
"[::]:0"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
ln1
.
Close
()
ln1port
:=
strconv
.
Itoa
(
ln1
.
Addr
()
.
(
*
net
.
TCPAddr
)
.
Port
)
ln2
,
err
:=
net
.
Listen
(
"tcp"
,
"127.0.0.1:0"
)
if
err
!=
nil
{
t
.
Fatal
(
err
)
}
defer
ln2
.
Close
()
ln2port
:=
strconv
.
Itoa
(
ln2
.
Addr
()
.
(
*
net
.
TCPAddr
)
.
Port
)
for
i
,
test
:=
range
[]
struct
{
ln
net
.
Listener
addr
string
expect
bool
}{
{
ln1
,
":1234"
,
false
},
{
ln1
,
"0.0.0.0:1234"
,
false
},
{
ln1
,
"0.0.0.0"
,
false
},
{
ln1
,
":"
+
ln1port
+
""
,
true
},
{
ln1
,
"0.0.0.0:"
+
ln1port
+
""
,
true
},
{
ln2
,
":"
+
ln2port
+
""
,
false
},
{
ln2
,
"127.0.0.1:1234"
,
false
},
{
ln2
,
"127.0.0.1"
,
false
},
{
ln2
,
"127.0.0.1:"
+
ln2port
+
""
,
true
},
}
{
if
got
,
want
:=
listenerAddrEqual
(
test
.
ln
,
test
.
addr
),
test
.
expect
;
got
!=
want
{
t
.
Errorf
(
"Test %d (%s == %s): expected %v but was %v"
,
i
,
test
.
addr
,
test
.
ln
.
Addr
()
.
String
(),
want
,
got
)
}
}
}
This diff is collapsed.
Click to expand it.
caddyhttp/httpserver/context_test.go
View file @
32fa0ce6
...
...
@@ -746,14 +746,16 @@ func TestFiles(t *testing.T) {
// Create directory / files from test case.
if
test
.
fileNames
!=
nil
{
dirPath
,
err
=
ioutil
.
TempDir
(
fmt
.
Sprintf
(
"%s"
,
context
.
Root
),
"caddy_test"
)
dirPath
,
err
=
ioutil
.
TempDir
(
fmt
.
Sprintf
(
"%s"
,
context
.
Root
),
"caddy_
ctx
test"
)
if
err
!=
nil
{
os
.
RemoveAll
(
dirPath
)
t
.
Fatalf
(
testPrefix
+
"Expected no error creating directory, got: '%s'"
,
err
.
Error
())
}
for
_
,
name
:=
range
test
.
fileNames
{
absFilePath
:=
filepath
.
Join
(
dirPath
,
name
)
if
err
=
ioutil
.
WriteFile
(
absFilePath
,
[]
byte
(
""
),
os
.
ModePerm
);
err
!=
nil
{
os
.
RemoveAll
(
dirPath
)
t
.
Fatalf
(
testPrefix
+
"Expected no error creating file, got: '%s'"
,
err
.
Error
())
}
}
...
...
This diff is collapsed.
Click to expand it.
caddyhttp/proxy/proxy_test.go
View file @
32fa0ce6
...
...
@@ -229,10 +229,11 @@ func TestUnixSocketProxy(t *testing.T) {
}))
// Get absolute path for unix: socket
dir
,
err
:=
ioutil
.
TempDir
(
""
,
"caddy_test"
)
dir
,
err
:=
ioutil
.
TempDir
(
""
,
"caddy_
proxy
test"
)
if
err
!=
nil
{
t
.
Fatalf
(
"Failed to make temp dir to contain unix socket. %v"
,
err
)
}
defer
os
.
RemoveAll
(
dir
)
socketPath
:=
filepath
.
Join
(
dir
,
"test_socket"
)
// Change httptest.Server listener to listen to unix: socket
...
...
@@ -283,20 +284,21 @@ func GetHTTPProxy(messageFormat string, prefix string) (*Proxy, *httptest.Server
return
newPrefixedWebSocketTestProxy
(
ts
.
URL
,
prefix
),
ts
}
func
GetSocketProxy
(
messageFormat
string
,
prefix
string
)
(
*
Proxy
,
*
httptest
.
Server
,
error
)
{
func
GetSocketProxy
(
messageFormat
string
,
prefix
string
)
(
*
Proxy
,
*
httptest
.
Server
,
string
,
error
)
{
ts
:=
httptest
.
NewUnstartedServer
(
http
.
HandlerFunc
(
func
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
fmt
.
Fprintf
(
w
,
messageFormat
,
r
.
URL
.
String
())
}))
dir
,
err
:=
ioutil
.
TempDir
(
""
,
"caddy_test"
)
dir
,
err
:=
ioutil
.
TempDir
(
""
,
"caddy_
proxy
test"
)
if
err
!=
nil
{
return
nil
,
nil
,
fmt
.
Errorf
(
"Failed to make temp dir to contain unix socket. %v"
,
err
)
return
nil
,
nil
,
dir
,
fmt
.
Errorf
(
"Failed to make temp dir to contain unix socket. %v"
,
err
)
}
socketPath
:=
filepath
.
Join
(
dir
,
"test_socket"
)
ln
,
err
:=
net
.
Listen
(
"unix"
,
socketPath
)
if
err
!=
nil
{
return
nil
,
nil
,
fmt
.
Errorf
(
"Unable to listen: %v"
,
err
)
os
.
RemoveAll
(
dir
)
return
nil
,
nil
,
dir
,
fmt
.
Errorf
(
"Unable to listen: %v"
,
err
)
}
ts
.
Listener
=
ln
...
...
@@ -304,7 +306,7 @@ func GetSocketProxy(messageFormat string, prefix string) (*Proxy, *httptest.Serv
tsURL
:=
strings
.
Replace
(
ts
.
URL
,
"http://"
,
"unix:"
,
1
)
return
newPrefixedWebSocketTestProxy
(
tsURL
,
prefix
),
ts
,
nil
return
newPrefixedWebSocketTestProxy
(
tsURL
,
prefix
),
ts
,
dir
,
nil
}
func
GetTestServerMessage
(
p
*
Proxy
,
ts
*
httptest
.
Server
,
path
string
)
(
string
,
error
)
{
...
...
@@ -370,8 +372,7 @@ func TestUnixSocketProxyPaths(t *testing.T) {
}
for
_
,
test
:=
range
tests
{
p
,
ts
,
err
:=
GetSocketProxy
(
greeting
,
test
.
prefix
)
p
,
ts
,
tmpdir
,
err
:=
GetSocketProxy
(
greeting
,
test
.
prefix
)
if
err
!=
nil
{
t
.
Fatalf
(
"Getting socket proxy failed - %v"
,
err
)
}
...
...
@@ -379,12 +380,15 @@ func TestUnixSocketProxyPaths(t *testing.T) {
actualMsg
,
err
:=
GetTestServerMessage
(
p
,
ts
,
test
.
url
)
if
err
!=
nil
{
os
.
RemoveAll
(
tmpdir
)
t
.
Fatalf
(
"Getting server message failed - %v"
,
err
)
}
if
actualMsg
!=
test
.
expected
{
t
.
Errorf
(
"Expected '%s' but got '%s' instead"
,
test
.
expected
,
actualMsg
)
}
os
.
RemoveAll
(
tmpdir
)
}
}
...
...
This diff is collapsed.
Click to expand it.
caddytls/user_test.go
View file @
32fa0ce6
...
...
@@ -166,12 +166,12 @@ func TestGetEmail(t *testing.T) {
t
.
Fatalf
(
"Error saving user %d: %v"
,
i
,
err
)
}
// Change modified time so they're all different
, so the test becomes
deterministic
// Change modified time so they're all different
and the test becomes more
deterministic
f
,
err
:=
os
.
Stat
(
testStorage
.
user
(
eml
))
if
err
!=
nil
{
t
.
Fatalf
(
"Could not access user folder for '%s': %v"
,
eml
,
err
)
}
chTime
:=
f
.
ModTime
()
.
Add
(
-
(
time
.
Duration
(
i
)
*
time
.
Second
))
chTime
:=
f
.
ModTime
()
.
Add
(
-
(
time
.
Duration
(
i
)
*
time
.
Hour
))
// 1 second isn't always enough space!
if
err
:=
os
.
Chtimes
(
testStorage
.
user
(
eml
),
chTime
,
chTime
);
err
!=
nil
{
t
.
Fatalf
(
"Could not change user folder mod time for '%s': %v"
,
eml
,
err
)
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment