Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: videolabs/libmicrodns
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.0.8
Choose a base ref
...
head repository: videolabs/libmicrodns
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref

Commits on Jan 27, 2018

  1. Copy the full SHA
    a18a9f1 View commit details

Commits on Feb 27, 2018

  1. Split compat.c into smaller units

    When linking libmicrodns into a larger binary, the larger binary
    (an enclosing VLC plugin) might also be providing similar replacements
    for certain functions, like poll and inet_ntop.
    
    If the optional functions are in separate object files, the
    linker may choose not to include them if it already has got a
    definition from another object file - but if all of them are
    bundled up in the same, one can run into multiple definition errors,
    if the linker already has chosen to include the other object file,
    and then later tries to include libmicrodns' compat.o.
    
    This fixes linking into the VLC plugin when linked with LLD.
    mstorsjo authored and jbkempf committed Feb 27, 2018
    Copy the full SHA
    4c45d12 View commit details
  2. Include windows.h before checking the _WIN32_WINNT version

    The default value of _WIN32_WINNT isn't something that is built into
    the compiler, but is defined by the toolchain headers.
    
    Include windows.h after including ws2tcpip.h/winsock2.h, since those
    headers should be included in that particular order.
    mstorsjo authored and jbkempf committed Feb 27, 2018
    Copy the full SHA
    0a65bf3 View commit details
  3. Copy the full SHA
    fe95893 View commit details

Commits on Mar 1, 2018

  1. Fix more of the same crash

    jbkempf committed Mar 1, 2018
    Copy the full SHA
    efdf275 View commit details

Commits on Mar 19, 2018

  1. Update NEWS

    chouquette committed Mar 19, 2018
    Copy the full SHA
    45fce78 View commit details
  2. Bump version to 0.0.10

    chouquette committed Mar 19, 2018
    Copy the full SHA
    b96302a View commit details

Commits on Oct 23, 2018

  1. build: fix getifaddrs detection

    Before this was determined by the presence of a struct member, but for
    android target, the NDK will provide the struct but not necessarily the
    related functions.
    Psilokos authored and tguillem committed Oct 23, 2018
    Copy the full SHA
    b9b10be View commit details
  2. fix dummy mdns_list_interfaces

    In case multicast_if is a valid struct and not a void *. This can happen when
    getifaddr headers are present but not the function.
    tguillem committed Oct 23, 2018
    Copy the full SHA
    f5a9f81 View commit details

Commits on Mar 20, 2019

  1. compat: use WCHAR directly

    Instead of pretending it can be a CHAR, when the next call is
    WideCharToMultiByte().
    robUx4 authored and chouquette committed Mar 20, 2019
    Copy the full SHA
    1650b3d View commit details

Commits on Aug 13, 2019

  1. Copy the full SHA
    4c721e8 View commit details
  2. don't use gai_strerror on WinRT

    It's not available.
    robUx4 authored and tguillem committed Aug 13, 2019
    Copy the full SHA
    b976b56 View commit details

Commits on Aug 21, 2019

  1. Copy the full SHA
    3876182 View commit details
  2. Fix warnings in announce example

    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    6b5a3ad View commit details
  3. Fix warning in listen example

    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    8bd5f80 View commit details
  4. Separate announce and listen callbacks

    Add mdns_ip to announce callback to build A/AAAA record with correct IP address
    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    0b34f06 View commit details
  5. Add mdns_ip to mdns_conn

    Remove duplicated family field
    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    e3cfec0 View commit details
  6. Add missing malloc NULL check and free

    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    6ae904f View commit details
  7. Store interface ip address and pass to callback

    On Windows, the first unicast address is chosen.
    
    Update announce example to respond with the address of the interface in which it received the request.
    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    476664a View commit details
  8. Update announce example

    - Listen for correct record type (RR_PTR)
    - Respond with all answer entries required to correctly announce a service
    - Add IPv6 support to example
    rolznz authored and tguillem committed Aug 21, 2019
    Copy the full SHA
    a8c1fec View commit details
  9. Bump version to 0.0.11

    tguillem committed Aug 21, 2019
    Copy the full SHA
    237fc38 View commit details

