<?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>33903</bug_id>
          
          <creation_ts>2010-01-20 07:29:28 -0800</creation_ts>
          <short_desc>FTBFS on GNU/kFreeBSD caused by missing strnstr() on glibc systems</short_desc>
          <delta_ts>2010-10-21 12:57:14 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></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>0</everconfirmed>
          <reporter name="Fathi Boudra">fabo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bladehawke</cc>
    
    <cc>darin</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>182790</commentid>
    <comment_count>0</comment_count>
      <attachid>47028</attachid>
    <who name="Fathi Boudra">fabo</who>
    <bug_when>2010-01-20 07:29:28 -0800</bug_when>
    <thetext>Created attachment 47028
fix kfreebsd ftbfs

While building Qt 4.6.1 on GNU/kFreeBSD, it fails to build from scratch:
websockets/WebSocketHandshake.cpp: In member function ‘int WebCore::WebSocketHandshake::readServerHandshake(const char*, size_t)’:
websockets/WebSocketHandshake.cpp:255: error: ‘strnstr’ was not declared in this scope

it&apos;s caused by the missing strnstr() function on glibc systems.

webkit trunk should be also affected as the source code found on Qt 4.6.1 is similar.

Please, find attached an initial patch to fix the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182815</commentid>
    <comment_count>1</comment_count>
      <attachid>47028</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-20 08:32:59 -0800</bug_when>
    <thetext>Comment on attachment 47028
fix kfreebsd ftbfs

Platforms that happen to have glibc are not OS(LINUX) and just because that&apos;s handy at one particular call site does not mean this is the correct way to do it.

The right way to do this is to change the check at the strnstr definition, perhaps as described in the FIXME in StringExtras.h.

Maciej Stachowiak is working on rationalizing Platform.h and might have a suggestion on the correct way to handle this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182816</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-01-20 08:33:08 -0800</bug_when>
    <thetext>Also, patches need a change log entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>182820</commentid>
    <comment_count>3</comment_count>
    <who name="Fathi Boudra">fabo</who>
    <bug_when>2010-01-20 08:43:27 -0800</bug_when>
    <thetext>that&apos;s what I mean by &quot;initial&quot; patch :)
I&apos;m just waiting someone points me the way to go for a proper fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297584</commentid>
    <comment_count>4</comment_count>
      <attachid>71477</attachid>
    <who name="Anton Faern">bladehawke</who>
    <bug_when>2010-10-21 12:54:59 -0700</bug_when>
    <thetext>Created attachment 71477
Patch to use HAVE_STRNSTRN</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297586</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Faern">bladehawke</who>
    <bug_when>2010-10-21 12:56:14 -0700</bug_when>
    <thetext>Proposed patch addresses the above and will help other affected platforms (like NetBSD) whose libc implementations lack strnstr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297587</commentid>
    <comment_count>6</comment_count>
      <attachid>71477</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-21 12:57:14 -0700</bug_when>
    <thetext>Comment on attachment 71477
Patch to use HAVE_STRNSTRN

This patch will break non-configure-based platforms that have strnstr, which is the majority of platforms we support. Platform.h needs to set HAVE_STRNSTR for those platforms.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>47028</attachid>
            <date>2010-01-20 07:29:28 -0800</date>
            <delta_ts>2010-06-10 20:34:08 -0700</delta_ts>
            <desc>fix kfreebsd ftbfs</desc>
            <filename>ftbfs_kfreebsd.diff</filename>
            <type>text/plain</type>
            <size>298</size>
            <attacher name="Fathi Boudra">fabo</attacher>
            
              <data encoding="base64">Rml4IEZUQkZTIG9uIEdOVS9rRnJlZUJTRCBjYXVzZWQgYnkgbWlzc2luZyBzdHJuc3RyKCkgb24g
Z2xpYmMgc3lzdGVtcy4KCi0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCisrKyBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMzUsNyArMzM1LDcgQEAKICNlbmRp
ZgogCiAvKiBPUyhMSU5VWCkgLSBMaW51eCAqLwotI2lmZGVmIF9fbGludXhfXworI2lmIGRlZmlu
ZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fR0xJQkNfXykKICNkZWZpbmUgV1RGX09TX0xJTlVY
IDEKICNlbmRpZgogCg==
</data>
<flag name="review"
          id="29382"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71477</attachid>
            <date>2010-10-21 12:54:59 -0700</date>
            <delta_ts>2010-10-21 12:57:14 -0700</delta_ts>
            <desc>Patch to use HAVE_STRNSTRN</desc>
            <filename>WebKitStrnstr.patch</filename>
            <type>text/plain</type>
            <size>2012</size>
            <attacher name="Anton Faern">bladehawke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0OTlmZjY1Li4wNTIwZmNm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTAtMTAtMjEgIEFudG9uIEZhZXJuICA8YW50b25AYmxhZGVoYXdrZS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzOTAzCisKKyAgICAgICAgVGVzdCBmb3Igc3RybnN0
