<?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>201945</bug_id>
          
          <creation_ts>2019-09-18 14:49:51 -0700</creation_ts>
          <short_desc>[WPE][GTK] BubblewrapLauncher fails when prgname is long</short_desc>
          <delta_ts>2019-09-23 06:59:57 -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>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Patrick Griffis">pgriffis</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>pgriffis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1572099</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-09-18 14:49:51 -0700</bug_when>
    <thetext>Create an Epiphany web app with homepage https://gitlab.gnome.org/GNOME/gnome-calendar/-/boards and title &quot;Calendário | GitLab Board&quot;. Launching the web app will fail with this error:

bwrap: Can&apos;t find source path /run/user/1000/epiphany-calendário-|-gitlab-board-7a7ee47e494991831fefdce8763b44fba593ba63/dbus-proxy-G0AJ8Z: No such file or directory

Problem is that two characters are truncated off the address of the socket that gets created.

Actually, WebKit creates this socket properly first, using g_mkstemp(). Then xdg-dbus-proxy unlinks it in flatpak_proxy_start(), in flatpak-proxy.c, and recreates it by creating a GUnixSocketAddress and then calling g_socket_listener_add_address(). Problem occurs when creating the GUnixSocketAddress. It truncates the path down to UNIX_PATH_MAX characters, which is only 108 on Linux.

E.g. this debug patch:

