Skip to content

Instantly share code, notes, and snippets.

#include <iostream>
#include <variant>
#include <optional>
#include <functional>
template<class... As> struct visitor : As... { using As::operator()...; };
template<class... As> visitor(As...) -> visitor<As...>;
template<class A>
struct Ok {
@abedra
abedra / example.ml
Created July 3, 2018 12:06
ocaml / mirageos unikernel webserver secure headers
let add_headers (path: string): Cohttp.Header.t =
Cohttp.Header.add_list (Cohttp.Header.init ()) [
("Strict-Transport-Security", "max-age=31536000; includeSubdomains; preload");
("Content-Type", (Magic_mime.lookup path));
("X-XSS-Protection", "1; mode=block");
("X-Frame-Options", "DENY");
("X-Content-Type-Options", "nosniff")
]
### Keybase proof
I hereby claim:
* I am abedra on github.
* I am abedra (https://keybase.io/abedra) on keybase.
* I have a public key whose fingerprint is 168B 4D48 5EC9 B3DD F64A E3DF E6E1 3CC0 096E 3379
To claim this, I am signing this object:
@abedra
abedra / broken_sha1.c
Created July 1, 2015 19:41
SHA1 SAW Example
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
uint32_t ROL(uint32_t val, uint32_t shift) {
shift &= 0x1f;
val = (val >> (0x20 - shift)) | (val << shift);
return val;
}
@abedra
abedra / after_fixes
Last active August 29, 2015 14:15
hiredis blocking scenario
perf stat ./client
Error: Read timed out
Performance counter stats for './client':
0.963859 task-clock (msec) # 0.081 CPUs utilized
3 context-switches # 0.003 M/sec
0 cpu-migrations # 0.000 K/sec
236 page-faults # 0.245 M/sec
<not supported> cycles
@abedra
abedra / gist:2f676e2b39bc36c61fc1
Last active August 29, 2015 14:09
La mole del Diablo (Chocolate ancho chili porter)
Base:
1.00 lb Light Dry Extract (8.0 SRM) Dry Extract 11.76 %
4.00 lb Dark Liquid Extract [Boil for 15 min] Extract 47.06 %
2.50 lb Pale Malt, Maris Otter (3.0 SRM) Grain 29.41 %
0.50 lb Caramel/Crystal Malt - 60L (60.0 SRM) Grain 5.88 %
0.50 lb Chocolate Malt (350.0 SRM) Grain 5.88 %
Wyeast 1098: British Ale
@abedra
abedra / gist:9508770
Created March 12, 2014 15:04
keybase.md
### Keybase proof
I hereby claim:
* I am abedra on github.
* I am abedra (https://keybase.io/abedra) on keybase.
* I have a public key whose fingerprint is ED89 9FFC 5FB7 2531 BB30 8D71 0182 350E B06F 006B
To claim this, I am signing this object:
@abedra
abedra / gist:6452133
Created September 5, 2013 15:57
jruby net/sftp error
require "net/sftp"
Net::SFTP.start("127.0.0.1", "vagrant", :port => "22") do |sftp|
puts "hello"
end
java.lang.RuntimeException: java.lang.VerifyError: (class: jnr/netdb/NativeServicesDB$LinuxLibServices$jaffl$2, method: getservent_r signature: (Ljnr/netdb/NativeServicesDB$UnixServent;Lcom/kenai/jaffl/Pointer;Lcom/kenai/jaffl/NativeLong;Lcom/kenai/jaffl/Pointer Expecting to find long on stack
at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.generateInterfaceImpl(AsmLibraryLoader.java:265)
at com.kenai.jaffl.provider.jffi.AsmLibraryLoader.loadLibrary(AsmLibraryLoader.java:110)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:31)
at com.kenai.jaffl.provider.jffi.Provider.loadLibrary(Provider.java:25)
pkglibdir = $(prefix)/lib
pkglib_LTLIBRARIES = standalone.la
#include_HEADERS = re.h modsecurity.h msc_logging.h msc_multipart.h \
# msc_parsers.h msc_pcre.h msc_util.h msc_xml.h \
# persist_dbm.h apache2.h msc_geo.h acmp.h utf8tables.h \
# msc_lua.h msc_release.h
standalone_la_SOURCES = ../apache2/mod_security2.c \
../apache2/apache2_config.c ../apache2/apache2_io.c ../apache2/apache2_util.c \
../apache2/re.c ../apache2/re_operators.c ../apache2/re_actions.c ../apache2/re_tfns.c \
@abedra
abedra / gist:4717281
Created February 5, 2013 20:15
Nginx ModSecurity lua compile errors
objs/addon/modsecurity/ngx_http_modsecurity.o \
objs/addon/modsecurity/apr_bucket_nginx.o \
objs/ngx_modules.o \
-L/usr/local/lib -lpthread -lcrypt ../../ModSecurity/nginx/modsecurity/../../standalone/.libs/standalone.a -lapr-1 -laprutil-1 -lxml2 -lm -lpcre -lcrypto -lcrypto -lz -lGeoIP
../../ModSecurity/nginx/modsecurity/../../standalone/.libs/standalone.a(standalone_la-msc_lua.o): In function `l_setvar':
/home/abedra/src/opensource/knock-knock/ModSecurity/standalone/../apache2/msc_lua.c:363: undefined reference to `lua_gettop'
/home/abedra/src/opensource/knock-knock/ModSecurity/standalone/../apache2/msc_lua.c:366: undefined reference to `lua_getglobal'
/home/abedra/src/opensource/knock-knock/ModSecurity/standalone/../apache2/msc_lua.c:367: undefined reference to `lua_topointer'
/home/abedra/src/opensource/knock-knock/ModSecurity/standalone/../apache2/msc_lua.c:369: undefined reference to `lua_getglobal'
/home/abedra/src/opensource/knock-knock/ModSecurity/standalone/../apache2/msc_lua.c:370: undefined refere