I'd like the user to be able to enabled USB debugging, connect to my platform, and then use adb ppp to connect.
From what I can tell, the default android kernel supports this. (CONFIG_PPP and the tty has ppp support).
The problem is that pppd is not setuid. So it cannot open /dev/tty. That makes pppd pretty useless unless the phone is rooted.
Can I create an apk to install a setuid pppd?
Regards
Steve
--
Steve Modica
CTO - Small Tree Communications
www.small-tree.com
I would like to use pppd to create a connection to a generic android device.I'd like the user to be able to enabled USB debugging, connect to my platform, and then use adb ppp to connect.
From what I can tell, the default android kernel supports this. (CONFIG_PPP and the tty has ppp support).
The problem is that pppd is not setuid. So it cannot open /dev/tty. That makes pppd pretty useless unless the phone is rooted.
Can I create an apk to install a setuid pppd?
adb ppp "shell:pppd nodetach noauth noipdefault /dev/tty" nodetach noauth noipdefault notty <local-ip>:<remote-ip>
I swear I saw apps installing that said something like "this app requires superuser access" (perhaps sshdroid). What are those doing?
--
unsubscribe: android-kerne...@googlegroups.com
website: http://groups.google.com/group/android-kernel
Would a more acceptable solution for the generic case be to use port forwarding and non-root apps that just access that port?In that way, we could create simple apps to access our embedded device router and not require setuid.
On Wednesday, August 24, 2011 9:55:55 AM UTC-4, Steve Modica wrote:Would a more acceptable solution for the generic case be to use port forwarding and non-root apps that just access that port?In that way, we could create simple apps to access our embedded device router and not require setuid.
Depends on what you are doing. Are you making a custom version of android?
If not, it's not clear how you can open any of this up, other than hope that the device is rooted (and in the common way you expect).
If it is, having a service that listens on a tcp port (on the loopback interface _only_ or instead unix domain socket) would be one way to expose things, but it would not really offer much security in making it available to only some applications - it would differ from chmod'ing the device file only in that your code would sit there arbitrating use of the device.
To restrict access to only some apps, you'd need to add a unix group (to own the device file) and android permission (to assign membership in the group) to the android platform.
Or you can keep the device file owned by a group only available to a java-style android service you package with the system, and have it check that a 3rd-party client app trying to use the service holds a desired android permission or otherwise qualifies as allowed.
This probably belongs on android-porting rather than android-kernel
--
unsubscribe: android-kerne...@googlegroups.com
website: http://groups.google.com/group/android-kernel
--
unsubscribe: android-kerne...@googlegroups.com
website: http://groups.google.com/group/android-kernel
/dev/tty is root:rootThe default user is shell:shell