Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

travis: use go stable, (second try) #4403

Closed
wants to merge 3 commits into from

Conversation

@jay
Copy link
Member

jay commented Sep 23, 2019

Mac builds have been failing since 52db0b8 was added to use go stable in all builds. Based on the failures it looks like gimme is not available in Mac images? I've written support to find out but also I'd like to see if it's possible to limit getting go latest stable to just the boringssl builds.

Ref: #4361

@jay jay force-pushed the bagder/travis-boringssl-go branch from 5ad50d9 to 52b264a Sep 24, 2019
@jay

This comment has been minimized.

Copy link
Member Author

jay commented Sep 24, 2019

Is something else affecting the two boringssl builds? i don't see why this

url.c: In function ‘Curl_connect’:
url.c:1883:13: error: offset outside bounds of constant string [-Werror]
     hostname++;

curl/lib/url.c

Lines 1872 to 1888 in 4a778f7

hostname = data->state.up.hostname;
if(!hostname)
/* this is for file:// transfers, get a dummy made */
hostname = (char *)"";
if(hostname[0] == '[') {
/* This looks like an IPv6 address literal. See if there is an address
scope. */
size_t hlen;
conn->bits.ipv6_ip = TRUE;
/* cut off the brackets! */
hostname++;
hlen = strlen(hostname);
hostname[hlen - 1] = 0;
zonefrom_url(uh, conn);
}

confused by (char *)"" maybe. i wonder if it would be confused even if const char *hostname. bad practice anyway so how about char empty[]=""; then later there if (!hostname) hostname = empty;

@bagder

This comment has been minimized.

Copy link
Member

bagder commented Sep 24, 2019

Try it. And the check for '[' could use an else too...

Attempt to address this:

url.c: In function ‘Curl_connect’:
url.c:1883:13: error: offset outside bounds of constant string [-Werror]
     hostname++;
             ^
@bagder

This comment has been minimized.

Copy link
Member

bagder commented Sep 24, 2019

That seems to have done it!

@jay

This comment has been minimized.

Copy link
Member Author

jay commented Sep 24, 2019

That seems to have done it!

Yeah but we're still lying to the compiler, bad practice...

In other news support says gimme is not preinstalled on mac VMs so they would need if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install gimme; fi but I think it's easier to just limit it to the two boringssl builds as above.

how about this

diff --git a/lib/url.c b/lib/url.c
index e4c4793..a6794a3 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1869,12 +1869,10 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
 
   (void)curl_url_get(uh, CURLUPART_QUERY, &data->state.up.query, 0);
 
+  /* note file:// transfers may not have a hostname */
   hostname = data->state.up.hostname;
-  if(!hostname)
-    /* this is for file:// transfers, get a dummy made */
-    hostname = (char *)"";
 
-  if(hostname[0] == '[') {
+  if(hostname && hostname[0] == '[') {
     /* This looks like an IPv6 address literal. See if there is an address
        scope. */
     size_t hlen;
@@ -1888,7 +1886,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
   }
 
   /* make sure the connect struct gets its own copy of the host name */
-  conn->host.rawalloc = strdup(hostname);
+  conn->host.rawalloc = strdup(hostname ? hostname : "");
   if(!conn->host.rawalloc)
     return CURLE_OUT_OF_MEMORY;
   conn->host.name = conn->host.rawalloc;

comment probably unnecessary now since code speaks for it

@bagder

This comment has been minimized.

Copy link
Member

bagder commented Sep 24, 2019

sure, that works for me!

@bagder

This comment has been minimized.

Copy link
Member

bagder commented Sep 24, 2019

I think it's easier to just limit it to the two boringssl builds as above.

For now, yes. I think it would be valuable to add those builds to osx too though so it could be worth testing out that solution. But let's do that in a separate PR.

@bagder bagder closed this in 7c7dac4 Sep 25, 2019
bagder added a commit that referenced this pull request Sep 25, 2019
Closes #4403
@bagder bagder deleted the bagder/travis-boringssl-go branch Sep 25, 2019
flosch-dev added a commit to flosch-dev/freetz that referenced this pull request Nov 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.