Skip to content

Instantly share code, notes, and snippets.

View bagder's full-sized avatar
⌨️
mostly typos

Daniel Stenberg bagder

⌨️
mostly typos
View GitHub Profile
@bagder
bagder / scorecard.md
Created December 7, 2023 12:09
perf-testing #12468

icing-cw-part5+h2

scoring h2
TLS Handshake
  curl.se...ipv4...ipv6...ok.
  google.com...ipv4...ipv6...ok.
  cloudflare.com...ipv4...ipv6...ok.
  nghttp2.org...ipv4...ipv6...ok.
httpd downloads
@bagder
bagder / compare.md
Last active November 17, 2023 16:01
URL parsers compared. libcurl vs ada
@bagder
bagder / speedada.cpp
Last active November 17, 2023 15:55
measure ada URL parsing the same way speedparse does
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
@bagder
bagder / speedparse.c
Created November 17, 2023 14:58
measure libcurl URL parsing speed
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
@bagder
bagder / scheme2num.c
Last active November 17, 2023 10:46
generate a perfect hash for curl scheme matching
#include <stdio.h>
#include <curl/curl.h>
struct detail {
const char *n;
const char *ifdef;
};
static const struct detail scheme[] = {
{"dict", "#ifndef CURL_DISABLE_DICT" },
@bagder
bagder / agenda.md
Last active October 23, 2023 07:44
A two to three hour libcurl video tutorial

This is going to become a live-stream video "class" done by Daniel in November 2023. Also recorded for Youtube of course.

The exact date/time is pending. This is the tentative agenda. What are you missing from here?

Mastering libcurl

  • The project
  • Getting libcurl
  • API and ABI
  • Architecture
@bagder
bagder / form.patch
Created September 22, 2023 13:19
formdata patch for 32 bit
diff --git a/lib/formdata.c b/lib/formdata.c
index 8984b6322..11b6f1687 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -787,10 +787,15 @@ static CURLcode setname(curl_mimepart *part, const char *name, size_t len)
res = curl_mime_name(part, zname);
free(zname);
return res;
}
@bagder
bagder / 539.patch
Created August 28, 2023 06:19
fix for lib539.c ?
diff --git a/tests/libtest/lib539.c b/tests/libtest/lib539.c
index 0e8aada4b..75f146c00 100644
--- a/tests/libtest/lib539.c
+++ b/tests/libtest/lib539.c
@@ -68,11 +68,11 @@ int test(char *URL)
return TEST_ERR_MAJOR_BAD;
}
slist = curl_slist_append(NULL, "SYST");
if(!slist) {
@bagder
bagder / h2upgrade.patch
Last active July 31, 2023 14:59
patch for Richard W.M. Jones' "Curl segfault in curl_multi_perform"
diff --git a/lib/url.c b/lib/url.c
index 73f2da4ba..8eecfc421 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -1071,10 +1071,13 @@ ConnectionExists(struct Curl_easy *data,
(needle->handler->protocol & PROTO_FAMILY_HTTP)));
#else
bool wantProxyNTLMhttp = FALSE;
#endif
#endif
@bagder
bagder / curl-in-two-hours-agenda.md
Last active February 17, 2024 12:08
Master curl in two hours. A video course by Daniel

The idea is to make a two and a half hour (give or take) video course explaining and detailing curl, the command line tool. How it works, how to use it, from the basics to some more advanced uses. This will be done by Daniel Stenberg, founder and lead developer of the curl project.

The recording and live-stream is scheduled for August 31, 2023. In the US morning and Euro evening.

See blog post for details.

The project (10 min)