[Summary]
MIR Team Ack once the listed required tasks are completed - you can
make your live easier by breaking up the package - see below for details.

We need to recheck for these once security review is done, but since
this will be very very different depending on breaking up the providers
or not this is for now incomplete waiting on the driving team to decide
and work on that.

Then once that is sorted out - or decided to be ignored and not broken
out - this will need a security review. We will have to assign ubuntu-
security then.

List specific binary packages to be promoted to main:
- golang-golang-x-oauth2-google-dev
- golang-golang-x-oauth2-dev

Required TODOs:
- MIR dependencies (listed in the known todo section of the MIR already)
- get the Team subscribed to the bug
- Upstreams on some of the packages seem to be partially inactive (only
  active to suite their own projects needs), but otherwise slow or
  inactive to bug reports and such. This isn't super uncommon, but
  history has shown that in that case maintaining it for Ubuntu often
  also means helping upstream - I want to make clear that this should
  be expected and want the foundation team to be aware of that.

Recommended TODOs:
- This will probably take a lot of time in the security team for all the
  different endpoint providers to check. If you would consider breaking
  the packages up further and we limit this to core+google that might be easier
  and reduce the risk to be denied for issues in a subpackage you don't need.
  See below for details.

[Duplication]
OK:
There is golang-github-mrjones-oauth-dev but it is Oauth(1) while what we
need is Oauth2 (also none of the two are in main yet). According to the readme
files of the two libs they know about each other and don't compete for the same
spot. Higher libs unite the lower ones for multi-auth but that again is a
different purpose (like https://github.com/markbates/goth).
It should not cause duplication to promote golang-golang-x-oauth2.

[Dependencies]
OK:
- no -dev/-debug/-doc packages that need exclusion

Problems:
- other Dependencies to MIR due to this
  - golang-golang-x-net-dev (part of this MIR already)
  - golang-google-cloud (in the known TODO section of this MIR description)
  => They are known but need to be tackled

[Embedded sources and static linking]
OK:
- no static linking (well, go - but nothing on top)
- no embedded source present
  There is a lot of code, but it is endpoint plugins and not embedded code that
  exists elsewhere. Yet the source states that they reject the addition
  of further endpoint - so there will be other codebases out there which are
  related.

[Security]
OK:
- does not run a daemon as root
- does not use webkit1,2
- does not use lib*v8 directly
- does not open a port
- does not process arbitrary web content
- does not integrate arbitrary javascript into the desktop
- does not deal with system authentication (eg, pam), etc)

Problems:
- history of CVEs does look concerning
  This particular package had none yet, but oauth2 in general has
  quite a record which suggests this needs to be checked.
- does parse data formats
- does use centralized online accounts

=> This needs a security review for sure

[Common blockers]
OK:
- does not FTBFS currently
- does have a test suite that runs at build time
  - test suite fails will fail the build upon error.
- no translation present, but none needed for this case (user visible)?
- not a python package, no extra constraints to consider int hat regard
- Go package that uses dh-golang

Problems:
- does have a test suite that runs as autopkgtest
  Not going into details of this again ...
- the build time tests do not cover all endpoint providers, which is
  another +1 on splitting up the package.
- The package has a team bug subscriber

[Packaging red flags]
OK:
- Ubuntu does not carry a delta
- symbols tracking not applicable for this kind of code.
- d/watch is present and looks ok
- Upstream update history is sporadic (just commits, no releases, not
  many changes per year)
- promoting this does not seem to cause issues for MOTUs that so far
  maintained the package
- no massive Lintian warnings
- d/rules is rather clean
- Does not have Built-Using (only the resulting binary will)
- Go Package that follows the Debian Go packaging guidelines

Problems:
- Debian/Ubuntu update history is slow (picking up commits ~ once per
  year or less)
- the current release is not packaged (mid 2019, which is more than a
  year off - e.g. the Jira endpoint isn't working due to that which is
  another +1 at splitting)
- The source is rather crowded containing the functional oauth2 core
  and a whopping 34 endpoint providers. The Google endpoint provider was
  broken out into a separate binary package, but depends on what is left
  for the core. As outlined above multiple times the test coverage,
  maintenance and other things differ a lot between such endpoints. Also
  in the current structure all of them would be supported and all of them
  need to be MIR&Security agreeable. If you'd consider splitting the other
  providers into extra packages as well (and probably provide a meta package
  -all if one wants that) it would tremendously help to reduce the scope.

[Upstream red flags]
OK:
- no Errors/warnings during the build
- no incautious use of malloc/sprintf (well go)
- no use of sudo, gksu, pkexec, or LD_LIBRARY_PATH
- no use of user nobody
- no use of setuid
- no important open bugs (crashers, etc) in Debian or Ubuntu
- no dependency on webkit, qtwebkit, seed or libgoa-*
- no embedded source copies
- not part of the UI for extra checks

Problems:
- 69 upstream bugs and some of them active (205 closed), but also a few
  as old as 5 year without any comment - not even "hey provide this to
  continue" which isn't perfect triage policy. To be clear many of the
  other packages in this overall MIR don't have any track record, I assume
  they might be even worse but here at least we see it.
  That indicates we might need to step up debug and contribute to this
  (and other of these) package upstream as well when we consider supporting
  it fully.
  E.g. do we need [1] or [2], I don't know but we can't just rely on
  upstream releases as there are none. I think you now see what I try
  to suggest by saying there will likely be more work/engagement needed
  for this (kind of) package.

[1]: https://github.com/golang/oauth2/issues/428
[2]: https://github.com/golang/oauth2/issues/391

** Bug watch added: github.com/golang/oauth2/issues #428
   https://github.com/golang/oauth2/issues/428

** Bug watch added: github.com/golang/oauth2/issues #391
   https://github.com/golang/oauth2/issues/391

** Changed in: golang-golang-x-oauth2 (Ubuntu)
     Assignee: Christian Ehrhardt  (paelzer) => Balint Reczey (rbalint)

** Changed in: golang-golang-x-oauth2 (Ubuntu)
       Status: New => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1894731

Title:
  [MIR] golang-*, Go build dependencies of google-guest-agent

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/golang-github-gcp-guest-logging-go/+bug/1894731/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to