Age | Commit message (Collapse) | Author | Files |
|
* configure.boot: Remove check for gethostbyaddr
* dico/autologin.c (hostcmp): Rewrite using getaddrinfo.
* dicod/accesslog.c (sockaddr_to_hostname): Rewrite using getnameinfo.
* xdico/xhostname.c (xdico_local_hostname): : Rewrite using getaddrinfo.
|
|
|
|
* NEWS: Version 2.10.90
* configure.boot: Version 2.10.90. Raise autoconf, automake, and
gettext requirements.
* grecs: Upgrade to b0cbc54209de4c631952005b122ce09f84866700.
* gnulib: Upgrade to v0.1-4336-gbdae9a5
* include/xdico.h: Define GNULIB_XALLOC_DIE and include xalloc.h.
See the comment for the reason.
* xdico/gnu/Makefile.am: Define GNULIB_XALLOC_DIE.
* xdico/xalloc-die.c (xalloc-die): Call abort to avoid a 'noreturn'
warning.
* dico/dico-priv.h: Don't include xalloc.h
* dicod/dicod.h: Likewise.
* dicod/tests/apopauth.c: Likewise.
* xdico/iputil.c: Likewise.
* xdico/timer.c: Likewise.
* xdico/userprivs.c: Likewise.
* xdico/xhostname.c: Likewise.
* xdico/xscript.c: Likewise.
* xdico/xtkn.c: Likewise.
* xdico/xutil.c: Likewise.
|
|
|
|
|
|
After pulling updates from gnulib, it was discovered that it had added
an unwanted dependency to the libdico. The dependency was added b
redefining fseek to rpl_fseek in the config.h. Of course, that's quite
OK for user programs and in fact that's one of the purposes of gnulib,
so it's doing its job all right. However, this kind of depedencies is
not acceptable in installable libraries, such as libdico.
There are two ways of fixing this: (1) by including libgnu to the
libdico, or (2) by creating pristine (i.e. stripped of any gnulib
stuff) version of config.h and using it in the library sources.
The first approach was used in mailutils for the libmu_aux convenience
library. However, in dico I wouldn't like to introduce additional
dependencies to the installable libraries and modules, therefore
second approach has been chosen.
Two separare configuration headers are introduced:
include/prog/config.h
Configuration header with gnulib dependencies. It is used by
libxdico, and user-space programs: dico, dicod, idxgcide and
some test programs.
include/lib/config.h
Pristine header, free from any gnulib additions. It is used by all
installable libraries, including dicod modules.
In order to create pristine header, bootstrap uses specially prepared
temporary edition of configure.ac, which is stripped off any gl_.*
statements.
This approach introduces additional difficulties. The two header files
are of course listed in the AC_CONFIG_HEADERS statement in
configure.ac. Autotools give precedence to the first one. It is the
only file for which autoheader creates the .h.in template. Further,
automake creates in each Makefile.am the DEFAULT_INCLUDES statement,
which lists the directory part of the first header, and this value is
used in the compiler command line. This means that to include the
pristine header, its path prefix needs to be specified.
To avoid this, the nostdinc option is passed to AM_INIT_AUTOMAKE.
As a side effect, it makes it impossible to build libltdl in the
recursive mode (although its Makefile.am pretends otherwise). Thus,
libltdl is built in nonrecursive mode from the main Makefile.am.
Similar problem occurs with the gnulib itself, although in this case
its bootstrapping tool provides sufficient mechanisms to help overcome
it. Gnulib is built as a sub-library of libxdico. As a side effect,
the libextra library is no longer needed.
Another side effect is that the rewritten bootstrap script made it
possible to use gnulib-tool directly, instead of using
gnulib/build-aux/bootstrap wrapper.
Following bugs are fixed by this change:
https://puszcza.gnu.org.ua/bugs/?416
https://puszcza.gnu.org.ua/bugs/?417
https://puszcza.gnu.org.ua/bugs/?418
Almost all files in the project are affected by this change. However,
some changes are pure bugfixes. These are:
* lib/mergesort.c (mergesort): Rename to dico_mergesort to avoid name
clash on Free and OpenBSD.
* lib/stream.c (dico_stream_getdelim): Fix memory reallocation
algorithm.
* lib/utf8.c (utf8_wc_strstr): Reset errno to 0.
* lib/libi18n.c: Don't depend on gnu/configmake.h
* modules/wordnet/module.ac: Move definition of WORDNET_COND out of
conditional context. This fixes the functionality of the
configure --without-wordnet option.
Some obsolete and unused files have been removed. These are:
* include/gjdict.xbm
* lib/bushu.dat
* lib/bushu.h
* lib/cursor.xbm
* lib/jiscvt.c
* makedict/
Main set of changes is:
* bootstrap: Mostly rewritten as described above.
* GNUmakefile: New file for the ease of maintenance.
* maint/bootstrap.mk: New file.
* gnulib.modules: Moved to maint/
* maint/printflike: New file. Lists printf-like functions for gettext.
* configure.boot: Use AC_CONFIG_HEADERS with two header files.
Use nostdinc option to AM_INIT_AUTOMAKE.
(LTDL_INIT): Use nonrecursive option.
(DICO_PROG_CONFIG,DICO_LIB_CONFIG)
(DICO_PROG_INCLUDES,DICO_MODULE_INCLUDES): New substitution variables.
(GRECS_HOST_PROJECT_INCLUDES): Fix value.
(COND_LIBDICOSASL): New conditional.
* Makefile.am: Build libltdl.
* lib/Makefile.am: Move convenience libraries to another
directory. Build only libdico.
* dico/Makefile.am: Fix LDADD and includes.
* dicod/Makefile.am: Likewise.
* dicod/tests/Makefile.am: Likewise.
* lib/tests/Makefile.am: Likewise.
* modules/*/Makefile.am: Likewise.
The directory struture is reorganized and the sources of convenience
libraries moved to a separate directory:
* xdico/Makefile.am: New file
* xdico/appi18n.c
* xdico/gsaslstr.c
* xdico/iputil.c
* xdico/timer.c
* xdico/userprivs.c
* xdico/xalloc-die.c
* xdico/xhostname.c
* xdico/xscript.c
* xdico/xstream.c
* xdico/xtkn.c
* xdico/xutil.c: All moved from lib
* xdico/gnu/Makefile.am: New file.
* xdico/gnu: Gnulib sources imported to this directory.
|
|
* lib/bsearch.c: New file.
* lib/mergesort.c: New file.
* include/dico/list.h (dico_list_comp_t): Change signature.
(dico_list_set_comparator)
(dico_list_intersect, dico_list_intersect_p)
(_dico_list_locate, _dico_list_remove): Change signature.
(dico_list_set_comparator_data)
(dico_list_get_comparator_data): New protos.
* lib/list.c (dico_list)<comp_data>: New member.
(dico_list_set_comparator)
(dico_list_intersect, dico_list_intersect_p)
(_dico_list_locate, _dico_list_remove): Change signature.
(dico_list_set_comparator_data)
(dico_list_get_comparator_data): New functions.
* lib/Makefile.am: Raise library version number.
* dico/saslauth.c: Reflect the above changes.
* dicod/acl.c: Likewise.
* dicod/alias.c: Likewise.
* dicod/capa.c: Likewise.
* dicod/commands.c: Likewise.
* dicod/gsasl.c: Likewise.
* dicod/lang.c: Likewise.
* dicod/main.c: Likewise.
* dicod/virtual.c: Likewise.
* include/dico/strat.h: Likewise.
* include/dico/util.h: Likewise.
* lib/assoc.c: Likewise.
* lib/markup.c: Likewise.
* lib/strat.c: Likewise.
* lib/tests/listop.c: Likewise.
* lib/udb.c: Likewise.
* modules/gcide/gcide.c: Likewise.
* modules/wordnet/wordnet.c: Likewise.
* modules/dict.org/dictorg.c: Use appropriate comparisons in uniq_comp
and compare_entry_ptr.
|
|
|
|
|
|
|
|
* dico/connect.c (dict_connect): Accept UNIX socket pathname as
argument. Improve error checking.
* dico/func.c (ds_open): If one argument given, it can be a socket
pathname.
* doc/dico.texi: Document changes to the "open" command.
|
|
* grecs: Update.
* dico/cmdline.opt: fix the style of option descriptions
* dicod/cmdline.opt (--test option): Rename to --runtest (-r).
Stop further processing after this option.
* dicod/loader.c (dicod_module_test): Fix comment.
* dicod/main.c: Ignore configuration file if in unit testing
mode.
* doc/dico.texi: Document unit testing mode.
* doc/dicod.8in: Likewise.
* modules/metaphone2/tests/build.at: Fix dicod arguments.
* modules/metaphone2/tests/comp01.at: Likewise.
* modules/metaphone2/tests/comp02.at: Likewise.
* modules/metaphone2/tests/encode.at: Likewise.
|
|
|
|
* gnulib: New module.
* .gitignore: Update.
* bootstrap: Rewrite from scratch.
* gnulib.modules: Remove deprecated modules.
* bootstrap.conf: Rename to gnulibinit.conf
* modules/.gitignore: New file.
* dico/Makefile.am: Link to libgnu.la, instead of libgnu.a
* dicod/Makefile.am: Likewise.
* dicod/tests/Makefile.am: Likewise.
* makedict/Makefile.am: Likewise.
* modules/gcide/Makefile.am: Likewise.
* stub.ac: Minor change.
|
|
* dico/connect.c (dict_connect): Select default port if url->port
is not set.
|
|
* dico/shell.c (_command_completion): Fix type of the first parameter.
(shell_init): Remove typecast.
* lib/tests/utf8.c: Fix format specifiers.
* modules/dict.org/dictorg.c (init_suffix_index): Redo freeing loop.
* modules/gcide/Makefile.am: Refer to libgcide.la without leading ./,
to fix compilation with BSD Make.
* modules/gcide/gcide.c (gcide_init_db): Avoid using old-style GNU
member specification.
* modules/gcide/idx.c (_cache_promote): Fix type of the counter.
* modules/outline/outline.c (init_suffix_index): Redo freeing loop.
|
|
* grecs: Upgrade.
* configure.ac (GRECS_SETUP): Request sockaddr-list.
* include/dico/types.h (DICO_DICT_PORT_STR): New constant.
(dico_url) <port>: Change type to char *. All uses changed.
* include/dico/url.h (ip_hostname, get_ipaddr)
(str2port): Remove obsolete functions and data types.
* include/appi18n.h (appi18n_init): New proto.
* dicod/accesslog.c: Add typecasts to struct sockaddr*. Fix
format string conversions.
* dicod/acl.c (acl_value): New union.
(acl_entry) <sockaddrs>: Rename to values. Holds acl_value entries now.
(_parse_sockaddr): Remove.
(_parse_acl_value): New function. Use grecs CIDRs to represent ACL entries.
(_check_sockaddr): Replace with _check_value. All uses updated.
* dicod/alias.c (alias_hasher): Fix signature.
* dicod/dicod.c: Add typecasts to struct sockaddr*.
* dicod/dicod.h (client_addr): Change type to sockaddr_storage.
* dicod/ident.c (query_ident_name): Remove unused variable.
* dicod/loader.c: Minor fix.
* dicod/main.c (cb_dico_sockaddr_list): Use grecs sockaddr-list support.
* dicod/server.c (address_family_to_domain): Add IPv6 support.
(client_addr): Change type to struct sockaddr_storage. All uses changed.
* dico/cmdline.opt: Update.
* dico/connect.c (dict_connect): Rewrite using getaddrinfo.
* dico/dico-priv.h (source_addr): Change type to char*.
(shell_banner): New proto.
* dico/dico.c (source_addr): Change type to char*.
(fixup_url): dico_url.port member is char *.
* dico/func.c: dico_url.port member is char *.
* lib/iputil.c (ip_hostname, get_ipaddr)
(str2port): Remove obsolete functions.
(sockaddr_to_str): Add IPv6 support.
* lib/url.c (url_get_host): Allocate memory for url.port
(dico_url_destroy): Free port.
* lib/logstream.c: Minor fixes.
* lib/qp.c: Likewise.
* modules/gcide/markup.l: Likewise.
|
|
|
|
* bootstrap (gnulib_extra_files): Remove "missing".
* configure.ac: Require libtool 2.4 and gettext 0.18
* dicod/cmdline.opt: Use the program_version option.
* dicod/dicod.h (program_version): New extern.
* gint: Upgrade.
* grecs: Upgrade.
* lib/levenshtein.c (dico_levenshtein_distance): Avoid
assigning dist at each iteration.
* dico/Makefile.am: Use AM_CPPFLAGS instead of INCLUDES.
* dicod/Makefile.am: Likewise.
* dicod/tests/Makefile.am: Likewise.
* lib/Makefile.am: Likewise.
* lib/tests/Makefile.am: Likewise.
* makedict/Makefile.am: Likewise.
* modules/dict.org/Makefile.am: Likewise.
* modules/gcide/Makefile.am: Likewise.
* modules/gcide/tests/Makefile.am: Likewise.
* modules/guile/Makefile.am: Likewise.
* modules/ldap/Makefile.am: Likewise.
* modules/nprefix/Makefile.am: Likewise.
* modules/outline/Makefile.am: Likewise.
* modules/pam/Makefile.am: Likewise.
* modules/pcre/Makefile.am: Likewise.
* modules/python/Makefile.am: Likewise.
* modules/stratall/Makefile.am: Likewise.
* modules/substr/Makefile.am: Likewise.
* modules/word/Makefile.am: Likewise.
* modules/wordnet/Makefile.am: Likewise.
|
|
* dico/saslauth.c: Make sure authentication is attempted
only if the server offers SASL.
(authctx): New struct.
(match_capa,getauthcontext)
(freeauthcontext): New functions.
(saslauth0): Change signature: take authctx as 3rd arg.
(saslauth): Return AUTH_CONT if SASL is not available or
none of its methods matches those implemented on the client
side.
* dicod/main.c (user_db_config): Fix the source location copy.
(init_user_db): Clear sasl_enable if no user database is configured.
(main): Call register_sasl after init_user_db so that the above
change takes effect.
* dicod/server.c (dicod_server): Don't try to remove pidfile
in foreground mode.
* doc/proto.texi: Minor fix.
|
|
* dico/cmdline.opt: Use the gnupackage option to include web
URL into the help output.
* dicod/cmdline.opt: Likewise.
* doc/dico.texi: Improve some wording.
|
|
* dico/autologin.c (parse_autologin): Rewrite using wordsplit.
* dico/dico-priv.h: Include wordsplit.h
* dicod/dicod.h: Likewise.
* dico/saslauth.c (get_implemented_mechs): Use wordsplit.
* dico/shell.c (_command_completion): Likewise.
* dicod/gsasl.c (register_sasl): Likewise.
* dicod/loader.c (dicod_load_module): Likewise.
* dicod/main.c (set_dict_handler): Likewise.
* modules/guile/guile.c (guile_load): Likewise.
* modules/ldap/ldap.c (db_open): Likewise.
* modules/guile/Makefile.am (INCLUDES): Add @GRECS_INCLUDES@
* modules/ldap/Makefile.am: Likewise.
* modules/outline/Makefile.am: Likewise.
* modules/outline/outline.c (outline_lang): Likewise.
|
|
* grecs: Update.
* configure.ac (GRECS_SETUP): Use the "shared" option.
* lib/Makefile.am (libdico_la_LIBADD): Incorporate libgrecs
* dico/Makefile.am (LDADD): Remove @GRECS_LDADD@.
* dicod/Makefile.am: Likewise.
|
|
Grecs is a convenience library for parsing sructured configuration files.
It derived from the dicod and wydawca parsers in 2009. It has already
reached stable status and is now used by quite a few other projects.
* .gitmodules: Add Grecs
* Makefile.am: Likewise.
* configure.ac: Likewise.
* dico/Makefile.am (LDADD,INCLUDES): Add Grecs.
* dico/cmdline.opt (OPTIONS_BEGIN): Rewrite.
* dicod/Makefile.am (dicod_SOURCES): Remove pp.c, config-format.c,
config-gram.y and config-lex.l. Add lint.c
* dicod/acl.c: Use Grecs.
* dicod/alias.c (alias)<kw>: Remove const.
<locus>: Change type.
(alias_install): Allocate kw.
* dicod/cmdline.opt (OPTIONS_BEGIN): Rewrite.
* dicod/config-format.c: Remove.
* dicod/config-gram.y: Remove.
* dicod/config-lex.l: Remove.
* dicod/lint.c: New file.
* dicod/dicod.h: Remove configuration parser types and definitions.
* dicod/gsasl.c (cmp_names): List contains now pointers to strings.
* dicod/loader.c (_add_load_dir): Likewise.
* dicod/main.c: Rewrite configuration parser using Grecs.
* dicod/server.c (open_sockets): Operate on grecs_sockaddr structs.
* gnulib.modules (gitlog-to-changelog): Remove.
* include/appi18n.h: Redefine _ and N_ only if necessary.
* utils/Makefile.am (EXTRA_DIST): Remove getopt.m4
* utils/getopt.m4: Remove.
* README-hacking: Update.
|
|
* lib/tokenize.c: Rewrite.
* lib/xtkn.c: New file.
* lib/Makefile.am (libdico_la_SOURCES): Add tokenize.c
(libxdico_a_SOURCES): Remove tokenize.c, add xtkn.c.
* include/dico.h: Include dico/tokenize.h
* include/dico/tokenize.h: New file.
* include/dico/Makefile.am (pkginclude_HEADERS): Add tokenize.h
* include/xdico.h: Remove xdico tokenizer interface.
(xdico_tokenize_string): New proto.
* dico/connect.c (_result_parse_def): Use new tokenizer.
* dico/shell.c (parse_script_file): Likewise.
* dicod/dicod.c (dicod_loop): Likewise.
* dicod/config-lex.l (unescape_to_obstack): Use dico_unquote_char.
|
|
|
|
|
|
* NEWS: Document new features and bugfixes.
* dico/.gitignore, tests/.gitignore: Update.
|
|
* configure.ac: Version 2.0.90
Call gl_INIT before checking for data types.
Check for socklen_t.
* NEWS: Version 2.0.90
* dico/connect.c (dict_auth): Return 1 if everything else
fails.
* dico/dico-priv.h (print_version, print_version_only): New protos.
* dicod/dicod.h (server_addrlen, client_addrlen): Change type to
socklen_t.
* dicod/server.c (dicod_server): Change type of addrlen to
socklen_t.
* include/dico/utf8.h (utf8_char_width, utf8_iter_first)
(utf8_wctomb, utf8_symcmp, utf8_symcasecmp, utf8_strcasecmp)
(utf8_strncasecmp): Use (unqualified) char in argument lists.
All uses updated.
* lib/utf8.c: Likewise.
* dico/lookup.c: Silence gcc warnings about diff in signedness.
* dicod/ident.c: Likewise.
* lib/tokenize.c: Likewise.
* lib/xstream.c: Likewise.
* modules/dict.org/dictorg.c: Likewise.
* modules/dict.org/dictstr.c: Likewise.
* modules/outline/outline.c: Likewise.
* modules/guile/guile.c: Remove unused functions and variables.
* utils/getopt.m4 (print_help): Avoid gcc warning about condition
always true.
|
|
* gnulib.modules: Add sysexits
* lib/xalloc-die.c: Exit with code EX_OSERR.
* utils/getopt.m4 (GETOPT): Provide optional `opterr' argument.
* dicod/cmdline.opt (get_options): Exit with EX_USAGE in
case of unhandled option.
* dicod/config-lex.l: Move includes to the '%top' block.
Define YY_EXIT_FAILURE.
* dicod/dicod.c (sig_alarm): Exit with EXIT_TIMEOUT.
* dicod/dicod.h: Include sysexits.h.
* dicod/main.c (main): Normalize exit codes.
* dicod/pp.c: Likewise.
* dicod/server.c: Normalize exit codes.
(print_status): Handle 'time out' exit code separately.
Print informational message.
* doc/dico.texi (Exit Codes): New section.
* NEWS: Update.
|
|
Happy GNU Year!
|
|
* Makefile.am: Update ChangeLog rule
* configure.ac: Require autoconf 2.63, automake 1.11.
Enable silent rules.
* dico/connect.c (dict_match): Properly handle successful return
from XLEV command.
|
|
|
|
* dico/cmdline.opt: Fix --sasl and --nosasl definitions.
Remove --strats alias. Use --strat(egies) instead.
|
|
* include/dico/assoc.h (struct dico_assoc): Key is const
(DICO_ASSOC_CI, DICO_ASSOC_MULT): New defines.
(dico_assoc_append,dico_assoc_find_n): New functions.
(dico_assoc_iterator, dico_assoc_remove_n): New functions.
(dico_header_parse): New function.
* include/dico/list.h (dico_list_destroy): Change signature.
(dico_list_set_free_item)
(dico_list_set_comparator,dico_list_get_comparator): New functions.
(dico_list_insert_sorted): Change signature.
(dico_list_locate,dico_list_remove): Change signature.
(_dico_list_locate): New function.
(dico_iterator_create): Rename to dico_list_iterator
(dico_iterator_remove_current): Change signature and return type.
* dico/strat.h (dico_strat_name_cmp): Change signature.
(dico_strat_free): New proto.
* dico/types.h (dico_assoc_list_t): New type.
* include/xdico.h (xdico_assoc_append, xdico_assoc_add): New protos.
* lib/header.c: New file.
* lib/Makefile.am (libdico_la_SOURCES): Add header.c
* lib/assoc.c: Major rewrite.
* lib/list.c: Associate free_item and compare_item functions with the list.
* dicod/dicod.h (dicod_database_t): Remove content_type and
content_transfer_encoding. Change type of mime_headers to
dico_assoc_list_t.
(CONTENT_TRANSFER_ENCODING_HEADER): New define.
(dicod_ostream_create): Takes two arguments.
* dicod/ostream.c: Rewrite using dico_assoc_list_t for headers.
* dicod/main.c: Update calls to list/assoc functions.
(kwd_load_module): Remove content-type and content-transfer-encoding.
Load mime-headers through a callback, with checking.
* dicod/commands.c: Update calls to dicod_ostream_create.
* dicod/lang.c: Likewise.
* dicod/loader.c: Likewise.
* dico/autologin.c: Update calls to list/assoc functions.
* dico/connect.c: Likewise.
* dico/saslauth.c: Likewise.
* dicod/accesslog.c: Likewise.
* dicod/acl.c: Likewise.
* dicod/alias.c: Likewise.
* dicod/auth.c: Likewise.
* dicod/capa.c: Likewise.
* dicod/config-gram.y: Likewise.
* dicod/dbtext.c: Likewise.
* dicod/dicod.c: Likewise.
* dicod/gsasl.c: Likewise.
* dicod/markup.c: Likewise.
* dicod/pp.c: Likewise.
* dicod/udb.c: Likewise.
* lib/markup.c: Likewise.
* lib/strat.c: Likewise.
* lib/url.c: Likewise.
* lib/userprivs.c: Likewise.
* lib/utf8.c: Likewise.
* modules/dict.org/dictorg.c: Likewise.
* modules/outline/outline.c: Likewise.
|
|
strain on the server (e.g. MATCH * prefix "").
* NEWS, configure.ac: Version 1.99.95
* dico/func.c (check_disconnect): Remove duplicate condition.
* dicod/Makefile.am (dicod_SOURCES): Add stratcl.c
* dicod/stratcl.c: New file.
* dicod/config-gram.y (string_to_unsigned): Additional argument `locus'.
All callers updated.
* dicod/dicod.c: New exterimental strategy `all'.
* dicod/dicod.h (string_to_unsigned): New proto.
(enum cmp_op): New data type.
(stratcl_add_word, stratcl_add_cmp)
(stratcl_add_disable, stratcl_check_word): New functions.
* dicod/loader.c (dicod_word_first, dicod_word_all): Check if this word is
allowed for searches using this strategy.
* dicod/main.c (flush_strat_forward_fn, destroy_strat_forward_fn)
(flush_strat_forward, strategy_cb, strategy_deny_all_cb)
(strategy_deny_word_cb, strategy_deny_length)
(strategy_deny_length_lt_cb, strategy_deny_length_le_cb)
(strategy_deny_length_gt_cb, strategy_deny_length_ge_cb)
(strategy_deny_length_eq_cb, strategy_deny_length_ne_cb): New functions.
(kwd_strategy): New configuration keywords: deny-all, deny-worddeny-word,
deny-length-lt, deny-length-le, deny-length-gt, deny-length-ge,
deny-length-eq, deny-length-ne.
(keywords): New block statement: strategy
(main): Call flush_strat_forward
* dico/strat.h (struct dico_strategy): New member: stratcl
(dico_strat_name_cmp): New function.
(dico_strategy_create): New function.
* lib/strat.c (strat_name_cmp): Rename to dico_strat_name_cmp. Make global.
(dico_strategy_create): New function.
(dico_strategy_dup): Use dico_strategy_create.
|
|
* dico/saslauth.c (callback): Handle GSASL_ANONYMOUS_TOKEN.
|
|
* dicod/dicod.h (sasl_realm): New declaration.
* dico/saslauth.c (callback): Add missing callbacks.
* dicod/gsasl.c (sasl_realm): New variable.
(callback): Add missing callbacks.
* dicod/main.c (kwd_sasl): New keyword `realm'.
|
|
|
|
* dico/saslauth.c (selectmech): Do not use _free_el to deallocate
elements of impl. This avoids duplicate calls to free.
(sasl_free_data): Do nothing if *pdata is NULL.
* dicod/gsasl.c (callback): Fix coredump.
* lib/xutil.c (xdico_sasl_capa_match_p): Use c_strcasecmp.
|
|
* include/gsaslstr.h: New file.
* include/Makefile.am: Add gsaslstr.h.
* configure.ac: Require gettext 0.17
Define BUILD_LIBDICOSASL and LIBDICOSASL if SASL is required.
* dico/Makefile.am, dicod/Makefile.am: Link with LIBDICOSASL.
* dico/connect.c, lib/xscript.c: Use new IOCTL codes.
* dico/saslauth.c: Include gsaslstr.h
(do_gsasl_auth): Insert GSASL stream on success.
* dicod/commands.c (dicod_remove_command): New function.
* dicod/dicod.c (replace_io_stream): New function.
(dicod_loop): I/O stream is static variable instead of the automatic, so
that authentication functions can reset it.
* dicod/dicod.h (replace_io_stream, dicod_remove_command): New variables.
* dicod/gsasl.c: Include gsaslstr.h
(sasl_auth): Call gsasl_finish on failure.
(dicod_saslauth): Insert GSASL stream on success.
* include/dico/diag.h (DICO_DBG_CTL_SET_FILE)
(DICO_DBG_CTL_SET_LINE, DICO_DBG_CTL_SET_TS): Remove.
* include/dico/stream.h (DICO_IOCTL_GET_TRANSPORT)
(DICO_IOCTL_SET_TRANSPORT)
(DICO_DBG_CTL_SET_FILE, DICO_DBG_CTL_SET_LINE)
(DICO_DBG_CTL_SET_TS): New defines.
* include/xdico.h (XSCRIPT_CTL_GET_TRANSPORT)
(XSCRIPT_CTL_SET_TRANSPORT): Remove.
* lib/Makefile.am (noinst_LIBRARIES): Add @BUILD_LIBDICOSASL@
* lib/gsaslstr.c (struct g_buf): New member pos.
(g_buf_ptr, g_buf_level, g_buf_drop): Take into account pos.
(g_buf_advance): New macro.
(_gsasl_read): Fix buffering.
(dico_gsasl_stream): Set line buffering.
(insert_gsasl_stream): New function.
* lib/stream.c (dico_stream_read): If the stream is line buffered,
break the reading loop after receiving a newline character.
|
|
* dico/connect.c (dict_read_reply): Remove superfluous call to XDICO_DEBUG.
* dico/dico-priv.h (ds_verbose): New prototype.
* dico/func.c (ds_verbose): New function.
* dico/shell.c (verbose): New command.
(filename): const.
(script_diag, parse_script_file): Minor fix.
|
|
* lib/dbgstream.c: Include microseconds in timing output.
|
|
* dico/cmdline.opt: New option --time-stamp.
* include/dico/diag.h (DICO_DBG_CTL_SET_TS): New define.
* lib/dbgstream.c: Optionally print timestamp information.
|
|
* configure.ac, NEWS: Version 1.99.93
* lib/dbgstream.c: New file.
* lib/Makefile.am (libdico_la_SOURCES): Add dbgstream.c.
* dico/autologin.c, dico/connect.c, dico/dico.c, dico/lookup.c,
dico/saslauth.c,
* include/dico/diag.h (dico_dbg_stream_create): New prototype.
(DICO_DBG_CTL_SET_FILE, DICO_DBG_CTL_SET_LINE): New defines.
(DICO_DEBUG_SINFO): New macro.
* lib/xscript.c (transcript_ioctl): Fix typo.
* include/xdico.h (XSCRIPT_CLT_GET_TRANSPORT)
(XSCRIPT_CLT_SET_TRANSPORT):
(debug_level, debug_source_info, debug_stream): New declarations.
(XDICO_DEBUG)
(XDICO_DEBUG_F1 through XDICO_DEBUG_F4): New macros.
* dico/cmdline.opt: New options --verbose (-v) and --source-info.
|
|
|
|
* dico/autologin.c (parse_autologin): Support for new
keywords: realm, service and host.
* dico/cmdline.opt: New options --sasl, --nosasl.
* dico/connect.c (dict_auth): Rewrite authention to avoid dependency from
"auth" capability.
(auth_cred_free): Free new auth_cred members.
(get_credentials): Rename to auth_cred_get, make global.
* dico/dico-priv.h (struct auth_cred): New fields service, realm and
hostname.
(GETCRED_OK, GETCRED_FAIL, GETCRED_NOAUTH): New defines.
(auth_cred_get, auth_cred_free): New prototypes.
(set_bool): Change return type to int.
(ds_sasl): New prototype.
(saslauth): Change signature.
* dico/func.c (set_bool): Change return type to int.
(ds_sasl): New function.
* dico/saslauth.c (callback): Use new auth_cred members.
(saslauth): Rename to saslauth0.
(saslauth, sasl_enable, sasl_enabled_p): New functions.
* dico/shell.c: Add `sasl' command.
* dicod/main.c (get_full_hostname): Moved to libxdico.
* include/xdico.h (xdico_local_hostname): New prototype.
* lib/Makefile.am (libxdico_a_SOURCES): Add xhostname.c.
|
|
* dico/saslauth.c: New file.
* dico/Makefile.am (dico_SOURCES): Add saslauth.c
* dico/autologin.c (parse_autologin): Bugfix.
* dico/connect.c (dict_auth): Rename to apop_auth.
(dict_auth): New function.
(get_credentials): Fill cred with zeros.
(dict_connect): Initialize obstack before eventual authentication.
* dico/dico-priv.h (AUTH_OK, AUTH_FAIL, AUTH_CONT): New defines.
(saslauth): New proto.
* dico/func.c (ds_show_info): Remove unused variable.
* dicod/dicod.h (struct dicod_command): Rename nparam to minparam. Add new
member maxparam.
* dicod/auth.c, dicod/commands.c, dicod/lev.c, dicod/mime.c,
dicod/xidle.c, dicod/xversion.c: Reflect changes to struct
dicod_command.
* dicod/gsasl.c (send_challenge): Do not send zero-length data (don't know
if I'm right here).
(get_sasl_response): Bugfixes.
(sasl_auth): Prevent coredump.
(callback): Fix.
(xlate_mech_to_capa): Move to libxdico.
* include/xdico.h (xdico_sasl_mech_to_capa)
(xdico_sasl_capa_match_p): New protos.
* lib/stream.c (dico_stream_read_unbuffered): Return EIO if stream has hit
EOF and user does not check for the number of bytes read.
* lib/utf8.c (strlen): Remove. How did it get there???
* lib/xutil.c (xdico_sasl_mech_to_capa)
(xdico_sasl_capa_match_p): New functions.
|
|
* am/gsasl.m4: Enable GSASL by default, if available.
Export GSASL_LIBS.
* configure.ac: Check for gsasl.
Display a configuration summary before exiting.
* dicod/gsasl.c: New file.
* dicod/Makefile.am (dicod_SOURCES): Add gsasl.c
(LDADD): Add GSASL_LIBS.
* dicod/dicod.h (get_input_line, register_sasl): New functions.
(sasl_disabled_mech): New extern.
* dicod/main.c (keywords): New keyword sasl-disable-mechanism.
(main): Call register_sasl.
* dico/Makefile.am (LDADD): Add GSASL_LIBS
* dico/dico-priv.h (struct auth_cred): New fields sasl and mech.
(AUTOLOGIN_MECH): New define.
* dico/autologin.c (parse_autologin): Rewrite to allow for multi-line
statements. Handle new auth_cred fields.
|
|
* dico/dico-priv.h, dico/func.c (ds_show_info): New function.
* dico/pager.c: Setting pager to "-" disables it.
* dico/shell.c (funtab): Add info command.
* dico.texi: Update.
* doc/libdico.texi (utf8_strbytelen): Remove.
* lib/tokenize.c, lib/utf8.c, lib/xstream.c: Use strlen instead of
the removed utf8_strbytelen.
|