Skip to main content
gamedev.net
🔒 Locked

Compilation Question

Started by Eight Jul 31, 2002 at 5:28 AM 2 replies 1.2k views
Original Post
Eight
Eight
Hi there, I''m currenting imping on a MUD which I also host - its a CircleMUD (C++ source) which I''ve compiled using MS VC++. The only problem is that eventually it''d be better if the other immortals can write/edit the C code and trigger a recompile and restart. Now I''m sure I can dev something to do this using a freeware (or cheap) C++ compiler installed on the server machine... ...But... Any good C/C++ programmer could exploit this to build in all kinds of code (e.g. monitor other programs, shut down Windows etc.) Although I trust the person who owns the MUD, I don''t really want to put my trust in immortals I don''t know. Is there anyway I can limit what they can do in the source code before compilation? Alternatively, if anyone has any other bright ideas I''d love to hear them. Cheers. E
HellRaider
HellRaider
>Is there anyway I can limit what they can do in the source code before compilation?

I''d say no way.

I''m no good windows admin but why don''t you try to sandbox the compiled program instead of trying to secure the source code.

Restrict the process/user rights, etc.
LessBread
LessBread
Interesting problem.

Consider incorporating a scripting system - eg. python, java-script, lua - rather than allowing for recompilation.

Use CVS for code submission, but maintain control over compilation rights.

Write a preprocessing filter.

Cripple the compiler.

I was going to suggest locking the makefile, but there''s plenty of damage that can be done with kernel32 alone and there''s always loadlibrary/getprocaddress to consider. That means that removing lib files and headers won''t make too much of a difference either.

However, if you set an error log and record attempts to compile using restricted/absent libs/headers perhaps you can be alerted in the event of any funny stuff going on. Then you will know who to keep tabs on. Maybe. ?


"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
Eight
Eight
Thanks for the replies.

The problem with writing a preprocessing filter (or even crippling the compiler) is that I need to know what libs or techniques they can misuse.

I''m not that good myself.

I''ve also been looking at sandbox software but can''t seem to find one which is quite what I''m looking for. Close though.

E

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.