You don't filter out CPP macro's. I would skip that and only allow C code. Or run this thing in a proper jail because at the moment:
- doing an include #include "/dev/random" will block the thread.
- including "/etc/passwd" is also possible although I don't see a direct way to turn this into password disclosure.
Seriously; even if it's a weekend project, letting people run all kinds of potentially bad code on your machine is never a good idea. Even though you don't run the binaries yourself there's so many ways to mess around with a compiler. You just don't know what's going to happen.
Saying "you can read /etc/shadow by doing X, Y, and Z" is okay -- it's a permanent record there was a flaw. Saying "here's your root password hash" is not ok; even once the flaw is fixed, that hash is still floating around out there. I'd take advantage of the edit period and remove that from your comment; it's just not cool. The OP should definitely change the root password on the box regardless.
From my point of view doing it manually is still the best option. Because know what and how you are implementing the design, this will save you a lot of energy fixing or debugging things. I personally just use PHPStorm to edit and manage my files.
I use your script. It's very nice and worth the price, but the script setup is more complicated than it needs to be and the smtp is broken and I'm forced to use phpmailer. Two things I've never had issues with from all the other scripts I've installed on my server over the past 7 years.
I'd still prefer it over SaaS Mail because I don't have re-occuring costs every month and I like being in control of my own email lists and the iframe embedded email newsletter signup is awesome. I wouldn't have it any other way.
I'm the one that asked you about how to check the database to see if a user had already signed up for a specific category newsletter before adding them to it again. That's another thing you should fix.
3 little flaws but the rest of the script is just sooooo perfect. It's sold over 1800+ times because designers/developers like us HATE SaaS newsletter mailers. We like your script.
The problem with running your own mail script is your inboxing rate. Your IP is not going to be white listed and it can really hurt you later on. Not to hate on the OP, but if you are building a serious business that needs to ensure deliverability of email to users, I recommend an outside provider like SendGrid, SailThru, MailGun, MailChimp, iContact, etc...