New issue
Advanced search Search tips

Issue 831913 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocking:
issue 781061
issue 831914
issue 832263



Sign in to add a comment

Validate IPP Requests out of process

Project Member Reported by skau@chromium.org, Apr 12 2018

Issue description

Build an out of process IPP request validator outside of Chrome.  This needs to be out of process to prevent bugs from compromising the Chrome process.
 

Comment 1 by skau@chromium.org, Apr 12 2018

Blocking: 781061

Comment 2 by skau@chromium.org, Apr 12 2018

Blocking: 831914

Comment 3 by skau@chromium.org, Apr 12 2018

Blocking: 832263
Status: Assigned (was: Untriaged)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7f7c617584d1d34fc9e8971a87ed09252b99364c

commit 7f7c617584d1d34fc9e8971a87ed09252b99364c
Author: Luum Habtemariam <luum@chromium.org>
Date: Wed Jul 18 00:41:18 2018

ARC CUPS API IPP request (oop)Validation service

This service will serve the ARC CUPS API by accepting an IPP request via
mojom calls, validate its format in a heavily restricted/jailed process,
and return the result.

This change just contains the scaffolding for the service,
validation/jailing to follow soon.

Test: WIP
Bug: chromium:831913
Change-Id: I5cd88b82746d999743e3ebddfc6aef15e408506d
Reviewed-on: https://chromium-review.googlesource.com/1121108
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Commit-Queue: Luum Habtemariam <luum@chromium.org>
Cr-Commit-Position: refs/heads/master@{#575877}
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/app/BUILD.gn
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/app/generated_resources.grd
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/browser/DEPS
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/browser/chrome_content_browser_manifest_overlay.json
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/BUILD.gn
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/OWNERS
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/cups_ipp_validator_service.cc
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/cups_ipp_validator_service.h
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/ipp_validator.cc
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/ipp_validator.h
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/manifest.json
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/public/mojom/BUILD.gn
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/public/mojom/OWNERS
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/public/mojom/constants.mojom
[add] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/services/cups_ipp_validator/public/mojom/ipp_validator.mojom
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/utility/BUILD.gn
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/utility/DEPS
[modify] https://crrev.com/7f7c617584d1d34fc9e8971a87ed09252b99364c/chrome/utility/chrome_content_utility_client.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8534f5dfa171e0091524ddae918c529325c1d0df

commit 8534f5dfa171e0091524ddae918c529325c1d0df
Author: Luum Habtemariam <luum@chromium.org>
Date: Tue Aug 14 17:00:55 2018

Moving ScopedIppPtr to cups_ipp_util

Move motivated by IppValidator chrome service that needs it.

Bug: chromium:831913
Test: base_unitttests pass and manual printing succeeds
Change-Id: Ia333819b30b2ea5953d1e219be799e89105e29cb
Reviewed-on: https://chromium-review.googlesource.com/1164538
Reviewed-by: Sean Kau <skau@chromium.org>
Commit-Queue: Luum Habtemariam <luum@chromium.org>
Cr-Commit-Position: refs/heads/master@{#582948}
[modify] https://crrev.com/8534f5dfa171e0091524ddae918c529325c1d0df/printing/backend/cups_ipp_util.cc
[modify] https://crrev.com/8534f5dfa171e0091524ddae918c529325c1d0df/printing/backend/cups_ipp_util.h
[modify] https://crrev.com/8534f5dfa171e0091524ddae918c529325c1d0df/printing/backend/cups_jobs.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Dec 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fd11538737843611859d7b40a1a037e2e1781309

commit fd11538737843611859d7b40a1a037e2e1781309
Author: Luum Habtemariam <luum@chromium.org>
Date: Tue Dec 18 02:31:36 2018

Add ParseIpp method to IppParser Chrome service

Adding in IPP Parsing method and implementation to corresponding Chrome
service. Parses arbitrary byte-buffers into rigorously formatted IPP
requests to be validated later.

To be used by ARC CUPS printing API, go/cros-cups-in-arc++

Bug: chromium:831913
Test: WIP
Change-Id: I692e520e3a96a9ed35ef82c86f314589544404ee
Reviewed-on: https://chromium-review.googlesource.com/c/1279300
Reviewed-by: Will Harris <wfh@chromium.org>
Reviewed-by: Mattias Nissler <mnissler@chromium.org>
Reviewed-by: Sean Kau <skau@chromium.org>
Commit-Queue: Luum Habtemariam <luum@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617353}
[modify] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/BUILD.gn
[add] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/fake_ipp_parser.cc
[modify] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/ipp_parser.cc
[modify] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/ipp_parser.h
[add] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/ipp_parser_util.cc
[add] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/ipp_parser_util.h
[modify] https://crrev.com/fd11538737843611859d7b40a1a037e2e1781309/chrome/services/cups_ipp_parser/public/mojom/ipp_parser.mojom

Project Member

Comment 8 by bugdroid1@chromium.org, Dec 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c5f12aa2ca927d11c691fed3f3fc14523875e628

commit c5f12aa2ca927d11c691fed3f3fc14523875e628
Author: Luum Habtemariam <luum@chromium.org>
Date: Thu Dec 20 01:32:20 2018

Nitpick: Adding quality of life using statement

Somehow missed this in last CL(crrev.com/c/1328044).

Bug: chromium:831913
Test: In following CL.
Change-Id: Iecd964fb01c40c8590806c63f9443db591e04ed1
Reviewed-on: https://chromium-review.googlesource.com/c/1383309
Reviewed-by: Sean Kau <skau@chromium.org>
Commit-Queue: Luum Habtemariam <luum@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618065}
[modify] https://crrev.com/c5f12aa2ca927d11c691fed3f3fc14523875e628/chrome/services/cups_ipp_parser/ipp_parser.cc

Sign in to add a comment