<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>134666</bug_id>
          
          <creation_ts>2014-07-06 16:04:31 -0700</creation_ts>
          <short_desc>NetworkProcess sometimes hangs under copyDefaultCredentialForProtectionSpace</short_desc>
          <delta_ts>2014-07-14 08:22:06 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1020695</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 16:04:31 -0700</bug_when>
    <thetext>NetworkProcess sometimes hangs under copyDefaultCredentialForProtectionSpace

Looking at the backtrace, it&apos;s hanging forever inside the SecItem shim, waiting for a response from secItemRequest.

Looking at the SecItemShimProxy in the secItemRequest handler, it seems the only possible way a response would not be sent is if the request type was SecItemRequestData::Invalid.  That condition does an early return instead of sending back a response.

At the very least, the UIProcess should send back a response indicating &quot;invalid request&quot; so the NetworkProcess doesn&apos;t hang forever.

&lt;rdar://problem/17398060&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020696</commentid>
    <comment_count>1</comment_count>
      <attachid>234467</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 16:09:26 -0700</bug_when>
    <thetext>Created attachment 234467
Patch v1 - Speculative fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020697</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-06 16:22:11 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; At the very least, the UIProcess should send back a response indicating &quot;invalid request&quot; so the NetworkProcess doesn&apos;t hang forever.

Our approach when the WebProcess sends us a message we really don&apos;t expect to ever happen is that we kill it, assuming compromise. Should we do the same to the NetworkProcess in this situation? IIRC there is literally no situation in which we ever send an &quot;Invalid&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020698</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 16:36:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #0)
&gt; &gt; At the very least, the UIProcess should send back a response indicating &quot;invalid request&quot; so the NetworkProcess doesn&apos;t hang forever.
&gt; 
&gt; Our approach when the WebProcess sends us a message we really don&apos;t expect to ever happen is that we kill it, assuming compromise. Should we do the same to the NetworkProcess in this situation? IIRC there is literally no situation in which we ever send an &quot;Invalid&quot;.

Killing the NetworkProcess isn&apos;t quite a recoverable scenario the same way killing a WebProcess is.

That said:  Your comment encouraged me to look at all the possible scenarios in a little more detail.

The current &quot;invalid&quot; handler is definitely one way the UIProcess would never respond, if a request of type &quot;invalid&quot; was received.

But, as you said, we never explicitly send an invalid request.

Another way the UIProcess might not ever respond is if the message failed to decode.

Looking at SecItemRequestData::decode and comparing it to SecItemRequestData::encode there&apos;s an obvious way that the decode could fail - if the CFDictionaryRef for the original query was null.

