Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ jobs:

- name: Install libmicrohttpd dependency
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.64.tar.gz -o libmicrohttpd-0.9.64.tar.gz ;
tar -xzf libmicrohttpd-0.9.64.tar.gz ;
cd libmicrohttpd-0.9.64 ;
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz ;
tar -xzf libmicrohttpd-1.0.3.tar.gz ;
cd libmicrohttpd-1.0.3 ;
./configure --disable-examples ;
make ;
sudo make install ;
Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,21 +78,21 @@ jobs:
id: cache-libmicrohttpd
uses: actions/cache@v4
with:
path: libmicrohttpd-0.9.77
key: ubuntu-latest-gcc-libmicrohttpd-0.9.77-pre-built-v2
path: libmicrohttpd-1.0.3
key: ubuntu-latest-gcc-libmicrohttpd-1.0.3-pre-built-v2

- name: Build libmicrohttpd (if not cached)
if: steps.cache-libmicrohttpd.outputs.cache-hit != 'true'
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
cd libmicrohttpd-0.9.77
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
cd libmicrohttpd-1.0.3
./configure --disable-examples
make

- name: Install libmicrohttpd
run: |
cd libmicrohttpd-0.9.77
cd libmicrohttpd-1.0.3
sudo make install
sudo ldconfig

Expand Down Expand Up @@ -130,21 +130,21 @@ jobs:
id: cache-libmicrohttpd
uses: actions/cache@v4
with:
path: libmicrohttpd-0.9.77
key: ubuntu-latest-gcc-libmicrohttpd-0.9.77-pre-built-v2
path: libmicrohttpd-1.0.3
key: ubuntu-latest-gcc-libmicrohttpd-1.0.3-pre-built-v2

- name: Build libmicrohttpd (if not cached)
if: steps.cache-libmicrohttpd.outputs.cache-hit != 'true'
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
cd libmicrohttpd-0.9.77
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
cd libmicrohttpd-1.0.3
./configure --disable-examples
make

- name: Install libmicrohttpd
run: |
cd libmicrohttpd-0.9.77
cd libmicrohttpd-1.0.3
sudo make install
sudo ldconfig

Expand Down Expand Up @@ -181,21 +181,21 @@ jobs:
id: cache-libmicrohttpd
uses: actions/cache@v4
with:
path: libmicrohttpd-0.9.77
key: macos-latest-gcc-libmicrohttpd-0.9.77-pre-built-v2
path: libmicrohttpd-1.0.3
key: macos-latest-gcc-libmicrohttpd-1.0.3-pre-built-v2

- name: Build libmicrohttpd (if not cached)
if: steps.cache-libmicrohttpd.outputs.cache-hit != 'true'
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
cd libmicrohttpd-0.9.77
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
cd libmicrohttpd-1.0.3
./configure --disable-examples
make

- name: Install libmicrohttpd
run: |
cd libmicrohttpd-0.9.77
cd libmicrohttpd-1.0.3
sudo make install

- name: Fetch curl from cache
Expand Down Expand Up @@ -263,9 +263,9 @@ jobs:

- name: Build and install libmicrohttpd
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
cd libmicrohttpd-0.9.77
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
cd libmicrohttpd-1.0.3
./configure --disable-examples --enable-poll=no
make
make install
Expand Down
38 changes: 19 additions & 19 deletions .github/workflows/verify-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -511,30 +511,30 @@ jobs:
id: cache-libmicrohttpd
uses: actions/cache@v4
with:
path: libmicrohttpd-0.9.77
key: ${{ matrix.os }}-${{ matrix.c-compiler }}-libmicrohttpd-0.9.77-pre-built-v2
path: libmicrohttpd-1.0.3
key: ${{ matrix.os }}-${{ matrix.c-compiler }}-libmicrohttpd-1.0.3-pre-built-v2
if: ${{ matrix.os-type != 'windows' && matrix.build-type != 'no-dauth' && matrix.compiler-family != 'arm-cross' }}

- name: Build libmicrohttpd dependency (if not cached)
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz ;
tar -xzf libmicrohttpd-0.9.77.tar.gz ;
cd libmicrohttpd-0.9.77 ;
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz ;
tar -xzf libmicrohttpd-1.0.3.tar.gz ;
cd libmicrohttpd-1.0.3 ;
./configure --disable-examples ;
make ;
if: ${{ matrix.os-type != 'windows' && matrix.build-type != 'no-dauth' && matrix.compiler-family != 'arm-cross' && steps.cache-libmicrohttpd.outputs.cache-hit != 'true' }}

