Skip to content

Commit d9595f0

Browse files
author
Ajay Kelkar
committed
feat: bump ory/x dep and complete IP parse
1 parent d3c9ec6 commit d9595f0

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

go.mod

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ require (
7676
github.com/ory/kratos-client-go v0.6.3-alpha.1
7777
github.com/ory/mail/v3 v3.0.0
7878
github.com/ory/nosurf v1.2.7
79-
github.com/ory/x v0.0.460
79+
github.com/ory/x v0.0.465
8080
github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2
8181
github.com/pkg/errors v0.9.1
8282
github.com/pquerna/otp v1.3.0
@@ -150,6 +150,7 @@ require (
150150
github.com/fsnotify/fsnotify v1.5.4 // indirect
151151
github.com/fullstorydev/grpcurl v1.8.1 // indirect
152152
github.com/fxamacker/cbor/v2 v2.4.0 // indirect
153+
github.com/go-bindata/go-bindata v3.1.2+incompatible // indirect
153154
github.com/go-logr/logr v1.2.3 // indirect
154155
github.com/go-logr/stdr v1.2.2 // indirect
155156
github.com/go-openapi/analysis v0.21.4 // indirect
@@ -199,7 +200,7 @@ require (
199200
github.com/hashicorp/hcl v1.0.0 // indirect
200201
github.com/hashicorp/serf v0.9.7 // indirect
201202
github.com/huandu/xstrings v1.3.2 // indirect
202-
github.com/inconshreveable/mousetrap v1.0.0 // indirect
203+
github.com/inconshreveable/mousetrap v1.0.1 // indirect
203204
github.com/jackc/chunkreader/v2 v2.0.1 // indirect
204205
github.com/jackc/pgconn v1.12.1 // indirect
205206
github.com/jackc/pgio v1.0.0 // indirect
@@ -267,11 +268,11 @@ require (
267268
github.com/soheilhy/cmux v0.1.5 // indirect
268269
github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d // indirect
269270
github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e // indirect
270-
github.com/spf13/afero v1.8.2 // indirect
271+
github.com/spf13/afero v1.9.2 // indirect
271272
github.com/spf13/cast v1.5.0 // indirect
272273
github.com/spf13/jwalterweatherman v1.1.0 // indirect
273274
github.com/spf13/viper v1.12.0 // indirect
274-
github.com/subosito/gotenv v1.3.0 // indirect
275+
github.com/subosito/gotenv v1.4.1 // indirect
275276
github.com/tidwall/match v1.1.1 // indirect
276277
github.com/tidwall/pretty v1.2.0 // indirect
277278
github.com/timtadh/data-structures v0.5.3 // indirect
@@ -315,7 +316,7 @@ require (
315316
go.uber.org/multierr v1.7.0 // indirect
316317
go.uber.org/zap v1.17.0 // indirect
317318
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
318-
golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 // indirect
319+
golang.org/x/sys v0.0.0-20220907062415-87db552b00fd // indirect
319320
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
320321
golang.org/x/text v0.3.7 // indirect
321322
golang.org/x/time v0.0.0-20211116232009-f0f3c7e86c11 // indirect
@@ -327,7 +328,7 @@ require (
327328
gopkg.in/alecthomas/kingpin.v2 v2.2.6 // indirect
328329
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
329330
gopkg.in/cheggaaa/pb.v1 v1.0.28 // indirect
330-
gopkg.in/ini.v1 v1.66.4 // indirect
331+
gopkg.in/ini.v1 v1.67.0 // indirect
331332
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 // indirect
332333
gopkg.in/square/go-jose.v2 v2.6.0 // indirect
333334
gopkg.in/yaml.v2 v2.4.0 // indirect

go.sum

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -594,6 +594,7 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME
594594
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
595595
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
596596
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
597+
github.com/go-bindata/go-bindata v3.1.2+incompatible h1:5vjJMVhowQdPzjE1LdxyFF7YFTXg5IgGVW4gBr5IbvE=
597598
github.com/go-bindata/go-bindata v3.1.2+incompatible/go.mod h1:xK8Dsgwmeed+BBsSy2XTopBn/8uK2HWuGSnA11C3Joo=
598599
github.com/go-errors/errors v1.0.1 h1:LUHzmkK3GUKUrL/1gfBUxAHzcev3apQlezX/+O7ma6w=
599600
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
@@ -1093,6 +1094,8 @@ github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU=
10931094
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
10941095
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
10951096
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
1097+
github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
1098+
github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
10961099
github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
10971100
github.com/inhies/go-bytesize v0.0.0-20210819104631-275770b98743 h1:X3Xxno5Ji8idrNiUoFc7QyXpqhSYlDRYQmc7mlpMBzU=
10981101
github.com/inhies/go-bytesize v0.0.0-20210819104631-275770b98743/go.mod h1:KrtyD5PFj++GKkFS/7/RRrfnRhAMGQwy75GLCHWrCNs=
@@ -1507,6 +1510,8 @@ github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE=
15071510
github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM=
15081511
github.com/ory/x v0.0.460 h1:p5sYRjtHeVVMvCWtd8PWzoPl7Br0IfoalNJr22qnZCE=
15091512
github.com/ory/x v0.0.460/go.mod h1:w2gwqgw3XqKTxW8wURVxUFI2NuDyIC2rGxvEsnBJqjs=
1513+
github.com/ory/x v0.0.465 h1:Oiee5rqAAsQYR+KYf3nSZvzglsKjdsr1MN1rSdxouL0=
1514+
github.com/ory/x v0.0.465/go.mod h1:w2gwqgw3XqKTxW8wURVxUFI2NuDyIC2rGxvEsnBJqjs=
15101515
github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw=
15111516
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
15121517
github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs=
@@ -1720,6 +1725,8 @@ github.com/spf13/afero v1.5.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z
17201725
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
17211726
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
17221727
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
1728+
github.com/spf13/afero v1.9.2 h1:j49Hj62F0n+DaZ1dDCvhABaPNSGNkt32oRFxI33IEMw=
1729+
github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
17231730
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
17241731
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
17251732
github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
@@ -1779,6 +1786,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
17791786
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
17801787
github.com/subosito/gotenv v1.3.0 h1:mjC+YW8QpAdXibNi+vNWgzmgBH4+5l5dCXv8cNysBLI=
17811788
github.com/subosito/gotenv v1.3.0/go.mod h1:YzJjq/33h7nrwdY+iHMhEOEEbW0ovIz0tB6t6PwAXzs=
1789+
github.com/subosito/gotenv v1.4.1 h1:jyEFiXpy21Wm81FBN71l9VoMMV8H8jG+qIK3GCpY6Qs=
1790+
github.com/subosito/gotenv v1.4.1/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
17821791
github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
17831792
github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
17841793
github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
@@ -2611,6 +2620,8 @@ gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
26112620
gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
26122621
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4=
26132622
gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
2623+
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
2624+
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
26142625
gopkg.in/mail.v2 v2.3.1/go.mod h1:htwXN1Qh09vZJ1NVKxQqHPBaCBbzKhp5GzuJEA4VJWw=
26152626
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
26162627
gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 h1:6D+BvnJ/j6e222UW8s2qTSe3wGBtvo0MbVQG/c5k8RE=

session/session.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import (
55
"database/sql/driver"
66
"encoding/json"
77
"fmt"
8+
"github.com/ory/x/httpx"
9+
"github.com/ory/x/stringsx"
810
"net/http"
911
"strings"
1012
"time"
@@ -192,22 +194,22 @@ func (s *Session) Activate(r *http.Request, i *identity.Identity, c lifespanProv
192194

193195
agent := r.Header["User-Agent"]
194196
if len(agent) > 0 {
195-
s.UserAgent = strings.Join(agent, " ")
197+
s.UserAgent = stringsx.GetPointer(strings.Join(agent, " "))
196198
}
197199

198200
if trueClientIP := r.Header.Get("True-Client-IP"); trueClientIP != "" {
199201
s.ClientIPAddress = &trueClientIP
200202
} else if realClientIP := r.Header.Get("X-Real-IP"); realClientIP != "" {
201203
s.ClientIPAddress = &realClientIP
202-
} else if forwardedIP := r.Header.Get("X-Forwarded-For"); forwardedIP != "" {
203-
// TODO: Use x lib implementation to parse client IP address from the header string
204-
s.ClientIPAddress = &forwardedIP
204+
} else if forwardedIP := r.Header["X-Forwarded-For"]; len(forwardedIP) != 0 {
205+
ip, _ := httpx.GetClientIPAddress(forwardedIP, httpx.InternalIPSet)
206+
s.ClientIPAddress = &ip
205207
} else {
206208
s.ClientIPAddress = &r.RemoteAddr
207209
}
208210

209211
clientGeoLocation := []string{r.Header.Get("Cf-Ipcity"), r.Header.Get("Cf-Ipcountry")}
210-
s.GeoLocation = strings.Join(clientGeoLocation, ", ")
212+
s.GeoLocation = stringsx.GetPointer(strings.Join(clientGeoLocation, ", "))
211213

212214
s.SetAuthenticatorAssuranceLevel()
213215
return nil

0 commit comments

Comments
 (0)