News for hackers. Stuff that matters.
Re:Distributed grep client in Go by danieldk on Wednesday October 09, 2013 @03:59AM (#6519930)
This doesn't really particularly safe to me (assuming that exec.Command allows spaces in arguments):

  cmd := exec.Command("grep", s, logName)
Since you are searching for the expression in just one log file, why not use Go's excellent regexp package?
Re:Distributed grep client in Go by irtefa on Wednesday October 09, 2013 @04:02AM (#6519935)
It started off as a class assignment where it was required to execute "grep" on whatever shell we were running the program on. That's why, instead of using the regexp package, we went for the above (somewhat shitty) approach. But, that's something I am definitely looking into changing!
Re:Distributed grep client in Go by enneff on Wednesday October 09, 2013 @06:49AM (#6520455)
You might have to work pretty hard to write a grep that's as good as grep. It pulls a lot of swift moves in the name of speed.
Re:Distributed grep client in Go by cmccabe on Wednesday October 09, 2013 @04:57AM (#6520132)
exec.Command doesn't run a shell; it just executes the command. So yes, it's perfectly safe to have spaces and other shell metacharacters in there. Whether or not it's efficient here is another question, of course.
Re:Distributed grep client in Go by danieldk on Wednesday October 09, 2013 @11:26AM (#6521801)
So yes, it's perfectly safe to have spaces and other shell metacharacters in there.

You could (for instance) probe content of system files by passing

  -f/some/file
And matching that to the log. If you have some control over the log, you could use this to read content from system files. Of course, it's all indirect, since the file is interpreted as containing regular expressions. But it's certainly not 'perfectly safe'.
Re:Distributed grep client in Go by cmccabe on Saturday October 12, 2013 @04:06AM (#6537798)
I could also read content from system files by using the advanced hacker tool "cat".

I don't see what this has to do with exec.Command.