Commits on Aug 22, 2019

  1. Copy the full SHA
    a12486a View commit details

Commits on Sep 26, 2019

  1. Copy the full SHA
    2a2e3cd View commit details

Commits on Oct 8, 2019

  1. repo structure: move headers to new include/microdns folder

    With that change, libmicrodns can be used as a meson subproject
    without requiring the parent project to use a different include
    path.
    
    This also makes the examples more readily copypastable, as the
    include is switched from `#include "microdns.h"` to
    `#include <microdns/microdns.h`, which is how external compilation
    units are expected to perform the inclusion.
    
    In addition, this also removes the unneeded compat.h inclusion from
    the announce example, this has been tested and is known to compile
    on Windows with mingw / MSYS2.
    MathieuDuponchelle authored and chouquette committed Oct 8, 2019
    Copy the full SHA
    a91b3ea View commit details

Commits on Oct 14, 2019

  1. Update AUTHORS file

    jbkempf committed Oct 14, 2019
    Copy the full SHA
    75f4737 View commit details
  2. Copy the full SHA
    52f1cee View commit details
  3. Update the README (a bit)

    jbkempf committed Oct 14, 2019
    Copy the full SHA
    49a5dd9 View commit details

Commits on Oct 15, 2019

  1. announce: fix clang warning

    error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces]
    MathieuDuponchelle authored and jbkempf committed Oct 15, 2019
    Copy the full SHA
    0de4839 View commit details
  2. mdns: fix clang warning

    error: cast from 'struct sockaddr *' to 'struct sockaddr_in *' increases required alignment from 2 to 4 [-Werror,-Wcast-align]
    MathieuDuponchelle authored and jbkempf committed Oct 15, 2019
    Copy the full SHA
    1c90e81 View commit details
  3. build: compile with MSVC

    MathieuDuponchelle authored and jbkempf committed Oct 15, 2019
    Copy the full SHA
    d608bd2 View commit details

Commits on Oct 18, 2019

  1. meson: fix order of compiler flags

    -Wall and -Wextra should be added before suppression flags
    such as -Wno-unused-parameter
    MathieuDuponchelle authored and chouquette committed Oct 18, 2019
    Copy the full SHA
    87e6b72 View commit details

Commits on Feb 5, 2020

  1. include: Move utils.h out of the public headers directory

    This makes it more explicit that the microdns/ directory is for public
    headers only
    chouquette committed Feb 5, 2020
    Copy the full SHA
    f9055ad View commit details

Commits on Mar 19, 2020

  1. Copy the full SHA
    0103f40 View commit details
  2. Copy the full SHA
    89de67f View commit details
  3. Copy the full SHA
    0f5b814 View commit details
  4. Copy the full SHA
    f0e8a72 View commit details
  5. rr_decode: Refactor name compression

    Add an `offset` variable to store the offset instead of `len`, and fix
    an implicit type conversion warning
    chouquette committed Mar 19, 2020
    Copy the full SHA
    5f1e07a View commit details
  6. Copy the full SHA
    e23d278 View commit details
  7. Copy the full SHA
    80860fa View commit details
  8. Copy the full SHA
    4fb1828 View commit details
  9. Copy the full SHA
    9768bdb View commit details
  10. rr_decode: Fix potential double free

    Now that we are always releasing the rr_entry and all its data, we might
    end up freeing the domain names twice
    chouquette committed Mar 19, 2020
    Copy the full SHA
    219b180 View commit details
  11. mdns: Split mdns_recv in 2 functions

    One that handles the actual receiving, and one that actually parses the
    payload
    chouquette committed Mar 19, 2020
    Copy the full SHA
    bb95268 View commit details
  12. Split mdns packets writing in a separated function

    So we can fuzz it too
    chouquette committed Mar 19, 2020
    Copy the full SHA
    843bb5f View commit details
  13. Copy the full SHA
    162de97 View commit details
  14. Copy the full SHA
    dcfdc23 View commit details
  15. utils: Fix invalid implicit conversion

    Which fixes a potential integer overflow in read_u32
    chouquette committed Mar 19, 2020
    Copy the full SHA
    8c098f6 View commit details
  16. Copy the full SHA
    eab6fbb View commit details
  17. mdns: Fix incorrect free

    We were trying to release the pointer that we failed to allocate.
    Instead, free the pointer that actually was allocated before
    chouquette committed Mar 19, 2020
    Copy the full SHA
    1a98ec9 View commit details
  18. Copy the full SHA
    06372e6 View commit details
