Chris S wrote:
Mike Edenfield wrote:

I've never been able to get mono to build with the hardened kernel extensions active. The problem, as you might have already deduced, is that mono violates some of hardened's protection bits -- specifically, the mono runtime tries to execute data as code. Once mono's installed you can flag the binary to permit this. But during the build, a new mono binary is built then run against some IL code, and it fails.

I have always had success in building mono by keeping a separate kernel around without and of the GRSEC stuff compiled it. It's a pain in the ass but works. I suspect the only real 'solution' would be to somehow hack up the ebuild to detect GRSEC and set the proper flags on the new binary mid-build.


Thank you for your reply. This makes sense. I guess the problem is that I need to run .net as a service on an internet visible server. I do not however want to remove hardened just for the sake of .net support! Do you think it is possible to create an entirely seperate chroot environment on said server, from which to run apache on a non-standard port, which is non-hardened and has mono support?


You don't need to disable the GRSEC stuff to run mono -- only to build it. Once it's build and in place in the right spot, you can disable the memory protection bits just for the `mono` binary. You can either put GRSEC into learning mode and build a profile that way, or just manually toggle the bits yourself. If I recall, you need to turn off NOEXEC or PAGEEXEC, whichever you're using, as well as SEGMEXEC for the mono binary.

--
-- Mike

Still using IE? Get Firefox!
http://www.spreadfirefox.com/?q=affiliates&id=6492&t=1
--
[email protected] mailing list

Reply via email to