This patch adds authentication support to ARI. Two authentication methods are supported. The first is HTTP Basic authentication, as specified in RFC 2617[1]. The second is by simply passing the username and password as an ?api_key query parameter (which allows swagger-ui[2] to authenticate more easily). ARI usernames and passwords are configured in the ari.conf file (formerly known as stasis_http.conf). The user may be set to `read_only`, which will prohibit the user from issuing POST, DELETE, etc. Also, the user's password may be specified in either plaintext, or encrypted using the crypt() function. Several other notes about the patch. * A few command line commands for seeing ARI config and status were also added. * The configuration parsing grew big enough that I extracted it to its own file. [1]: http://www.ietf.org/rfc/rfc2617.txt [2]: https://github.com/wordnik/swagger-ui (closes issue ASTERISK-21277) Review: https://reviewboard.asterisk.org/r/2649/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
339 lines
6.7 KiB
Text
339 lines
6.7 KiB
Text
# NOTE: Names of _INCLUDE and _LIB entries in this file must be
|
|
# the exact uppercase equivalents of the names used for
|
|
# dependencies in menuselect for the same package.
|
|
|
|
CC=@PTHREAD_CC@
|
|
HOST_CC=cc
|
|
BUILD_CC=cc
|
|
CXX=@CXX@
|
|
|
|
INSTALL=@INSTALL@
|
|
AWK=@AWK@
|
|
BISON=@BISON@
|
|
FLEX=@FLEX@
|
|
GREP=@GREP@
|
|
PYTHON=@PYTHON@
|
|
MAKE=@GNU_MAKE@
|
|
AR=@AR@
|
|
RANLIB=@RANLIB@
|
|
FIND=@FIND@
|
|
COMPRESS=@COMPRESS@
|
|
BASENAME=@BASENAME@
|
|
SHELL=@SHELL@
|
|
LN=@LN@
|
|
DOXYGEN=@DOXYGEN@
|
|
DOT=@DOT@
|
|
STRIP=@STRIP@
|
|
WGET=@WGET@
|
|
FETCH=@FETCH@
|
|
DOWNLOAD=@DOWNLOAD@
|
|
SOUNDS_CACHE_DIR=@SOUNDS_CACHE_DIR@
|
|
RUBBER=@RUBBER@
|
|
CATDVI=@CATDVI@
|
|
KPATHSEA=@KPATHSEA@
|
|
XMLLINT=@XMLLINT@
|
|
XMLSTARLET=@XMLSTARLET@
|
|
MD5=@MD5@
|
|
SHA1SUM=@SHA1SUM@
|
|
OPENSSL=@OPENSSL@
|
|
LDCONFIG=@LDCONFIG@
|
|
GIT=@GIT@
|
|
|
|
BUILD_PLATFORM=@BUILD_PLATFORM@
|
|
BUILD_CPU=@BUILD_CPU@
|
|
BUILD_VENDOR=@BUILD_VENDOR@
|
|
BUILD_OS=@BUILD_OS@
|
|
|
|
HOST_PLATFORM=@HOST_PLATFORM@
|
|
HOST_CPU=@HOST_CPU@
|
|
HOST_VENDOR=@HOST_VENDOR@
|
|
HOST_OS=@HOST_OS@
|
|
|
|
OSARCH=@OSARCH@
|
|
OSREV=@PBX_OSREV@
|
|
|
|
GC_CFLAGS=@GC_CFLAGS@
|
|
GC_LDFLAGS=@GC_LDFLAGS@
|
|
|
|
PTHREAD_CFLAGS=@PTHREAD_CFLAGS@
|
|
PTHREAD_LIBS=@PTHREAD_LIBS@
|
|
|
|
CONFIG_CFLAGS=@CONFIG_CFLAGS@
|
|
CONFIG_LDFLAGS=@CONFIG_LDFLAGS@
|
|
|
|
GNU_LD=@GNU_LD@
|
|
WEAKREF=@PBX_WEAKREF@
|
|
HAVE_DYNAMIC_LIST=@PBX_DYNAMIC_LIST@
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
|
|
datarootdir = @datarootdir@
|
|
datadir = @datadir@
|
|
includedir = @includedir@
|
|
infodir = @infodir@
|
|
libdir = @libdir@
|
|
libexecdir = @libexecdir@
|
|
localstatedir = @localstatedir@
|
|
mandir = @mandir@
|
|
sbindir = @sbindir@
|
|
sharedstatedir = @sharedstatedir@
|
|
sysconfdir = @sysconfdir@
|
|
|
|
ASTSBINDIR = @astsbindir@
|
|
ASTETCDIR = @astetcdir@
|
|
ASTHEADERDIR = @astheaderdir@
|
|
ASTLIBDIR = @astlibdir@
|
|
ASTMODDIR = @astmoddir@
|
|
ASTMANDIR = @astmandir@
|
|
astvarlibdir = @astvarlibdir@
|
|
ASTVARLIBDIR = @astvarlibdir@
|
|
ASTDATADIR = @astdatadir@
|
|
ASTDBDIR = @astdbdir@
|
|
ASTKEYDIR = @astkeydir@
|
|
ASTSPOOLDIR = @astspooldir@
|
|
ASTLOGDIR = @astlogdir@
|
|
ASTVARRUNDIR = @astvarrundir@
|
|
|
|
AST_DEVMODE=@AST_DEVMODE@
|
|
AST_DEVMODE_STRICT=@AST_DEVMODE_STRICT@
|
|
NOISY_BUILD=@NOISY_BUILD@
|
|
|
|
AST_CODE_COVERAGE=@AST_CODE_COVERAGE@
|
|
|
|
AST_ASTERISKSSL=@AST_ASTERISKSSL@
|
|
|
|
AST_DECLARATION_AFTER_STATEMENT=@AST_DECLARATION_AFTER_STATEMENT@
|
|
AST_TRAMPOLINES=@AST_TRAMPOLINES@
|
|
AST_NO_STRICT_OVERFLOW=@AST_NO_STRICT_OVERFLOW@
|
|
AST_SHADOW_WARNINGS=@AST_SHADOW_WARNINGS@
|
|
AST_NESTED_FUNCTIONS=@AST_NESTED_FUNCTIONS@
|
|
AST_RPATH=@AST_RPATH@
|
|
AST_FORTIFY_SOURCE=@AST_FORTIFY_SOURCE@
|
|
AST_MARCH_NATIVE=@AST_MARCH_NATIVE@
|
|
|
|
ALSA_INCLUDE=@ALSA_INCLUDE@
|
|
ALSA_LIB=@ALSA_LIB@
|
|
|
|
BFD_INCLUDE=@BFD_INCLUDE@
|
|
BFD_LIB=@BFD_LIB@
|
|
|
|
BLUETOOTH_INCLUDE=@BLUETOOTH_INCLUDE@
|
|
BLUETOOTH_LIB=@BLUETOOTH_LIB@
|
|
|
|
CURL_INCLUDE=@CURL_INCLUDE@
|
|
CURL_LIB=@CURL_LIB@
|
|
|
|
CURSES_INCLUDE=@CURSES_INCLUDE@
|
|
CURSES_LIB=@CURSES_LIB@
|
|
CURSES_DIR=@CURSES_DIR@
|
|
|
|
EDITLINE_LIB=@EDITLINE_LIB@
|
|
|
|
FREETDS_INCLUDE=@FREETDS_INCLUDE@
|
|
FREETDS_LIB=@FREETDS_LIB@
|
|
|
|
GENERIC_ODBC_INCLUDE=@GENERIC_ODBC_INCLUDE@
|
|
GENERIC_ODBC_LIB=@GENERIC_ODBC_LIB@
|
|
|
|
GMIME_INCLUDE=@GMIME_INCLUDE@
|
|
GMIME_LIB=@GMIME_LIB@
|
|
|
|
HOARD_LIB=@HOARD_LIB@
|
|
|
|
GSM_INTERNAL=@GSM_INTERNAL@
|
|
GSM_INCLUDE=@GSM_INCLUDE@
|
|
GSM_LIB=@GSM_LIB@
|
|
|
|
ILBC_INTERNAL=@ILBC_INTERNAL@
|
|
ILBC_INCLUDE=@ILBC_INCLUDE@
|
|
ILBC_LIB=@ILBC_LIB@
|
|
|
|
GTK2_INCLUDE=@GTK2_INCLUDE@
|
|
GTK2_LIB=@GTK2_LIB@
|
|
|
|
ICAL_INCLUDE=@ICAL_INCLUDE@
|
|
ICAL_LIB=@ICAL_LIB@
|
|
|
|
ICONV_INCLUDE=@ICONV_INCLUDE@
|
|
ICONV_LIB=@ICONV_LIB@
|
|
|
|
IKSEMEL_INCLUDE=@IKSEMEL_INCLUDE@
|
|
IKSEMEL_LIB=@IKSEMEL_LIB@
|
|
|
|
IMAP_TK_INCLUDE=@IMAP_TK_INCLUDE@
|
|
IMAP_TK_LIB=@IMAP_TK_LIB@
|
|
|
|
IODBC_INCLUDE=@IODBC_INCLUDE@
|
|
IODBC_LIB=@IODBC_LIB@
|
|
|
|
JACK_INCLUDE=@JACK_INCLUDE@
|
|
JACK_LIB=@JACK_LIB@
|
|
|
|
JANSSON_INCLUDE=@JANSSON_INCLUDE@
|
|
JANSSON_LIB=@JANSSON_LIB@
|
|
|
|
LDAP_INCLUDE=@LDAP_INCLUDE@
|
|
LDAP_LIB=@LDAP_LIB@
|
|
|
|
LIBEDIT_INTERNAL=@LIBEDIT_INTERNAL@
|
|
LIBEDIT_INCLUDE=@LIBEDIT_INCLUDE@
|
|
LIBEDIT_LIB=@LIBEDIT_LIB@
|
|
|
|
LUA_INCLUDE=@LUA_INCLUDE@
|
|
LUA_LIB=@LUA_LIB@
|
|
|
|
MYSQLCLIENT_INCLUDE=@MYSQLCLIENT_INCLUDE@
|
|
MYSQLCLIENT_LIB=@MYSQLCLIENT_LIB@
|
|
|
|
NBS_INCLUDE=@NBS_INCLUDE@
|
|
NBS_LIB=@NBS_LIB@
|
|
|
|
NCURSES_INCLUDE=@NCURSES_INCLUDE@
|
|
NCURSES_LIB=@NCURSES_LIB@
|
|
NCURSES_DIR=@NCURSES_DIR@
|
|
|
|
NEON_INCLUDE=@NEON_INCLUDE@
|
|
NEON_LIB=@NEON_LIB@
|
|
NEON29_INCLUDE=@NEON_INCLUDE@
|
|
NEON29_LIB=@NEON_LIB@
|
|
|
|
NETSNMP_INCLUDE=@NETSNMP_INCLUDE@
|
|
NETSNMP_LIB=@NETSNMP_LIB@
|
|
|
|
NEWT_INCLUDE=@NEWT_INCLUDE@
|
|
NEWT_LIB=@NEWT_LIB@
|
|
|
|
OGG_INCLUDE=@OGG_INCLUDE@
|
|
OGG_LIB=@OGG_LIB@
|
|
|
|
OSPTK_INCLUDE=@OSPTK_INCLUDE@
|
|
OSPTK_LIB=@OSPTK_LIB@
|
|
|
|
# ossaudio can optionally use ffmpeg, x11, sdl and sdl_image.
|
|
# Because sdl_image in turn depends on sdl, we don't duplicate the include
|
|
OSS_INCLUDE=@OSS_INCLUDE@ @FFMPEG_INCLUDE@ @SDL_INCLUDE@ @X11_INCLUDE@
|
|
OSS_LIB=@OSS_LIB@ @FFMPEG_LIB@ @SDL_LIB@ @SDL_IMAGE_LIB@ @X11_LIB@
|
|
|
|
PGSQL_INCLUDE=@PGSQL_INCLUDE@
|
|
PGSQL_LIB=@PGSQL_LIB@
|
|
|
|
PJPROJECT_INCLUDE=@PJPROJECT_INCLUDE@
|
|
PJPROJECT_LIB=@PJPROJECT_LIB@
|
|
|
|
POPT_INCLUDE=@POPT_INCLUDE@
|
|
POPT_LIB=@POPT_LIB@
|
|
|
|
PORTAUDIO_INCLUDE=@PORTAUDIO_INCLUDE@
|
|
PORTAUDIO_LIB=@PORTAUDIO_LIB@
|
|
|
|
PRI_INCLUDE=@PRI_INCLUDE@
|
|
PRI_LIB=@PRI_LIB@
|
|
|
|
RESAMPLE_INCLUDE=@RESAMPLE_INCLUDE@
|
|
RESAMPLE_LIB=@RESAMPLE_LIB@
|
|
|
|
SS7_INCLUDE=@SS7_INCLUDE@
|
|
SS7_LIB=@SS7_LIB@
|
|
|
|
OPENR2_INCLUDE=@OPENR2_INCLUDE@
|
|
OPENR2_LIB=@OPENR2_LIB@
|
|
|
|
PWLIB_INCLUDE=@PWLIB_INCLUDE@
|
|
PWLIB_LIB=@PWLIB_LIB@
|
|
|
|
COROSYNC_INCLUDE=@COROSYNC_INCLUDE@
|
|
COROSYNC_LIB=@COROSYNC_LIB@
|
|
|
|
RADIUS_INCLUDE=@RADIUS_INCLUDE@
|
|
RADIUS_LIB=@RADIUS_LIB@
|
|
|
|
FFMPEG_INCLUDE=@FFMPEG_INCLUDE@
|
|
FFMPEG_LIB=@FFMPEG_LIB@
|
|
|
|
X11_INCLUDE=@X11_INCLUDE@
|
|
X11_LIB=@X11_LIB@
|
|
|
|
SDL_INCLUDE=@SDL_INCLUDE@
|
|
SDL_LIB=@SDL_LIB@
|
|
|
|
SDL_IMAGE_INCLUDE=@SDL_IMAGE_INCLUDE@
|
|
SDL_IMAGE_LIB=@SDL_IMAGE_LIB@
|
|
|
|
SPANDSP_INCLUDE=@SPANDSP_INCLUDE@
|
|
SPANDSP_LIB=@SPANDSP_LIB@
|
|
|
|
SPEEX_INCLUDE=@SPEEX_INCLUDE@
|
|
SPEEX_LIB=@SPEEX_LIB@
|
|
|
|
SPEEXDSP_INCLUDE=@SPEEXDSP_INCLUDE@
|
|
SPEEXDSP_LIB=@SPEEXDSP_LIB@
|
|
|
|
SQLITE_INCLUDE=@SQLITE_INCLUDE@
|
|
SQLITE_LIB=@SQLITE_LIB@
|
|
|
|
SQLITE3_INCLUDE=@SQLITE3_INCLUDE@
|
|
SQLITE3_LIB=@SQLITE3_LIB@
|
|
|
|
SRTP_LIB=@SRTP_LIB@
|
|
SRTP_INCLUDE=@SRTP_INCLUDE@
|
|
|
|
OPENSSL_INCLUDE=@OPENSSL_INCLUDE@
|
|
OPENSSL_LIB=@OPENSSL_LIB@
|
|
|
|
CRYPT_INCLUDE=@CRYPT_INCLUDE@
|
|
CRYPT_LIB=@CRYPT_LIB@
|
|
|
|
CRYPTO_INCLUDE=@CRYPTO_INCLUDE@
|
|
CRYPTO_LIB=@CRYPTO_LIB@
|
|
|
|
TONEZONE_INCLUDE=@TONEZONE_INCLUDE@
|
|
TONEZONE_LIB=@TONEZONE_LIB@
|
|
|
|
UNIXODBC_INCLUDE=@UNIXODBC_INCLUDE@
|
|
UNIXODBC_LIB=@UNIXODBC_LIB@
|
|
|
|
UUID_INCLUDE=@UUID_INCLUDE@
|
|
UUID_LIB=@UUID_LIB@
|
|
|
|
VORBIS_INCLUDE=@VORBIS_INCLUDE@
|
|
VORBIS_LIB=@VORBIS_LIB@
|
|
|
|
VPB_INCLUDE=@VPB_INCLUDE@
|
|
VPB_LIB=@VPB_LIB@
|
|
|
|
DAHDI_INCLUDE=@DAHDI_INCLUDE@
|
|
|
|
ZLIB_INCLUDE=@ZLIB_INCLUDE@
|
|
ZLIB_LIB=@ZLIB_LIB@
|
|
|
|
ISDNNET_INCLUDE=@ISDNNET_INCLUDE@
|
|
ISDNNET_LIB=@ISDNNET_LIB@
|
|
|
|
MISDN_INCLUDE=@MISDN_INCLUDE@
|
|
MISDN_LIB=@MISDN_LIB@
|
|
|
|
SUPPSERV_INCLUDE=@SUPPSERV_INCLUDE@
|
|
SUPPSERV_LIB=@SUPPSERV_LIB@
|
|
|
|
CAP_LIB=@CAP_LIB@
|
|
CAP_INCLUDE=@CAP_INCLUDE@
|
|
|
|
BKTR_INCLUDE=@BKTR_INCLUDE@
|
|
BKTR_LIB=@BKTR_LIB@
|
|
|
|
TERMCAP_INCLUDE=@TERMCAP_INCLUDE@
|
|
TERMCAP_LIB=@TERMCAP_LIB@
|
|
TERMCAP_DIR=@TERMCAP_DIR@
|
|
|
|
LIBXML2_INCLUDE=@LIBXML2_INCLUDE@
|
|
LIBXML2_LIB=@LIBXML2_LIB@
|
|
|
|
TINFO_INCLUDE=@TINFO_INCLUDE@
|
|
TINFO_LIB=@TINFO_LIB@
|
|
TINFO_DIR=@TINFO_DIR@
|
|
|
|
# if poll is not present, let the makefile know.
|
|
POLL_AVAILABLE=@HAS_POLL@
|
|
TIMERFD_INCLUDE=@TIMERFD_INCLUDE@
|