Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit caaba91
Author: Tijmen de Mes <[email protected]>
Date:   Tue Feb 23 14:57:17 2021 +0100

    Added Content type to SIP message (meetecho#2567)

    * Added 'content_type' to received SIP MESSAGE
    * Added optional content type in sending SIP MESSAGE

commit c9baba9
Author: Alessandro Toppi <[email protected]>
Date:   Tue Feb 23 11:46:50 2021 +0100

    clang/ubsan fixes (meetecho#2556)

    * Fix some clang warnings.
    * Fix UBSanitizer error when sending RTCP SR.

commit beb28be
Author: Tvildo <[email protected]>
Date:   Mon Feb 22 09:46:25 2021 -0800

    add call_id in received sip message (meetecho#2563)

    Add call_id in received SIP MESSAGE and INFO

commit 8246452
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 22 11:51:36 2021 +0100

    Fixed missing mutexes around VideoRoom ACL management

commit 4f8943a
Author: Tristan Matthews <[email protected]>
Date:   Wed Feb 17 09:32:57 2021 -0500

    ice: fix conncheck typo (meetecho#2560)

    No functional change since the typo was used consistently.

commit 27dc51a
Author: nicolasduteil <[email protected]>
Date:   Wed Feb 17 15:27:45 2021 +0100

    feat: add "call_id" to "calling", "declining", "updatingcall" & "incomingcall" events (meetecho#2557)

commit 2c81d02
Author: Hritik Utekar <[email protected]>
Date:   Wed Feb 17 19:54:46 2021 +0530

    Video moderation always returns unmuted (meetecho#2559)

commit 6503f42
Author: Lorenzo Miniero <[email protected]>
Date:   Wed Feb 17 13:53:53 2021 +0100

    Fixed typo in keepalive-conncheck usage

commit 1f45e02
Author: Alessandro Toppi <[email protected]>
Date:   Mon Feb 15 16:38:22 2021 +0100

    Set specific versions for Python 3 and meson in janus-ci yml.

commit d7c9ef0
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 15 15:28:48 2021 +0100

    Added audiocodec/videocodec supporto to 'joinandconfigure' in VideoRoom API

commit ad54495
Author: Lorenzo Miniero <[email protected]>
Date:   Fri Feb 12 15:28:21 2021 +0100

    Add new option to configure ICE nomination mode, if libnice is recent enough (meetecho#2541)

    * Add new option to configure ICE nomination mode, if libnice is recent enough
    * Added support for libnice keepalive-conncheck property

commit af8cc6e
Author: Nadin Zajimovic <[email protected]>
Date:   Fri Feb 12 09:40:36 2021 +0100

    if inviting on destroy, send BYE instead of 480 response (meetecho#2554)

commit ad8bf79
Author: Alessandro Amirante <[email protected]>
Date:   Thu Feb 11 17:49:25 2021 +0100

    Fix typo in videoroom docs.

commit 26f5958
Author: Lorenzo Miniero <[email protected]>
Date:   Wed Feb 10 16:51:19 2021 +0100

    Fixed small leak in VideoRoom

commit 8ab7a00
Author: Alessandro Toppi <[email protected]>
Date:   Tue Feb 9 16:51:37 2021 +0100

    Initialize packet.is_rtp to false.

commit 66cf343
Author: Lorenzo Miniero <[email protected]>
Date:   Tue Feb 9 16:05:37 2021 +0100

    Add resolution and bitrate to Record&Play playback

commit 119d220
Author: Aleksander Guryanov <[email protected]>
Date:   Tue Feb 9 20:33:23 2021 +0700

    Update janus.d.ts (meetecho#2553)

    Function getBitrate() actually returns a string

commit 41399db
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 16:27:14 2021 +0100

    Allow up to 5 (rather than 3) audio/video codecs in the same VideoRoom

commit b81dd6d
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 16:26:19 2021 +0100

    Allow forcing audio/video codec for VideoRoom publishers via query string

commit 576abf5
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 15:17:56 2021 +0100

    Initialize VideoRoom participant recording state when room recording is active (fixes meetecho#2550)

commit 0ba74fb
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 11:53:42 2021 +0100

    Fixed broken AV1 post-processing

commit 09daec4
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 10:46:06 2021 +0100

    Renamed extern janus_callbacks variables in Lua and Duktape plugins (meetecho#2540)

commit 664022b
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 10:41:38 2021 +0100

    Bumped to version 0.11.1

commit 7732127
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Feb 8 10:37:41 2021 +0100

    Updated Changelog (0.10.10)

commit 24a0eec
Author: Lorenzo Miniero <[email protected]>
Date:   Thu Feb 4 11:53:36 2021 +0100

    Videoroom race condition fixes (see meetecho#2509) (meetecho#2539)

    * Fixed missing room references that could cause crashes during race conditions
    * Fixed rare race condition on publisher join

commit 62440c5
Author: Lorenzo Miniero <[email protected]>
Date:   Thu Feb 4 11:52:44 2021 +0100

    Fix parsing of SDP to find payload type matching profiles (fixes meetecho#2544) (meetecho#2549)

commit 794e89a
Author: Bender <[email protected]>
Date:   Wed Feb 3 20:12:02 2021 +0300

    janus.js (meetecho#2548)

    customizeSdp callback added to handleRemoteJsep to be able to mangle remote SDP if needed

commit 213b6c7
Author: Alessandro Toppi <[email protected]>
Date:   Fri Jan 29 12:13:44 2021 +0100

    Make compiler fail if implicit-function-declaration is encountered.

commit dfa8016
Author: Lorenzo Miniero <[email protected]>
Date:   Fri Jan 29 10:21:50 2021 +0100

    Fixed non-portable call to strlcpy, and comment styles, in RabbitMQ code (see meetecho#2430)

commit b7b1e9e
Merge: 19ecf48 c0f0e1e
Author: Alessandro Toppi <[email protected]>
Date:   Fri Jan 29 08:02:18 2021 +0100

    Merge pull request meetecho#2430 from vgrid/master

    Updates RabbitMQ logic

commit 19ecf48
Author: Lorenzo Miniero <[email protected]>
Date:   Thu Jan 28 11:54:55 2021 +0100

    Fixed VideoRoom docs on ICE Restarts for subscribers (fixes meetecho#2537)

commit 2454802
Author: Lorenzo Miniero <[email protected]>
Date:   Wed Jan 27 11:22:13 2021 +0100

    Allow marking of RTP extensions in MJR recordings (meetecho#2527)

commit 0bb49bc
Author: Lorenzo Miniero <[email protected]>
Date:   Wed Jan 27 11:21:09 2021 +0100

    Moderator based muting/unmuting of VideoRoom streams (meetecho#2513)

commit 5e685e3
Author: Lorenzo Miniero <[email protected]>
Date:   Wed Jan 27 11:19:35 2021 +0100

    Reject a=extmap-allow-mixed in SDP, when offered

commit c0f0e1e
Author: Chris Wiggins <[email protected]>
Date:   Wed Jan 27 09:59:02 2021 +1300

    Fix code style comments, also enable routing for direct exchanges

commit 257eb80
Author: Lorenzo Miniero <[email protected]>
Date:   Tue Jan 26 15:00:39 2021 +0100

    Configurable media direction when putting calls on-hold (SIP plugin) (meetecho#2525)

commit 7fb08c2
Author: Lorenzo Miniero <[email protected]>
Date:   Tue Jan 26 12:40:26 2021 +0100

    Added starting DTLS MTU to info returned by Janus API

commit 4d97028
Author: Sami Kuhmonen <[email protected]>
Date:   Tue Jan 26 12:53:14 2021 +0200

    Report fail if binding to a socket fails in websockets (meetecho#2534)

commit 674367a
Author: Evgeniy Baranov <[email protected]>
Date:   Mon Jan 25 12:00:37 2021 +0300

    fix race condition in audiobridge plugin changeroom request (meetecho#2535)

commit 3edb780
Author: Alberto Gonzalez Trastoy <[email protected]>
Date:   Sat Jan 23 14:01:27 2021 -0500

    Janus npm types upgrade (meetecho#2528)

commit 78434aa
Author: August Black <[email protected]>
Date:   Sat Jan 23 12:00:52 2021 -0700

    set webrtc-adapter verstion to 7.4.0 (meetecho#2531)

commit 46a6c71
Author: Lorenzo Miniero <[email protected]>
Date:   Thu Jan 21 13:02:06 2021 +0100

    Reduced verbosity of a few LOG_WARN messages at startup

commit 34f6f89
Author: Andrew Lavrentev <[email protected]>
Date:   Thu Jan 21 14:48:20 2021 +0300

    Feature/enhance typings (meetecho#2518)

commit 16173af
Author: Rémi Vansteelandt <[email protected]>
Date:   Thu Jan 21 05:39:17 2021 -0500

    Fixed secret authentication on GET requests (meetecho#2524)

commit 62d75ab
Author: Nadin Zajimovic <[email protected]>
Date:   Wed Jan 20 11:36:43 2021 +0100

    Dont send bye on early dialog (meetecho#2521)

commit 2141d9b
Author: Yurii Cherniavskyi <[email protected]>
Date:   Wed Jan 20 12:30:30 2021 +0200

    Update Webpack instruction after webrtc-adapter dependency update (meetecho#2519)

commit f994f7c
Author: fbellet <[email protected]>
Date:   Wed Jan 20 11:28:17 2021 +0100

    Close nice agent resources asynchronously (meetecho#2492)

commit 79038e0
Author: Sergey Radionov <[email protected]>
Date:   Tue Jan 19 18:16:03 2021 +0700

    mqttevh: tls support implementation finished (meetecho#2517)

    * mqttevh: tls support implementation finished
    * mqttevh: MQTTASYNC_OPERATION_INCOMPLETE is not error
    * mqttevh: allow send messages while connecting is still in progress

commit 97cd054
Author: Lorenzo Miniero <[email protected]>
Date:   Mon Jan 18 11:24:48 2021 +0100

    Fixed broken webrtc-adapter links (see meetecho#2515)

commit c0570a9
Author: Tristan Matthews <[email protected]>
Date:   Thu Jan 14 13:24:48 2021 -0500

    html: update webrtc-adapter to 7.7.0 (meetecho#2515)

commit f57215a
Author: Lorenzo Miniero <[email protected]>
Date:   Thu Jan 14 10:11:57 2021 +0100

    Updated year in demos and docs

commit bbdd3e4
Author: Chris Wiggins <[email protected]>
Date:   Tue Nov 17 11:49:42 2020 +1300

    Adds back in default outgoing queue behaviour. Adds support for auto-generated queue_names

commit ed1b5c6
Author: Chris Wiggins <[email protected]>
Date:   Thu Nov 12 13:21:08 2020 +1300

    Adds RabbitMQ options for queues, durable, exclusive and autodelete

commit 24594f7
Author: Chris Wiggins <[email protected]>
Date:   Wed Nov 11 18:05:24 2020 +1300

    Check RabbitMQ admin topic in a better way

commit 319c6fc
Author: Chris Wiggins <[email protected]>
Date:   Wed Nov 11 16:09:26 2020 +1300

    Increase RabbitMQ logging on publish

commit 505eeef
Author: Chris Wiggins <[email protected]>
Date:   Tue Nov 10 18:29:59 2020 +1300

    Fix queue_name_admin in rabbitmq transport

commit b3f7ad9
Author: Chris Wiggins <[email protected]>
Date:   Tue Nov 10 18:19:07 2020 +1300

    Update rabbitmq logging information

commit f604aeb
Author: Chris Wiggins <[email protected]>
Date:   Tue Nov 10 17:23:11 2020 +1300

    Updates RabbitMQ logic

    - Publishing to a topic does not require an outgoing queue, just the topic, so the outgoing queues are no longer declared
    - When the janus_exchange_type is topic, we want to be able to name the queue, and then bind an incoming topic from the exchange to that queue, so that functionality has been added
    - This is all backwards compatible with original logic, and won't break existing logic
  • Loading branch information
Bogdanov Kirill committed Mar 10, 2021
1 parent 8f18feb commit 5ab4ae6
Show file tree
Hide file tree
Showing 68 changed files with 1,269 additions and 375 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/janus-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,11 @@ jobs:
if: ${{ matrix.deps_from_src == 'yes' }}
uses: actions/setup-python@v2
with:
python-version: '3.x'
python-version: '3.8.5'
architecture: 'x64'
- name: install python packages
if: ${{ matrix.deps_from_src == 'yes' }}
run: pip3 install wheel meson
run: pip3 install -Iv wheel meson==0.54.3
- name: setup libnice from sources
if: ${{ matrix.deps_from_src == 'yes' }}
run: |
Expand Down
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@
All notable changes to this project will be documented in this file.


## [v0.10.10] - 2021-02-06

- Reduced verbosity of a few LOG_WARN messages at startup
- Close libnice agent resources asynchronously when hanging up PeerConnections (thanks @fbellet!) [[PR-2492](#2492)]
- Fixed broken parsing of SDP when trying to match specific codec profiles [[PR-2549](#2549)]
- Added muting/moderation API to the VideoRoom plugin [[PR-2513](#2513)]
- Fixed a few race conditions in VideoRoom plugin that could lead to crashes [[PR-2539][#2539)]
- Send 480 instead of BYE when hanging up calls in early dialog in the SIP plugin (thanks @zayim!) [[PR-2521](#2521)]
- Added configurable media direction when putting calls on-hold in the SIP plugin [[PR-2525](#2525)]
- Fixed rare race condition in AudioBridge when using "changeroom" (thanks @JeckLabs!) [[PR-2535][#2535)]
- Fixed broken API secret management in HTTP long polls (thanks @remvst!) [[PR-2524](#2524)]
- Report failure if binding to a socket fails in WebSockets transport plugin (thanks @Symbiatch!) [[PR-2534](#2534)]
- Updated RabbitMQ logic in both transport and event handler (thanks @chriswiggins!) [[PR-2430](#2430)]
- Fixed segfault in WebSocket event handler when backend was unreachable
- Added TLS support to MQTT event handler (thanks @RSATom!) [[PR-2517](#2517)]
- Other smaller fixes and improvements (thanks to all who contributed pull requests and reported issues!)

## [v0.10.9] - 2020-12-23

- Replaced Travis CI with GitHub Actions [[PR-2486](#2486)]
Expand Down
2 changes: 1 addition & 1 deletion auth.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ void janus_auth_init(gboolean enabled, const char *secret) {
auth_enabled = TRUE;
}
} else {
JANUS_LOG(LOG_WARN, "Token based authentication disabled\n");
JANUS_LOG(LOG_INFO, "Token based authentication disabled\n");
}
janus_mutex_init(&mutex);
}
Expand Down
4 changes: 2 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "janus-gateway",
"version": "0.10.10",
"version": "0.11.1",
"homepage": "https://github.com/meetecho/janus-gateway",
"authors": [
"Lorenzo Miniero <[email protected]>",
Expand Down Expand Up @@ -33,6 +33,6 @@
"tests"
],
"dependencies": {
"webrtc-adapter": "6.4.0"
"webrtc-adapter": "7.7.0"
}
}
6 changes: 4 additions & 2 deletions conf/janus.eventhandler.mqttevh.jcfg.sample
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ general: {
json = "indented" # Whether the JSON messages should be indented (default),
# plain (no indentation) or compact (no indentation and no spaces)

url = "tcp://localhost:1883" # The URL of the MQTT server. Only tcp supported at this time.
url = "tcp://localhost:1883" # The URL of the MQTT server. "tcp://" and "ssl://" protocols are supported.
#mqtt_version = "3.1.1" # Protocol version. Available values: 3.1, 3.1.1 (default), 5.
client_id = "janus.example.com" # Janus client id. You have to configure a unique ID (default: guest).
#keep_alive_interval = 20 # Keep connection for N seconds (default: 30)
Expand All @@ -30,6 +30,8 @@ general: {
#topic = "/janus/events" # Base topic (default: /janus/events)
#addevent = true # Whether we should add the event type to the base topic

#tls_enable = false # Whether TLS support must be enabled

# Initial message sent to status topic
#connect_status = "{\"event\": \"connected\", \"eventhandler\": \"janus.eventhandler.mqttevh\"}"
# Message sent after disconnect or as LWT
Expand All @@ -43,7 +45,7 @@ general: {
#tls_verify_peer = true # Whether peer verification must be enabled
#tls_verify_hostname = true # Whether hostname verification must be enabled

# Certificates to use when SSL support is enabled, if needed
# Certificates to use when TLS support is enabled, if needed
#tls_cacert = "/path/to/cacert.pem"
#tls_client_cert = "/path/to/cert.pem"
#tls_client_key = "/path/to/key.pem"
Expand Down
3 changes: 2 additions & 1 deletion conf/janus.eventhandler.rabbitmqevh.jcfg.sample
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,10 @@ general: {
#password = "guest" # Password to use to authenticate, if needed
#vhost = "/" # Virtual host to specify when logging in, if needed
#exchange = "janus-exchange"
route_key = "janus-events" # Name of the queue for event messages
route_key = "janus-events" # Routing key to use when publishing messages
#exchange_type = "fanout" # Rabbitmq exchange_type can be one of the available types: direct, topic, headers and fanout (fanout by defualt).
#heartbeat = 60 # Defines the seconds without communication that should pass before considering the TCP connection has unreachable.
#declare_outgoing_queue = true # By default (for backwards compatibility), we declare an outgoing queue. Set this to false to disable that behavior

#ssl_enable = false # Whether ssl support must be enabled
#ssl_verify_peer = true # Whether peer verification must be enabled
Expand Down
12 changes: 11 additions & 1 deletion conf/janus.jcfg.sample.in
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,15 @@ media: {
# configured to do full-trickle (Janus also trickles its candidates to
# users) rather than the default half-trickle (Janus supports trickle
# candidates from users, but sends its own within the SDP), and whether
# it should work in ICE-Lite mode (by default it doesn't). Finally,
# it should work in ICE-Lite mode (by default it doesn't). If libnice is
# at least 0.1.15, you can choose which ICE nomination mode to use: valid
# values are "regular" and "aggressive" (the default depends on the libnice
# version itself; if we can set it, we set regular nomination). You can
# also configure whether to use connectivity checks as keep-alives, which
# might help detecting when a peer is no longer available (notice that
# current libnice master is breaking connections after 50 seconds when
# keepalive-conncheck is being used, so if you want to use it, better
# sticking to 0.1.18 until the issue is addressed upstream). Finally,
# you can also enable ICE-TCP support (beware that this may lead to problems
# if you do not enable ICE Lite as well), choose which interfaces should
# be used for gathering candidates, and enable or disable the
Expand All @@ -249,6 +257,8 @@ nat: {
#stun_port = 3478
nice_debug = false
#full_trickle = true
#ice_nomination = "regular"
#ice_keepalive_conncheck = true
#ice_lite = true
#ice_tcp = true

Expand Down
28 changes: 21 additions & 7 deletions conf/janus.transport.rabbitmq.jcfg.sample
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,18 @@ general: {
#username = "guest" # Username to use to authenticate, if needed
#password = "guest" # Password to use to authenticate, if needed
#vhost = "/" # Virtual host to specify when logging in, if needed
to_janus = "to-janus" # Name of the queue for incoming messages
from_janus = "from-janus" # Name of the queue for outgoing messages

#janus_exchange = "janus-exchange" # Exchange for outgoing messages, using default if not provided
#janus_exchange_type = "fanout" # Rabbitmq exchange_type can be one of the available types: direct, topic, headers and fanout (fanout by defualt).
#ssl_enabled = false # Whether ssl support must be enabled
#janus_exchange_type = "fanout" # Rabbitmq exchange_type can be one of the available types: direct, topic, headers and fanout (fanout by defualt).
#queue_name = "janus-gateway" # Queue name for incoming messages (if set and janus_exchange_type is topic/direct, to_janus will be the routing key the queue is bound to the exchange on)
to_janus = "to-janus" # Name of the queue for incoming messages if queue_name isn't set, otherwise, the routing key that queue_name is bound to
from_janus = "from-janus" # Routing key of the message sent from janus (as well as the name of the outgoing queue if declare_outgoing_queue = true)
#declare_outgoing_queue = true # By default (for backwards compatibility), we declare an outgoing queue. Set this to false to disable that behavior
#queue_durable = false # Whether or not incoming queue should remain after a RabbitMQ reboot
#queue_autodelete = false # Whether or not incoming queue should autodelete after janus disconnects from RabbitMQ
#queue_exclusive = false # Whether or not incoming queue should only allow one subscriber

#ssl_enabled = false # Whether ssl support must be enabled
#ssl_verify_peer = true # Whether peer verification must be enabled
#ssl_verify_hostname = true # Whether hostname verification must be enabled

Expand All @@ -43,7 +50,14 @@ general: {
# Admin API messaging. The same RabbitMQ server is supposed to be used.
# Notice that by default the Admin API support via RabbitMQ is disabled.
admin: {
#admin_enabled = false # Whether the support must be enabled
#to_janus_admin = "to-janus-admin" # Name of the queue for incoming messages
#from_janus_admin = "from-janus-admin" # Name of the queue for outgoing messages
#admin_enabled = false # Whether the support must be enabled

#queue_name_admin = "janus-gateway-admin" # Queue name for incoming admin messages (if set and janus_exchange_type is topic/direct, to_janus_admin will be the the routing key the queue is bound to the exchange on)
#to_janus_admin = "to-janus-admin" # Name of the queue for incoming messages if queue_name_admin isn't set, otherwise, the routing key that queue_name_admin is bound to
#from_janus_admin = "from-janus-admin" # Routing key of the message sent from janus (as well as the name of the outgoing queue if declare_outgoing_queue_admin = true)
#declare_outgoing_queue_admin = true # By default (for backwards compatibility), we declare an outgoing queue. Set this to false to disable that behavior
#queue_durable_admin = false # Whether or not incoming queue should remain after a RabbitMQ reboot
#queue_autodelete_admin = false # Whether or not incoming queue should autodelete after janus disconnects from RabbitMQ
#queue_exclusive_admin = false # Whether or not incoming queue should only allow one subscriber

}
21 changes: 17 additions & 4 deletions configure.ac
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
AC_INIT([Janus WebRTC Server],[0.10.10],[https://github.com/meetecho/janus-gateway],[janus-gateway],[https://janus.conf.meetecho.com])
AC_INIT([Janus WebRTC Server],[0.11.1],[https://github.com/meetecho/janus-gateway],[janus-gateway],[https://janus.conf.meetecho.com])
AC_LANG(C)
AC_CONFIG_AUX_DIR([.])
AC_CONFIG_MACRO_DIR([m4])
Expand Down Expand Up @@ -51,7 +51,8 @@ CFLAGS="$CFLAGS \
-Wstrict-prototypes \
-Wswitch-default \
-Wunused \
-Wwrite-strings"
-Wwrite-strings \
-Werror=implicit-function-declaration"

case "$CC" in
clang*)
Expand All @@ -69,9 +70,9 @@ clang*)
-Wunused-but-set-variable"
esac

JANUS_VERSION=110
JANUS_VERSION=111
AC_SUBST(JANUS_VERSION)
JANUS_VERSION_STRING="0.10.10"
JANUS_VERSION_STRING="0.11.1"
AC_SUBST(JANUS_VERSION_STRING)

case "$host_os" in
Expand Down Expand Up @@ -395,6 +396,18 @@ AC_CHECK_LIB([nice],
[AC_MSG_NOTICE([libnice version does not support TCP candidates])]
)

AC_CHECK_LIB([nice],
[nice_agent_close_async],
[AC_DEFINE(HAVE_CLOSE_ASYNC)],
[AC_MSG_NOTICE([libnice version does not have nice_agent_close_async])]
)

AC_CHECK_LIB([nice],
[nice_agent_new_full],
[AC_DEFINE(HAVE_ICE_NOMINATION)],
[AC_MSG_NOTICE([libnice version does not have nice_agent_new_full])]
)

AC_CHECK_LIB([dl],
[dlopen],
[JANUS_MANUAL_LIBS="${JANUS_MANUAL_LIBS} -ldl"],
Expand Down
4 changes: 2 additions & 2 deletions docs/footer.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
<ul>
$navpath
<li class="footer">
Janus WebRTC Server &copy; <a target="_blank" href="http://www.meetecho.com/">Meetecho</a> 2014-2020
Janus WebRTC Server &copy; <a target="_blank" href="http://www.meetecho.com/">Meetecho</a> 2014-2021
</li>
</ul>
</div>
<!--END GENERATE_TREEVIEW-->
<!--BEGIN !GENERATE_TREEVIEW-->
<div class="footer container">
<hr class="footer"/>
Last updated on $date &mdash; Janus WebRTC Server &copy; <a target="_blank" href="http://www.meetecho.com/">Meetecho</a> 2014-2020
Last updated on $date &mdash; Janus WebRTC Server &copy; <a target="_blank" href="http://www.meetecho.com/">Meetecho</a> 2014-2021
</div>
<!--END !GENERATE_TREEVIEW-->
</body>
Expand Down
2 changes: 1 addition & 1 deletion docs/janus-doxygen.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "Janus"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 0.10.10
PROJECT_NUMBER = 0.11.1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
3 changes: 3 additions & 0 deletions dtls-bio.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ void janus_dtls_bio_agent_set_mtu(int start_mtu) {
mtu = start_mtu;
JANUS_LOG(LOG_VERB, "Setting starting MTU in the DTLS BIO writer: %d\n", mtu);
}
int janus_dtls_bio_agent_get_mtu(void) {
return mtu;
}

/* BIO implementation */
static int janus_dtls_bio_agent_write(BIO *h, const char *buf, int num);
Expand Down
5 changes: 4 additions & 1 deletion dtls-bio.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,12 @@ BIO *BIO_janus_dtls_agent_new(void *dtls);
* you know for sure the MTU in the network Janus is deployed in is
* smaller than that, it makes sense to configure an according value to
* start from
* @param start_mtu The MTU to start from (1472 by default)
* @param start_mtu The MTU to start from (1200 by default)
*/
void janus_dtls_bio_agent_set_mtu(int start_mtu);
/*! \brief Return which MTU was configured for the BIO agent writer
* @returns The MTU the stack will start from for each session */
int janus_dtls_bio_agent_get_mtu(void);

#if defined(LIBRESSL_VERSION_NUMBER)
#define JANUS_USE_OPENSSL_PRE_1_1_API (1)
Expand Down
2 changes: 1 addition & 1 deletion dtls.c
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ gint janus_dtls_srtp_init(const char *server_pem, const char *server_key, const
#endif

if(!server_pem && !server_key) {
JANUS_LOG(LOG_WARN, "No cert/key specified, autogenerating some...\n");
JANUS_LOG(LOG_INFO, "No cert/key specified, autogenerating some...\n");
if(janus_dtls_generate_keys(&ssl_cert, &ssl_key, rsa_private_key) != 0) {
JANUS_LOG(LOG_FATAL, "Error generating DTLS key/certificate\n");
return -2;
Expand Down
41 changes: 32 additions & 9 deletions events/janus_mqttevh.c
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,15 @@ static int janus_mqttevh_client_connect(janus_mqttevh_context *ctx) {
options.keepAliveInterval = ctx->connect.keep_alive_interval;
options.maxInflight = ctx->connect.max_inflight;

MQTTAsync_SSLOptions ssl_opts = MQTTAsync_SSLOptions_initializer;
if(ctx->tls.enable) {
ssl_opts.trustStore = ctx->tls.cacert_file;
ssl_opts.keyStore = ctx->tls.cert_file;
ssl_opts.privateKey = ctx->tls.key_file;
ssl_opts.enableServerCertAuth = ctx->tls.verify_peer;
options.ssl = &ssl_opts;
}

MQTTAsync_willOptions willOptions = MQTTAsync_willOptions_initializer;
if(ctx->will.enabled) {
willOptions.topicName = ctx->will.topic;
Expand Down Expand Up @@ -535,10 +544,14 @@ static int janus_mqttevh_client_publish_message(janus_mqttevh_context *ctx, cons
options.onFailure = janus_mqttevh_client_publish_message_failure;

rc = MQTTAsync_sendMessage(ctx->client, topic, &msg, &options);
if(rc == MQTTASYNC_SUCCESS) {
JANUS_LOG(LOG_HUGE, "MQTT EVH message sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
} else {
JANUS_LOG(LOG_WARN, "FAILURE: MQTT EVH message propably not sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
switch(rc) {
case MQTTASYNC_SUCCESS:
JANUS_LOG(LOG_HUGE, "MQTT EVH message sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
break;
case MQTTASYNC_OPERATION_INCOMPLETE:
break;
default:
JANUS_LOG(LOG_WARN, "FAILURE: MQTT EVH message propably not sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
}

return rc;
Expand All @@ -561,10 +574,14 @@ static int janus_mqttevh_client_publish_message5(janus_mqttevh_context *ctx, con
options.onFailure5 = janus_mqttevh_client_publish_message_failure5;

rc = MQTTAsync_sendMessage(ctx->client, topic, &msg, &options);
if(rc == MQTTASYNC_SUCCESS) {
JANUS_LOG(LOG_HUGE, "MQTT EVH message sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
} else {
JANUS_LOG(LOG_WARN, "FAILURE: MQTT EVH message propably not sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
switch(rc) {
case MQTTASYNC_SUCCESS:
JANUS_LOG(LOG_HUGE, "MQTT EVH message sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
break;
case MQTTASYNC_OPERATION_INCOMPLETE:
break;
default:
JANUS_LOG(LOG_WARN, "FAILURE: MQTT EVH message propably not sent to topic %s on %s. Result %d\n", topic, ctx->connect.url, rc);
}

return rc;
Expand Down Expand Up @@ -604,7 +621,12 @@ static void janus_mqttevh_client_publish_message_failure5(void *context, MQTTAsy

static void janus_mqttevh_client_publish_message_failure_impl(void *context, int rc) {
janus_mqttevh_context *ctx = (janus_mqttevh_context *)context;
JANUS_LOG(LOG_ERR, "MQTT EVH client has failed publishing to MQTT topic: %s, return code: %d\n", ctx->publish.topic, rc);
switch(rc) {
case MQTTASYNC_OPERATION_INCOMPLETE:
break;
default:
JANUS_LOG(LOG_ERR, "MQTT EVH client has failed publishing to MQTT topic: %s, return code: %d\n", ctx->publish.topic, rc);
}
}

/* Destroy Janus MQTT event handler session context */
Expand Down Expand Up @@ -983,6 +1005,7 @@ static int janus_mqttevh_init(const char *config_path) {

create_options.maxBufferedMessages = ctx->connect.max_buffered;

create_options.sendWhileDisconnected = TRUE;
res = MQTTAsync_createWithOptions(
&ctx->client,
ctx->connect.url,
Expand Down
Loading

0 comments on commit 5ab4ae6

Please sign in to comment.