Skip to content

Commit 39ebaed

Browse files
committed
feat(appsec): add login address for non automated functions
Signed-off-by: Alexandre Rulleau <[email protected]>
1 parent 1623d63 commit 39ebaed

27 files changed

+55
-37
lines changed

appsec/src/extension/tags.c

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,8 +1019,8 @@ static PHP_FUNCTION(datadog_appsec_track_user_signup_event_automated)
10191019
}
10201020

10211021
if (ZSTR_LEN(user_id) > 0) {
1022-
// usr.id = <user_id>
1023-
_add_new_zstr_to_meta(meta_ht, _dd_tag_user_id,
1022+
// appsec.events.users.signup.usr.id = <user_id>
1023+
_add_custom_event_keyval(meta_ht, _dd_signup_event, _dd_tag_user_id,
10241024
anon_user_id ? anon_user_id : user_id, true, false);
10251025

10261026
// _dd.appsec.usr.id = <user_id>
@@ -1035,7 +1035,7 @@ static PHP_FUNCTION(datadog_appsec_track_user_signup_event_automated)
10351035

10361036
// _dd.appsec.events.users.signup.usr.login = <user_login>
10371037
_add_new_zstr_to_meta(meta_ht, _dd_signup_event_login,
1038-
anon_user_login ? anon_user_login : user_login, true, true);
1038+
anon_user_login ? anon_user_login : user_login, true, false);
10391039

10401040
// _dd.appsec.usr.login = <user_login>
10411041
_add_new_zstr_to_meta(meta_ht, _dd_appsec_user_login,
@@ -1083,8 +1083,12 @@ static PHP_FUNCTION(datadog_appsec_track_user_signup_event)
10831083
_user_event_triggered = true;
10841084
zend_array *meta_ht = Z_ARRVAL_P(meta);
10851085

1086-
// usr.id = <user_id>
1087-
_add_new_zstr_to_meta(meta_ht, _dd_tag_user_id, user_id, true, true);
1086+
// appsec.events.users.signup.usr.id = <user_id>
1087+
_add_custom_event_keyval(
1088+
meta_ht, _dd_signup_event, _dd_tag_user_id, user_id, true, true);
1089+
1090+
// _dd.appsec.events.users.signup.usr.login = <user_login>
1091+
_add_new_zstr_to_meta(meta_ht, _dd_signup_event_login, user_id, true, true);
10881092

10891093
// _dd.appsec.events.users.signup.sdk = true
10901094
_add_new_zstr_to_meta(
@@ -1181,7 +1185,7 @@ static PHP_FUNCTION(datadog_appsec_track_user_login_success_event_automated)
11811185

11821186
// _dd.appsec.events.users.login.success.usr.login = <user_login>
11831187
_add_new_zstr_to_meta(meta_ht, _dd_login_success_event_login,
1184-
anon_user_login ? anon_user_login : user_login, true, true);
1188+
anon_user_login ? anon_user_login : user_login, true, false);
11851189

11861190
// _dd.appsec.usr.login = <user_login>
11871191
_add_new_zstr_to_meta(meta_ht, _dd_appsec_user_login,
@@ -1209,7 +1213,6 @@ static PHP_FUNCTION(datadog_appsec_track_user_login_success_event)
12091213

12101214
zend_string *user_id;
12111215
HashTable *metadata = NULL;
1212-
zend_bool copy_user_id = true;
12131216
if (zend_parse_parameters(ZEND_NUM_ARGS(), "S|h", &user_id, &metadata) ==
12141217
FAILURE) {
12151218
mlog(dd_log_warning, "Unexpected parameter combination, expected "
@@ -1233,8 +1236,11 @@ static PHP_FUNCTION(datadog_appsec_track_user_login_success_event)
12331236
dd_find_and_apply_verdict_for_user(user_id);
12341237

12351238
// usr.id = <user_id>
1239+
_add_new_zstr_to_meta(meta_ht, _dd_tag_user_id, user_id, true, true);
1240+
1241+
// _dd.appsec.events.users.login.success.usr.login = <user_login>
12361242
_add_new_zstr_to_meta(
1237-
meta_ht, _dd_tag_user_id, user_id, copy_user_id, true);
1243+
meta_ht, _dd_login_success_event_login, user_id, true, true);
12381244

12391245
// _dd.appsec.events.users.login.success.sdk = true
12401246
_add_new_zstr_to_meta(
@@ -1329,7 +1335,7 @@ static PHP_FUNCTION(datadog_appsec_track_user_login_failure_event_automated)
13291335
if (ZSTR_LEN(user_login) > 0) {
13301336
// _dd.appsec.events.users.login.failure.usr.login = <user_login>
13311337
_add_new_zstr_to_meta(meta_ht, _dd_login_failure_event_login,
1332-
anon_user_login ? anon_user_login : user_login, true, true);
1338+
anon_user_login ? anon_user_login : user_login, true, false);
13331339

13341340
// _dd.appsec.usr.login = <user_login>
13351341
_add_new_zstr_to_meta(meta_ht, _dd_appsec_user_login,
@@ -1383,6 +1389,10 @@ static PHP_FUNCTION(datadog_appsec_track_user_login_failure_event)
13831389
// appsec.events.users.login.failure.usr.id = <user_id>
13841390
_add_custom_event_keyval(meta_ht, _dd_login_failure_event,
13851391
_dd_tag_user_id, user_id, true, true);
1392+
1393+
// _dd.appsec.events.users.login.failure.usr.login = <user_login>
1394+
_add_new_zstr_to_meta(
1395+
meta_ht, _dd_login_failure_event_login, user_id, true, true);
13861396
}
13871397

13881398
// appsec.events.users.login.failure.track = true

appsec/tests/extension/track_user_login_failure_event.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Array
3535
(
3636
[runtime-id] => %s
3737
[appsec.events.users.login.failure.usr.id] => sdkID
38+
[appsec.events.users.login.failure.usr.login] => sdkID
3839
[appsec.events.users.login.failure.track] => true
3940
[_dd.appsec.events.users.login.failure.sdk] => true
4041
[appsec.events.users.login.failure.value] => something

appsec/tests/extension/track_user_login_failure_event_existing_user.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Array
2828
(
2929
[runtime-id] => %s
3030
[appsec.events.users.login.failure.usr.id] => sdkID
31+
[appsec.events.users.login.failure.usr.login] => sdkID
3132
[appsec.events.users.login.failure.track] => true
3233
[_dd.appsec.events.users.login.failure.sdk] => true
3334
[appsec.events.users.login.failure.value] => something

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ Array
2525
(
2626
[runtime-id] => %s
2727
[appsec.events.users.login.failure.usr.id] => sdkID
28+
[appsec.events.users.login.failure.usr.login] => sdkID
2829
[appsec.events.users.login.failure.track] => true
2930
[_dd.appsec.events.users.login.failure.sdk] => true
3031
[appsec.events.users.login.failure.value] => something-from-sdk
3132
[appsec.events.users.login.failure.usr.exists] => true
3233
[server.business_logic.users.login.failure] => null
3334
[_dd.appsec.usr.id] => automatedID
3435
[_dd.appsec.events.users.login.failure.auto.mode] => identification
35-
[appsec.events.users.login.failure.usr.login] => login
3636
[_dd.appsec.usr.login] => login
3737
)

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority_02.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Array
2727
[appsec.events.users.login.failure.usr.id] => sdkID
2828
[_dd.appsec.usr.id] => automatedID
2929
[_dd.appsec.events.users.login.failure.auto.mode] => identification
30-
[appsec.events.users.login.failure.usr.login] => login
30+
[appsec.events.users.login.failure.usr.login] => sdkID
3131
[_dd.appsec.usr.login] => login
3232
[appsec.events.users.login.failure.track] => true
3333
[appsec.events.users.login.failure.usr.exists] => true

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority_03.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Array
2929
[appsec.events.users.login.failure.usr.id] => otherSdkID
3030
[_dd.appsec.usr.id] => otherAutomatedID
3131
[_dd.appsec.events.users.login.failure.auto.mode] => identification
32-
[appsec.events.users.login.failure.usr.login] => otherLogin
32+
[appsec.events.users.login.failure.usr.login] => otherSdkID
3333
[_dd.appsec.usr.login] => otherLogin
3434
[appsec.events.users.login.failure.track] => true
3535
[appsec.events.users.login.failure.usr.exists] => true

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority_04.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ Array
2626
(
2727
[runtime-id] => %s
2828
[appsec.events.users.login.failure.usr.id] => sdkID
29+
[appsec.events.users.login.failure.usr.login] => sdkID
2930
[appsec.events.users.login.failure.track] => true
3031
[_dd.appsec.events.users.login.failure.sdk] => true
3132
[appsec.events.users.login.failure.value] => something-from-sdk
3233
[appsec.events.users.login.failure.usr.exists] => true
3334
[server.business_logic.users.login.failure] => null
3435
[_dd.appsec.usr.id] => automatedID
3536
[_dd.appsec.events.users.login.failure.auto.mode] => identification
36-
[appsec.events.users.login.failure.usr.login] => login
3737
[_dd.appsec.usr.login] => login
3838
)

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority_05.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Array
2828
[appsec.events.users.login.failure.usr.id] => sdkID
2929
[_dd.appsec.usr.id] => automatedID
3030
[_dd.appsec.events.users.login.failure.auto.mode] => identification
31-
[appsec.events.users.login.failure.usr.login] => login
31+
[appsec.events.users.login.failure.usr.login] => sdkID
3232
[_dd.appsec.usr.login] => login
3333
[appsec.events.users.login.failure.track] => true
3434
[appsec.events.users.login.failure.usr.exists] => true

appsec/tests/extension/track_user_login_failure_event_sdk_takes_priority_06.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Array
3030
[appsec.events.users.login.failure.usr.id] => otherSdkID
3131
[_dd.appsec.usr.id] => otherAutomatedID
3232
[_dd.appsec.events.users.login.failure.auto.mode] => identification
33-
[appsec.events.users.login.failure.usr.login] => otherLogin
33+
[appsec.events.users.login.failure.usr.login] => otherSdkID
3434
[_dd.appsec.usr.login] => otherLogin
3535
[appsec.events.users.login.failure.track] => true
3636
[appsec.events.users.login.failure.usr.exists] => true

appsec/tests/extension/track_user_login_success_event.phpt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Array
3535
(
3636
[runtime-id] => %s
3737
[usr.id] => sdkID
38+
[appsec.events.users.login.success.usr.login] => sdkID
3839
[_dd.appsec.events.users.login.success.sdk] => true
3940
[appsec.events.users.login.success.value] => something
4041
[appsec.events.users.login.success.metadata] => some other metadata

0 commit comments

Comments
 (0)