- name: Build libmicrohttpd without digest auth (no-dauth test)
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz ;
tar -xzf libmicrohttpd-0.9.77.tar.gz ;
cd libmicrohttpd-0.9.77 ;
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz ;
tar -xzf libmicrohttpd-1.0.3.tar.gz ;
cd libmicrohttpd-1.0.3 ;
./configure --disable-examples --disable-dauth ;
make ;
if: ${{ matrix.build-type == 'no-dauth' }}

- name: Install libmicrohttpd
run: cd libmicrohttpd-0.9.77 ; sudo make install ;
run: cd libmicrohttpd-1.0.3 ; sudo make install ;
if: ${{ matrix.os-type != 'windows' && matrix.compiler-family != 'arm-cross' }}

- name: Verify digest auth is disabled (no-dauth test)
Expand All @@ -550,9 +550,9 @@ jobs:
- name: Build and install libmicrohttpd (Windows)
if: ${{ matrix.os-type == 'windows' }}
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
cd libmicrohttpd-0.9.77
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
cd libmicrohttpd-1.0.3
./configure --disable-examples --enable-poll=no
make
make install
Expand All @@ -561,16 +561,16 @@ jobs:
id: cache-libmicrohttpd-arm
uses: actions/cache@v4
with:
path: libmicrohttpd-0.9.77-${{ matrix.build-type }}
key: ${{ matrix.os }}-${{ matrix.build-type }}-libmicrohttpd-0.9.77-cross-compiled
path: libmicrohttpd-1.0.3-${{ matrix.build-type }}
key: ${{ matrix.os }}-${{ matrix.build-type }}-libmicrohttpd-1.0.3-cross-compiled
if: ${{ matrix.compiler-family == 'arm-cross' }}

- name: Cross-compile libmicrohttpd for ARM
run: |
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-0.9.77.tar.gz -o libmicrohttpd-0.9.77.tar.gz
tar -xzf libmicrohttpd-0.9.77.tar.gz
mv libmicrohttpd-0.9.77 libmicrohttpd-0.9.77-${{ matrix.build-type }}
cd libmicrohttpd-0.9.77-${{ matrix.build-type }}
curl https://s3.amazonaws.com/libhttpserver/libmicrohttpd_releases/libmicrohttpd-1.0.3.tar.gz -o libmicrohttpd-1.0.3.tar.gz
tar -xzf libmicrohttpd-1.0.3.tar.gz
mv libmicrohttpd-1.0.3 libmicrohttpd-1.0.3-${{ matrix.build-type }}
cd libmicrohttpd-1.0.3-${{ matrix.build-type }}
mkdir -p ${{ github.workspace }}/arm-sysroot
if [ "${{ matrix.build-type }}" = "arm32" ]; then
./configure --host=arm-linux-gnueabihf --prefix=${{ github.workspace }}/arm-sysroot --disable-examples --disable-doc
Expand All @@ -583,7 +583,7 @@ jobs:

- name: Install cross-compiled libmicrohttpd from cache
run: |
cd libmicrohttpd-0.9.77-${{ matrix.build-type }}
cd libmicrohttpd-1.0.3-${{ matrix.build-type }}
mkdir -p ${{ github.workspace }}/arm-sysroot
make install
if: ${{ matrix.compiler-family == 'arm-cross' && steps.cache-libmicrohttpd-arm.outputs.cache-hit == 'true' }}
Expand Down
22 changes: 22 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
Version 0.20.0

Raised minimum libmicrohttpd requirement to 1.0.0.
Migrated Basic Auth to v3 API (MHD_basic_auth_get_username_password3,
MHD_queue_basic_auth_required_response3) with UTF-8 support.
Migrated Digest Auth to v3 API (MHD_digest_auth_check3,
MHD_digest_auth_check_digest3, MHD_queue_auth_required_response3)
with SHA-512/256 support, userhash, nonce binding, and structured
digest_auth_result enum. Default algorithm changed to SHA-256.
Added new response types: empty_response, pipe_response, iovec_response.
Added external event loop integration: webserver::run(), run_wait(),
get_fdset(), get_timeout(), add_connection().
Added daemon management: quiesce(), get_listen_fd(),
get_active_connections(), get_bound_port().
Added daemon options: listen_backlog, address_reuse,
connection_memory_increment, tcp_fastopen_queue_size,
sigpipe_handled_by_app, https_mem_dhparams, https_key_password,
https_priorities_append, no_alpn, client_discipline_level.
Added startup flags: no_listen_socket, no_thread_safety, turbo,
suppress_date_header.
Added WebSocket support (conditional on HAVE_WEBSOCKET):
websocket_handler, websocket_session, register_ws_resource().
Added utility functions: reason_phrase(), is_feature_supported(),
get_mhd_version().
Added example and documentation for serving binary data from memory
using string_response (addresses PR #368).
Added conditional compilation for basic auth (HAVE_BAUTH), mirroring
Expand Down
Loading
Loading