Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
dyndnsd-client
Commits
7a79b514
Commit
7a79b514
authored
Dec 30, 2017
by
Erick Hitter
Browse files
Ensure IPs are valid
parent
553a60f0
Changes
1
Hide whitespace changes
Inline
Side-by-side
dyndnsd-client.go
View file @
7a79b514
...
...
@@ -6,6 +6,7 @@ import (
"github.com/joshbetz/config"
"io/ioutil"
"log"
"net"
"net/http"
"net/url"
"os"
...
...
@@ -55,9 +56,15 @@ func main() {
// IPv4 is required
if
ipv4
,
err
:=
getUrl
(
ipv4Endpoint
);
err
==
nil
{
query
:=
endpoint
.
Query
()
query
.
Set
(
"myip"
,
ipv4
)
endpoint
.
RawQuery
=
query
.
Encode
()
if
ipv4Valid
:=
net
.
ParseIP
(
ipv4
);
ipv4Valid
==
nil
{
logger
.
Println
(
"Invalid IPv4 address"
)
logger
.
Printf
(
"%s"
,
err
)
return
}
else
{
query
:=
endpoint
.
Query
()
query
.
Set
(
"myip"
,
ipv4Valid
.
String
())
endpoint
.
RawQuery
=
query
.
Encode
()
}
}
else
{
logger
.
Println
(
"Couldn't retrieve IPv4 address"
)
logger
.
Printf
(
"%s"
,
err
)
...
...
@@ -66,9 +73,16 @@ func main() {
// IPv6 is optional
if
ipv6
,
err
:=
getUrl
(
ipv6Endpoint
);
err
==
nil
{
query
:=
endpoint
.
Query
()
query
.
Set
(
"myip6"
,
ipv6
)
endpoint
.
RawQuery
=
query
.
Encode
()
if
ipv6Valid
:=
net
.
ParseIP
(
ipv6
);
ipv6Valid
==
nil
{
logger
.
Println
(
"Invalid IPv6 address"
)
logger
.
Printf
(
"%s"
,
err
)
}
else
{
// TODO: parse to /64, use ::1.
query
:=
endpoint
.
Query
()
query
.
Set
(
"myip6"
,
ipv6
)
endpoint
.
RawQuery
=
query
.
Encode
()
}
}
else
{
logger
.
Println
(
"Couldn't retrieve IPv6 address"
)
logger
.
Printf
(
"%s"
,
err
)
...
...
Erick Hitter
@ethitter
mentioned in issue
#3 (closed)
·
Dec 30, 2017
mentioned in issue
#3 (closed)
mentioned in issue #3
Toggle commit list
Write
Preview
Supports
Markdown
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