Skip to content

Commit c16a0f2

Browse files
authored
Don't overwrite ip_address if already set on user (#2350)
1 parent 18029e3 commit c16a0f2

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
## Unreleased
22

3+
### Bug Fixes
4+
5+
- Don't overwrite `ip_address` if already set on `user` [#2350](https://github.com/getsentry/sentry-ruby/pull/2350)
6+
- Fixes [#2347](https://github.com/getsentry/sentry-ruby/issues/2347)
7+
38
### Internal
49

510
- Use Concurrent.usable_processor_count when it is available ([#2339](https://github.com/getsentry/sentry-ruby/pull/2339))

sentry-ruby/lib/sentry/event.rb

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,7 @@ def rack_env=(env)
104104
unless request || env.empty?
105105
add_request_interface(env)
106106

107-
if @send_default_pii
108-
user[:ip_address] = calculate_real_ip_from_rack(env)
109-
end
107+
user[:ip_address] ||= calculate_real_ip_from_rack(env) if @send_default_pii
110108

111109
if request_id = Utils::RequestId.read_from(env)
112110
tags[:request_id] = request_id

sentry-ruby/spec/sentry/event_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@
141141
expect(event.to_hash[:user][:ip_address]).to eq("2.2.2.2")
142142
end
143143

144+
it "doesn't overwrite already set ip address" do
145+
Sentry.set_user({ ip_address: "3.3.3.3" })
146+
Sentry.get_current_scope.apply_to_event(event)
147+
expect(event.to_hash[:user][:ip_address]).to eq("3.3.3.3")
148+
end
149+
144150
context "with config.trusted_proxies = [\"2.2.2.2\"]" do
145151
before do
146152
Sentry.configuration.trusted_proxies = ["2.2.2.2"]

0 commit comments

Comments
 (0)