So... this is certainly the deepest I've got to dig into any source code.
I'm experimenting with Review Board for code reviews, and trying to get it set up/working here at work. When using post-review, however, I started getting issues with untrusted users - even though they were set to trusted in my ~/.hgrc and things worked fine otherwise.
So here's where things got weird. I could call `subprocess.check_output(['hg', 'root'])`, and things worked just fine. But when I added the env parameter, I got the untrusted issues. So if I did:
import os, subprocess
# Works just fine
subprocess.check_output(['hg', 'root'])
Long story short, I dug around the source code and ended up at the POSIX execve function. I've been reading the manpages, but nothing seems to pop out at me as "hey, this should/shouldn't work!".
Does anyone know what's going on here, or where I should go for more help?
On Thu, 11 Oct 2012, Wayne Werner wrote:
> So here's where things got weird. I could call > `subprocess.check_output(['hg', 'root'])`, and things worked just fine. But > when I added the env parameter, I got the untrusted issues. So if I did:
> import os, subprocess
> # Works just fine
> subprocess.check_output(['hg', 'root'])
So... curiouser and curiouser - it looks like it's not *actually* execve's fault after all. I just compiled the code from the man page, tweaked it to run 'hg root', and passed it a new environment. No problems. Well, then I manually called the posix one from Python and thing worked fine. *Then* I actually tried the above code, and *it* worked fine.
However I *still* get problems with the post-review code. So it looks like when I get back to work on Monday I'll be looking to see what the difference in environment is there.
> So... curiouser and curiouser - it looks like it's not *actually* execve's > fault after all. I just compiled the code from the man page, tweaked it to > run 'hg root', and passed it a new environment. No problems. Well, then I > manually called the posix one from Python and thing worked fine. *Then* I > actually tried the above code, and *it* worked fine.
> However I *still* get problems with the post-review code. So it looks like > when I get back to work on Monday I'll be looking to see what the > difference in environment is there.