Shuffle RESTful URL's around.

This patch moves the RESTful URL's around to more appropriate
locations for release.

The /stasis URL's are moved to /ari, since Asterisk REST Interface was
a more appropriate name than Stasis-HTTP. (Most of the code still has
stasis_http references, but they will be cleaned up after there are no
more outstanding branches that would have merge conflicts with such a
change).

A larger change was moving the ARI events WebSocket off of the shared
/ws URL to its permanent home on /ari/events. The Swagger code
generator was extended to handle "upgrade: websocket" and
"websocketProtocol:" attributes on an operation.

The WebSocket module was modified to better handle WebSocket servers
that have a single registered protocol handler. If a client
connections does not specify the Sec-WebSocket-Protocol header, and
the server has a single protocol handler registered, the WebSocket
server will go ahead and accept the client for that subprotocol.

(closes issue ASTERISK-21857)
Review: https://reviewboard.asterisk.org/r/2621/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@393528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
David M. Lee
2013-07-03 16:32:00 +00:00
parent 85ba063329
commit dcf03554a0
33 changed files with 976 additions and 417 deletions

View File

@@ -938,4 +938,43 @@ char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size);
void _dtor_ ## varname (vartype * v) { dtor(*v); } \
vartype varname __attribute__((cleanup(_dtor_ ## varname))) = (initval)
/*!
* \brief Asterisk wrapper around crypt(3).
*
* The interpretation of the salt (which determines the password hashing
* algorithm) is system specific. Application code should prefer to use
* ast_crypt_encrypt() or ast_crypt_validate().
*
* The returned string is heap allocated, and should be freed with ast_free().
*
* \param key User's password to crypt.
* \param salt Salt to crypt with.
* \return Crypted password.
* \return \c NULL on error.
*/
char *ast_crypt(const char *key, const char *salt);
/*
* \brief Asterisk wrapper around crypt(3) for encrypting passwords.
*
* This function will generate a random salt and encrypt the given password.
*
* The returned string is heap allocated, and should be freed with ast_free().
*
* \param key User's password to crypt.
* \return Crypted password.
* \return \c NULL on error.
*/
char *ast_crypt_encrypt(const char *key);
/*
* \brief Asterisk wrapper around crypt(3) for validating passwords.
*
* \param key User's password to validate.
* \param expected Expected result from crypt.
* \return True (non-zero) if \a key matches \a expected.
* \return False (zero) if \a key doesn't match.
*/
int ast_crypt_validate(const char *key, const char *expected);
#endif /* _ASTERISK_UTILS_H */