Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jul 8, 2012
  1. Prevent compiler warnings

  2. Revert "Revert "Update version""

    This reverts commit 15ea355.
  3. Revert "Revert "Use flat files for stored apps""

    This reverts commit 588c414.
  4. Revert "Use flat files for stored apps"

    This reverts commit ec37525.
  5. Revert "Update version"

    This reverts commit ff77b49.
Commits on Jul 7, 2012
  1. Update version

Commits on Jul 1, 2012
Commits on Jun 4, 2012
  1. Build su as static.

    With so many different versions of Android, using a dynamically linked
    binary is just not practical, since things can be wildly different on
    different versions.
  2. Use am to send intents rather than a binder transaction.

    This commit is by koush and is mostly copied from the CyanogenMod fork
    of su.
    By using am instead of a binder transaction, we can guarantee
    compatibility with current and future versions of Android.
Commits on Mar 3, 2012
  1. Change euid back to root before finally set a new id

    git-core committed
    Fixes a bug reported in a comment to the issue #9 against su-binary
    (see #9 (comment) for details).
    Thanks to Erik Pilsits ( for the report.
    Add the euid change before populate_environment() anticipating we have to merge
    the commit "Inherit LD_LIBRARY_PATH ...", which needs root credentials in order to
    successfully open /proc/<ppid>/environ.
Commits on Feb 25, 2012
Commits on Feb 20, 2012
  1. Revert "Inherit the environment of the caller process for a new proce…

    git-core committed
    …ss image"
    This reverts commit e0329ce.
Commits on Feb 18, 2012
  1. Merge branch 'gc' into gc-ics

    git-core committed
Commits on Jan 29, 2012
  1. constantify su_context* arg & small cosmetic fixes

    git-core committed
  2. Provide LOG_TAG for db too

    git-core committed
  3. Call property_get() only once

    git-core committed
    property_get() iterates over potentially unbound array of properties. There is no good for
    calling it several times per su invocation.
  4. Move frequently used code snippet in get_command()

    git-core committed
  5. Combine su_initiator and su_request into su_context

    git-core committed
  6. Pass the rest of arguments in the command line to a callee

    git-core committed
    Thus, someone may invoke su as
    su -s shell uid args...
    For example,
    su -s /system/xbin/busybox root mount -o rw,remount /system
Commits on Jan 21, 2012
  1. Handle -l option

    git-core committed
  2. Return special exit code when terminating by signal

    git-core committed
    So user could distinguish between SIGHUP and other abnormal terminations at least
  3. Accurately handle -c option

    git-core committed
  4. Remove the communication socket if Ctrl+C (SIGINT) or Ctrl+\ (SIGQUIT…

    git-core committed
    …) are pressed
Commits on Jan 14, 2012
  1. Check syscall return codes

    git-core committed
Commits on Jan 11, 2012
  1. Bump version

    committed with git-core
  2. Don't allow garbage instead of real uid in the command line

    git-core committed
    Replace atoi(3) by strtoul(3), the latter allows to check parse errors
  3. Be compatible with other implementation of su

    git-core committed
    o use getopt_long(3), so -l, --login can be allowed anywhere in the argument list
    o add -m and -p which do nothing
    o su -h outputs usage in stdout and exits with 0 while
      su with invalid options outputs usage in stderr and exits with 2 now
  4. Exit with false status if exec(3) fails ...

    git-core committed
    ... and show errno from exec(3) to the user
  5. Reorder the code which stores intent into parcel for clarity

    git-core committed
    Data themself aren't changed actually, only comments around the code
Something went wrong with that request. Please try again.