cgorCisgICAgICAgICogY29uZmlndXJlLmFjOgorCiAyMDEwLTEwLTE5ICBSeXVhbiBDaG9pICA8
cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBhZGRpbmcgbWlz
c2VkIGFkZGl0aW9uYWxBcmd1bWVudHMuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggM2FjNTkxNS4uZWFhNzlhNSAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEwLTIxICBBbnRvbiBGYWVybiAgPGFu
dG9uQGJsYWRlaGF3a2UuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMzkw
MworCisgICAgICAgIEFkZHJlc3MgRklYTUU6IGluIHd0Zi9TdHJpbmdFeHRyYXMuaCB0byB1c2Ug
SEFWRV9TVFJOU1RSCisgICAgICAgIGluc3RlYWQgb2YgYWRkaW5nIGFkZGl0aW9uYWwgcGxhdGZv
cm1zIHRvIHRoZSBhbHJlYWR5CisgICAgICAgIG92ZXJsb25nIGNvbmRpdGlvbmFsCisKKyAgICAg
ICAgKiB3dGYvU3RyaW5nRXh0cmFzLmg6CisKIDIwMTAtMTAtMTkgIEt3YW5nIFl1bCBTZW8gIDxz
a3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBLaWx6ZXIu
CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvU3RyaW5nRXh0cmFzLmggYi9KYXZhU2Ny
aXB0Q29yZS93dGYvU3RyaW5nRXh0cmFzLmgKaW5kZXggNDczYmIyMi4uNWM4NmVkOSAxMDA2NDQK
LS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL1N0cmluZ0V4dHJhcy5oCisrKyBiL0phdmFTY3JpcHRD
b3JlL3d0Zi9TdHJpbmdFeHRyYXMuaApAQCAtMTAwLDggKzEwMCw3IEBAIGlubGluZSBpbnQgc3Ry
Y2FzZWNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIpCiAKICNlbmRpZgogCi0jaWYg
Q09NUElMRVIoTVNWQykgfHwgQ09NUElMRVIoUlZDVCkgfHwgT1MoV0lORE9XUykgfHwgT1MoTElO
VVgpIHx8IE9TKFNPTEFSSVMpCi0vLyBGSVhNRTogc2hvdWxkIGNoZWNrIEhBVkVfU1RSTlNUUgor
I2lmbmRlZiBIQVZFX1NUUk5TVFIKIAogaW5saW5lIGNoYXIqIHN0cm5zdHIoY29uc3QgY2hhciog
YnVmZmVyLCBjb25zdCBjaGFyKiB0YXJnZXQsIHNpemVfdCBidWZmZXJMZW5ndGgpCiB7CmRpZmYg
LS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggZGZmYmU3Ny4uNmRkNWE2
NiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtMTA2LDYg
KzEwNiw5IEBAIEFDX0NIRUNLX0hFQURFUlMoW3B0aHJlYWQuaF0sCiAgICAgICAgICAgICAgICAg
IEFDX01TR19FUlJPUihbcHRocmVhZCBzdXBwb3J0IGlzIHJlcXVpcmVkIHRvIGJ1aWxkIFdlYktp
dF0pKQogZmkKIAorIyBzdHJuc3RyIGlzIG1pc3Npbmcgb24gYSBzaWduaWZpY2FudCBudW1iZXIg
b2YgcGxhdGZvcm1zLCBzbyB0ZXN0IGZvciBpdAorQUNfQ0hFQ0tfRlVOQyhbc3RybnN0cl0pCisK
ICMgY2hlY2sgZm9yIGxpYmpwZWcgdGhlIHdheSBHdGsgZG9lcyBpdC4KIEFDX0NIRUNLX0xJQihq
cGVnLCBqcGVnX2Rlc3Ryb3lfZGVjb21wcmVzcywKICAgICAgICAgICAgICAgICAgICBqcGVnX29r
PXllcywganBlZ19vaz1ubwo=
</data>
<flag name="review"
          id="61525"
          type_id="1"
          status="-"
          setter="darin"
    />
    <flag name="commit-queue"
          id="61526"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>