github-actions[bot] commented on code in PR #69623:
URL: https://github.com/apache/doris/pull/69623#discussion_r4376054229


##########
fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java:
##########
@@ -1476,10 +1477,11 @@ public TLoadTxnBeginResult 
loadTxnBegin(TLoadTxnBeginRequest request) throws TEx
     }
 
     private TLoadTxnBeginResult loadTxnBeginImpl(TLoadTxnBeginRequest request, 
String clientIp) throws UserException {
+        UserIdentity txnUser = null;

Review Comment:
   [P2] Record an owner when an ordinary load carries auth_code
   
   `txnUser` stays null in the `isSetAuthCode()` branch, but that branch is 
reachable through the ordinary authenticated HTTP producer: `parse_basic_auth` 
accepts any numeric `auth_code` header and `set_request_auth` forwards it 
instead of the password. For example, Alice can prepare 
`/api/db/table/_stream_load` with valid Basic credentials, 
`two_phase_commit:true` and `auth_code:1`; FE authenticates her before 
redirecting, but this begin call stores no owner. Planning and precommit also 
accept that branch. Bob can then commit or abort the new transaction by ID or 
label using his own Basic credentials and LOAD grant, because 
`checkTransactionUser` treats it as legacy/internal. This affects the in-scope 
ordinary producer in both modes, independently of the excluded SQL HTTP path. 
Reject the deprecated header for external loads or preserve a verified 
authenticated owner through this branch, and cover this producer variant in the 
two-user test.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to