37 changes: 37 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: build

on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
build:
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
cc: clang
- os: ubuntu-latest
cc: gcc
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2

- name: Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo add-apt-repository -y "deb http://archive.ubuntu.com/ubuntu `lsb_release -sc` main universe"
sudo apt-get update -y -qq
sudo apt-get install meson ninja-build
- name: Execute build
env:
CC: ${{ matrix.cc }}
run: |
meson setup build
cd build && ninja
8 changes: 8 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -5,3 +5,11 @@ Steve Lhomme <robux4@videolabs.io>
Jean-Baptiste Kempf <jb@videolan.org>
Diego Elio Pettenò <flameeyes@flameeyes.eu>
Joseph Calderon <calderon.joe@gmail.com>
Hugo Beauzée-Luyssen <hugo@beauzee.fr>
Thomas Guillem <thomas@gllm.fr>
Steve Lhomme <robUx4@gmail.com>
Roland Bewick <roland.bewick@gmail.com>
Martin Storsjö <martin@martin.st>
Mathieu Duponchelle <mathieu@centricular.com>
Victorien Le Couviour--Tuffet <victorien.lecouviour.tuffet@gmail.com>

29 changes: 0 additions & 29 deletions Makefile.am

This file was deleted.

39 changes: 39 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,42 @@
-----------------
libmicrodns 0.2.0
-----------------
* Fix IPv6 support
* Add support for dual IP stack
* Fix invalid 0-length packet payload

-----------------
libmicrodns 0.1.2
-----------------
* Fixes to the new meson buildsystem

-----------------
libmicrodns 0.1.1
-----------------
* Move the buildsystem to meson
* Fix many security issues
* Fix memory leaks

-----------------
libmicrodns 0.1.0
-----------------
* Fix incorrect IPv6 interface index on Windows
* Pass IPv4/IPv6 addresses to announce callbacks
* Improve examples
* Fix warnings and potential crashes
* Port to WinRT/UWP

-----------------
libmicrodns 0.0.10
-----------------
* Fix another crash with interfaces without an IP address

-----------------
libmicrodns 0.0.9
-----------------
* Fix a crash with interfaces without an IP address
* Fixes for building with llvm-mingw

-----------------
libmicrodns 0.0.8
-----------------
29 changes: 20 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,34 @@
microdns
========

microdns is an **mDNS** library, focused on being **simple** and **cross-platform**.

Minimal mDNS resolver (and announcer) library
---------------------------------------------

This is very early stage, use at your OWN risks.
This library **microdns** is still in development, and therefore can still have bugs.

On our way to make it wayyy better :)
The goal is to have a simple library to listen and create mDNS announces,
without the complexity of larger libraries like *avahi*.

This means that the API is quite *low-level* and that the code is in C.
Bindings to other languages are welcome.

Installation
------------
./bootstrap

mkdir build && cd build
License
-------

microdns is available under the LGPL license. People who want *(or need)* a commercial license can acquire one.

../configure

make
CoC
---

# make install
The [VideoLAN Code of Conduct](https://wiki.videolan.org/CoC) applies to this project.


Installation
------------
meson builddir && ninja -C builddir

# ninja -C builddir install
6 changes: 0 additions & 6 deletions bootstrap

This file was deleted.

Loading