MainInclusionReportMlocate

Differences between revisions 1 and 2
Revision 1 as of 2008-02-14 09:29:38
Size: 3271
Editor: chiark
Comment: new
Revision 2 as of 2008-02-14 09:33:31
Size: 3198
Editor: chiark
Comment:
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
MIR bug: [https://bugs.launchpad.net/BUGNUMBER] MIR bug: [https://bugs.launchpad.net/191775]
Line 34: Line 34:
''The author of this report should put their name here; reviewers will add comments etc. too'' ColinWatson (MIR author)

Main Inclusion Report for mlocate

Requirements

  1. Availability: [http://archive.ubuntu.com/ubuntu/pool/universe/m/mlocate]; available for all supported architectures

  2. Rationale:

  3. Security:

    • [http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=mlocate CVE entries]: none

    • [http://secunia.com/search/?search=mlocate Secunia history]: none

    • mlocate ships a version of updatedb that, as usual, runs as root from a daily cron job. The database it creates is owned by group mlocate and mode 0640 so that ordinary users cannot read it; /usr/bin/mlocate is setgid mlocate. This is essentially the same scheme as is used by slocate.

    • mlocate does not perform any network operations.

    • I (ColinWatson) performed a review of the code segments run with escalated privilege. I was impressed; the codebase is modern, well-written, well-commented, and was designed to entirely avoid the obvious attacks I could think of that involved passing it a malicious database. Its memory handling largely eschews traditional C support in favour of GNU obstacks, and completely avoids the usual dangerous string-handling functions. While I did not audit it exhaustively, its error handling seems reasonably complete and paranoid. Its build system is standard (though non-recursive) Autotools, using Autoconf, Automake, and Gnulib. It comes with a moderately-sized test suite.

  4. Quality assurance:

  5. Standards compliance:

  6. Dependencies:

    • adduser, libc6.
  7. Background information:

    • This package's purpose is to be a drop-in replacement for slocate and GNU locate, with better performance in the daily cron update by merging into an existing database rather than constructing a new one from scratch. The intention of the author of this main inclusion report is that it should replace slocate in standard Ubuntu installations, and thereby allow locate(1) to keep working for old-school Unix users while reducing system load for those who don't care. This should be a happier compromise than the present situation.

Reviewers

MIR bug: [https://bugs.launchpad.net/191775]

ColinWatson (MIR author)

MainInclusionReportMlocate (last edited 2008-08-06 16:37:33 by localhost)