|
||||||||
Hey All, I just had a good idea for a feature that would be relatively easy to impliment (based on my understanding of how m0n0wall works). I think that there needs to be an easier way to modify the core operating system of m0n0wall, for people who know PHP, but don't know FreeBSD and, like me, don't have time to learn. My concept is relatively simple: a sub-file-system. Based on my understanding, none of the core operating files can be modified without recompiling the kernel, and cannot be modified in runtime because on reboot they are lost. The system can obviously write files to the hard-disk somehow, because it can write the config.xml. My idea is that we could create a simple interface that allows files to be uploaded and saved onto the harddisk. The next trick would be to include a new section in the config.xml that allows files on the harddisk to override files in the kernel at boot time. For example: If I wanted to change index.php (a core file), I would use an interface to upload the file, which would save it to the disk. A line would be written to the config.xml file which would act as a pointer to the new file, and tells the file it's replacing. The computer can reboot, and when it does, it looks at the config.xml file. It notices that index.php has been replaced. It loads the file into that ram-disk that holds the core, replacing the old index.php, but just for this session! When it restarts, it looses the file, but it still has a copy on the hard disk! It does the same thing again at the next restart, and the new file that I uploaded is back. I think that'd be possible, and a better way to develop, when you need only PHP based features. That'd make it a heck of a lot faster, I think. I'd love to hear what you guys think though... Thanks! Cheers! -- Kenneth Keiter Keiter|Creative <http://www.keitercreative.com> Solution Geek & IS Provider Cell: *+49 (0162) 846-3962* Yahoo! *IM: speciakkenk* ICQ: *311008095* MSN: *ken at keiterhome dot com* AIM: *specialkkenk* EMail: *ken at keitercreative dot com* |