diff --git a/gio/gunixsocketaddress.c b/gio/gunixsocketaddress.c
index 27e195e47..f36ae3dad 100644
--- a/gio/gunixsocketaddress.c
+++ b/gio/gunixsocketaddress.c
@@ -104,6 +104,9 @@ g_unix_socket_address_set_property (GObject      *object,
       str = g_value_get_string (value);
       if (str)
        {
+          if (strlen (str) &gt;= UNIX_PATH_MAX)
+            g_warning (&quot;Socket address %s will be truncated because its length %zd exceeds maximum length %lu&quot;, str, strlen (str), UNIX_PATH_MAX - 1);
+
          g_strlcpy (address-&gt;priv-&gt;path, str,
                     sizeof (address-&gt;priv-&gt;path));
          address-&gt;priv-&gt;path_len = strlen (address-&gt;priv-&gt;path);

Results in the warning:

(process:140099): GLib-GIO-WARNING **: 16:47:45.169: Socket address /run/user/1000/epiphany-calendário-|-gitlab-board-7a7ee47e494991831fefdce8763b44fba593ba63/dbus-proxy-GND97Z will be truncated because its length 109 exceeds maximum length 107

So... yeah, not sure what to do here. We could truncate the prgname, or just not use the prgname at all in the path, since it&apos;s not really needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572324</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-09-19 05:37:13 -0700</bug_when>
    <thetext>*** Bug 201979 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1572325</commentid>
    <comment_count>2</comment_count>
      <attachid>379123</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2019-09-19 05:43:10 -0700</bug_when>
    <thetext>Created attachment 379123
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573278</commentid>
    <comment_count>3</comment_count>
      <attachid>379123</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-09-23 06:18:12 -0700</bug_when>
    <thetext>Comment on attachment 379123
Patch

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

&gt; Source/WebKit/UIProcess/Launcher/glib/BubblewrapLauncher.cpp:138
&gt; -        GUniquePtr&lt;char&gt; appRunDir(g_build_filename(g_get_user_runtime_dir(), g_get_prgname(), nullptr));
&gt; +        GUniquePtr&lt;char&gt; appRunDir(g_build_filename(g_get_user_runtime_dir(), BASE_DIRECTORY, nullptr));

Even better would be to print a warning with WTFLogAlways if strlen(appRunDir.get()) exceeds sizeof(((struct sockaddr_un*) nullptr)-&gt;sun_path) - 1. Assuming my math isn&apos;t off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573288</commentid>
    <comment_count>4</comment_count>
      <attachid>379123</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-23 06:59:56 -0700</bug_when>
    <thetext>Comment on attachment 379123
Patch

Clearing flags on attachment: 379123

Committed r250231: &lt;https://trac.webkit.org/changeset/250231&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1573289</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-23 06:59:57 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379123</attachid>
            <date>2019-09-19 05:43:10 -0700</date>
            <delta_ts>2019-09-23 06:59:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201945-20190919054310.patch</filename>
            <type>text/plain</type>
            <size>1983</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5ODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRkMWM1NTQ5ZDJiOGFhY2Fl
Y2MxYjE4NTViYjRhNjBiMmMwODJlYTEuLjg2YjA0ZGNmNGI4MmM1ZmQzOTAxMzQ5MzQ4ZTcwNjRk
ZjY4MmNhMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTktMDktMTkgIFBhdHJpY2sg
R3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bV1BFXSBEb24n
dCB1c2UgcHJnbmFtZSBpbiBkYnVzLXByb3h5IHNvY2tldCBwYXRoCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDE5NzkKKworICAgICAgICBUaGUgcGF0
aCBsZW5ndGggZm9yIHRoZSBzb2NrZXQgaXMgbGltaXRlZCB0byAxMDggYnl0ZXMgc28gaXQgaXMg
ZWFzeSBmb3IgYSBsb25nCisgICAgICAgIHByZ25hbWUgdG8gY2F1c2UgaXQgdG8gZ2V0IHRydW5j
YXRlZCBhbmQgZmFpbC4gU2luY2Ugd2Ugb25seSBhbGxvdyB0aGUgc29ja2V0CisgICAgICAgIHBh
dGggaW50byB0aGUgc2FuZGJveCB0aGUgdW5pcXVlIGRpcmVjdG9yeSBpc24ndCBuZWNlc3Nhcnku
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1bmNoZXIuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpYREdEQnVzUHJveHlMYXVuY2hlcjo6c2V0QWRkcmVzcyk6CisKIDIwMTktMDgtMTUgIFBh
dHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV1bR1RL
XSBBZGQgc3VwcG9ydCBmb3IgY2xpZW50IGNlcnRpZmljYXRlIGF1dGhlbnRpY2F0aW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0J1YmJsZXdyYXBM
YXVuY2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9MYXVuY2hlci9nbGliL0J1YmJs
ZXdyYXBMYXVuY2hlci5jcHAKaW5kZXggOGQxMjY4YTk4YzkyZmEzNjJlNGUxNmVjZjQ3ZGY1YTJh
N2IyMzFjYS4uY2M4YTM5ZDY1MWFjZmY5ZDY4ZTAwMDU5MDZjYjVhMzQxZmQ1N2Y0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTGF1bmNoZXIvZ2xpYi9CdWJibGV3cmFwTGF1
bmNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0xhdW5jaGVyL2dsaWIvQnVi
Ymxld3JhcExhdW5jaGVyLmNwcApAQCAtMzAsNiArMzAsMTIgQEAKICNpbmNsdWRlIDx3dGYvZ2xp
Yi9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPgogCisjaWYgUExB
VEZPUk0oR1RLKQorI2RlZmluZSBCQVNFX0RJUkVDVE9SWSAid2Via2l0Z3RrIgorI2VsaWYgUExB
VEZPUk0oV1BFKQorI2RlZmluZSBCQVNFX0RJUkVDVE9SWSAid3BlIgorI2VuZGlmCisKICNpZiBf
X2hhc19pbmNsdWRlKDxzeXMvbWVtZmQuaD4pCiAKICNpbmNsdWRlIDxzeXMvbWVtZmQuaD4KQEAg
LTEyOSw3ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghZGJ1c1BhdGguZ2V0KCkpCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgR1VuaXF1ZVB0cjxjaGFyPiBhcHBSdW5EaXIo
Z19idWlsZF9maWxlbmFtZShnX2dldF91c2VyX3J1bnRpbWVfZGlyKCksIGdfZ2V0X3ByZ25hbWUo
KSwgbnVsbHB0cikpOworICAgICAgICBHVW5pcXVlUHRyPGNoYXI+IGFwcFJ1bkRpcihnX2J1aWxk
X2ZpbGVuYW1lKGdfZ2V0X3VzZXJfcnVudGltZV9kaXIoKSwgQkFTRV9ESVJFQ1RPUlksIG51bGxw
dHIpKTsKICAgICAgICAgbV9wcm94eVBhdGggPSBtYWtlUHJveHlQYXRoKGFwcFJ1bkRpci5nZXQo
KSkuZ2V0KCk7CiAKICAgICAgICAgbV9zb2NrZXQgPSBkYnVzQWRkcmVzczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>