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 / base64decode.c
Created December 5, 2022 09:19
base64 decode performance test
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#define F "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\x01\xff"
#define F2 F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
int main(void)
{
printf("%s\n", curl_version());
@bagder
bagder / base64encoder.c
Created December 4, 2022 22:29
base64 emcoding test program
#include <stdio.h>
#include <string.h>
#include <curl/curl.h>
#define F "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\x01\xff"
#define F2 F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F F
#define F3 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2 F2
#define F4 F3 F3
int main(void)
@bagder
bagder / output.txt
Last active December 2, 2022 12:37
curl -w %{certs}
curl [master]$ ./src/curl -w '%{certs}\n' https://curl.se/ -s -o /dev/null
Subject:CN = curl.se
Issuer:C = US, O = Let's Encrypt, CN = R3
Version:2
Serial Number:03439cffb072ac0cf6e9e08c4cf8b12fca6a
Signature Algorithm:sha256WithRSAEncryption
Public Key Algorithm:rsaEncryption
X509v3 Key Usage:Digital Signature, Key Encipherment
X509v3 Extended Key Usage:TLS Web Server Authentication, TLS Web Client Authentication
@bagder
bagder / boringbuild.sh
Created December 1, 2022 14:28
build boringssl for curl
#!/bin/sh
CXX=g++ CC=gcc cmake -H. -Bbuild -GNinja -DCMAKE_BUILD_TYPE=release -DBUILD_SHARED_LIBS=1 && cmake --build build
mkdir -p lib
cp ./build/crypto/libcrypto.so ./lib/
cp ./build/ssl/libssl.so ./lib/
cmake --build build --target clean
rm -f build/CMakeCache.txt
CXX="g++" CC="gcc" cmake -H. -Bbuild -GNinja -DCMAKE_POSITION_INDEPENDENT_CODE=on && cmake --build build
@bagder
bagder / speedparse.c
Last active September 6, 2022 14:01
speedparse -- bechmark the the libcurl URL parser
/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
@bagder
bagder / URLs.txt
Last active July 19, 2022 15:16
CA cert bundle PEM files from the past
https://curl.se/ca/cacert-2016-01-20.pem
https://curl.se/ca/cacert-2016-04-20.pem
https://curl.se/ca/cacert-2016-09-07.pem
https://curl.se/ca/cacert-2016-09-14.pem
https://curl.se/ca/cacert-2016-11-02.pem
https://curl.se/ca/cacert-2017-01-18.pem
https://curl.se/ca/cacert-2017-06-07.pem
https://curl.se/ca/cacert-2017-09-20.pem
https://curl.se/ca/cacert-2018-01-17.pem
https://curl.se/ca/cacert-2018-03-07.pem

Script

#!/bin/env sh

# http://haxx.se 
# http://daniel.haxx.se

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
@bagder
bagder / license.diff
Created April 25, 2022 21:29
MIT vs curl.license
--- MIT 2022-04-25 23:28:50.245418175 +0200
+++ curl.license 2022-04-25 23:25:31.659638391 +0200
@@ -1,14 +1,15 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so.
+Permission to use, copy, modify, and distribute this software for any purpose
@bagder
bagder / license.diff
Created April 25, 2022 21:27
diff ISC vs curl license
--- ISC 2022-04-25 23:26:32.464186270 +0200
+++ curl.license 2022-04-25 23:25:31.659638391 +0200
@@ -1,11 +1,15 @@
-Permission to use, copy, modify, and /or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
+Permission to use, copy, modify, and distribute this software for any purpose
+with or without fee is hereby granted, provided that the above copyright
+notice and this permission notice appear in all copies.
@bagder
bagder / 0001-http2-handle-DONE-called-for-the-paused-stream.patch
Created March 31, 2022 21:30
http2: handle DONE called for the paused stream
From 4fb969e547f0fcc59e7e40662d0b799b0581f03d Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Thu, 31 Mar 2022 23:28:35 +0200
Subject: [PATCH] http2: handle DONE called for the paused stream
As it could otherwise stall all streams on the connection
---
lib/http2.c | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)