<?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>96499</bug_id>
          
          <creation_ts>2012-09-12 05:00:25 -0700</creation_ts>
          <short_desc>[EFL] Remove some parameters in browserCreate()</short_desc>
          <delta_ts>2012-09-13 17:43:04 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>91718</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Seokju Kwon">seokju.kwon</reporter>
          <assigned_to name="Seokju Kwon">seokju.kwon</assigned_to>
          <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>718210</commentid>
    <comment_count>0</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 05:00:25 -0700</bug_when>
    <thetext>There are too many parameters in browserCreate(). Lots of it seems like settings.
And I have moved some parameters into settings.

Refer to https://bugs.webkit.org/show_bug.cgi?id=91718#c20</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718215</commentid>
    <comment_count>1</comment_count>
      <attachid>163594</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 05:06:53 -0700</bug_when>
    <thetext>Created attachment 163594
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718233</commentid>
    <comment_count>2</comment_count>
      <attachid>163594</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 05:22:47 -0700</bug_when>
    <thetext>Comment on attachment 163594
Patch

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

&gt; Tools/EWebLauncher/main.c:160
&gt; +static ELauncher_Settings *settings;

Should we make this as global variable ? It would be good to deal with a parameter personally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718869</commentid>
    <comment_count>3</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 16:35:49 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 163594 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163594&amp;action=review
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:160
&gt; &gt; +static ELauncher_Settings *settings;
&gt; 
&gt; Should we make this as global variable ? It would be good to deal with a parameter personally.

I thought that we can use it easily when creating new windows by event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718985</commentid>
    <comment_count>4</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 19:11:21 -0700</bug_when>
    <thetext>Although EWebLauncher is simple browser, I still think we need to avoid to use global variable. When we need to add more features or functionality, improper global variable may make spaghetti code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718998</commentid>
    <comment_count>5</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-09-12 19:36:06 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Although EWebLauncher is simple browser, I still think we need to avoid to use global variable. When we need to add more features or functionality, improper global variable may make spaghetti code.

I agree that reducing global variables is better.

But in this case, I think that there is not simple way to keep and pass the settings for each view without keeping global setting information.

It&apos;s because we get the setting information via command line argument.
After getting settings in main, I think that we should have at least one copy (global variable) to provide them to each browserViews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719002</commentid>
    <comment_count>6</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 19:49:16 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Although EWebLauncher is simple browser, I still think we need to avoid to use global variable. When we need to add more features or functionality, improper global variable may make spaghetti code.
&gt; 
&gt; I agree that reducing global variables is better.
&gt; 
&gt; But in this case, I think that there is not simple way to keep and pass the settings for each view without keeping global setting information.
&gt; 
&gt; It&apos;s because we get the setting information via command line argument.
&gt; After getting settings in main, I think that we should have at least one copy (global variable) to provide them to each browserViews.

How about adding &apos;settings&apos; to a struct of ELauncher?

