Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugins without shared UID #2921

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Commits on Mar 26, 2024

  1. Added: Methods sendFD and readFD with sendFDNative and readFDNative t…

    …o send and receive file descriptors over UNIX sockets as ancillary data.
    tareksander committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f3ebad8 View commit details
    Browse the repository at this point in the history
  2. Added: New dangerous permission com.termux.permission.TERMUX_PLUGIN, …

    …signature permission com.termux.permission.TERMUX_SIGNATURE, PluginService bound service for plugins.
    
    The methods for PluginService are defined in AIDL in the new module plugin-aidl. The module can be imported by plugins to get the method definitions. The TERMUX_PLUGIN permission is needed to bind to the PluginService, and external apps have to be enabled in the config.
    
    AIDL methods:
    setCallbackBinder and setCallbackService: Used to get a Binder for the PluginService to identify each plugin and get notified when it dies.
    runTask: Runs a command as a Termux task in the background if the caller also has the RUN_COMMAND permission.
    listenOnSocketFile: Creates a server socket in the app directory for the plugins (TermuxConstants#TERMUX_APPS_DIR_PATH/<package name>) and returns the file descriptor, which can be used for a LocalServerSocket.
    openFile: Opens a file in the app directory for the plugin and returns the file descriptor.
    tareksander committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    868cd13 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d690e61 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd246a6 View commit details
    Browse the repository at this point in the history
  5. Changed: Listening to a socket from listenOnSocketFile() gives a perm…

    …ission error. listenOnSocketFile() now doesn't send the server socket, but sends the client sockets via new socketConnection() callback.
    tareksander committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    9bc59ac View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    44267d6 View commit details
    Browse the repository at this point in the history
  7. Added|Fixed: NativeShell now works, fixed the Termux task notificatio…

    …n not updating for NativeShell tasks. Added taskFinished callback for plugins and signalTask method for plugins to call.
    tareksander committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f459ee4 View commit details
    Browse the repository at this point in the history
  8. Added|Fixed: Added the option to specify the binding priority for cal…

    …lback services, fixed callback services, fixed plugin UID accidentally being set to the PID.
    tareksander committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    b1fe382 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ecf4f4a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7ea61ee View commit details
    Browse the repository at this point in the history