<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-family: Verdana,Geneva,sans-serif'>
<p>On 2013-12-06 15:14, Yuriy Taraday wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px"><!-- html ignored --><!-- head ignored --><!-- meta ignored -->
<div dir="ltr">Hello, Sean.
<div> </div>
<div>I get the issue with upgrade path. User doesn't want to update config unless one is forced to do so.</div>
<div>But introducing code that weakens security and let it stay is an unconditionally bad idea. </div>
<div class="gmail_extra">It looks like we have to weigh two evils: having troubles upgrading and lessening security. That's obvious.</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">Here are my thoughts on what we can do with it:</div>
<div class="gmail_extra">1. I think we should definitely force user to do appropriate configuration to let us use secure ways to do locking.</div>
<div class="gmail_extra">2. We can wait one release to do so, e.g. issue a deprecation warning now and force user to do it the right way later.</div>
<div class="gmail_extra">3. If we are going to do 2. we should do it in the service that is affected not in the library because library shouldn't track releases of an application that uses it. It should do its thing and do it right (secure).</div>
<div class="gmail_extra"> </div>
<div class="gmail_extra">So I would suggest to deal with it in Cinder by importing 'lock_path' option after parsing configs and issuing a deprecation warning and setting it to tempfile.gettempdir() if it is still None.</div>
</div>
</blockquote>
<p>This is what Sean's change is doing, but setting lock_path to tempfile.gettempdir() is the security concern.</p>
<p>Since there seems to be plenty of resistance to using /tmp by default, here is my proposal:</p>
<p>1) We make Sean's change to open files in append mode.  I think we can all agree this is a good thing regardless of any config changes.</p>
<p>2) Leave lockutils broken in Icehouse if lock_path is not set, as I believe Mark suggested earlier.  Log an error if we find that configuration.  Users will be no worse off than they are today, and if they're paying attention they can get the fixed lockutils behavior immediately.</p>
<p>3) Make an unset lock_path a fatal error in J.</p>
<p>-Ben</p>
<div> </div>
</body></html>