mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-10-31 09:20:21 +00:00
fix installer bootstrap
This commit is contained in:
parent
14de93066a
commit
e7fe345b7c
@ -2445,13 +2445,27 @@ url_parser_url_t *parsed_url;
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *memncat(a, an, b, bn, s)
|
||||||
|
const void *a;
|
||||||
|
size_t an;
|
||||||
|
const void *b;
|
||||||
|
size_t bn;
|
||||||
|
size_t s;
|
||||||
|
{
|
||||||
|
char *p = malloc(s * (an + bn));
|
||||||
|
memset(p, '\0', s * (an + bn));
|
||||||
|
memcpy(p, a, an*s);
|
||||||
|
memcpy(p + an*s, b, bn*s);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
|
||||||
main(argc, argv)
|
main(argc, argv)
|
||||||
char** argv; /* It never occurred to me that this was writable to begin with... */
|
char** argv; /* It never occurred to me that this was writable to begin with... */
|
||||||
{
|
{
|
||||||
DWORD version, major, minor, build, flags;
|
DWORD version, major, minor, build, flags;
|
||||||
int r, len;
|
int r, len;
|
||||||
FILE *bootstrapRC;
|
FILE *bootstrapRC;
|
||||||
char path[MAX_PATH], buf[512], port[8];
|
char path[MAX_PATH], buf[1024], port[8];
|
||||||
char *ua, *rq, *resp, *uri, *savePath;
|
char *ua, *rq, *resp, *uri, *savePath;
|
||||||
url_parser_url_t *parsed_uri;
|
url_parser_url_t *parsed_uri;
|
||||||
|
|
||||||
@ -2555,12 +2569,12 @@ char** argv; /* It never occurred to me that this was writable to begin with...
|
|||||||
memset(rq, 0, 4096);
|
memset(rq, 0, 4096);
|
||||||
len = 0;
|
len = 0;
|
||||||
do {
|
do {
|
||||||
r = mbedtls_ssl_read(&ssl, (unsigned char*)buf, 512);
|
r = mbedtls_ssl_read(&ssl, (unsigned char*)buf, 1024);
|
||||||
if (r <= 0)
|
if (r <= 0)
|
||||||
break;
|
break;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strncat(rq, buf, r);
|
rq = memncat(rq, len, buf, r, sizeof(char));
|
||||||
len += r;
|
len += r;
|
||||||
}
|
}
|
||||||
} while (r);
|
} while (r);
|
||||||
@ -2575,10 +2589,11 @@ char** argv; /* It never occurred to me that this was writable to begin with...
|
|||||||
snprintf(path, MAX_PATH, savePath);
|
snprintf(path, MAX_PATH, savePath);
|
||||||
resp = strstr(rq, "Content-Length");
|
resp = strstr(rq, "Content-Length");
|
||||||
r = strcspn(resp, "0123456789");
|
r = strcspn(resp, "0123456789");
|
||||||
snprintf(buf, 4, "%s", &resp[r]);
|
memcpy(buf, &resp[r], 4);
|
||||||
|
buf[3] = '\0';
|
||||||
r = atoi(buf);
|
r = atoi(buf);
|
||||||
resp = strstr(rq, "\r\n\r\n");
|
resp = strstr(rq, "\r\n\r\n");
|
||||||
snprintf(buf, r, "%s", &resp[4]);
|
memcpy(buf, &resp[4], r);
|
||||||
printf("Writing %s...\n", path);
|
printf("Writing %s...\n", path);
|
||||||
bootstrapRC = fopen(path, "wb");
|
bootstrapRC = fopen(path, "wb");
|
||||||
fwrite(buf, 1, r, bootstrapRC);
|
fwrite(buf, 1, r, bootstrapRC);
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user