diff options
Diffstat (limited to 'net/asterisk-app-ldap')
-rw-r--r-- | net/asterisk-app-ldap/Makefile | 28 | ||||
-rw-r--r-- | net/asterisk-app-ldap/distinfo | 2 | ||||
-rw-r--r-- | net/asterisk-app-ldap/files/patch-Makefile | 35 | ||||
-rw-r--r-- | net/asterisk-app-ldap/files/patch-app_ldap.c | 507 | ||||
-rw-r--r-- | net/asterisk-app-ldap/files/patch-cflags.sh | 14 | ||||
-rw-r--r-- | net/asterisk-app-ldap/pkg-descr | 5 | ||||
-rw-r--r-- | net/asterisk-app-ldap/pkg-plist | 2 |
7 files changed, 0 insertions, 593 deletions
diff --git a/net/asterisk-app-ldap/Makefile b/net/asterisk-app-ldap/Makefile deleted file mode 100644 index 74825874766c..000000000000 --- a/net/asterisk-app-ldap/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# New ports collection makefile for: app_ldap -# Date created: 15 April 2007 -# Whom: Matthias Fechner <idefix@fechner.net> -# -# $FreeBSD$ -# - -PORTNAME= asterisk-app-ldap -DISTVERSION= 2.0rc1 -PORTREVISION= 5 -CATEGORIES= net -MASTER_SITES= http://www.mezzo.net/asterisk/ -DISTNAME= app_ldap-${DISTVERSION} -EXTRACT_SUFX= .tgz - -MAINTAINER= idefix@fechner.net -COMMENT= LDAPget application module for the Asterisk PBX 1.4 - -DEPRECATED= Depends on net/asterisk14, which is FORBIDDEN -EXPIRATION_DATE= 2011-10-14 - -BUILD_DEPENDS= asterisk:${PORTSDIR}/net/asterisk14 - -USE_GMAKE= yes -USE_ICONV= yes -USE_OPENLDAP= yes - -.include <bsd.port.mk> diff --git a/net/asterisk-app-ldap/distinfo b/net/asterisk-app-ldap/distinfo deleted file mode 100644 index 7ba2423f68e5..000000000000 --- a/net/asterisk-app-ldap/distinfo +++ /dev/null @@ -1,2 +0,0 @@ -SHA256 (app_ldap-2.0rc1.tgz) = 7dbafad5c711de18bb57585f0ac9cf8e06a82761f43228db4ead88631dfafadc -SIZE (app_ldap-2.0rc1.tgz) = 6280 diff --git a/net/asterisk-app-ldap/files/patch-Makefile b/net/asterisk-app-ldap/files/patch-Makefile deleted file mode 100644 index 924d1e08103b..000000000000 --- a/net/asterisk-app-ldap/files/patch-Makefile +++ /dev/null @@ -1,35 +0,0 @@ ---- Makefile.orig Tue Apr 17 13:55:00 2007 -+++ Makefile Tue Apr 17 18:19:37 2007 -@@ -30,6 +30,14 @@ - CONF_DIR=/etc/asterisk - endif - -+ifeq ($(OSARCH),FreeBSD) -+# CFLAGS+= -D__FreeBSD__ -+ SOLINK=-shared -Xlinker -x -L/usr/local/lib -+ LIBS=-llber -lldap -liconv -+ MODULES_DIR=/usr/local/lib/asterisk/modules -+ CONF_DIR=/usr/local/etc/asterisk -+endif -+ - %.so : %.o - $(CC) $(SOLINK) -o $@ $(LIBS) $< - -@@ -39,13 +47,13 @@ - rm -f $(NAME).o $(NAME).so - - install: all -- if ! [ -f $(CONF_DIR)/$(CONF) ]; then \ -- install -m 644 $(CONF).sample $(CONF_DIR)/$(CONF) ; \ -+ if ! [ -f $(CONF_DIR)/$(CONF).sample ]; then \ -+ install -m 644 $(CONF).sample $(CONF_DIR)/$(CONF).sample ; \ - fi - if [ -f $(NAME).so ]; then \ - install -m 755 $(NAME).so $(MODULES_DIR) ; \ - fi - - reload: install -- asterisk -rx "unload ${RES}" -- asterisk -rx "load ${RES}" -+ asterisk -rx "module unload ${RES}" -+ asterisk -rx "module load ${RES}" diff --git a/net/asterisk-app-ldap/files/patch-app_ldap.c b/net/asterisk-app-ldap/files/patch-app_ldap.c deleted file mode 100644 index 82b48b178d6e..000000000000 --- a/net/asterisk-app-ldap/files/patch-app_ldap.c +++ /dev/null @@ -1,507 +0,0 @@ ---- app_ldap.c.orig Tue Apr 17 14:14:56 2007 -+++ app_ldap.c Tue Apr 17 17:06:42 2007 -@@ -9,6 +9,8 @@ - * - */ - -+/*#define LDAP_DEPRECATED 1*/ -+ - #include <stdlib.h> - #include <stdio.h> - #include <string.h> -@@ -33,36 +35,43 @@ - #include <ldap.h> - - #define AST_MODULE "app_notify" -- - #define LDAP_CONFIG "ldap.conf" -+#define SIZELIMIT 2048 - --int ldap_lookup(const char *host, int port, int version, int timeout, const char *user, const char *pass, const char *base, const char *scope, const char *filter, const char *attribute, char *result); --int strconvert(const char *incharset, const char *outcharset, --#ifdef __Darwin__ -- const char *in, --#else -- char *in, --#endif -- char *out); -+char *replace_ast_vars(struct ast_channel *chan, const char *string); -+LDAP* ldap_open_connection(const char *host, int port, int version); -+int ldap_bind_connection(LDAP *ld, const char *user, const char *pass); -+int ldap_search_in_connection(LDAP *ld, const char *base, const char *scope, const char *filter, const char *attribute, char *result); -+int ldap_lookup(const char *host, int port, int version, int timeout, const char *user, const char *pass, -+ const char *base, const char *scope, const char *filter, const char *attribute, char *result); -+int strconvert(const char *incharset, const char *outcharset, const char *in, char *out); -+char *strtrim (char *string); - - static char *app = "LDAPget"; - static char *synopsis = "Retrieve a value from an ldap directory"; - - static char *descrip = -- " LDAPget(varname=config-file-section/key): Retrieves a value from an LDAP\n" -- "directory and stores it in the given variable. Always returns 0. If the\n" -- "requested key is not found, jumps to priority n+101 if available.\n"; -+" LDAPget(varname=config-file-section/key): Retrieves a value from an LDAP\n" -+"directory and stores it in the given variable. Always returns 0. If the\n" -+"requested key is not found, jumps to priority n+101 if available.\n"; -+ - - static int ldap_exec (struct ast_channel *chan, void *data) - { - int arglen; - struct ast_module_user *u; - char *argv, *varname, *config, *keys = NULL, *key = NULL, *tail = NULL; -+#ifdef __FreeBSD__ -+ char result[SIZELIMIT+1]; -+#else - char result[2048]; -+#endif -+ memset(result,0,sizeof(result)); -+ - char *result_conv; - struct ast_config *cfg; - -- int port = LDAP_PORT, version = LDAP_VERSION2, timeout = 10; -+ int port = LDAP_PORT, version = LDAP_VERSION3, timeout = 10; - const char *temp, *host, *user, *pass, *_base, *scope, *_filter, *attribute; - char *convert, *convert_from = NULL, *convert_to = NULL, *filter, *base; - -@@ -127,8 +136,8 @@ static int ldap_exec (struct ast_channel - if (!(scope = ast_variable_retrieve(cfg, config, "scope"))) { - scope = "sub"; - } -- if(!(_base = ast_variable_retrieve(cfg, config, "base"))) { -- _base = ""; -+ if(!(_base = ast_variable_retrieve(cfg, config, "base"))){ -+ _base = ""; - } - if(!(_filter = ast_variable_retrieve(cfg, config, "filter"))) { - _filter = "(&(objectClass=*)(telephoneNumber=${CALLERID(number)}))"; -@@ -136,7 +145,7 @@ static int ldap_exec (struct ast_channel - if(!(attribute = ast_variable_retrieve(cfg, config, "attribute"))) { - attribute = "cn"; - } -- -+ - if((temp = ast_variable_retrieve(cfg, config, "convert"))) { - convert = ast_strdupa(temp); - if(strchr(convert, ',')) { -@@ -146,7 +155,7 @@ static int ldap_exec (struct ast_channel - ast_log(LOG_WARNING, "syntax error: convert = <source-charset>,<destination charset>\n"); - } - } -- -+ - if(option_verbose > 3) - ast_verbose (VERBOSE_PREFIX_4 "LDAPget: ldap://%s/%s?%s?%s?%s\n", host, _base, attribute, scope, _filter); - -@@ -160,12 +169,16 @@ static int ldap_exec (struct ast_channel - memset(base, 0, slen); - pbx_substitute_variables_helper(chan, _base, base, slen); - -+// ast_log(LOG_WARNING, "LDAPget: filter: after replace_ast_vars in main: -%s-\n", filter); -+ if(option_verbose > 3) -+ ast_verbose (VERBOSE_PREFIX_4 "LDAPget: replaced string: %s\n", filter); -+ - if(keys && strstr(filter, "%s") != NULL) { - filter = (char *)ast_realloc(filter, (strlen(filter)+strlen(keys)+1)*sizeof(char)); - while((key = strsep(&keys, "|")) != NULL) { - if((tail = strstr(filter, "%s")) != NULL) { -- memmove(tail+strlen(key), tail+2, strlen(tail+2)+1); -- memcpy(tail, key, strlen(key)); -+ memmove(tail+strlen(key), tail+2, strlen(tail+2)+1); -+ memcpy(tail, key, strlen(key)); - } - } - } -@@ -173,86 +186,146 @@ static int ldap_exec (struct ast_channel - if(option_verbose > 2) - ast_verbose (VERBOSE_PREFIX_3 "LDAPget: ldap://%s/%s?%s?%s?%s\n", host, base, attribute, scope, filter); - -+// ast_log(LOG_WARNING, "LDAPget: filter before ldap_lookup: -%s-\n", filter); - if(ldap_lookup(host, port, version, timeout, user, pass, base, scope, filter, attribute, result)) { - -- if(convert_from) { -+ if(convert_from && strlen(result)>0) { - if(option_verbose > 2) -- ast_verbose(VERBOSE_PREFIX_3 "LDAPget: convert: %s -> %s\n", convert_from, convert_to); -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: convert: %s -> %s\n", convert_from, convert_to); - result_conv = alloca(strlen(result) * 2); -- strconvert(convert_from, convert_to, result, result_conv); -+ strconvert(convert_from, convert_to, (const char*)result, result_conv); - strcpy(result, result_conv); - } -- -- -+ - if(strcmp("CALLERIDNAME", varname)==0 || strcmp("CALLERID(name)", varname)==0) { - #ifdef CHANNEL_HAS_CID -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: set callerid with HAS_CID ast_set_callerid\n"); - ast_set_callerid(chan, NULL, result, NULL); - #else - char *cidnum, *cidname, newcid[512] = ""; - ast_callerid_parse(chan->callerid, &cidname, &cidnum); - snprintf(newcid, sizeof(newcid), "\"%s\" <%s>", result, cidnum); -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: set callerid with NO HAS_CID ast_set_callerid\n"); - ast_set_callerid(chan, newcid, 0); - #endif - } else { - pbx_builtin_setvar_helper(chan, varname, result); - } -- if(option_verbose > 2) -- ast_verbose (VERBOSE_PREFIX_3 "LDAPget: set %s='%s'\n", varname, result); -+ if(option_verbose > 2) -+ ast_verbose (VERBOSE_PREFIX_3 "LDAPget: set %s='%s'\n", varname, result); -+ - } else { - /* Send the call to n+101 priority, where n is the current priority */ - if(ast_exists_extension (chan, chan->context, chan->exten, chan->priority + 101, - #ifdef CHANNEL_HAS_CID -- chan->cid.cid_num -+ chan->cid.cid_num - #else -- chan->callerid -+ chan->callerid - #endif -- )) -+ )) - chan->priority += 100; - } -- - #ifdef NEW_CONFIG - ast_config_destroy(cfg); - #else - ast_destroy(cfg); - #endif -- - ast_module_user_remove(u); -+ - return 0; - } - -- --int ldap_lookup(const char *host, int port, int version, int timeout, const char *user, const char *pass, -- const char *base, const char *scope, const char *filter, const char *attribute, char *result) { -- char *attrs[] = { NULL }; -- char **values; -- LDAP *ld; -- LDAPMessage *res, *entry; -- int ret, ldap_scope = LDAP_SCOPE_SUBTREE; -- -- ld = ldap_init(host, port); -- if(!ld) { -- ast_log(LOG_WARNING, "LDAPget: unable to initialize ldap connection to %s:%d\n", host, port); -+LDAP* ldap_open_connection(const char *host, int port, int version) -+{ -+ LDAP *ld=NULL; -+ LDAPURLDesc url; -+ char *ldapuri=NULL; -+ int ret; -+// int ldap_debug=0xffff; -+ int ldap_debug=0; -+ -+ // Open connection to the LDAP server -+ memset(&url, 0, sizeof(url)); -+ url.lud_host=host; -+ url.lud_port=port; -+ url.lud_scope=LDAP_SCOPE_DEFAULT; -+ url.lud_scheme="ldap"; -+ -+ ldapuri=ldap_url_desc2str(&url); -+ (void) ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, &ldap_debug); -+ -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: open connection to %s with version: %d\n", ldapuri, version); -+ ret = ldap_initialize(&ld, ldapuri); -+ if(ret != LDAP_SUCCESS) { -+ ast_log(LOG_WARNING, "LDAPget: unable to initialize ldap connection to %s(%d)\n", ldap_err2string(ret),ret); - return 0; - } -+ -+ // Disable option referrals -+ if(ldap_set_option(ld, LDAP_OPT_REFERRALS, LDAP_OPT_OFF) != LDAP_OPT_SUCCESS) -+ { -+ ast_log(LOG_WARNING, "LDAPget: unable to disable LDAP_OPT_REFERRALS\n"); -+ return 0; -+ } - -- ldap_set_option(ld, LDAP_OPT_TIMELIMIT, &timeout); -- ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &version); -- -- if(user) { -- if (option_verbose > 2) -- ast_verbose(VERBOSE_PREFIX_3 "LDAPget: bind to %s as %s\n", host, user); -- ret = ldap_simple_bind_s(ld, user, pass); -- } else { -- if (option_verbose > 2) -- ast_verbose(VERBOSE_PREFIX_3 "LDAPget: bind to %s anonymously\n", host); -- ret = ldap_simple_bind_s(ld, NULL, NULL); -- } -- if(ret) { -- ast_log(LOG_WARNING, "LDAPget: bind failed: %s\n", ldap_err2string(ret)); -- ldap_unbind(ld); -- return 0; -+ // set protocol to version -+ if(ldap_set_option(ld, LDAP_OPT_PROTOCOL_VERSION, &version)!= LDAP_OPT_SUCCESS) -+ { -+ ast_log(LOG_WARNING, "LDAPget: unable to set LDAP_OPT_PROTOCOL_VERSION %d\n",version); -+ return 0; - } -+ return ld; -+} - -+int ldap_bind_connection(LDAP *ld, const char *user, const char *pass) -+{ -+ int rc; -+ char *sasl_secprops=NULL; -+ -+ if( sasl_secprops != NULL) -+ { -+ rc= ldap_set_option( ld, LDAP_OPT_X_SASL_SECPROPS, (void *) sasl_secprops); -+ if(rc != LDAP_OPT_SUCCESS) -+ { -+ ast_log(LOG_WARNING, "LDAPget: Could not set LDAP_OPT_X_SASL_SECPROPS: %s\n", sasl_secprops); -+ return 0; -+ } -+ } -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: bind as %s\n", user); -+ -+ struct berval passwd= {0, NULL}; -+ passwd.bv_val=ber_strdup(pass); -+ passwd.bv_len=strlen(passwd.bv_val); -+ -+ rc=ldap_sasl_bind_s(ld, user, NULL, &passwd, NULL, NULL, NULL); -+ -+ if(rc != LDAP_SUCCESS) -+ { -+ ast_log(LOG_WARNING, "LDAPget: ldap_sasl_interactive_bind_s failed: %s (%d)\n", ldap_err2string(rc),rc); -+ return 0; -+ } -+ -+ return 1; -+} -+ -+ -+int ldap_search_in_connection(LDAP *ld, const char *base, const char *scope, const char *filter, const char *attribute, char *result) -+{ -+ char *attrs[] = { NULL }; -+ int ret, ldap_scope = LDAP_SCOPE_SUBTREE; -+ LDAPMessage *msg, *res; -+ int num_entries=0; -+ int msgtype; -+ char *dn, *a; -+ BerElement *ber=NULL; -+ struct berval **vals; -+ struct berval val; -+ -+// ast_log(LOG_WARNING, "LDAPget: filter start of ldap_search_in_connections: -%s-\n", filter); - if(strncmp(scope,"sub",3)==0) { - ldap_scope = LDAP_SCOPE_SUBTREE; - } else if(strncmp(scope,"base",4)==0) { -@@ -261,82 +334,146 @@ int ldap_lookup(const char *host, int po - ldap_scope = LDAP_SCOPE_ONELEVEL; - } - -- ret = ldap_search_s(ld, base, ldap_scope, filter, attrs, 0, &res); -- if(ret) { -- ast_log(LOG_WARNING, "LDAPget: search failed: %s\n", ldap_err2string(ret)); -- if(version==2) -- ast_log(LOG_WARNING, "LDAPget: you may try version=3 in your asterisk ldap.conf file.\n"); -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: send search command to LDAP server\n"); -+ ret = ldap_search_ext_s(ld, base, ldap_scope, filter, attrs, 0, NULL, NULL, NULL, SIZELIMIT, &res); -+ if(ret != LDAP_SUCCESS) { -+ ast_log(LOG_WARNING, "LDAPget: search failed: %s (%d)\n", ldap_err2string(ret),ret); -+ ast_log(LOG_WARNING, "LDAPget: filter: %s\n", filter); -+// XXXX need to check - ldap_msgfree(res); -- ldap_unbind(ld); -+ ldap_unbind_ext_s(ld,NULL,NULL); -+ ast_log(LOG_WARNING, "LDAPget: search failed resourceses released, cancel search\n"); - return 0; - } -+ num_entries=ldap_count_entries(ld, res); -+ msg=ldap_first_message(ld, res); -+ msgtype=ldap_msgtype(msg); - -- entry = ldap_first_entry(ld, res); -- if(!entry) { -- if(option_verbose > 2) -- ast_verbose (VERBOSE_PREFIX_3 "LDAPget: Value not found in directory.\n"); -- ldap_msgfree(res); -- ldap_unbind(ld); -- return 0; -- } -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: found %d entry in LDAP server\n", num_entries); - -- values = ldap_get_values(ld, entry, attribute); -- if(values && values[0]) { -- memset(result, 0, strlen(values[0])); -- strncpy(result, values[0], strlen(values[0])); -- result[strlen(values[0])] = '\0'; -- if (option_verbose > 2) -- ast_verbose(VERBOSE_PREFIX_3 "LDAPget: %s=%s\n", attribute, result); -- } else { -- if (option_verbose > 2) -- ast_verbose (VERBOSE_PREFIX_3 "LDAPget: %s not found.\n", attribute); -- ldap_msgfree(res); -- ldap_unbind(ld); -- return 0; -+ for ( msg = ldap_first_message( ld, res ); msg != NULL; msg = ldap_next_message( ld, msg ) ) { -+ /* Determine what type of message was sent from the server. */ -+ -+ msgtype = ldap_msgtype( msg ); -+ switch( msgtype ) { -+ /* If the result was an entry found by the search, get and print the -+ attributes and values of the entry. */ -+ case LDAP_RES_SEARCH_ENTRY: -+ /* Get and print the DN of the entry. */ -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "Found a LDAP_RES_SEARCH_ENTRY\n"); -+ ret=ldap_get_dn_ber(ld,msg,&ber,&val); -+ -+ if (( dn = ldap_get_dn( ld, res )) != NULL ) { -+ ldap_memfree( dn ); -+ } -+ /* Iterate through each attribute in the entry. */ -+ for ( a = ldap_first_attribute( ld, res, &ber ); -+ a != NULL; a = ldap_next_attribute( ld, res, ber ) ) { -+ /* Get the searched attribute and value */ -+ if(!strcmp(a,attribute)) -+ { -+ -+ if (( vals = ldap_get_values_len( ld, res, a )) != NULL ) { -+ val=*vals[0]; -+ // remove space at end of string -+ if(val.bv_val[val.bv_len-1]==' ') -+ { -+ val.bv_len--; -+// val.bv_val[val.bv_len]=NULL; -+ } -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "Found <%s>: <%s>\n", a, val.bv_val); -+ memcpy(result,val.bv_val,val.bv_len); -+ ldap_value_free_len( vals ); -+ ldap_memfree(a); -+ break; -+ } -+ } -+ ldap_memfree( a ); -+ } -+ if ( ber != NULL ) { -+ ber_free( ber, 0 ); -+ } -+ break; -+ case LDAP_RES_SEARCH_REFERENCE: -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAP_RES_SEARCH_REFERENCE\n"); -+ break; -+ case LDAP_RES_SEARCH_RESULT: -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPRES_SERCH_RESULT\n"); -+ break; -+ default: -+ break; -+ } - } -- ldap_value_free(values); -- -- ldap_msgfree(res); -- ldap_unbind_s(ld); -- - return 1; - } - --int strconvert(const char *incharset, const char *outcharset, --#ifdef __Darwin__ -- const char *in, --#else -- char *in, --#endif -- char *out) { -+int ldap_lookup(const char *host, int port, int version, int timeout, const char *user, const char *pass, -+ const char *base, const char *scope, const char *filter, const char *attribute, char *result) { -+ LDAP *ld=NULL; -+ -+// ast_log(LOG_WARNING, "LDAPget: filter in ldap_lookup: -%s-\n", filter); -+ // open connection to LDAP server -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: Initialize connection to LDAP server\n"); -+ ld=ldap_open_connection(host, port, version); -+ if(ld==0) -+ return 0; -+ -+ // authenticate to the LDAP-Server -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: bind to LDAP server\n"); -+ if(ldap_bind_connection(ld, user, pass) == 0) -+ return 0; -+ -+ // Search in the LDAP directory -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: search attribute %s in LDAP directory\n", attribute); -+ if(ldap_search_in_connection(ld, base, scope, filter, attribute, result)==0) -+ return 0; -+ -+ // Close connection to the LDAP server -+ int err = ldap_set_option(ld, LDAP_OPT_SERVER_CONTROLS, NULL); -+ if(err != LDAP_OPT_SUCCESS) -+ { -+ ast_log(LOG_WARNING, "LDAPget: Could not unset controls\n"); -+ } -+ -+ ldap_unbind_ext_s(ld, NULL, NULL); -+ return 1; -+} -+ -+ -+int strconvert(const char *incharset, const char *outcharset, const char *in, char *out) -+{ - iconv_t cd; -- size_t incount = strlen(in), outcount = strlen(in)*2, result; -- cd = iconv_open(outcharset, incharset); -- if(cd == (iconv_t) -1) { -- ast_log(LOG_ERROR, "conversion from '%s' to '%s' not available. type 'iconv -l' in a shell to list the supported charsets.\n", incharset, outcharset); -- memcpy(out, in, strlen(in)+1); -+ size_t incount, outcount, result; -+ incount = outcount = strlen(in) * 2; -+ if((cd = iconv_open(outcharset, incharset)) == (iconv_t)-1) { -+ if(errno == EINVAL) ast_log(LOG_DEBUG, "conversion from '%s' to '%s' not available", incharset, outcharset); -+ *out = L'\0'; - return -1; - } -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: convert: now with icon string: %s\n", in); - result = iconv(cd, &in, &incount, &out, &outcount); -- if(result == (size_t)-1) { -- if(errno == E2BIG) { -- ast_log(LOG_WARNING, "Iconv: output buffer too small.\n"); -- } else if(errno == EILSEQ) { -- ast_log(LOG_WARNING, "Iconv: illegal character.\n"); -- } else if(errno == EINVAL) { -- ast_log(LOG_WARNING, "Iconv: incomplete character sequence.\n"); -- } else { -- ast_log(LOG_WARNING, "Iconv: error.\n"); -- } -- } -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: convert: close inconv %d\n",result); - iconv_close(cd); -- *out = '\0'; -+ if(option_verbose > 2) -+ ast_verbose(VERBOSE_PREFIX_3 "LDAPget: result with icon\n"); -+ out[strlen(out)] = '\0'; - return 1; - } - - static int load_module(void) - { -- return ast_register_application(app, ldap_exec, synopsis, descrip); -+ return ast_register_application(app, ldap_exec, synopsis, descrip); - } - - static int unload_module(void) diff --git a/net/asterisk-app-ldap/files/patch-cflags.sh b/net/asterisk-app-ldap/files/patch-cflags.sh deleted file mode 100644 index 66577ae7ccfb..000000000000 --- a/net/asterisk-app-ldap/files/patch-cflags.sh +++ /dev/null @@ -1,14 +0,0 @@ ---- cflags.sh.orig Tue Apr 17 14:11:19 2007 -+++ cflags.sh Tue Apr 17 14:13:40 2007 -@@ -11,6 +11,11 @@ else - INCDIR=/usr/include/asterisk - fi - -+if [ ${OSARCH} = "FreeBSD" ]; then -+ INCDIR=/usr/local/include/asterisk -+ CFLAGS="${CFLAGS} -I/usr/local/include -L/usr/local/lib" -+fi -+ - CHANNEL_H=${INCDIR}/channel.h - if [ "`grep 'struct ast_callerid cid' ${CHANNEL_H}`" != "" ]; then - CFLAGS="${CFLAGS} -DCHANNEL_HAS_CID" diff --git a/net/asterisk-app-ldap/pkg-descr b/net/asterisk-app-ldap/pkg-descr deleted file mode 100644 index b63e27a22826..000000000000 --- a/net/asterisk-app-ldap/pkg-descr +++ /dev/null @@ -1,5 +0,0 @@ -LDAPget is an Asterisk application for data retrieval from LDAP -directories (e.g. OpenLDAP or ActiveDirectory). This version works -with asterisk 1.4. - -WWW: http://www.mezzo.net/asterisk/app_ldap.html diff --git a/net/asterisk-app-ldap/pkg-plist b/net/asterisk-app-ldap/pkg-plist deleted file mode 100644 index c352a00f73cf..000000000000 --- a/net/asterisk-app-ldap/pkg-plist +++ /dev/null @@ -1,2 +0,0 @@ -lib/asterisk/modules/app_ldap.so -etc/asterisk/ldap.conf.sample |