+typedef struct _ELauncher_Settings {
+    const char *userAgent;
+    const char *engine;
+    const char *backingStore;
+    unsigned char isFlattening;
+    unsigned char isFullscreen;
+    const char *databasePath;
+} ELauncher_Settings;
+
 typedef struct _ELauncher {
     Ecore_Evas *ee;
     Evas *evas;
     Evas_Object *bg;
     Evas_Object *browser;
     Url_Bar *url_bar;
-    const char *theme;
-    const char *userAgent;
-    const char *backingStore;
-    unsigned char isFlattening;
+    ELauncher_Settings *settings;
 } ELauncher;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719014</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 20:49:59 -0700</bug_when>
    <thetext>(In reply to comment #6)
 
&gt; How about adding &apos;settings&apos; to a struct of ELauncher?
&gt; 
&gt; +typedef struct _ELauncher_Settings {
&gt; +    const char *userAgent;
&gt; +    const char *engine;
&gt; +    const char *backingStore;
&gt; +    unsigned char isFlattening;
&gt; +    unsigned char isFullscreen;
&gt; +    const char *databasePath;
&gt; +} ELauncher_Settings;
&gt; +
&gt;  typedef struct _ELauncher {
&gt;      Ecore_Evas *ee;
&gt;      Evas *evas;
&gt;      Evas_Object *bg;
&gt;      Evas_Object *browser;
&gt;      Url_Bar *url_bar;
&gt; -    const char *theme;
&gt; -    const char *userAgent;
&gt; -    const char *backingStore;
&gt; -    unsigned char isFlattening;
&gt; +    ELauncher_Settings *settings;
&gt;  } ELauncher;

Looks better to me. Ryuan, how do you think ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719017</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-09-12 21:14:53 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; 
&gt; &gt; How about adding &apos;settings&apos; to a struct of ELauncher?
&gt; &gt; 
&gt; &gt; +typedef struct _ELauncher_Settings {
&gt; &gt; +    const char *userAgent;
&gt; &gt; +    const char *engine;
&gt; &gt; +    const char *backingStore;
&gt; &gt; +    unsigned char isFlattening;
&gt; &gt; +    unsigned char isFullscreen;
&gt; &gt; +    const char *databasePath;
&gt; &gt; +} ELauncher_Settings;
&gt; &gt; +
&gt; &gt;  typedef struct _ELauncher {
&gt; &gt;      Ecore_Evas *ee;
&gt; &gt;      Evas *evas;
&gt; &gt;      Evas_Object *bg;
&gt; &gt;      Evas_Object *browser;
&gt; &gt;      Url_Bar *url_bar;
&gt; &gt; -    const char *theme;
&gt; &gt; -    const char *userAgent;
&gt; &gt; -    const char *backingStore;
&gt; &gt; -    unsigned char isFlattening;
&gt; &gt; +    ELauncher_Settings *settings;
&gt; &gt;  } ELauncher;
&gt; 
&gt; Looks better to me. Ryuan, how do you think ?

Seokju, can I know how do you pass settings when F9 is pressed ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719030</commentid>
    <comment_count>9</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 21:42:43 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; 
&gt; &gt; &gt; How about adding &apos;settings&apos; to a struct of ELauncher?
&gt; &gt; &gt; 
&gt; &gt; &gt; +typedef struct _ELauncher_Settings {
&gt; &gt; &gt; +    const char *userAgent;
&gt; &gt; &gt; +    const char *engine;
&gt; &gt; &gt; +    const char *backingStore;
&gt; &gt; &gt; +    unsigned char isFlattening;
&gt; &gt; &gt; +    unsigned char isFullscreen;
&gt; &gt; &gt; +    const char *databasePath;
&gt; &gt; &gt; +} ELauncher_Settings;
&gt; &gt; &gt; +
&gt; &gt; &gt;  typedef struct _ELauncher {
&gt; &gt; &gt;      Ecore_Evas *ee;
&gt; &gt; &gt;      Evas *evas;
&gt; &gt; &gt;      Evas_Object *bg;
&gt; &gt; &gt;      Evas_Object *browser;
&gt; &gt; &gt;      Url_Bar *url_bar;
&gt; &gt; &gt; -    const char *theme;
&gt; &gt; &gt; -    const char *userAgent;
&gt; &gt; &gt; -    const char *backingStore;
&gt; &gt; &gt; -    unsigned char isFlattening;
&gt; &gt; &gt; +    ELauncher_Settings *settings;
&gt; &gt; &gt;  } ELauncher;
&gt; &gt; 
&gt; &gt; Looks better to me. Ryuan, how do you think ?
&gt; 
&gt; Seokju, can I know how do you pass settings when F9 is pressed ?

evas_object_event_callback_add(app-&gt;browser, EVAS_CALLBACK_KEY_DOWN, on_key_down, app)

on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
The first parameter in this definition will have the same value passed to evas_object_event_callback_add(), if ELauncher has &apos;settings&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719036</commentid>
    <comment_count>10</comment_count>
      <attachid>163772</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 21:58:13 -0700</bug_when>
    <thetext>Created attachment 163772
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719045</commentid>
    <comment_count>11</comment_count>
      <attachid>163772</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 22:14:17 -0700</bug_when>
    <thetext>Comment on attachment 163772
Patch

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

&gt; Tools/EWebLauncher/main.c:835
&gt; +        ECORE_GETOPT_VALUE_STR(settings-&gt;engine),

Why don&apos;t you move *settings-&gt;* to same place ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719089</commentid>
    <comment_count>12</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-12 23:27:28 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 163772 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163772&amp;action=review
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:835
&gt; &gt; +        ECORE_GETOPT_VALUE_STR(settings-&gt;engine),
&gt; 
&gt; Why don&apos;t you move *settings-&gt;* to same place ?

ecore_getopt_parse(&amp;options, values, argc, argv);

We parse the values from command line argument.
It has an order. And I didn&apos;t move it for keeping the order.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719112</commentid>
    <comment_count>13</comment_count>
      <attachid>163772</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-09-12 23:49:39 -0700</bug_when>
    <thetext>Comment on attachment 163772
Patch

If there is no comment anymore, I&apos;d like to land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719204</commentid>
    <comment_count>14</comment_count>
      <attachid>163772</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-13 01:17:27 -0700</bug_when>
    <thetext>Comment on attachment 163772
Patch

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

&gt; Tools/EWebLauncher/main.c:143
&gt; +typedef struct _ELauncher_Settings {

UserArguments? then create a parseApplicationArguments(argv, argc, &amp;UserArguments) or similar?

&gt; Tools/EWebLauncher/main.c:145
&gt; +    const char *engine;

engine? Maybe that could use a bit more info

&gt; Tools/EWebLauncher/main.c:146
&gt; +    const char *backingStore;

backingStore

&gt; Tools/EWebLauncher/main.c:147
&gt; +    unsigned char isFlattening;

isFlattening? frameFlatteningEnabled ?

isFlattning just sounds wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719264</commentid>
    <comment_count>15</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 02:20:59 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 163772 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163772&amp;action=review
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:143
&gt; &gt; +typedef struct _ELauncher_Settings {
&gt; 
&gt; UserArguments? then create a parseApplicationArguments(argv, argc, &amp;UserArguments) or similar?
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:145
&gt; &gt; +    const char *engine;
&gt; 
&gt; engine? Maybe that could use a bit more info
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:146
&gt; &gt; +    const char *backingStore;
&gt; 
&gt; backingStore
&gt; 
&gt; &gt; Tools/EWebLauncher/main.c:147
&gt; &gt; +    unsigned char isFlattening;
&gt; 
&gt; isFlattening? frameFlatteningEnabled ?
&gt; 
&gt; isFlattning just sounds wrong

I think that you have already reviewed these things in other patches.
Do you want to change these things?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719266</commentid>
    <comment_count>16</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-13 02:27:11 -0700</bug_when>
    <thetext>
&gt; &gt; &gt; Tools/EWebLauncher/main.c:143
&gt; &gt; &gt; +typedef struct _ELauncher_Settings {
&gt; &gt; 
&gt; &gt; UserArguments? then create a parseApplicationArguments(argv, argc, &amp;UserArguments) or similar?

This is the important part, the rest isnt that important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719315</commentid>
    <comment_count>17</comment_count>
      <attachid>163831</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 04:02:38 -0700</bug_when>
    <thetext>Created attachment 163831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719327</commentid>
    <comment_count>18</comment_count>
      <attachid>163831</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-13 04:21:33 -0700</bug_when>
    <thetext>Comment on attachment 163831
Patch

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

Why

&gt; Tools/EWebLauncher/main.c:870
&gt; +    ELauncher_Settings *settings;
&gt; +    settings = (ELauncher_Settings *)malloc(sizeof(ELauncher_Settings));
&gt; +    if (!settings)
&gt; +        return quit(EINA_FALSE, &quot;ERROR: could not create settings\n&quot;);
&gt; +    memset(settings, 0, sizeof(ELauncher_Settings));

Why not just add it on the stack?

Also I prefer the name to show that it is actually parsed arguments (it uses unsigned char etc instead of Eina_Bool)

Can we call it UserArguments or similar?

&gt; Tools/EWebLauncher/main.c:881
&gt; +    settings-&gt;backingStore = (char *)backingStores[1];
&gt; +
&gt; +    themePath = findThemePath(settings-&gt;theme);

the parseApplicationArguments should be doing this as well. This function should just be applying them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719379</commentid>
    <comment_count>19</comment_count>
      <attachid>163849</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 05:46:10 -0700</bug_when>
    <thetext>Created attachment 163849
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719385</commentid>
    <comment_count>20</comment_count>
      <attachid>163849</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-09-13 05:59:50 -0700</bug_when>
    <thetext>Comment on attachment 163849
Patch

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

&gt; Tools/EWebLauncher/main.c:860
&gt; +    User_Arguments *userArgs;
&gt; +    userArgs = (User_Arguments *)malloc(sizeof(User_Arguments));
&gt; +    if (!userArgs)
&gt; +        return quit(EINA_FALSE, &quot;ERROR: could not create settings\n&quot;);
&gt; +    memset(userArgs, 0, sizeof(User_Arguments));

I still dont get why you need to allocate them on the heap. You could just do static User_Arguments userArgs;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719388</commentid>
    <comment_count>21</comment_count>
      <attachid>163852</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 06:10:30 -0700</bug_when>
    <thetext>Created attachment 163852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719455</commentid>
    <comment_count>22</comment_count>
      <attachid>163852</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-09-13 07:38:06 -0700</bug_when>
    <thetext>Comment on attachment 163852
Patch

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

&gt; Tools/EWebLauncher/main.c:856
&gt; +    static User_Arguments userArgs;

This variable does not need to be static.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719472</commentid>
    <comment_count>23</comment_count>
      <attachid>163873</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 07:48:17 -0700</bug_when>
    <thetext>Created attachment 163873
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719488</commentid>
    <comment_count>24</comment_count>
      <attachid>163873</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-09-13 08:00:53 -0700</bug_when>
    <thetext>Comment on attachment 163873
Patch

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

&gt; Tools/EWebLauncher/main.c:857
&gt; +    User_Arguments userArgs = {0};

Why not simply `User_Arguments userArgs;&apos; and properly initialize everything later? This idiom might not be supported by all compilers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720059</commentid>
    <comment_count>25</comment_count>
      <attachid>163988</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-09-13 15:59:07 -0700</bug_when>
    <thetext>Created attachment 163988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720164</commentid>
    <comment_count>26</comment_count>
      <attachid>163988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 17:42:59 -0700</bug_when>
    <thetext>Comment on attachment 163988
Patch

Clearing flags on attachment: 163988

Committed r128535: &lt;http://trac.webkit.org/changeset/128535&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720165</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 17:43:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163594</attachid>
            <date>2012-09-12 05:06:53 -0700</date>
            <delta_ts>2012-09-12 21:58:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120912210627.patch</filename>
            <type>text/plain</type>
            <size>8017</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uYjVlZDYwYzllNGNiN2ViMDE4OTc4OTYzNDMyZDhlZDhiOTQ1ZDkwZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA5LTEyICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzLgorICAgICAgICBBbmQgSSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVy
cyBpbnRvIHNldHRpbmdzLgorCisgICAgICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAg
ICAgKF9FTGF1bmNoZXJfU2V0dGluZ3MpOgorICAgICAgICAob25fa2V5X2Rvd24pOgorICAgICAg
ICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wOS0xMSAgRGlyayBQ
cmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIHJlbmFt
ZSB3ZWJraXRfcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5j
IGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwppbmRleCA4MTZlMGYyZDRlMjQ4MTU3MjIxMjY4
MmFkYzQzM2ZjOWU5N2NkNjMzLi5iODIxNzA1NWM1NmE3MjgyZjRjOTdjZjZjYjJjMmMzMDc1Yzll
NzYzIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCisrKyBiL1Rvb2xzL0VX
ZWJMYXVuY2hlci9tYWluLmMKQEAgLTE0NiwxNSArMTQ2LDIyIEBAIHR5cGVkZWYgc3RydWN0IF9F
TGF1bmNoZXIgewogICAgIEV2YXNfT2JqZWN0ICpiZzsKICAgICBFdmFzX09iamVjdCAqYnJvd3Nl
cjsKICAgICBVcmxfQmFyICp1cmxfYmFyOwotICAgIGNvbnN0IGNoYXIgKnRoZW1lOworfSBFTGF1
bmNoZXI7CisKK3R5cGVkZWYgc3RydWN0IF9FTGF1bmNoZXJfU2V0dGluZ3MgewogICAgIGNvbnN0
IGNoYXIgKnVzZXJBZ2VudDsKKyAgICBjb25zdCBjaGFyICplbmdpbmU7CiAgICAgY29uc3QgY2hh
ciAqYmFja2luZ1N0b3JlOwogICAgIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nOwotfSBFTGF1
bmNoZXI7CisgICAgdW5zaWduZWQgY2hhciBpc0Z1bGxzY3JlZW47CisgICAgY29uc3QgY2hhciAq
ZGF0YWJhc2VQYXRoOworfSBFTGF1bmNoZXJfU2V0dGluZ3M7CisKK3N0YXRpYyBFTGF1bmNoZXJf
U2V0dGluZ3MgKnNldHRpbmdzOwogCiBzdGF0aWMgdm9pZCBicm93c2VyRGVzdHJveShFY29yZV9F
dmFzICplZSk7CiBzdGF0aWMgdm9pZCBjbG9zZVdpbmRvdyhFY29yZV9FdmFzICplZSk7Ci1zdGF0
aWMgaW50IGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwg
Y29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSwgY29uc3QgY2hh
ciAqZW5naW5lLCBjb25zdCBjaGFyICpiYWNraW5nU3RvcmUsIHVuc2lnbmVkIGNoYXIgaXNGbGF0
dGVuaW5nLCB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbiwgY29uc3QgY2hhciAqZGF0YWJhc2VQ
YXRoKTsKK3N0YXRpYyBpbnQgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIEVpbmFfUmVj
dGFuZ2xlIGdlb21ldHJ5KTsKIAogc3RhdGljIEVMYXVuY2hlciAqCiBmaW5kX2FwcF9mcm9tX2Vl
KEVjb3JlX0V2YXMgKmVlKQpAQCAtNTYxLDkgKzU2OCw3IEBAIG9uX2tleV9kb3duKHZvaWQgKmRh
dGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZvaWQgKmV2ZW50X2luZm8pCiAgICAgfSBl
bHNlIGlmICghc3RyY21wKGV2LT5rZXksICJGOSIpKSB7CiAgICAgICAgIGluZm8oIkNyZWF0ZSBu
ZXcgd2luZG93IChGOSkgd2FzIHByZXNzZWQuXG4iKTsKICAgICAgICAgRWluYV9SZWN0YW5nbGUg
Z2VvbWV0cnkgPSB7MCwgMCwgMCwgMH07Ci0gICAgICAgIGJyb3dzZXJDcmVhdGUoImh0dHA6Ly93
d3cuZ29vZ2xlLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICAgIGFwcC0+dGhlbWUsIGFwcC0+
dXNlckFnZW50LCBnZW9tZXRyeSwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgYXBwLT5i
YWNraW5nU3RvcmUsIGFwcC0+aXNGbGF0dGVuaW5nLCAwLCBOVUxMKTsKKyAgICAgICAgYnJvd3Nl
ckNyZWF0ZSgiaHR0cDovL3d3dy5nb29nbGUuY29tIiwgZ2VvbWV0cnkpOwogICAgIH0gZWxzZSBp
ZiAoIXN0cmNtcChldi0+a2V5LCAiZyIpICYmIGN0cmxQcmVzc2VkICkgewogICAgICAgICBFdmFz
X0Nvb3JkIHgsIHksIHcsIGg7CiAgICAgICAgIEV2YXNfT2JqZWN0ICpmcmFtZSA9IGV3a192aWV3
X2ZyYW1lX21haW5fZ2V0KG9iaik7CkBAIC02NTYsNyArNjYxLDcgQEAgcXVpdChFaW5hX0Jvb2wg
c3VjY2VzcywgY29uc3QgY2hhciAqbXNnKQogfQogCiBzdGF0aWMgaW50Ci1icm93c2VyQ3JlYXRl
KGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2Vu
dCwgRWluYV9SZWN0YW5nbGUgZ2VvbWV0cnksIGNvbnN0IGNoYXIgKmVuZ2luZSwgY29uc3QgY2hh
ciAqYmFja2luZ1N0b3JlLCB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZywgdW5zaWduZWQgY2hh
ciBpc0Z1bGxzY3JlZW4sIGNvbnN0IGNoYXIgKmRhdGFiYXNlUGF0aCkKK2Jyb3dzZXJDcmVhdGUo
Y29uc3QgY2hhciAqdXJsLCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSkKIHsKICAgICBpZiAoKGdl
b21ldHJ5LncgPD0gMCkgJiYgKGdlb21ldHJ5LmggPD0gMCkpIHsKICAgICAgICAgZ2VvbWV0cnku
dyA9IERFRkFVTFRfV0lEVEg7CkBAIC02NjcsMTIgKzY3MiwxMiBAQCBicm93c2VyQ3JlYXRlKGNv
bnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwg
RWluYV9SZQogICAgIGlmICghYXBwKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAi
RVJST1I6IGNvdWxkIG5vdCBjcmVhdGUgRVdlYkxhdW5jaGVyIHdpbmRvd1xuIik7CiAKLSAgICBh
cHAtPmVlID0gZWNvcmVfZXZhc19uZXcoZW5naW5lLCAwLCAwLCBnZW9tZXRyeS53LCBnZW9tZXRy
eS5oLCBOVUxMKTsKKyAgICBhcHAtPmVlID0gZWNvcmVfZXZhc19uZXcoc2V0dGluZ3MtPmVuZ2lu
ZSwgMCwgMCwgZ2VvbWV0cnkudywgZ2VvbWV0cnkuaCwgTlVMTCk7CiAKICAgICBpZiAoIWFwcC0+
ZWUpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQgbm90IGNv
bnN0cnVjdCBldmFzLWVjb3JlXG4iKTsKIAotICAgIGlmIChpc0Z1bGxzY3JlZW4pCisgICAgaWYg
KHNldHRpbmdzLT5pc0Z1bGxzY3JlZW4pCiAgICAgICAgIGVjb3JlX2V2YXNfZnVsbHNjcmVlbl9z
ZXQoYXBwLT5lZSwgRUlOQV9UUlVFKTsKIAogICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+
ZWUsICJFRkwgVGVzdCBMYXVuY2hlciIpOwpAQCAtNjg0LDExICs2ODksNiBAQCBicm93c2VyQ3Jl
YXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJB
Z2VudCwgRWluYV9SZQogICAgIGlmICghYXBwLT5ldmFzKQogICAgICAgICByZXR1cm4gcXVpdChF
SU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5vdCBnZXQgZXZhcyBmcm9tIGV2YXMtZWNvcmVcbiIp
OwogCi0gICAgYXBwLT50aGVtZSA9IHRoZW1lOwotICAgIGFwcC0+dXNlckFnZW50ID0gdXNlckFn
ZW50OwotICAgIGFwcC0+YmFja2luZ1N0b3JlID0gYmFja2luZ1N0b3JlOwotICAgIGFwcC0+aXNG
bGF0dGVuaW5nID0gaXNGbGF0dGVuaW5nOwotCiAgICAgYXBwLT5iZyA9IGV2YXNfb2JqZWN0X3Jl
Y3RhbmdsZV9hZGQoYXBwLT5ldmFzKTsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJn
LCAiYmciKTsKICAgICBldmFzX29iamVjdF9jb2xvcl9zZXQoYXBwLT5iZywgMjU1LCAwLCAyNTUs
IDI1NSk7CkBAIC02OTcsNyArNjk3LDcgQEAgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmws
IGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICBl
dmFzX29iamVjdF9sYXllcl9zZXQoYXBwLT5iZywgRVZBU19MQVlFUl9NSU4pOwogICAgIGV2YXNf
b2JqZWN0X3Nob3coYXBwLT5iZyk7CiAKLSAgICBpZiAoYmFja2luZ1N0b3JlICYmICFzdHJjYXNl
Y21wKGJhY2tpbmdTdG9yZSwgInRpbGVkIikpIHsKKyAgICBpZiAoc2V0dGluZ3MtPmJhY2tpbmdT
dG9yZSAmJiAhc3RyY2FzZWNtcChzZXR0aW5ncy0+YmFja2luZ1N0b3JlLCAidGlsZWQiKSkgewog
ICAgICAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld190aWxlZF9hZGQoYXBwLT5ldmFzKTsKICAg
ICAgICAgaW5mbygiYmFja2luZyBzdG9yZTogdGlsZWRcbiIpOwogICAgIH0gZWxzZSB7CkBAIC03
MDUsMTEgKzcwNSwxMSBAQCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hh
ciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZQogICAgICAgICBpbmZvKCJi
YWNraW5nIHN0b3JlOiBzaW5nbGVcbiIpOwogICAgIH0KIAotICAgIGV3a192aWV3X3RoZW1lX3Nl
dChhcHAtPmJyb3dzZXIsIHRoZW1lKTsKLSAgICBpZiAodXNlckFnZW50KQotICAgICAgICBld2tf
dmlld19zZXR0aW5nX3VzZXJfYWdlbnRfc2V0KGFwcC0+YnJvd3NlciwgdXNlckFnZW50KTsKLSAg
ICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2VfZGF0YWJhc2VfcGF0aF9zZXQoYXBwLT5i
cm93c2VyLCBkYXRhYmFzZVBhdGgpOwotICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2ZyYW1l
X2ZsYXR0ZW5pbmdfc2V0KGFwcC0+YnJvd3NlciwgaXNGbGF0dGVuaW5nKTsKKyAgICBld2tfdmll
d190aGVtZV9zZXQoYXBwLT5icm93c2VyLCB0aGVtZVBhdGgpOworICAgIGlmIChzZXR0aW5ncy0+
dXNlckFnZW50KQorICAgICAgICBld2tfdmlld19zZXR0aW5nX3VzZXJfYWdlbnRfc2V0KGFwcC0+
YnJvd3Nlciwgc2V0dGluZ3MtPnVzZXJBZ2VudCk7CisgICAgZXdrX3ZpZXdfc2V0dGluZ19sb2Nh
bF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhfc2V0KGFwcC0+YnJvd3Nlciwgc2V0dGluZ3MtPmRhdGFi
YXNlUGF0aCk7CisgICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19z
ZXQoYXBwLT5icm93c2VyLCBzZXR0aW5ncy0+aXNGbGF0dGVuaW5nKTsKICAgICAKICAgICBldmFz
X29iamVjdF9uYW1lX3NldChhcHAtPmJyb3dzZXIsICJicm93c2VyIik7CiAKQEAgLTgxNSwyOSAr
ODE1LDMwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICBjb25zdCBjaGFyICpk
ZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKIAogICAgIEVpbmFfUmVjdGFu
Z2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9OwotICAgIGNoYXIgKnVzZXJBZ2VudCA9IE5VTEw7
CiAgICAgY29uc3QgY2hhciAqdG1wOwogICAgIGNvbnN0IGNoYXIgKnByb3h5VXJpOwogICAgIGNo
YXIgcGF0aFtQQVRIX01BWF07Ci0KLSAgICBjaGFyICplbmdpbmUgPSBOVUxMOwogICAgIGNoYXIg
KnRoZW1lID0gTlVMTDsKLSAgICBjaGFyICpiYWNraW5nU3RvcmUgPSAoY2hhciAqKWJhY2tpbmdT
dG9yZXNbMV07CiAKICAgICB1bnNpZ25lZCBjaGFyIHF1aXRPcHRpb24gPSAwOwotICAgIHVuc2ln
bmVkIGNoYXIgaXNGbGF0dGVuaW5nID0gMDsKLSAgICB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVl
biA9IDA7CisKICAgICBpbnQgYXJnczsKIAorICAgIHNldHRpbmdzID0gKEVMYXVuY2hlcl9TZXR0
aW5ncyAqKW1hbGxvYyhzaXplb2YoRUxhdW5jaGVyX1NldHRpbmdzKSk7CisgICAgaWYgKCFzZXR0
aW5ncykKKyAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3Qg
Y3JlYXRlIHNldHRpbmdzXG4iKTsKKworICAgIHNldHRpbmdzLT5iYWNraW5nU3RvcmUgPSAoY2hh
ciAqKWJhY2tpbmdTdG9yZXNbMV07CisKICAgICBFY29yZV9HZXRvcHRfVmFsdWUgdmFsdWVzW10g
PSB7Ci0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoZW5naW5lKSwKKyAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX1NUUihzZXR0aW5ncy0+ZW5naW5lKSwKICAgICAgICAgRUNPUkVfR0VU
T1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9T
VFIoYmFja2luZ1N0b3JlKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woaXNGbGF0
dGVuaW5nKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woaXNGdWxsc2NyZWVuKSwK
KyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUihzZXR0aW5ncy0+YmFja2luZ1N0b3JlKSwK
KyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woc2V0dGluZ3MtPmlzRmxhdHRlbmluZyks
CisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHNldHRpbmdzLT5pc0Z1bGxzY3JlZW4p
LAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfUFRSX0NBU1QoZ2VvbWV0cnkpLAogICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHRoZW1lKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX1NUUih1c2VyQWdlbnQpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHNldHRp
bmdzLT51c2VyQWdlbnQpLAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfSU5UKHZlcmJvc2Up
LAogICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKICAgICAgICAg
RUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCkBAIC04ODEsNiArODgyLDggQEAg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGlmICghZWNvcmVfZmlsZV9ta3BhdGgo
cGF0aCkpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQgbm90
IGNyZWF0ZSBzZXR0aW5ncyBkYXRhYmFzZSBkaXJlY3RvcnkuXG4iKTsKIAorICAgIHNldHRpbmdz
LT5kYXRhYmFzZVBhdGggPSBwYXRoOworCiAgICAgZXdrX3NldHRpbmdzX2ljb25fZGF0YWJhc2Vf
cGF0aF9zZXQocGF0aCk7CiAgICAgZXdrX3NldHRpbmdzX3dlYl9kYXRhYmFzZV9wYXRoX3NldChw
YXRoKTsKIApAQCAtODkwLDEwICs4OTMsMTAgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd
KQogCiAgICAgaWYgKGFyZ3MgPCBhcmdjKSB7CiAgICAgICAgIGNoYXIgKnVybCA9IHVybF9mcm9t
X3VzZXJfaW5wdXQoYXJndlthcmdzXSk7Ci0gICAgICAgIGJyb3dzZXJDcmVhdGUodXJsLCB0aGVt
ZVBhdGgsIHVzZXJBZ2VudCwgZ2VvbWV0cnksIGVuZ2luZSwgYmFja2luZ1N0b3JlLCBpc0ZsYXR0
ZW5pbmcsIGlzRnVsbHNjcmVlbiwgcGF0aCk7CisgICAgICAgIGJyb3dzZXJDcmVhdGUodXJsLCBn
ZW9tZXRyeSk7CiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9IGVsc2UKLSAgICAgICAgYnJvd3Nl
ckNyZWF0ZShkZWZhdWx0X3VybCwgdGhlbWVQYXRoLCB1c2VyQWdlbnQsIGdlb21ldHJ5LCBlbmdp
bmUsIGJhY2tpbmdTdG9yZSwgaXNGbGF0dGVuaW5nLCBpc0Z1bGxzY3JlZW4sIHBhdGgpOworICAg
ICAgICBicm93c2VyQ3JlYXRlKGRlZmF1bHRfdXJsLCBnZW9tZXRyeSk7CiAKICAgICBlY29yZV9l
dmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhp
dCwgJndpbmRvd3MpOwogCkBAIC05MDEsNSArOTA0LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAq
YXJndltdKQogCiAgICAgZXdrX3NodXRkb3duKCk7CiAKKyAgICBmcmVlKHNldHRpbmdzKTsKKwog
ICAgIHJldHVybiBxdWl0KEVJTkFfVFJVRSwgTlVMTCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163772</attachid>
            <date>2012-09-12 21:58:13 -0700</date>
            <delta_ts>2012-09-13 04:02:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120913135746.patch</filename>
            <type>text/plain</type>
            <size>8432</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uYjVlZDYwYzllNGNiN2ViMDE4OTc4OTYzNDMyZDhlZDhiOTQ1ZDkwZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA5LTEyICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzLgorICAgICAgICBBbmQgSSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVy
cyBpbnRvIHNldHRpbmdzLgorCisgICAgICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAg
ICAgKF9FTGF1bmNoZXJfU2V0dGluZ3MpOgorICAgICAgICAob25fa2V5X2Rvd24pOgorICAgICAg
ICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wOS0xMSAgRGlyayBQ
cmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIHJlbmFt
ZSB3ZWJraXRfcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5j
IGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwppbmRleCA4MTZlMGYyZDRlMjQ4MTU3MjIxMjY4
MmFkYzQzM2ZjOWU5N2NkNjMzLi5mZjQ0ZTBjNGFhNmViNTEzMjFkMjk4YmQ5MmM1ZGFkMWM4NjU0
MzgxIDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCisrKyBiL1Rvb2xzL0VX
ZWJMYXVuY2hlci9tYWluLmMKQEAgLTE0MCwyMSArMTQwLDI3IEBAIHN0YXRpYyBjb25zdCBFY29y
ZV9HZXRvcHQgb3B0aW9ucyA9IHsKICAgICB9CiB9OwogCit0eXBlZGVmIHN0cnVjdCBfRUxhdW5j
aGVyX1NldHRpbmdzIHsKKyAgICBjb25zdCBjaGFyICp1c2VyQWdlbnQ7CisgICAgY29uc3QgY2hh
ciAqZW5naW5lOworICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZTsKKyAgICB1bnNpZ25lZCBj
aGFyIGlzRmxhdHRlbmluZzsKKyAgICB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbjsKKyAgICBj
b25zdCBjaGFyICpkYXRhYmFzZVBhdGg7Cit9IEVMYXVuY2hlcl9TZXR0aW5nczsKKwogdHlwZWRl
ZiBzdHJ1Y3QgX0VMYXVuY2hlciB7CiAgICAgRWNvcmVfRXZhcyAqZWU7CiAgICAgRXZhcyAqZXZh
czsKICAgICBFdmFzX09iamVjdCAqYmc7CiAgICAgRXZhc19PYmplY3QgKmJyb3dzZXI7CiAgICAg
VXJsX0JhciAqdXJsX2JhcjsKLSAgICBjb25zdCBjaGFyICp0aGVtZTsKLSAgICBjb25zdCBjaGFy
ICp1c2VyQWdlbnQ7Ci0gICAgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlOwotICAgIHVuc2lnbmVk
IGNoYXIgaXNGbGF0dGVuaW5nOworICAgIEVMYXVuY2hlcl9TZXR0aW5ncyAqc2V0dGluZ3M7CiB9
IEVMYXVuY2hlcjsKIAogc3RhdGljIHZvaWQgYnJvd3NlckRlc3Ryb3koRWNvcmVfRXZhcyAqZWUp
Owogc3RhdGljIHZvaWQgY2xvc2VXaW5kb3coRWNvcmVfRXZhcyAqZWUpOwotc3RhdGljIGludCBi
cm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNo
YXIgKnVzZXJBZ2VudCwgRWluYV9SZWN0YW5nbGUgZ2VvbWV0cnksIGNvbnN0IGNoYXIgKmVuZ2lu
ZSwgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlLCB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZywg
dW5zaWduZWQgY2hhciBpc0Z1bGxzY3JlZW4sIGNvbnN0IGNoYXIgKmRhdGFiYXNlUGF0aCk7Citz
dGF0aWMgaW50IGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBFaW5hX1JlY3RhbmdsZSBn
ZW9tZXRyeSwgRUxhdW5jaGVyX1NldHRpbmdzICpzZXR0aW5ncyk7CiAKIHN0YXRpYyBFTGF1bmNo
ZXIgKgogZmluZF9hcHBfZnJvbV9lZShFY29yZV9FdmFzICplZSkKQEAgLTU2MSw5ICs1NjcsNyBA
QCBvbl9rZXlfZG93bih2b2lkICpkYXRhLCBFdmFzICplLCBFdmFzX09iamVjdCAqb2JqLCB2b2lk
ICpldmVudF9pbmZvKQogICAgIH0gZWxzZSBpZiAoIXN0cmNtcChldi0+a2V5LCAiRjkiKSkgewog
ICAgICAgICBpbmZvKCJDcmVhdGUgbmV3IHdpbmRvdyAoRjkpIHdhcyBwcmVzc2VkLlxuIik7CiAg
ICAgICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9OwotICAgICAgICBi
cm93c2VyQ3JlYXRlKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20iLAotICAgICAgICAgICAgICAgICAg
ICAgICBhcHAtPnRoZW1lLCBhcHAtPnVzZXJBZ2VudCwgZ2VvbWV0cnksIE5VTEwsCi0gICAgICAg
ICAgICAgICAgICAgICAgIGFwcC0+YmFja2luZ1N0b3JlLCBhcHAtPmlzRmxhdHRlbmluZywgMCwg
TlVMTCk7CisgICAgICAgIGJyb3dzZXJDcmVhdGUoImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSIsIGdl
b21ldHJ5LCBhcHAtPnNldHRpbmdzKTsKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwg
ImciKSAmJiBjdHJsUHJlc3NlZCApIHsKICAgICAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoOwog
ICAgICAgICBFdmFzX09iamVjdCAqZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChvYmop
OwpAQCAtNjU2LDcgKzY2MCw3IEBAIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIg
Km1zZykKIH0KIAogc3RhdGljIGludAotYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNv
bnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmVjdGFuZ2xlIGdl
b21ldHJ5LCBjb25zdCBjaGFyICplbmdpbmUsIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZSwgdW5z
aWduZWQgY2hhciBpc0ZsYXR0ZW5pbmcsIHVuc2lnbmVkIGNoYXIgaXNGdWxsc2NyZWVuLCBjb25z
dCBjaGFyICpkYXRhYmFzZVBhdGgpCiticm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgRWlu
YV9SZWN0YW5nbGUgZ2VvbWV0cnksIEVMYXVuY2hlcl9TZXR0aW5ncyAqc2V0dGluZ3MpCiB7CiAg
ICAgaWYgKChnZW9tZXRyeS53IDw9IDApICYmIChnZW9tZXRyeS5oIDw9IDApKSB7CiAgICAgICAg
IGdlb21ldHJ5LncgPSBERUZBVUxUX1dJRFRIOwpAQCAtNjY3LDEyICs2NzEsMTIgQEAgYnJvd3Nl
ckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1
c2VyQWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcCkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlO
QV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIEVXZWJMYXVuY2hlciB3aW5kb3dcbiIp
OwogCi0gICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2luZSwgMCwgMCwgZ2VvbWV0cnku
dywgZ2VvbWV0cnkuaCwgTlVMTCk7CisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KHNldHRp
bmdzLT5lbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOwogCiAgICAg
aWYgKCFhcHAtPmVlKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNv
dWxkIG5vdCBjb25zdHJ1Y3QgZXZhcy1lY29yZVxuIik7CiAKLSAgICBpZiAoaXNGdWxsc2NyZWVu
KQorICAgIGlmIChzZXR0aW5ncy0+aXNGdWxsc2NyZWVuKQogICAgICAgICBlY29yZV9ldmFzX2Z1
bGxzY3JlZW5fc2V0KGFwcC0+ZWUsIEVJTkFfVFJVRSk7CiAKICAgICBlY29yZV9ldmFzX3RpdGxl
X3NldChhcHAtPmVlLCAiRUZMIFRlc3QgTGF1bmNoZXIiKTsKQEAgLTY4NCwxMSArNjg4LDYgQEAg
YnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBj
aGFyICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcC0+ZXZhcykKICAgICAgICAgcmV0
dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFz
LWVjb3JlXG4iKTsKIAotICAgIGFwcC0+dGhlbWUgPSB0aGVtZTsKLSAgICBhcHAtPnVzZXJBZ2Vu
dCA9IHVzZXJBZ2VudDsKLSAgICBhcHAtPmJhY2tpbmdTdG9yZSA9IGJhY2tpbmdTdG9yZTsKLSAg
ICBhcHAtPmlzRmxhdHRlbmluZyA9IGlzRmxhdHRlbmluZzsKLQogICAgIGFwcC0+YmcgPSBldmFz
X29iamVjdF9yZWN0YW5nbGVfYWRkKGFwcC0+ZXZhcyk7CiAgICAgZXZhc19vYmplY3RfbmFtZV9z
ZXQoYXBwLT5iZywgImJnIik7CiAgICAgZXZhc19vYmplY3RfY29sb3Jfc2V0KGFwcC0+YmcsIDI1
NSwgMCwgMjU1LCAyNTUpOwpAQCAtNjk3LDcgKzY5Niw3IEBAIGJyb3dzZXJDcmVhdGUoY29uc3Qg
Y2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5h
X1JlCiAgICAgZXZhc19vYmplY3RfbGF5ZXJfc2V0KGFwcC0+YmcsIEVWQVNfTEFZRVJfTUlOKTsK
ICAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOwogCi0gICAgaWYgKGJhY2tpbmdTdG9yZSAm
JiAhc3RyY2FzZWNtcChiYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CisgICAgaWYgKHNldHRpbmdz
LT5iYWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAoc2V0dGluZ3MtPmJhY2tpbmdTdG9yZSwgInRp
bGVkIikpIHsKICAgICAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfdGlsZWRfYWRkKGFwcC0+
ZXZhcyk7CiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6IHRpbGVkXG4iKTsKICAgICB9IGVs
c2UgewpAQCAtNzA1LDEyICs3MDQsMTMgQEAgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmws
IGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICAg
ICAgaW5mbygiYmFja2luZyBzdG9yZTogc2luZ2xlXG4iKTsKICAgICB9CiAKLSAgICBld2tfdmll
d190aGVtZV9zZXQoYXBwLT5icm93c2VyLCB0aGVtZSk7Ci0gICAgaWYgKHVzZXJBZ2VudCkKLSAg
ICAgICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50X3NldChhcHAtPmJyb3dzZXIsIHVzZXJB
Z2VudCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhf
c2V0KGFwcC0+YnJvd3NlciwgZGF0YWJhc2VQYXRoKTsKLSAgICBld2tfdmlld19zZXR0aW5nX2Vu
YWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dzZXIsIGlzRmxhdHRlbmluZyk7Cisg
ICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWVQYXRoKTsKKyAgICBpZiAo
c2V0dGluZ3MtPnVzZXJBZ2VudCkKKyAgICAgICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50
X3NldChhcHAtPmJyb3dzZXIsIHNldHRpbmdzLT51c2VyQWdlbnQpOworICAgIGV3a192aWV3X3Nl
dHRpbmdfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIHNldHRp
bmdzLT5kYXRhYmFzZVBhdGgpOworICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2ZyYW1lX2Zs
YXR0ZW5pbmdfc2V0KGFwcC0+YnJvd3Nlciwgc2V0dGluZ3MtPmlzRmxhdHRlbmluZyk7CiAgICAg
CisgICAgYXBwLT5zZXR0aW5ncyA9IHNldHRpbmdzOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0
KGFwcC0+YnJvd3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxi
YWNrX2FkZChhcHAtPmJyb3dzZXIsICJ0aXRsZSxjaGFuZ2VkIiwgb25fdGl0bGVfY2hhbmdlZCwg
YXBwKTsKQEAgLTgxNSwyOSArODE1LDMxIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK
ICAgICBjb25zdCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsK
IAogICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9OwotICAgIGNoYXIg
KnVzZXJBZ2VudCA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqdG1wOwogICAgIGNvbnN0IGNoYXIg
KnByb3h5VXJpOwogICAgIGNoYXIgcGF0aFtQQVRIX01BWF07Ci0KLSAgICBjaGFyICplbmdpbmUg
PSBOVUxMOwogICAgIGNoYXIgKnRoZW1lID0gTlVMTDsKLSAgICBjaGFyICpiYWNraW5nU3RvcmUg
PSAoY2hhciAqKWJhY2tpbmdTdG9yZXNbMV07CiAKICAgICB1bnNpZ25lZCBjaGFyIHF1aXRPcHRp
b24gPSAwOwotICAgIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nID0gMDsKLSAgICB1bnNpZ25l
ZCBjaGFyIGlzRnVsbHNjcmVlbiA9IDA7CisKICAgICBpbnQgYXJnczsKIAorICAgIEVMYXVuY2hl
cl9TZXR0aW5ncyAqc2V0dGluZ3M7CisgICAgc2V0dGluZ3MgPSAoRUxhdW5jaGVyX1NldHRpbmdz
ICopbWFsbG9jKHNpemVvZihFTGF1bmNoZXJfU2V0dGluZ3MpKTsKKyAgICBpZiAoIXNldHRpbmdz
KQorICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5vdCBjcmVh
dGUgc2V0dGluZ3NcbiIpOworCisgICAgc2V0dGluZ3MtPmJhY2tpbmdTdG9yZSA9IChjaGFyICop
YmFja2luZ1N0b3Jlc1sxXTsKKwogICAgIEVjb3JlX0dldG9wdF9WYWx1ZSB2YWx1ZXNbXSA9IHsK
LSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUihlbmdpbmUpLAorICAgICAgICBFQ09SRV9H
RVRPUFRfVkFMVUVfU1RSKHNldHRpbmdzLT5lbmdpbmUpLAogICAgICAgICBFQ09SRV9HRVRPUFRf
VkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUihi
YWNraW5nU3RvcmUpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChpc0ZsYXR0ZW5p
bmcpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChpc0Z1bGxzY3JlZW4pLAorICAg
ICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHNldHRpbmdzLT5iYWNraW5nU3RvcmUpLAorICAg
ICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChzZXR0aW5ncy0+aXNGbGF0dGVuaW5nKSwKKyAg
ICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woc2V0dGluZ3MtPmlzRnVsbHNjcmVlbiksCiAg
ICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9QVFJfQ0FTVChnZW9tZXRyeSksCiAgICAgICAgIEVD
T1JFX0dFVE9QVF9WQUxVRV9TVFIodGhlbWUpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVf
U1RSKHVzZXJBZ2VudCksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoc2V0dGluZ3Mt
PnVzZXJBZ2VudCksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9JTlQodmVyYm9zZSksCiAg
ICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHF1aXRPcHRpb24pLAogICAgICAgICBFQ09S
RV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKQEAgLTg4MSw2ICs4ODMsOCBAQCBtYWlu
KGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgaWYgKCFlY29yZV9maWxlX21rcGF0aChwYXRo
KSkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3Jl
YXRlIHNldHRpbmdzIGRhdGFiYXNlIGRpcmVjdG9yeS5cbiIpOwogCisgICAgc2V0dGluZ3MtPmRh
dGFiYXNlUGF0aCA9IHBhdGg7CisKICAgICBld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9wYXRo
X3NldChwYXRoKTsKICAgICBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KHBhdGgp
OwogCkBAIC04OTAsMTAgKzg5NCwxMCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAK
ICAgICBpZiAoYXJncyA8IGFyZ2MpIHsKICAgICAgICAgY2hhciAqdXJsID0gdXJsX2Zyb21fdXNl
cl9pbnB1dChhcmd2W2FyZ3NdKTsKLSAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsIHRoZW1lUGF0
aCwgdXNlckFnZW50LCBnZW9tZXRyeSwgZW5naW5lLCBiYWNraW5nU3RvcmUsIGlzRmxhdHRlbmlu
ZywgaXNGdWxsc2NyZWVuLCBwYXRoKTsKKyAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsIGdlb21l
dHJ5LCBzZXR0aW5ncyk7CiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9IGVsc2UKLSAgICAgICAg
YnJvd3NlckNyZWF0ZShkZWZhdWx0X3VybCwgdGhlbWVQYXRoLCB1c2VyQWdlbnQsIGdlb21ldHJ5
LCBlbmdpbmUsIGJhY2tpbmdTdG9yZSwgaXNGbGF0dGVuaW5nLCBpc0Z1bGxzY3JlZW4sIHBhdGgp
OworICAgICAgICBicm93c2VyQ3JlYXRlKGRlZmF1bHRfdXJsLCBnZW9tZXRyeSwgc2V0dGluZ3Mp
OwogCiAgICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQs
IG1haW5fc2lnbmFsX2V4aXQsICZ3aW5kb3dzKTsKIApAQCAtOTAxLDUgKzkwNSw3IEBAIG1haW4o
aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogICAgIGV3a19zaHV0ZG93bigpOwogCisgICAgZnJl
ZShzZXR0aW5ncyk7CisKICAgICByZXR1cm4gcXVpdChFSU5BX1RSVUUsIE5VTEwpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163831</attachid>
            <date>2012-09-13 04:02:38 -0700</date>
            <delta_ts>2012-09-13 05:46:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120913200211.patch</filename>
            <type>text/plain</type>
            <size>10278</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uYjVlZDYwYzllNGNiN2ViMDE4OTc4OTYzNDMyZDhlZDhiOTQ1ZDkwZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTA5LTEyICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzLgorICAgICAgICBBbmQgSSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVy
cyBpbnRvIHNldHRpbmdzLgorCisgICAgICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAg
ICAgKF9FTGF1bmNoZXJfU2V0dGluZ3MpOgorICAgICAgICAob25fa2V5X2Rvd24pOgorICAgICAg
ICAoYnJvd3NlckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wOS0xMSAgRGlyayBQ
cmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIHJlbmFt
ZSB3ZWJraXRfcmVzb3VyY2VzCmRpZmYgLS1naXQgYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5j
IGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwppbmRleCA4MTZlMGYyZDRlMjQ4MTU3MjIxMjY4
MmFkYzQzM2ZjOWU5N2NkNjMzLi40MmYzYzI2NjIyODQwNWY1MWYzNmY1M2Q1MjBhMzI5Zjk0ZjE3
NDM1IDEwMDY0NAotLS0gYS9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCisrKyBiL1Rvb2xzL0VX
ZWJMYXVuY2hlci9tYWluLmMKQEAgLTE0MCwyMSArMTQwLDMwIEBAIHN0YXRpYyBjb25zdCBFY29y
ZV9HZXRvcHQgb3B0aW9ucyA9IHsKICAgICB9CiB9OwogCit0eXBlZGVmIHN0cnVjdCBfRUxhdW5j
aGVyX1NldHRpbmdzIHsKKyAgICBjb25zdCBjaGFyICplbmdpbmU7CisgICAgdW5zaWduZWQgY2hh
ciBxdWl0T3B0aW9uOworICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZTsKKyAgICB1bnNpZ25l
ZCBjaGFyIGlzRmxhdHRlbmluZzsKKyAgICB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbjsKKyAg
ICBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeTsKKyAgICBjb25zdCBjaGFyICp0aGVtZTsKKyAgICBj
b25zdCBjaGFyICp1c2VyQWdlbnQ7CisgICAgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoOworfSBF
TGF1bmNoZXJfU2V0dGluZ3M7CisKIHR5cGVkZWYgc3RydWN0IF9FTGF1bmNoZXIgewogICAgIEVj
b3JlX0V2YXMgKmVlOwogICAgIEV2YXMgKmV2YXM7CiAgICAgRXZhc19PYmplY3QgKmJnOwogICAg
IEV2YXNfT2JqZWN0ICpicm93c2VyOwogICAgIFVybF9CYXIgKnVybF9iYXI7Ci0gICAgY29uc3Qg
Y2hhciAqdGhlbWU7Ci0gICAgY29uc3QgY2hhciAqdXNlckFnZW50OwotICAgIGNvbnN0IGNoYXIg
KmJhY2tpbmdTdG9yZTsKLSAgICB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZzsKKyAgICBFTGF1
bmNoZXJfU2V0dGluZ3MgKnNldHRpbmdzOwogfSBFTGF1bmNoZXI7CiAKIHN0YXRpYyB2b2lkIGJy
b3dzZXJEZXN0cm95KEVjb3JlX0V2YXMgKmVlKTsKIHN0YXRpYyB2b2lkIGNsb3NlV2luZG93KEVj
b3JlX0V2YXMgKmVlKTsKLXN0YXRpYyBpbnQgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmws
IGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmVjdGFuZ2xl
IGdlb21ldHJ5LCBjb25zdCBjaGFyICplbmdpbmUsIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZSwg
dW5zaWduZWQgY2hhciBpc0ZsYXR0ZW5pbmcsIHVuc2lnbmVkIGNoYXIgaXNGdWxsc2NyZWVuLCBj
b25zdCBjaGFyICpkYXRhYmFzZVBhdGgpOworc3RhdGljIGludCBicm93c2VyQ3JlYXRlKGNvbnN0
IGNoYXIgKnVybCwgRUxhdW5jaGVyX1NldHRpbmdzICpzZXR0aW5ncyk7CiAKIHN0YXRpYyBFTGF1
bmNoZXIgKgogZmluZF9hcHBfZnJvbV9lZShFY29yZV9FdmFzICplZSkKQEAgLTU2MCwxMCArNTY5
LDcgQEAgb25fa2V5X2Rvd24odm9pZCAqZGF0YSwgRXZhcyAqZSwgRXZhc19PYmplY3QgKm9iaiwg
dm9pZCAqZXZlbnRfaW5mbykKICAgICAgICAgICAgIGN1cnJlbnRab29tTGV2ZWwrKzsKICAgICB9
IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgIkY5IikpIHsKICAgICAgICAgaW5mbygiQ3JlYXRl
IG5ldyB3aW5kb3cgKEY5KSB3YXMgcHJlc3NlZC5cbiIpOwotICAgICAgICBFaW5hX1JlY3Rhbmds
ZSBnZW9tZXRyeSA9IHswLCAwLCAwLCAwfTsKLSAgICAgICAgYnJvd3NlckNyZWF0ZSgiaHR0cDov
L3d3dy5nb29nbGUuY29tIiwKLSAgICAgICAgICAgICAgICAgICAgICAgYXBwLT50aGVtZSwgYXBw
LT51c2VyQWdlbnQsIGdlb21ldHJ5LCBOVUxMLAotICAgICAgICAgICAgICAgICAgICAgICBhcHAt
PmJhY2tpbmdTdG9yZSwgYXBwLT5pc0ZsYXR0ZW5pbmcsIDAsIE5VTEwpOworICAgICAgICBicm93
c2VyQ3JlYXRlKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20iLCBhcHAtPnNldHRpbmdzKTsKICAgICB9
IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImciKSAmJiBjdHJsUHJlc3NlZCApIHsKICAgICAg
ICAgRXZhc19Db29yZCB4LCB5LCB3LCBoOwogICAgICAgICBFdmFzX09iamVjdCAqZnJhbWUgPSBl
d2tfdmlld19mcmFtZV9tYWluX2dldChvYmopOwpAQCAtNjU2LDggKzY2Miw5IEBAIHF1aXQoRWlu
YV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykKIH0KIAogc3RhdGljIGludAotYnJvd3Nl
ckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1
c2VyQWdlbnQsIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5LCBjb25zdCBjaGFyICplbmdpbmUsIGNv
bnN0IGNoYXIgKmJhY2tpbmdTdG9yZSwgdW5zaWduZWQgY2hhciBpc0ZsYXR0ZW5pbmcsIHVuc2ln
bmVkIGNoYXIgaXNGdWxsc2NyZWVuLCBjb25zdCBjaGFyICpkYXRhYmFzZVBhdGgpCiticm93c2Vy
Q3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgRUxhdW5jaGVyX1NldHRpbmdzICpzZXR0aW5ncykKIHsK
KyAgICBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSA9IHNldHRpbmdzLT5nZW9tZXRyeTsKICAgICBp
ZiAoKGdlb21ldHJ5LncgPD0gMCkgJiYgKGdlb21ldHJ5LmggPD0gMCkpIHsKICAgICAgICAgZ2Vv
bWV0cnkudyA9IERFRkFVTFRfV0lEVEg7CiAgICAgICAgIGdlb21ldHJ5LmggPSBERUZBVUxUX0hF
SUdIVDsKQEAgLTY2NywxMiArNjc0LDEyIEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJs
LCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAg
aWYgKCFhcHApCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQg
bm90IGNyZWF0ZSBFV2ViTGF1bmNoZXIgd2luZG93XG4iKTsKIAotICAgIGFwcC0+ZWUgPSBlY29y
ZV9ldmFzX25ldyhlbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOwor
ICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldyhzZXR0aW5ncy0+ZW5naW5lLCAwLCAwLCBnZW9t
ZXRyeS53LCBnZW9tZXRyeS5oLCBOVUxMKTsKIAogICAgIGlmICghYXBwLT5lZSkKICAgICAgICAg
cmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY29uc3RydWN0IGV2YXMt
ZWNvcmVcbiIpOwogCi0gICAgaWYgKGlzRnVsbHNjcmVlbikKKyAgICBpZiAoc2V0dGluZ3MtPmlz
RnVsbHNjcmVlbikKICAgICAgICAgZWNvcmVfZXZhc19mdWxsc2NyZWVuX3NldChhcHAtPmVlLCBF
SU5BX1RSVUUpOwogCiAgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBUZXN0
IExhdW5jaGVyIik7CkBAIC02ODQsMTEgKzY5MSw2IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hh
ciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1Jl
CiAgICAgaWYgKCFhcHAtPmV2YXMpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJF
UlJPUjogY291bGQgbm90IGdldCBldmFzIGZyb20gZXZhcy1lY29yZVxuIik7CiAKLSAgICBhcHAt
PnRoZW1lID0gdGhlbWU7Ci0gICAgYXBwLT51c2VyQWdlbnQgPSB1c2VyQWdlbnQ7Ci0gICAgYXBw
LT5iYWNraW5nU3RvcmUgPSBiYWNraW5nU3RvcmU7Ci0gICAgYXBwLT5pc0ZsYXR0ZW5pbmcgPSBp
c0ZsYXR0ZW5pbmc7Ci0KICAgICBhcHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChh
cHAtPmV2YXMpOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YmcsICJiZyIpOwogICAg
IGV2YXNfb2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDAsIDI1NSwgMjU1KTsKQEAgLTY5
Nyw3ICs2OTksNyBAQCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAq
dGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZQogICAgIGV2YXNfb2JqZWN0X2xh
eWVyX3NldChhcHAtPmJnLCBFVkFTX0xBWUVSX01JTik7CiAgICAgZXZhc19vYmplY3Rfc2hvdyhh
cHAtPmJnKTsKIAotICAgIGlmIChiYWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAoYmFja2luZ1N0
b3JlLCAidGlsZWQiKSkgeworICAgIGlmIChzZXR0aW5ncy0+YmFja2luZ1N0b3JlICYmICFzdHJj
YXNlY21wKHNldHRpbmdzLT5iYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CiAgICAgICAgIGFwcC0+
YnJvd3NlciA9IGV3a192aWV3X3RpbGVkX2FkZChhcHAtPmV2YXMpOwogICAgICAgICBpbmZvKCJi
YWNraW5nIHN0b3JlOiB0aWxlZFxuIik7CiAgICAgfSBlbHNlIHsKQEAgLTcwNSwxMiArNzA3LDEz
IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29u
c3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6
IHNpbmdsZVxuIik7CiAgICAgfQogCi0gICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3Nl
ciwgdGhlbWUpOwotICAgIGlmICh1c2VyQWdlbnQpCi0gICAgICAgIGV3a192aWV3X3NldHRpbmdf
dXNlcl9hZ2VudF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQWdlbnQpOwotICAgIGV3a192aWV3X3Nl
dHRpbmdfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIGRhdGFi
YXNlUGF0aCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19z
ZXQoYXBwLT5icm93c2VyLCBpc0ZsYXR0ZW5pbmcpOworICAgIGV3a192aWV3X3RoZW1lX3NldChh
cHAtPmJyb3dzZXIsIHRoZW1lUGF0aCk7CisgICAgaWYgKHNldHRpbmdzLT51c2VyQWdlbnQpCisg
ICAgICAgIGV3a192aWV3X3NldHRpbmdfdXNlcl9hZ2VudF9zZXQoYXBwLT5icm93c2VyLCBzZXR0
aW5ncy0+dXNlckFnZW50KTsKKyAgICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2VfZGF0
YWJhc2VfcGF0aF9zZXQoYXBwLT5icm93c2VyLCBzZXR0aW5ncy0+ZGF0YWJhc2VQYXRoKTsKKyAg
ICBld2tfdmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dz
ZXIsIHNldHRpbmdzLT5pc0ZsYXR0ZW5pbmcpOwogICAgIAorICAgIGFwcC0+c2V0dGluZ3MgPSBz
ZXR0aW5nczsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJyb3dzZXIsICJicm93c2Vy
Iik7CiAKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwLT5icm93c2VyLCAi
dGl0bGUsY2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIGFwcCk7CkBAIC04MTAsNDIgKzgxMyw0
MiBAQCBmaW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQogfQogCiBpbnQKLW1haW4oaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3BhcnNlQXBwbGljYXRpb25Bcmd1bWVudHMoaW50IGFyZ2Ms
IGNoYXIgKmFyZ3ZbXSwgRUxhdW5jaGVyX1NldHRpbmdzICpzZXR0aW5ncykKIHsKLSAgICBjb25z
dCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKLQotICAgIEVp
bmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9OwotICAgIGNoYXIgKnVzZXJBZ2Vu
dCA9IE5VTEw7Ci0gICAgY29uc3QgY2hhciAqdG1wOwotICAgIGNvbnN0IGNoYXIgKnByb3h5VXJp
OwotICAgIGNoYXIgcGF0aFtQQVRIX01BWF07Ci0KLSAgICBjaGFyICplbmdpbmUgPSBOVUxMOwot
ICAgIGNoYXIgKnRoZW1lID0gTlVMTDsKLSAgICBjaGFyICpiYWNraW5nU3RvcmUgPSAoY2hhciAq
KWJhY2tpbmdTdG9yZXNbMV07Ci0KLSAgICB1bnNpZ25lZCBjaGFyIHF1aXRPcHRpb24gPSAwOwot
ICAgIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nID0gMDsKLSAgICB1bnNpZ25lZCBjaGFyIGlz
RnVsbHNjcmVlbiA9IDA7CiAgICAgaW50IGFyZ3M7CiAKICAgICBFY29yZV9HZXRvcHRfVmFsdWUg
dmFsdWVzW10gPSB7Ci0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoZW5naW5lKSwKLSAg
ICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JF
X0dFVE9QVF9WQUxVRV9TVFIoYmFja2luZ1N0b3JlKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX0JPT0woaXNGbGF0dGVuaW5nKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wo
aXNGdWxsc2NyZWVuKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1BUUl9DQVNUKGdlb21l
dHJ5KSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih0aGVtZSksCi0gICAgICAgIEVD
T1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFnZW50KSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX1NUUihzZXR0aW5ncy0+ZW5naW5lKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0woc2V0dGluZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RS
KHNldHRpbmdzLT5iYWNraW5nU3RvcmUpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9P
TChzZXR0aW5ncy0+aXNGbGF0dGVuaW5nKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0woc2V0dGluZ3MtPmlzRnVsbHNjcmVlbiksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9Q
VFJfQ0FTVChzZXR0aW5ncy0+Z2VvbWV0cnkpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVf
U1RSKHNldHRpbmdzLT50aGVtZSksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoc2V0
dGluZ3MtPnVzZXJBZ2VudCksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9JTlQodmVyYm9z
ZSksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHF1aXRPcHRpb24pLAotICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKLSAgICAgICAgRUNPUkVfR0VU
T1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9C
T09MKHF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChzZXR0aW5n
cy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHNldHRpbmdz
LT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woc2V0dGluZ3Mt
PnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChzZXR0aW5ncy0+
cXVpdE9wdGlvbiksCiAgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9OT05FCiAgICAgfTsKIAor
ICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3QgY2hhcioqKSBhcmd2KTsKKyAgICBh
cmdzID0gZWNvcmVfZ2V0b3B0X3BhcnNlKCZvcHRpb25zLCB2YWx1ZXMsIGFyZ2MsIGFyZ3YpOwor
CisgICAgcmV0dXJuIGFyZ3M7Cit9CisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd
KQoreworICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRfdXJsID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNv
bS8iOworICAgIGNvbnN0IGNoYXIgKnRtcDsKKyAgICBjb25zdCBjaGFyICpwcm94eVVyaTsKKyAg
ICBjaGFyIHBhdGhbUEFUSF9NQVhdOworICAgIGludCBhcmdzOworCiAgICAgaWYgKCFlY29yZV9l
dmFzX2luaXQoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKIApAQCAtODYwLDE2ICs4
NjMsMjIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICByZXR1cm4gRVhJ
VF9GQUlMVVJFOwogICAgIH0KIAotICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3Qg
Y2hhcioqKSBhcmd2KTsKLSAgICBhcmdzID0gZWNvcmVfZ2V0b3B0X3BhcnNlKCZvcHRpb25zLCB2
YWx1ZXMsIGFyZ2MsIGFyZ3YpOworICAgIEVMYXVuY2hlcl9TZXR0aW5ncyAqc2V0dGluZ3M7Cisg
ICAgc2V0dGluZ3MgPSAoRUxhdW5jaGVyX1NldHRpbmdzICopbWFsbG9jKHNpemVvZihFTGF1bmNo
ZXJfU2V0dGluZ3MpKTsKKyAgICBpZiAoIXNldHRpbmdzKQorICAgICAgICByZXR1cm4gcXVpdChF
SU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5vdCBjcmVhdGUgc2V0dGluZ3NcbiIpOworICAgIG1l
bXNldChzZXR0aW5ncywgMCwgc2l6ZW9mKEVMYXVuY2hlcl9TZXR0aW5ncykpOwogCisgICAgYXJn
cyA9IHBhcnNlQXBwbGljYXRpb25Bcmd1bWVudHMoYXJnYywgYXJndiwgc2V0dGluZ3MpOwogICAg
IGlmIChhcmdzIDwgMCkKICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNv
dWxkIG5vdCBwYXJzZSBvcHRpb25zLlxuIik7CiAKLSAgICBpZiAocXVpdE9wdGlvbikKKyAgICBp
ZiAoc2V0dGluZ3MtPnF1aXRPcHRpb24pCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfVFJVRSwg
TlVMTCk7CiAKLSAgICB0aGVtZVBhdGggPSBmaW5kVGhlbWVQYXRoKHRoZW1lKTsKKyAgICBzZXR0
aW5ncy0+YmFja2luZ1N0b3JlID0gKGNoYXIgKiliYWNraW5nU3RvcmVzWzFdOworCisgICAgdGhl
bWVQYXRoID0gZmluZFRoZW1lUGF0aChzZXR0aW5ncy0+dGhlbWUpOwogICAgIGlmICghdGhlbWVQ
YXRoKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5vdCBm
aW5kIHRoZW1lLlxuIik7CiAKQEAgLTg4MSw2ICs4OTAsOCBAQCBtYWluKGludCBhcmdjLCBjaGFy
ICphcmd2W10pCiAgICAgaWYgKCFlY29yZV9maWxlX21rcGF0aChwYXRoKSkKICAgICAgICAgcmV0
dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIHNldHRpbmdzIGRh
dGFiYXNlIGRpcmVjdG9yeS5cbiIpOwogCisgICAgc2V0dGluZ3MtPmRhdGFiYXNlUGF0aCA9IHBh
dGg7CisKICAgICBld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9wYXRoX3NldChwYXRoKTsKICAg
ICBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KHBhdGgpOwogCkBAIC04OTAsMTAg
KzkwMSwxMCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAgICBpZiAoYXJncyA8
IGFyZ2MpIHsKICAgICAgICAgY2hhciAqdXJsID0gdXJsX2Zyb21fdXNlcl9pbnB1dChhcmd2W2Fy
Z3NdKTsKLSAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsIHRoZW1lUGF0aCwgdXNlckFnZW50LCBn
ZW9tZXRyeSwgZW5naW5lLCBiYWNraW5nU3RvcmUsIGlzRmxhdHRlbmluZywgaXNGdWxsc2NyZWVu
LCBwYXRoKTsKKyAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsIHNldHRpbmdzKTsKICAgICAgICAg
ZnJlZSh1cmwpOwogICAgIH0gZWxzZQotICAgICAgICBicm93c2VyQ3JlYXRlKGRlZmF1bHRfdXJs
LCB0aGVtZVBhdGgsIHVzZXJBZ2VudCwgZ2VvbWV0cnksIGVuZ2luZSwgYmFja2luZ1N0b3JlLCBp
c0ZsYXR0ZW5pbmcsIGlzRnVsbHNjcmVlbiwgcGF0aCk7CisgICAgICAgIGJyb3dzZXJDcmVhdGUo
ZGVmYXVsdF91cmwsIHNldHRpbmdzKTsKIAogICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVD
T1JFX0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAmd2luZG93cyk7CiAKQEAg
LTkwMSw1ICs5MTIsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAgICBld2tf
c2h1dGRvd24oKTsKIAorICAgIGZyZWUoc2V0dGluZ3MpOworCiAgICAgcmV0dXJuIHF1aXQoRUlO
QV9UUlVFLCBOVUxMKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163849</attachid>
            <date>2012-09-13 05:46:10 -0700</date>
            <delta_ts>2012-09-13 06:10:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120913214543.patch</filename>
            <type>text/plain</type>
            <size>10255</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uNzk2OTRiZmYzNTE1YjBlOTRkZTlhOWE4YzQxYTc5NDFiZTU4MDA5ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA5LTEzICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzIGZyb20gY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAgICBBbmQg
SSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVycyBpbnRvIFVzZXJfQXJndW1lbnRzLgorCisgICAg
ICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAgICAgKF9Vc2VyX0FyZ3VtZW50cyk6Cisg
ICAgICAgIChfRUxhdW5jaGVyKToKKyAgICAgICAgKG9uX2tleV9kb3duKToKKyAgICAgICAgKGJy
b3dzZXJDcmVhdGUpOgorICAgICAgICAocGFyc2VVc2VyQXJndW1lbnRzKToKKyAgICAgICAgKG1h
aW4pOgorCiAyMDEyLTA5LTExICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gcmVuYW1lIHdlYmtpdF9yZXNvdXJjZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMgYi9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCmlu
ZGV4IDgxNmUwZjJkNGUyNDgxNTcyMjEyNjgyYWRjNDMzZmM5ZTk3Y2Q2MzMuLmM3OTMxMDJjYjIy
ZTA1ZTJiZWQ5ZjFiZDM2MjdlYTVkZDAwZDgwMjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0VXZWJMYXVu
Y2hlci9tYWluLmMKKysrIGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwpAQCAtMTQwLDIxICsx
NDAsMzAgQEAgc3RhdGljIGNvbnN0IEVjb3JlX0dldG9wdCBvcHRpb25zID0gewogICAgIH0KIH07
CiAKK3R5cGVkZWYgc3RydWN0IF9Vc2VyX0FyZ3VtZW50cyB7CisgICAgY29uc3QgY2hhciAqZW5n
aW5lOworICAgIEVpbmFfQm9vbCBxdWl0T3B0aW9uOworICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdT
dG9yZTsKKyAgICBFaW5hX0Jvb2wgaXNGbGF0dGVuaW5nOworICAgIEVpbmFfQm9vbCBpc0Z1bGxz
Y3JlZW47CisgICAgRWluYV9SZWN0YW5nbGUgZ2VvbWV0cnk7CisgICAgY29uc3QgY2hhciAqdGhl
bWU7CisgICAgY29uc3QgY2hhciAqdXNlckFnZW50OworICAgIGNvbnN0IGNoYXIgKmRhdGFiYXNl
UGF0aDsKK30gVXNlcl9Bcmd1bWVudHM7CisKIHR5cGVkZWYgc3RydWN0IF9FTGF1bmNoZXIgewog
ICAgIEVjb3JlX0V2YXMgKmVlOwogICAgIEV2YXMgKmV2YXM7CiAgICAgRXZhc19PYmplY3QgKmJn
OwogICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOwogICAgIFVybF9CYXIgKnVybF9iYXI7Ci0gICAg
Y29uc3QgY2hhciAqdGhlbWU7Ci0gICAgY29uc3QgY2hhciAqdXNlckFnZW50OwotICAgIGNvbnN0
IGNoYXIgKmJhY2tpbmdTdG9yZTsKLSAgICB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZzsKKyAg
ICBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3M7CiB9IEVMYXVuY2hlcjsKIAogc3RhdGljIHZvaWQg
YnJvd3NlckRlc3Ryb3koRWNvcmVfRXZhcyAqZWUpOwogc3RhdGljIHZvaWQgY2xvc2VXaW5kb3co
RWNvcmVfRXZhcyAqZWUpOwotc3RhdGljIGludCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVy
bCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZWN0YW5n
bGUgZ2VvbWV0cnksIGNvbnN0IGNoYXIgKmVuZ2luZSwgY29uc3QgY2hhciAqYmFja2luZ1N0b3Jl
LCB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZywgdW5zaWduZWQgY2hhciBpc0Z1bGxzY3JlZW4s
IGNvbnN0IGNoYXIgKmRhdGFiYXNlUGF0aCk7CitzdGF0aWMgaW50IGJyb3dzZXJDcmVhdGUoY29u
c3QgY2hhciAqdXJsLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3MpOwogCiBzdGF0aWMgRUxhdW5j
aGVyICoKIGZpbmRfYXBwX2Zyb21fZWUoRWNvcmVfRXZhcyAqZWUpCkBAIC01NjAsMTAgKzU2OSw3
IEBAIG9uX2tleV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZv
aWQgKmV2ZW50X2luZm8pCiAgICAgICAgICAgICBjdXJyZW50Wm9vbUxldmVsKys7CiAgICAgfSBl
bHNlIGlmICghc3RyY21wKGV2LT5rZXksICJGOSIpKSB7CiAgICAgICAgIGluZm8oIkNyZWF0ZSBu
ZXcgd2luZG93IChGOSkgd2FzIHByZXNzZWQuXG4iKTsKLSAgICAgICAgRWluYV9SZWN0YW5nbGUg
Z2VvbWV0cnkgPSB7MCwgMCwgMCwgMH07Ci0gICAgICAgIGJyb3dzZXJDcmVhdGUoImh0dHA6Ly93
d3cuZ29vZ2xlLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICAgIGFwcC0+dGhlbWUsIGFwcC0+
dXNlckFnZW50LCBnZW9tZXRyeSwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgYXBwLT5i
YWNraW5nU3RvcmUsIGFwcC0+aXNGbGF0dGVuaW5nLCAwLCBOVUxMKTsKKyAgICAgICAgYnJvd3Nl
ckNyZWF0ZSgiaHR0cDovL3d3dy5nb29nbGUuY29tIiwgYXBwLT51c2VyQXJncyk7CiAgICAgfSBl
bHNlIGlmICghc3RyY21wKGV2LT5rZXksICJnIikgJiYgY3RybFByZXNzZWQgKSB7CiAgICAgICAg
IEV2YXNfQ29vcmQgeCwgeSwgdywgaDsKICAgICAgICAgRXZhc19PYmplY3QgKmZyYW1lID0gZXdr
X3ZpZXdfZnJhbWVfbWFpbl9nZXQob2JqKTsKQEAgLTY1Niw4ICs2NjIsOSBAQCBxdWl0KEVpbmFf
Qm9vbCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiB9CiAKIHN0YXRpYyBpbnQKLWJyb3dzZXJD
cmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNl
ckFnZW50LCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSwgY29uc3QgY2hhciAqZW5naW5lLCBjb25z
dCBjaGFyICpiYWNraW5nU3RvcmUsIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nLCB1bnNpZ25l
ZCBjaGFyIGlzRnVsbHNjcmVlbiwgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoKQorYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwsIFVzZXJfQXJndW1lbnRzICp1c2VyQXJncykKIHsKKyAgICBF
aW5hX1JlY3RhbmdsZSBnZW9tZXRyeSA9IHVzZXJBcmdzLT5nZW9tZXRyeTsKICAgICBpZiAoKGdl
b21ldHJ5LncgPD0gMCkgJiYgKGdlb21ldHJ5LmggPD0gMCkpIHsKICAgICAgICAgZ2VvbWV0cnku
dyA9IERFRkFVTFRfV0lEVEg7CiAgICAgICAgIGdlb21ldHJ5LmggPSBERUZBVUxUX0hFSUdIVDsK
QEAgLTY2NywxMiArNjc0LDEyIEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25z
dCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAgaWYgKCFh
cHApCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQgbm90IGNy
ZWF0ZSBFV2ViTGF1bmNoZXIgd2luZG93XG4iKTsKIAotICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFz
X25ldyhlbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOworICAgIGFw
cC0+ZWUgPSBlY29yZV9ldmFzX25ldyh1c2VyQXJncy0+ZW5naW5lLCAwLCAwLCBnZW9tZXRyeS53
LCBnZW9tZXRyeS5oLCBOVUxMKTsKIAogICAgIGlmICghYXBwLT5lZSkKICAgICAgICAgcmV0dXJu
IHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY29uc3RydWN0IGV2YXMtZWNvcmVc
biIpOwogCi0gICAgaWYgKGlzRnVsbHNjcmVlbikKKyAgICBpZiAodXNlckFyZ3MtPmlzRnVsbHNj
cmVlbikKICAgICAgICAgZWNvcmVfZXZhc19mdWxsc2NyZWVuX3NldChhcHAtPmVlLCBFSU5BX1RS
VUUpOwogCiAgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBUZXN0IExhdW5j
aGVyIik7CkBAIC02ODQsMTEgKzY5MSw2IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJs
LCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAg
aWYgKCFhcHAtPmV2YXMpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjog
Y291bGQgbm90IGdldCBldmFzIGZyb20gZXZhcy1lY29yZVxuIik7CiAKLSAgICBhcHAtPnRoZW1l
ID0gdGhlbWU7Ci0gICAgYXBwLT51c2VyQWdlbnQgPSB1c2VyQWdlbnQ7Ci0gICAgYXBwLT5iYWNr
aW5nU3RvcmUgPSBiYWNraW5nU3RvcmU7Ci0gICAgYXBwLT5pc0ZsYXR0ZW5pbmcgPSBpc0ZsYXR0
ZW5pbmc7Ci0KICAgICBhcHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2
YXMpOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YmcsICJiZyIpOwogICAgIGV2YXNf
b2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDAsIDI1NSwgMjU1KTsKQEAgLTY5Nyw3ICs2
OTksNyBAQCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUs
IGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZQogICAgIGV2YXNfb2JqZWN0X2xheWVyX3Nl
dChhcHAtPmJnLCBFVkFTX0xBWUVSX01JTik7CiAgICAgZXZhc19vYmplY3Rfc2hvdyhhcHAtPmJn
KTsKIAotICAgIGlmIChiYWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAoYmFja2luZ1N0b3JlLCAi
dGlsZWQiKSkgeworICAgIGlmICh1c2VyQXJncy0+YmFja2luZ1N0b3JlICYmICFzdHJjYXNlY21w
KHVzZXJBcmdzLT5iYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CiAgICAgICAgIGFwcC0+YnJvd3Nl
ciA9IGV3a192aWV3X3RpbGVkX2FkZChhcHAtPmV2YXMpOwogICAgICAgICBpbmZvKCJiYWNraW5n
IHN0b3JlOiB0aWxlZFxuIik7CiAgICAgfSBlbHNlIHsKQEAgLTcwNSwxMiArNzA3LDEzIEBAIGJy
b3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hh
ciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6IHNpbmds
ZVxuIik7CiAgICAgfQogCi0gICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhl
bWUpOwotICAgIGlmICh1c2VyQWdlbnQpCi0gICAgICAgIGV3a192aWV3X3NldHRpbmdfdXNlcl9h
Z2VudF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQWdlbnQpOwotICAgIGV3a192aWV3X3NldHRpbmdf
bG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIGRhdGFiYXNlUGF0
aCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoYXBw
LT5icm93c2VyLCBpc0ZsYXR0ZW5pbmcpOworICAgIGV3a192aWV3X3RoZW1lX3NldChhcHAtPmJy
b3dzZXIsIHRoZW1lUGF0aCk7CisgICAgaWYgKHVzZXJBcmdzLT51c2VyQWdlbnQpCisgICAgICAg
IGV3a192aWV3X3NldHRpbmdfdXNlcl9hZ2VudF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQXJncy0+
dXNlckFnZW50KTsKKyAgICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2VfZGF0YWJhc2Vf
cGF0aF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQXJncy0+ZGF0YWJhc2VQYXRoKTsKKyAgICBld2tf
dmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dzZXIsIHVz
ZXJBcmdzLT5pc0ZsYXR0ZW5pbmcpOwogICAgIAorICAgIGFwcC0+dXNlckFyZ3MgPSB1c2VyQXJn
czsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJyb3dzZXIsICJicm93c2VyIik7CiAK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwLT5icm93c2VyLCAidGl0bGUs
Y2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIGFwcCk7CkBAIC04MTAsNDEgKzgxMyw1MSBAQCBm
aW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQogfQogCiBpbnQKK3BhcnNlVXNlckFyZ3Vt
ZW50cyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3MpCit7
CisgICAgaW50IGFyZ3M7CisKKyAgICB1c2VyQXJncy0+YmFja2luZ1N0b3JlID0gKGNoYXIgKili
YWNraW5nU3RvcmVzWzFdOworCisgICAgRWNvcmVfR2V0b3B0X1ZhbHVlIHZhbHVlc1tdID0gewor
ICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT5lbmdpbmUpLAorICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPmJhY2tpbmdTdG9yZSksCisgICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5pc0ZsYXR0ZW5pbmcpLAorICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKSwKKyAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1BUUl9DQVNUKHVzZXJBcmdzLT5nZW9tZXRyeSksCisgICAg
ICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPnRoZW1lKSwKKyAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dXNlckFnZW50KSwKKyAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9P
TCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09M
KHVzZXJBcmdzLT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wo
dXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfTk9ORQor
ICAgIH07CisKKyAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIqKikgYXJn
dik7CisgICAgYXJncyA9IGVjb3JlX2dldG9wdF9wYXJzZSgmb3B0aW9ucywgdmFsdWVzLCBhcmdj
LCBhcmd2KTsKKworICAgIHRoZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgodXNlckFyZ3MtPnRoZW1l
KTsKKworICAgIHJldHVybiBhcmdzOworfQorCitpbnQKIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSkKIHsKICAgICBjb25zdCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2ds
ZS5jb20vIjsKLQotICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9Owot
ICAgIGNoYXIgKnVzZXJBZ2VudCA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqdG1wOwogICAgIGNv
bnN0IGNoYXIgKnByb3h5VXJpOwogICAgIGNoYXIgcGF0aFtQQVRIX01BWF07Ci0KLSAgICBjaGFy
ICplbmdpbmUgPSBOVUxMOwotICAgIGNoYXIgKnRoZW1lID0gTlVMTDsKLSAgICBjaGFyICpiYWNr
aW5nU3RvcmUgPSAoY2hhciAqKWJhY2tpbmdTdG9yZXNbMV07Ci0KLSAgICB1bnNpZ25lZCBjaGFy
IHF1aXRPcHRpb24gPSAwOwotICAgIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nID0gMDsKLSAg
ICB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbiA9IDA7CiAgICAgaW50IGFyZ3M7CiAKLSAgICBF
Y29yZV9HZXRvcHRfVmFsdWUgdmFsdWVzW10gPSB7Ci0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxV
RV9TVFIoZW5naW5lKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlv
biksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoYmFja2luZ1N0b3JlKSwKLSAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woaXNGbGF0dGVuaW5nKSwKLSAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0JPT0woaXNGdWxsc2NyZWVuKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX1BUUl9DQVNUKGdlb21ldHJ5KSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih0
aGVtZSksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFnZW50KSwKLSAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKLSAgICAgICAgRUNPUkVfR0VUT1BU
X1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09M
KHF1aXRPcHRpb24pLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9u
KSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9OT05FCi0gICAgfTsKKyAgICBVc2VyX0FyZ3VtZW50cyAqdXNl
ckFyZ3M7CisgICAgdXNlckFyZ3MgPSAoVXNlcl9Bcmd1bWVudHMgKiltYWxsb2Moc2l6ZW9mKFVz
ZXJfQXJndW1lbnRzKSk7CisgICAgaWYgKCF1c2VyQXJncykKKyAgICAgICAgcmV0dXJuIHF1aXQo
RUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIHNldHRpbmdzXG4iKTsKKyAgICBt
ZW1zZXQodXNlckFyZ3MsIDAsIHNpemVvZihVc2VyX0FyZ3VtZW50cykpOwogCiAgICAgaWYgKCFl
Y29yZV9ldmFzX2luaXQoKSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKQEAgLTg2MCwx
NiArODczLDEzIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgcmV0dXJu
IEVYSVRfRkFJTFVSRTsKICAgICB9CiAKLSAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNv
bnN0IGNoYXIqKikgYXJndik7Ci0gICAgYXJncyA9IGVjb3JlX2dldG9wdF9wYXJzZSgmb3B0aW9u
cywgdmFsdWVzLCBhcmdjLCBhcmd2KTsKLQorICAgIGFyZ3MgPSBwYXJzZVVzZXJBcmd1bWVudHMo
YXJnYywgYXJndiwgdXNlckFyZ3MpOwogICAgIGlmIChhcmdzIDwgMCkKICAgICAgICByZXR1cm4g
cXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5vdCBwYXJzZSBvcHRpb25zLlxuIik7CiAK
LSAgICBpZiAocXVpdE9wdGlvbikKKyAgICBpZiAodXNlckFyZ3MtPnF1aXRPcHRpb24pCiAgICAg
ICAgIHJldHVybiBxdWl0KEVJTkFfVFJVRSwgTlVMTCk7CiAKLSAgICB0aGVtZVBhdGggPSBmaW5k
VGhlbWVQYXRoKHRoZW1lKTsKICAgICBpZiAoIXRoZW1lUGF0aCkKICAgICAgICAgcmV0dXJuIHF1
aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgZmluZCB0aGVtZS5cbiIpOwogCkBAIC04
ODEsNiArODkxLDggQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGlmICghZWNv
cmVfZmlsZV9ta3BhdGgocGF0aCkpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJF
UlJPUjogY291bGQgbm90IGNyZWF0ZSBzZXR0aW5ncyBkYXRhYmFzZSBkaXJlY3RvcnkuXG4iKTsK
IAorICAgIHVzZXJBcmdzLT5kYXRhYmFzZVBhdGggPSBwYXRoOworCiAgICAgZXdrX3NldHRpbmdz
X2ljb25fZGF0YWJhc2VfcGF0aF9zZXQocGF0aCk7CiAgICAgZXdrX3NldHRpbmdzX3dlYl9kYXRh
YmFzZV9wYXRoX3NldChwYXRoKTsKIApAQCAtODkwLDEwICs5MDIsMTAgQEAgbWFpbihpbnQgYXJn
YywgY2hhciAqYXJndltdKQogCiAgICAgaWYgKGFyZ3MgPCBhcmdjKSB7CiAgICAgICAgIGNoYXIg
KnVybCA9IHVybF9mcm9tX3VzZXJfaW5wdXQoYXJndlthcmdzXSk7Ci0gICAgICAgIGJyb3dzZXJD
cmVhdGUodXJsLCB0aGVtZVBhdGgsIHVzZXJBZ2VudCwgZ2VvbWV0cnksIGVuZ2luZSwgYmFja2lu
Z1N0b3JlLCBpc0ZsYXR0ZW5pbmcsIGlzRnVsbHNjcmVlbiwgcGF0aCk7CisgICAgICAgIGJyb3dz
ZXJDcmVhdGUodXJsLCB1c2VyQXJncyk7CiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9IGVsc2UK
LSAgICAgICAgYnJvd3NlckNyZWF0ZShkZWZhdWx0X3VybCwgdGhlbWVQYXRoLCB1c2VyQWdlbnQs
IGdlb21ldHJ5LCBlbmdpbmUsIGJhY2tpbmdTdG9yZSwgaXNGbGF0dGVuaW5nLCBpc0Z1bGxzY3Jl
ZW4sIHBhdGgpOworICAgICAgICBicm93c2VyQ3JlYXRlKGRlZmF1bHRfdXJsLCB1c2VyQXJncyk7
CiAKICAgICBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwg
bWFpbl9zaWduYWxfZXhpdCwgJndpbmRvd3MpOwogCkBAIC05MDEsNSArOTEzLDcgQEAgbWFpbihp
bnQgYXJnYywgY2hhciAqYXJndltdKQogCiAgICAgZXdrX3NodXRkb3duKCk7CiAKKyAgICBmcmVl
KHVzZXJBcmdzKTsKKwogICAgIHJldHVybiBxdWl0KEVJTkFfVFJVRSwgTlVMTCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163852</attachid>
            <date>2012-09-13 06:10:30 -0700</date>
            <delta_ts>2012-09-13 07:48:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120913221004.patch</filename>
            <type>text/plain</type>
            <size>9919</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uNzk2OTRiZmYzNTE1YjBlOTRkZTlhOWE4YzQxYTc5NDFiZTU4MDA5ZiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA5LTEzICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzIGZyb20gY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAgICBBbmQg
SSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVycyBpbnRvIFVzZXJfQXJndW1lbnRzLgorCisgICAg
ICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAgICAgKF9Vc2VyX0FyZ3VtZW50cyk6Cisg
ICAgICAgIChfRUxhdW5jaGVyKToKKyAgICAgICAgKG9uX2tleV9kb3duKToKKyAgICAgICAgKGJy
b3dzZXJDcmVhdGUpOgorICAgICAgICAocGFyc2VVc2VyQXJndW1lbnRzKToKKyAgICAgICAgKG1h
aW4pOgorCiAyMDEyLTA5LTExICBEaXJrIFByYW5rZSAgPGRwcmFua2VAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gcmVuYW1lIHdlYmtpdF9yZXNvdXJjZXMKZGlmZiAtLWdpdCBh
L1Rvb2xzL0VXZWJMYXVuY2hlci9tYWluLmMgYi9Ub29scy9FV2ViTGF1bmNoZXIvbWFpbi5jCmlu
ZGV4IDgxNmUwZjJkNGUyNDgxNTcyMjEyNjgyYWRjNDMzZmM5ZTk3Y2Q2MzMuLjdkYzI5YmM0Yjgw
MWUwOWY0YjYzNTU1MTdlOGFlNmNjODNmMzE1NGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0VXZWJMYXVu
Y2hlci9tYWluLmMKKysrIGIvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYwpAQCAtMTQwLDIxICsx
NDAsMzAgQEAgc3RhdGljIGNvbnN0IEVjb3JlX0dldG9wdCBvcHRpb25zID0gewogICAgIH0KIH07
CiAKK3R5cGVkZWYgc3RydWN0IF9Vc2VyX0FyZ3VtZW50cyB7CisgICAgY29uc3QgY2hhciAqZW5n
aW5lOworICAgIEVpbmFfQm9vbCBxdWl0T3B0aW9uOworICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdT
dG9yZTsKKyAgICBFaW5hX0Jvb2wgaXNGbGF0dGVuaW5nOworICAgIEVpbmFfQm9vbCBpc0Z1bGxz
Y3JlZW47CisgICAgRWluYV9SZWN0YW5nbGUgZ2VvbWV0cnk7CisgICAgY29uc3QgY2hhciAqdGhl
bWU7CisgICAgY29uc3QgY2hhciAqdXNlckFnZW50OworICAgIGNvbnN0IGNoYXIgKmRhdGFiYXNl
UGF0aDsKK30gVXNlcl9Bcmd1bWVudHM7CisKIHR5cGVkZWYgc3RydWN0IF9FTGF1bmNoZXIgewog
ICAgIEVjb3JlX0V2YXMgKmVlOwogICAgIEV2YXMgKmV2YXM7CiAgICAgRXZhc19PYmplY3QgKmJn
OwogICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOwogICAgIFVybF9CYXIgKnVybF9iYXI7Ci0gICAg
Y29uc3QgY2hhciAqdGhlbWU7Ci0gICAgY29uc3QgY2hhciAqdXNlckFnZW50OwotICAgIGNvbnN0
IGNoYXIgKmJhY2tpbmdTdG9yZTsKLSAgICB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZzsKKyAg
ICBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3M7CiB9IEVMYXVuY2hlcjsKIAogc3RhdGljIHZvaWQg
YnJvd3NlckRlc3Ryb3koRWNvcmVfRXZhcyAqZWUpOwogc3RhdGljIHZvaWQgY2xvc2VXaW5kb3co
RWNvcmVfRXZhcyAqZWUpOwotc3RhdGljIGludCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVy
bCwgY29uc3QgY2hhciAqdGhlbWUsIGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZWN0YW5n
bGUgZ2VvbWV0cnksIGNvbnN0IGNoYXIgKmVuZ2luZSwgY29uc3QgY2hhciAqYmFja2luZ1N0b3Jl
LCB1bnNpZ25lZCBjaGFyIGlzRmxhdHRlbmluZywgdW5zaWduZWQgY2hhciBpc0Z1bGxzY3JlZW4s
IGNvbnN0IGNoYXIgKmRhdGFiYXNlUGF0aCk7CitzdGF0aWMgaW50IGJyb3dzZXJDcmVhdGUoY29u
c3QgY2hhciAqdXJsLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3MpOwogCiBzdGF0aWMgRUxhdW5j
aGVyICoKIGZpbmRfYXBwX2Zyb21fZWUoRWNvcmVfRXZhcyAqZWUpCkBAIC01NjAsMTAgKzU2OSw3
IEBAIG9uX2tleV9kb3duKHZvaWQgKmRhdGEsIEV2YXMgKmUsIEV2YXNfT2JqZWN0ICpvYmosIHZv
aWQgKmV2ZW50X2luZm8pCiAgICAgICAgICAgICBjdXJyZW50Wm9vbUxldmVsKys7CiAgICAgfSBl
bHNlIGlmICghc3RyY21wKGV2LT5rZXksICJGOSIpKSB7CiAgICAgICAgIGluZm8oIkNyZWF0ZSBu
ZXcgd2luZG93IChGOSkgd2FzIHByZXNzZWQuXG4iKTsKLSAgICAgICAgRWluYV9SZWN0YW5nbGUg
Z2VvbWV0cnkgPSB7MCwgMCwgMCwgMH07Ci0gICAgICAgIGJyb3dzZXJDcmVhdGUoImh0dHA6Ly93
d3cuZ29vZ2xlLmNvbSIsCi0gICAgICAgICAgICAgICAgICAgICAgIGFwcC0+dGhlbWUsIGFwcC0+
dXNlckFnZW50LCBnZW9tZXRyeSwgTlVMTCwKLSAgICAgICAgICAgICAgICAgICAgICAgYXBwLT5i
YWNraW5nU3RvcmUsIGFwcC0+aXNGbGF0dGVuaW5nLCAwLCBOVUxMKTsKKyAgICAgICAgYnJvd3Nl
ckNyZWF0ZSgiaHR0cDovL3d3dy5nb29nbGUuY29tIiwgYXBwLT51c2VyQXJncyk7CiAgICAgfSBl
bHNlIGlmICghc3RyY21wKGV2LT5rZXksICJnIikgJiYgY3RybFByZXNzZWQgKSB7CiAgICAgICAg
IEV2YXNfQ29vcmQgeCwgeSwgdywgaDsKICAgICAgICAgRXZhc19PYmplY3QgKmZyYW1lID0gZXdr
X3ZpZXdfZnJhbWVfbWFpbl9nZXQob2JqKTsKQEAgLTY1Niw4ICs2NjIsOSBAQCBxdWl0KEVpbmFf
Qm9vbCBzdWNjZXNzLCBjb25zdCBjaGFyICptc2cpCiB9CiAKIHN0YXRpYyBpbnQKLWJyb3dzZXJD
cmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNl
ckFnZW50LCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSwgY29uc3QgY2hhciAqZW5naW5lLCBjb25z
dCBjaGFyICpiYWNraW5nU3RvcmUsIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nLCB1bnNpZ25l
ZCBjaGFyIGlzRnVsbHNjcmVlbiwgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoKQorYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwsIFVzZXJfQXJndW1lbnRzICp1c2VyQXJncykKIHsKKyAgICBF
aW5hX1JlY3RhbmdsZSBnZW9tZXRyeSA9IHVzZXJBcmdzLT5nZW9tZXRyeTsKICAgICBpZiAoKGdl
b21ldHJ5LncgPD0gMCkgJiYgKGdlb21ldHJ5LmggPD0gMCkpIHsKICAgICAgICAgZ2VvbWV0cnku
dyA9IERFRkFVTFRfV0lEVEg7CiAgICAgICAgIGdlb21ldHJ5LmggPSBERUZBVUxUX0hFSUdIVDsK
QEAgLTY2NywxMiArNjc0LDEyIEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25z
dCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAgaWYgKCFh
cHApCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQgbm90IGNy
ZWF0ZSBFV2ViTGF1bmNoZXIgd2luZG93XG4iKTsKIAotICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFz
X25ldyhlbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOworICAgIGFw
cC0+ZWUgPSBlY29yZV9ldmFzX25ldyh1c2VyQXJncy0+ZW5naW5lLCAwLCAwLCBnZW9tZXRyeS53
LCBnZW9tZXRyeS5oLCBOVUxMKTsKIAogICAgIGlmICghYXBwLT5lZSkKICAgICAgICAgcmV0dXJu
IHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY29uc3RydWN0IGV2YXMtZWNvcmVc
biIpOwogCi0gICAgaWYgKGlzRnVsbHNjcmVlbikKKyAgICBpZiAodXNlckFyZ3MtPmlzRnVsbHNj
cmVlbikKICAgICAgICAgZWNvcmVfZXZhc19mdWxsc2NyZWVuX3NldChhcHAtPmVlLCBFSU5BX1RS
VUUpOwogCiAgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBUZXN0IExhdW5j
aGVyIik7CkBAIC02ODQsMTEgKzY5MSw2IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJs
LCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAg
aWYgKCFhcHAtPmV2YXMpCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjog
Y291bGQgbm90IGdldCBldmFzIGZyb20gZXZhcy1lY29yZVxuIik7CiAKLSAgICBhcHAtPnRoZW1l
ID0gdGhlbWU7Ci0gICAgYXBwLT51c2VyQWdlbnQgPSB1c2VyQWdlbnQ7Ci0gICAgYXBwLT5iYWNr
aW5nU3RvcmUgPSBiYWNraW5nU3RvcmU7Ci0gICAgYXBwLT5pc0ZsYXR0ZW5pbmcgPSBpc0ZsYXR0
ZW5pbmc7Ci0KICAgICBhcHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2
YXMpOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YmcsICJiZyIpOwogICAgIGV2YXNf
b2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDAsIDI1NSwgMjU1KTsKQEAgLTY5Nyw3ICs2
OTksNyBAQCBicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgY29uc3QgY2hhciAqdGhlbWUs
IGNvbnN0IGNoYXIgKnVzZXJBZ2VudCwgRWluYV9SZQogICAgIGV2YXNfb2JqZWN0X2xheWVyX3Nl
dChhcHAtPmJnLCBFVkFTX0xBWUVSX01JTik7CiAgICAgZXZhc19vYmplY3Rfc2hvdyhhcHAtPmJn
KTsKIAotICAgIGlmIChiYWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAoYmFja2luZ1N0b3JlLCAi
dGlsZWQiKSkgeworICAgIGlmICh1c2VyQXJncy0+YmFja2luZ1N0b3JlICYmICFzdHJjYXNlY21w
KHVzZXJBcmdzLT5iYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CiAgICAgICAgIGFwcC0+YnJvd3Nl
ciA9IGV3a192aWV3X3RpbGVkX2FkZChhcHAtPmV2YXMpOwogICAgICAgICBpbmZvKCJiYWNraW5n
IHN0b3JlOiB0aWxlZFxuIik7CiAgICAgfSBlbHNlIHsKQEAgLTcwNSwxMiArNzA3LDEzIEBAIGJy
b3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hh
ciAqdXNlckFnZW50LCBFaW5hX1JlCiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6IHNpbmds
ZVxuIik7CiAgICAgfQogCi0gICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhl
bWUpOwotICAgIGlmICh1c2VyQWdlbnQpCi0gICAgICAgIGV3a192aWV3X3NldHRpbmdfdXNlcl9h
Z2VudF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQWdlbnQpOwotICAgIGV3a192aWV3X3NldHRpbmdf
bG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIGRhdGFiYXNlUGF0
aCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19lbmFibGVfZnJhbWVfZmxhdHRlbmluZ19zZXQoYXBw
LT5icm93c2VyLCBpc0ZsYXR0ZW5pbmcpOworICAgIGV3a192aWV3X3RoZW1lX3NldChhcHAtPmJy
b3dzZXIsIHRoZW1lUGF0aCk7CisgICAgaWYgKHVzZXJBcmdzLT51c2VyQWdlbnQpCisgICAgICAg
IGV3a192aWV3X3NldHRpbmdfdXNlcl9hZ2VudF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQXJncy0+
dXNlckFnZW50KTsKKyAgICBld2tfdmlld19zZXR0aW5nX2xvY2FsX3N0b3JhZ2VfZGF0YWJhc2Vf
cGF0aF9zZXQoYXBwLT5icm93c2VyLCB1c2VyQXJncy0+ZGF0YWJhc2VQYXRoKTsKKyAgICBld2tf
dmlld19zZXR0aW5nX2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dzZXIsIHVz
ZXJBcmdzLT5pc0ZsYXR0ZW5pbmcpOwogICAgIAorICAgIGFwcC0+dXNlckFyZ3MgPSB1c2VyQXJn
czsKICAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAtPmJyb3dzZXIsICJicm93c2VyIik7CiAK
ICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoYXBwLT5icm93c2VyLCAidGl0bGUs
Y2hhbmdlZCIsIG9uX3RpdGxlX2NoYW5nZWQsIGFwcCk7CkBAIC04MTAsNDEgKzgxMyw0NyBAQCBm
aW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQogfQogCiBpbnQKK3BhcnNlVXNlckFyZ3Vt
ZW50cyhpbnQgYXJnYywgY2hhciAqYXJndltdLCBVc2VyX0FyZ3VtZW50cyAqdXNlckFyZ3MpCit7
CisgICAgaW50IGFyZ3M7CisKKyAgICB1c2VyQXJncy0+YmFja2luZ1N0b3JlID0gKGNoYXIgKili
YWNraW5nU3RvcmVzWzFdOworCisgICAgRWNvcmVfR2V0b3B0X1ZhbHVlIHZhbHVlc1tdID0gewor
ICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT5lbmdpbmUpLAorICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPmJhY2tpbmdTdG9yZSksCisgICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5pc0ZsYXR0ZW5pbmcpLAorICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKSwKKyAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1BUUl9DQVNUKHVzZXJBcmdzLT5nZW9tZXRyeSksCisgICAg
ICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPnRoZW1lKSwKKyAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dXNlckFnZW50KSwKKyAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JP
T0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9P
TCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09M
KHVzZXJBcmdzLT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wo
dXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfTk9ORQor
ICAgIH07CisKKyAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIqKikgYXJn
dik7CisgICAgYXJncyA9IGVjb3JlX2dldG9wdF9wYXJzZSgmb3B0aW9ucywgdmFsdWVzLCBhcmdj
LCBhcmd2KTsKKworICAgIHRoZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgodXNlckFyZ3MtPnRoZW1l
KTsKKworICAgIHJldHVybiBhcmdzOworfQorCitpbnQKIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSkKIHsKICAgICBjb25zdCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2ds
ZS5jb20vIjsKLQotICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gezAsIDAsIDAsIDB9Owot
ICAgIGNoYXIgKnVzZXJBZ2VudCA9IE5VTEw7CiAgICAgY29uc3QgY2hhciAqdG1wOwogICAgIGNv
bnN0IGNoYXIgKnByb3h5VXJpOwogICAgIGNoYXIgcGF0aFtQQVRIX01BWF07Ci0KLSAgICBjaGFy
ICplbmdpbmUgPSBOVUxMOwotICAgIGNoYXIgKnRoZW1lID0gTlVMTDsKLSAgICBjaGFyICpiYWNr
aW5nU3RvcmUgPSAoY2hhciAqKWJhY2tpbmdTdG9yZXNbMV07Ci0KLSAgICB1bnNpZ25lZCBjaGFy
IHF1aXRPcHRpb24gPSAwOwotICAgIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nID0gMDsKLSAg
ICB1bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbiA9IDA7CiAgICAgaW50IGFyZ3M7CiAKLSAgICBF
Y29yZV9HZXRvcHRfVmFsdWUgdmFsdWVzW10gPSB7Ci0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxV
RV9TVFIoZW5naW5lKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlv
biksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIoYmFja2luZ1N0b3JlKSwKLSAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0woaXNGbGF0dGVuaW5nKSwKLSAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0JPT0woaXNGdWxsc2NyZWVuKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX1BUUl9DQVNUKGdlb21ldHJ5KSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih0
aGVtZSksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFnZW50KSwKLSAgICAg
ICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0lOVCh2ZXJib3NlKSwKLSAgICAgICAgRUNPUkVfR0VUT1BU
X1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09M
KHF1aXRPcHRpb24pLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9u
KSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAg
IEVDT1JFX0dFVE9QVF9WQUxVRV9OT05FCi0gICAgfTsKKyAgICBzdGF0aWMgVXNlcl9Bcmd1bWVu
dHMgdXNlckFyZ3M7CiAKICAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQogICAgICAgICByZXR1
cm4gRVhJVF9GQUlMVVJFOwpAQCAtODYwLDE2ICs4NjksMTMgQEAgbWFpbihpbnQgYXJnYywgY2hh
ciAqYXJndltdKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwogICAgIH0KIAotICAgIGVj
b3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3QgY2hhcioqKSBhcmd2KTsKLSAgICBhcmdzID0g
ZWNvcmVfZ2V0b3B0X3BhcnNlKCZvcHRpb25zLCB2YWx1ZXMsIGFyZ2MsIGFyZ3YpOwotCisgICAg
YXJncyA9IHBhcnNlVXNlckFyZ3VtZW50cyhhcmdjLCBhcmd2LCAmdXNlckFyZ3MpOwogICAgIGlm
IChhcmdzIDwgMCkKICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxk
IG5vdCBwYXJzZSBvcHRpb25zLlxuIik7CiAKLSAgICBpZiAocXVpdE9wdGlvbikKKyAgICBpZiAo
dXNlckFyZ3MucXVpdE9wdGlvbikKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9UUlVFLCBOVUxM
KTsKIAotICAgIHRoZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgodGhlbWUpOwogICAgIGlmICghdGhl
bWVQYXRoKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxkIG5v
dCBmaW5kIHRoZW1lLlxuIik7CiAKQEAgLTg4MSw2ICs4ODcsOCBAQCBtYWluKGludCBhcmdjLCBj
aGFyICphcmd2W10pCiAgICAgaWYgKCFlY29yZV9maWxlX21rcGF0aChwYXRoKSkKICAgICAgICAg
cmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIHNldHRpbmdz
IGRhdGFiYXNlIGRpcmVjdG9yeS5cbiIpOwogCisgICAgdXNlckFyZ3MuZGF0YWJhc2VQYXRoID0g
cGF0aDsKKwogICAgIGV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX3BhdGhfc2V0KHBhdGgpOwog
ICAgIGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9zZXQocGF0aCk7CiAKQEAgLTg5MCwx
MCArODk4LDEwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAogICAgIGlmIChhcmdz
IDwgYXJnYykgewogICAgICAgICBjaGFyICp1cmwgPSB1cmxfZnJvbV91c2VyX2lucHV0KGFyZ3Zb
YXJnc10pOwotICAgICAgICBicm93c2VyQ3JlYXRlKHVybCwgdGhlbWVQYXRoLCB1c2VyQWdlbnQs
IGdlb21ldHJ5LCBlbmdpbmUsIGJhY2tpbmdTdG9yZSwgaXNGbGF0dGVuaW5nLCBpc0Z1bGxzY3Jl
ZW4sIHBhdGgpOworICAgICAgICBicm93c2VyQ3JlYXRlKHVybCwgJnVzZXJBcmdzKTsKICAgICAg
ICAgZnJlZSh1cmwpOwogICAgIH0gZWxzZQotICAgICAgICBicm93c2VyQ3JlYXRlKGRlZmF1bHRf
dXJsLCB0aGVtZVBhdGgsIHVzZXJBZ2VudCwgZ2VvbWV0cnksIGVuZ2luZSwgYmFja2luZ1N0b3Jl
LCBpc0ZsYXR0ZW5pbmcsIGlzRnVsbHNjcmVlbiwgcGF0aCk7CisgICAgICAgIGJyb3dzZXJDcmVh
dGUoZGVmYXVsdF91cmwsICZ1c2VyQXJncyk7CiAKICAgICBlY29yZV9ldmVudF9oYW5kbGVyX2Fk
ZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgJndpbmRvd3MpOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163873</attachid>
            <date>2012-09-13 07:48:17 -0700</date>
            <delta_ts>2012-09-13 15:59:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120913234751.patch</filename>
            <type>text/plain</type>
            <size>10165</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uODcxNDY2NTU1YzRhMTVkMDBjZGY5MjJkZjM0ODM0N2U0N2Q1ODY1MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDEyLTA5LTEzICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzIGZyb20gY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAgICBBbmQg
SSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVycyBpbnRvIFVzZXJfQXJndW1lbnRzLgorCisgICAg
ICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAgICAgKF9Vc2VyX0FyZ3VtZW50cyk6Cisg
ICAgICAgIChfRUxhdW5jaGVyKToKKyAgICAgICAgKG9uX2tleV9kb3duKToKKyAgICAgICAgKGJy
b3dzZXJDcmVhdGUpOgorICAgICAgICAoZmluZFRoZW1lUGF0aCk6CisgICAgICAgIChwYXJzZVVz
ZXJBcmd1bWVudHMpOgorICAgICAgICAobWFpbik6CisKIDIwMTItMDktMTEgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSByZW5hbWUgd2Vi
a2l0X3Jlc291cmNlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYyBiL1Rv
b2xzL0VXZWJMYXVuY2hlci9tYWluLmMKaW5kZXggODE2ZTBmMmQ0ZTI0ODE1NzIyMTI2ODJhZGM0
MzNmYzllOTdjZDYzMy4uZWM1NzI5ZmRjM2M2NWY2MzI1NDJiMWQ1MTBhMGQ3ZDE0Yjk3MjgxMiAx
MDA2NDQKLS0tIGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYworKysgYi9Ub29scy9FV2ViTGF1
bmNoZXIvbWFpbi5jCkBAIC0xNDAsMjEgKzE0MCwzMCBAQCBzdGF0aWMgY29uc3QgRWNvcmVfR2V0
b3B0IG9wdGlvbnMgPSB7CiAgICAgfQogfTsKIAordHlwZWRlZiBzdHJ1Y3QgX1VzZXJfQXJndW1l
bnRzIHsKKyAgICBjb25zdCBjaGFyICplbmdpbmU7CisgICAgRWluYV9Cb29sIHF1aXRPcHRpb247
CisgICAgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlOworICAgIEVpbmFfQm9vbCBpc0ZsYXR0ZW5p
bmc7CisgICAgRWluYV9Cb29sIGlzRnVsbHNjcmVlbjsKKyAgICBFaW5hX1JlY3RhbmdsZSBnZW9t
ZXRyeTsKKyAgICBjb25zdCBjaGFyICp0aGVtZTsKKyAgICBjb25zdCBjaGFyICp1c2VyQWdlbnQ7
CisgICAgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoOworfSBVc2VyX0FyZ3VtZW50czsKKwogdHlw
ZWRlZiBzdHJ1Y3QgX0VMYXVuY2hlciB7CiAgICAgRWNvcmVfRXZhcyAqZWU7CiAgICAgRXZhcyAq
ZXZhczsKICAgICBFdmFzX09iamVjdCAqYmc7CiAgICAgRXZhc19PYmplY3QgKmJyb3dzZXI7CiAg
ICAgVXJsX0JhciAqdXJsX2JhcjsKLSAgICBjb25zdCBjaGFyICp0aGVtZTsKLSAgICBjb25zdCBj
aGFyICp1c2VyQWdlbnQ7Ci0gICAgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlOwotICAgIHVuc2ln
bmVkIGNoYXIgaXNGbGF0dGVuaW5nOworICAgIFVzZXJfQXJndW1lbnRzICp1c2VyQXJnczsKIH0g
RUxhdW5jaGVyOwogCiBzdGF0aWMgdm9pZCBicm93c2VyRGVzdHJveShFY29yZV9FdmFzICplZSk7
CiBzdGF0aWMgdm9pZCBjbG9zZVdpbmRvdyhFY29yZV9FdmFzICplZSk7Ci1zdGF0aWMgaW50IGJy
b3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hh
ciAqdXNlckFnZW50LCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSwgY29uc3QgY2hhciAqZW5naW5l
LCBjb25zdCBjaGFyICpiYWNraW5nU3RvcmUsIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nLCB1
bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbiwgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoKTsKK3N0
YXRpYyBpbnQgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIFVzZXJfQXJndW1lbnRzICp1
c2VyQXJncyk7CiAKIHN0YXRpYyBFTGF1bmNoZXIgKgogZmluZF9hcHBfZnJvbV9lZShFY29yZV9F
dmFzICplZSkKQEAgLTU2MCwxMCArNTY5LDcgQEAgb25fa2V5X2Rvd24odm9pZCAqZGF0YSwgRXZh
cyAqZSwgRXZhc19PYmplY3QgKm9iaiwgdm9pZCAqZXZlbnRfaW5mbykKICAgICAgICAgICAgIGN1
cnJlbnRab29tTGV2ZWwrKzsKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgIkY5Iikp
IHsKICAgICAgICAgaW5mbygiQ3JlYXRlIG5ldyB3aW5kb3cgKEY5KSB3YXMgcHJlc3NlZC5cbiIp
OwotICAgICAgICBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSA9IHswLCAwLCAwLCAwfTsKLSAgICAg
ICAgYnJvd3NlckNyZWF0ZSgiaHR0cDovL3d3dy5nb29nbGUuY29tIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgYXBwLT50aGVtZSwgYXBwLT51c2VyQWdlbnQsIGdlb21ldHJ5LCBOVUxMLAotICAg
ICAgICAgICAgICAgICAgICAgICBhcHAtPmJhY2tpbmdTdG9yZSwgYXBwLT5pc0ZsYXR0ZW5pbmcs
IDAsIE5VTEwpOworICAgICAgICBicm93c2VyQ3JlYXRlKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20i
LCBhcHAtPnVzZXJBcmdzKTsKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImciKSAm
JiBjdHJsUHJlc3NlZCApIHsKICAgICAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoOwogICAgICAg
ICBFdmFzX09iamVjdCAqZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChvYmopOwpAQCAt
NjU2LDggKzY2Miw5IEBAIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykK
IH0KIAogc3RhdGljIGludAotYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNo
YXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5
LCBjb25zdCBjaGFyICplbmdpbmUsIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZSwgdW5zaWduZWQg
Y2hhciBpc0ZsYXR0ZW5pbmcsIHVuc2lnbmVkIGNoYXIgaXNGdWxsc2NyZWVuLCBjb25zdCBjaGFy
ICpkYXRhYmFzZVBhdGgpCiticm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgVXNlcl9Bcmd1
bWVudHMgKnVzZXJBcmdzKQogeworICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gdXNlckFy
Z3MtPmdlb21ldHJ5OwogICAgIGlmICgoZ2VvbWV0cnkudyA8PSAwKSAmJiAoZ2VvbWV0cnkuaCA8
PSAwKSkgewogICAgICAgICBnZW9tZXRyeS53ID0gREVGQVVMVF9XSURUSDsKICAgICAgICAgZ2Vv
bWV0cnkuaCA9IERFRkFVTFRfSEVJR0hUOwpAQCAtNjY3LDEyICs2NzQsMTIgQEAgYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2Vy
QWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcCkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9G
QUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIEVXZWJMYXVuY2hlciB3aW5kb3dcbiIpOwog
Ci0gICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2luZSwgMCwgMCwgZ2VvbWV0cnkudywg
Z2VvbWV0cnkuaCwgTlVMTCk7CisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KHVzZXJBcmdz
LT5lbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOwogCiAgICAgaWYg
KCFhcHAtPmVlKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxk
IG5vdCBjb25zdHJ1Y3QgZXZhcy1lY29yZVxuIik7CiAKLSAgICBpZiAoaXNGdWxsc2NyZWVuKQor
ICAgIGlmICh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKQogICAgICAgICBlY29yZV9ldmFzX2Z1bGxz
Y3JlZW5fc2V0KGFwcC0+ZWUsIEVJTkFfVFJVRSk7CiAKICAgICBlY29yZV9ldmFzX3RpdGxlX3Nl
dChhcHAtPmVlLCAiRUZMIFRlc3QgTGF1bmNoZXIiKTsKQEAgLTY4NCwxMSArNjkxLDYgQEAgYnJv
d3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFy
ICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcC0+ZXZhcykKICAgICAgICAgcmV0dXJu
IHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVj
b3JlXG4iKTsKIAotICAgIGFwcC0+dGhlbWUgPSB0aGVtZTsKLSAgICBhcHAtPnVzZXJBZ2VudCA9
IHVzZXJBZ2VudDsKLSAgICBhcHAtPmJhY2tpbmdTdG9yZSA9IGJhY2tpbmdTdG9yZTsKLSAgICBh
cHAtPmlzRmxhdHRlbmluZyA9IGlzRmxhdHRlbmluZzsKLQogICAgIGFwcC0+YmcgPSBldmFzX29i
amVjdF9yZWN0YW5nbGVfYWRkKGFwcC0+ZXZhcyk7CiAgICAgZXZhc19vYmplY3RfbmFtZV9zZXQo
YXBwLT5iZywgImJnIik7CiAgICAgZXZhc19vYmplY3RfY29sb3Jfc2V0KGFwcC0+YmcsIDI1NSwg
MCwgMjU1LCAyNTUpOwpAQCAtNjk3LDcgKzY5OSw3IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hh
ciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1Jl
CiAgICAgZXZhc19vYmplY3RfbGF5ZXJfc2V0KGFwcC0+YmcsIEVWQVNfTEFZRVJfTUlOKTsKICAg
ICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOwogCi0gICAgaWYgKGJhY2tpbmdTdG9yZSAmJiAh
c3RyY2FzZWNtcChiYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CisgICAgaWYgKHVzZXJBcmdzLT5i
YWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAodXNlckFyZ3MtPmJhY2tpbmdTdG9yZSwgInRpbGVk
IikpIHsKICAgICAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfdGlsZWRfYWRkKGFwcC0+ZXZh
cyk7CiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6IHRpbGVkXG4iKTsKICAgICB9IGVsc2Ug
ewpAQCAtNzA1LDEyICs3MDcsMTMgQEAgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNv
bnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICAgICAg
aW5mbygiYmFja2luZyBzdG9yZTogc2luZ2xlXG4iKTsKICAgICB9CiAKLSAgICBld2tfdmlld190
aGVtZV9zZXQoYXBwLT5icm93c2VyLCB0aGVtZSk7Ci0gICAgaWYgKHVzZXJBZ2VudCkKLSAgICAg
ICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50X3NldChhcHAtPmJyb3dzZXIsIHVzZXJBZ2Vu
dCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhfc2V0
KGFwcC0+YnJvd3NlciwgZGF0YWJhc2VQYXRoKTsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJs
ZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dzZXIsIGlzRmxhdHRlbmluZyk7CisgICAg
ZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWVQYXRoKTsKKyAgICBpZiAodXNl
ckFyZ3MtPnVzZXJBZ2VudCkKKyAgICAgICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50X3Nl
dChhcHAtPmJyb3dzZXIsIHVzZXJBcmdzLT51c2VyQWdlbnQpOworICAgIGV3a192aWV3X3NldHRp
bmdfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIHVzZXJBcmdz
LT5kYXRhYmFzZVBhdGgpOworICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2ZyYW1lX2ZsYXR0
ZW5pbmdfc2V0KGFwcC0+YnJvd3NlciwgdXNlckFyZ3MtPmlzRmxhdHRlbmluZyk7CiAgICAgCisg
ICAgYXBwLT51c2VyQXJncyA9IHVzZXJBcmdzOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFw
cC0+YnJvd3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZChhcHAtPmJyb3dzZXIsICJ0aXRsZSxjaGFuZ2VkIiwgb25fdGl0bGVfY2hhbmdlZCwgYXBw
KTsKQEAgLTgwMSw2ICs4MDQsNyBAQCBmaW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQog
ICAgICAgICB0aGVtZSA9IGRlZmF1bHRfdGhlbWU7CiAKICAgICBycGF0aCA9IGVjb3JlX2ZpbGVf
cmVhbHBhdGgodGhlbWUpOworCiAgICAgaWYgKCFzdHJsZW4ocnBhdGgpIHx8IHN0YXQocnBhdGgs
ICZzdCkpIHsKICAgICAgICAgZnJlZShycGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAt
ODEwLDQxICs4MTQsNDcgQEAgZmluZFRoZW1lUGF0aChjb25zdCBjaGFyICp0aGVtZSkKIH0KIAog
aW50CitwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgVXNlcl9Bcmd1
bWVudHMgKnVzZXJBcmdzKQoreworICAgIGludCBhcmdzOworCisgICAgdXNlckFyZ3MtPmJhY2tp
bmdTdG9yZSA9IChjaGFyICopYmFja2luZ1N0b3Jlc1sxXTsKKworICAgIEVjb3JlX0dldG9wdF9W
YWx1ZSB2YWx1ZXNbXSA9IHsKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJn
cy0+ZW5naW5lKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wodXNlckFyZ3MtPnF1
aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT5iYWNr
aW5nU3RvcmUpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+aXNG
bGF0dGVuaW5nKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wodXNlckFyZ3MtPmlz
RnVsbHNjcmVlbiksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9QVFJfQ0FTVCh1c2VyQXJn
cy0+Z2VvbWV0cnkpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT50
aGVtZSksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3MtPnVzZXJBZ2Vu
dCksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9JTlQodmVyYm9zZSksCisgICAgICAgIEVD
T1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNP
UkVfR0VUT1BUX1ZBTFVFX0JPT0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09S
RV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JF
X0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX05PTkUKKyAgICB9OworCisgICAgZWNvcmVfYXBwX2FyZ3Nfc2V0KGFyZ2Ms
IChjb25zdCBjaGFyKiopIGFyZ3YpOworICAgIGFyZ3MgPSBlY29yZV9nZXRvcHRfcGFyc2UoJm9w
dGlvbnMsIHZhbHVlcywgYXJnYywgYXJndik7CisKKyAgICB0aGVtZVBhdGggPSBmaW5kVGhlbWVQ
YXRoKHVzZXJBcmdzLT50aGVtZSk7CisKKyAgICByZXR1cm4gYXJnczsKK30KKworaW50CiBtYWlu
KGludCBhcmdjLCBjaGFyICphcmd2W10pCiB7CiAgICAgY29uc3QgY2hhciAqZGVmYXVsdF91cmwg
PSAiaHR0cDovL3d3dy5nb29nbGUuY29tLyI7Ci0KLSAgICBFaW5hX1JlY3RhbmdsZSBnZW9tZXRy
eSA9IHswLCAwLCAwLCAwfTsKLSAgICBjaGFyICp1c2VyQWdlbnQgPSBOVUxMOwogICAgIGNvbnN0
IGNoYXIgKnRtcDsKICAgICBjb25zdCBjaGFyICpwcm94eVVyaTsKICAgICBjaGFyIHBhdGhbUEFU
SF9NQVhdOwotCi0gICAgY2hhciAqZW5naW5lID0gTlVMTDsKLSAgICBjaGFyICp0aGVtZSA9IE5V
TEw7Ci0gICAgY2hhciAqYmFja2luZ1N0b3JlID0gKGNoYXIgKiliYWNraW5nU3RvcmVzWzFdOwot
Ci0gICAgdW5zaWduZWQgY2hhciBxdWl0T3B0aW9uID0gMDsKLSAgICB1bnNpZ25lZCBjaGFyIGlz
RmxhdHRlbmluZyA9IDA7Ci0gICAgdW5zaWduZWQgY2hhciBpc0Z1bGxzY3JlZW4gPSAwOwogICAg
IGludCBhcmdzOwogCi0gICAgRWNvcmVfR2V0b3B0X1ZhbHVlIHZhbHVlc1tdID0gewotICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKGVuZ2luZSksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9W
QUxVRV9CT09MKHF1aXRPcHRpb24pLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKGJh
Y2tpbmdTdG9yZSksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKGlzRmxhdHRlbmlu
ZyksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKGlzRnVsbHNjcmVlbiksCi0gICAg
ICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9QVFJfQ0FTVChnZW9tZXRyeSksCi0gICAgICAgIEVDT1JF
X0dFVE9QVF9WQUxVRV9TVFIodGhlbWUpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RS
KHVzZXJBZ2VudCksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9JTlQodmVyYm9zZSksCi0g
ICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHF1aXRPcHRpb24pLAotICAgICAgICBFQ09S
RV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZB
TFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHF1
aXRPcHRpb24pLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfTk9ORQotICAgIH07CisgICAg
VXNlcl9Bcmd1bWVudHMgdXNlckFyZ3MgPSB7MH07CiAKICAgICBpZiAoIWVjb3JlX2V2YXNfaW5p
dCgpKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOwpAQCAtODYwLDE2ICs4NzAsMTMgQEAg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQogICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJF
OwogICAgIH0KIAotICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAoY29uc3QgY2hhcioqKSBh
cmd2KTsKLSAgICBhcmdzID0gZWNvcmVfZ2V0b3B0X3BhcnNlKCZvcHRpb25zLCB2YWx1ZXMsIGFy
Z2MsIGFyZ3YpOwotCisgICAgYXJncyA9IHBhcnNlVXNlckFyZ3VtZW50cyhhcmdjLCBhcmd2LCAm
dXNlckFyZ3MpOwogICAgIGlmIChhcmdzIDwgMCkKICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZB
TFNFLCAiRVJST1I6IGNvdWxkIG5vdCBwYXJzZSBvcHRpb25zLlxuIik7CiAKLSAgICBpZiAocXVp
dE9wdGlvbikKKyAgICBpZiAodXNlckFyZ3MucXVpdE9wdGlvbikKICAgICAgICAgcmV0dXJuIHF1
aXQoRUlOQV9UUlVFLCBOVUxMKTsKIAotICAgIHRoZW1lUGF0aCA9IGZpbmRUaGVtZVBhdGgodGhl
bWUpOwogICAgIGlmICghdGhlbWVQYXRoKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNF
LCAiRVJST1I6IGNvdWxkIG5vdCBmaW5kIHRoZW1lLlxuIik7CiAKQEAgLTg4MSw2ICs4ODgsOCBA
QCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAgICAgaWYgKCFlY29yZV9maWxlX21rcGF0
aChwYXRoKSkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBu
b3QgY3JlYXRlIHNldHRpbmdzIGRhdGFiYXNlIGRpcmVjdG9yeS5cbiIpOwogCisgICAgdXNlckFy
Z3MuZGF0YWJhc2VQYXRoID0gcGF0aDsKKwogICAgIGV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNl
X3BhdGhfc2V0KHBhdGgpOwogICAgIGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9zZXQo
cGF0aCk7CiAKQEAgLTg5MCwxMCArODk5LDEwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb
XSkKIAogICAgIGlmIChhcmdzIDwgYXJnYykgewogICAgICAgICBjaGFyICp1cmwgPSB1cmxfZnJv
bV91c2VyX2lucHV0KGFyZ3ZbYXJnc10pOwotICAgICAgICBicm93c2VyQ3JlYXRlKHVybCwgdGhl
bWVQYXRoLCB1c2VyQWdlbnQsIGdlb21ldHJ5LCBlbmdpbmUsIGJhY2tpbmdTdG9yZSwgaXNGbGF0
dGVuaW5nLCBpc0Z1bGxzY3JlZW4sIHBhdGgpOworICAgICAgICBicm93c2VyQ3JlYXRlKHVybCwg
JnVzZXJBcmdzKTsKICAgICAgICAgZnJlZSh1cmwpOwogICAgIH0gZWxzZQotICAgICAgICBicm93
c2VyQ3JlYXRlKGRlZmF1bHRfdXJsLCB0aGVtZVBhdGgsIHVzZXJBZ2VudCwgZ2VvbWV0cnksIGVu
Z2luZSwgYmFja2luZ1N0b3JlLCBpc0ZsYXR0ZW5pbmcsIGlzRnVsbHNjcmVlbiwgcGF0aCk7Cisg
ICAgICAgIGJyb3dzZXJDcmVhdGUoZGVmYXVsdF91cmwsICZ1c2VyQXJncyk7CiAKICAgICBlY29y
ZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxf
ZXhpdCwgJndpbmRvd3MpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163988</attachid>
            <date>2012-09-13 15:59:07 -0700</date>
            <delta_ts>2012-09-13 17:42:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96499-20120914075841.patch</filename>
            <type>text/plain</type>
            <size>10499</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjU3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFlZWJiYzBiYWEzMmVlYTA2ZTBjNGYwMWIyNWI2MDU5
N2QzOWY1ZS4uODcxNDY2NTU1YzRhMTVkMDBjZGY5MjJkZjM0ODM0N2U0N2Q1ODY1MCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDEyLTA5LTEzICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgor
CisgICAgICAgIFtFRkxdIFJlbW92ZSBzb21lIHBhcmFtZXRlcnMgaW4gYnJvd3NlckNyZWF0ZSgp
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjQ5OQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFy
ZSB0b28gbWFueSBwYXJhbWV0ZXJzIGluIGJyb3dzZXJDcmVhdGUoKS4gTG90cyBvZiBpdCBzZWVt
cyBsaWtlIHNldHRpbmdzIGZyb20gY29tbWFuZCBsaW5lIGFyZ3VtZW50LgorICAgICAgICBBbmQg
SSBoYXZlIG1vdmVkIHNvbWUgcGFyYW1ldGVycyBpbnRvIFVzZXJfQXJndW1lbnRzLgorCisgICAg
ICAgICogRVdlYkxhdW5jaGVyL21haW4uYzoKKyAgICAgICAgKF9Vc2VyX0FyZ3VtZW50cyk6Cisg
ICAgICAgIChfRUxhdW5jaGVyKToKKyAgICAgICAgKG9uX2tleV9kb3duKToKKyAgICAgICAgKGJy
b3dzZXJDcmVhdGUpOgorICAgICAgICAoZmluZFRoZW1lUGF0aCk6CisgICAgICAgIChwYXJzZVVz
ZXJBcmd1bWVudHMpOgorICAgICAgICAobWFpbik6CisKIDIwMTItMDktMTEgIERpcmsgUHJhbmtl
ICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSByZW5hbWUgd2Vi
a2l0X3Jlc291cmNlcwpkaWZmIC0tZ2l0IGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYyBiL1Rv
b2xzL0VXZWJMYXVuY2hlci9tYWluLmMKaW5kZXggODE2ZTBmMmQ0ZTI0ODE1NzIyMTI2ODJhZGM0
MzNmYzllOTdjZDYzMy4uOGU2YWUwMDI3ZDU0Y2Q0ZDgyZjRiOTY1OTU5OTNkZDg2N2ZjNDU0NyAx
MDA2NDQKLS0tIGEvVG9vbHMvRVdlYkxhdW5jaGVyL21haW4uYworKysgYi9Ub29scy9FV2ViTGF1
bmNoZXIvbWFpbi5jCkBAIC0xNDAsMjEgKzE0MCwzMCBAQCBzdGF0aWMgY29uc3QgRWNvcmVfR2V0
b3B0IG9wdGlvbnMgPSB7CiAgICAgfQogfTsKIAordHlwZWRlZiBzdHJ1Y3QgX1VzZXJfQXJndW1l
bnRzIHsKKyAgICBjb25zdCBjaGFyICplbmdpbmU7CisgICAgRWluYV9Cb29sIHF1aXRPcHRpb247
CisgICAgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlOworICAgIEVpbmFfQm9vbCBpc0ZsYXR0ZW5p
bmc7CisgICAgRWluYV9Cb29sIGlzRnVsbHNjcmVlbjsKKyAgICBFaW5hX1JlY3RhbmdsZSBnZW9t
ZXRyeTsKKyAgICBjb25zdCBjaGFyICp0aGVtZTsKKyAgICBjb25zdCBjaGFyICp1c2VyQWdlbnQ7
CisgICAgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoOworfSBVc2VyX0FyZ3VtZW50czsKKwogdHlw
ZWRlZiBzdHJ1Y3QgX0VMYXVuY2hlciB7CiAgICAgRWNvcmVfRXZhcyAqZWU7CiAgICAgRXZhcyAq
ZXZhczsKICAgICBFdmFzX09iamVjdCAqYmc7CiAgICAgRXZhc19PYmplY3QgKmJyb3dzZXI7CiAg
ICAgVXJsX0JhciAqdXJsX2JhcjsKLSAgICBjb25zdCBjaGFyICp0aGVtZTsKLSAgICBjb25zdCBj
aGFyICp1c2VyQWdlbnQ7Ci0gICAgY29uc3QgY2hhciAqYmFja2luZ1N0b3JlOwotICAgIHVuc2ln
bmVkIGNoYXIgaXNGbGF0dGVuaW5nOworICAgIFVzZXJfQXJndW1lbnRzICp1c2VyQXJnczsKIH0g
RUxhdW5jaGVyOwogCiBzdGF0aWMgdm9pZCBicm93c2VyRGVzdHJveShFY29yZV9FdmFzICplZSk7
CiBzdGF0aWMgdm9pZCBjbG9zZVdpbmRvdyhFY29yZV9FdmFzICplZSk7Ci1zdGF0aWMgaW50IGJy
b3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hh
ciAqdXNlckFnZW50LCBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSwgY29uc3QgY2hhciAqZW5naW5l
LCBjb25zdCBjaGFyICpiYWNraW5nU3RvcmUsIHVuc2lnbmVkIGNoYXIgaXNGbGF0dGVuaW5nLCB1
bnNpZ25lZCBjaGFyIGlzRnVsbHNjcmVlbiwgY29uc3QgY2hhciAqZGF0YWJhc2VQYXRoKTsKK3N0
YXRpYyBpbnQgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIFVzZXJfQXJndW1lbnRzICp1
c2VyQXJncyk7CiAKIHN0YXRpYyBFTGF1bmNoZXIgKgogZmluZF9hcHBfZnJvbV9lZShFY29yZV9F
dmFzICplZSkKQEAgLTU2MCwxMCArNTY5LDcgQEAgb25fa2V5X2Rvd24odm9pZCAqZGF0YSwgRXZh
cyAqZSwgRXZhc19PYmplY3QgKm9iaiwgdm9pZCAqZXZlbnRfaW5mbykKICAgICAgICAgICAgIGN1
cnJlbnRab29tTGV2ZWwrKzsKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgIkY5Iikp
IHsKICAgICAgICAgaW5mbygiQ3JlYXRlIG5ldyB3aW5kb3cgKEY5KSB3YXMgcHJlc3NlZC5cbiIp
OwotICAgICAgICBFaW5hX1JlY3RhbmdsZSBnZW9tZXRyeSA9IHswLCAwLCAwLCAwfTsKLSAgICAg
ICAgYnJvd3NlckNyZWF0ZSgiaHR0cDovL3d3dy5nb29nbGUuY29tIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgYXBwLT50aGVtZSwgYXBwLT51c2VyQWdlbnQsIGdlb21ldHJ5LCBOVUxMLAotICAg
ICAgICAgICAgICAgICAgICAgICBhcHAtPmJhY2tpbmdTdG9yZSwgYXBwLT5pc0ZsYXR0ZW5pbmcs
IDAsIE5VTEwpOworICAgICAgICBicm93c2VyQ3JlYXRlKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20i
LCBhcHAtPnVzZXJBcmdzKTsKICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoZXYtPmtleSwgImciKSAm
JiBjdHJsUHJlc3NlZCApIHsKICAgICAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoOwogICAgICAg
ICBFdmFzX09iamVjdCAqZnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChvYmopOwpAQCAt
NjU2LDggKzY2Miw5IEBAIHF1aXQoRWluYV9Cb29sIHN1Y2Nlc3MsIGNvbnN0IGNoYXIgKm1zZykK
IH0KIAogc3RhdGljIGludAotYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNo
YXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5
LCBjb25zdCBjaGFyICplbmdpbmUsIGNvbnN0IGNoYXIgKmJhY2tpbmdTdG9yZSwgdW5zaWduZWQg
Y2hhciBpc0ZsYXR0ZW5pbmcsIHVuc2lnbmVkIGNoYXIgaXNGdWxsc2NyZWVuLCBjb25zdCBjaGFy
ICpkYXRhYmFzZVBhdGgpCiticm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCwgVXNlcl9Bcmd1
bWVudHMgKnVzZXJBcmdzKQogeworICAgIEVpbmFfUmVjdGFuZ2xlIGdlb21ldHJ5ID0gdXNlckFy
Z3MtPmdlb21ldHJ5OwogICAgIGlmICgoZ2VvbWV0cnkudyA8PSAwKSAmJiAoZ2VvbWV0cnkuaCA8
PSAwKSkgewogICAgICAgICBnZW9tZXRyeS53ID0gREVGQVVMVF9XSURUSDsKICAgICAgICAgZ2Vv
bWV0cnkuaCA9IERFRkFVTFRfSEVJR0hUOwpAQCAtNjY3LDEyICs2NzQsMTIgQEAgYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2Vy
QWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcCkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9G
QUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgY3JlYXRlIEVXZWJMYXVuY2hlciB3aW5kb3dcbiIpOwog
Ci0gICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2luZSwgMCwgMCwgZ2VvbWV0cnkudywg
Z2VvbWV0cnkuaCwgTlVMTCk7CisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KHVzZXJBcmdz
LT5lbmdpbmUsIDAsIDAsIGdlb21ldHJ5LncsIGdlb21ldHJ5LmgsIE5VTEwpOwogCiAgICAgaWYg
KCFhcHAtPmVlKQogICAgICAgICByZXR1cm4gcXVpdChFSU5BX0ZBTFNFLCAiRVJST1I6IGNvdWxk
IG5vdCBjb25zdHJ1Y3QgZXZhcy1lY29yZVxuIik7CiAKLSAgICBpZiAoaXNGdWxsc2NyZWVuKQor
ICAgIGlmICh1c2VyQXJncy0+aXNGdWxsc2NyZWVuKQogICAgICAgICBlY29yZV9ldmFzX2Z1bGxz
Y3JlZW5fc2V0KGFwcC0+ZWUsIEVJTkFfVFJVRSk7CiAKICAgICBlY29yZV9ldmFzX3RpdGxlX3Nl
dChhcHAtPmVlLCAiRUZMIFRlc3QgTGF1bmNoZXIiKTsKQEAgLTY4NCwxMSArNjkxLDYgQEAgYnJv
d3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFy
ICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICBpZiAoIWFwcC0+ZXZhcykKICAgICAgICAgcmV0dXJu
IHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9SOiBjb3VsZCBub3QgZ2V0IGV2YXMgZnJvbSBldmFzLWVj
b3JlXG4iKTsKIAotICAgIGFwcC0+dGhlbWUgPSB0aGVtZTsKLSAgICBhcHAtPnVzZXJBZ2VudCA9
IHVzZXJBZ2VudDsKLSAgICBhcHAtPmJhY2tpbmdTdG9yZSA9IGJhY2tpbmdTdG9yZTsKLSAgICBh
cHAtPmlzRmxhdHRlbmluZyA9IGlzRmxhdHRlbmluZzsKLQogICAgIGFwcC0+YmcgPSBldmFzX29i
amVjdF9yZWN0YW5nbGVfYWRkKGFwcC0+ZXZhcyk7CiAgICAgZXZhc19vYmplY3RfbmFtZV9zZXQo
YXBwLT5iZywgImJnIik7CiAgICAgZXZhc19vYmplY3RfY29sb3Jfc2V0KGFwcC0+YmcsIDI1NSwg
MCwgMjU1LCAyNTUpOwpAQCAtNjk3LDcgKzY5OSw3IEBAIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hh
ciAqdXJsLCBjb25zdCBjaGFyICp0aGVtZSwgY29uc3QgY2hhciAqdXNlckFnZW50LCBFaW5hX1Jl
CiAgICAgZXZhc19vYmplY3RfbGF5ZXJfc2V0KGFwcC0+YmcsIEVWQVNfTEFZRVJfTUlOKTsKICAg
ICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOwogCi0gICAgaWYgKGJhY2tpbmdTdG9yZSAmJiAh
c3RyY2FzZWNtcChiYWNraW5nU3RvcmUsICJ0aWxlZCIpKSB7CisgICAgaWYgKHVzZXJBcmdzLT5i
YWNraW5nU3RvcmUgJiYgIXN0cmNhc2VjbXAodXNlckFyZ3MtPmJhY2tpbmdTdG9yZSwgInRpbGVk
IikpIHsKICAgICAgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfdGlsZWRfYWRkKGFwcC0+ZXZh
cyk7CiAgICAgICAgIGluZm8oImJhY2tpbmcgc3RvcmU6IHRpbGVkXG4iKTsKICAgICB9IGVsc2Ug
ewpAQCAtNzA1LDEyICs3MDcsMTMgQEAgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNv
bnN0IGNoYXIgKnRoZW1lLCBjb25zdCBjaGFyICp1c2VyQWdlbnQsIEVpbmFfUmUKICAgICAgICAg
aW5mbygiYmFja2luZyBzdG9yZTogc2luZ2xlXG4iKTsKICAgICB9CiAKLSAgICBld2tfdmlld190
aGVtZV9zZXQoYXBwLT5icm93c2VyLCB0aGVtZSk7Ci0gICAgaWYgKHVzZXJBZ2VudCkKLSAgICAg
ICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50X3NldChhcHAtPmJyb3dzZXIsIHVzZXJBZ2Vu
dCk7Ci0gICAgZXdrX3ZpZXdfc2V0dGluZ19sb2NhbF9zdG9yYWdlX2RhdGFiYXNlX3BhdGhfc2V0
KGFwcC0+YnJvd3NlciwgZGF0YWJhc2VQYXRoKTsKLSAgICBld2tfdmlld19zZXR0aW5nX2VuYWJs
ZV9mcmFtZV9mbGF0dGVuaW5nX3NldChhcHAtPmJyb3dzZXIsIGlzRmxhdHRlbmluZyk7CisgICAg
ZXdrX3ZpZXdfdGhlbWVfc2V0KGFwcC0+YnJvd3NlciwgdGhlbWVQYXRoKTsKKyAgICBpZiAodXNl
ckFyZ3MtPnVzZXJBZ2VudCkKKyAgICAgICAgZXdrX3ZpZXdfc2V0dGluZ191c2VyX2FnZW50X3Nl
dChhcHAtPmJyb3dzZXIsIHVzZXJBcmdzLT51c2VyQWdlbnQpOworICAgIGV3a192aWV3X3NldHRp
bmdfbG9jYWxfc3RvcmFnZV9kYXRhYmFzZV9wYXRoX3NldChhcHAtPmJyb3dzZXIsIHVzZXJBcmdz
LT5kYXRhYmFzZVBhdGgpOworICAgIGV3a192aWV3X3NldHRpbmdfZW5hYmxlX2ZyYW1lX2ZsYXR0
ZW5pbmdfc2V0KGFwcC0+YnJvd3NlciwgdXNlckFyZ3MtPmlzRmxhdHRlbmluZyk7CiAgICAgCisg
ICAgYXBwLT51c2VyQXJncyA9IHVzZXJBcmdzOwogICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFw
cC0+YnJvd3NlciwgImJyb3dzZXIiKTsKIAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZChhcHAtPmJyb3dzZXIsICJ0aXRsZSxjaGFuZ2VkIiwgb25fdGl0bGVfY2hhbmdlZCwgYXBw
KTsKQEAgLTgwMSw2ICs4MDQsNyBAQCBmaW5kVGhlbWVQYXRoKGNvbnN0IGNoYXIgKnRoZW1lKQog
ICAgICAgICB0aGVtZSA9IGRlZmF1bHRfdGhlbWU7CiAKICAgICBycGF0aCA9IGVjb3JlX2ZpbGVf
cmVhbHBhdGgodGhlbWUpOworCiAgICAgaWYgKCFzdHJsZW4ocnBhdGgpIHx8IHN0YXQocnBhdGgs
ICZzdCkpIHsKICAgICAgICAgZnJlZShycGF0aCk7CiAgICAgICAgIHJldHVybiBOVUxMOwpAQCAt
ODEwLDQxICs4MTQsNTcgQEAgZmluZFRoZW1lUGF0aChjb25zdCBjaGFyICp0aGVtZSkKIH0KIAog
aW50CitwYXJzZVVzZXJBcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgVXNlcl9Bcmd1
bWVudHMgKnVzZXJBcmdzKQoreworICAgIGludCBhcmdzOworCisgICAgdXNlckFyZ3MtPmVuZ2lu
ZSA9IE5VTEw7CisgICAgdXNlckFyZ3MtPnF1aXRPcHRpb24gPSBFSU5BX0ZBTFNFOworICAgIHVz
ZXJBcmdzLT5iYWNraW5nU3RvcmUgPSAoY2hhciAqKWJhY2tpbmdTdG9yZXNbMV07CisgICAgdXNl
ckFyZ3MtPmlzRmxhdHRlbmluZyA9IEVJTkFfRkFMU0U7CisgICAgdXNlckFyZ3MtPmlzRnVsbHNj
cmVlbiA9IEVJTkFfRkFMU0U7CisgICAgdXNlckFyZ3MtPmdlb21ldHJ5LnggPSAwOworICAgIHVz
ZXJBcmdzLT5nZW9tZXRyeS55ID0gMDsKKyAgICB1c2VyQXJncy0+Z2VvbWV0cnkudyA9IDA7Cisg
ICAgdXNlckFyZ3MtPmdlb21ldHJ5LmggPSAwOworICAgIHVzZXJBcmdzLT50aGVtZSA9IE5VTEw7
CisgICAgdXNlckFyZ3MtPnVzZXJBZ2VudCA9IE5VTEw7CisKKyAgICBFY29yZV9HZXRvcHRfVmFs
dWUgdmFsdWVzW10gPSB7CisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9TVFIodXNlckFyZ3Mt
PmVuZ2luZSksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5xdWl0
T3B0aW9uKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+YmFja2lu
Z1N0b3JlKSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX0JPT0wodXNlckFyZ3MtPmlzRmxh
dHRlbmluZyksCisgICAgICAgIEVDT1JFX0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5pc0Z1
bGxzY3JlZW4pLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfUFRSX0NBU1QodXNlckFyZ3Mt
Pmdlb21ldHJ5KSwKKyAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih1c2VyQXJncy0+dGhl
bWUpLAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfU1RSKHVzZXJBcmdzLT51c2VyQWdlbnQp
LAorICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfSU5UKHZlcmJvc2UpLAorICAgICAgICBFQ09S
RV9HRVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JF
X0dFVE9QVF9WQUxVRV9CT09MKHVzZXJBcmdzLT5xdWl0T3B0aW9uKSwKKyAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0JPT0wodXNlckFyZ3MtPnF1aXRPcHRpb24pLAorICAgICAgICBFQ09SRV9H
RVRPUFRfVkFMVUVfQk9PTCh1c2VyQXJncy0+cXVpdE9wdGlvbiksCisgICAgICAgIEVDT1JFX0dF
VE9QVF9WQUxVRV9OT05FCisgICAgfTsKKworICAgIGVjb3JlX2FwcF9hcmdzX3NldChhcmdjLCAo
Y29uc3QgY2hhcioqKSBhcmd2KTsKKyAgICBhcmdzID0gZWNvcmVfZ2V0b3B0X3BhcnNlKCZvcHRp
b25zLCB2YWx1ZXMsIGFyZ2MsIGFyZ3YpOworCisgICAgdGhlbWVQYXRoID0gZmluZFRoZW1lUGF0
aCh1c2VyQXJncy0+dGhlbWUpOworCisgICAgcmV0dXJuIGFyZ3M7Cit9CisKK2ludAogbWFpbihp
bnQgYXJnYywgY2hhciAqYXJndltdKQogewogICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRfdXJsID0g
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOwotCi0gICAgRWluYV9SZWN0YW5nbGUgZ2VvbWV0cnkg
PSB7MCwgMCwgMCwgMH07Ci0gICAgY2hhciAqdXNlckFnZW50ID0gTlVMTDsKICAgICBjb25zdCBj
aGFyICp0bXA7CiAgICAgY29uc3QgY2hhciAqcHJveHlVcmk7CiAgICAgY2hhciBwYXRoW1BBVEhf
TUFYXTsKLQotICAgIGNoYXIgKmVuZ2luZSA9IE5VTEw7Ci0gICAgY2hhciAqdGhlbWUgPSBOVUxM
OwotICAgIGNoYXIgKmJhY2tpbmdTdG9yZSA9IChjaGFyICopYmFja2luZ1N0b3Jlc1sxXTsKLQot
ICAgIHVuc2lnbmVkIGNoYXIgcXVpdE9wdGlvbiA9IDA7Ci0gICAgdW5zaWduZWQgY2hhciBpc0Zs
YXR0ZW5pbmcgPSAwOwotICAgIHVuc2lnbmVkIGNoYXIgaXNGdWxsc2NyZWVuID0gMDsKICAgICBp
bnQgYXJnczsKIAotICAgIEVjb3JlX0dldG9wdF9WYWx1ZSB2YWx1ZXNbXSA9IHsKLSAgICAgICAg
RUNPUkVfR0VUT1BUX1ZBTFVFX1NUUihlbmdpbmUpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFM
VUVfQk9PTChxdWl0T3B0aW9uKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUihiYWNr
aW5nU3RvcmUpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChpc0ZsYXR0ZW5pbmcp
LAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChpc0Z1bGxzY3JlZW4pLAotICAgICAg
ICBFQ09SRV9HRVRPUFRfVkFMVUVfUFRSX0NBU1QoZ2VvbWV0cnkpLAotICAgICAgICBFQ09SRV9H
RVRPUFRfVkFMVUVfU1RSKHRoZW1lKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX1NUUih1
c2VyQWdlbnQpLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfSU5UKHZlcmJvc2UpLAotICAg
ICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0T3B0aW9uKSwKLSAgICAgICAgRUNPUkVf
R0VUT1BUX1ZBTFVFX0JPT0wocXVpdE9wdGlvbiksCi0gICAgICAgIEVDT1JFX0dFVE9QVF9WQUxV
RV9CT09MKHF1aXRPcHRpb24pLAotICAgICAgICBFQ09SRV9HRVRPUFRfVkFMVUVfQk9PTChxdWl0
T3B0aW9uKSwKLSAgICAgICAgRUNPUkVfR0VUT1BUX1ZBTFVFX05PTkUKLSAgICB9OworICAgIFVz
ZXJfQXJndW1lbnRzIHVzZXJBcmdzOwogCiAgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkKICAg
ICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKQEAgLTg2MCwxNiArODgwLDEzIEBAIG1haW4oaW50
IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKICAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKICAgICB9
CiAKLSAgICBlY29yZV9hcHBfYXJnc19zZXQoYXJnYywgKGNvbnN0IGNoYXIqKikgYXJndik7Ci0g
ICAgYXJncyA9IGVjb3JlX2dldG9wdF9wYXJzZSgmb3B0aW9ucywgdmFsdWVzLCBhcmdjLCBhcmd2
KTsKLQorICAgIGFyZ3MgPSBwYXJzZVVzZXJBcmd1bWVudHMoYXJnYywgYXJndiwgJnVzZXJBcmdz
KTsKICAgICBpZiAoYXJncyA8IDApCiAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVS
Uk9SOiBjb3VsZCBub3QgcGFyc2Ugb3B0aW9ucy5cbiIpOwogCi0gICAgaWYgKHF1aXRPcHRpb24p
CisgICAgaWYgKHVzZXJBcmdzLnF1aXRPcHRpb24pCiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFf
VFJVRSwgTlVMTCk7CiAKLSAgICB0aGVtZVBhdGggPSBmaW5kVGhlbWVQYXRoKHRoZW1lKTsKICAg
ICBpZiAoIXRoZW1lUGF0aCkKICAgICAgICAgcmV0dXJuIHF1aXQoRUlOQV9GQUxTRSwgIkVSUk9S
OiBjb3VsZCBub3QgZmluZCB0aGVtZS5cbiIpOwogCkBAIC04ODEsNiArODk4LDggQEAgbWFpbihp
bnQgYXJnYywgY2hhciAqYXJndltdKQogICAgIGlmICghZWNvcmVfZmlsZV9ta3BhdGgocGF0aCkp
CiAgICAgICAgIHJldHVybiBxdWl0KEVJTkFfRkFMU0UsICJFUlJPUjogY291bGQgbm90IGNyZWF0
ZSBzZXR0aW5ncyBkYXRhYmFzZSBkaXJlY3RvcnkuXG4iKTsKIAorICAgIHVzZXJBcmdzLmRhdGFi
YXNlUGF0aCA9IHBhdGg7CisKICAgICBld2tfc2V0dGluZ3NfaWNvbl9kYXRhYmFzZV9wYXRoX3Nl
dChwYXRoKTsKICAgICBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KHBhdGgpOwog
CkBAIC04OTAsMTAgKzkwOSwxMCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAKICAg
ICBpZiAoYXJncyA8IGFyZ2MpIHsKICAgICAgICAgY2hhciAqdXJsID0gdXJsX2Zyb21fdXNlcl9p
bnB1dChhcmd2W2FyZ3NdKTsKLSAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsIHRoZW1lUGF0aCwg
dXNlckFnZW50LCBnZW9tZXRyeSwgZW5naW5lLCBiYWNraW5nU3RvcmUsIGlzRmxhdHRlbmluZywg
aXNGdWxsc2NyZWVuLCBwYXRoKTsKKyAgICAgICAgYnJvd3NlckNyZWF0ZSh1cmwsICZ1c2VyQXJn
cyk7CiAgICAgICAgIGZyZWUodXJsKTsKICAgICB9IGVsc2UKLSAgICAgICAgYnJvd3NlckNyZWF0
ZShkZWZhdWx0X3VybCwgdGhlbWVQYXRoLCB1c2VyQWdlbnQsIGdlb21ldHJ5LCBlbmdpbmUsIGJh
Y2tpbmdTdG9yZSwgaXNGbGF0dGVuaW5nLCBpc0Z1bGxzY3JlZW4sIHBhdGgpOworICAgICAgICBi
cm93c2VyQ3JlYXRlKGRlZmF1bHRfdXJsLCAmdXNlckFyZ3MpOwogCiAgICAgZWNvcmVfZXZlbnRf
aGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2lnbmFsX2V4aXQsICZ3
aW5kb3dzKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>