whoopsie (0.2.24.5) trusty; urgency=medium

  * Do not send Stacktrace, and ThreadStacktrace as retracing with ddebs will
    provide more useful versions of them. (LP: #1306175)

 -- Brian Murray <brian@ubuntu.com>  Thu, 10 Apr 2014 10:58:39 -0700

whoopsie (0.2.24.4) trusty; urgency=low

  * Close and reopen the log file so that the file descriptor is not closed
    when daemonizing. (LP: #1245524)

 -- Brian Murray <brian@ubuntu.com>  Tue, 21 Jan 2014 08:23:30 -0800

whoopsie (0.2.24.3) trusty; urgency=medium

  * Don't use valgrind altogether, reporting unrelated leakage.

 -- Dimitri John Ledkov <xnox@ubuntu.com>  Mon, 23 Dec 2013 20:15:10 +0000

whoopsie (0.2.24.2) trusty; urgency=medium

  * Don't use valgrind on ppc64el.

 -- Matthias Klose <doko@ubuntu.com>  Wed, 18 Dec 2013 17:16:25 +0100

whoopsie (0.2.24.1) saucy; urgency=low

  * Fix !arm64 build.

 -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>  Wed, 16 Oct 2013 09:53:22 +0100

whoopsie (0.2.24) saucy; urgency=low

  * Do not run valgrind tests, when not available.

 -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>  Wed, 16 Oct 2013 09:40:03 +0100

whoopsie (0.2.23) saucy; urgency=low

  * Don't lower the refcount to 0 on the system bus until shutdown, when
    the application is done using it (LP: #1211417).
  * Clean up calls to g_variant_get. Don't bother sinking the reference
    before calling our own functions.
  * Fix test_get_system_uuid unit test leaking memory.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 16 Aug 2013 14:54:08 +0100

whoopsie (0.2.22) saucy; urgency=low

  * Add an option to assume there is always a route to $CRASH_DB_URL.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 15 Aug 2013 08:35:13 +0100

whoopsie (0.2.21) saucy; urgency=low

  * Fix logically dead code path. Thanks Coverity (CID 989205).
  * Don't leak a socket if we cannot get the list of network interfaces.
    Thanks Coverity (CID 971184).
  * Avoid a potential null pointer dereference.
  * Always log messages via the logging code, never straight to stdout.

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 14 Aug 2013 14:02:26 +0100

whoopsie (0.2.20) saucy; urgency=low

  * Don't fail if the temporary file in the logging test has already
    gone away.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 12 Aug 2013 09:43:25 +0100

whoopsie (0.2.19) saucy; urgency=low

  * Better handle stat calls in logging test.
  * If APPORT_REPORT_DIR is set to a nul-byte, fall back to the default.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 09 Aug 2013 16:46:20 +0100

whoopsie (0.2.18) saucy; urgency=low

  * Debugging why the buildds cannot remove the temporary files created
    for the logging tests.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 09 Aug 2013 15:57:54 +0100

whoopsie (0.2.17) saucy; urgency=low

  * Log to syslog.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 09 Aug 2013 11:34:05 +0100

whoopsie (0.2.16) saucy; urgency=low

  * Continue to process the existing crash reports every two hours, not
    just once after two hours (LP: #1205374).

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 26 Jul 2013 16:17:31 +0100

whoopsie (0.2.15) raring; urgency=low

  * Bring back old GDBus code to talk to NetworkManager as a workaround
    for LP: #1124330.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 26 Feb 2013 10:51:11 +0000

whoopsie (0.2.14) raring; urgency=low

  * Don't crash when there are no active connections. Thanks Ben
    Collins.

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 20 Feb 2013 18:17:21 +0000

whoopsie (0.2.13ubuntu1) raring; urgency=low

  * Do not start whoopsie if ubiquity presence is detected, as it causes
    failures to install/oem-configure. Regression between 0.2.9 - 0.2.13.
    See http://pad.lv/1123798 for history.

 -- Dmitrijs Ledkovs <dmitrij.ledkov@ubuntu.com>  Mon, 18 Feb 2013 16:40:24 +0000

whoopsie (0.2.13) raring; urgency=low

  * Do not leak when CURL cannot be initialised. Tear down the directory
    monitors in the test cases. Cast to correct arguments when setting
    up a report processing timeout.
  * Don't try to connect signals to NULL objects.
  * Don't look for reports in /var/crash when running the valgrind
    tests. Makefile
  * Set up /var/crash earlier and with the correct permissions, while we
    still have root.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 12 Feb 2013 15:12:02 +0000

whoopsie (0.2.12) raring; urgency=low

  * g_type_init is deprecated in 2.35/2.36 according to the buildds.
  * Put src/ in the library path when running whoopsie under the
    valgrind test.
  * Fix memory leak when the .upload file does not exist when checking
    to see if a report has already been handled. Thanks Colin Watson.
  * Use glib memory allocation everywhere.
  * Fix a leak if we cannot get the default network monitor.
  * Don't initialise the W32 bits in CURL.
  * Don't initialise curl until we're ready to use it.
  * Actually pass the report directory to process_existing_files at the
    timeout interval.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 05 Feb 2013 17:12:18 +0000

whoopsie (0.2.11) raring; urgency=low

  * Build-depend on valgrind.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 29 Jan 2013 20:23:54 +0000

whoopsie (0.2.10) quantal; urgency=low

  * smatch-detected redundant null check. 'If ptr is NULL, no operation
    is performed.'
  * valgrind-discovered leak in process_existing_files when the crash
    report has already been handled.
  * Clean up after the directory monitor when we're done with it.
  * Stop monitoring for connectivity on shutdown.
  * Use libnm-glib instead of DBus for communicating with
    NetworkManager. This fixes a hard-to-trace memory leak in our usage
    of gvariant.
  * Fix a socket leak found by Coverity.
  * Finally check the mkdir call for the /var/crash directory, now that
    Coverity is complaining about it.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 29 Jan 2013 20:20:04 +0000

whoopsie (0.2.9) raring; urgency=low

  * Do not modify the .uploaded file corresponding to a .crash file when
    starting up (LP: #1084311)

 -- Brian Murray <brian@ubuntu.com>  Tue, 11 Dec 2012 10:16:56 -0800

whoopsie (0.2.8) raring; urgency=low

  * Fix /whoopsie/get-mac-address test. This test previously hardcoded "eth0"
    for comparing the MAC against. eth0 is not guaranteed to exist, and
    whoopsie might use another device instead (such as wlan0).
    Change the test to require that whoopsie_identifier_get_mac_address()
    matches any network device instead.
  * Run as non-root when specifying additional environment variables. We
    mostly need root privileges for determining the system UUID and for
    creating the lock file. When testing, it is often convenient to run this
    with a predictable fake UUID and a temporary report directory, so start
    without root privileges if $CRASH_DB_IDENTIFIER is provided.  Just like
    Apport, also respect $APPORT_REPORT_DIR to use a different report
    directory. If this is given, create the lock file there instead of in
    /var/lock/whoopsie/. 
  * Fix all compiler warnings:
    - Add some missing #includes
    - Fix version parsing in src/tests/Makefile
    - Fix broken function declarations
    - Move non-test code into #ifndef TEST section

 -- Martin Pitt <martin.pitt@ubuntu.com>  Tue, 11 Dec 2012 11:49:49 +0100

whoopsie (0.2.7) quantal-proposed; urgency=low

  * Also include the InstallationMedia field so that we can tie the
    installation date to a release (LP: #1071255).

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 25 Oct 2012 11:46:12 +0100

whoopsie (0.2.6) quantal-proposed; urgency=low

  * Send the UpgradeStatus and InstallationDate fields from apport (LP:
    #1070400).

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 24 Oct 2012 11:05:50 +0100

whoopsie (0.2.5) quantal; urgency=low

  * Send the OopsText field so that we can generate a crash signature
    for KernelOops problems. This lets us bucket KernelOops problems
    together so they appear in the 'most common problems' table on
    https://errors.ubuntu.com.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 12 Oct 2012 15:25:22 +0100

whoopsie (0.2.4) quantal; urgency=low

  * Send the Tags field with the report so that we can create a view of
    just crashes of packages installed from $release-proposed.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 11 Oct 2012 14:36:51 +0100

whoopsie (0.2.3) quantal; urgency=low

  * Do not send the kernel core dump (VmCore) with the initial crash
    metadata.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 17 Sep 2012 10:30:19 +0100

whoopsie (0.2.2) quantal; urgency=low

  [ Brian Murray ]
  * Add LiveMediaBuild to acceptable fields (LP: #999816)  

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 29 Aug 2012 10:00:56 +0100

whoopsie (0.2.1) quantal; urgency=low

  * Provide a libwhoopsie library. This allows the control center panel
    via activity-log-manager to provide a 'Show Previous Reports'
    button.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 18 Jun 2012 09:32:46 +0100

whoopsie (0.2.0) quantal; urgency=low

  * Create the /var/metrics directory for metrics submission. Thanks Ted
    Gould.
  * Fallback to using the SHA-512 hash of the first non-loopback MAC
    address (LP: #963007, LP: #959308).

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 14 Jun 2012 20:57:31 +0100

whoopsie-daisy (0.1.32) precise; urgency=low

  * Fix failing tests on powerpc and ARM.

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 18 Apr 2012 13:04:36 +0100

whoopsie-daisy (0.1.31) precise; urgency=low

  * == is a bashism.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 12 Apr 2012 15:06:11 +0100

whoopsie-daisy (0.1.30) precise; urgency=low

  * Stop rejecting legal arguments to the postinst (LP: #978436). Thanks
    Colin Watson!

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 12 Apr 2012 09:00:26 +0100

whoopsie-daisy (0.1.29) precise; urgency=low

  * Mark reports as complete when we get a HTTP response of 400 from the
    server, as these represent the server not liking what we sent it.
    Sending these again repeatedly would be pointless (LP: #979082). 

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 11 Apr 2012 17:36:32 +0100

whoopsie-daisy (0.1.28) precise; urgency=low

  * Create /var/crash if it doesn't already exist. Don't silence the
    chmod and chgrp calls on it. Thanks Colin Watson (LP: #978502)!

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 11 Apr 2012 09:44:12 +0100

whoopsie-daisy (0.1.27) precise; urgency=low

  * Drop /etc/cron.daily/whoopsie. This is handled in apport now.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 10 Apr 2012 18:01:02 +0100

whoopsie-daisy (0.1.26) precise; urgency=low

  * Take ownership of the NetworkManager state variant on setup and
    unref it, plugging a memory leak.
  * Log the reason the server rejected the submitted crash report.
  * Send the Whoopsie version with each crash submission.
  * Delete both .upload and .uploaded files after 14 days. Thanks
    Marc Deslauriers (LP: #973687).

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 10 Apr 2012 14:28:58 +0100

whoopsie-daisy (0.1.25) precise; urgency=low

  * Stop using a queue to monitor reports that need to be processed.
    Just iterate over the reports that have a .upload file, but do not
    have a matching .uploaded file.
  * Set the GSettings backend to memory to avoid pulling in DConf when
    we call into GNetworkMonitor.
  * Split out the /var/crash monitoring code and add tests for it.
  * Plug some memory leaks.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 29 Mar 2012 23:30:39 +0100

whoopsie-daisy (0.1.24) precise; urgency=low

  * Add the file listing of /var/crash to whoopsie bug reports. Taken
    from apport's package hook.
  * Fix cppcheck call in make check.
  * Monitor network connectivity using NetworkManager and GNetworkMonitor.
    Do not report being online and able to report crashes if the user only
    has 3G or dial-up connectivity, or if there is no route.
  * Do not upload crashes multiple times if the file attributes for
    their .upload files change while on the report queue.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 29 Mar 2012 11:37:51 +0100

whoopsie-daisy (0.1.23) precise; urgency=low

  * Fix builds failing when cppcheck isn't present.
  * Clean up closing file descriptors in mark_handled. Thanks Colin
    Watson.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 23 Mar 2012 14:43:41 +0000

whoopsie-daisy (0.1.22) precise; urgency=low

  * Do not leak the file descriptor of our lockfile.
  * Do not leak a file descriptor when marking a report as handled. Add
    a test for the mark_report function.
  * Fix potential NULL pointer dereference in report tests.
  * If allocated with g_malloc, free with g_free.
  * Add cppcheck to make check, but only when it's installed.
  * Plug a memory corruption bug (hopefully). g_queue_find_custom
    returns a *link* not a list, so do not try to hand it back to the
    slice allocator as if it were a list.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 23 Mar 2012 14:17:43 +0000

whoopsie-daisy (0.1.21) precise; urgency=low

  [ Steve Langasek ]
  * debian/rules: make sure dh_installinit knows about our upstart job, so
    we get correct start/stop/restart handling on install/removal/upgrade.

  [ Evan Dandrea ]
  * Disable the network detection for now, to help in tracking the
    source of a memory corruption bug.
  * Clean up option parsing a bit.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 23 Mar 2012 11:44:51 +0000

whoopsie-daisy (0.1.20) precise; urgency=low

  * Handle errors in changing the filename extension, even when we're
    pretty sure we have an extension.
  * Handle errors in g_file_get_path.
  * CURLOPT_WRITEFUNCTION may be called successively. Grow a string with
    each call to account for this.
  * Add an apport hook for attaching the stderr output when run under
    upstart.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 22 Mar 2012 15:22:51 +0000

whoopsie-daisy (0.1.19) precise; urgency=low

  * Handle errors in parsing the crash database URL.
  * Do not double-free the crash database core submission URL when a
    system UUID is not present (LP: #960972).
  * Handle errors in bson_append_string.
  * Handle more BSON error conditions.
  * Handle empty values in the apport format ("KeyName:\n")
    (LP: #960766, LP: #960737, LP: #960751).

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 21 Mar 2012 17:39:20 +0000

whoopsie-daisy (0.1.18) precise; urgency=low

  * Use https for crash reporting.
  * Ensure we generate core dumps when whoopsie crashes.
  * Do not give whoopsie a shell.

 -- Evan Dandrea <ev@ubuntu.com>  Tue, 20 Mar 2012 21:24:51 +0000

whoopsie-daisy (0.1.17) precise; urgency=low

  * Ship a default configuration file.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 16 Mar 2012 14:36:57 +0000

whoopsie-daisy (0.1.16) precise; urgency=low

  * Fix the build of the previous release failing on account of make
    check was failing in the backend code.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 12 Mar 2012 17:45:47 +0000

whoopsie-daisy (0.1.15) precise; urgency=low

  * Handle multiple crashes of the same binary by watching the
    modification times on the .upload and .uploaded files.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 12 Mar 2012 17:06:26 +0000

whoopsie-daisy (0.1.14) precise; urgency=low

  * Do not include 'base64 ' on the front of any base64-encoded field.
  * Check the return value of asprintf.
  * CURLOPT_VERBOSE expects a long.
  * CURLOPT_WRITEDATA expects a pointer.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 27 Feb 2012 17:50:52 +0000

whoopsie-daisy (0.1.13) precise; urgency=low

  * Support UTF-8 encoded text in crash reports.
  * Only send a subset of the possible fields in a report, ignoring
    fields created by package hooks.

 -- Evan Dandrea <ev@ubuntu.com>  Sun, 26 Feb 2012 15:44:01 +0000

whoopsie-daisy (0.1.12) precise; urgency=low

  * Add pyflakes to the build dependencies.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 23 Feb 2012 15:11:59 +0000

whoopsie-daisy (0.1.11) precise; urgency=low

  * Do not start the daemon if crash reporting is turned off.
  * Output a better error message if the daemon is not started as root.
  * Do not keep trying to process reports that cannot be parsed.
  * Provide a long description for the whoopsie package.
  * Drop the GNOME Control Center page for controlling crash reporting.
    This has been moved into the activity-log-manager package and these
    settings can be found under the 'Diagnostics' tab in Privacy.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 23 Feb 2012 15:01:18 +0000

whoopsie-daisy (0.1.10) precise; urgency=low

  * Add a cron job (run daily) to clean up the .upload and .uploaded
    files.
  * Remove the metrics preferences, since this does not exist.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 17 Feb 2012 19:11:08 +0000

whoopsie-daisy (0.1.9) precise; urgency=low

  * Change the queue processing timeout to every two hours.
  * Change the GNOME Control Center page name to Diagnostics (LP: #934052).

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 17 Feb 2012 15:34:24 +0000

whoopsie-daisy (0.1.8) precise; urgency=low

  * Security fixes. Thanks Jamie Strandboge for the review.
    - Check the return value of the open call in get_system_uuid.
    - Properly initialize libcrypt.
    - Check that the call to gcry_md_open succeeds
    - Ensure that reading the SHA512 message digest succeeds.
    - Protect against changes to the message digest length creating a
      security vulnerability.
    - Check the returncode of setenv.
    - Use /var/lock/whoopsie instead of /tmp/.whoopsie-lock.
    - umask is usually called before fork.
    - Future-proof by using getrlimit instead of explicitly closing STD*
    - Redirect stdin, stdout, and stderr to /dev/null.
    - Ensure strings created in update_to_crash_file are NULL-terminated.
    - Only process regular files in /var/crash.
    - Replace calls to *alloc with g_*alloc, which calls abort() on
      failure.
    - Remove unused system_uuid pointer.
    - Fix warnings in make check.
    - Initialize all of curl.
    - Redirect stderr to null in chgrp and chmod calls.
    - Set home directory to /nonexistent.
    - Enable libcrypt secure memory.
    - Put the lock file in /var/lock/whoopsie/.
    - Sanity check the CRASH_DB_URL environment variable.
    - Added tests:
      - Check handling of embedded NUL bytes.
      - Verify that symlinks in /var/crash produce the correct error
        message.
      - Verify that keys without values in reports produce an error message.
      - Ensure that the report does not start with a value.
      - Correctly identify a report without spaces as malformed.
      - Verify that directories in /var/crash produce the correct error
        message.
      - Ensure that blank lines in a report are treated as errors.
      - Ensure that carriage returns are escaped.
      - Do not start multi-line values with a newline.
      - Check that a valid report has the exact expected contents.
      - Ensure that other variants of embedded carriage returns are escaped.
      - Verify that reports without a trailing newline are handled properly.
  * Change crash database URL to http://daisy.ubuntu.com.
  * Main inclusion request approved (LP: #913694).

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 16 Feb 2012 16:37:35 +0000

whoopsie-daisy (0.1.7) precise; urgency=low

  * Do not attempt to load the control center panel UI from the build
    directory.

 -- Evan Dandrea <ev@ubuntu.com>  Fri, 10 Feb 2012 10:43:51 +0000

whoopsie-daisy (0.1.6) precise; urgency=low

  * Don't fail if there are no crash files (LP: #928735).

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 09 Feb 2012 13:18:08 +0000

whoopsie-daisy (0.1.5) precise; urgency=low

  * Add a control center privacy preferences page.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 06 Feb 2012 14:19:15 +0000

whoopsie-daisy (0.1.4) precise; urgency=low

  * Write the system UUID to the UserOOPS ColumnFamily.
  * Drop the CAP_FOWNER stuff.  As James points out, we can just write a
    .uploaded file and let cron clean up the mess.
  * Have the client pass the architecture, rather that have an intermediary
    processing step in the MQ.
  * Add retracing support in process_core.py.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 26 Jan 2012 12:46:54 +0000

whoopsie-daisy (0.1.3) precise; urgency=low

  * Drop NetworkManager cflags and libs from Makefile.
  * Add missing -lcap to tests Makefile.

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 18 Jan 2012 17:58:17 +0000

whoopsie-daisy (0.1.2) precise; urgency=low

  * Added an upstart job.
  * Don't segfault if we cannot open the report.
  * Move to txstatsd for metrics submission.
  * Moved to WSGI.
  * Dropped Content-length, as it's superfluous.
  * Use oops-repository for talking to Cassandra.
  * Update the documentation.
  * Don't run install target on make.
  * Fix a double-free when a report is addded, then removed from the queue.
  * Submit the core file when asked.
  * Add initial MQ publishing for core file processing.
  * Submit a SHA-512 hash of the system UUID to key against.
  * Drop privileges when spawning.
  * Don't crash if there are files without an extension in /var/crash.
  * Fix a really nasty memory corruption bug.
  * Make warnings build failures.
  * Remove the lock file on exit.
  * Add tests for get_system_uuid, get_crash_db_url, and hex_to_char.
  * Move to GNetworkMonitor from NetworkManager for the network
    connectivity check.
  * Ensure in the postinst that whoopsie can read crash reports in
    /var/crash.
  * Isolate whoopsie into its own mount namespace, dropping all privileges and
    capabilities but CAP_FOWNER, so that we can delete files in /var/crash even
    though it's +t.

 -- Evan Dandrea <ev@ubuntu.com>  Wed, 18 Jan 2012 17:26:02 +0000

whoopsie-daisy (0.1.1) precise; urgency=low

  * Build dependencies.

 -- Evan Dandrea <ev@ubuntu.com>  Mon, 09 Jan 2012 08:29:06 +0000

whoopsie-daisy (0.1) precise; urgency=low

  * Initial Release.

 -- Evan Dandrea <ev@ubuntu.com>  Thu, 01 Dec 2011 14:33:08 +0000