We&apos;d happily encode such a case, but fail to decode it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020701</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-06 16:39:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (In reply to comment #0)
&gt; &gt; &gt; At the very least, the UIProcess should send back a response indicating &quot;invalid request&quot; so the NetworkProcess doesn&apos;t hang forever.
&gt; &gt; 
&gt; &gt; Our approach when the WebProcess sends us a message we really don&apos;t expect to ever happen is that we kill it, assuming compromise. Should we do the same to the NetworkProcess in this situation? IIRC there is literally no situation in which we ever send an &quot;Invalid&quot;.
&gt; 
&gt; Killing the NetworkProcess isn&apos;t quite a recoverable scenario the same way killing a WebProcess is.

Ah, I suppose! Losing all your downloads and whatnot.

&gt; Looking at SecItemRequestData::decode and comparing it to SecItemRequestData::encode there&apos;s an obvious way that the decode could fail - if the CFDictionaryRef for the original query was null.
&gt; 
&gt; We&apos;d happily encode such a case, but fail to decode it.

Aha! Sounds somewhat more promising than the Invalid thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020702</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 16:40:53 -0700</bug_when>
    <thetext>We might&apos;ve assumed that passing in a null query dictionary is invalid, and therefore a case we didn&apos;t need to support...  but maybe we need to support it to catch these invalid uses.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020704</commentid>
    <comment_count>6</comment_count>
      <attachid>234468</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 16:46:22 -0700</bug_when>
    <thetext>Created attachment 234468
Patch v2 - A way better speculative fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020705</commentid>
    <comment_count>7</comment_count>
      <attachid>234468</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-06 16:48:47 -0700</bug_when>
    <thetext>Comment on attachment 234468
Patch v2 - A way better speculative fix

View in context: https://bugs.webkit.org/attachment.cgi?id=234468&amp;action=review

&gt; Source/WebKit2/Shared/mac/SecItemRequestData.cpp:70
&gt; +    bool expectQuery;

maybe &quot;hasQuery&quot;? either way is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020707</commentid>
    <comment_count>8</comment_count>
      <attachid>234468</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-06 16:56:33 -0700</bug_when>
    <thetext>Comment on attachment 234468
Patch v2 - A way better speculative fix

Rejecting attachment 234468 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
cess/mac/SecItemShimProxy.cpp:66:40: error: use of undeclared identifier &apos;errSecParam&apos;
        response = SecItemResponseData(errSecParam, nullptr);
                                       ^
1 error generated.

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebKit2.build/Release/WebKit.build/Objects-normal/x86_64/SecItemShimProxy.o UIProcess/mac/SecItemShimProxy.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.appspot.com/results/5929684067942400</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1020708</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-06 17:02:02 -0700</bug_when>
    <thetext>Fixed that locally, landed in http://trac.webkit.org/changeset/170831</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022168</commentid>
    <comment_count>10</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-13 23:34:59 -0700</bug_when>
    <thetext>The problem isn’t fixed, and I have a much-less-speculative fix. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022169</commentid>
    <comment_count>11</comment_count>
      <attachid>234841</attachid>
    <who name="">mitz</who>
    <bug_when>2014-07-13 23:47:32 -0700</bug_when>
    <thetext>Created attachment 234841
Add SecAccessControlRef support to ArgumentCodersCF</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022173</commentid>
    <comment_count>12</comment_count>
      <attachid>234841</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-07-13 23:55:58 -0700</bug_when>
    <thetext>Comment on attachment 234841
Add SecAccessControlRef support to ArgumentCodersCF

View in context: https://bugs.webkit.org/attachment.cgi?id=234841&amp;action=review

&gt; Source/WebKit2/ChangeLog:11
&gt; +        by ArgumentCodersCF. In debug builds, trying to encode a CFDictionary containing a value of
&gt; +        unsupprted type causes an assertion to fail, but in release builds encoding succeeds, and
&gt; +        only decoding fails, in this case silently, simply not delivering the

This seems like a pretty unfortunate failure mode...

&gt; Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:731
&gt; +    result = adoptCF(SecAccessControlCreateFromData(kCFAllocatorDefault, data.get(), nullptr));

Do we know that these things are sufficiently safe to IPC as raw data?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022177</commentid>
    <comment_count>13</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-14 00:16:15 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 234841 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=234841&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:11
&gt; &gt; +        by ArgumentCodersCF. In debug builds, trying to encode a CFDictionary containing a value of
&gt; &gt; +        unsupprted type causes an assertion to fail, but in release builds encoding succeeds, and
&gt; &gt; +        only decoding fails, in this case silently, simply not delivering the
&gt; 
&gt; This seems like a pretty unfortunate failure mode...

Agreed.

&gt; 
&gt; &gt; Source/WebKit2/Shared/cf/ArgumentCodersCF.cpp:731
&gt; &gt; +    result = adoptCF(SecAccessControlCreateFromData(kCFAllocatorDefault, data.get(), nullptr));
&gt; 
&gt; Do we know that these things are sufficiently safe to IPC as raw data?

Yes.

Thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022178</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2014-07-14 00:20:21 -0700</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r171060&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1022213</commentid>
    <comment_count>15</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-07-14 08:22:06 -0700</bug_when>
    <thetext>Great find!  Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234467</attachid>
            <date>2014-07-06 16:09:26 -0700</date>
            <delta_ts>2014-07-06 16:46:22 -0700</delta_ts>
            <desc>Patch v1 - Speculative fix</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>1554</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MWNkZjhiLi5iMmQ4MDI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTQtMDctMDYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFNwZWN1bGF0aXZlIGZpeCBmb3I6IE5ldHdvcmtQcm9jZXNzIHNvbWV0aW1lcyBoYW5ncyB1
bmRlciBjb3B5RGVmYXVsdENyZWRlbnRpYWxGb3JQcm90ZWN0aW9uU3BhY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDY2NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL21hYy9TZWNJ
dGVtU2hpbVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6U2VjSXRlbVNoaW1Qcm94eTo6c2Vj
SXRlbVJlcXVlc3QpOiBJZiB0aGUgcmVxdWVzdCBpcyBJbnZhbGlkLCBsb2cgYW4gZXJyb3IgbWVz
c2FnZSBhc2tpbmcgCisgICAgICAgICAgZm9yIGEgYnVnLCBhbmQgcmVzcG9uZCB3aXRoIGFuICJp
bnZhbGlkIHBhcmFtZXRlciIgZXJyb3IuCisKIDIwMTQtMDctMDYgIEFudHRpIEtvaXZpc3RvICA8
YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IHRocm90dGxlIGxheWVyIGZsdXNoZXMg
d2hlbiB0aGUgbWFpbiByZXNvdXJjZSBpcyBhIEdJRgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvU2VjSXRlbVNoaW1Qcm94eS5jcHAKaW5kZXggMGUwYTlmZS4uMGY0MzdiOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltUHJveHku
Y3BwCkBAIC02Miw4ICs2Miw5IEBAIHZvaWQgU2VjSXRlbVNoaW1Qcm94eTo6c2VjSXRlbVJlcXVl
c3QoSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCB1aW50NjRfdCByZXF1CiAKICAgICBzd2l0
Y2ggKHJlcXVlc3QudHlwZSgpKSB7CiAgICAgY2FzZSBTZWNJdGVtUmVxdWVzdERhdGE6OkludmFs
aWQ6Ci0gICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICByZXR1cm47CisgICAg
ICAgIExPR19FUlJPUigiU2VjSXRlbVNoaW1Qcm94eTo6c2VjSXRlbVJlcXVlc3QgcmVjZWl2ZWQg
YW4gaW52YWxpZCBkYXRhIHJlcXVlc3QuIFBsZWFzZSBmaWxlIGEgYnVnIGlmIHlvdSBrbm93IGhv
dyB5b3UgY2F1c2VkIHRoaXMuIik7CisgICAgICAgIHJlc3BvbnNlID0gU2VjSXRlbVJlc3BvbnNl
RGF0YShlcnJTZWNQYXJhbSwgbnVsbHB0cik7CisgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBT
ZWNJdGVtUmVxdWVzdERhdGE6OkNvcHlNYXRjaGluZzogewogICAgICAgICBDRlR5cGVSZWYgcmVz
dWx0T2JqZWN0ID0gMDsK
</data>
<flag name="review"
          id="258998"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234468</attachid>
            <date>2014-07-06 16:46:22 -0700</date>
            <delta_ts>2014-07-13 23:47:29 -0700</delta_ts>
            <desc>Patch v2 - A way better speculative fix</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>3067</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MWNkZjhiLi45OGJiNWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTQtMDctMDYgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFNwZWN1bGF0aXZlIGZpeCBmb3I6IE5ldHdvcmtQcm9jZXNzIHNvbWV0aW1lcyBoYW5ncyB1
bmRlciBjb3B5RGVmYXVsdENyZWRlbnRpYWxGb3JQcm90ZWN0aW9uU3BhY2UKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDY2NgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL21hYy9TZWNJdGVt
UmVxdWVzdERhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpTZWNJdGVtUmVxdWVzdERhdGE6OmVu
Y29kZSk6IEVuY29kZSB3aGV0aGVyIG9yIG5vdCB0aGUgcXVlcnkgZGljdGlvbmFyeSBleGlzdHMu
CisgICAgICAgIChXZWJLaXQ6OlNlY0l0ZW1SZXF1ZXN0RGF0YTo6ZGVjb2RlKTogT25seSBmYWls
IHdoZW4gcXVlcnkgZGljdGlvbmFyeSBmYWlscyB0byBkZWNvZGUgaWYgd2UgZXhwZWN0IG9uZS4g
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpTZWNJdGVtU2hpbVByb3h5OjpzZWNJdGVtUmVxdWVzdCk6IElmIHRoZSByZXF1
ZXN0IGlzIG9mIHR5cGUgSW52YWxpZCwgbG9nIGFuIGVycm9yIG1lc3NhZ2UgYXNraW5nIAorICAg
ICAgICAgIGZvciBhIGJ1ZywgYW5kIHJlc3BvbmQgd2l0aCBhbiAiaW52YWxpZCBwYXJhbWV0ZXIi
IGVycm9yLgorCiAyMDE0LTA3LTA2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4K
IAogICAgICAgICBEb24ndCB0aHJvdHRsZSBsYXllciBmbHVzaGVzIHdoZW4gdGhlIG1haW4gcmVz
b3VyY2UgaXMgYSBHSUYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2Vj
SXRlbVJlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2VjSXRlbVJl
cXVlc3REYXRhLmNwcAppbmRleCA4YWVmOGEzLi5lOGNmZDhkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvbWFjL1NlY0l0ZW1SZXF1ZXN0RGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9TZWNJdGVtUmVxdWVzdERhdGEuY3BwCkBAIC01Myw3ICs1Myw5IEBA
IHZvaWQgU2VjSXRlbVJlcXVlc3REYXRhOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2Rlci5lbmNvZGVFbnVtKG1fdHlwZSk7CiAKLSAgICBJ
UEM6OmVuY29kZShlbmNvZGVyLCBtX3F1ZXJ5RGljdGlvbmFyeS5nZXQoKSk7CisgICAgZW5jb2Rl
ciA8PCBzdGF0aWNfY2FzdDxib29sPihtX3F1ZXJ5RGljdGlvbmFyeSk7CisgICAgaWYgKG1fcXVl
cnlEaWN0aW9uYXJ5KQorICAgICAgICBJUEM6OmVuY29kZShlbmNvZGVyLCBtX3F1ZXJ5RGljdGlv
bmFyeS5nZXQoKSk7CiAKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGJvb2w+KG1fYXR0cmli
dXRlc1RvTWF0Y2gpOwogICAgIGlmIChtX2F0dHJpYnV0ZXNUb01hdGNoKQpAQCAtNjEsMTEgKzYz
LDE1IEBAIHZvaWQgU2VjSXRlbVJlcXVlc3REYXRhOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiB9CiAKIGJvb2wgU2VjSXRlbVJlcXVlc3REYXRhOjpkZWNvZGUo
SVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFNlY0l0ZW1SZXF1ZXN0RGF0YSYgc2VjSXRl
bVJlcXVlc3REYXRhKQoteyAgICAKK3sKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlRW51bShzZWNJ
dGVtUmVxdWVzdERhdGEubV90eXBlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYg
KCFJUEM6OmRlY29kZShkZWNvZGVyLCBzZWNJdGVtUmVxdWVzdERhdGEubV9xdWVyeURpY3Rpb25h
cnkpKQorICAgIGJvb2wgZXhwZWN0UXVlcnk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShleHBl
Y3RRdWVyeSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChleHBlY3RRdWVyeSAm
JiAhSVBDOjpkZWNvZGUoZGVjb2Rlciwgc2VjSXRlbVJlcXVlc3REYXRhLm1fcXVlcnlEaWN0aW9u
YXJ5KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAogICAgIGJvb2wgZXhwZWN0QXR0cmli
dXRlczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvU2VjSXRlbVNo
aW1Qcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1NlY0l0ZW1TaGltUHJv
eHkuY3BwCmluZGV4IDBlMGE5ZmUuLjBmNDM3YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvU2VjSXRlbVNoaW1Qcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9TZWNJdGVtU2hpbVByb3h5LmNwcApAQCAtNjIsOCArNjIsOSBAQCB2b2lk
IFNlY0l0ZW1TaGltUHJveHk6OnNlY0l0ZW1SZXF1ZXN0KElQQzo6Q29ubmVjdGlvbiogY29ubmVj
dGlvbiwgdWludDY0X3QgcmVxdQogCiAgICAgc3dpdGNoIChyZXF1ZXN0LnR5cGUoKSkgewogICAg
IGNhc2UgU2VjSXRlbVJlcXVlc3REYXRhOjpJbnZhbGlkOgotICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICBMT0dfRVJST1IoIlNlY0l0ZW1TaGlt
UHJveHk6OnNlY0l0ZW1SZXF1ZXN0IHJlY2VpdmVkIGFuIGludmFsaWQgZGF0YSByZXF1ZXN0LiBQ
bGVhc2UgZmlsZSBhIGJ1ZyBpZiB5b3Uga25vdyBob3cgeW91IGNhdXNlZCB0aGlzLiIpOworICAg
ICAgICByZXNwb25zZSA9IFNlY0l0ZW1SZXNwb25zZURhdGEoZXJyU2VjUGFyYW0sIG51bGxwdHIp
OworICAgICAgICBicmVhazsKIAogICAgIGNhc2UgU2VjSXRlbVJlcXVlc3REYXRhOjpDb3B5TWF0
Y2hpbmc6IHsKICAgICAgICAgQ0ZUeXBlUmVmIHJlc3VsdE9iamVjdCA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234841</attachid>
            <date>2014-07-13 23:47:32 -0700</date>
            <delta_ts>2014-07-13 23:55:58 -0700</delta_ts>
            <desc>Add SecAccessControlRef support to ArgumentCodersCF</desc>
            <filename>bug-134666-20140713234715.patch</filename>
            <type>text/plain</type>
            <size>5338</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MTA1OSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE0LTA3LTEzICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgTmV0d29ya1Byb2Nlc3Mgc29tZXRp
bWVzIGhhbmdzIHVuZGVyIGNvcHlEZWZhdWx0Q3JlZGVudGlhbEZvclByb3RlY3Rpb25TcGFjZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0NjY2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBTZWNJdGVt
IG1heSBoYXZlIGFuIGF0dHJpYnV0ZSB3aG9zZSB2YWx1ZSBpcyBhIFNlY0FjY2Vzc0NvbnRyb2xS
ZWYsIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQKKyAgICAgICAgYnkgQXJndW1lbnRDb2RlcnNDRi4g
SW4gZGVidWcgYnVpbGRzLCB0cnlpbmcgdG8gZW5jb2RlIGEgQ0ZEaWN0aW9uYXJ5IGNvbnRhaW5p
bmcgYSB2YWx1ZSBvZgorICAgICAgICB1bnN1cHBydGVkIHR5cGUgY2F1c2VzIGFuIGFzc2VydGlv
biB0byBmYWlsLCBidXQgaW4gcmVsZWFzZSBidWlsZHMgZW5jb2Rpbmcgc3VjY2VlZHMsIGFuZAor
ICAgICAgICBvbmx5IGRlY29kaW5nIGZhaWxzLCBpbiB0aGlzIGNhc2Ugc2lsZW50bHksIHNpbXBs
eSBub3QgZGVsaXZlcmluZyB0aGUKKyAgICAgICAgU2VjSXRlbVNoaW06OnNlY0l0ZW1SZXNwb25z
ZSBtZXNzYWdlLgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gdGVhY2ggQXJndW1lbnRDb2RlcnND
RiBhYm91dCBTZWNBY2Nlc3NDb250cm9sUmVmLgorCisgICAgICAgICogU2hhcmVkL2NmL0FyZ3Vt
ZW50Q29kZXJzQ0YuY3BwOgorICAgICAgICAoSVBDOjp0eXBlRnJvbUNGVHlwZVJlZik6IENoZWNr
IGZvciB0aGUgU2VjQWNjZXNzQ29udHJvbFJlZiB0eXBlLgorICAgICAgICAoSVBDOjplbmNvZGUp
OiBFbmNvZGUgdGhlIFNlY0FjY2Vzc0NvbnRyb2wgc2VyaWFsaXplZCBpbnRvIENGRGF0YS4KKyAg
ICAgICAgKElQQzo6ZGVjb2RlKTogRGVzZXJpYWxpemUgYSBTZWNBY2Nlc3NDb250cm9sIGZyb20g
dGhlIGRlY29kZWQgQ0ZEYXRhLgorICAgICAgICAqIFNoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NG
Lmg6CisgICAgICAgICogY29uZmlnLmg6IERlZmluZWQgSEFWRV9TRUNfQUNDRVNTX0NPTlRST0wu
CisKIDIwMTQtMDctMTMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTcyOTU2MzY+IFtDb2NvYV0gSW5jbHVkZSBlbGVtZW50IHNuYXBz
aG90IGluIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9jb25m
aWcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9jb25maWcuaAkocmV2aXNpb24gMTcx
MDU3KQorKysgU291cmNlL1dlYktpdDIvY29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTkxLDMg
KzkxLDkgQEAKICNkZWZpbmUgSEFWRV9WT1VDSEVSUyAxCiAjZW5kaWYKICNlbmRpZgorCisjaWZu
ZGVmIEhBVkVfU0VDX0FDQ0VTU19DT05UUk9MCisjaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZP
Uk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMCkKKyNk
ZWZpbmUgSEFWRV9TRUNfQUNDRVNTX0NPTlRST0wgMQorI2VuZGlmCisjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2YvQXJndW1lbnRDb2RlcnNDRi5jcHAJKHJldmlzaW9u
IDE3MTA1NykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jZi9Bcmd1bWVudENvZGVyc0NGLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNTEsNiArNTEsMTUgQEAgZXh0ZXJuICJDIiBPU1N0YXR1cyBT
ZWNLZXlDb3B5UGVyc2lzdGVudAogZXh0ZXJuICJDIiBPU1N0YXR1cyBTZWNLZXlGaW5kV2l0aFBl
cnNpc3RlbnRSZWYoQ0ZEYXRhUmVmIHBlcnNpc3RlbnRSZWYsIFNlY0tleVJlZiogbG9va2VkVXBE
YXRhKTsKICNlbmRpZgogCisjaWYgSEFWRShTRUNfQUNDRVNTX0NPTlRST0wpCisjaWYgZGVmaW5l
ZChfX2hhc19pbmNsdWRlKSAmJiBfX2hhc19pbmNsdWRlKDxTZWN1cml0eS9TZWNBY2Nlc3NDb250
cm9sUHJpdi5oPikKKyNpbmNsdWRlIDxTZWN1cml0eS9TZWNBY2Nlc3NDb250cm9sUHJpdi5oPgor
I2VuZGlmCisKK2V4dGVybiAiQyIgU2VjQWNjZXNzQ29udHJvbFJlZiBTZWNBY2Nlc3NDb250cm9s
Q3JlYXRlRnJvbURhdGEoQ0ZBbGxvY2F0b3JSZWYgYWxsb2NhdG9yLCBDRkRhdGFSZWYgZGF0YSwg
Q0ZFcnJvclJlZiAqZXJyb3IpOworZXh0ZXJuICJDIiBDRkRhdGFSZWYgU2VjQWNjZXNzQ29udHJv
bENvcHlEYXRhKFNlY0FjY2Vzc0NvbnRyb2xSZWYgYWNjZXNzX2NvbnRyb2wpOworI2VuZGlmCisK
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgSVBDIHsKQEAgLTc4LDYgKzg3
LDkgQEAgZW51bSBDRlR5cGUgewogI2lmIEhBVkUoU0VDX0tFWUNIQUlOKQogICAgIFNlY0tleWNo
YWluSXRlbSwKICNlbmRpZgorI2lmIEhBVkUoU0VDX0FDQ0VTU19DT05UUk9MKQorICAgIFNlY0Fj
Y2Vzc0NvbnRyb2wsCisjZW5kaWYKICAgICBOdWxsLAogICAgIFVua25vd24sCiB9OwpAQCAtMTE4
LDYgKzEzMCwxMCBAQCBzdGF0aWMgQ0ZUeXBlIHR5cGVGcm9tQ0ZUeXBlUmVmKENGVHlwZVJlCiAg
ICAgaWYgKHR5cGVJRCA9PSBTZWNLZXljaGFpbkl0ZW1HZXRUeXBlSUQoKSkKICAgICAgICAgcmV0
dXJuIFNlY0tleWNoYWluSXRlbTsKICNlbmRpZgorI2lmIEhBVkUoU0VDX0FDQ0VTU19DT05UUk9M
KQorICAgIGlmICh0eXBlSUQgPT0gU2VjQWNjZXNzQ29udHJvbEdldFR5cGVJRCgpKQorICAgICAg
ICByZXR1cm4gU2VjQWNjZXNzQ29udHJvbDsKKyNlbmRpZgogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgcmV0dXJuIFVua25vd247CkBAIC0xNjgsNiArMTg0LDExIEBAIHZvaWQgZW5j
b2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgQ0YKICAgICAgICAgZW5jb2RlKGVuY29kZXIs
IChTZWNLZXljaGFpbkl0ZW1SZWYpdHlwZVJlZik7CiAgICAgICAgIHJldHVybjsKICNlbmRpZgor
I2lmIEhBVkUoU0VDX0FDQ0VTU19DT05UUk9MKQorICAgIGNhc2UgU2VjQWNjZXNzQ29udHJvbDoK
KyAgICAgICAgZW5jb2RlKGVuY29kZXIsIChTZWNBY2Nlc3NDb250cm9sUmVmKXR5cGVSZWYpOwor
ICAgICAgICByZXR1cm47CisjZW5kaWYKICAgICBjYXNlIE51bGw6CiAgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIFVua25vd246CkBAIC0yNjgsNiArMjg5LDE1IEBAIGJvb2wgZGVjb2RlKEFyZ3Vt
ZW50RGVjb2RlciYgZGVjb2RlciwgUmUKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2Vu
ZGlmCisjaWYgSEFWRShTRUNfQUNDRVNTX0NPTlRST0wpCisgICAgY2FzZSBTZWNBY2Nlc3NDb250
cm9sOiB7CisgICAgICAgIFJldGFpblB0cjxTZWNBY2Nlc3NDb250cm9sUmVmPiBhY2Nlc3NDb250
cm9sOworICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBhY2Nlc3NDb250cm9sKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmVzdWx0ID0gYWRvcHRDRihhY2Nlc3NDb250
cm9sLmxlYWtSZWYoKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyNlbmRpZgogICAg
IGNhc2UgTnVsbDoKICAgICAgICAgcmVzdWx0ID0gdG9rZW5OdWxsVHlwZVJlZigpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKQEAgLTY4NCw0ICs3MTQsMjcgQEAgYm9vbCBkZWNvZGUoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGVyLCBSZQogfQogI2VuZGlmCiAKKyNpZiBIQVZFKFNFQ19BQ0NFU1NfQ09O
VFJPTCkKK3ZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgU2VjQWNjZXNzQ29u
dHJvbFJlZiBhY2Nlc3NDb250cm9sKQoreworICAgIFJldGFpblB0cjxDRkRhdGFSZWY+IGRhdGEg
PSBhZG9wdENGKFNlY0FjY2Vzc0NvbnRyb2xDb3B5RGF0YShhY2Nlc3NDb250cm9sKSk7CisgICAg
aWYgKGRhdGEpCisgICAgICAgIGVuY29kZShlbmNvZGVyLCBkYXRhLmdldCgpKTsKK30KKworYm9v
bCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8U2VjQWNjZXNzQ29u
dHJvbFJlZj4mIHJlc3VsdCkKK3sKKyAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOworICAg
IGlmICghZGVjb2RlKGRlY29kZXIsIGRhdGEpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICByZXN1bHQgPSBhZG9wdENGKFNlY0FjY2Vzc0NvbnRyb2xDcmVhdGVGcm9tRGF0YShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBkYXRhLmdldCgpLCBudWxscHRyKSk7CisgICAgaWYgKCFyZXN1bHQpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOworfQorCisjZW5kaWYKKwog
fSAvLyBuYW1lc3BhY2UgSVBDCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvY2YvQXJndW1l
bnRDb2RlcnNDRi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9jZi9Bcmd1
bWVudENvZGVyc0NGLmgJKHJldmlzaW9uIDE3MTA1NykKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9jZi9Bcmd1bWVudENvZGVyc0NGLmgJKHdvcmtpbmcgY29weSkKQEAgLTg4LDYgKzg4LDEyIEBA
IHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIFNlY0tleWNoYWkKIGJvb2wgZGVjb2RlKEFy
Z3VtZW50RGVjb2RlciYsIFJldGFpblB0cjxTZWNLZXljaGFpbkl0ZW1SZWY+JiByZXN1bHQpOwog
I2VuZGlmCiAKKyNpZiBIQVZFKFNFQ19BQ0NFU1NfQ09OVFJPTCkKKy8vIFNlY0FjY2Vzc0NvbnRy
b2xSZWYKK3ZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYsIFNlY0FjY2Vzc0NvbnRyb2xSZWYp
OworYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgUmV0YWluUHRyPFNlY0FjY2Vzc0NvbnRy
b2xSZWY+JiByZXN1bHQpOworI2VuZGlmCisKICNpZiBQTEFURk9STShJT1MpCiB2b2lkIHNldEFs
bG93c0RlY29kaW5nU2VjS2V5UmVmKGJvb2wpOwogI2VuZGlmCg==
</data>
<flag name="review"
          id="259379"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>