mirror of
https://github.com/mii443/libdatachannel.git
synced 2025-08-24 07:59:23 +00:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
284db56615 | |||
46a3d58cb8 | |||
dd05e4b8ce | |||
f57b860649 | |||
24e7872695 | |||
8348b70ee6 | |||
9a343d5301 | |||
c198ffd994 | |||
6eb92301fb |
22
.github/workflows/build-gnutls.yml
vendored
22
.github/workflows/build-gnutls.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build-ubuntu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -18,7 +18,23 @@ jobs:
|
|||||||
- name: cmake
|
- name: cmake
|
||||||
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=1
|
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=1
|
||||||
- name: make
|
- name: make
|
||||||
run: (cd build; make)
|
run: (cd build; make -j2)
|
||||||
|
- name: test
|
||||||
|
run: ./build/tests
|
||||||
|
build-macos:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install packages
|
||||||
|
run: brew install gnutls nettle
|
||||||
|
- name: submodules
|
||||||
|
run: git submodule update --init --recursive
|
||||||
|
- name: cmake
|
||||||
|
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=1
|
||||||
|
env:
|
||||||
|
# hack to bypass EPERM issue on sendto()
|
||||||
|
CFLAGS: -DJUICE_ENABLE_ADDRS_LOCALHOST
|
||||||
|
- name: make
|
||||||
|
run: (cd build; make -j2)
|
||||||
- name: test
|
- name: test
|
||||||
run: ./build/tests
|
run: ./build/tests
|
||||||
|
|
||||||
|
4
.github/workflows/build-nice.yml
vendored
4
.github/workflows/build-nice.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build-ubuntu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -18,7 +18,7 @@ jobs:
|
|||||||
- name: cmake
|
- name: cmake
|
||||||
run: cmake -B build -DUSE_JUICE=0 -DUSE_GNUTLS=1
|
run: cmake -B build -DUSE_JUICE=0 -DUSE_GNUTLS=1
|
||||||
- name: make
|
- name: make
|
||||||
run: (cd build; make)
|
run: (cd build; make -j2)
|
||||||
- name: test
|
- name: test
|
||||||
run: ./build/tests
|
run: ./build/tests
|
||||||
|
|
||||||
|
24
.github/workflows/build-openssl.yml
vendored
24
.github/workflows/build-openssl.yml
vendored
@ -7,7 +7,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build-ubuntu:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@ -18,7 +18,25 @@ jobs:
|
|||||||
- name: cmake
|
- name: cmake
|
||||||
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=0
|
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=0
|
||||||
- name: make
|
- name: make
|
||||||
run: (cd build; make)
|
run: (cd build; make -j2)
|
||||||
|
- name: test
|
||||||
|
run: ./build/tests
|
||||||
|
build-macos:
|
||||||
|
runs-on: macos-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: install packages
|
||||||
|
run: brew reinstall openssl@1.1
|
||||||
|
- name: submodules
|
||||||
|
run: git submodule update --init --recursive
|
||||||
|
- name: cmake
|
||||||
|
run: cmake -B build -DUSE_JUICE=1 -DUSE_GNUTLS=0
|
||||||
|
env:
|
||||||
|
OPENSSL_ROOT_DIR: /usr/local/opt/openssl
|
||||||
|
OPENSSL_LIBRARIES: /usr/local/opt/openssl/lib
|
||||||
|
# hack to bypass EPERM issue on sendto()
|
||||||
|
CFLAGS: -DJUICE_ENABLE_ADDRS_LOCALHOST
|
||||||
|
- name: make
|
||||||
|
run: (cd build; make -j2)
|
||||||
- name: test
|
- name: test
|
||||||
run: ./build/tests
|
run: ./build/tests
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
cmake_minimum_required (VERSION 3.7)
|
cmake_minimum_required (VERSION 3.7)
|
||||||
project (libdatachannel
|
project (libdatachannel
|
||||||
DESCRIPTION "WebRTC DataChannels Library"
|
DESCRIPTION "WebRTC DataChannels Library"
|
||||||
VERSION 0.5.0
|
VERSION 0.5.1
|
||||||
LANGUAGES CXX)
|
LANGUAGES CXX)
|
||||||
|
|
||||||
option(USE_GNUTLS "Use GnuTLS instead of OpenSSL" OFF)
|
option(USE_GNUTLS "Use GnuTLS instead of OpenSSL" OFF)
|
||||||
|
2
deps/libjuice
vendored
2
deps/libjuice
vendored
Submodule deps/libjuice updated: 511b19f516...6f6faa5783
@ -60,12 +60,19 @@ bool Candidate::resolve(ResolveMode mode) {
|
|||||||
if (mIsResolved)
|
if (mIsResolved)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
PLOG_VERBOSE << "Resolving candidate (mode="
|
||||||
|
<< (mode == ResolveMode::Simple ? "simple" : "lookup")
|
||||||
|
<< "): " << mCandidate;
|
||||||
|
|
||||||
// See RFC 8445 for format
|
// See RFC 8445 for format
|
||||||
std::stringstream ss(mCandidate);
|
std::istringstream iss(mCandidate);
|
||||||
int component{0}, priority{0};
|
int component{0}, priority{0};
|
||||||
string foundation, transport, node, service, typ_, type;
|
string foundation, transport, node, service, typ_, type;
|
||||||
if (ss >> foundation >> component >> transport >> priority &&
|
if (iss >> foundation >> component >> transport >> priority &&
|
||||||
ss >> node >> service >> typ_ >> type && typ_ == "typ") {
|
iss >> node >> service >> typ_ >> type && typ_ == "typ") {
|
||||||
|
|
||||||
|
string left;
|
||||||
|
std::getline(iss, left);
|
||||||
|
|
||||||
// Try to resolve the node
|
// Try to resolve the node
|
||||||
struct addrinfo hints = {};
|
struct addrinfo hints = {};
|
||||||
@ -94,15 +101,13 @@ bool Candidate::resolve(ResolveMode mode) {
|
|||||||
if (getnameinfo(p->ai_addr, p->ai_addrlen, nodebuffer, MAX_NUMERICNODE_LEN,
|
if (getnameinfo(p->ai_addr, p->ai_addrlen, nodebuffer, MAX_NUMERICNODE_LEN,
|
||||||
servbuffer, MAX_NUMERICSERV_LEN,
|
servbuffer, MAX_NUMERICSERV_LEN,
|
||||||
NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
|
NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
|
||||||
string left;
|
|
||||||
std::getline(ss, left);
|
|
||||||
const char sp{' '};
|
const char sp{' '};
|
||||||
ss.clear();
|
std::ostringstream oss;
|
||||||
ss << foundation << sp << component << sp << transport << sp << priority;
|
oss << foundation << sp << component << sp << transport << sp << priority;
|
||||||
ss << sp << nodebuffer << sp << servbuffer << sp << "typ" << sp << type;
|
oss << sp << nodebuffer << sp << servbuffer << sp << "typ" << sp << type;
|
||||||
if (!left.empty())
|
oss << left;
|
||||||
ss << left;
|
mCandidate = oss.str();
|
||||||
mCandidate = ss.str();
|
PLOG_VERBOSE << "Resolved candidate: " << mCandidate;
|
||||||
return mIsResolved = true;
|
return mIsResolved = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -254,7 +254,8 @@ certificate_ptr make_certificate_impl(string commonName) {
|
|||||||
throw std::runtime_error("Unable to generate key pair");
|
throw std::runtime_error("Unable to generate key pair");
|
||||||
|
|
||||||
const size_t serialSize = 16;
|
const size_t serialSize = 16;
|
||||||
const auto *commonNameBytes = reinterpret_cast<const unsigned char *>(commonName.c_str());
|
auto *commonNameBytes =
|
||||||
|
reinterpret_cast<unsigned char *>(const_cast<char *>(commonName.c_str()));
|
||||||
|
|
||||||
if (!X509_gmtime_adj(X509_get_notBefore(x509.get()), 3600 * -1) ||
|
if (!X509_gmtime_adj(X509_get_notBefore(x509.get()), 3600 * -1) ||
|
||||||
!X509_gmtime_adj(X509_get_notAfter(x509.get()), 3600 * 24 * 365) ||
|
!X509_gmtime_adj(X509_get_notAfter(x509.get()), 3600 * 24 * 365) ||
|
||||||
|
Reference in New Issue
Block a user