RE: copy some kernel extensions to /tmp directory and then load that kext when program Launches
RE: copy some kernel extensions to /tmp directory and then load that kext when program Launches
- Subject: RE: copy some kernel extensions to /tmp directory and then load that kext when program Launches
- From: Rahulkumar Tibdewal <email@hidden>
- Date: Thu, 28 May 2009 17:53:54 +0530
- Acceptlanguage: en-US, en-IN
- Thread-topic: copy some kernel extensions to /tmp directory and then load that kext when program Launches
Hi,
> but I don't understand why you don't let the kexts into your app
> bundle and then execute from CFBundle Resources directory your
> pre-flight script using standard C functions
= I tried this but it faills to load and gives following error.
Error loading /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Debug/TcpFilter.kext/Contents/MacOS/TcpFilter: dlopen(/Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Debug/TcpFilter.kext/Contents/MacOS/TcpFilter, 262): no suitable image found. Did find: /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Debug/TcpFilter.kext/Contents/MacOS/TcpFilter: can't map
> you can do whatever you want imagine you have your GUI app in
> awakeFromNib just execute the load using popen on a pre-flight,
= I would love to do that. But problem is I am able to load TcpFilter.kext from /tmp only.
sh-3.2$ sudo kextload -v /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Release/TcpFilter.kext
extension /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Release/TcpFilter.kext has potential problems:
Warnings
{
"Kext has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style" = true
}
kextload: extension /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Release/TcpFilter.kext appears to be loadable
kextload: loading extension /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Release/TcpFilter.kext
kextload: extension /Users/rahul/Desktop/MacResearch/InternetBlock/TcpFilter/trunk/build/Release/TcpFilter.kext is not authentic (check ownership and permissions; run with -t for details)
> second option create a deamon script loader/unloader using launchd, I
> don't understand what's your problem anyway
I also used launchd. It also ask for password. Can see it on console. So, this dont load TcpFilter.kext
This thing is really frustrating. Please help.
I also attached plist of TcpFilter.kext. May be that can give u clue to help me.
Thanks
Rahul
________________________________________
From: darwin-kernel-bounces+rahulkumar_tibdewal=email@hidden [darwin-kernel-bounces+rahulkumar_tibdewal=email@hidden] On Behalf Of mm w [email@hidden]
Sent: Thursday, May 28, 2009 12:34 AM
To: email@hidden
Subject: Re: copy some kernel extensions to /tmp directory and then load that kext when program Launches
if you don't know how to get a root Priviledge: (maybe it's the real
question behind)
http://code.google.com/p/le-depotoir/source/browse/trunk/misc/auth.c
you could also use osascript or applescript (carbon embedded too)
do shell script "/bin/ls -la" with administrator privileges there are
many well-known solutions (thousand lines on various forums) but it's
definitely not a question for the kernel-dev-list or a kext problem
Best
On Wed, May 27, 2009 at 11:58 AM, mm w <email@hidden> wrote:
> system(3) execve(2) popen(3) posix_spawn(2)
>
> cp src -> dest, there are a lot of sub-api to copy data,
>
> but in your case, you have only to spawn/exec/popen a pre-flight
> script in your code and do whatever you want as everybody does
>
> but I don't understand why you don't let the kexts into your app
> bundle and then execute from CFBundle Resources directory your
> pre-flight script using standard C functions
>
> you can do whatever you want imagine you have your GUI app in
> awakeFromNib just execute the load using popen on a pre-flight,
>
> second option create a deamon script loader/unloader using launchd, I
> don't understand what's your problem anyway
>
> Cheers!
>
>
> On Wed, May 27, 2009 at 10:35 AM, Rahulkumar Tibdewal
> <email@hidden> wrote:
>> Hi
>>
>> As I said before, My heartiest apology for spam. Again that was not intentional.
>>
>> I want to do this at standard user level. I am using C++/carbon code.
>> You have give a scripts which will run for super user.
>> However the case is I want to copy kext to /tmp and load from there itself on standard user machine.
>> This will help server monitor network on that standard user machine.
>>
>> Thanks
>> Rahul
>>
>>
>>
>> -----Original Message-----
>> From: darwin-kernel-bounces+rahulkumar_tibdewal=email@hidden [mailto:darwin-kernel-bounces+rahulkumar_tibdewal=email@hidden] On Behalf Of mm w
>> Sent: Wednesday, May 27, 2009 9:57 PM
>> To: email@hidden
>> Subject: Re: copy some kernel extensions to /tmp directory and then load that kext when program Launches
>>
>> Hello,
>>
>> your request is a bit messy, do you load your program at boot? deamon
>> whatever or is it a Cocoa App that needs to work with its kexts ? you
>> can use kextstat to grep your reversed DNS
>>
>> popen NSTask whatever you choose are your friends, but I am not sure
>> my answer fits with your multi spam request
>>
>> sudo kextloader /tmp/kext.kext
>>
>> #!/usr/bin/env bash
>>
>> usage () {
>> echo "Usage: kextdevel [load|unload] kext"
>> exit 1
>> }
>>
>> if [[ $UID -ne 0 ]]; then
>> echo "System administrator privileges required"
>> exit 1
>> fi
>>
>> if [ $# != 2 ] ;
>> then
>> usage
>> fi
>>
>> if ! test -d "${2}" ;
>> then
>> usage
>> fi
>>
>> if test "${1}" = "load" ;
>> then
>> chmod 0755 $(find "${2}" -type d)
>> chmod 0644 $(find "${2}" -type f)
>> chown -R root:wheel "${2}"
>> kextload -t "${2}"
>> exit 0
>> elif test "${1}" = "unload" ;
>> then
>> kextunload "${2}"
>> rm -Rf "${2}"
>> exit 0
>> else
>> usage
>> fi
>>
>> # EOF
>>
>> Best
>>
>> On Wed, May 27, 2009 at 7:01 AM, Rahulkumar Tibdewal
>> <email@hidden> wrote:
>>> Hi,
>>>
>>>
>>>
>>> I want to copy some kernel extensions to /tmp directory and then load that
>>> kext.
>>>
>>> This can be done through super user privileges from terminal.
>>>
>>>
>>>
>>> However I want to do this when my application launches.
>>>
>>> Does anyone have any idea how can I do this?
>>>
>>>
>>>
>>> Thanks
>>>
>>> Rahul
>>>
>>> DISCLAIMER ========== This e-mail may contain privileged and confidential
>>> information which is the property of Persistent Systems Ltd. It is intended
>>> only for the use of the individual or entity to which it is addressed. If
>>> you are not the intended recipient, you are not authorized to read, retain,
>>> copy, print, distribute or use this message. If you have received this
>>> communication in error, please notify the sender and delete all copies of
>>> this message. Persistent Systems Ltd. does not accept any liability for
>>> virus infected mails.
>>>
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Darwin-kernel mailing list (email@hidden)
>>> Help/Unsubscribe/Update your Subscription:
>>>
>>> This email sent to email@hidden
>>>
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Darwin-kernel mailing list (email@hidden)
>> Help/Unsubscribe/Update your Subscription:
>>
>> This email sent to email@hidden
>>
>> DISCLAIMER
>> ==========
>> This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
DISCLAIMER
==========
This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.
Attachment:
Info.plist
Description: Info.plist
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden