Asterisk - The Open Source Telephony Project GIT-master-27fb039
Loading...
Searching...
No Matches
Functions | Variables
func_sha1.c File Reference

SHA1 digest related dialplan functions. More...

#include "asterisk.h"
#include "asterisk/module.h"
#include "asterisk/pbx.h"
Include dependency graph for func_sha1.c:

Go to the source code of this file.

Functions

static void __reg_module (void)
 
static void __unreg_module (void)
 
struct ast_moduleAST_MODULE_SELF_SYM (void)
 
static int load_module (void)
 
static int sha1 (struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
 
static int unload_module (void)
 

Variables

static struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "SHA-1 computation dialplan function" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, }
 
static const struct ast_module_infoast_module_info = &__mod_info
 
static struct ast_custom_function sha1_function
 

Detailed Description

SHA1 digest related dialplan functions.

Author
Claude Patry cpatr.nosp@m.y@gm.nosp@m.ail.c.nosp@m.om

Definition in file func_sha1.c.

Function Documentation

◆ __reg_module()

static void __reg_module ( void  )
static

Definition at line 97 of file func_sha1.c.

◆ __unreg_module()

static void __unreg_module ( void  )
static

Definition at line 97 of file func_sha1.c.

◆ AST_MODULE_SELF_SYM()

struct ast_module * AST_MODULE_SELF_SYM ( void  )

Definition at line 97 of file func_sha1.c.

◆ load_module()

static int load_module ( void  )
static

Definition at line 92 of file func_sha1.c.

93{
95}
static struct ast_custom_function sha1_function
Definition func_sha1.c:81
#define ast_custom_function_register(acf)
Register a custom function.
Definition pbx.h:1562

References ast_custom_function_register, and sha1_function.

◆ sha1()

static int sha1 ( struct ast_channel chan,
const char *  cmd,
char *  data,
char *  buf,
size_t  len 
)
static

Definition at line 60 of file func_sha1.c.

62{
63 *buf = '\0';
64
65 if (ast_strlen_zero(data)) {
66 ast_log(LOG_WARNING, "Syntax: SHA1(<data>) - missing argument!\n");
67 return -1;
68 }
69
70 if (len >= 41)
71 ast_sha1_hash(buf, data);
72 else {
74 "Insufficient space to produce SHA1 hash result (%d < 41)\n",
75 (int) len);
76 }
77
78 return 0;
79}
#define ast_log
Definition astobj2.c:42
char buf[BUFSIZE]
Definition eagi_proxy.c:66
static int len(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t buflen)
#define LOG_ERROR
#define LOG_WARNING
static force_inline int attribute_pure ast_strlen_zero(const char *s)
Definition strings.h:65
void ast_sha1_hash(char *output, const char *input)
Produces SHA1 hash based on input string.
Definition utils.c:266

References ast_log, ast_sha1_hash(), ast_strlen_zero(), buf, len(), LOG_ERROR, and LOG_WARNING.

◆ unload_module()

static int unload_module ( void  )
static

Definition at line 87 of file func_sha1.c.

88{
90}
int ast_custom_function_unregister(struct ast_custom_function *acf)
Unregister a custom function.

References ast_custom_function_unregister(), and sha1_function.

Variable Documentation

◆ __mod_info

struct ast_module_info __mod_info = { .name = AST_MODULE, .flags = AST_MODFLAG_LOAD_ORDER , .description = "SHA-1 computation dialplan function" , .key = ASTERISK_GPL_KEY , .buildopt_sum = AST_BUILDOPT_SUM, .load = load_module, .unload = unload_module, .load_pri = AST_MODPRI_DEFAULT, .support_level = AST_MODULE_SUPPORT_CORE, }
static

Definition at line 97 of file func_sha1.c.

◆ ast_module_info

const struct ast_module_info* ast_module_info = &__mod_info
static

Definition at line 97 of file func_sha1.c.

◆ sha1_function

struct ast_custom_function sha1_function
static
Initial value:
= {
.name = "SHA1",
.read = sha1,
.read_max = 42,
}
static int sha1(struct ast_channel *chan, const char *cmd, char *data, char *buf, size_t len)
Definition func_sha1.c:60

Definition at line 81 of file func_sha1.c.

81 {
82 .name = "SHA1",
83 .read = sha1,
84 .read_max = 42,
85};

Referenced by load_module(), and unload_module().