Skip to content

Instantly share code, notes, and snippets.

Dustin Oprea dsoprea

View GitHub Profile
dsoprea / ssl_nonblocking_client.c
Created Jan 24, 2019
Non-Blocking SSL Client
View ssl_nonblocking_client.c
// Name : SSLClient.cpp
// Compiling : g++ -c -o SSLClient.o SSLClient.cpp
// g++ -o SSLClient SSLClient.o -lssl -lcrypto
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <openssl/ssl.h>
dsoprea / ssl_server_nonblock.c
Created Jan 24, 2019 — forked from darrenjs/ssl_server_nonblock.c
OpenSSL example using memory BIO with non-blocking socket IO
View ssl_server_nonblock.c
This file had now been added to the git repo
... which also includes a non blocking client example.
ssl_server_nonblock.c -- Copyright 2017 Darren Smith -- MIT license
dsoprea /
Last active Jun 23, 2018
LDAP Lookups Against Active Directory with Python
import logging
import ldap
import collections
# Install:
# apt: libsasl2-dev
# pip: python-ldap
dsoprea /
Created May 22, 2018
Tool to recursively strip all extended characters from all non-hidden files
#!/usr/bin/env python3
import sys
import os
import argparse
import shutil
_DESCRIPTION = "Strip extended characters from all non-hidden files in a path."
def _get_args():
dsoprea /
Created May 4, 2018
Script to squash the last Git commit
#!/bin/bash -e
HEAD_COMMIT_MESSAGE=$(git log --format=%B -1 HEAD)
# For safety. Our use-case is usually to always just squash into a commit
# that's associated with an active change. We really don't want lose our head
# and accidentally squash something that wasn't intended to be squashed.
if [[ "${HEAD_COMMIT_MESSAGE}" != SQUASH* ]]; then
echo "SQUASH: Commit to be squashed should have 'SQUASH' as its commit-message."
exit 1
dsoprea /
Last active Nov 29, 2016
Resolve a Go import path to the actual URL that hosts that package
#!/usr/bin/env python3.5
A simple module to resolve a Go import path to the actual URL that hosts that
package. Sometimes these are not equal and you mustload one URL (and zero or
more redirects) until we encounter a meta tag that specifies the true import
- requests
- beautifulsoup4
dsoprea / mssql_encryption_backup_restore_encrypt_test.sql
Last active Nov 17, 2016
SQL Server: Backup and Restore Credentials, and Test Encryption
View mssql_encryption_backup_restore_encrypt_test.sql
-- To run this script more than once, make sure to delete c:\temp\test.dmk,
-- c:\temp\test.smk, c:\temp\test.crt, and c:\temp\test.crt.key .
DECLARE @ExpectedSignature VARBINARY(8000);
DECLARE @ActualSignature VARBINARY(8000);
DECLARE @Encrypted VARBINARY(8000);
DECLARE @Decrypted VARBINARY(8000);
DECLARE @TestString VARCHAR(100) = 'protected string';
dsoprea / Program.cs
Last active Oct 17, 2016
C# code for the properties that can retrieve the version embedded in the executable:
View Program.cs
class Program
private string executableVersion = null;
private string ExecutableVersion
if (executableVersion == null)
dsoprea / build.targets
Last active Oct 17, 2016
build.targets file for injecting version from a text-file to the AssemblyInfo.cs file:
View build.targets
<?xml version="1.0" encoding="utf-8" ?>
<Project ToolsVersion="12.0" xmlns="">
<!-- Inject a version from a text-file into AssemblyVersion.cs . We do this
so that it's easier for the application to know its own version [by
reading the text file].
<Import Project="$(ProjectDir)..\packages\MSBuildTasks.\tools\MSBuild.Community.Tasks.Targets" />
<Target Name="InjectVersion" BeforeTargets="BeforeBuild">
<!-- Read the version from our text file. This appears to automatically
dsoprea / Vagrantfile
Created Aug 2, 2016
Importing fully-qualified "appengine" package causes unsafe/syscall errors
View Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
$script = <<SCRIPT
apt-get update
apt-get install -y unzip git
wget -nv
You can’t perform that action at this time.