[ https://issues.apache.org/jira/browse/DRILL-7648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17064839#comment-17064839 ]
ASF GitHub Bot commented on DRILL-7648: --------------------------------------- vvysotskyi commented on pull request #2037: DRILL-7648: Scrypt j_security_check works without security headers URL: https://github.com/apache/drill/pull/2037#discussion_r396494612 ########## File path: exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/auth/DrillHttpSecurityHandlerProvider.java ########## @@ -54,11 +55,14 @@ private final Map<String, DrillHttpConstraintSecurityHandler> securityHandlers = CaseInsensitiveMap.newHashMapWithExpectedSize(2); + private final BiConsumer<HttpServletRequest, HttpServletResponse> preHandleCallback; + @SuppressWarnings("unchecked") - public DrillHttpSecurityHandlerProvider(DrillConfig config, DrillbitContext drillContext) + public DrillHttpSecurityHandlerProvider(DrillConfig config, DrillbitContext drillContext, + BiConsumer<HttpServletRequest, HttpServletResponse> preHandleCallback) Review comment: Passing `BiConsumer` looks slightly complicated. Is it possible either to pass map with response headers or obtain headers from `DrillConfig` again and use it where needed? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Scrypt j_security_check works without security headers > ------------------------------------------------------- > > Key: DRILL-7648 > URL: https://issues.apache.org/jira/browse/DRILL-7648 > Project: Apache Drill > Issue Type: Bug > Affects Versions: 1.17.0 > Reporter: Dmytro Kondriukov > Assignee: Igor Guzenko > Priority: Major > Fix For: 1.18.0 > > > *Preconditions:* > drill-override.conf > {noformat} > drill.exec: { > cluster-id: "drillbits1", > zk.connect: "localhost:5181" > impersonation: { > enabled: true, > max_chained_user_hops: 3 > }, > security: { > auth.mechanisms : ["PLAIN"], > }, > security.user.auth: { > enabled: true, > packages += "org.apache.drill.exec.rpc.user.security", > impl: "pam4j", > pam_profiles: [ "sudo", "login" ] > } > http: { > ssl_enabled: true,. > jetty.server.response.headers: { > "X-XSS-Protection": "1; mode=block", > "X-Content-Type-Options": "nosniff", > "Strict-Transport-Security": "max-age=31536000;includeSubDomains", > "Content-Security-Policy": "default-src https:; script-src > 'unsafe-inline' https:; style-src 'unsafe-inline' https:; font-src data: > https:; img-src data: https:" > } > } > } > {noformat} > *Steps:* > 1. Perform login to drillbit webUI > 2. Check in browser console in tab "network" headers of resource > https://node1.cluster.com:8047/j_security_check > 3. Check section "response headers" > *Expected result:* security headers are present > *Actual result:* security headers are absent > 4. Check section "Form Data" > *Expected result:* parameter "j_password" content is hidden > *Actual result:* parameter "j_password" content is visible -- This message was sent by Atlassian Jira (v8.3.4#803005)